/* Site theme matching the scroll-story homepage (2026-10-08): sticky header, scene page-heads,
   frosted navy title cards, light content cards with navy/gold line art. Loaded on every page. */
/* sticky header that collapses on scroll (all pages) */
body .site-header{position:sticky;top:0;z-index:60;transition:padding .28s ease,margin .28s ease,box-shadow .28s ease}
body .site-header .brand img{transition:width .28s ease}
body.is-scrolled .site-header{padding-top:8px;padding-bottom:8px;margin-bottom:var(--hdr-gap,0px);box-shadow:0 4px 18px rgba(6,31,68,.14)}
body.is-scrolled .site-header .brand img{width:118px}
body.hdr-measuring .site-header,body.hdr-measuring .site-header .brand img{transition:none!important}
@media (max-width:700px){body.is-scrolled .site-header .brand img{width:104px}}

/* ---- page hero: a band of the homepage scene behind a frosted navy title card ---- */
.phero{position:relative;min-height:clamp(440px,62vh,640px);display:flex;align-items:center;justify-content:center;padding:56px 24px;overflow:hidden;background:linear-gradient(135deg,#061f44,var(--slate-x) 60%,#14427a);isolation:isolate}
.phero__scene{position:absolute;left:0;right:0;bottom:0;height:calc(100% / 0.64);z-index:-1}
.phero__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease}
.phero__canvas.is-live{opacity:1}
.phero__card{max-width:720px;width:100%;text-align:center;background:rgba(10,42,87,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:28px 40px 32px;box-shadow:0 18px 50px rgba(6,31,68,.22);color:#fff}
.phero__card .story__art{width:clamp(150px,22vh,220px);margin:0 auto 14px}
.phero__h{color:#fff;font-family:var(--display);font-size:clamp(32px,4.2vw,52px);line-height:1.08;margin:0 0 .4em;text-wrap:balance}
.phero__p{color:#d3dff0;font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:580px;margin:0 auto 18px}
.phero .story__ctas{justify-content:center}
@media (max-width:700px){.phero{min-height:420px;padding:36px 16px}.phero__card{padding:20px 18px 24px;border-radius:16px}}
@media (prefers-reduced-motion:reduce){.phero__canvas{transition:none;opacity:1}}

/* ---- content sections + cards ---- */
.tsec{padding:72px 24px;background:var(--grey)}
.tsec--white{background:#fff}
.tsec__inner{max-width:var(--wrap);margin:0 auto}
.tsec__head{text-align:center;max-width:720px;margin:0 auto 40px}
.tsec__head h2{font-size:clamp(28px,3vw,40px);margin-bottom:.3em}
.tsec__head p{color:#3a4147;margin:0}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tgrid--2{grid-template-columns:repeat(2,1fr)}
.tcard{background:#fff;border-radius:18px;padding:30px 30px 32px;box-shadow:0 10px 30px rgba(10,42,87,.08);border:1px solid #e3e9f1;display:flex;flex-direction:column}
.tsec--white .tcard{background:var(--grey);box-shadow:none}
.tcard h3{font-size:24px;margin:0 0 .35em}
.tcard p{color:#3a4147;margin:0 0 14px}
.tcard .tart{width:150px;margin:0 0 14px}
.tcard--center{text-align:center;align-items:center}
.tcard--center .tart{margin:0 auto 14px}
.tcard__link{margin-top:auto;font-weight:600;color:var(--primary);text-decoration:none}
.tcard__link:hover{text-decoration:underline}
a.tcard{text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
a.tcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,42,87,.14)}
@media (max-width:980px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tgrid,.tgrid--2{grid-template-columns:1fr}.tsec{padding:52px 16px}}

/* ---- line art on light backgrounds (same drawings as the homepage story, navy + gold) ---- */
.tart svg{display:block;width:100%;height:auto;overflow:visible}
.tart .ln{fill:none;stroke:var(--slate-x);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tart .dim{stroke:rgba(10,42,87,.35);stroke-width:2.5}
.tart .gd{fill:none;stroke:#c99a45;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.tart .gdf{fill:#d9b26f}
.tart .lnf{fill:var(--primary)}
.tart .dimf{fill:rgba(29,114,184,.35)}
.tart .hl{opacity:.35}
.tart .tick{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tart .count{font-family:var(--display);font-weight:700;font-size:20px;fill:var(--slate-x)}
.tart .lbl{font-family:var(--font);font-weight:700;font-size:9px;letter-spacing:1.4px;fill:var(--primary)}
/* dark variant inside the frosted hero card reuses the homepage story colours */
.tart--dark .ln{stroke:#cfe3f7}.tart--dark .dim{stroke:rgba(207,227,247,.45)}.tart--dark .gd{stroke:var(--accent)}.tart--dark .lnf{fill:#9cc8f0}.tart--dark .dimf{fill:rgba(156,200,240,.45)}.tart--dark .tick{stroke:var(--slate-x)}.tart--dark .count{fill:#fff}.tart--dark .lbl{fill:#9cc8f0}
.tart--dark.story__art .sweep-hand{transform:none}

/* about */
.about2{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.about2__photo img{width:100%;max-width:420px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:6px solid var(--accent);box-shadow:0 24px 50px rgba(10,42,87,.18);display:block;margin:0 auto}
.about2__text h2{font-size:clamp(28px,3vw,38px);color:var(--secondary)}
.about2__text p{color:#3a4147}
.tcard__eyebrow{display:block;margin-bottom:8px}
.tcard__title{font-size:26px;margin:0 0 16px}
.episode2 img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:0 0 16px}
.tgrid--contact{grid-template-columns:.8fr 1.2fr;align-items:start}
.tgrid--contact a{color:var(--primary)}
@media (max-width:860px){.about2,.tgrid--contact{grid-template-columns:1fr}}

/* services */
.tabs2{padding:0;max-width:none}
.tabs2 .tabs__list button{border-radius:999px}
.svc2-head{flex-direction:row;gap:28px;align-items:center;margin-bottom:24px}
.svc2-head .tart{flex:0 0 180px;margin:0}
.svc2-head h2{font-size:clamp(26px,2.6vw,34px);margin:0 0 .3em}
.svc2-head p{margin:0}
@media (max-width:700px){.svc2-head{flex-direction:column;text-align:center}}
/* legal */
.legal2{max-width:820px;margin:0 auto;padding:40px 48px}
@media (max-width:640px){.legal2{padding:26px 20px}}
/* quote forms */
.tgrid--quote{grid-template-columns:.7fr 1.3fr}
.tgrid--quote a{color:var(--primary)}
@media (max-width:860px){.tgrid--quote{grid-template-columns:1fr}}
.phero__scene--fit{top:0;height:auto}

/* about: portrait rises halfway up into the scene banner */
.about2-sec{position:relative;z-index:2;padding-top:40px}
.about2{align-items:start}
.about2__photo{margin-top:calc(-1 * (clamp(440px,62vh,640px) / 4 + 40px))}   /* portrait overlaps the bottom quarter of the banner */
.about2__photo img{animation:about-rise 1.3s cubic-bezier(.2,.7,.2,1) .25s both;background:#fff}
@keyframes about-rise{from{transform:translateY(140px);opacity:0}to{transform:none;opacity:1}}
.about2__text{padding-top:16px}
.about2__h1{font-size:clamp(36px,4vw,52px);margin:0 0 .15em;color:var(--secondary)}
.about2__text h2{font-size:clamp(22px,2.2vw,28px);color:var(--primary);margin-bottom:.8em}
.about2-sec .story__eyebrow{color:#a77d34}
@media (max-width:860px){.about2__photo{margin-top:-140px}.about2__photo img{max-width:280px}.about2__text{text-align:center}}
@media (prefers-reduced-motion:reduce){.about2__photo img{animation:none}}
/* about: label + heading rise in just after the portrait */
.about2__text>.story__eyebrow,.about2__h1{animation:about-rise-text .9s cubic-bezier(.2,.7,.2,1) both}
.about2__text>.story__eyebrow{animation-delay:.6s}
.about2__h1{animation-delay:.8s}
@keyframes about-rise-text{from{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.about2__text>.story__eyebrow,.about2__h1{animation:none}}
/* reveal on scroll ([data-reveal] grids) */
.reveal--armed>*{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal--armed>.is-in{opacity:1;transform:none}
.legal2__h1{font-size:clamp(32px,3.6vw,44px);margin:0 0 .15em}
.legal2__date{color:#6a7480;margin:0 0 24px!important}

/* services: category cards as tabs */
.cattabs__list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 36px}
.catcard{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:2px solid #e3e9f1;border-radius:18px;padding:22px 16px 18px;cursor:pointer;font:inherit;color:var(--secondary);box-shadow:0 10px 30px rgba(10,42,87,.06);transition:transform .2s ease,box-shadow .2s ease,background .25s ease,border-color .25s ease}
.catcard:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(10,42,87,.12)}
.catcard .tart{width:clamp(96px,10vw,140px);margin:0}
.catcard__label{font-family:var(--display);font-weight:600;font-size:22px}
.catcard[aria-selected=true]{background:var(--slate-x);border-color:var(--accent);color:#fff;box-shadow:0 18px 40px rgba(10,42,87,.25)}
.catcard[aria-selected=true] .ln{stroke:#cfe3f7}.catcard[aria-selected=true] .dim{stroke:rgba(207,227,247,.45)}
.catcard[aria-selected=true] .gd{stroke:var(--accent)}.catcard[aria-selected=true] .lnf{fill:#9cc8f0}.catcard[aria-selected=true] .dimf{fill:rgba(156,200,240,.45)}
.catcard[aria-selected=true] .tick{stroke:var(--slate-x)}
.catcard:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.catpanel__head{text-align:center;max-width:760px;margin:0 auto 28px}
.catpanel__head h2{font-size:clamp(28px,3vw,38px);margin:0 0 .3em}
.catpanel__head p{color:#3a4147;margin:0}
.catpanel__grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.catpanel__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.cattabs__list{grid-template-columns:repeat(2,1fr);gap:12px}.catcard__label{font-size:18px}.catpanel__grid{grid-template-columns:1fr}}
