/* SwiftCart marketing system — shared by the public website. */
:root{--sc-forest:#0e5a37;--sc-forest-2:#0a472b;--sc-ink:#2a2521;--sc-muted:#6b6259;--sc-paper:#fffdf8;--sc-sand:#fff3e4;--sc-mint:#e6f6ec;--sc-lime:#ffc63d;--sc-coral:#ff5a1f;--sc-coral-ink:#be3b08;--sc-coral-deep:#d93900;--sc-placeholder:#7e7165;--sc-line:#efe7dd;--sc-shadow:0 20px 48px rgba(40,60,45,.10);--sc-radius:24px;--sc-radius-sm:16px}
/* SwiftCart colour system — ORANGE primary (the logo colour), WCAG 2.1 AA.
   Token NAMES are legacy (kept to avoid churn); their VALUES are the orange
   system:
   --sc-coral       #ff5a1f  BRAND ORANGE — decorative/large fills only (2.6:1
                             on paper, must never carry small text).
   --sc-coral-ink   #be3b08  Orange TEXT on light (5.5:1 white/5.3:1 paper),
                             eyebrows, links, the accent word in headings.
   --sc-coral-deep  #d93900  Orange BUTTON surface (white text 4.6:1).
   --sc-forest      #0e5a37  Fresh GREEN — footer, the company card, icon
                             accents, decorative mockups.
   --sc-forest-2    #0a472b  Deep green — footer anchor.
   --sc-lime        #ffc02e  Sunny YELLOW accent — dots, dark-section accents.
   --sc-sand/-mint  cream / peach warm light section backgrounds.
   --sc-ink #231a13 body, --sc-muted #6e5f53 secondary, --sc-placeholder #7e7165. */
.sc-page{background:var(--sc-paper);color:var(--sc-ink);font-family:"DM Sans","Satoshi",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.sc-page h1,.sc-page h2,.sc-page h3,.sc-page h4,.sc-page .brand-name{font-family:"Space Grotesk","Clash Display","Satoshi",system-ui,sans-serif;letter-spacing:-.055em}.sc-page .container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.sc-page a{color:inherit}.sc-page .skip-link:focus{top:10px;left:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em}.icon--fill{fill:currentColor;stroke:none}
/* Header and navigation */
.marketing-header{position:sticky;top:0;z-index:60;background:rgba(255,253,250,.9)!important;border-bottom:1px solid transparent!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .2s,border-color .2s}.marketing-header.is-scrolled{border-color:var(--sc-line)!important;box-shadow:0 7px 22px rgba(70,40,20,.07)}.marketing-header .nav-shell{min-height:78px;gap:22px}.sc-brand{gap:10px;text-decoration:none}.sc-brand .brand-name{color:var(--sc-ink)!important;font-size:21px;font-weight:700}.sc-brand-mark{display:block;width:38px;height:38px;border-radius:10px;object-fit:contain;background:none}.marketing-header .desktop-nav{gap:26px;margin-left:auto}.marketing-header .desktop-nav a,.nav-drop__button{display:inline-flex;align-items:center;gap:5px;padding:9px 2px;border:0;color:var(--sc-ink)!important;background:transparent;font:600 14px/1 inherit;white-space:nowrap;text-decoration:none;cursor:pointer}.marketing-header .desktop-nav a:hover,.nav-drop__button:hover{color:var(--sc-coral-ink)!important}.nav-drop{position:relative}.nav-drop__button .icon{width:14px;height:14px;transition:transform .2s}.nav-drop__button[aria-expanded="true"] .icon{transform:rotate(180deg)}.nav-flyout{position:absolute;top:calc(100% + 12px);right:-16px;display:grid;min-width:230px;padding:9px;border:1px solid var(--sc-line);border-radius:16px;background:#fff;box-shadow:var(--sc-shadow);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.18s ease}.nav-drop.is-open .nav-flyout{opacity:1;visibility:visible;transform:translateY(0)}.nav-flyout a{display:grid;gap:3px;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none}.nav-flyout a span{color:var(--sc-muted);font-size:11px;font-weight:400}.nav-flyout a:hover{background:var(--sc-sand)}.marketing-header .nav-actions{gap:10px;margin-left:7px}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:999px;color:#fff!important;background:var(--sc-coral-deep);font-size:13px;font-weight:700;text-decoration:none;transition:.2s}.nav-cta:hover{background:var(--sc-coral-ink);transform:translateY(-1px)}.menu-button.sc-menu{display:none;border-color:var(--sc-line);background:#fff}.menu-button.sc-menu .bar{background:var(--sc-forest)}.marketing-header .mobile-menu{background:var(--sc-paper);border-color:var(--sc-line)}
/* Type and component primitives */
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 17px;color:var(--sc-coral-ink);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sc-lime);box-shadow:0 0 0 4px rgba(255,192,46,.32)}.display{margin:0;color:var(--sc-ink);font-size:clamp(44px,5.4vw,78px);line-height:.98}.display em{color:var(--sc-coral-ink);font-style:normal}.lede{max-width:580px;margin:21px 0 0;color:var(--sc-muted);font-size:17px;line-height:1.68}.section{padding:clamp(78px,9vw,122px) 0}.section-head{max-width:700px}.section-head--center{margin-inline:auto;text-align:center}.section-head--center .eyebrow{justify-content:center}.section-head--center .lede{margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:999px;font:700 14px/1 inherit;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button--primary{color:#fff;background:var(--sc-coral-deep);box-shadow:0 10px 22px rgba(217,70,8,.28)}.button--primary:hover{background:var(--sc-coral-ink)}.button--secondary{color:var(--sc-ink);border-color:var(--sc-line);background:#fff}.button--secondary:hover{border-color:var(--sc-coral-ink);background:var(--sc-sand)}.button--lime{color:var(--sc-ink);background:var(--sc-lime)}.button--lime:hover{background:#ffce5a}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--sc-coral-ink);font-size:14px;font-weight:800;text-decoration:none}.text-link .icon{width:17px;height:17px;transition:transform .2s}.text-link:hover .icon{transform:translate(3px,-3px)}
/* Homepage hero */
.hero{position:relative;overflow:hidden;padding:64px 0 76px;background:linear-gradient(114deg,#f9f3d9 0%,#fff9e8 52%,#fff1df 100%)}.hero::after{content:"";position:absolute;right:-210px;bottom:-245px;width:620px;height:620px;border:2px solid rgba(70,40,20,.14);border-radius:50%;box-shadow:-48px -55px 0 -45px var(--sc-coral),-124px -85px 0 -89px var(--sc-lime)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);align-items:center;gap:50px;min-height:560px}.hero-copy{padding-block:35px}.hero-copy h1{margin:0;color:var(--sc-ink);font-size:clamp(57px,7.8vw,105px);line-height:.89}.hero-copy h1 span{color:var(--sc-coral-ink)}.hero-copy .lede{max-width:545px}.coverage-form{display:flex;align-items:center;gap:10px;max-width:590px;margin-top:31px;padding:6px;border:1px solid rgba(70,40,20,.17);border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(70,40,20,.1)}.coverage-form label{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding-left:11px;color:var(--sc-muted)}.coverage-form .icon{width:19px;height:19px;color:var(--sc-forest);flex:0 0 auto}.coverage-form input{width:100%;min-width:0;height:44px;border:0;outline:0;color:var(--sc-ink);background:transparent;font:500 14px inherit}.coverage-form input::placeholder{color:var(--sc-placeholder)}.coverage-form .button{min-height:44px;flex:0 0 auto}.hero-note{display:flex;align-items:center;gap:9px;margin:15px 0 0;color:#6e5f53;font-size:12px}.hero-note .icon{color:var(--sc-forest);width:15px;height:15px}.hero-art{position:relative;min-height:510px}.hero-art__ring{position:absolute;inset:40px 40px 20px;border:1px solid rgba(70,40,20,.15);border-radius:48% 52% 51% 49%/55% 45% 55% 45%;transform:rotate(-10deg)}.hero-art__card{position:absolute;overflow:hidden;box-shadow:var(--sc-shadow)}.hero-art__card--main{top:66px;left:20%;width:283px;height:348px;padding:25px;border:5px solid #fff;border-radius:155px 155px 30px 30px;color:#fff;background:var(--sc-forest);transform:rotate(-7deg)}.hero-art__card--small{right:0;bottom:75px;width:178px;height:195px;border:5px solid #fff;border-radius:27px 27px 100px 100px;background:var(--sc-coral);transform:rotate(10deg)}.hero-art__card--tag{top:28px;right:20px;display:grid;place-items:center;width:133px;height:133px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime);font-size:13px;font-weight:700;line-height:1.08;text-align:center;transform:rotate(11deg)}.hero-art__card--tag strong{display:block;font:700 23px "Space Grotesk",sans-serif}.hero-ui__top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700}.hero-ui__logo{display:flex;align-items:center;gap:6px;margin-top:31px;font-size:18px;font-weight:700}.hero-ui__logo img{border-radius:6px}.hero-ui__search{display:flex;align-items:center;gap:6px;margin-top:22px;padding:10px;border-radius:10px;color:#6f6155;background:#fff;font-size:10px}.hero-ui__search .icon{color:#d93900;width:15px;height:15px}.hero-ui__cards{display:flex;gap:8px;margin-top:17px}.hero-ui__cards span{display:grid;place-items:center;width:72px;height:79px;border-radius:12px;color:var(--sc-forest);background:#fff;font-size:26px}.hero-ui__cards span:first-child{background:var(--sc-lime)}.hero-ui__cards small{display:block;margin-top:2px;font-size:9px;font-weight:700}.hero-ui__banner{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:13px;border-radius:13px;background:var(--sc-coral);font-size:11px;font-weight:700;line-height:1.24}.hero-ui__banner strong{font-size:16px}.hero-ui__banner span{font-size:39px}.hero-art__sticker{position:absolute;left:1%;bottom:56px;color:var(--sc-coral);font-size:65px;transform:rotate(-9deg)}.hero-art__package{position:absolute;inset:auto 0 0 auto;width:160px;height:126px;border-radius:22px 22px 70px 22px;background:#f8d9a9}.hero-art__package::before{content:"";position:absolute;top:20px;left:33px;width:96px;height:18px;border:4px solid var(--sc-forest);border-bottom:0;border-radius:30px 30px 0 0}.hero-art__package::after{content:"SwiftCart";position:absolute;top:48px;left:27px;color:var(--sc-forest);font:700 18px "Space Grotesk",sans-serif}
/* Trust and audience routes */
.trustbar{border-block:1px solid var(--sc-line);background:#fff}.trustbar__inner{display:grid;grid-template-columns:repeat(3,1fr)}.trustbar__item{display:flex;align-items:center;gap:13px;padding:24px 20px;border-right:1px solid var(--sc-line);color:var(--sc-ink);font-size:14px;font-weight:700}.trustbar__item:last-child{border-right:0}.trustbar__item .icon{display:grid;place-items:center;width:34px;height:34px;padding:8px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime)}.route-section{background:var(--sc-sand)}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:47px}.route-card{display:flex;flex-direction:column;min-height:355px;padding:30px;border-radius:var(--sc-radius);text-decoration:none;transition:transform .25s,box-shadow .25s}.route-card:hover{transform:translateY(-7px);box-shadow:var(--sc-shadow)}.route-card--customer{color:var(--sc-ink);background:var(--sc-lime)}.route-card--company{color:#fff;background:var(--sc-forest)}.route-card--partners{color:#fff;background:var(--sc-coral-deep)}.route-card__eyebrow{margin:0 0 18px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.92}.route-card h3{max-width:280px;margin:0;font-size:36px;line-height:.97}.route-card p{max-width:290px;margin:16px 0 0;font-size:14px;line-height:1.6;opacity:.95}.route-card__arrow{display:grid;place-items:center;width:44px;height:44px;margin-top:auto;border-radius:50%;color:var(--sc-forest);background:#fff}.route-card--customer .route-card__arrow{background:var(--sc-forest);color:#fff}.route-card__visual{position:relative;height:85px;margin-top:18px;overflow:hidden}.route-card__visual span{position:absolute;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.2);font-size:48px}.route-card__visual span:first-child{right:16px;bottom:-22px;width:110px;height:110px}.route-card__visual span:last-child{right:90px;bottom:4px;width:65px;height:65px;font-size:28px}.route-card--customer .route-card__visual span{background:rgba(255,255,255,.45)}
/* Product / capability sections */
.product-grid{display:grid;grid-template-columns:1fr .95fr;gap:9%;align-items:center}.app-preview{position:relative;min-height:480px;display:grid;place-items:center}.app-preview::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:var(--sc-mint)}.app-device{position:relative;z-index:1;width:254px;height:485px;padding:11px;border:5px solid var(--sc-forest-2);border-radius:38px;color:var(--sc-ink);background:var(--sc-forest);box-shadow:17px 21px 0 rgba(70,40,20,.13),0 26px 52px rgba(70,40,20,.2);transform:rotate(-4deg)}.app-device__notch{position:absolute;top:10px;left:50%;width:88px;height:19px;border-radius:22px;background:var(--sc-forest-2);transform:translateX(-50%)}.app-screen{height:100%;padding:13px 10px;overflow:hidden;border-radius:27px;background:#fff8f2}.app-status,.app-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700}.app-status{padding:0 3px 16px}.app-top{padding-bottom:14px;color:var(--sc-forest);font-size:15px}.app-top span{padding:5px 8px;border-radius:20px;background:var(--sc-mint);font-size:8px}.app-search{padding:10px;border-radius:11px;color:#6f6155;background:#fff;font-size:9px;box-shadow:0 3px 12px rgba(70,40,20,.07)}.app-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.app-categories span{display:grid;place-items:center;min-height:73px;border-radius:12px;background:#fff;font-size:25px}.app-categories span:first-child{background:var(--sc-lime)}.app-categories small{font-size:8px;font-weight:700}.app-banner{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding:13px;border-radius:14px;color:#fff;background:var(--sc-coral);font-size:10px;font-weight:700;line-height:1.25}.app-banner strong{font-size:14px}.app-banner b{font-size:34px}.app-stores{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.app-stores span{height:65px;border-radius:10px;background:linear-gradient(135deg,#f2ba5d,#e17045)}.app-stores span:nth-child(2){background:linear-gradient(135deg,#ffc02e,#f2a35a)}.app-stores span:nth-child(3){background:linear-gradient(135deg,#ff5a1f,#f8d9a9)}.capability-list{display:grid;gap:13px;margin-top:28px}.capability-list li{display:flex;align-items:flex-start;gap:12px;color:var(--sc-ink);font-size:14px;line-height:1.45}.capability-list .icon{flex:0 0 auto;width:22px;height:22px;padding:4px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime)}.launch-note{display:flex;gap:11px;align-items:flex-start;margin-top:25px;padding:14px 16px;border:1px solid #f5ddc9;border-radius:14px;color:#6e5f53;background:#fff3ea;font-size:13px;line-height:1.5}.launch-note .icon{flex:0 0 auto;width:18px;height:18px;color:var(--sc-forest)}
/* Ecosystem / quality grid */
.quality-section{background:var(--sc-mint)}.quality-section .display{color:var(--sc-ink)}.quality-section .eyebrow{color:var(--sc-coral-ink)}.quality-section .eyebrow::before{background:var(--sc-lime)}.quality-section .lede{color:var(--sc-muted)}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:47px}.quality-card{min-height:210px;padding:22px;border:1px solid var(--sc-line);border-radius:18px;background:#fff}.quality-card .icon{display:grid;place-items:center;width:39px;height:39px;padding:9px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime)}.quality-card h3{margin:27px 0 9px;color:var(--sc-ink);font-size:21px}.quality-card p{margin:0;color:var(--sc-muted);font-size:13px;line-height:1.55}
/* FAQ and prelaunch CTA */
.faq-section{background:var(--sc-sand)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}.faq-intro{position:sticky;top:110px}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--sc-line);border-radius:16px;background:#fff;transition:box-shadow .2s,border-color .2s}.faq-list details[open]{border-color:#f2d8c4;box-shadow:0 12px 25px rgba(70,40,20,.06)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;color:var(--sc-ink);font-size:16px;font-weight:800;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;padding:7px;border-radius:50%;color:var(--sc-coral-ink);background:#fff4ef;transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 66px 21px 20px;color:var(--sc-muted);font-size:14px;line-height:1.65}.waitlist-band{overflow:hidden;background:var(--sc-mint);padding:clamp(74px,9vw,116px) 0}.waitlist-grid{position:relative;display:grid;grid-template-columns:1fr .73fr;align-items:center;gap:8%;min-height:430px}.waitlist-band .display{color:var(--sc-ink)}.waitlist-band .display em{color:var(--sc-coral-ink)}.waitlist-band .eyebrow{color:var(--sc-coral-ink)}.waitlist-band .lede{color:var(--sc-muted)}.waitlist-art{position:relative;min-height:350px}.waitlist-orbit{position:absolute;top:22px;right:3%;width:300px;height:300px;border:1px solid rgba(255,192,46,.6);border-radius:50%;transform:rotate(-16deg)}.waitlist-orbit::before,.waitlist-orbit::after{content:"";position:absolute;border:1px solid rgba(255,192,46,.48);border-radius:50%}.waitlist-orbit::before{inset:22px -33px}.waitlist-orbit::after{inset:-29px 35px}.waitlist-mark{position:absolute;top:94px;right:75px;display:grid;place-items:center;width:157px;height:157px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime);font-size:45px;box-shadow:9px 13px 0 rgba(0,0,0,.15);transform:rotate(-11deg)}.waitlist-mark span{font:700 17px "Space Grotesk",sans-serif;transform:rotate(11deg)}.waitlist-mark img{border-radius:12px;margin-bottom:6px}
/* Footer */
.marketing-footer{padding:67px 0 24px;color:#fff;background:var(--sc-forest-2)}.marketing-footer .sc-brand .brand-name{color:#fff!important}.footer-top{display:grid;grid-template-columns:.9fr 1.4fr;gap:13%;padding-bottom:60px}.footer-tagline{margin:23px 0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.55}.footer-signup{display:flex;max-width:335px;margin-top:25px;border-bottom:1px solid rgba(255,255,255,.38)}.footer-signup input{flex:1;min-width:0;height:45px;border:0;outline:0;color:#fff;background:transparent;font:14px inherit}.footer-signup input::placeholder{color:rgba(255,255,255,.66)}.footer-signup button{display:grid;place-items:center;align-self:center;width:35px;height:35px;border:0;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime);cursor:pointer}.footer-footnote{display:block;margin-top:10px;color:rgba(255,255,255,.66);font-size:11px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer-links h3{margin:0 0 18px;color:var(--sc-lime);font-size:13px;letter-spacing:0}.footer-links a{display:block;width:max-content;margin-bottom:11px;color:rgba(255,255,255,.78);font-size:13px;text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:21px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.66);font-size:11px}.footer-koyr{color:var(--sc-lime);font-weight:600}.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:360px;padding:14px 17px;border-radius:12px;color:#fff;background:var(--sc-forest);box-shadow:0 14px 30px rgba(0,0,0,.2);font-size:13px;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(14px);transition:.25s}.toast.is-visible{opacity:1;transform:translateY(0)}
/* Audience pages */
.page-hero{padding:78px 0 74px;background:linear-gradient(118deg,var(--sc-sand),#fff9e8)}.page-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:9%}.page-hero__art{position:relative;min-height:330px}.page-hero__orb{position:absolute;inset:5px 10%;border-radius:48% 52% 52% 48%;background:var(--sc-lime)}.page-hero__tile{position:absolute;display:grid;place-items:center;border:5px solid #fff;box-shadow:var(--sc-shadow);font-size:72px}.page-hero__tile--one{top:30px;left:16%;width:188px;height:210px;border-radius:100px 100px 26px 26px;background:var(--sc-forest);transform:rotate(-7deg)}.page-hero__tile--two{right:4%;bottom:15px;width:145px;height:152px;border-radius:24px 24px 80px 80px;background:var(--sc-coral);transform:rotate(9deg)}.page-hero__tile--three{top:12px;right:22%;width:91px;height:91px;border-radius:50%;color:var(--sc-forest);background:#fff;font-size:37px}.page-hero__actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:29px}.audience-section .feature-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:44px}.feature-column{padding:25px;border:1px solid var(--sc-line);border-radius:18px;background:#fff}.feature-column .icon{display:grid;place-items:center;width:43px;height:43px;padding:10px;border-radius:14px;color:var(--sc-forest);background:var(--sc-lime)}.feature-column h3{margin:23px 0 9px;color:var(--sc-ink);font-size:23px}.feature-column p{margin:0;color:var(--sc-muted);font-size:14px;line-height:1.6}.how-it-works{background:var(--sc-mint)}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:44px}.step{position:relative;padding-top:21px}.step::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:rgba(70,40,20,.21)}.step b{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;color:var(--sc-forest);background:var(--sc-lime);font-size:12px}.step h3{margin:23px 0 9px;color:var(--sc-ink);font-size:24px}.step p{margin:0;color:var(--sc-muted);font-size:14px;line-height:1.65}.responsibility{background:var(--sc-sand)}.responsibility .display{color:var(--sc-ink)}.responsibility .lede{color:var(--sc-muted)}.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:39px}.responsibility-card{padding:24px;border:1px solid var(--sc-line);border-radius:18px;background:#fff}.responsibility-card h3{margin:0 0 11px;color:var(--sc-coral-ink);font-size:21px}.responsibility-card p{margin:0;color:var(--sc-muted);font-size:14px;line-height:1.65}.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}.contact-form{display:grid;gap:14px;padding:28px;border:1px solid var(--sc-line);border-radius:20px;background:#fff;box-shadow:0 13px 30px rgba(70,40,20,.06)}.contact-form label{display:grid;gap:7px;color:var(--sc-ink);font-size:12px;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 13px;border:1px solid var(--sc-line);border-radius:10px;color:var(--sc-ink);background:#fff;font:14px inherit}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(255,192,46,.62);border-color:var(--sc-forest)}
/* Reveal state and responsive rules */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.06s}.reveal[data-delay="2"]{transition-delay:.12s}.reveal[data-delay="3"]{transition-delay:.18s}@media (max-width:940px){.sc-page .container{width:min(720px,calc(100% - 36px))}.marketing-header .desktop-nav,.marketing-header .nav-actions{display:none}.menu-button.sc-menu{display:flex}.hero-grid,.product-grid,.page-hero__grid,.contact-panel{grid-template-columns:1fr}.hero{padding-top:27px}.hero-grid{gap:8px;min-height:0}.hero-copy{padding-bottom:0}.hero-art{width:min(560px,100%);margin:0 auto;min-height:455px}.trustbar__inner{grid-template-columns:1fr}.trustbar__item{border-right:0;border-bottom:1px solid var(--sc-line)}.trustbar__item:last-child{border-bottom:0}.route-grid{grid-template-columns:1fr 1fr}.route-card:last-child{grid-column:1/-1}.quality-grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr;gap:43px}.faq-intro{position:static}.waitlist-grid{grid-template-columns:1fr}.waitlist-art{position:absolute;right:-90px;bottom:-125px;opacity:.5;pointer-events:none}.footer-top{grid-template-columns:1fr;gap:45px}.audience-section .feature-columns,.step-grid{grid-template-columns:1fr 1fr}.feature-column:last-child,.step:last-child{grid-column:1/-1}}
@media (max-width:600px){.sc-page .container{width:calc(100% - 32px)}.marketing-header .nav-shell{min-height:68px}.hero{padding-bottom:48px}.hero-copy h1{font-size:clamp(52px,16vw,76px)}.lede{font-size:15px}.coverage-form{align-items:stretch;flex-wrap:wrap;padding:7px;border-radius:17px}.coverage-form label{flex-basis:100%;padding-left:7px}.coverage-form .button{width:100%}.hero-art{min-height:323px}.hero-art__card--main{top:30px;left:11%;width:202px;height:250px;padding:18px;border-width:4px}.hero-art__card--small{right:2%;bottom:31px;width:123px;height:136px;border-width:4px}.hero-art__card--tag{top:3px;right:5px;width:88px;height:88px;font-size:9px}.hero-art__card--tag strong{font-size:15px}.hero-ui__logo{margin-top:18px;font-size:13px}.hero-ui__search{margin-top:13px;padding:7px;font-size:8px}.hero-ui__cards{gap:5px;margin-top:9px}.hero-ui__cards span{width:52px;height:54px;font-size:19px}.hero-ui__banner{margin-top:9px;padding:8px;font-size:8px}.hero-ui__banner strong{font-size:12px}.hero-ui__banner span{font-size:28px}.hero-art__package{width:110px;height:90px}.hero-art__package::before{top:13px;left:22px;width:65px;height:14px;border-width:3px}.hero-art__package::after{top:35px;left:17px;font-size:13px}.hero-art__sticker{bottom:10px;font-size:42px}.section{padding:72px 0}.display{font-size:44px}.route-grid,.quality-grid,.audience-section .feature-columns,.step-grid,.responsibility-grid{grid-template-columns:1fr}.route-card:last-child,.feature-column:last-child,.step:last-child{grid-column:auto}.route-card{min-height:315px}.route-card h3{font-size:32px}.product-grid{gap:15px}.app-preview{min-height:405px}.app-device{transform:rotate(-2deg) scale(.84)}.quality-grid{margin-top:32px}.quality-card{min-height:0}.faq-list summary{padding:17px;font-size:14px}.faq-list details p{padding:0 17px 18px}.waitlist-grid{min-height:390px}.waitlist-art{right:-180px;bottom:-133px}.footer-links{grid-template-columns:1fr 1fr}.footer-links div:last-child{grid-column:1/-1}.footer-bottom{display:grid;gap:6px}.page-hero{padding:52px 0}.page-hero__art{min-height:250px}.page-hero__tile--one{left:13%;width:145px;height:165px;font-size:55px}.page-hero__tile--two{width:108px;height:118px;font-size:50px}.page-hero__tile--three{width:70px;height:70px;font-size:28px}.page-hero__actions .button{width:100%}.contact-form{padding:20px}}
@media (prefers-reduced-motion:reduce){.sc-page *,.sc-page *::before,.sc-page *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   ACCESSIBILITY LAYER  (WCAG 2.1 AA)
   Appended last so it wins at equal specificity.
   ============================================================ */

/* --- 2.4.7 Focus Visible -------------------------------------------------
   The marketing system previously defined NO focus styling at all except on
   the contact inputs, so a keyboard user had no idea where they were. A single
   visible ring on every interactive element, flipped to lime inside the dark
   forest sections where a forest ring would be invisible. */
.sc-page a:focus-visible,
.sc-page button:focus-visible,
.sc-page summary:focus-visible,
.sc-page input:focus-visible,
.sc-page select:focus-visible,
.sc-page textarea:focus-visible,
.sc-page [tabindex]:focus-visible{
  outline:3px solid var(--sc-forest);
  outline-offset:3px;
  border-radius:6px;
}
.quality-section :focus-visible,
.responsibility :focus-visible,
.waitlist-band :focus-visible,
.marketing-footer :focus-visible,
.route-card--company:focus-visible,
.route-card--partners:focus-visible{
  outline-color:var(--sc-lime);
}
/* Inputs keep a ring on plain :focus too (not just keyboard), but the old
   rgba(255,192,46,.62) lime-on-white ring was far too faint to serve as an
   indicator. */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.coverage-form input:focus,
.footer-signup input:focus{
  outline:3px solid var(--sc-forest);
  outline-offset:2px;
  border-color:var(--sc-forest);
}
.marketing-footer .footer-signup input:focus{outline-color:var(--sc-lime)}

/* CRITICAL: `.sc-page a{color:inherit}` (0,1,1) outranks `.button--primary`
   (0,1,0), so anchor-buttons inherited the surrounding TEXT colour instead of
   their own: primary CTAs rendered dark-on-forest, and lime CTAs inside dark
   sections (waitlist band) rendered white-on-lime — both failing contrast on
   every page. Force each button's intended text colour at (0,2,0), which beats
   both the inherit rule and the base button rules, for <a> and <button> alike. */
.sc-page .button--primary{color:#fff}
.sc-page .button--lime,
.sc-page .button--secondary{color:var(--sc-forest)}
.sc-page .skip-link{color:#fff}
.sc-page .nav-cta{color:#fff}
/* The legacy .skip-link hides via transform:translateY(-120%), but with
   top:12px and a ~43px height that only lifts it ~52px, leaving its bottom
   ~3px peeking as a black sliver in the top-left corner. Hide it with a large
   negative top instead; the :focus rule below brings it back to top:10px. */
.sc-page .skip-link{top:-100px;transform:none;transition:top .15s ease}
/* Route cards are anchors too, so the same inherit rule clobbered their
   colour: the forest company card and coral partners card rendered dark text
   on a dark ground. Force each card's intended text colour. */
.sc-page .route-card--customer{color:var(--sc-ink)}
.sc-page .route-card--company,
.sc-page .route-card--partners{color:#fff}
/* The coral display accent (--sc-coral-ink) is tuned for LIGHT sections; on the
   dark forest quality band it was dark-on-dark. Use the lime accent there,
   matching the waitlist band. */
.sc-page .quality-section .display em{color:var(--sc-coral-ink)}
/* .responsibility is another forest-dark section (audience pages). Its eyebrow
   (default forest) and coral display accent were dark-on-dark. */
.sc-page .responsibility .eyebrow,
.sc-page .responsibility .display em{color:var(--sc-coral-ink)}

/* The route cards use opacity on the eyebrow/body for hierarchy. On the forest
   and lime cards that still clears AA, but on the coral partners card `opacity`
   composites the white toward the coral and drops it to ~4.3:1. Give that one
   card full-opacity text — coral-deep at full white is 4.86:1. */
.route-card--partners .route-card__eyebrow,
.route-card--partners p{opacity:1}

/* --- Anchor targets clearing the sticky header ---------------------------
   #faqs / #how-it-works / #waitlist otherwise land under the 78px sticky
   header and the heading is hidden. */
.sc-page [id]{scroll-margin-top:100px}

/* --- Content must not depend on JavaScript -------------------------------
   .reveal starts at opacity:0 and is only revealed by reveal.js. If scripting
   is unavailable the entire page body would render blank. */
@media (scripting: none){
  .reveal{opacity:1 !important;transform:none !important}
}

/* --- Mobile tap targets (2.5.5) ------------------------------------------ */
@media (max-width:940px){
  .marketing-header .mobile-menu a{display:flex;align-items:center;min-height:44px}
}

/* ============================================================
   LEGACY-CASCADE NEUTRALISERS
   css/main.css ships an older component system that also defines .section,
   .toast, .icon and .footer-bottom. home.css only overrides the properties it
   re-declares, so the rest leaked through. These reset the leaks explicitly.
   ============================================================ */

/* layout/sections.css sets `.section{overflow:hidden}`, which turns every
   section into a clipping container and stops `.faq-intro{position:sticky}`
   from sticking. The marketing sections manage their own overflow. */
.sc-page .section{overflow:visible;position:relative}
.sc-page .hero,
.sc-page .waitlist-band,
.sc-page .route-card__visual{overflow:hidden}

/* components/alerts.css styles a different `.toast` (flex + entry animation +
   border + backdrop-filter). The marketing toast is opacity/transform based;
   the inherited animation fought it. */
.sc-page .toast{
  display:block;
  border:0;
  animation:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* base/utilities.css sets `.icon{display:inline-block}`; several marketing
   contexts rely on the icon being a centred grid chip. */
.sc-page .icon{flex-shrink:0}

.sc-page .footer-bottom{padding:21px 0 0}

/* ── 404 error page ─────────────────────────────────────── */
.error-section{min-height:64vh;display:grid;place-items:center;text-align:center}
.error-inner{max-width:620px}
.error-inner .eyebrow{justify-content:center}
.error-inner .lede{margin-inline:auto}
.error-code{margin:0 0 6px;font:800 clamp(90px,17vw,150px)/1 "Space Grotesk",sans-serif;letter-spacing:-6px;color:var(--sc-coral-ink)}
.error-actions{justify-content:center}
.error-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:34px}
.error-links a{color:var(--sc-coral-ink);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.error-links a:hover{color:var(--sc-forest-2)}
