/* Kataria Law Chambers — site.css
   Layout: porcelain reading surface, oxblood bands for hero / feature / footer (~30% of page), bronze only on interactive things and hairlines. */
@font-face{font-family:"Bodoni Moda";src:url("../fonts/bodoni-moda-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("../fonts/bodoni-moda-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("../fonts/bodoni-moda-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --oxblood:#3A1420; --oxblood-2:#4B1C2A; --oxblood-3:#7A2E3D;
  --bronze:#C9A274; --bronze-lt:#DDBF94; --bronze-deep:#7D5B30;
  --ink:#0E1C2E; --porcelain:#F3F2F0; --paper:#FBFAF9; --rose:#D2B4B9; --graphite:#55565E;
  --line:#DEDBD6; --line-dark:rgba(201,162,116,.22); --green:#2E6B4F; --alert:#8C2F1F;
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
  --wrap:1200px; --gutter:max(20px,env(safe-area-inset-left,0px));
  --header-h:88px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;font-weight:400;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--bronze-deep);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--oxblood-3)}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,5vw,3.9rem)}
h2{font-size:clamp(1.85rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem)}
h4{font-size:1.2rem}
h1 em,h2 em,h3 em{font-style:italic;color:var(--bronze-deep)}
.on-dark h1 em,.on-dark h2 em,.on-dark h3 em{color:var(--bronze)}
p{margin:0}
.lede{font-size:1.2rem;line-height:1.6;color:var(--graphite);max-width:60ch}
.on-dark .lede{color:var(--rose)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.prose{max-width:68ch}
.prose > * + *{margin-top:1.1em}
.prose h2{margin-top:2em;font-size:clamp(1.6rem,2.6vw,2.05rem)}
.prose h3{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li + li{margin-top:.4em}
.skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--bronze);color:var(--ink);padding:10px 16px}
.skip:focus{left:12px}
.label{font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-deep)}
.on-dark .label{color:var(--bronze)}
.leaf{display:inline-block;width:.9em;height:.9em;vertical-align:-.08em;fill:currentColor}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--body);font-weight:600;font-size:.95rem;letter-spacing:.02em;padding:.9em 1.5em;border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform 160ms var(--ease),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--bronze);color:var(--oxblood)}
.btn-primary:hover{background:var(--bronze-lt);color:var(--oxblood)}
.btn-dark{background:var(--oxblood);color:var(--porcelain)}
.btn-dark:hover{background:var(--oxblood-3);color:#fff}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.on-dark .btn-ghost{color:var(--porcelain);border-color:rgba(243,242,240,.45)}
.on-dark .btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}
.btn-ghost:hover{color:var(--oxblood-3)}
.btn svg{width:1.05em;height:1.05em}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--oxblood);color:var(--porcelain);border-bottom:1px solid var(--line-dark);padding-top:env(safe-area-inset-top,0px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h);transition:min-height 240ms var(--ease)}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:76px;width:auto;transition:height 240ms var(--ease)}
.site-header.scrolled .wrap{min-height:68px}
.site-header.scrolled .brand img{height:54px}
.nav{display:flex;align-items:center;gap:6px}
.nav > ul{display:flex;list-style:none;margin:0;padding:0;gap:2px}
.nav a.nav-link,.nav button.nav-link{display:block;color:var(--porcelain);text-decoration:none;font-size:.92rem;font-weight:500;padding:10px 12px;background:none;border:0;font-family:inherit;cursor:pointer}
.nav a.nav-link:hover,.nav button.nav-link:hover,.nav a[aria-current="page"]{color:var(--bronze)}
.nav .has-menu{position:relative}
.nav .has-menu > button::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:8px;vertical-align:3px}
.submenu{position:absolute;top:100%;left:-12px;min-width:290px;background:var(--paper);color:var(--ink);list-style:none;margin:0;padding:10px;border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(14,28,46,.45);opacity:0;visibility:hidden;transform:translateY(6px) scale(.98);transform-origin:top left;transition:opacity 180ms var(--ease),transform 180ms var(--ease),visibility 0s 180ms}
.has-menu:hover .submenu,.has-menu:focus-within .submenu,.has-menu.open .submenu{opacity:1;visibility:visible;transform:none;transition:opacity 180ms var(--ease),transform 180ms var(--ease)}
.submenu a{display:block;padding:9px 12px;color:var(--ink);text-decoration:none;font-size:.95rem}
.submenu a small{display:block;color:var(--graphite);font-size:.8rem}
.submenu a:hover{background:var(--porcelain);color:var(--oxblood-3)}
.nav .btn{margin-left:10px;padding:.75em 1.2em}
.menu-toggle{display:none;background:none;border:1px solid var(--line-dark);color:var(--porcelain);width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:1.5px;background:currentColor;position:relative;transition:transform 200ms var(--ease),background 200ms}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.menu-toggle[aria-expanded="true"] span{background:transparent}
.menu-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1060px){
  :root{--header-h:76px}
  .brand img{height:60px}
  .menu-toggle{display:inline-flex}
  .nav{position:fixed;inset:var(--nav-top,76px) 0 0 0;background:var(--oxblood);flex-direction:column;align-items:stretch;padding:12px max(20px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform 260ms var(--ease),visibility 0s 260ms}
  .nav.open{transform:none;visibility:visible;transition:transform 260ms var(--ease)}
  .nav > ul{flex-direction:column}
  .nav a.nav-link,.nav button.nav-link{font-size:1.15rem;padding:14px 4px;border-bottom:1px solid var(--line-dark);width:100%;text-align:left}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;display:none;background:transparent;border:0;box-shadow:none;padding:0 0 8px 12px;min-width:0}
  .has-menu.open .submenu{display:block}
  .submenu a{color:var(--rose)}
  .submenu a small{color:rgba(210,180,185,.7)}
  .submenu a:hover{background:transparent;color:var(--bronze)}
  .nav .btn{margin:18px 0 0}
}

/* Hero */
.hero{position:relative;background:var(--oxblood);color:var(--porcelain);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 78% 45%,rgba(122,46,61,.55),transparent 70%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:center;padding-block:64px 40px;min-height:min(640px,calc(100svh - var(--header-h)))}
.hero-copy{display:grid;gap:22px;align-content:center;position:relative;z-index:2}
.hero-copy h1{max-width:15ch}
.hero-copy .lede{max-width:44ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-visual{position:relative;aspect-ratio:1/1;width:100%;max-width:600px;justify-self:end}
.hero-visual canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.globe-fallback{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(201,162,116,.25),transparent 55%),radial-gradient(circle,rgba(122,46,61,.6),rgba(58,20,32,0) 70%)}
.globe-ready .globe-fallback{opacity:0;transition:opacity 600ms ease}
.globe-caption{position:absolute;left:50%;transform:translateX(-50%);bottom:0;white-space:nowrap;z-index:2;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);display:flex;gap:8px;align-items:center}
.globe-caption i{width:8px;height:8px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 4px rgba(201,162,116,.18)}
.courts{border-top:1px solid var(--line-dark)}
.courts ul{list-style:none;margin:0;padding:18px 0;display:flex;flex-wrap:wrap;gap:10px 34px;font-size:.88rem;color:var(--rose)}
.courts li{display:flex;align-items:center;gap:10px}
.courts .leaf{color:var(--bronze)}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding-block:36px 24px;min-height:0}
  .hero-visual{max-width:min(250px,62vw);justify-self:center;order:-1;margin-bottom:-6px}
  .globe-caption{display:none}
  .hero-copy{gap:16px}
  .hero-copy h1{max-width:none}
}

/* Page hero (inner pages) */
.page-hero{background:var(--oxblood);color:var(--porcelain);padding-block:56px 52px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid var(--line-dark);box-shadow:0 0 0 60px rgba(201,162,116,.03),0 0 0 120px rgba(201,162,116,.02)}
.page-hero .wrap{display:grid;gap:16px;position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem);max-width:22ch}
.crumbs{font-size:.85rem;color:var(--rose)}
.crumbs a{color:var(--rose);text-decoration:none}
.crumbs a:hover{color:var(--bronze)}
.crumbs span[aria-hidden]{margin:0 8px;opacity:.6}
.crumbs span[aria-current]{color:var(--porcelain)}

/* Sections */
.section{padding-block:clamp(64px,8vw,104px)}
.section-tight{padding-block:clamp(48px,6vw,72px)}
.section-head{display:grid;gap:14px;margin-bottom:40px;max-width:62ch}
.band{background:var(--oxblood);color:var(--porcelain)}
.band-paper{background:var(--paper);border-block:1px solid var(--line)}

/* Practice bento */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.tile{position:relative;display:grid;align-content:space-between;gap:28px;padding:26px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:210px;overflow:hidden;transition:border-color 200ms ease,transform 200ms var(--ease)}
.tile h3{font-size:1.45rem}
.tile p{color:var(--graphite);font-size:.96rem;margin-top:8px}
.tile .go{font-size:.88rem;font-weight:600;color:var(--bronze-deep);display:flex;align-items:center;gap:8px}
.tile .go::after{content:"→";transition:transform 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.tile:hover{border-color:var(--bronze);transform:translateY(-3px)}.tile:hover .go::after{transform:translateX(4px)}}
.tile-feature{grid-column:span 3;grid-row:span 2;background:var(--oxblood-2);color:var(--porcelain);border-color:transparent;min-height:440px}
.tile-feature p{color:var(--rose);font-size:1.02rem}
.tile-feature h3{font-size:clamp(1.8rem,2.8vw,2.4rem)}
.tile-feature .go{color:var(--bronze)}
.tile-feature .stamp{font-family:var(--display);font-style:italic;font-size:clamp(4rem,9vw,7rem);line-height:.9;color:var(--bronze)}
.tile-feature .stamp small{display:block;font-family:var(--body);font-style:normal;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);margin-top:10px}
.tile-wide{grid-column:span 3}
.tile-third{grid-column:span 2}
.tile-tint{background:#EFE7E1}
.tile-full{grid-column:1/-1;min-height:0;grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media (max-width:560px){.tile-full{grid-template-columns:1fr}}
.tile-ink{background:var(--ink);color:var(--porcelain);border-color:transparent}
.tile-ink p{color:#B8C2CF}
.tile-ink .go{color:var(--bronze)}
@media (max-width:960px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-feature{grid-column:span 2;grid-row:auto;min-height:0}.tile-wide,.tile-third{grid-column:span 1}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.tile-feature,.tile-wide,.tile-third{grid-column:auto}}

/* Lawyer intro */
.meet{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,80px);align-items:center}
.portrait{position:relative;max-width:440px}
.portrait img{width:100%;aspect-ratio:580/720;object-fit:cover;filter:saturate(.95)}
.portrait::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--bronze);z-index:-1}
.portrait figcaption{margin-top:30px;font-size:.85rem;color:var(--graphite)}
.creds{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.creds li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.98rem}
.creds li b{font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-deep);padding-top:3px}
@media (max-width:860px){.meet{grid-template-columns:1fr}.portrait{max-width:340px}.creds li{grid-template-columns:1fr;gap:2px}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.step{padding:28px 28px 8px 0;display:grid;gap:10px;align-content:start}
.step + .step{padding-left:28px;border-left:1px solid var(--line)}
.step .n{font-family:var(--display);font-style:italic;font-size:2.4rem;color:var(--bronze-deep);line-height:1}
.step p{color:var(--graphite)}
@media (max-width:760px){.steps{grid-template-columns:1fr}.step,.step + .step{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* Deadline calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.calc-form{display:grid;gap:18px;background:var(--oxblood-2);padding:28px;border:1px solid var(--line-dark)}
.calc-form label,.field label,.field legend{font-size:.85rem;font-weight:600;letter-spacing:.04em}
.calc-form input[type=date]{width:100%;font:inherit;font-size:1.05rem;padding:12px 14px;background:var(--oxblood);color:var(--porcelain);border:1px solid rgba(243,242,240,.3);color-scheme:dark}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(243,242,240,.3)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{padding:12px 10px;text-align:center;cursor:pointer;font-weight:500;font-size:.95rem;letter-spacing:0;transition:background 160ms ease,color 160ms ease}
.seg input:checked + label{background:var(--bronze);color:var(--oxblood)}
.seg input:focus-visible + label{outline:2px solid var(--bronze);outline-offset:-4px}
.calc-out{display:grid;gap:14px;min-height:200px;align-content:start}
.calc-out .big{font-family:var(--display);font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.05;color:var(--porcelain)}
.calc-out .days{font-size:1.05rem;color:var(--rose)}
.calc-out .flag{padding:12px 14px;border-left:3px solid var(--bronze);background:rgba(201,162,116,.08);font-size:.95rem}
.calc-out .flag.urgent{border-left-color:#E0866F;background:rgba(224,134,111,.12)}
.fineprint{font-size:.82rem;color:var(--rose);line-height:1.55}
@media (max-width:860px){.calc{grid-template-columns:1fr}}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review{background:var(--paper);border:1px solid var(--line);padding:28px;display:grid;gap:16px;align-content:start;margin:0}
.review .stars{color:var(--bronze-deep);letter-spacing:.15em;font-size:.95rem}
.review blockquote{margin:0;font-family:var(--display);font-size:1.18rem;line-height:1.5}
.review figcaption{font-size:.9rem;color:var(--graphite)}
.review figcaption b{color:var(--ink);font-weight:600}
.review-feature{grid-column:1/-1;background:var(--oxblood-2);color:var(--porcelain);border-color:transparent}
.review-feature blockquote{font-size:clamp(1.35rem,2.4vw,1.75rem)}
.review-feature .stars{color:var(--bronze)}
.review-feature figcaption{color:var(--rose)}
.review-feature figcaption b{color:var(--porcelain)}
@media (max-width:960px){.reviews{grid-template-columns:1fr}}
.reviews-foot{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:26px;font-size:.9rem;color:var(--graphite)}

/* Guides list */
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.guide{display:grid;gap:12px;align-content:start;padding:24px;background:var(--paper);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color 200ms ease,transform 200ms var(--ease)}
.guide .cat{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-deep)}
.guide h3{font-size:1.3rem}
.guide p{color:var(--graphite);font-size:.95rem}
.guide .meta{font-size:.82rem;color:var(--graphite);margin-top:4px}
@media (hover:hover) and (pointer:fine){.guide:hover{border-color:var(--bronze);transform:translateY(-3px)}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.filters button{font:inherit;font-size:.9rem;padding:8px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:background 160ms ease,border-color 160ms ease}
.filters button[aria-pressed="true"]{background:var(--oxblood);color:var(--porcelain);border-color:var(--oxblood)}

/* Two-column content page */
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);align-items:start}
.aside{position:sticky;top:110px;display:grid;gap:16px}
.card{background:var(--paper);border:1px solid var(--line);padding:24px;display:grid;gap:12px}
.card-dark{background:var(--oxblood);color:var(--porcelain);border-color:transparent}
.card-dark p{color:var(--rose)}
.card h3{font-size:1.25rem}
.card ul{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:.95rem}
@media (max-width:960px){.content-grid{grid-template-columns:1fr}.aside{position:static}}
.checklist{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.checklist li{position:relative;padding-left:26px;margin:0!important}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:7px;border-left:2px solid var(--bronze-deep);border-bottom:2px solid var(--bronze-deep);transform:rotate(-45deg)}
@media (max-width:640px){.checklist{grid-template-columns:1fr}}
.callout{padding:18px 20px;border-left:3px solid var(--bronze);background:var(--paper);font-size:.98rem}
.callout strong{display:block;margin-bottom:4px}
.updated{font-size:.88rem;color:var(--graphite)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:var(--display);font-size:1.2rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:1.5px solid var(--bronze-deep);border-bottom:1.5px solid var(--bronze-deep);transform:translateY(-70%) rotate(45deg);transition:transform 200ms var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .ans{padding:0 0 22px;color:var(--graphite);max-width:68ch}
.faq .ans > * + *{margin-top:.8em}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-list{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--line)}
.contact-list li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-list b{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-deep);padding-top:3px}
.contact-list a{color:var(--ink)}
form.enquiry{display:grid;gap:18px;background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,34px)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;background:#fff;color:var(--ink);border:1px solid #C9C5BF;border-radius:0;transition:border-color 160ms ease,box-shadow 160ms ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze-deep);box-shadow:0 0 0 3px rgba(201,162,116,.3)}
.field textarea{min-height:130px;resize:vertical}
.field .hint{font-size:.82rem;color:var(--graphite)}
.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--alert)}
.field .err{font-size:.85rem;color:var(--alert);display:none}
.field.invalid .err{display:flex;gap:6px;align-items:center}
.field.invalid .err::before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--alert);color:#fff;font-size:.7rem;font-weight:700}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--graphite)}
.consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--oxblood)}
.form-status{padding:14px 16px;font-size:.95rem;display:none}
.form-status.ok{display:block;background:#E5F0EA;border-left:3px solid var(--green);color:#1F4A37}
.form-status.fail{display:block;background:#F6E7E2;border-left:3px solid var(--alert);color:#5E1F14}
.notice{font-size:.85rem;color:var(--graphite);border-left:2px solid var(--line);padding-left:12px}

/* CTA band */
.cta-band{background:var(--oxblood);color:var(--porcelain)}
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:56px}
.cta-band h2{font-size:clamp(1.7rem,3vw,2.4rem);max-width:24ch}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:760px){.cta-band .wrap{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:#2C0F18;color:var(--rose);font-size:.95rem}
.site-footer a{color:var(--porcelain);text-decoration:none}
.site-footer a:hover{color:var(--bronze)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;padding-block:64px 40px}
.foot-grid h4,.foot-grid .foot-h{font-family:var(--body);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:14px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-brand img{width:240px;max-width:100%}
.foot-brand p{margin-top:16px;max-width:34ch}
.foot-legal{border-top:1px solid var(--line-dark);padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.84rem}
.foot-legal p{max-width:80ch}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-dark)}
.social svg{width:17px;height:17px;fill:currentColor}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* Mobile action bar */
.action-bar{display:none}
@media (max-width:760px){
  .action-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--oxblood);border-top:1px solid var(--line-dark);padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));gap:8px}
  .action-bar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;font-size:.88rem;font-weight:600;text-decoration:none;color:var(--porcelain);border:1px solid var(--line-dark)}
  .action-bar a.book{background:var(--bronze);color:var(--oxblood);border-color:var(--bronze)}
  .action-bar svg{width:16px;height:16px;fill:currentColor}
  body{padding-bottom:72px}
  #klc-btn{bottom:84px!important}
}

/* Reveal: content is visible at rest; motion only enhances */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(16px);transition:opacity 700ms var(--ease),transform 700ms var(--ease)}
  .js .reveal.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tables in guides */
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}
.table-wrap table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem}
.table-wrap th,.table-wrap td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.table-wrap thead th{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-deep);background:var(--porcelain)}
.table-wrap tbody td:first-child{font-weight:600}
.sources{font-size:.95rem}

/* Intake chat on phones: full-width sheet between header and action bar */
@media (max-width:760px){
  #klc-win{left:8px!important;right:8px!important;width:auto!important;max-width:none!important;top:calc(var(--header-h) + 8px)!important;bottom:80px!important;height:auto!important;max-height:none!important}
  body:has(#klc-win.open) #klc-btn{display:none!important}
}
body.menu-open #klc-btn{display:none!important}
.contact-grid > *,.content-grid > *,.meet > *{min-width:0}
.contact-list span,.foot-grid li{overflow-wrap:anywhere}
@media (max-width:420px){.contact-list li{grid-template-columns:1fr;gap:2px}}

/* ===== Home v2 ===== */
@media (min-width:861px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.hero-copy h1{min-height:2.3em}}
[data-h]{transition:opacity 260ms var(--ease),transform 260ms var(--ease)}
.swap-out [data-h]{opacity:0;transform:translateY(8px)}
.chooser{display:grid;gap:10px;margin-top:4px}
.chooser-q{font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rose)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:.95rem;font-weight:500;color:var(--porcelain);background:rgba(243,242,240,.06);border:1px solid rgba(243,242,240,.28);padding:9px 16px;border-radius:999px;cursor:pointer;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 160ms var(--ease)}
.chip:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.chip:hover{border-color:var(--bronze);color:var(--bronze)}}
.chip[aria-pressed="true"]{background:var(--bronze);border-color:var(--bronze);color:var(--oxblood)}
.chip-timer{position:relative;overflow:hidden}
.hero-visual{max-width:640px;cursor:grab;touch-action:pan-y}
.hero-visual.dragging{cursor:grabbing}
.globe-canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.globe-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gl{position:absolute;left:0;top:0;white-space:nowrap;font-family:var(--body);will-change:transform,opacity;opacity:0;transition:opacity 300ms ease}
.gl-country{font-family:var(--display);font-style:italic;font-size:clamp(1.1rem,2.2vw,1.6rem);color:#F6E7CF;letter-spacing:.04em;margin:-.7em 0 0 -2em;text-shadow:0 2px 12px rgba(42,13,22,.9)}
.gl-home{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#F6E7CF;margin:-6px 0 0 14px;padding:3px 8px;background:rgba(58,20,32,.75);border:1px solid rgba(201,162,116,.5)}
.gl-city{font-size:.7rem;color:var(--rose);margin:-14px 0 0 8px;text-shadow:0 1px 6px rgba(42,13,22,.95)}
.globe-hint{position:absolute;right:6%;bottom:4%;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);display:flex;align-items:center;gap:8px;pointer-events:none;opacity:.85}
.globe-hint::before{content:"";width:22px;height:1px;background:var(--bronze)}
@media (max-width:860px){
  .hero-visual{max-width:min(340px,86vw);margin-bottom:-12px}
  .hero-copy h1{min-height:0}
  .gl-city{display:none}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * max(20px,env(safe-area-inset-right,0px)));padding-right:20px}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto}
}

.core{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.core-card{display:grid;gap:18px;align-content:start;padding:clamp(26px,3vw,40px);text-decoration:none;color:var(--porcelain);min-height:420px;position:relative;overflow:hidden;transition:transform 220ms var(--ease)}
.core-card::after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(201,162,116,.25);box-shadow:0 0 0 40px rgba(201,162,116,.04),0 0 0 80px rgba(201,162,116,.03);transition:transform 600ms var(--ease)}
.core-biz{background:var(--oxblood-2)}
.core-imm{background:var(--ink)}
.core-card .label{color:var(--bronze)}
.core-card h3{font-size:clamp(1.5rem,2.4vw,2rem);max-width:20ch}
.core-list{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid rgba(201,162,116,.25)}
.core-list li{padding:11px 0;border-bottom:1px solid rgba(201,162,116,.18);color:#E9DDD9;font-size:.98rem}
.core-imm .core-list li{color:#C9D1DC}
.core-card .go{color:var(--bronze);font-weight:600;font-size:.92rem;display:flex;gap:8px;align-items:center;margin-top:auto}
.core-card .go::after{content:"→";transition:transform 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.core-card:hover{transform:translateY(-4px)}.core-card:hover::after{transform:scale(1.15)}.core-card:hover .go::after{transform:translateX(5px)}}
.core-bridge{margin-top:22px;color:var(--graphite);max-width:70ch}
@media (max-width:860px){.core{grid-template-columns:1fr}.core-card{min-height:0}}

.crim-band{background:linear-gradient(120deg,#2C0F18,var(--oxblood) 60%);color:var(--porcelain);padding-block:clamp(56px,7vw,88px)}
.crim-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center}
.crim-grid h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:24ch}
.crim-note{border:1px solid var(--line-dark);padding:26px;display:grid;gap:10px;background:rgba(243,242,240,.03)}
.crim-note p{color:var(--rose)}
@media (max-width:860px){.crim-grid{grid-template-columns:1fr}}

.more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.more{display:grid;gap:10px;align-content:start;padding:26px 22px 26px 0;text-decoration:none;color:var(--ink)}
.more + .more{padding-left:22px;border-left:1px solid var(--line)}
.more h3{font-size:1.3rem}
.more p{color:var(--graphite);font-size:.95rem}
.more .go{font-size:.88rem;font-weight:600;color:var(--bronze-deep);display:flex;gap:8px}
.more .go::after{content:"→";transition:transform 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.more:hover h3{color:var(--oxblood-3)}.more:hover .go::after{transform:translateX(4px)}}
@media (max-width:960px){.more-grid{grid-template-columns:1fr 1fr}.more:nth-child(3){padding-left:0;border-left:0}.more:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.more-grid{grid-template-columns:1fr}.more,.more + .more{padding:22px 0;border-left:0}.more + .more{border-top:1px solid var(--line)}}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.path{background:var(--paper);border:1px solid var(--line);padding:22px;display:grid;gap:8px}
.path:first-child{border-top:3px solid var(--bronze)}
.path:last-child{border-top:3px solid var(--oxblood-3)}
.path h3{font-size:1.25rem}
.path p{color:var(--graphite);font-size:.95rem}
@media (max-width:640px){.paths{grid-template-columns:1fr}}
.forums{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.forums > div{display:grid;gap:2px;padding:14px 14px 14px 0;border-bottom:1px solid var(--line)}
.forums > div:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
.forums b{font-weight:600}
.forums span{color:var(--graphite);font-size:.92rem}
@media (max-width:560px){.forums{grid-template-columns:1fr}.forums > div:nth-child(even){padding-left:0;border-left:0}}
.timeline{list-style:none;padding:0!important;counter-reset:t;display:grid;gap:0;border-left:1px solid var(--bronze);margin-left:10px}
.timeline li{counter-increment:t;position:relative;padding:4px 0 18px 30px;margin:0!important}
.timeline li::before{content:counter(t);position:absolute;left:-12px;top:2px;width:23px;height:23px;border-radius:50%;background:var(--oxblood);color:var(--bronze);display:grid;place-items:center;font-size:.78rem;font-weight:600}
.callout-urgent{border-left-color:var(--oxblood-3);background:#F4E9E9}
.callout-urgent a{color:var(--oxblood-3);font-weight:600}

/* Background video layers (decorative; poster shows when video can't play) */
.hero,.cta-band{position:relative;isolation:isolate;overflow:hidden}
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.34;filter:saturate(.7) contrast(1.05);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(58,20,32,.97) 0%,rgba(58,20,32,.86) 42%,rgba(58,20,32,.55) 75%,rgba(58,20,32,.75) 100%),linear-gradient(0deg,rgba(58,20,32,.9),transparent 30%);pointer-events:none}
.hero::before{z-index:-1}
.cta-band .bg-video{opacity:.22}
.cta-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(58,20,32,.96),rgba(58,20,32,.78));pointer-events:none}
@media (max-width:860px){.hero::after{background:linear-gradient(180deg,rgba(58,20,32,.55) 0%,rgba(58,20,32,.92) 38%,rgba(58,20,32,.98) 100%)}.bg-video{opacity:.42}}
@media (prefers-reduced-motion:reduce){.bg-video{display:none}}

/* Meet: lawyer standing in front of his name (scroll parallax) */
.stage{position:relative;max-width:460px;width:100%}
.stage-panel{position:relative;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(120% 80% at 50% 30%,var(--oxblood-3) 0%,var(--oxblood-2) 45%,var(--oxblood) 100%);isolation:isolate}
.stage-panel::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,162,116,.35);pointer-events:none;z-index:4}
.stage-word{position:absolute;left:50%;top:9%;transform:translate3d(calc(-50% + var(--sx,0px)),0,0);font-family:"Bodoni Moda",serif;font-weight:600;font-size:clamp(4.4rem,7.2vw,6.6rem);line-height:.8;letter-spacing:-.02em;white-space:nowrap;color:var(--bronze);z-index:1;will-change:transform}
.stage-word--ghost{top:auto;bottom:6%;color:transparent;-webkit-text-stroke:1px rgba(201,162,116,.45);transform:translate3d(calc(-50% - var(--sx,0px)),0,0);font-style:italic;font-weight:500}
.stage-figure{position:absolute;left:50%;bottom:-2%;width:112%;height:auto;max-width:none;transform:translate3d(-50%,var(--fy,0px),0);z-index:2;filter:drop-shadow(0 30px 40px rgba(14,6,10,.55));will-change:transform}
.stage-leaf{position:absolute;right:18px;top:18px;width:26px;height:26px;z-index:3;background:var(--bronze);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l1.7 3.6 2.1-1-.6 4.4 2.6-2.5.8 1.8 3.2-.6-1.1 3.4 1.3.7-4.3 3.5.6 1.6-4.3-.8-.2 4.4h-1.1l-.2-4.4-4.3.8.6-1.6-4.3-3.5 1.3-.7L1.6 7.3l3.2.6.8-1.8 2.6 2.5-.6-4.4 2.1 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l1.7 3.6 2.1-1-.6 4.4 2.6-2.5.8 1.8 3.2-.6-1.1 3.4 1.3.7-4.3 3.5.6 1.6-4.3-.8-.2 4.4h-1.1l-.2-4.4-4.3.8.6-1.6-4.3-3.5 1.3-.7L1.6 7.3l3.2.6.8-1.8 2.6 2.5-.6-4.4 2.1 1z'/%3E%3C/svg%3E") center/contain no-repeat}
.stage figcaption{margin-top:16px;font-size:.85rem;color:var(--graphite)}
@media (max-width:860px){.stage{max-width:380px;margin-inline:auto}.stage-word{font-size:clamp(4rem,22vw,6.4rem)}}
@media (prefers-reduced-motion:reduce){.stage-word,.stage-figure{will-change:auto}}

/* Accessibility fixes from launch audit */
.foot-legal a{text-decoration:underline;text-underline-offset:3px}
.crumbs{margin:0}
.card .card-h{font-size:1.25rem}
