/* Sunflower Web production UI.
   Layout and component styling carried forward from High-Fidelity UI System v1.1. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.narrow{max-width:880px}
.reading{max-width:var(--measure)}
.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}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--leaf)}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--sun);border-radius:99px}
.eyebrow.support:before{background:var(--leaf)} .eyebrow.design:before{background:var(--sun)} .eyebrow.assessment:before{background:var(--assessment)} .eyebrow.recovery:before{background:var(--recovery)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:14px;border:1px solid transparent;font-weight:800;letter-spacing:.01em;transition:background .18s ease,transform .18s ease,border-color .18s ease;cursor:pointer}
.btn-primary{background:var(--evergreen);color:white;box-shadow:0 10px 24px rgba(23,63,46,.14)}
.btn-primary:hover{background:var(--evergreen-2);transform:translateY(-1px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.btn-primary:focus-visible,.btn-gold:focus-visible,.text-link:focus-visible,.nav a:focus-visible,.service-toggle:focus-visible,.services-menu a:focus-visible,.mobile-menu-btn:focus-visible,.mobile-service-toggle:focus-visible,.mobile-drawer a:focus-visible,.mobile-submenu a:focus-visible,.hero-service-row:focus-visible,.faq-q:focus-visible,.footer a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.btn-gold{background:var(--sun);color:var(--evergreen);box-shadow:none}.btn-gold:hover{background:#F2C75B;transform:translateY(-1px)}
.text-link{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;gap:8px;color:var(--evergreen-2);font-weight:800;text-decoration:underline;text-decoration-color:rgba(46,106,77,.3);text-underline-offset:4px}
.text-link:after{content:"→";font-size:18px;transition:transform .18s ease}.text-link:hover:after{transform:translateX(4px)}
.section{padding:82px 0}.section.compact{padding:64px 0}.section-sage{background:var(--sage)}.section-cream{background:var(--cream)}.section-dark{background:var(--evergreen);color:#fff}.section-dark p{color:rgba(255,255,255,.78)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}.section-head h2,.section h2{font-size:clamp(34px,3.5vw,46px);line-height:1.08;letter-spacing:-.04em;margin:0}.section-head p{max-width:560px;margin:0;color:var(--muted)}
.section h3{letter-spacing:-.025em}
.lead{font-size:19px;line-height:1.62;color:#45554B;max-width:var(--measure)}
.body-copy{font-size:17px;line-height:1.7;color:#4B5A51;max-width:var(--measure)}.body-copy p{margin:0 0 15px}.body-copy p:last-child{margin-bottom:0}

/* header */
.site-header{height:82px;display:flex;align-items:center;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:relative;z-index:40}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;position:relative}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.02em;font-size:20px;white-space:nowrap}
.brand-mark{position:relative;width:30px;height:30px;display:inline-block;flex:0 0 auto}.brand-mark .core{position:absolute;left:10px;top:10px;width:10px;height:10px;background:var(--evergreen);border-radius:50%;z-index:3}.brand-mark .petal{position:absolute;left:12px;top:1px;width:6px;height:12px;background:var(--sun);border-radius:80% 80% 55% 55%;transform-origin:3px 14px}.brand-mark .p2{transform:rotate(45deg)}.brand-mark .p3{transform:rotate(90deg)}.brand-mark .p4{transform:rotate(135deg)}.brand-mark .p5{transform:rotate(180deg)}.brand-mark .p6{transform:rotate(225deg)}.brand-mark .p7{transform:rotate(270deg)}.brand-mark .p8{transform:rotate(315deg)}
.nav{justify-self:center;display:flex;align-items:center;gap:6px}.nav a,.service-toggle{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:10px;font-size:14px;font-weight:700;color:#34423A;background:transparent;border:0}.nav a:hover,.service-toggle:hover,.nav a[aria-current="page"]{background:var(--sage);color:var(--evergreen)}
.nav-combo{display:inline-flex;align-items:center}.nav-combo>a{padding-right:6px}.service-toggle{padding:0 8px;margin-left:-2px;cursor:pointer}.chev{width:16px;height:16px;display:block;transition:transform .18s ease}.service-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.services-menu[data-open="false"]{display:none}.services-menu{position:absolute;top:60px;left:50%;transform:translateX(-10%);width:300px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);display:none}.services-menu[data-open="true"]{display:block}.services-menu a{display:block;padding:12px 13px;border-radius:10px;font-size:14px;font-weight:750}.services-menu a:hover,.services-menu a:focus-visible{background:var(--sage);color:var(--evergreen)}
.header-cta{white-space:nowrap}.mobile-menu-btn{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:white;align-items:center;justify-content:center;cursor:pointer}.mobile-menu-btn svg{width:22px;height:22px}
.mobile-drawer[data-open="false"]{display:none}.mobile-drawer{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);padding:12px 20px 20px}.mobile-drawer[data-open="true"]{display:block}.mobile-drawer a{display:flex;align-items:center;min-height:48px;padding:0 10px;border-bottom:1px solid #EDF1EE;font-weight:750}.mobile-services-row{display:grid;grid-template-columns:1fr 48px;align-items:center;border-bottom:1px solid #EDF1EE}.mobile-services-row>a{border-bottom:0}.mobile-service-toggle{height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.mobile-submenu[data-open="false"]{display:none}.mobile-submenu{display:none;background:var(--sage);border-radius:12px;padding:5px 10px;margin:8px 0}.mobile-submenu[data-open="true"]{display:block}.mobile-submenu a{font-size:14px;min-height:44px}.mobile-drawer .btn{margin-top:12px;width:100%}

/* hero */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,#fff 100%);min-height:505px;display:flex;align-items:center}.page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,63,46,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,46,.028) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,#000 0%,transparent 82%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:64px;align-items:center;padding:64px 0 66px;position:relative;z-index:2}.hero-copy h1{font-size:clamp(48px,5vw,68px);line-height:1.02;letter-spacing:-.052em;margin:18px 0 22px;max-width:780px}.hero-copy p{font-size:18px;line-height:1.65;color:#44534A;max-width:var(--measure);margin:0 0 28px}.hero-visual{min-height:340px;position:relative;display:flex;align-items:center;justify-content:center}.bloom{position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle at center,var(--sun-soft) 0 20%,rgba(232,184,63,.23) 20% 41%,rgba(232,184,63,.08) 41% 63%,transparent 63%);opacity:.8}.bloom:before,.bloom:after{content:"";position:absolute;inset:42px;border:1px solid rgba(23,63,46,.12);border-radius:50%}.bloom:after{inset:86px;border-color:rgba(23,63,46,.16)}
.hero-card{position:relative;width:330px;border:1px solid rgba(23,63,46,.12);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);padding:24px}.hero-card-title{font-size:23px;line-height:1.18;font-weight:850;letter-spacing:-.03em;margin-bottom:17px}.hero-service-list{display:grid;gap:9px}.hero-service-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:760;font-size:13px;transition:.18s ease}.hero-service-row .n{display:inline-flex;width:28px;height:28px;border-radius:9px;background:var(--sage);align-items:center;justify-content:center;color:var(--evergreen);font-size:11px}.hero-service-row:nth-child(2) .n{background:var(--sun-soft)}.hero-service-row:nth-child(3) .n{background:var(--assessment-soft)}.hero-service-row:nth-child(4) .n{background:var(--recovery-soft)}.hero-service-row .arr{opacity:.55;transition:transform .18s ease}.hero-service-row:hover{border-color:#B7C8BC;box-shadow:0 8px 24px rgba(23,63,46,.08);transform:translateY(-1px)}.hero-service-row:hover .arr{transform:translateX(3px);opacity:1}
.hero-aside{position:relative;width:330px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow);padding:24px}.hero-aside h2{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin:0 0 11px}.hero-aside p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}.hero-aside .mini-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}.hero-aside .mini-list li{padding:10px 12px;border-radius:12px;background:var(--sage);font-size:16px;font-weight:760}.hero-aside.design .mini-list li:first-child{background:var(--sun-soft)}.hero-aside.assessment .mini-list li{background:var(--assessment-soft)}.hero-aside.recovery{border-top:4px solid var(--recovery)}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.card h3{font-size:22px;margin:0 0 9px}.card p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.card strong{color:var(--ink)}
.service-card{min-height:235px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(23,63,46,.02);transition:.18s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--leaf)}.service-card.design:before{background:var(--sun)}.service-card.assessment:before{background:var(--assessment)}.service-card.recovery:before{background:var(--recovery)}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#C3D1C8}.service-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--sage);color:var(--evergreen);margin-bottom:18px}.service-card.design .service-icon{background:var(--sun-soft)}.service-card.assessment .service-icon{background:var(--assessment-soft)}.service-card.recovery .service-icon{background:var(--recovery-soft)}.service-icon svg{width:24px;height:24px}.service-card h3{font-size:24px;letter-spacing:-.03em;margin:0 0 8px}.service-problem{font-size:16px;font-weight:800;color:#34423A;margin-bottom:8px}.service-desc{font-size:16px;color:var(--muted);max-width:520px;margin:0 0 20px;line-height:1.6}.service-card .text-link{margin-top:auto;font-size:14px}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.proof-card{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:20px;background:rgba(255,255,255,.065);min-height:160px}.proof-card .num{display:inline-flex;width:30px;height:30px;border-radius:10px;background:var(--sun);color:var(--evergreen);align-items:center;justify-content:center;font-weight:900;margin-bottom:18px}.proof-card h3{font-size:16px;line-height:1.3;margin:0 0 8px}.proof-card p{font-size:16px;line-height:1.5;color:rgba(255,255,255,.76);margin:0}
.bullet-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:11px}.bullet-list li{position:relative;padding-left:24px;color:#4B5A51}.bullet-list li:before{content:"";position:absolute;left:0;top:.64em;width:8px;height:8px;border-radius:50%;background:var(--sun)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.split.wide-left{grid-template-columns:1.1fr .9fr}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;position:relative}.compare-card h3{font-size:28px;margin:0 0 8px}.compare-card .tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--sage);font-size:12px;font-weight:850;color:var(--evergreen);margin-bottom:16px}.compare-card.custom .tag{background:var(--sun-soft)}.compare-card p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.compare-card .key{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;font-weight:800;color:#34423A}
.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.outcome{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;position:relative;overflow:hidden}.outcome:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--assessment)}.outcome h3{font-size:19px;margin:0 0 8px}.outcome p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.expectation{border-left:5px solid var(--recovery);background:#FFF8F3;border-radius:16px;padding:20px 22px}.expectation strong{display:block;font-size:17px;margin-bottom:7px}.expectation p{margin:0;color:#5B554F;font-size:16px;line-height:1.6}
.info-panel{border-left:5px solid var(--sun);background:#FFF9E8;border-radius:16px;padding:20px 22px}.info-panel.assessment{border-left-color:var(--assessment);background:var(--assessment-soft)}.info-panel.support{border-left-color:var(--leaf);background:var(--sage)}.info-panel p{margin:0;font-size:16px;line-height:1.65;color:#4B5A51}.info-panel strong{display:block;margin-bottom:7px;font-size:17px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps.four{grid-template-columns:repeat(4,1fr)}.steps.five{grid-template-columns:repeat(5,1fr)}.step{background:#fff;border:1px solid #E4DED0;border-radius:20px;padding:22px;min-height:180px}.step-num{width:38px;height:38px;border-radius:12px;background:var(--evergreen);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:18px}.step h3{font-size:17px;margin:0 0 8px}.step p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.icon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.icon-item{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.icon-item .service-icon{margin:0;width:42px;height:42px}.icon-item h3{font-size:17px;margin:1px 0 5px}.icon-item p{font-size:16px;color:var(--muted);margin:0}

/* technical/device illustration */
.device-stage{min-height:320px;position:relative;display:flex;align-items:center;justify-content:center}.device-desktop{width:78%;height:230px;border:1px solid #C8D1CB;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);padding:8px}.browserbar{height:26px;border-radius:10px 10px 0 0;background:#F4F6F4;display:flex;align-items:center;gap:5px;padding:0 10px}.dot{width:6px;height:6px;border-radius:50%;background:#BFC8C2}.device-desktop .screen{height:180px;padding:22px;background:linear-gradient(135deg,#fff 0 70%,var(--sage) 70%);border-radius:0 0 12px 12px}.screen-line{height:7px;background:#D3DDD6;border-radius:99px;margin-bottom:9px}.screen-line.dark{background:var(--evergreen);width:42%}.screen-line.med{width:65%}.screen-line.short{width:48%}.screen-btn{width:72px;height:24px;background:var(--sun);border-radius:6px;margin-top:15px}.device-phone{position:absolute;right:4%;bottom:3px;width:125px;height:238px;border:5px solid var(--evergreen);border-radius:22px;background:#fff;padding:16px 9px;box-shadow:0 18px 38px rgba(23,63,46,.18)}.phone-line{height:6px;background:#D6DFD9;border-radius:99px;margin:7px 0}.phone-line.dark{background:var(--evergreen);width:72%}.phone-card{height:48px;border:1px solid var(--line);border-radius:9px;margin-top:10px;background:var(--sage)}

/* CTA + footer */
.final-cta{padding:76px 0;background:#fff}.cta-panel{border-radius:28px;background:linear-gradient(115deg,var(--evergreen),#23563F);padding:42px 44px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;color:#fff;box-shadow:var(--shadow)}.cta-panel h2{font-size:35px;letter-spacing:-.035em;line-height:1.1;margin:0 0 10px}.cta-panel p{margin:0;color:rgba(255,255,255,.77);font-size:16px;max-width:720px}.cta-panel .btn{background:var(--sun);color:var(--evergreen);box-shadow:none}
.footer{padding:38px 0 42px;background:#101A15;color:#DCE4DF}.footer-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:32px;align-items:start}.footer .brand{color:#fff;font-size:18px}.footer p{font-size:13px;color:#AAB8B0;max-width:520px;margin:13px 0 0}.footer-links{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;justify-items:start;justify-self:stretch}.footer-links a{width:100%;font-size:13px;color:#D5DED8;min-height:44px;padding:5px 4px;display:inline-flex;align-items:center}.footer-links a:hover{text-decoration:underline}.footer-sub{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:6px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#89988F}

/* FAQ */
.faq-list{display:grid;gap:10px;max-width:940px}.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:visible}.faq-q{width:100%;min-height:64px;height:auto;padding:16px 20px;border:0;border-radius:15px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:12px;align-items:center;text-align:left;font-weight:800;line-height:1.4;white-space:normal;overflow:visible;color:var(--ink);cursor:pointer}.faq-q>span:first-child{min-width:0;overflow-wrap:anywhere}.faq-q:hover{background:var(--sage)}.faq-icon{font-size:22px;color:var(--leaf);transition:transform .18s ease}.faq-q[aria-expanded="true"]{border-radius:15px 15px 0 0}.faq-q[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}.faq-a{display:none;padding:3px 20px 20px;color:var(--muted);font-size:16px;line-height:1.65;max-width:80ch}.faq-a[data-open="true"]{display:block}

/* form */
.form-shell{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-sm)}.form-grid{display:flex;flex-wrap:wrap;gap:18px}.field{width:calc(50% - 9px)}.field.full{width:100%}.field label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.field .helper{font-size:12px;color:var(--muted);margin-top:6px}.control{width:100%;min-height:52px;border:1px solid #BFCBC3;border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;outline:none;transition:.16s ease}.control:focus{border-color:var(--evergreen);box-shadow:0 0 0 3px rgba(242,201,76,.35)}textarea.control{min-height:138px;resize:vertical}.field[data-invalid="true"] .control{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.08)}.field-error{display:none;color:var(--danger);font-size:12px;font-weight:750;margin-top:6px}.field[data-invalid="true"] .field-error{display:block}.security-note{width:100%;border-left:4px solid var(--sun);background:#FFF9E8;border-radius:12px;padding:14px 16px;font-size:16px;color:#5D5749}.form-actions{width:100%;display:flex;align-items:center;gap:16px;margin-top:2px}.form-status{font-size:13px;font-weight:750}.form-status.success{color:var(--success)}

/* mobile */
@media(max-width:820px){
  .wrap{width:min(100% - 40px,var(--max))}.site-header{height:68px}.header-inner{grid-template-columns:minmax(0,1fr) auto}.nav,.header-cta{display:none}.mobile-menu-btn{display:inline-flex}.brand{font-size:18px}.brand-mark{transform:scale(.88);transform-origin:left center}
  .page-hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:44px 0 48px;gap:28px}.hero-copy h1{font-size:43px;line-height:1.03;margin:13px 0 18px}.hero-copy p{font-size:16px;line-height:1.62;margin-bottom:23px}.hero-visual,.hero-aside{display:none}
  .section{padding:60px 0}.section.compact{padding:50px 0}.section-head{display:block;margin-bottom:24px}.section-head h2,.section h2{font-size:34px}.section-head p{margin-top:12px}
  .card-grid,.card-grid.three,.card-grid.four,.proof-grid,.split,.split.wide-left,.compare-grid,.outcome-grid,.steps,.steps.four,.steps.five,.icon-list{grid-template-columns:1fr}.service-card{min-height:0;padding:22px}.service-card h3{font-size:21px}.proof-card{min-height:0}.compare-card{padding:23px}.compare-card h3{font-size:24px}.step{min-height:0}.body-copy{font-size:16px}.lead{font-size:17px}.device-stage{min-height:290px}.device-desktop{width:88%;height:215px}.device-desktop .screen{height:165px}.device-phone{width:112px;height:215px}.final-cta{padding:58px 0}.cta-panel{grid-template-columns:1fr;padding:30px 25px;border-radius:22px}.cta-panel h2{font-size:30px}.cta-panel .btn{justify-self:start}.footer-grid{grid-template-columns:1fr}.footer-links{width:100%;justify-self:start;grid-template-columns:1fr 1fr}.footer-sub{display:block}.footer-sub span{display:block;margin-top:7px}.form-shell{padding:22px}.form-grid{grid-template-columns:1fr}.field.full,.security-note,.form-actions{grid-column:1}.form-actions{align-items:flex-start;flex-direction:column}.faq-q{min-height:60px;padding:15px 17px}
}
@media(max-width:430px){.wrap{width:calc(100% - 32px)}.hero-copy h1{font-size:39px;letter-spacing:-.045em}.btn{min-height:50px;padding:0 21px}.section-head h2,.section h2{font-size:31px}.service-card{padding:20px}.footer-links{grid-template-columns:1fr}.footer-links a{min-height:44px}.form-shell{padding:18px}.page-hero .eyebrow{font-size:11px}.device-stage{min-height:260px}.device-desktop{height:196px}.device-desktop .screen{height:148px;padding:16px}.device-phone{height:200px;bottom:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none}}

/* Production architecture + approved existing logo */
html{scroll-padding-top:96px}
body{overflow-x:hidden}
body.nav-open{overflow:hidden}
.skip-link{position:fixed;left:14px;top:10px;z-index:1000;transform:translateY(-180%);background:var(--evergreen);color:#fff;padding:11px 15px;border-radius:10px;font-weight:800;box-shadow:var(--shadow-sm)}
.skip-link:focus{transform:translateY(0)}
.production-brand{display:inline-flex;align-items:center;min-height:48px;padding:3px 0}
.production-brand img{display:block;width:220px;height:auto;max-height:58px}
.footer .production-brand img{width:220px;max-height:62px}
.nav a.is-section-current{background:var(--sage);color:var(--evergreen)}
.services-menu a[aria-current="page"],.mobile-submenu a[aria-current="page"],.mobile-drawer>a[aria-current="page"]{background:var(--sage);color:var(--evergreen)}
.mobile-menu-btn .close-icon{display:none}
.mobile-menu-btn[aria-expanded="true"] .menu-icon{display:none}
.mobile-menu-btn[aria-expanded="true"] .close-icon{display:block}
.mobile-service-toggle{font-size:24px;line-height:1;color:var(--evergreen)}
.mobile-service-toggle[aria-expanded="true"]{transform:rotate(45deg)}

/* Inline prototype declarations promoted to reusable production classes */
.align-center{align-items:center}
.bg-assessment-soft{background:var(--assessment-soft)}
.bg-recovery-soft{background:var(--recovery-soft)}
.assessment-summary{background:var(--assessment-soft);padding:14px 16px;border-radius:12px;font-weight:800}
.cream-summary{background:var(--cream);padding:14px 16px;border-radius:12px;font-weight:800}
.on-dark-eyebrow{color:#F7D979}
.on-dark-strong{color:#fff}
.on-dark-copy{color:rgba(255,255,255,.78)}
.on-dark-copy-80{color:rgba(255,255,255,.8)}
.on-dark-lead{color:rgba(255,255,255,.78);margin-bottom:32px}
.on-dark-lead-spaced{color:rgba(255,255,255,.8);margin-top:17px}
.stack-10-mt16{display:grid;gap:10px;margin-top:16px}
.optional-label{font-weight:600;color:var(--muted)}
.hero-single{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.mt-9{margin-top:9px}.mt-13{margin-top:13px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mt-17{margin-top:17px}.mt-20{margin-top:20px}.mt-22{margin-top:22px}.mt-24{margin-top:24px}.mt-28{margin-top:28px}.mt-30{margin-top:30px}
.stack-10-mt16-alt{margin-top:16px;display:grid;gap:10px}
.on-dark-note{margin-top:16px;font-weight:800;color:#fff}
.dark-info-panel{margin-top:18px;background:rgba(255,255,255,.08);border-left-color:var(--sun)}
.dark-section-heading{max-width:820px;margin:13px 0 15px}
.contact-hero{min-height:420px}
.timing-control{min-height:96px}
.about-path{padding:12px;border-left:4px solid var(--leaf);background:var(--sage);border-radius:10px}
.about-path.design{border-left-color:var(--sun);background:var(--sun-soft)}
.about-path.assessment{border-left-color:var(--assessment);background:var(--assessment-soft)}
.about-path.recovery{border-left-color:var(--recovery);background:var(--recovery-soft)}

/* Production form behaviour */
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.field-error{min-height:0}
.field[data-invalid="true"] .field-error{display:block}
.control[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.form-status.error{color:var(--danger)}
.form-status.server-message{display:block;width:100%;margin-bottom:18px;padding:13px 15px;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-size:14px;line-height:1.55}
.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.contact-detail{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px}
.contact-detail strong{display:block;margin-bottom:6px;font-size:15px}
.contact-detail a{color:var(--evergreen-2);font-weight:800;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.contact-detail span{color:var(--muted);font-size:16px;line-height:1.55}

/* Thank-you and error utility pages */
.utility-panel{max-width:880px;margin:0 auto}
.utility-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn-secondary{background:#fff;border-color:var(--line);color:var(--evergreen);box-shadow:none}.btn-secondary:hover{background:var(--sage)}

/* Progressive enhancement */
.no-js .faq-a{display:block}
.no-js .faq-q{cursor:default}
@media(max-width:820px){
  .production-brand img{width:190px;max-height:48px}
  .footer .production-brand img{width:205px;max-height:58px}
  .contact-details{grid-template-columns:1fr}
  .no-js .site-header{height:auto;align-items:flex-start;padding:8px 0 0}
  .no-js .header-inner{grid-template-columns:1fr}
  .no-js .mobile-menu-btn{display:none}
  .no-js .mobile-drawer{display:block;position:static;box-shadow:none;border-top:1px solid var(--line);margin-top:8px;width:100%}
}
@media(max-width:430px){.production-brand img{width:170px}.utility-actions{display:grid;grid-template-columns:1fr}.utility-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.text-link:after,.chev,.hero-service-row,.hero-service-row .arr,.faq-icon,.control,.mobile-service-toggle{transition:none}
}
