.hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:610px;border-bottom:var(--strong)}h1{font-size:clamp(3rem,6vw,5.25rem);line-height:.98;letter-spacing:-.055em;margin-bottom:26px}.hero p{font-size:1.16rem;color:var(--slate);max-width:760px}.section-head{max-width:870px;margin-bottom:44px}@media(max-width:980px){body{padding:0}.site{border:0}.hero{grid-template-columns:1fr}.hero-side{border-left:0;border-top:var(--strong)}}@media(max-width:680px){.hero-copy,.hero-side,.section{padding:64px 20px}.actions{flex-direction:column}.btn{width:100%}}

.case-list{display:grid;gap:28px}.case{border:var(--strong);background:#fff}.case-head{display:grid;grid-template-columns:.8fr 1.2fr;border-bottom:var(--strong)}.case-meta{padding:30px;background:var(--surface);border-right:var(--strong)}.case-meta h3{font-size:1.7rem;line-height:1.18;margin:12px 0}.case-summary{padding:34px}.case-summary p{color:var(--slate)}.case-body{display:grid;grid-template-columns:repeat(4,1fr)}.case-body>div{padding:28px;border-right:var(--soft)}.case-body>div:last-child{border-right:0}.case-body h4{font-size:1rem;margin:8px 0}.case-body p{font-size:.92rem;color:var(--slate)}.notice{margin-top:22px;padding:16px 18px;border-left:5px solid var(--amber);background:#fff7ed;color:#7c2d12}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;border:var(--strong)}.about-grid>div{padding:42px}.about-grid>div+div{border-left:var(--strong)}.values{display:grid;grid-template-columns:repeat(2,1fr);border:var(--strong)}.value{padding:30px;border-right:var(--soft);border-bottom:var(--soft)}.value:nth-child(2n){border-right:0}.value:nth-last-child(-n/**/+2){border-bottom:0}.value h3{font-size:1.25rem;margin:10px 0}.credentials{display:grid;grid-template-columns:repeat(3,1fr);border:var(--strong)}.credential{padding:28px;border-right:var(--soft)}.credential:last-child{border-right:0}.credential strong{display:block;font-size:1.15rem;margin:8px 0}.manifesto{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.35;max-width:980px}.fit-grid{display:grid;grid-template-columns:1fr 1fr;border:var(--strong)}.fit-grid>div{padding:36px}.fit-grid>div+div{border-left:var(--strong)}.fit-grid ul{margin:18px 0 0 20px;color:var(--slate)}.fit-grid li{margin:8px 0}@media(max-width:980px){.case-head,.about-grid,.fit-grid{grid-template-columns:1fr}.case-meta{border-right:0;border-bottom:var(--strong)}.case-body{grid-template-columns:1fr 1fr}.case-body>div:nth-child(2n){border-right:0}.case-body>div{border-bottom:var(--soft)}.about-grid>div+div,.fit-grid>div+div{border-left:0;border-top:var(--strong)}.credentials{grid-template-columns:1fr}.credential{border-right:0;border-bottom:var(--soft)}.credential:last-child{border-bottom:0}}@media(max-width:680px){.case-body,.values{grid-template-columns:1fr}.case-body>div,.value{border-right:0;border-bottom:var(--soft)}.case-body>div:last-child,.value:last-child{border-bottom:0}}

.contact-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;border-bottom:var(--strong)}
.contact-copy{padding:92px 48px;background-image:radial-gradient(var(--grid) 1.2px,transparent 1.2px);background-size:24px 24px;display:flex;flex-direction:column;justify-content:center}
.contact-copy h1{font-size:clamp(3rem,6vw,5.25rem);line-height:.98;letter-spacing:-.055em;margin:16px 0 24px}.contact-copy p{font-size:1.14rem;color:var(--slate);max-width:720px}
.contact-panel{border-left:var(--strong);background:var(--surface);padding:48px 40px;display:flex;flex-direction:column;justify-content:center}
.expect{display:grid;gap:1px;background:var(--line);border:var(--soft);margin-top:26px}.expect div{background:#fff;padding:18px}.expect strong{display:block;margin-bottom:4px}
.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;border-bottom:var(--strong)}.contact-meta{padding:72px 48px;border-right:var(--strong)}.contact-meta h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.04em;margin:12px 0 18px}.contact-meta p{color:var(--slate)}
.form-wrap{padding:56px 48px;background:var(--surface)}form{background:#fff;border:var(--strong);padding:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:var(--soft);background:#fff;padding:13px 14px;color:var(--navy);outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,199,232,.22)}.help{font-size:.73rem;color:var(--muted)}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.status{display:none;margin-top:20px;padding:18px;border:1px solid var(--green);background:#f0fdf4;color:#14532d}.status.show{display:block}
.legal-hero{padding:88px 48px;border-bottom:var(--strong);background-image:radial-gradient(var(--grid) 1.2px,transparent 1.2px);background-size:24px 24px}.legal-hero h1{font-size:clamp(3rem,6vw,5rem);line-height:1;letter-spacing:-.05em;margin:14px 0 22px}.legal-hero p{font-size:1.08rem;color:var(--slate);max-width:760px}.legal-body{max-width:980px;padding:80px 48px}.legal-body h2{font-size:1.7rem;margin:36px 0 12px}.legal-body h3{font-size:1.15rem;margin:24px 0 8px}.legal-body p,.legal-body li{color:var(--slate)}.legal-body ul{margin:10px 0 18px 22px}.legal-note{border:var(--strong);background:var(--surface);padding:22px;margin:28px 0}.legal-date{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media(max-width:980px){.contact-hero,.contact-section{grid-template-columns:1fr}.contact-panel,.contact-meta{border-left:0;border-right:0;border-top:var(--strong)}.contact-section .contact-meta{border-top:0;border-bottom:var(--strong)}}
@media(max-width:680px){.contact-copy,.contact-panel,.contact-meta,.form-wrap,.legal-hero,.legal-body{padding:60px 20px}.form-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%}form{padding:24px}}

/* --- SITEWIDE INTERACTION REFINEMENTS --- */
header nav > a:not(.btn) { transition: color .18s var(--ease, ease), background-color .18s var(--ease, ease); }
header nav > a:not(.btn):hover,
header nav > a:not(.btn):focus-visible { color: var(--cyan) !important; text-decoration: none; }
.btn-primary:hover,
.btn-primary:focus-visible,
header nav .btn-primary:hover,
header nav .btn-primary:focus-visible { background: var(--cyan) !important; border-color: var(--cyan) !important; color: var(--navy) !important; text-decoration: none; }
.btn-secondary:hover,
.btn-secondary:focus-visible { background: var(--surface) !important; border-color: var(--cyan) !important; color: var(--navy) !important; text-decoration: none; }
footer a:hover, footer a:focus-visible { color: var(--cyan) !important; text-decoration: none; }
.card-link { display:block; color:inherit; text-decoration:none; position:relative; cursor:pointer; transition:background-color .2s var(--ease, ease), box-shadow .2s var(--ease, ease), transform .2s var(--ease, ease); }
.card-link::before { content:""; position:absolute; top:0; left:0; width:0; height:6px; background:var(--cyan); transition:width .22s var(--ease, ease); z-index:1; }
.card-link:hover, .card-link:focus-visible { background:var(--surface); box-shadow:inset 0 0 0 2px var(--navy); outline:none; transform:translateY(-2px); }
.card-link:hover::before, .card-link:focus-visible::before { width:100%; }
.card-link .text-link, .card-link .card-cta, .card-link .card-link-label { color:var(--navy); text-decoration:none !important; font-weight:700; transition:color .18s ease; }
.card-link:hover .text-link, .card-link:focus-visible .text-link,
.card-link:hover .card-cta, .card-link:focus-visible .card-cta,
.card-link:hover .card-link-label, .card-link:focus-visible .card-link-label { color:var(--cyan) !important; text-decoration:none !important; }
.card-link .text-link span, .card-link .card-cta span, .card-link .card-link-label span { display:inline-block; transition:transform .18s ease; }
.card-link:hover .text-link span, .card-link:focus-visible .text-link span,
.card-link:hover .card-cta span, .card-link:focus-visible .card-cta span,
.card-link:hover .card-link-label span, .card-link:focus-visible .card-link-label span { transform:translateX(4px); }

/* Contact header CTA contrast fix */
header nav .btn.btn-primary, header nav .btn.btn-primary[aria-current="page"] { background:var(--navy); border-color:var(--navy); color:#fff !important; }
header nav .btn.btn-primary:hover, header nav .btn.btn-primary:focus-visible { background:var(--cyan) !important; border-color:var(--cyan) !important; color:var(--navy) !important; }

.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--navy);font-weight:750;text-decoration:none;border-bottom:1.5px solid var(--cyan);padding:4px 0;transition:.2s var(--ease)}
.text-link:hover,.text-link:focus-visible{color:var(--slate);border-bottom-color:var(--navy);text-decoration:none}

/* Visual rhythm consistency fixes */










/* Contact form action layout refinement */
.marketing-consent.field.full{flex-direction:row;align-items:center;gap:10px;margin-top:2px;padding:2px 0 0}
.marketing-consent.field.full label{margin:0;font-size:.86rem;font-weight:500;line-height:1.45;color:var(--slate)}
.form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:24px}
.form-actions .help{margin:0;max-width:72ch}
.form-actions .btn{justify-self:end;white-space:nowrap}
@media(max-width:680px){.form-actions{grid-template-columns:1fr;align-items:stretch;gap:16px}.form-actions .btn{justify-self:stretch;width:100%}}

/* Contact-page anchor, consent, and unavailable-submission state */
#inquiry, #intake { scroll-margin-top: 112px; }
.marketing-consent{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0;border:0;background:transparent}
.marketing-consent input{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--navy)}
.marketing-consent label{font-size:.9rem;line-height:1.4;color:var(--slate);cursor:pointer}
.form-actions .help{margin:0 0 18px;max-width:70ch;font-size:.82rem;line-height:1.5;color:var(--muted)}
.form-actions .help a{color:inherit!important;font-weight:400!important;text-decoration-line:underline!important;text-decoration-color:rgba(100,116,139,.55)!important;text-decoration-thickness:1px!important;text-underline-offset:.18em}
.form-actions .help a:hover{color:var(--navy)!important;text-decoration-color:currentColor!important}
#contact-form button[type="submit"]:disabled { opacity: .62; cursor: not-allowed; }
@media(max-width:980px){ #inquiry, #intake { scroll-margin-top: 104px; } }

/* Contact-page supporting elements */
.contact-panel-title{font-size:1.75rem;line-height:1.15;margin:12px 0 0}
.direct-contact{margin-top:18px;font-weight:650}
.direct-contact a,.status a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.direct-contact a:hover,.status a:hover{color:var(--slate)}

/* Production contact-form states */
.field-error{min-height:1.15em;margin:0;font-size:.76rem;line-height:1.35;color:#9f1239}
.field.has-error input,.field.has-error select,.field.has-error textarea,[aria-invalid="true"]{border-color:#be123c!important;box-shadow:0 0 0 3px rgba(190,18,60,.12)}
.status-error{border-color:#be123c;background:#fff1f2;color:#881337}
.status-success{border-color:var(--green);background:#f0fdf4;color:#14532d}
.status p{margin:.35rem 0 0}.status a{color:inherit}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.turnstile-field{margin-top:2px}.cf-turnstile{min-height:65px}
#contact-form button[aria-busy="true"]{cursor:wait;opacity:.75}
