/* v1.1.0 — homepage cinematic language carried through every page */
:root{--sage:#aebfbb;--line-2:#c3cfcb;--paper:#f8f8f3}
/* Inner cinematic hero */
.cinema.inner{min-height:640px;height:82svh;max-height:880px}
.cinema.inner .cinema-image{animation:cinema-pan 24s ease-in-out infinite alternate}
.motion-paused .cinema.inner .cinema-image{animation-play-state:paused}
.cinema-image.img-office{background-image:url('office.jpg')}
.cinema-image.img-meeting{background-image:url('meeting.jpg')}
.cinema-image.img-hero{background-image:url('hero.jpg')}
.cinema-image.img-documents{background-image:url('documents.jpg')}
.cinema.inner h1{font-size:clamp(46px,5.2vw,78px)}
.cinema .crumbs{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#b9c8c3;margin:0 0 26px}
.cinema .crumbs ol{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.cinema .crumbs li+li::before{content:"/";margin-right:8px;color:#7c9693}
.cinema .crumbs a{color:#dfe7e2;border-bottom:1px solid #7c969380}
.cinema .crumbs a:hover{color:#fff}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:34px;flex-wrap:wrap}
.hero-actions .cinema-link{gap:36px}
.quiet-cta{font-size:12px;letter-spacing:.04em;color:#d2dcd7;border-bottom:1px solid #7c9693;padding:15px 0;margin-top:24px}
.quiet-cta:hover{color:#fff}
/* Section rhythm */
.band-mist{background:#edf1ed}
.band-dark{background:#142c2c;color:#e6ece8}
.band-dark .eyebrow{color:#afc3bd}
.band-dark h2{color:#fff}
.lead-copy{font-size:18px;line-height:1.75;color:#3e5456}
.lead-copy a,.prose a,.inline-links a,.form-note a,.consent a{text-decoration:underline;text-decoration-color:#7c9693;text-underline-offset:4px}
.lead-copy a:hover,.prose a:hover,.inline-links a:hover{text-decoration-color:currentColor}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.intro h2{font-size:clamp(38px,3.8vw,56px);line-height:1.08;margin-top:18px}
.intro .lead-copy p+p{margin-top:18px}
/* Situations list */
.situations{list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-2)}
.situations li{display:flex;gap:26px;padding:28px 30px 28px 0;border-bottom:1px solid var(--line-2);font:22px/1.35 Georgia,serif;letter-spacing:-.02em}
.situations li:nth-child(even){padding-left:30px;border-left:1px solid var(--line-2)}
.situations li span{font:500 10px/2.4 Inter,system-ui,sans-serif;letter-spacing:.16em;color:#5d7773;flex:none}
.situations a{border-bottom:1px solid #9fb2ad}
/* Steps */
.steps-4{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2)}
.steps-4 li{padding:34px 28px 10px 0}
.steps-4 li+li{padding-left:28px;border-left:1px solid var(--line-2)}
.steps-4 b{display:block;font:400 44px/1 Georgia,serif;color:#345d61;margin-bottom:22px}
.steps-4 h3{font:26px/1.15 Georgia,serif;margin-bottom:12px}
.steps-4 p{font-size:15px;color:#52666d}
.band-dark .steps-4,.band-dark .steps-4 li+li{border-color:#3b5857}
.band-dark .steps-4 b{color:#aec7c0}.band-dark .steps-4 p{color:#b9c8c3}
/* Trust strip */
.assurances{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3b5857;border-bottom:1px solid #3b5857}
.assurances div{padding:26px 24px 26px 0;font-size:13px;line-height:1.55;color:#c9d6d1}
.assurances div+div{padding-left:24px;border-left:1px solid #3b5857}
.assurances strong{display:block;font:20px/1.2 Georgia,serif;color:#fff;margin-bottom:8px;font-weight:400}
.band-mist .assurances,.band-mist .assurances div+div,.assurances.light,.assurances.light div+div{border-color:var(--line-2)}
.assurances.light div{color:#52666d}.assurances.light strong{color:#142c2c}
/* Cards with links */
.cards .card a{display:inline-block;margin-top:18px;border-bottom:1px solid #809a9f;padding-bottom:4px;font-size:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bcc9c9}
.grid-3 .svc{padding:34px 30px 34px 0}
.grid-3 .svc+.svc{padding-left:30px;border-left:1px solid #bcc9c9}
.grid-3 .svc h3{font-size:27px}
/* Pathway tiles */
.pathways{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-2)}
.pathway{display:block;padding:44px;transition:background .3s}
.pathway+.pathway{border-left:1px solid var(--line-2)}
.pathway:hover{background:#e3eae6}
.pathway h3{font:32px/1.12 Georgia,serif;margin:16px 0 12px}
.pathway p{color:#52666d;max-width:440px}
.pathway em{display:inline-block;margin-top:22px;font-style:normal;border-bottom:1px solid #809a9f;padding-bottom:4px;font-size:14px}
/* FAQ */
.faq details{border-top:1px solid var(--line-2);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line-2)}
.faq summary{cursor:pointer;font:24px/1.3 Georgia,serif;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:Inter,sans-serif;font-weight:300;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:14px;color:#52666d;max-width:680px}
/* Forms */
.form-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.form-panel h2{font-size:clamp(36px,3.6vw,52px);line-height:1.08;margin:18px 0 20px}
.form-panel .next-list{list-style:none;margin-top:30px;border-top:1px solid #3b5857}
.form-panel .next-list li{padding:16px 0;border-bottom:1px solid #3b5857;font-size:15px;color:#c9d6d1;display:flex;gap:18px}
.form-panel .next-list b{font:400 18px Georgia,serif;color:#aec7c0}
.band-mist .form-panel .next-list,.band-mist .form-panel .next-list li{border-color:var(--line-2)}
.band-mist .form-panel .next-list li{color:#3e5456}.band-mist .form-panel .next-list b{color:#345d61}
.tpp-form{background:var(--paper);color:#142c2c;padding:40px}
.band-mist .tpp-form{background:#fff}
.tpp-form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.tpp-form .field label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#2b4545}
.tpp-form .field label small{text-transform:none;letter-spacing:0;font-weight:400;color:#5d7773}
.tpp-form .field input,.tpp-form .field select,.tpp-form .field textarea{border:0;border-bottom:1px solid #8ea39f;background:transparent;padding:10px 0;font-size:16px;color:#142c2c}
.tpp-form .field input:focus,.tpp-form .field select:focus,.tpp-form .field textarea:focus{outline:none;border-bottom:2px solid #142c2c}
.tpp-form :focus-visible{outline:2px solid #345d61;outline-offset:3px}
.tpp-form .field textarea{min-height:110px}
.tpp-form .field.has-error input,.tpp-form .field.has-error textarea,.tpp-form .field.has-error select{border-bottom:2px solid #a2322b}
.field-error{display:block;color:#a2322b;font-size:13px;margin-top:6px;min-height:0}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#3e5456;margin:6px 0 4px}
.consent input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:#142c2c}
.form-note{font-size:13px;color:#5d7773;margin:14px 0 22px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.tpp-form button[type=submit]{background:#142c2c;color:#fff;border:0;border-radius:0;padding:17px 26px;font:600 14px Inter,sans-serif;cursor:pointer;transition:background .2s}
.tpp-form button[type=submit]:hover{background:#345d61}
.tpp-form button[disabled]{opacity:.6;cursor:wait}
.form-status{margin-top:16px;font-size:14px;min-height:1px}
.form-status.is-error{color:#a2322b}
.form-success{display:none;padding:10px 0}
.form-success h3{font:34px/1.1 Georgia,serif;margin:14px 0 14px}
.form-success p{color:#3e5456}
.form-success a{display:inline-block;margin-top:18px;border-bottom:1px solid #809a9f;padding-bottom:4px}
.tpp-form.is-sent .form-body{display:none}
.tpp-form.is-sent .form-success{display:block}
/* Contact details */
.contact-lines{margin-top:30px;border-top:1px solid #3b5857}
.contact-lines a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #3b5857;font:22px Georgia,serif;color:#fff}
.contact-lines a span{font:10px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#aec7c0;align-self:center}
/* Footer upgrades */
.foot-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:10px 0 46px;margin-bottom:40px;border-bottom:1px solid #ffffff1f}
.foot-cta h2{font:clamp(30px,3vw,44px)/1.1 Georgia,serif;color:#fff;letter-spacing:-.03em;max-width:640px}
.foot-cta .btn{background:#e0ebdf;color:#142c2c}
.foot-cols a[href^="mailto"],.foot-cols a[href^="tel"]{white-space:nowrap}
.reveal-ready.is-visible{transition-delay:var(--d,0s)}
@media(max-width:900px){
 .intro,.form-panel{grid-template-columns:1fr;gap:34px}
 .steps-4{grid-template-columns:1fr 1fr}
 .steps-4 li:nth-child(3){padding-left:0;border-left:0}
 .assurances{grid-template-columns:1fr 1fr}
 .assurances div:nth-child(3){padding-left:0;border-left:0}
 .grid-3{grid-template-columns:1fr}
 .grid-3 .svc,.grid-3 .svc+.svc{padding:28px 0;border-left:0}
 .cinema.inner{min-height:620px}
}
@media(max-width:600px){
 .cinema.inner{min-height:600px;height:auto}
 .cinema.inner h1{font-size:40px;line-height:1.12}
 .cinema.inner .cinema-copy{padding-bottom:120px}
 .situations{grid-template-columns:1fr}
 .situations li,.situations li:nth-child(even){padding:22px 0;border-left:0;font-size:20px}
 .steps-4{grid-template-columns:1fr}
 .steps-4 li,.steps-4 li+li{padding:26px 0 6px;border-left:0}
 .assurances{grid-template-columns:1fr}
 .assurances div,.assurances div+div{padding:18px 0;border-left:0}
 .assurances div+div{border-top:1px solid #3b5857}
 .pathways{grid-template-columns:1fr}
 .pathway{padding:30px 24px}
 .pathway+.pathway{border-left:0;border-top:1px solid var(--line-2)}
 .tpp-form{padding:26px 20px}
 .tpp-form .row{grid-template-columns:1fr}
 .hero-actions{gap:6px 28px}
 .contact-lines a{font-size:18px}
 .faq summary{font-size:20px}
 .foot-cta{padding-bottom:34px}
}
@media(prefers-reduced-motion:reduce){.cinema.inner .cinema-image{animation:none}}
.tpp-form .form-status{background:none;border:0;padding:0;box-shadow:none}.tpp-form .form-status:empty{display:none}
@media(max-width:600px){.cinema.inner .cinema-copy>p br{display:none}}
