/* Brand fonts: drop the two woff2 files in /fonts/ on the live domain and these load first. */
@font-face{font-family:"Bastia";src:url("/fonts/bastia-bold-webfont.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("/fonts/neuemontreal-regular-webfont.woff2") format("woff2");font-weight:400;font-display:swap}

:root{
  --navy:#151840; --orange:#E97C26; --white:#FFFFFF; --gray-1:#F4F5F8; --gray-2:#B8BCC9;
  --navy-70:#4A4D6E; --orange-deep:#C4611A; --navy-deep:#0F1233;
  --display:Bastia, Cinzel, Georgia, "Times New Roman", serif;
  --body:"Neue Montreal", Montserrat, Arial, Helvetica, sans-serif;
  --wrap:1120px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--white);color:var(--navy);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--orange)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
@media (max-width:480px){.wrap{padding-inline:18px}body{font-size:16px}}

h1,h2,h3{font-family:var(--display);font-weight:700;color:var(--navy);text-wrap:balance;margin:0;letter-spacing:.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.12}
h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.18}
h3{font-size:1.15rem;line-height:1.3}
p{margin:0}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.lede{font-size:1.15rem;color:var(--navy-70);max-width:58ch}
.rule{width:56px;height:3px;background:var(--orange);border:0;margin:0}

.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--orange);color:var(--white);font-weight:600;font-size:1rem;text-decoration:none;padding:.95em 1.6em;border-radius:3px;transition:background .15s, transform .15s}
.btn:hover{background:#d26b1a;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn-ghost:hover{background:var(--navy);color:var(--white)}
.btn svg{width:16px;height:16px}

.mark{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--navy);text-decoration:none;line-height:1.2}
.mark small{display:block;font-family:var(--body);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-70)}

/* Hero */
.hero{padding-block:72px 88px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-copy{display:grid;gap:24px}
.hero .wrap>*,.hero-copy>*{min-width:0} /* fix: long hero content forced horizontal scroll on phones */
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-note{font-size:.85rem;color:var(--navy-70)}
@media (max-width:900px){.hero{padding-block:48px 64px}.hero .wrap{grid-template-columns:1fr;gap:40px}}

/* The check */
.check{background:var(--white);border:1px solid var(--gray-2);border-radius:4px;padding:26px 26px 22px;box-shadow:0 18px 40px -24px rgba(21,24,64,.45);font-size:.82rem;color:var(--navy-70);position:relative;transform:rotate(-1.2deg);max-width:440px;justify-self:end;width:100%}
.check::before{content:"";position:absolute;inset:0;border-radius:4px;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(21,24,64,.025) 10px 11px);pointer-events:none}
.check-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.check-firm{font-family:var(--display);font-weight:700;color:var(--navy);font-size:.95rem;line-height:1.3}
.check-no{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.check-line{display:flex;align-items:flex-end;gap:10px;margin-top:22px}
.check-line span.label{white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.check-line .fill{flex:1;border-bottom:1px solid var(--navy);padding:0 4px 3px;color:var(--navy);font-size:.95rem;font-weight:500;min-height:1.6em}
.amount{border:1px solid var(--navy);padding:4px 10px;color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums;font-size:1rem}
.memo .fill{color:var(--orange);font-weight:600}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--orange);vertical-align:-2px;margin-left:2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.micr{margin-top:22px;font-family:"Courier New",monospace;letter-spacing:.2em;font-size:.78rem;color:var(--navy-70)}
.check-caption{margin-top:14px;font-size:.82rem;color:var(--navy-70);max-width:440px;justify-self:end;text-align:right}
.check-col{display:grid;min-width:0}
.check-col>*{min-width:0}
@media (max-width:900px){.check,.check-caption{justify-self:start;text-align:left}.check{transform:none}}
@media (max-width:480px){.check{padding:20px 16px 18px}.check-line{flex-wrap:wrap}.check-line .fill{min-width:60%}}

/* Sections */
section{padding-block:88px}
@media (max-width:700px){section{padding-block:60px}}
.sec-head{display:grid;gap:16px;margin-bottom:44px;max-width:760px}
.band{background:var(--gray-1)}
.navy{background:var(--navy);color:var(--white)}
.navy h2,.navy h3{color:var(--white)}
.navy .lede{color:var(--gray-2)}

/* Symptoms */
.symptoms{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.symptom{display:grid;grid-template-columns:22px 1fr;gap:14px;padding-block:22px;border-top:1px solid var(--gray-2)}
.symptom svg{width:20px;height:20px;margin-top:4px;color:var(--orange)}
.symptom p{color:var(--navy-70)}
.symptom strong{color:var(--navy);display:block;margin-bottom:4px;font-weight:600}
@media (max-width:760px){.symptoms{grid-template-columns:1fr}}

/* Calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--gray-2);border-radius:4px;overflow:hidden;background:var(--white)}
.calc-in{padding:32px;display:grid;gap:20px;align-content:start}
.calc-in .tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-70);font-weight:600}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.92rem}
.field .hint{font-size:.8rem;color:var(--navy-70)}
.input{display:flex;align-items:center;border:1.5px solid var(--gray-2);border-radius:3px;background:var(--white);transition:border-color .15s}
.input:focus-within{border-color:var(--navy)}
.input span{padding-left:12px;color:var(--navy-70);font-weight:500}
.input input{flex:1;min-width:0;border:0;background:transparent;padding:11px 12px;font:inherit;font-size:1.05rem;color:var(--navy);font-variant-numeric:tabular-nums;outline:none}
.calc-out{background:var(--navy);color:var(--white);padding:32px;display:grid;gap:22px;align-content:start}
.stat{display:grid;gap:2px;padding-bottom:18px;border-bottom:1px solid rgba(184,188,201,.25)}
.stat:last-of-type{border-bottom:0;padding-bottom:0}
.stat .k{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-2);font-weight:600}
.stat .v{font-family:var(--display);font-weight:700;font-size:2rem;line-height:1.15;font-variant-numeric:tabular-nums}
.stat .v.hot{color:var(--orange)}
.stat .s{font-size:.85rem;color:var(--gray-2)}
.bench{font-size:.82rem;color:var(--gray-2);border-left:3px solid var(--orange);padding-left:12px}
@media (max-width:820px){.calc{grid-template-columns:1fr}.calc-in,.calc-out{padding:24px}}

/* Decision split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.split-col{border-top:3px solid var(--navy);padding-top:22px;display:grid;gap:16px;align-content:start}
.split-col.cmo{border-top-color:var(--orange)}
.split-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.split-col li{display:grid;grid-template-columns:18px 1fr;gap:10px;color:var(--navy-70)}
.split-col li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--navy)}
.split-col.cmo li::before{background:var(--orange)}
.split-foot{margin-top:36px;padding:20px 24px;background:var(--gray-1);border-radius:3px;max-width:760px}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* 90 days */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(184,188,201,.35)}
.phase{padding:28px 28px 8px 0;display:grid;gap:12px;align-content:start}
.phase+.phase{padding-left:28px;border-left:1px solid rgba(184,188,201,.35)}
.phase .days{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:600;font-variant-numeric:tabular-nums}
.phase p{color:var(--gray-2)}
@media (max-width:860px){.phases{grid-template-columns:1fr}.phase,.phase+.phase{padding:24px 0 8px;border-left:0;border-top:1px solid rgba(184,188,201,.35)}}

/* Proof */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.case{border:1px solid var(--gray-2);border-radius:4px;padding:30px;display:grid;gap:16px;align-content:start;background:var(--white)}
.case .meta{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:.74rem;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:2px;background:var(--gray-1);color:var(--navy)}
.case p{color:var(--navy-70)}
.case ul{margin:0;padding-left:18px;color:var(--navy-70);display:grid;gap:4px}
.case .built{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--navy)}
@media (max-width:820px){.cases{grid-template-columns:1fr}}

/* Credentials */
.creds{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:8px}
.cred .n{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--orange);line-height:1.1;font-variant-numeric:tabular-nums}
.cred p{color:var(--navy-70);font-size:.95rem;margin-top:6px}
.tenure{margin-top:52px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding-top:32px;border-top:1px solid var(--gray-2)}
.bars{display:grid;gap:12px;min-width:0}
.bar{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;font-size:.9rem}
.bar .track{height:12px;background:var(--gray-1);border-radius:2px;overflow:hidden}
.bar .track i{display:block;height:100%}
.bar b{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
@media (max-width:860px){.creds{grid-template-columns:repeat(2,1fr)}.tenure{grid-template-columns:1fr}}
@media (max-width:480px){.bar{grid-template-columns:1fr auto}.bar .track{grid-column:1/-1;grid-row:2}}

/* Bar rules */
.ethics{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
.ethics ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ethics li{padding:16px 0;border-top:1px solid var(--gray-2);display:grid;grid-template-columns:22px 1fr;gap:12px;color:var(--navy-70)}
.ethics li svg{width:18px;height:18px;margin-top:4px;color:var(--navy)}
@media (max-width:820px){.ethics{grid-template-columns:1fr;gap:28px}}

/* FAQ */
.faq{max-width:820px;display:grid}
.faq details{border-top:1px solid var(--gray-2)}
.faq details:last-child{border-bottom:1px solid var(--gray-2)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:1.08rem}
.faq summary .pm{flex:none;width:26px;height:26px;border:1.5px solid var(--navy);border-radius:50%;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--navy);transform:translate(-50%,-50%)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] .pm{background:var(--orange);border-color:var(--orange)}
.faq details[open] .pm::before,.faq details[open] .pm::after{background:var(--white)}
.faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq .a{padding:0 0 24px;color:var(--navy-70);max-width:68ch;display:grid;gap:10px}

/* Close */
.close .wrap{display:grid;gap:26px;justify-items:start;max-width:860px}
.close h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.phone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--gray-2);font-size:.95rem}
.phone b{color:var(--white);font-variant-numeric:tabular-nums;letter-spacing:.04em;user-select:all;font-weight:600}
.copy{background:transparent;border:1px solid var(--gray-2);color:var(--gray-2);font:inherit;font-size:.8rem;padding:4px 10px;border-radius:2px;cursor:pointer}
.copy:hover{color:var(--white);border-color:var(--white)}
.close .btn-ghost{color:var(--white);border-color:var(--gray-2)}
.close .btn-ghost:hover{background:var(--white);color:var(--navy)}


.crumbs{font-size:.8rem;color:var(--navy-70)}
.crumbs a{color:var(--navy-70)}
.profile{border:1px solid var(--gray-2);border-radius:4px;padding:26px;display:grid;gap:0;align-self:start;background:var(--white);box-shadow:0 18px 40px -26px rgba(21,24,64,.4)}
.profile .ph{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-70);padding-bottom:14px;border-bottom:3px solid var(--orange)}
.profile dl{margin:0;display:grid}
.profile dl>div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--gray-1)}
.profile dl>div:last-child{border-bottom:0}
.profile dt{font-size:.8rem;color:var(--navy-70)}
.profile dd{margin:0;font-weight:600;font-size:.95rem}
@media (max-width:420px){.profile dl>div{grid-template-columns:1fr;gap:2px}}
.diffs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.diff{padding-block:24px;border-top:1px solid var(--gray-2);display:grid;gap:8px;align-content:start}
.diff p{color:var(--navy-70)}
@media (max-width:760px){.diffs{grid-template-columns:1fr}}
.owns{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 48px}
.owns li{display:grid;grid-template-columns:18px 1fr;gap:10px;color:var(--gray-2)}
.owns li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--orange)}
.owns li b{color:var(--white);font-weight:600}
@media (max-width:760px){.owns{grid-template-columns:1fr}}
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.hub a{display:grid;gap:12px;align-content:start;padding:28px;border:1px solid var(--gray-2);border-radius:4px;text-decoration:none;color:var(--navy);background:var(--white);transition:border-color .15s, transform .15s}
.hub a:hover{border-color:var(--orange);transform:translateY(-2px)}
.hub .how{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--orange)}
.hub p{color:var(--navy-70);font-size:.95rem}
.hub .go{font-weight:600;font-size:.9rem;color:var(--navy)}
.first30{counter-reset:s;display:grid;gap:0;max-width:820px}
.first30 li{list-style:none;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--gray-2);color:var(--navy-70)}
.first30 li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--display);font-weight:700;color:var(--orange);font-size:1.1rem}
.first30 li b{color:var(--navy)}
.assume{font-size:.78rem;color:var(--navy-70)}

.hook{font-family:var(--display);font-weight:700;font-size:clamp(1.12rem,2vw,1.4rem);line-height:1.35;color:var(--navy);border-left:3px solid var(--orange);padding-left:16px;max-width:40ch;text-wrap:balance}
.navy .hook{color:var(--white)}

/* =========================================================
   GLOBAL HEADER  (markup: /partials/header.html)
   ========================================================= */
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--navy);color:var(--white);padding:10px 14px;border-radius:3px;font-weight:600;font-size:.9rem;text-decoration:none}
.skip:focus{top:12px}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--gray-1)}
.top .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.mark{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--navy);text-decoration:none;line-height:1.2}
.mark small{display:block;font-family:var(--body);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-70)}
.top .btn{padding:.65em 1.1em;font-size:.9rem;white-space:nowrap}
.nav{display:flex;align-items:center;gap:22px}
.nav a.link{color:var(--navy);text-decoration:none;font-weight:600;font-size:.9rem}
.nav a.link:hover,.nav a.link[aria-current]{color:var(--orange-deep)}
.nav-dd{position:relative}
.nav-dd>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:600;font-size:.9rem;padding:8px 0;user-select:none}
.nav-dd>summary::-webkit-details-marker{display:none}
.nav-dd>summary:hover,.nav-dd[open]>summary,.nav-dd.is-active>summary{color:var(--orange-deep)}
.nav-dd .chev{width:12px;height:12px;transition:transform .15s}
.nav-dd[open] .chev{transform:rotate(180deg)}
.nav-dd .burger{display:none;width:22px;height:22px}
.dd-panel{position:absolute;right:0;top:calc(100% + 12px);width:340px;background:var(--white);border:1px solid var(--gray-2);border-top:3px solid var(--orange);border-radius:4px;box-shadow:0 24px 48px -24px rgba(21,24,64,.45);padding:8px}
.dd-panel ul{list-style:none;margin:0;padding:0;display:grid}
.dd-panel a{display:grid;gap:1px;padding:10px 12px;border-radius:3px;text-decoration:none;color:var(--navy)}
.dd-panel a b{font-weight:600;font-size:.95rem}
.dd-panel a span{font-size:.78rem;color:var(--navy-70)}
.dd-panel a:hover{background:var(--gray-1)}
.dd-panel a[aria-current]{background:var(--gray-1)}
.dd-panel a[aria-current] b{color:var(--orange-deep)}
.dd-panel .dd-all{border-top:1px solid var(--gray-1);margin-top:6px;padding-top:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:560px){
  .nav{gap:10px}
  .nav-dd{position:static}
  .nav-dd .dd-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .nav-dd .chev{display:none}
  .nav-dd .burger{display:block}
  .nav-dd>summary{padding:7px;border:1.5px solid var(--gray-2);border-radius:3px}
  .dd-panel{left:12px;right:12px;width:auto;top:calc(100% + 1px);max-height:calc(100vh - 90px);overflow:auto}
  .top .btn{padding:.6em .9em;font-size:.85rem}
}

/* =========================================================
   RELATED PRACTICE AREAS  (generated by build.py)
   ========================================================= */
.hub.hub-4{grid-template-columns:repeat(4,1fr);gap:20px}
.hub.hub-4 a{padding:22px}
.related-foot{margin-top:28px;font-size:.95rem;color:var(--navy-70)}
.related-foot a{color:var(--navy);font-weight:600}
.related-foot a:hover{color:var(--orange-deep)}
@media (max-width:1000px){.hub.hub-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.hub.hub-4{grid-template-columns:1fr}}

/* =========================================================
   GLOBAL FOOTER  (markup: /partials/footer.html)
   ========================================================= */
.site-footer{background:var(--navy-deep);color:var(--gray-2);font-size:.9rem;padding-block:56px 28px}
.site-footer a{color:var(--gray-2);text-decoration:none}
.site-footer a:hover,.site-footer a[aria-current]{color:var(--white)}
.site-footer a[aria-current]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.f-brand .mark{color:var(--white)}
.f-brand .mark small{color:var(--gray-2)}
.f-brand p{margin-top:14px;max-width:34ch;line-height:1.55}
.f-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--white);margin-bottom:14px}
.f-links{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.f-contact{display:grid;gap:12px;align-content:start;justify-items:start}
.site-footer .btn{color:var(--white);padding:.7em 1.2em;font-size:.9rem}
.f-contact .tel{color:var(--white);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.f-base{margin-top:44px;padding-top:20px;border-top:1px solid rgba(184,188,201,.2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.8rem}
@media (max-width:900px){.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.f-grid{grid-template-columns:1fr;gap:32px}}
