/* ==== FLEET THEME STANDARD — sizing tokens (from WordPress Design & Development Core)
   docs/elementor-pro/13-global-layout-foundation.md · 15-global-content-spacing-policy.md ·
   docs/quy-chuan-layout-va-tuong-tac.md. Paste this block verbatim at the top of the theme CSS.
   Change only colours/fonts/radius below the block, never the sizing values. ==== */
:root{
  /* Content width = OUTER container max-width (padding sits inside it) */
  --container-max:1440px;
  --container-pad:clamp(48px,5vw,96px);
  /* Section Spacing (band padding-block) */
  --section-y:120px; --section-y-compact:80px;
  /* Content Spacing (gap of content stacks) — sm <= md <= lg */
  --content-gap-sm:12px; --content-gap-md:24px; --content-gap-lg:48px;
  /* Grid / card collection gap */
  --grid-gap:32px;
  /* Component padding (inside cards/surfaces) */
  --card-pad:32px;
  /* Interaction */
  --touch:44px;
}
/* Laptop 1025–1366 */
@media (max-width:1366px){:root{--container-max:1366px;--container-pad:clamp(40px,4.5vw,72px);--section-y:104px;--section-y-compact:72px;--content-gap-md:20px;--content-gap-lg:40px;--grid-gap:28px;--card-pad:28px}}
/* Tablet 769–1024 */
@media (max-width:1024px){:root{--container-max:1024px;--container-pad:clamp(24px,4vw,48px);--section-y:80px;--section-y-compact:64px;--content-gap-sm:10px;--content-gap-md:20px;--content-gap-lg:32px;--grid-gap:24px;--card-pad:24px}}
/* Mobile <=768 */
@media (max-width:768px){:root{--container-max:768px;--container-pad:clamp(16px,5vw,24px);--section-y:64px;--section-y-compact:48px;--content-gap-sm:8px;--content-gap-md:16px;--content-gap-lg:28px;--grid-gap:16px;--card-pad:20px}}

/* Band -> Inner. Header, main and footer inners all use .container */
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);box-sizing:border-box}
.band{padding-block:var(--section-y)}
.band.compact{padding-block:var(--section-y-compact)}
/* Content stacks: sibling spacing ONLY via parent gap */
.stack{display:flex;flex-direction:column;gap:var(--content-gap-md)}
.stack-sm{display:flex;flex-direction:column;gap:var(--content-gap-sm)}
.stack-lg{display:flex;flex-direction:column;gap:var(--content-gap-lg)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
/* Reset default UA margins so nothing spaces siblings by accident */
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{margin:0}
/* Prose exception (rich text inside ONE article body) */
.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure{margin-block:0 1em}
.prose h2,.prose h3{margin-block:1.6em .5em}
/* Accessibility baseline */
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ==== END FLEET THEME STANDARD ==== */

/* ==== HALE & WARD theme — colours, type, components ==== */
:root{
  --ox:#6B1E2A; --ox-d:#4F141E; --ivory:#F7F2E8; --ivory-2:#EFE7D8; --paper:#FBF8F2; --char:#252322; --ink:#2B2927; --ink-2:#5C564F;
  --gold:#B08D57; --gold-l:#D2B583; --line:rgba(43,41,39,.16); --hair:rgba(176,141,87,.55);
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif; --sans:"Source Sans 3",system-ui,sans-serif;
  --r:2px; --shadow:0 20px 40px -28px rgba(37,35,34,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
main{overflow-x:clip;display:block}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.005em;color:var(--ink)}
h1{font-size:clamp(38px,4.4vw,64px)}
h2{font-size:clamp(30px,3.1vw,46px)}
h3,.h3{font-size:clamp(21px,1.6vw,25px);line-height:1.25}
h1 em,h2 em{font-style:italic;color:var(--ox)}
.lead{font-size:clamp(18px,1.3vw,20px);color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-2)}
.small{font-size:14px}
.label{display:inline-flex;align-items:center;gap:12px;font:600 15px/1.4 var(--sans);font-variant:all-small-caps;letter-spacing:.16em;color:var(--ox)}
.label::before{content:"";width:28px;height:1px;background:var(--gold)}
.num{font:italic 400 20px/1 var(--serif);color:var(--gold)}
.center{text-align:center;align-items:center}
.center .lead{text-align:center}
.bg-ivory2{background:var(--ivory-2)}
.bg-char{background:var(--char);color:#E9E2D4}
.bg-char h2,.bg-char h3{color:var(--ivory)}
.bg-char h2 em{color:var(--gold-l)}
.bg-char .label{color:var(--gold-l)}
.bg-char .lead,.bg-char .muted{color:#C9C0B1}
.bg-ox{background:var(--ox);color:var(--ivory)}
.bg-ox h2,.bg-ox .lead{color:var(--ivory)}
.bg-ox h2 em{color:var(--gold-l)}
.bg-ox .label{color:var(--gold-l)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ox);color:var(--ivory);padding:12px 18px;text-decoration:none}
.skip:focus{top:12px}

/* Buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--touch);padding:12px 26px;border-radius:var(--r);border:1px solid var(--ox);background:var(--ox);color:var(--ivory);font:600 15px/1.2 var(--sans);letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.btn:hover{background:var(--ox-d);border-color:var(--ox-d)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--ivory)}
.btn.light{background:var(--ivory);color:var(--ox);border-color:var(--ivory)}
.btn.light:hover{background:var(--gold-l);border-color:var(--gold-l)}
.btn.ghost-light{background:transparent;color:var(--ivory);border-color:var(--gold-l)}
.btn.ghost-light:hover{background:rgba(247,242,232,.1)}
.link{display:inline-flex;align-items:center;gap:8px;min-height:var(--touch);color:var(--ox);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s ease}
.link:hover{border-color:currentColor}
.bg-char :focus-visible,.bg-ox :focus-visible{outline-color:var(--gold-l)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.96);border-bottom:1px solid var(--hair)}
.site-header .container{display:flex;align-items:center;gap:20px;min-height:88px;position:relative}
.logo{display:inline-flex;align-items:center;gap:14px;min-height:var(--touch);text-decoration:none;color:var(--ink)}
.logo .mark{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--gold);color:var(--ox);font:400 14px/1 var(--serif);letter-spacing:0;white-space:nowrap}
.logo .mark i,.logo .wm i{color:var(--gold)}
.logo .wm{display:flex;flex-direction:column;gap:2px;font:400 23px/1 var(--serif);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.logo .wm small{font:600 12px/1 var(--sans);letter-spacing:.28em;color:var(--ink-2)}
.nav{display:flex;gap:2px}
.nav.push{margin-inline-start:auto}
.nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:12px;text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-2);border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.nav a:hover{color:var(--ox);border-color:var(--gold)}
.nav a[aria-current=page]{color:var(--ox);border-color:var(--ox)}
.burger{display:none;width:var(--touch);height:var(--touch);border:1px solid var(--hair);background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--r)}
.burger svg{width:22px;height:22px}
@media (max-width:1366px){.nav a{padding-inline:8px;font-size:14px}.site-header .hbtn{padding-inline:16px}.logo .wm{font-size:20px}}
@media (max-width:1024px){
  .burger{display:inline-flex}
  .burger.push{margin-inline-start:auto}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:12px var(--container-pad) 20px;background:var(--paper);border-bottom:1px solid var(--hair);box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{font-size:16px;border-bottom:1px solid var(--line)}
}
@media (max-width:768px){.site-header .hbtn{display:none}.site-header .container{min-height:72px}}

/* Section heads */
.shead{display:flex;flex-direction:column;gap:var(--content-gap-sm);max-width:720px}
.shead.center{margin-inline:auto}
.shead-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--content-gap-md)}

/* Media */
.ph{position:relative;overflow:hidden;background:var(--ivory-2);aspect-ratio:3/2}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ph.portrait{aspect-ratio:4/5}
.ph.wide{aspect-ratio:16/9}
.ph.frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(247,242,232,.75);pointer-events:none}

/* Hero */
.hero{background:linear-gradient(180deg,var(--paper),var(--ivory));border-bottom:1px solid var(--hair)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--content-gap-lg);align-items:center}
.hero-media{position:relative}
.hero-media .ph{aspect-ratio:4/5}
.hero h1{animation:rise .9s ease both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.seal{position:absolute;left:-28px;bottom:48px;width:132px;height:132px;border-radius:50%;background:var(--ox);color:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 0 0 6px var(--ivory),0 0 0 7px var(--gold)}
.seal span{font:400 28px/1 var(--serif)}
.seal small{font:600 11px/1 var(--sans);letter-spacing:.18em;color:var(--gold-l)}
.hero-points{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--hair);padding-top:20px;color:var(--ink-2);font-size:15px}
.hero-points li{display:inline-flex;align-items:center;gap:10px}
.hero-points li::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr}.hero-media{max-width:560px}}
@media (max-width:768px){.seal{left:16px;bottom:16px;width:104px;height:104px}.seal span{font-size:22px}}

/* Practice cards */
.grid-pa{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.pcard{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ox);text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease}
.pcard p{flex:1}
.pcard:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.grid-pa.wide{grid-template-columns:repeat(2,1fr)}
.pa-row{display:grid;grid-template-columns:.85fr 1fr;background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:box-shadow .25s ease,border-color .25s ease}
.pa-row .ph{aspect-ratio:auto;min-height:100%}
.pa-row .bd{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);background:var(--paper)}
.pa-row:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.pa-row:hover img,.acard:hover img,.post:hover img,.feature:hover img{transform:scale(1.03)}
@media (max-width:1024px){.grid-pa{grid-template-columns:repeat(2,1fr)}.grid-pa.wide{grid-template-columns:1fr}}
@media (max-width:480px){.grid-pa{grid-template-columns:1fr}.pa-row{grid-template-columns:1fr}.pa-row .ph{aspect-ratio:3/2}}

/* Why / stats */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--content-gap-lg);align-items:center}
@media (max-width:1024px){.split{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--content-gap-md)}
.checks li{display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(210,181,131,.4);padding-top:var(--content-gap-md)}
.checks b{font:400 22px/1.3 var(--serif);color:var(--ivory)}
.checks span{color:#C9C0B1}
.grid-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.stat{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--gold);padding-top:24px}
.stat b{font:400 clamp(36px,3.6vw,54px)/1 var(--serif);color:var(--gold-l)}
.stat span{font-variant:all-small-caps;letter-spacing:.14em;font-weight:600;color:#C9C0B1}
@media (max-width:1024px){.grid-stats{grid-template-columns:repeat(2,1fr)}}

/* Case results */
.grid-res{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.rcard{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);background:var(--paper);border:1px solid var(--line);box-shadow:inset 0 3px 0 var(--gold)}
.rcard[hidden]{display:none}
.rtop{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--hair);padding-bottom:16px}
.amount{font:400 clamp(34px,3vw,46px)/1.05 var(--serif);color:var(--ox)}
@media (max-width:1024px){.grid-res{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.grid-res{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{min-height:var(--touch);padding:10px 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 15px/1 var(--sans);cursor:pointer;border-radius:var(--r);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.filters button:hover{border-color:var(--ox);color:var(--ox)}
.filters button[aria-pressed=true]{background:var(--ox);border-color:var(--ox);color:var(--ivory)}

/* Attorneys */
.grid-att{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.grid-att.three{grid-template-columns:repeat(3,1fr)}
.acard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease}
.acard:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.acard .bd,.post .bd,.office .bd{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);background:var(--paper);flex:1}
@media (max-width:1024px){.grid-att,.grid-att.three{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.grid-att,.grid-att.three{grid-template-columns:1fr}}

/* Testimonials */
.grid-q{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.quote{display:flex;flex-direction:column;gap:var(--content-gap-md);border-top:1px solid var(--gold);padding-top:var(--content-gap-md)}
.qmark{font:400 64px/.6 var(--serif);color:var(--ox);height:32px}
.quote blockquote{font:italic 400 20px/1.6 var(--serif);color:var(--ink)}
.quote figcaption{display:flex;flex-direction:column;gap:2px}
.quote figcaption span{color:var(--ink-2);font-size:15px}
@media (max-width:1024px){.grid-q{grid-template-columns:1fr;max-width:680px}}

/* Posts */
.grid-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.post{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease}
.post:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;color:var(--ink-2);font-size:14px}
.feature{display:grid;grid-template-columns:1.2fr 1fr;background:var(--paper);border:1px solid var(--line);text-decoration:none}
.feature .ph{aspect-ratio:auto;min-height:360px}
.feature .bd{display:flex;flex-direction:column;justify-content:center;gap:var(--content-gap-md);padding:calc(var(--card-pad)*1.5);background:var(--paper)}
@media (max-width:1024px){.grid-posts{grid-template-columns:repeat(2,1fr)}.feature{grid-template-columns:1fr}.feature .ph{min-height:0;aspect-ratio:16/9}}
@media (max-width:768px){.grid-posts{grid-template-columns:1fr}}

/* CTA */
.cta-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--content-gap-lg);align-items:center;border-top:1px solid rgba(210,181,131,.5);border-bottom:1px solid rgba(210,181,131,.5);padding-block:var(--content-gap-lg)}
.cta-act{align-items:flex-start}
@media (max-width:1024px){.cta-grid{grid-template-columns:1fr}}

/* Page hero & crumbs */
.phero{background:var(--paper);border-bottom:1px solid var(--hair)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.crumbs a,.crumbs [aria-current]{display:inline-flex;align-items:center;min-height:var(--touch)}
.crumbs a{text-decoration:none;color:var(--ox)}
.crumbs a:hover{text-decoration:underline}

/* Layout with aside */
.layout-aside{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--content-gap-lg);align-items:start}
.aside-card{padding:var(--card-pad);background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ox);position:sticky;top:112px}
.aside-card .btn,.aside-card .link{align-self:flex-start}
.plain{list-style:none;padding:0;display:flex;flex-direction:column}
.plain a{display:flex;align-items:center;min-height:var(--touch);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ox)}
@media (max-width:1024px){.layout-aside{grid-template-columns:1fr}.aside-card{position:static}}

/* Prose */
.prose{max-width:70ch;font-size:18px}
.prose h2{font-size:clamp(26px,2.2vw,32px)}
.prose ul{padding-left:1.2em}
.prose li::marker{color:var(--gold)}
.prose blockquote{border-left:2px solid var(--gold);padding-left:24px;font:italic 400 22px/1.5 var(--serif);color:var(--ox)}
.article{max-width:820px}
.byline{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--ink-2)}
.byline img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}
.byline b{color:var(--ink)}

/* FAQ */
.faq{border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--touch);padding-block:18px;cursor:pointer;list-style:none;font:400 20px/1.35 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px/1 var(--serif);color:var(--gold);transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--ox)}
.faq .ans{padding-bottom:20px;color:var(--ink-2);max-width:68ch}

/* Profile */
.profile{display:grid;grid-template-columns:5fr 7fr;gap:var(--content-gap-lg);align-items:center}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);border-top:1px solid var(--hair);padding-top:var(--content-gap-md)}
.facts div{display:flex;flex-direction:column;gap:4px}
.facts dt{font-variant:all-small-caps;letter-spacing:.14em;font-weight:600;color:var(--ox)}
.facts a{color:var(--ink)}
@media (max-width:1024px){.facts{grid-template-columns:1fr}}
@media (max-width:768px){.profile{grid-template-columns:1fr}.profile .ph{max-width:420px}}

/* Timeline & values */
.timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--grid-gap)}
.timeline li{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--gold);padding-top:var(--content-gap-md)}
.timeline .yr{font:400 34px/1 var(--serif);color:var(--ox)}
@media (max-width:1024px){.timeline{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.timeline{grid-template-columns:1fr}}
.grid-vals{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.val{display:flex;flex-direction:column;gap:10px;padding:var(--card-pad);border:1px solid rgba(210,181,131,.35)}
.val p{color:#C9C0B1}
@media (max-width:1024px){.grid-vals{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.grid-vals{grid-template-columns:1fr}}

/* Offices */
.grid-off{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.office{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper)}
.office .link{align-self:flex-start}
@media (max-width:768px){.grid-off{grid-template-columns:1fr}}

/* Form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:var(--content-gap-md);padding:var(--card-pad);background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ox)}
.field{display:flex;flex-direction:column;gap:8px}
.full{grid-column:1/-1}
.field label,.fs legend{font-weight:600;font-size:15px}
.fs{border:0;padding:0;margin:0;min-width:0}
.fs legend{padding:0;float:left;width:100%}
.fs .opts{clear:both}
input,select,textarea{font:inherit;color:var(--ink);background:var(--ivory);border:1px solid rgba(43,41,39,.3);border-radius:var(--r);min-height:var(--touch);padding:10px 14px;width:100%;transition:border-color .2s ease,box-shadow .2s ease}
textarea{resize:vertical;min-height:140px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ox);box-shadow:0 0 0 3px rgba(107,30,42,.18)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative;display:inline-flex;align-items:center;min-height:var(--touch);padding:10px 18px;border:1px solid rgba(43,41,39,.3);border-radius:var(--r);cursor:pointer;font-weight:500;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;clip-path:inset(50%);cursor:pointer}
.opt:hover{border-color:var(--ox)}
.opt:has(input:checked){background:var(--ox);color:var(--ivory);border-color:var(--ox)}
.opt:has(input:focus-visible){outline:3px solid var(--ox);outline-offset:3px}
.err{color:var(--ox);font-weight:600}
.success{padding:var(--card-pad);background:var(--paper);border:1px solid var(--gold);border-top:2px solid var(--ox)}
.success h2:focus{outline:none}
@media (max-width:768px){.form{grid-template-columns:1fr}}

/* 404 */
.nf .ph{aspect-ratio:4/3}

/* Footer */
.site-footer{background:var(--char);color:#C9C0B1;padding-block:var(--section-y-compact) 32px;border-top:3px solid var(--ox)}
.site-footer .container{display:flex;flex-direction:column;gap:var(--content-gap-lg)}
.site-footer .logo{color:var(--ivory)}
.site-footer .logo .mark{color:var(--gold-l)}
.site-footer .logo .wm small{color:#A79E90}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--grid-gap)}
.fcol{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.fcol p{font-size:15px}
.fh{font:600 15px/1.4 var(--sans);font-variant:all-small-caps;letter-spacing:.16em;color:var(--gold-l)}
.fcol a:not(.logo){display:inline-flex;align-items:center;min-height:var(--touch);text-decoration:none;font-size:15px;transition:color .2s ease}
.fcol a:hover{color:var(--ivory)}
.site-footer :focus-visible{outline-color:var(--gold-l)}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid rgba(210,181,131,.3);padding-top:20px;font-size:14px;color:#A79E90}
@media (max-width:1024px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}
[hidden]{display:none!important}
