:root { --ink:#15241b; --muted:#617067; --green:#08783f; --dark:#10251a; --mint:#eef6f1; --sand:#f3efe6; --line:#d6e0d9; --paper:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#f4f6f2; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
[id] { scroll-margin-top:76px; }
.prototype-banner { padding:9px 18px; color:#fff; background:#9b6122; text-align:center; font-size:11px; font-weight:800; letter-spacing:.12em; }
main { width:min(1380px,calc(100% - 36px)); margin:18px auto; overflow:visible; border-radius:24px; background:var(--paper); box-shadow:0 16px 50px rgba(21,36,27,.09); }
.site-header { min-height:82px; padding:14px 48px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-radius:24px 24px 0 0; background:#fff; }
.brand img { width:205px; height:auto; display:block; }
.header-cta { padding:12px 18px; color:var(--green); border:1px solid var(--green); border-radius:999px; font-size:13px; font-weight:800; }
.quick-nav { padding:10px 44px; position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:center; gap:7px; overflow-x:auto; border-top:1px solid #edf1ee; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); scrollbar-width:none; }
.quick-nav::-webkit-scrollbar { display:none; }
.quick-nav a { flex:0 0 auto; padding:10px 15px; border-radius:999px; color:var(--muted); font-size:13px; font-weight:800; }
.quick-nav a:hover { color:var(--green); background:var(--mint); }
.quick-nav .quick-cta { margin-left:10px; color:#fff; background:var(--green); }
.hero { display:grid; grid-template-columns:1.04fr .96fr; min-height:610px; overflow:hidden; background:var(--mint); }
.hero-copy { padding:74px 56px 64px; }
.eyebrow { margin:0 0 20px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.17em; line-height:1.35; }
h1 { max-width:780px; margin:0; font-size:clamp(48px,5vw,76px); line-height:.99; letter-spacing:-.052em; }
h2 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.05; letter-spacing:-.044em; }
h3 { margin:0; font-size:24px; letter-spacing:-.025em; }
.hero-lede { max-width:700px; margin:28px 0 0; color:var(--muted); font-size:21px; line-height:1.58; }
.hero-tags { margin:24px 0 28px; display:flex; flex-wrap:wrap; gap:8px; }
.hero-tags span { padding:8px 11px; border:1px solid #c8d9ce; border-radius:999px; background:rgba(255,255,255,.62); font-size:12px; font-weight:800; }
.button { min-height:55px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:999px; font:800 15px Arial,Helvetica,sans-serif; cursor:pointer; }
.button.primary { color:#fff; background:var(--green); }
.hero figure { margin:0; min-height:610px; }
.hero figure img { width:100%; height:100%; display:block; object-fit:cover; }
.signal-strip { padding:28px 46px; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.signal-strip div { min-height:76px; padding:0 28px; display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); }
.signal-strip div:first-child { padding-left:0; border-left:0; }
.signal-strip strong { color:var(--green); font-size:19px; }
.signal-strip span { margin-top:7px; color:var(--muted); line-height:1.45; }
.section { padding:82px 64px; }
.section-heading { margin-bottom:36px; display:grid; grid-template-columns:1.16fr .84fr; align-items:end; gap:70px; }
.section-heading > p { margin:0; color:var(--muted); font-size:18px; line-height:1.65; }
.carousel-shell { min-width:0; }
.product-carousel { padding:4px 2px 18px; display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
.product-carousel::-webkit-scrollbar { display:none; }
.product-card { flex:0 0 min(31.5%,390px); overflow:hidden; scroll-snap-align:start; border:1px solid var(--line); border-radius:19px; background:#fff; box-shadow:0 8px 25px rgba(21,36,27,.05); }
.product-card img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; background:#f7f5ef; }
.product-card div { min-height:165px; padding:23px; }
.product-card div > p { margin:0 0 10px; color:var(--green); font-size:11px; font-weight:800; letter-spacing:.13em; }
.product-card div > span { margin-top:12px; display:block; color:var(--muted); line-height:1.55; }
.carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:13px; }
.carousel-controls > div { display:flex; gap:9px; }
.carousel-controls button { width:44px; height:44px; border:1px solid #c9d5cc; border-radius:50%; color:var(--green); background:#fff; font-size:20px; cursor:pointer; }
.difference-section { margin:0 36px; display:grid; grid-template-columns:1.04fr .96fr; overflow:hidden; border-radius:26px; background:var(--sand); }
.difference-image img { width:100%; height:100%; min-height:640px; display:block; object-fit:cover; }
.difference-copy { padding:62px 54px; }
.difference-copy > p:not(.eyebrow,.fine-print) { margin:24px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.skd-stat { margin:28px 0; padding:22px 0; display:flex; align-items:center; gap:18px; border-top:1px solid #d9d2c5; border-bottom:1px solid #d9d2c5; }
.skd-stat strong { color:var(--green); font-size:42px; white-space:nowrap; }
.skd-stat span { color:var(--muted); line-height:1.45; }
.difference-copy ul { margin:25px 0; padding:0; list-style:none; }
.difference-copy li { margin:14px 0; padding-left:29px; position:relative; line-height:1.5; }
.difference-copy li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:800; }
.fine-print { margin:24px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.local-section { padding:92px 64px 78px; }
.local-heading { max-width:1020px; }
.local-heading > p:last-child { max-width:900px; margin:24px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.service-flow { margin-top:38px; padding:3px 2px 18px; display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
.service-flow::-webkit-scrollbar { display:none; }
.service-flow article { min-height:220px; padding:31px; flex:0 0 44%; scroll-snap-align:start; border:1px solid var(--line); border-radius:18px; background:#fff; }
.service-flow article > span { margin-bottom:32px; display:block; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.13em; }
.service-flow article p { color:var(--muted); line-height:1.6; }
.service-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:13px; }
.service-controls > div { display:flex; gap:9px; }
.service-controls button { width:44px; height:44px; border:1px solid #c9d5cc; border-radius:50%; color:var(--green); background:#fff; font-size:20px; cursor:pointer; }
.local-callout { margin-top:18px; padding:26px 30px; display:grid; grid-template-columns:170px 1fr; gap:24px; border-radius:16px; color:#fff; background:var(--dark); }
.local-callout strong { color:#8ed2aa; }
.local-callout span { line-height:1.55; }
.partnership-section { margin:0 36px; padding:52px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:50px; border-radius:24px; background:var(--mint); }
.partnership-tags { display:flex; flex-wrap:wrap; gap:10px; }
.partnership-tags span { padding:12px 15px; border:1px solid #bfd4c5; border-radius:999px; background:#fff; font-size:13px; font-weight:800; }
.profile-section { margin:78px 36px 0; display:grid; grid-template-columns:.72fr 1.28fr; overflow:hidden; border-radius:26px; background:var(--dark); }
.profile-intro { padding:58px 48px; color:#fff; }
.profile-intro .eyebrow { color:#8ed2aa; }
.profile-intro h2 { max-width:11ch; }
.profile-intro > p:not(.eyebrow) { margin:24px 0 0; color:#cbd9d0; font-size:18px; line-height:1.65; }
.fit-list { margin-top:32px; display:grid; gap:12px; }
.fit-list span { padding:14px 16px 14px 42px; position:relative; border:1px solid #3d5948; border-radius:12px; color:#e1ebe4; line-height:1.4; }
.fit-list span::before { content:"✓"; position:absolute; left:16px; color:#8ed2aa; font-weight:800; }
.form-shell { padding:46px; background:#f3f6f3; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
label { display:flex; flex-direction:column; gap:8px; color:var(--dark); font-size:13px; font-weight:800; line-height:1.35; }
label b { color:#a22727; }
input,select { width:100%; min-height:51px; padding:12px 13px; border:1px solid #c7d4ca; border-radius:10px; color:var(--ink); background:#fff; font:400 15px Arial,Helvetica,sans-serif; }
input:focus,select:focus { outline:3px solid rgba(8,120,63,.14); border-color:var(--green); }
.full-field { grid-column:1/-1; }
.submit-button { margin-top:24px; }
.form-note,.form-status { margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.form-status { min-height:18px; color:#9b2525; font-weight:700; }
.result { margin-top:28px; padding:28px; border:1px solid #b8d6c2; border-radius:17px; background:#fff; }
.result[hidden] { display:none; }
.result.not-fit { border-color:#d9d0b9; background:#fffdf5; }
.result-label { margin:0 0 8px !important; color:var(--green) !important; font-size:11px !important; font-weight:800; letter-spacing:.14em; }
.result pre { margin:18px 0; padding:17px; overflow-x:auto; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:12px; background:#f2f6f3; font:14px/1.55 Arial,Helvetica,sans-serif; }
.result > p { color:var(--muted); line-height:1.6; }
.result > p:last-child { margin-bottom:0; font-size:12px; }
footer { margin-top:76px; padding:42px 60px; display:grid; grid-template-columns:1fr 1fr; gap:40px; border-radius:0 0 24px 24px; color:#cad8ce; background:var(--dark); }
footer strong { color:#fff; }
footer p { margin:9px 0 0; line-height:1.55; }
.footer-links { display:flex; flex-direction:column; align-items:flex-end; gap:11px; }
.footer-links a:hover { color:#fff; }
.footer-note { grid-column:1/-1; margin:4px 0 0; padding-top:22px; border-top:1px solid #3c5144; font-size:12px; }
.legal-page { min-height:calc(100vh - 36px); padding:70px min(8vw,110px); overflow:hidden; }
.legal-page .back-link { margin-bottom:62px; display:inline-block; color:var(--green); font-weight:800; }
.legal-page h1 { max-width:900px; }
.legal-updated { margin:24px 0 60px; color:var(--muted); }
.legal-page section { max-width:900px; margin:42px 0; }
.legal-page section h2 { font-size:30px; letter-spacing:-.025em; }
.legal-page section p { color:var(--muted); font-size:18px; line-height:1.75; }
.legal-page section a { color:var(--green); text-decoration:underline; }

@media (max-width:900px) {
  main { width:100%; margin:0; border-radius:0; }
  .prototype-banner { font-size:9px; }
  .site-header { min-height:68px; padding:12px 20px; border-radius:0; }
  .brand img { width:145px; }
  .header-cta { font-size:12px; }
  .quick-nav { padding:9px 14px; justify-content:flex-start; }
  .quick-nav .quick-cta { margin-left:0; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-copy { padding:42px 24px 30px; }
  h1 { font-size:clamp(42px,11vw,58px); }
  .hero-lede { font-size:18px; }
  .hero figure { min-height:0; aspect-ratio:16/10; }
  .signal-strip { padding:14px; grid-template-columns:1fr; gap:8px; }
  .signal-strip div,.signal-strip div:first-child { min-height:0; padding:17px; border:1px solid var(--line); border-radius:12px; }
  .section { padding:56px 22px; }
  .section-heading { grid-template-columns:1fr; align-items:start; gap:18px; }
  .product-card { flex-basis:min(78vw,360px); }
  .difference-section { margin:0 14px; grid-template-columns:1fr; }
  .difference-image img { min-height:0; aspect-ratio:4/3; }
  .difference-copy { padding:38px 26px; }
  .local-section { padding:62px 22px; }
  .service-flow { margin-right:-22px; padding-right:22px; }
  .service-flow article { min-height:0; flex-basis:min(82vw,360px); }
  .local-callout { grid-template-columns:1fr; gap:8px; }
  .partnership-section { margin:0 14px; padding:34px 24px; grid-template-columns:1fr; gap:28px; }
  .profile-section { margin:56px 14px 0; grid-template-columns:1fr; }
  .profile-intro { padding:38px 26px; }
  .profile-intro h2 { max-width:14ch; }
  .form-shell { padding:30px 22px; }
  footer { padding:36px 24px; grid-template-columns:1fr; border-radius:0; }
  .footer-links { align-items:flex-start; }
  .footer-note { grid-column:1; }
  .legal-page { min-height:100vh; padding:44px 22px; }
}

@media (max-width:600px) {
  .header-cta { padding:10px 13px; }
  .hero-copy .button,.submit-button,.result .button { width:100%; }
  .product-card { flex-basis:84vw; }
  .form-grid { grid-template-columns:1fr; }
  .full-field { grid-column:auto; }
  .form-shell { padding:26px 18px; }
  .result { padding:22px 18px; }
}
