:root{
  --ink:#163126;
  --ink-soft:#3e5a4b;
  --muted:#5f7668;
  --line:#d7e7dd;
  --bg:#f4faf6;
  --bg-2:#eef7f1;
  --panel:#ffffff;
  --green:#247a50;
  --green-2:#2f9963;
  --green-3:#dff3e7;
  --green-4:#c9ead8;
  --ok:#1f7a4f;
  --okbg:#e8f7ef;
  --warn:#89631b;
  --warnbg:#fff6de;
  --bad:#9a4343;
  --badbg:#fff0f0;
  --shadow:0 22px 55px rgba(31,86,55,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 18%, rgba(84,171,116,.08) 0, rgba(84,171,116,0) 22%), radial-gradient(circle at 88% 82%, rgba(84,171,116,.08) 0, rgba(84,171,116,0) 24%), linear-gradient(180deg,#f8fcf9 0%,#f1f7f4 100%)}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.sr-only,.hp{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.topbar{position:sticky;top:0;z-index:20;background:rgba(247,251,248,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.domain{font-size:22px;font-weight:900;color:var(--ink);text-decoration:none;letter-spacing:-.03em}
.mail-top{color:var(--green);font-weight:700;text-decoration:none}
.mail-top:hover{text-decoration:underline}
.hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 88% 18%, rgba(92,188,131,.18) 0, rgba(92,188,131,0) 30%),
  radial-gradient(circle at 10% 110%, rgba(53,128,84,.11) 0, rgba(53,128,84,0) 34%),
  linear-gradient(180deg, #f8fcf9 0%, #f0f7f3 100%);
  border-bottom:1px solid var(--line)}
.hero::before,.hero::after{content:"";position:absolute;pointer-events:none;opacity:.3}
.hero::before{width:560px;height:560px;right:-130px;top:18px;background:
  radial-gradient(circle at center, rgba(36,122,80,.08) 0 29%, transparent 30%),
  radial-gradient(circle at center, transparent 0 42%, rgba(36,122,80,.07) 43% 45%, transparent 46%),
  radial-gradient(circle at center, transparent 0 57%, rgba(36,122,80,.06) 58% 60%, transparent 61%),
  radial-gradient(circle at center, transparent 0 73%, rgba(36,122,80,.045) 74% 76%, transparent 77%);
  border-radius:50%}
.hero::after{left:-80px;bottom:-65px;width:380px;height:220px;background:
  repeating-linear-gradient(120deg, rgba(36,122,80,.1) 0 8px, transparent 8px 30px);
  clip-path:polygon(0 100%, 100% 0, 100% 100%)}
.hero-inner{padding:34px 0 54px;position:relative;z-index:1}
.hero-inner::before{content:"";position:absolute;right:14px;top:78px;width:430px;height:260px;pointer-events:none;opacity:.55;border-radius:36px;
  background:
    radial-gradient(circle at 78% 35%, rgba(36,122,80,.12) 0 6px, transparent 7px),
    radial-gradient(circle at 60% 52%, rgba(36,122,80,.12) 0 6px, transparent 7px),
    radial-gradient(circle at 42% 70%, rgba(36,122,80,.12) 0 6px, transparent 7px),
    linear-gradient(rgba(36,122,80,.1), rgba(36,122,80,.1)) 41% 69% / 120px 2px no-repeat,
    linear-gradient(rgba(36,122,80,.1), rgba(36,122,80,.1)) 59% 51% / 90px 2px no-repeat,
    linear-gradient(rgba(36,122,80,.1), rgba(36,122,80,.1)) 72% 35% / 76px 2px no-repeat,
    linear-gradient(90deg, rgba(36,122,80,.1), rgba(36,122,80,.1)) 42% 70% / 2px 72px no-repeat,
    linear-gradient(90deg, rgba(36,122,80,.1), rgba(36,122,80,.1)) 60% 53% / 2px 66px no-repeat,
    radial-gradient(circle at 82% 34%, rgba(255,255,255,.75) 0 64px, rgba(255,255,255,0) 65px),
    radial-gradient(circle at 83% 34%, transparent 0 62px, rgba(36,122,80,.08) 63px 65px, transparent 66px),
    radial-gradient(circle at 83% 34%, transparent 0 84px, rgba(36,122,80,.05) 85px 87px, transparent 88px),
    linear-gradient(135deg, rgba(255,255,255,.5), rgba(255,255,255,0));}
.hero-inner::after{content:"";position:absolute;right:60px;bottom:8px;width:220px;height:92px;pointer-events:none;opacity:.38;
  background:
    repeating-linear-gradient(90deg, rgba(36,122,80,.08) 0 10px, transparent 10px 18px),
    linear-gradient(180deg, rgba(36,122,80,.07), rgba(36,122,80,.03));
  border-radius:22px;transform:skewX(-18deg)}
.step-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink-soft);font-weight:700;font-size:14px;margin-bottom:20px}
.step-line span{display:flex;align-items:center;gap:8px}.step-line b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green-3);color:var(--green);font-size:13px}.step-line .active b{background:var(--green);color:#fff}.step-line i{flex:0 0 28px;height:2px;background:var(--green-4);border-radius:999px}
.eyebrow{margin:0 0 10px;color:var(--green);font-weight:900;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
h1{margin:0;font-size:clamp(40px,6vw,72px);line-height:.98;letter-spacing:-.05em;max-width:980px}
.lead{max-width:850px;font-size:clamp(18px,2.2vw,27px);line-height:1.55;color:var(--ink-soft);margin:24px 0 26px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.hero-badges span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--green);font-weight:700;box-shadow:0 8px 25px rgba(31,86,55,.04)}
.search{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;max-width:940px}
.search input,.parts-form input,.parts-form textarea{width:100%;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);transition:border-color .18s, box-shadow .18s, transform .18s}
.search input{font-size:20px;font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow)}
.search input:focus,.parts-form input:focus,.parts-form textarea:focus{outline:none;border-color:rgba(36,122,80,.55);box-shadow:0 0 0 4px rgba(36,122,80,.12)}
.search button,.send-button,.primary-cta,.secondary-cta,.file-button{border:0;cursor:pointer;font:inherit}
.search button{border-radius:18px;background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;font-weight:900;font-size:20px;box-shadow:0 16px 34px rgba(36,122,80,.25)}
.hint{margin:14px 0 0;color:var(--muted);font-size:14px}
.result-wrap{padding:40px 0 52px;position:relative}
.result-wrap::before{content:"";position:absolute;right:-40px;top:30px;width:220px;height:220px;border-radius:50%;pointer-events:none;opacity:.18;background:radial-gradient(circle at center, transparent 0 54%, rgba(36,122,80,.18) 55% 56%, transparent 57%), radial-gradient(circle at center, transparent 0 72%, rgba(36,122,80,.14) 73% 74%, transparent 75%)}
.result{display:grid;grid-template-columns:88px 1fr;gap:22px;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.status-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--bg-2);color:var(--green);font-size:34px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(36,122,80,.08)}
.result h2{margin:0 0 10px;font-size:clamp(28px,4vw,44px);letter-spacing:-.04em}.result p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:18px}.result-kicker{margin:0 0 10px!important;font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--green)!important;font-weight:900}.model-code{display:inline-block;padding:4px 10px;border-radius:12px;background:#eff7f2;border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8em}
.result.exact{background:linear-gradient(180deg,#fff 0%,#f6fcf8 100%)}
.result.family{background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.result.family .status-icon{background:#fff3d6;color:var(--warn)}
.result.unknown{background:linear-gradient(180deg,#fff 0%,#fff7f7 100%)}
.result.unknown .status-icon{background:#ffe1e1;color:var(--bad)}
.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.primary-cta,.secondary-cta{padding:14px 18px;border-radius:16px;font-weight:800}
.primary-cta{background:var(--green);color:#fff;box-shadow:0 12px 28px rgba(36,122,80,.24)}
.secondary-cta{background:#fff;border:1px solid var(--line);color:var(--ink)}
.result-tip{margin-top:10px!important;font-size:15px!important;color:var(--muted)!important}
.suggestions{margin-top:16px;padding:18px 20px;border-radius:22px;background:#fff;border:1px dashed var(--green-4);color:var(--ink-soft)}
.suggestions strong{display:block;margin-bottom:8px}.suggestions button{margin:6px 8px 0 0;padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--green);border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.inquiry{margin-top:24px;padding:30px;border-radius:30px;background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}
.inquiry::before{content:"";position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;border-radius:32px;opacity:.18;pointer-events:none;background:radial-gradient(circle at center, rgba(36,122,80,.22) 0 5px, transparent 6px), linear-gradient(rgba(36,122,80,.12), rgba(36,122,80,.12)) center/100% 2px no-repeat, linear-gradient(90deg, rgba(36,122,80,.12), rgba(36,122,80,.12)) center/2px 100% no-repeat, radial-gradient(circle at center, transparent 0 58px, rgba(36,122,80,.12) 59px 61px, transparent 62px), linear-gradient(135deg, rgba(36,122,80,.08), rgba(36,122,80,.02));transform:rotate(12deg)}
.inquiry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.inquiry-head h2{margin:0 0 8px;font-size:clamp(30px,4vw,46px);letter-spacing:-.045em}.inquiry-head p{margin:0;color:var(--ink-soft);line-height:1.6}
.verified-model{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:16px 18px;border-radius:20px;background:var(--okbg);border:1px solid #cbe8d6;min-width:240px}.verified-model span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:800}.verified-model strong{font-size:18px}
.flow-grid{display:grid;grid-template-columns:1.05fr 1.4fr 1fr;gap:18px}
.flow-card{position:relative;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--line);min-height:100%;box-shadow:0 12px 28px rgba(31,86,55,.05)}
.flow-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:7px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#79cf9c 0%, #2f9963 100%);opacity:.9}
.flow-no{display:inline-block;font-size:14px;font-weight:900;letter-spacing:.12em;color:var(--green);margin-top:10px}
.flow-card h3{margin:12px 0 10px;font-size:34px;letter-spacing:-.04em}
.flow-small{margin:0 0 14px;color:var(--ink-soft);line-height:1.55}
.flow-highlight{padding:16px;border-radius:18px;background:var(--green-3);border:1px solid var(--green-4);font-weight:800;color:var(--ink);margin-bottom:14px}
.mini-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compact-grid{margin-bottom:14px}
label span{display:block;font-size:14px;font-weight:800;color:var(--ink);margin:0 0 8px}
label span small{font-weight:600;color:var(--muted)}
.full-field{display:block;margin-bottom:14px}
.parts-form textarea{resize:vertical;min-height:120px}
.upload-box{margin-top:6px;padding:18px;border-radius:22px;border:1px dashed #8ecaaa;background:linear-gradient(180deg,#f9fdfb 0%,#eef8f2 100%)}
.upload-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--green-3);font-size:24px;margin-bottom:10px}
.upload-copy strong{display:block;font-size:18px;margin-bottom:4px}
.upload-copy p{margin:0 0 12px;color:var(--ink-soft);line-height:1.5}
.file-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--green);margin-bottom:10px}
#attachments{display:block;width:1px;height:1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}
.file-list{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:14px;margin:0 0 6px}.file-list span{padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:999px}
.upload-box small{color:var(--muted)}
.consent{display:flex;align-items:flex-start;gap:12px;margin-top:10px;padding:14px 0}.consent input{width:20px;height:20px;margin-top:2px}
.prominent-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:4px}
.send-button{padding:18px 24px;border-radius:18px;background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;font-size:19px;font-weight:900;box-shadow:0 16px 34px rgba(36,122,80,.28)}
.action-note{color:var(--muted);line-height:1.55}
.form-message{margin-top:16px;padding:14px 16px;border-radius:16px;font-weight:700}.form-message.ok{background:var(--okbg);color:var(--ok);border:1px solid #cbe8d6}.form-message.error{background:var(--badbg);color:var(--bad);border:1px solid #f0cbcb}
.note{padding:0 0 50px}.note p{margin:0;padding:20px 24px;border-radius:22px;background:#fff;border:1px solid var(--line);color:var(--ink-soft);line-height:1.7}.note-green p{background:linear-gradient(180deg,#f7fcf8 0%,#eef8f2 100%)}
footer{border-top:1px solid var(--line);background:#f8fbf9}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;color:var(--muted);font-size:14px}.footer-inner a{color:var(--green);font-weight:700;text-decoration:none}

@media (max-width: 1020px){
  .flow-grid{grid-template-columns:1fr}
  .flow-card h3{font-size:30px}
}
@media (max-width: 840px){
  .search{grid-template-columns:1fr}
  .inquiry-head{flex-direction:column}
  .verified-model{align-items:flex-start;min-width:0;width:100%}
  .result{grid-template-columns:1fr}
  .status-icon{width:56px;height:56px}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .wrap{width:min(100% - 24px,1120px)}
  .nav{height:64px;align-items:flex-start;justify-content:center;flex-direction:column;padding:10px 0}
  .domain{font-size:20px}.mail-top{font-size:13px}
  .hero-inner{padding:28px 0 42px}
  .lead{font-size:18px}
  .hero-badges span{font-size:13px;padding:8px 12px}
  .result,.inquiry{padding:20px;border-radius:22px}
  .flow-card{padding:18px;border-radius:20px}
  .flow-card h3{font-size:26px}
  .search input,.search button,.parts-form input,.parts-form textarea,.send-button{font-size:16px}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

@media (max-width: 1100px){
  .hero-inner::before{width:300px;height:200px;right:-10px;top:96px;opacity:.28}
  .hero-inner::after{width:150px;right:24px;bottom:20px;opacity:.22}
}
@media (max-width: 840px){
  .hero-inner::before,.hero-inner::after,.result-wrap::before,.inquiry::before{display:none}
}
