/* Second design pass: tighter rhythm, responsive privacy controls and restrained motion. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.section{padding:clamp(3rem,5.5vw,5rem) 0}
.section:not(.section-dark)+.section:not(.section-dark){padding-top:1rem}
.section-head{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2rem}
.section-head h2{font-size:clamp(2.3rem,4vw,3.5rem);max-width:17ch;line-height:1.05}
.section-head p{margin-bottom:0}
.hero{padding:4rem 0 3.5rem}
.hero h1{font-size:clamp(3.2rem,6.6vw,6rem)}
.signal-card{min-height:480px}
.signal-main h2{max-width:12ch;font-size:2.8rem}
.signal-top{font-size:16px}
.page-hero{padding:3.5rem 0 1.5rem}
.page-hero h1{margin-bottom:.5rem}
.page-hero+.section{padding-top:2rem}
.service-card{min-height:285px;padding:1.6rem}
.process-step{min-height:235px;padding:1.5rem}
.process-step h3{margin-top:2rem}
.cta-band{padding:clamp(1.75rem,4vw,3rem)}
.cta-band h2{max-width:20ch;font-size:clamp(2rem,3.6vw,3.1rem)}
.site-footer{padding-top:3rem}.footer-bottom{margin-top:2rem}
.site-header{transition:box-shadow .25s ease,background .25s ease}
.site-header.is-scrolled{background:rgba(247,251,255,.97);box-shadow:0 4px 24px #05111f0d}
.button,.nav-links a,.language-switch,.solution-tabs button,.consent-bar button{transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s var(--ease-out)}
.button:active,.consent-bar button:active{transform:scale(.97)}
.button-primary:hover,.nav-cta:hover{background:#123a61!important;box-shadow:0 12px 28px #05111f26}
.button-secondary:hover,.language-switch:hover{background:#eaf5ff;border-color:#0966b5}
.button-cyan:hover{background:#78ecf5;box-shadow:0 8px 24px #16dff126}
.button-primary::after{transition:transform .25s var(--ease-out)}.button-primary:hover::after{transform:translate(3px,-3px)}
.service-card,.detail-card,.outcome,.solution-node{transition:border-color .25s ease,box-shadow .3s ease,transform .3s var(--ease-out),background .25s ease}
.detail-card:hover{border-color:#83afcc;box-shadow:0 12px 32px #05111f08}
.outcome:hover,.solution-node:hover{background:#ffffff08;border-color:#62baff}
.card-link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color .2s ease}.card-link:hover{text-decoration-color:currentColor}
.field input,.field select,.field textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#0966b5;box-shadow:0 0 0 4px #0966b514}
.menu-toggle span{transition:transform .25s ease,opacity .2s ease}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.nav-links.open,.solution-panel.active,.brief-result.show,.consent-details:not([hidden]){animation:surface-in .32s var(--ease-out) both}
@keyframes surface-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.consent-bar{padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));background:#f7fbff;border-top:1px solid #b9cedc;box-shadow:0 -8px 32px #05111f0c}
.consent-bar:not([hidden]){animation:consent-in .35s var(--ease-out)}
@keyframes consent-in{from{transform:translateY(12px);opacity:.3}to{transform:translateY(0);opacity:1}}
.consent-inner{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px 24px}
.consent-inner>p{min-width:0;line-height:1.45;max-width:45ch}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.consent-bar button{border-radius:10px}
.consent-actions button{white-space:nowrap;box-shadow:0 2px 4px #05111f08}
.consent-actions button:hover{background:#123a61;border-color:#123a61}
.consent-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}
.consent-tools button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:#334860;border:0;padding:0;box-shadow:none;font-weight:650}
.consent-tools button:hover,.consent-tools a:hover{color:#0966b5}
.consent-tools button span{transition:transform .2s ease}
.consent-tools button[aria-expanded=true] span{transform:rotate(45deg)}
.consent-tools a{color:#334860;text-decoration-color:#92a7b8;text-underline-offset:4px}
.consent-details{grid-column:1/-1;padding:16px;background:#eaf5ff;border-radius:12px;border:1px solid #c3d6e4}
.consent-details p{max-width:65ch;margin-bottom:12px}
main{animation:page-in .24s ease both}
@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.consent-inner{grid-template-columns:1fr auto}.consent-tools{grid-column:1/-1;justify-content:flex-end}.consent-inner>p{max-width:none}}
@media(max-width:900px){.hero{padding:2rem 0 2.5rem}.section-head{grid-template-columns:1fr;gap:1rem}.section-head h2{max-width:20ch}.page-hero{padding:2.5rem 0 1rem}.founder-mark{min-height:500px}}
@media(max-width:620px){
 .section{padding:2.5rem 0}.section:not(.section-dark)+.section:not(.section-dark){padding-top:.5rem}
 .page-hero+.section{padding-top:1.5rem}.page-hero{padding:2rem 0 .75rem}
 .hero{padding:1rem 0 2rem}.hero h1{font-size:clamp(2.5rem,11vw,4rem)}
 .section-head{margin-bottom:1.5rem}.section-head h2{font-size:2.4rem}
 .service-card,.service-card.featured{min-height:235px;padding:1.4rem}
 .signal-card{min-height:440px}.signal-main h2{font-size:2.4rem;max-width:13ch;margin-bottom:1.2rem}
 .signal-row{grid-template-columns:26px 1fr auto;padding:.65rem .5rem}.signal-status{grid-column:auto;font-size:16px}
 .signal-row>span:nth-child(2){line-height:1.25}.signal-top{gap:.4rem}
 .trust-grid{grid-template-columns:1fr 1fr}.trust-item,.trust-item:nth-child(3){padding:1rem .75rem}.trust-item strong{font-size:1.05rem;line-height:1.3;margin-bottom:.4rem}.trust-item span{display:block;line-height:1.4}
 .outcome{padding:1.4rem 0}.outcome h3{margin:.6rem 0}.process-step{min-height:190px;padding:1.3rem}.process-step h3{margin-top:1.25rem}
 .footer-grid{gap:1.5rem}.site-footer{padding-top:2.5rem}
 .consent-bar{padding:12px max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
 .consent-inner{width:100%;grid-template-columns:1fr;gap:8px}
 .consent-actions{width:100%;gap:8px}.consent-actions button{padding:10px 12px;min-height:46px}
 .consent-tools{grid-column:auto;justify-content:space-between;gap:12px}.consent-tools button,.consent-tools a{min-height:44px}
 .consent-details{padding:12px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
