/* ==========================================================================
   The Advocate Path — custom theme layered on Bootstrap 5
   Palette: parchment / ink / forest / brass.  Load AFTER bootstrap.min.css
   ========================================================================== */

@font-face{font-family:"Lora";src:url("../fonts/lora-variable.woff") format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/lora-italic-variable.woff") format("woff");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Heros";src:url("../fonts/heros-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Heros";src:url("../fonts/heros-italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Heros";src:url("../fonts/heros-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}

:root{
  --paper:#f6f1e6;--paper-2:#eee6d3;--paper-3:#e6dcc4;
  --ink:#1c201d;--ink-soft:#4b514c;--ink-mute:#6f746e;
  --forest:#1f3b2f;--forest-2:#294a3b;--forest-3:#35604d;
  --brass:#b5862f;--brass-dark:#8d6720;--brass-soft:#e9d7ad;
  --clay:#b4552f;--rule:#d6cab0;--rule-soft:#e3d9c3;--white:#fffdf8;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sans:"Heros","Helvetica Neue",Arial,sans-serif;
  --radius:14px;--shadow:0 18px 40px -24px rgba(28,32,29,.35);

  /* Bootstrap variable overrides */
  --bs-body-font-family:var(--sans);
  --bs-body-font-size:1.0625rem;
  --bs-body-line-height:1.6;
  --bs-body-color:var(--ink);
  --bs-body-bg:var(--paper);
  --bs-link-color:var(--forest-2);
  --bs-link-color-rgb:41,74,59;
  --bs-link-hover-color:var(--brass-dark);
  --bs-link-hover-color-rgb:141,103,32;
  --bs-border-color:var(--rule);
  --bs-heading-color:var(--ink);
  --bs-primary:var(--forest);
  --bs-primary-rgb:31,59,47;
}

html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);position:relative}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.17 0 0 0 0 0.1 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body > *{position:relative;z-index:1}
.container{max-width:1180px}
a{text-underline-offset:3px}
h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--ink)}
h1,.h1{font-size:clamp(2.4rem,5.2vw,4.3rem);font-weight:500}
h2,.h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:500;margin-bottom:.6rem}
h3,.h3{font-size:1.35rem}
.lede{font-size:1.2rem;color:var(--ink-soft);max-width:60ch}
em.hand{font-style:italic;color:var(--brass-dark);font-weight:500}
.mute{color:var(--ink-mute)}
.fill{border-bottom:1.5px dashed var(--clay);color:var(--clay)}
section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section-tight{padding:clamp(2.5rem,5vw,4rem) 0}
.bg-paper2{background:var(--paper-2)}
.bg-forest{background:var(--forest);color:#e9e4d6}
.bg-forest h2,.bg-forest h3{color:#f6f1e6}
.bg-forest a{color:var(--brass-soft)}
.bg-forest .lede{color:#cfd8cf}

.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-dark);font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--brass);border-radius:2px;transform:rotate(-4deg)}
.bg-forest .eyebrow{color:var(--brass-soft)}
.bg-forest .eyebrow::before{background:var(--brass-soft)}

/* hand-drawn marker highlight */
.hl{position:relative;white-space:nowrap}
.hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.04em;height:.42em;z-index:-1;background:var(--brass-soft);clip-path:polygon(0 30%,100% 12%,99% 78%,1% 96%);transform:rotate(-1deg)}
.bg-forest .hl::after{background:var(--forest-3)}

/* ---------- buttons ---------- */
.btn{--bs-btn-border-radius:999px;--bs-btn-padding-y:.95rem;--bs-btn-padding-x:1.5rem;--bs-btn-font-weight:700;--bs-btn-font-size:1rem;--bs-btn-border-width:2px;
  display:inline-flex;align-items:center;gap:.55rem;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn svg{width:18px;height:18px}
.btn-ink{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-color:var(--paper);--bs-btn-hover-bg:var(--forest);--bs-btn-hover-border-color:var(--forest);--bs-btn-hover-color:var(--paper);--bs-btn-active-bg:var(--forest);--bs-btn-active-color:var(--paper);box-shadow:3px 3px 0 var(--brass)}
.btn-ink:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--brass)}
.btn-brass{--bs-btn-bg:var(--brass);--bs-btn-border-color:var(--brass);--bs-btn-color:var(--ink);--bs-btn-hover-bg:var(--brass-dark);--bs-btn-hover-border-color:var(--brass-dark);--bs-btn-hover-color:var(--paper);--bs-btn-active-bg:var(--brass-dark);--bs-btn-active-color:var(--paper);box-shadow:3px 3px 0 var(--ink)}
.btn-brass:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.btn-outline-ink{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:var(--ink);--bs-btn-hover-color:var(--paper);--bs-btn-hover-border-color:var(--ink);--bs-btn-active-bg:var(--ink);--bs-btn-active-color:var(--paper)}
.btn-lg{--bs-btn-font-size:1.08rem;--bs-btn-padding-y:1.1rem;--bs-btn-padding-x:1.8rem}
.btn-sm{--bs-btn-padding-y:.6rem;--bs-btn-padding-x:1.1rem;--bs-btn-font-size:.92rem}
.link-arrow{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;color:var(--forest)}
.link-arrow svg{width:22px;height:14px;transition:transform .15s}
.link-arrow:hover svg{transform:translateX(4px)}

/* ---------- navbar ---------- */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(246,241,230,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.navbar{padding:.9rem 0}
.navbar-brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);margin:0}
.navbar-brand svg{width:40px;height:40px}
.navbar-brand .word{font-family:var(--serif);font-size:1.32rem;font-weight:600;letter-spacing:-.01em;line-height:1}
.navbar-brand .word i{font-style:italic;font-weight:500;color:var(--brass-dark)}
.navbar-brand .word small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);margin-top:.25rem;font-weight:700}
.navbar-nav .nav-link{font-weight:700;font-size:.93rem;color:var(--ink-soft);padding:.4rem 0;margin:0 .7rem;position:relative}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--ink)}
.navbar-nav .nav-link.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--brass);border-radius:3px;transform:rotate(-1.5deg)}
.navbar-toggler{border:2px solid var(--ink);border-radius:10px;padding:.4rem .55rem}
.navbar-toggler:focus{box-shadow:0 0 0 3px rgba(181,134,47,.35)}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%231c201d' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
@media (max-width:991.98px){
  .navbar-collapse{padding:1rem 0 1.25rem}
  .navbar-nav .nav-link{margin:.2rem 0;padding:.5rem 0}
  .navbar .btn{margin-top:.8rem}
}

/* ---------- hero ---------- */
.hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.hero h1{margin-bottom:1.2rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:1.8rem}
.hero-art{position:relative}
.hero-art svg{width:100%;height:auto}
.stamp{position:absolute;right:-6px;top:-14px;transform:rotate(8deg);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);border:2px solid var(--clay);border-radius:999px;padding:.55rem .9rem;background:rgba(246,241,230,.9);box-shadow:0 0 0 3px rgba(246,241,230,.9)}
.trust-row{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px dashed var(--rule);color:var(--ink-soft);font-size:.92rem}
.trust-row span{display:inline-flex;align-items:center;gap:.45rem}
.trust-row svg{width:18px;height:18px;color:var(--forest-3)}
@media (max-width:991.98px){.hero-art{max-width:520px;margin:2rem auto 0}}

/* practice strip */
.strip{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-2);padding:1rem 0}
.strip-inner{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.strip-inner .lbl{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink-mute);margin-right:.4rem}
.pill{font-size:.88rem;font-weight:700;color:var(--forest);border:1.5px solid var(--forest);border-radius:999px;padding:.32rem .8rem;background:var(--paper);text-decoration:none;transform:rotate(var(--r,0deg));display:inline-block}
.pill:hover{background:var(--forest);color:var(--paper)}

/* ---------- steps ---------- */
.steps{position:relative;margin-top:2.5rem}
.steps::before{content:"";position:absolute;left:16.667%;right:16.667%;top:calc(1.5rem + 38px);height:2px;background:repeating-linear-gradient(90deg,var(--brass) 0 10px,transparent 10px 20px);opacity:.7;z-index:0}
.step{position:relative;z-index:1;padding:0 .6rem;text-align:center}
.step .num{width:76px;height:76px;border-radius:50%;background:var(--paper);border:2.5px solid var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:1.9rem;font-weight:600;margin:0 auto 1.2rem;position:relative;box-shadow:4px 4px 0 var(--brass-soft)}
.step .num::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--brass);transform:rotate(12deg)}
.step h3{margin-bottom:.4rem}
.step p{color:var(--ink-soft);margin:0}
@media (max-width:991.98px){.steps::before{display:none}}

/* ---------- practice cards ---------- */
.area{display:block;height:100%;background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);padding:1.5rem 1.4rem 1.4rem;text-decoration:none;color:var(--ink);position:relative;transition:transform .18s,box-shadow .18s,border-color .18s}
.area:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--brass);color:var(--ink)}
.area .ic{width:44px;height:44px;color:var(--forest);margin-bottom:1rem}
.area .ic svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.area h3{font-size:1.15rem;margin-bottom:.35rem}
.area p{font-size:.95rem;color:var(--ink-soft);margin:0}
.area .go{position:absolute;right:1.1rem;top:1.1rem;color:var(--brass);opacity:0;transition:.18s}
.area:hover .go{opacity:1}

/* ---------- checklist / quote ---------- */
.checklist{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.1rem}
.checklist li{display:grid;grid-template-columns:34px 1fr;gap:.9rem;align-items:start}
.checklist .tick{width:30px;height:30px;border-radius:50%;border:2px solid var(--brass);display:grid;place-items:center;color:var(--brass-dark);transform:rotate(-6deg);background:var(--paper)}
.checklist .tick svg{width:16px;height:16px}
.checklist strong{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:600;margin-bottom:.15rem}
.checklist span{color:var(--ink-soft)}
.bg-forest .checklist span{color:#cfd8cf}
.bg-forest .checklist .tick{background:var(--forest);border-color:var(--brass-soft);color:var(--brass-soft)}
.bg-forest .checklist strong{color:#f6f1e6}
.quote-card{background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);padding:2rem;position:relative;box-shadow:var(--shadow);transform:rotate(-1deg)}
.quote-card::before{content:"“";position:absolute;left:1.2rem;top:-.4rem;font-family:var(--serif);font-size:5rem;color:var(--brass-soft);line-height:1}
.quote-card p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;font-style:italic;margin:.5rem 0 0;color:var(--ink)}
.quote-card .who{font-family:var(--sans);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-top:1.2rem;font-style:normal}

/* ---------- honesty block ---------- */
.honest{border:2px solid var(--ink);border-radius:var(--radius);padding:2rem 2.2rem;background:var(--paper-2);position:relative;box-shadow:6px 6px 0 var(--brass-soft)}
.honest h2{font-size:1.7rem}
.honest .tag{position:absolute;top:-14px;left:24px;background:var(--ink);color:var(--paper);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;transform:rotate(-2deg)}
.honest p{color:var(--ink-soft);margin-bottom:.8em}
.honest p:last-child{margin-bottom:0}

/* ---------- accordion (FAQ) ---------- */
.faq{margin-top:2rem;border-top:1.5px solid var(--rule);--bs-accordion-bg:transparent;--bs-accordion-border-width:0;--bs-accordion-btn-padding-x:0;--bs-accordion-btn-padding-y:1.15rem;--bs-accordion-body-padding-x:0;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-btn-focus-border-color:transparent;--bs-accordion-btn-color:var(--ink)}
.faq .accordion-item{border-bottom:1.5px solid var(--rule);background:transparent}
.faq .accordion-button{font-family:var(--serif);font-size:1.18rem;font-weight:600;background:transparent;box-shadow:none;color:var(--ink);gap:1rem}
.faq .accordion-button::after{content:"";flex:none;width:30px;height:30px;margin-left:auto;border:2px solid var(--brass);border-radius:50%;background-color:transparent;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238d6720' stroke-width='2' stroke-linecap='round' d='M8 3v10M3 8h10'/%3e%3c/svg%3e");background-size:14px 14px;background-position:center;background-repeat:no-repeat;transition:transform .2s,background-color .2s}
.faq .accordion-button:not(.collapsed)::after{transform:rotate(45deg);background-color:var(--brass);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231c201d' stroke-width='2' stroke-linecap='round' d='M8 3v10M3 8h10'/%3e%3c/svg%3e")}
.faq .accordion-body{padding-top:0;padding-bottom:1.3rem;color:var(--ink-soft);max-width:70ch}
.faq .accordion-body p:last-child{margin:0}

/* ---------- forms ---------- */
.form-aside .note{background:var(--paper-2);border-left:4px solid var(--brass);padding:1rem 1.2rem;border-radius:0 10px 10px 0;color:var(--ink-soft);font-size:.95rem}
.form-card{background:var(--white);border:1.5px solid var(--rule);border-radius:18px;padding:2rem;box-shadow:var(--shadow);position:relative}
.form-card::before{content:"";position:absolute;inset:8px;border:1px dashed var(--rule);border-radius:12px;pointer-events:none}
.form-card > *{position:relative}
.form-card h3{margin-bottom:1.2rem}
.form-label{font-weight:700;font-size:.92rem;margin-bottom:.35rem}
.form-text{font-size:.82rem;color:var(--ink-mute)}
.form-control,.form-select{font-size:1rem;padding:.8rem .9rem;border:1.5px solid var(--rule);border-radius:10px;background-color:var(--paper);color:var(--ink)}
.form-control:focus,.form-select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(31,59,47,.14);background-color:#fff;color:var(--ink)}
.form-control::placeholder{color:#a19c8e}
textarea.form-control{min-height:120px}
.form-control.is-invalid,.form-select.is-invalid{border-color:var(--clay);background-image:none}
.invalid-feedback{color:var(--clay);font-size:.82rem}
.consent{display:grid;grid-template-columns:22px 1fr;gap:.75rem;align-items:start;font-size:.86rem;line-height:1.5;color:var(--ink-soft);padding:.9rem 1rem;border:1.5px solid var(--rule);border-radius:10px;background:var(--paper);margin-bottom:.9rem}
.consent .form-check-input{width:20px;height:20px;margin:2px 0 0;border:1.5px solid var(--ink-mute);cursor:pointer;flex:none}
.consent .form-check-input:checked{background-color:var(--forest);border-color:var(--forest)}
.consent .form-check-input:focus{box-shadow:0 0 0 3px rgba(31,59,47,.18);border-color:var(--forest)}
.consent.is-invalid{border-color:var(--clay)}
[data-consent-error]{display:none}
[data-consent-error].show{display:block;margin-top:-.4rem;margin-bottom:.6rem}
.consent strong{color:var(--ink)}
.consent a{font-weight:700}
.form-foot{font-size:.8rem;color:var(--ink-mute);margin-top:1rem}
.success{display:none;text-align:center;padding:2rem 1rem}
.success svg{width:64px;height:64px;margin:0 auto 1rem;color:var(--forest)}
.form-card.done form{display:none}
.form-card.done .success{display:block}

/* ---------- cta band ---------- */
.cta-band{background:var(--forest);color:var(--paper)}
.cta-band h2{color:var(--paper);margin:0;font-size:clamp(1.6rem,3vw,2.3rem)}
.cta-band p{margin:.4rem 0 0;color:#cfd8cf}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#cfcbbf;padding:4rem 0 2rem;font-size:.93rem}
.site-footer h4{color:var(--paper);font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.site-footer a{color:#e6e1d3;text-decoration:none}
.site-footer a:hover{color:var(--brass-soft);text-decoration:underline}
.site-footer .navbar-brand{color:var(--paper)}
.site-footer .navbar-brand .word i{color:var(--brass-soft)}
.site-footer .navbar-brand .word small{color:#9c9a8f}
.site-footer p{color:#cfcbbf}
.foot-disc{border-top:1px solid #34382f;margin-top:2.5rem;padding-top:1.8rem;font-size:.82rem;color:#a7a498;line-height:1.6}
.foot-disc p{margin-bottom:.7em;color:#a7a498}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.8rem;color:#8d8a7e}

/* ---------- inner page header ---------- */
.page-head{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule);background:var(--paper-2)}
.page-head h1{font-size:clamp(2.2rem,4.5vw,3.4rem)}
.crumbs{font-size:.82rem;color:var(--ink-mute);margin-bottom:1rem}
.crumbs a{color:var(--ink-mute)}

/* ---------- legal docs ---------- */
.doc{padding:clamp(2.5rem,5vw,4rem) 0}
.toc{position:sticky;top:96px;font-size:.9rem}
.toc h4{font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
.toc ol{padding-left:1.2rem;margin:0;display:grid;gap:.4rem}
.toc a{text-decoration:none;color:var(--ink-soft)}
.toc a:hover{color:var(--brass-dark)}
.doc-body{max-width:74ch}
.doc-body h2{font-size:1.6rem;margin-top:2.4rem;padding-top:.5rem;scroll-margin-top:100px}
.doc-body h2:first-of-type{margin-top:0}
.doc-body h3{font-size:1.15rem;margin-top:1.6rem}
.doc-body p,.doc-body li{color:var(--ink-soft)}
.doc-body ul,.doc-body ol{padding-left:1.4rem}
.doc-body li{margin-bottom:.4rem}
.doc-meta{font-size:.9rem;color:var(--ink-mute);border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1.5rem}
.callout{background:var(--paper-2);border:1.5px solid var(--rule);border-left:5px solid var(--brass);border-radius:0 12px 12px 0;padding:1.1rem 1.3rem;margin:1.4rem 0}
.callout p{margin:0;color:var(--ink)}
.kv{display:grid;grid-template-columns:200px 1fr;gap:.5rem 1.2rem;background:var(--white);border:1.5px solid var(--rule);border-radius:12px;padding:1.2rem 1.4rem;margin:1.2rem 0}
.kv dt{font-weight:700;color:var(--ink)}
.kv dd{margin:0;color:var(--ink-soft)}
@media (max-width:575.98px){.kv{grid-template-columns:1fr}.kv dt{margin-top:.4rem}}
.sample{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;background:var(--paper-2);border:1px dashed var(--rule);border-radius:10px;padding:.9rem 1rem;color:var(--ink)}

/* ---------- contact ---------- */
.contact-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.2rem}
.contact-list li{display:grid;grid-template-columns:44px 1fr;gap:1rem;align-items:start}
.contact-list .ic{width:44px;height:44px;border-radius:12px;background:var(--paper-2);border:1.5px solid var(--rule);display:grid;place-items:center;color:var(--forest)}
.contact-list .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-list strong{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.15rem}

/* ---------- about / practice detail ---------- */
.value{height:100%;background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);padding:1.6rem;position:relative}
.value .n{font-family:var(--serif);font-size:2.4rem;color:var(--brass-soft);line-height:1;font-weight:600}
.value h3{margin:.5rem 0 .4rem}
.value p{color:var(--ink-soft);margin:0;font-size:.97rem}
.pa-item{height:100%;background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);padding:1.6rem;scroll-margin-top:100px}
.pa-item .ic{color:var(--forest);width:40px;height:40px;margin-bottom:.8rem}
.pa-item .ic svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pa-item ul{padding-left:1.2rem;color:var(--ink-soft);margin:.6rem 0 0;font-size:.95rem}
.pa-item li{margin-bottom:.25rem}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ==========================================================================
   v2 additions — multi-level nav, offcanvas, carousels, blog, timeline, tabs
   ========================================================================== */
.topbar{background:var(--forest);color:#dfe6de;font-size:.82rem;padding:.45rem 0}
.topbar a{color:var(--brass-soft);text-decoration:none;font-weight:700}
.topbar .sep{opacity:.4;margin:0 .6rem}

/* dropdowns */
.navbar .dropdown-menu{border:1.5px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);padding:.6rem;background:var(--white);margin-top:.75rem;min-width:240px}
.navbar .dropdown-item{border-radius:8px;padding:.5rem .8rem;font-weight:600;color:var(--ink-soft);font-size:.93rem}
.navbar .dropdown-item:hover,.navbar .dropdown-item:focus{background:var(--paper-2);color:var(--ink)}
.navbar .dropdown-header{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-dark);font-weight:700;padding:.5rem .8rem .3rem}
.navbar .dropdown-divider{border-color:var(--rule);opacity:1}
.navbar .dropdown-toggle::after{border-top-color:var(--brass);margin-left:.35rem}
.navbar > .container{position:relative}
.nav-item.mega{position:static}
.mega-menu{left:0!important;right:0!important;width:auto;padding:1.4rem 1.6rem;transform:none!important}
.mega-menu .mega-cta{background:var(--forest);color:var(--paper);border-radius:12px;padding:1.2rem 1.3rem;height:100%}
.mega-menu .mega-cta h5{font-family:var(--serif);color:var(--paper);font-size:1.15rem}
.mega-menu .mega-cta p{color:#cfd8cf;font-size:.9rem}
.mega-menu .dropdown-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:.5rem;color:var(--forest-3)}

/* offcanvas */
.offcanvas{background:var(--paper);border-left:2px solid var(--ink)}
.offcanvas-header{border-bottom:1px solid var(--rule)}
.offcanvas .accordion{--bs-accordion-bg:transparent;--bs-accordion-border-width:0;--bs-accordion-btn-padding-x:0;--bs-accordion-btn-padding-y:.9rem;--bs-accordion-body-padding-x:0;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-btn-color:var(--ink)}
.offcanvas .accordion-item{border-bottom:1px solid var(--rule)}
.offcanvas .accordion-button{font-weight:700;background:transparent;box-shadow:none;color:var(--ink)}
.offcanvas .accordion-button::after{filter:sepia(1) saturate(3) hue-rotate(5deg)}
.offcanvas .list-unstyled a{display:block;padding:.4rem 0 .4rem .5rem;color:var(--ink-soft);text-decoration:none;font-weight:600}
.offcanvas .list-unstyled a:hover{color:var(--brass-dark)}
.offcanvas .plain-link{display:block;padding:.9rem 0;border-bottom:1px solid var(--rule);font-weight:700;color:var(--ink);text-decoration:none}

/* hero carousel */
.hero-carousel .carousel-item{background:var(--paper)}
.slide-photo{position:relative;min-height:560px;background-size:cover;background-position:center;display:flex;align-items:center;padding:4rem 0}
.slide-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,32,29,.9) 0%,rgba(28,32,29,.7) 45%,rgba(28,32,29,.25) 100%)}
.slide-photo .container{position:relative}
.slide-photo h2{color:var(--paper);font-size:clamp(2rem,4.4vw,3.4rem);font-weight:500;max-width:18ch}
.slide-photo p{color:#d9dcd2;font-size:1.15rem;max-width:52ch}
.slide-photo .eyebrow{color:var(--brass-soft)}
.slide-photo .eyebrow::before{background:var(--brass-soft)}
.carousel-indicators{margin-bottom:1.2rem}
.carousel-indicators [data-bs-target]{width:34px;height:5px;border-radius:3px;background:var(--brass);opacity:.35;border:0;margin:0 4px}
.carousel-indicators .active{opacity:1}
.carousel-control-prev,.carousel-control-next{width:6%;opacity:.9}
.carousel-control-prev-icon,.carousel-control-next-icon{background-color:var(--ink);border-radius:50%;width:44px;height:44px;background-size:50%;border:2px solid var(--brass)}
.cards-carousel .carousel-control-prev,.cards-carousel .carousel-control-next{width:44px;height:44px;top:-70px;bottom:auto;right:0;left:auto;opacity:1}
.cards-carousel .carousel-control-prev{right:54px}
.cards-carousel .carousel-inner{padding:6px}

/* blog cards */
.post-card{background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;color:var(--ink);text-decoration:none}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--brass);color:var(--ink)}
.post-card .thumb{aspect-ratio:16/10;object-fit:cover;width:100%;display:block;background:var(--paper-2)}
.post-card .body{padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;flex:1;align-items:flex-start}
.post-card .body p,.post-card .body h3,.post-card .body .meta{align-self:stretch}
.post-card h3{font-size:1.12rem;margin:0;line-height:1.3}
.post-card p{color:var(--ink-soft);font-size:.93rem;margin:0;flex:1}
.badge-cat{display:inline-block;font-family:var(--sans);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--forest);background:var(--brass-soft);border-radius:999px;padding:.28rem .65rem;text-decoration:none}
.badge-cat:hover{background:var(--brass);color:var(--ink)}
.meta{font-size:.8rem;color:var(--ink-mute);display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.meta .dot{width:4px;height:4px;border-radius:50%;background:var(--brass)}
.post-feature{display:grid;grid-template-columns:1.2fr 1fr;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--white);box-shadow:6px 6px 0 var(--brass-soft)}
.post-feature img{width:100%;height:100%;object-fit:cover;min-height:320px;background:var(--paper-2)}
.post-feature .body{padding:2.2rem}
.post-feature h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
@media (max-width:767.98px){.post-feature{grid-template-columns:1fr}}
.filter-pills .btn{--bs-btn-padding-y:.45rem;--bs-btn-padding-x:.95rem;--bs-btn-font-size:.86rem;box-shadow:none;transform:none}
.filter-pills .btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pagination{--bs-pagination-border-radius:10px;--bs-pagination-color:var(--ink);--bs-pagination-bg:var(--white);--bs-pagination-border-color:var(--rule);--bs-pagination-hover-bg:var(--paper-2);--bs-pagination-hover-color:var(--ink);--bs-pagination-active-bg:var(--ink);--bs-pagination-active-border-color:var(--ink);--bs-pagination-focus-box-shadow:0 0 0 3px rgba(181,134,47,.35);gap:.35rem}
.pagination .page-link{border-radius:10px;font-weight:700;border-width:1.5px}
.search-box .form-control{border-right:0;border-radius:10px 0 0 10px}
.search-box .input-group-text{background:var(--paper);border:1.5px solid var(--rule);border-left:0;border-radius:0 10px 10px 0;color:var(--ink-mute)}

/* article */
.progress-read{position:fixed;top:0;left:0;height:4px;background:var(--brass);z-index:2000;width:0;transition:width .1s linear}
.breadcrumb{--bs-breadcrumb-divider:'›';font-size:.84rem;margin-bottom:1rem}
.breadcrumb a{color:var(--ink-mute);text-decoration:none}
.breadcrumb-item.active{color:var(--ink-soft)}
.article-head{padding:clamp(2.5rem,5vw,4rem) 0 2rem}
.article-head h1{font-size:clamp(2rem,4.2vw,3.2rem);max-width:22ch}
.article-lead{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:18px;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--brass-soft);background:var(--paper-2)}
.article{max-width:70ch;font-size:1.1rem;line-height:1.7}
.article p{color:var(--ink-soft)}
.article h2{font-size:1.55rem;margin-top:2.2rem;margin-bottom:.7rem}
.article ul{padding-left:1.3rem;color:var(--ink-soft)}
.article li{margin-bottom:.45rem}
.article .callout{font-size:1.02rem}
.side-card{background:var(--white);border:1.5px solid var(--rule);border-radius:var(--radius);padding:1.4rem;margin-bottom:1.4rem}
.side-card h4{font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.9rem}
.side-card.cta{background:var(--forest);color:#e9e4d6;border-color:var(--forest)}
.side-card.cta h3{color:var(--paper);font-size:1.3rem}
.side-card.cta p{color:#cfd8cf;font-size:.95rem}
.list-group{--bs-list-group-bg:transparent;--bs-list-group-border-color:var(--rule);--bs-list-group-action-hover-bg:var(--paper-2);--bs-list-group-active-bg:var(--forest);--bs-list-group-active-border-color:var(--forest)}
.list-group-item{padding:.7rem .2rem;font-weight:600;color:var(--ink-soft);text-decoration:none}
.list-group:not(.list-group-numbered) .list-group-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.list-group-numbered .list-group-item{display:flex;justify-content:flex-start;gap:.7rem;align-items:flex-start;font-weight:500;color:var(--ink-soft)}
.list-group-numbered .list-group-item::before{font-family:var(--serif);font-weight:700;color:var(--brass-dark);min-width:1.2em}
.navbar .nav-link:focus{outline:none;box-shadow:none}
.navbar .nav-link:focus-visible{box-shadow:0 0 0 3px rgba(181,134,47,.4);border-radius:6px}
.list-group-item .badge{background:var(--paper-2);color:var(--ink-soft);font-weight:700;border-radius:999px}
.list-group-item.active .badge{background:var(--brass);color:var(--ink)}
.recent li{display:grid;grid-template-columns:64px 1fr;gap:.8rem;align-items:center;margin-bottom:.9rem}
.recent img{width:64px;height:52px;object-fit:cover;border-radius:8px;background:var(--paper-2)}
.recent a{font-weight:700;font-size:.9rem;text-decoration:none;color:var(--ink);line-height:1.3}
.recent small{display:block;color:var(--ink-mute);font-size:.75rem}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
.prevnext a{border:1.5px solid var(--rule);border-radius:12px;padding:1rem 1.2rem;text-decoration:none;color:var(--ink);background:var(--white)}
.prevnext a:hover{border-color:var(--brass)}
.prevnext small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.3rem}
.prevnext .next{text-align:right}
@media (max-width:575.98px){.prevnext{grid-template-columns:1fr}}
.alert-note{background:var(--paper-2);border:1.5px solid var(--rule);border-left:5px solid var(--clay);border-radius:0 12px 12px 0;color:var(--ink-soft);font-size:.92rem}

/* timeline */
.timeline{position:relative;padding-left:3rem}
.timeline::before{content:"";position:absolute;left:19px;top:10px;bottom:10px;border-left:2px dashed var(--brass)}
.tl-item{position:relative;margin-bottom:2.2rem}
.tl-item::before{content:attr(data-n);position:absolute;left:-3rem;top:-.1rem;width:40px;height:40px;border-radius:50%;background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--brass-soft);font-family:var(--serif);font-weight:600;font-size:1.1rem;display:grid;place-items:center}
.tl-item h3{margin-bottom:.35rem}
.tl-item p{color:var(--ink-soft);margin:0}
.tl-item .when{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-dark);font-weight:700}

/* tabs & pills */
.nav-pills{gap:.5rem}
.nav-pills .nav-link{font-weight:700;color:var(--ink-soft);border:1.5px solid var(--rule);border-radius:999px;padding:.55rem 1.1rem;background:var(--white)}
.nav-pills .nav-link.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.nav-tabs{border-bottom:2px solid var(--rule);gap:.25rem}
.nav-tabs .nav-link{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink-soft);border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.7rem 1rem}
.nav-tabs .nav-link.active{color:var(--ink);background:transparent;border-bottom-color:var(--brass)}
.tab-content{padding-top:1.5rem}

/* modal & tooltip */
.modal-content{border:2px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:8px 8px 0 var(--brass-soft)}
.modal-header{border-bottom:1px solid var(--rule)}
.modal-title{font-family:var(--serif)}
.tooltip{--bs-tooltip-bg:var(--ink);--bs-tooltip-color:var(--paper);--bs-tooltip-border-radius:8px;font-size:.82rem}
.term{border-bottom:2px dotted var(--brass);cursor:help}

/* about split header */
.page-head.split{padding-bottom:0;overflow:hidden}
.page-head.split .photo{height:100%;min-height:280px;object-fit:cover;width:100%;border-radius:18px 18px 0 0;border:2px solid var(--ink);border-bottom:0;background:var(--paper-3)}
.map-embed{border:2px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:6px 6px 0 var(--brass-soft);min-height:320px;background:var(--paper-2)}
.map-embed iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
.stat{background:var(--white);border:1.5px solid var(--rule);border-radius:14px;padding:1.2rem 1.3rem}
.stat .n{font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1}
.stat small{display:block;color:var(--ink-mute);font-size:.82rem;margin-top:.3rem}
.btn .spinner-border{width:1rem;height:1rem;border-width:2px}

@media (max-width:991.98px){.hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next{display:none}}

/* ---------- v3: static photo hero, photo cards, collage, strips ---------- */
.hero-static{min-height:640px;padding:5rem 0 4.5rem;background-position:center top}
.hero-static h1{color:var(--paper);font-size:clamp(2.4rem,5vw,4rem);font-weight:500;max-width:18ch;margin-bottom:1.2rem}
.hero-static p{color:#dfe2d8;font-size:1.15rem;max-width:56ch}
.hero-static .actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:1.6rem}
.link-arrow.light{color:var(--brass-soft)}
.trust-row.light{color:#d9dcd2;border-top-color:rgba(246,241,230,.3)}
.trust-row.light svg{color:var(--brass-soft)}
.area-photo{padding:0;overflow:hidden}
.area-photo .area-img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--paper-2);border-bottom:1.5px solid var(--rule)}
.area-photo .area-body{padding:1.2rem 1.3rem 1.4rem}
.area-photo .ic{width:36px;height:36px;margin:-38px 0 .6rem;background:var(--paper);border:1.5px solid var(--rule);border-radius:10px;padding:5px;position:relative;box-shadow:2px 2px 0 var(--brass-soft)}
.area-photo .ic svg{width:24px;height:24px}
.area-photo .go{background:var(--paper);border-radius:50%;padding:6px;width:34px;height:34px;display:grid;place-items:center}
.pa-item .pa-img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:10px;border:1.5px solid var(--rule);margin-bottom:1rem;background:var(--paper-2)}
.collage{position:relative;min-height:440px}
.collage img{position:absolute;object-fit:cover;border:2px solid var(--paper);border-radius:14px;box-shadow:var(--shadow);background:var(--paper-3)}
.collage .c1{left:0;top:0;width:68%;aspect-ratio:4/3;transform:rotate(-2deg)}
.collage .c2{right:0;top:38%;width:52%;aspect-ratio:1/1;transform:rotate(3deg);z-index:2}
.collage .c3{position:absolute;left:0;bottom:-10px;width:62%;padding:1.2rem 1.3rem;transform:rotate(1deg);z-index:3}
.collage .c3 p{font-size:1rem}
.collage .c3 .who{margin-top:.6rem;font-size:.72rem}
@media (max-width:991.98px){.collage{min-height:380px;max-width:520px;margin:2rem auto 0}}
.photo-strip{padding:2.5rem 0 .5rem}
.photo-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1.5px solid var(--rule);background:var(--paper-2);transform:rotate(var(--r,0deg))}
.photo-strip .col-6:nth-child(1) img{--r:-1.2deg}.photo-strip .col-6:nth-child(2) img{--r:.8deg}.photo-strip .col-6:nth-child(3) img{--r:-.6deg}.photo-strip .col-6:nth-child(4) img{--r:1.1deg}
.photo-strip + section{padding-top:clamp(2.5rem,5vw,4rem)}
.photo-frame{border:2px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--brass-soft);width:100%;object-fit:cover;background:var(--paper-2)}

/* ---------- hover bridge: keeps dropdown open while the cursor crosses the gap ---------- */
.navbar .dropdown-menu{position:absolute}
.navbar .dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem}
.navbar .nav-item.dropdown{position:relative}
.navbar .nav-item.mega{position:static}

@media (max-width:991.98px){.step{text-align:left}.step .num{margin:0 0 1.2rem}}
.cards-carousel .carousel-item .area{height:100%}

/* ---------- v5: photo banners on every page + richer articles ---------- */
.page-head.has-bg,.article-head.has-bg{position:relative;background-size:cover;background-position:center 30%;border-bottom:0;color:var(--paper)}
.page-head.has-bg::before,.article-head.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,32,29,.9) 0%,rgba(31,59,47,.78) 55%,rgba(28,32,29,.5) 100%)}
.page-head.has-bg > .container,.article-head.has-bg > .container{position:relative;z-index:1}
.page-head.has-bg{padding:clamp(3.5rem,8vw,6rem) 0 clamp(3rem,6vw,4.5rem)}
.page-head.has-bg h1,.article-head.has-bg h1{color:var(--paper)}
.page-head.has-bg .lede,.article-head.has-bg .lede{color:#dfe2d8}
.has-bg .breadcrumb a,.has-bg .breadcrumb-item::before{color:#c9cfc4}
.has-bg .breadcrumb-item.active{color:var(--brass-soft)}
.article-head.has-bg{padding-bottom:3rem;margin-bottom:2.5rem}
.article-head.has-bg .meta{color:#d3d7cc}
.article-head.has-bg .btn-outline-ink{--bs-btn-color:var(--paper);--bs-btn-border-color:var(--paper);--bs-btn-hover-bg:var(--paper);--bs-btn-hover-color:var(--ink)}
.page-head.split.has-bg .photo{border-color:var(--paper)}
.art-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.8rem}
.art-facts div{background:var(--white);border:1.5px solid var(--rule);border-radius:12px;padding:.8rem 1rem}
.art-facts small{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-weight:700}
.art-facts strong{font-family:var(--serif);font-size:1rem;color:var(--ink)}
@media (max-width:575.98px){.art-facts{grid-template-columns:1fr 1fr}}
.art-toc{background:var(--paper-2);border:1.5px solid var(--rule);border-left:5px solid var(--brass);border-radius:0 14px 14px 0;padding:1.2rem 1.4rem;margin-bottom:2rem}
.art-toc h4{font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-dark);margin-bottom:.6rem}
.art-toc ol{margin:0;padding-left:1.2rem}.art-toc li{margin-bottom:.3rem;font-size:1rem}
.art-toc a{color:var(--ink);text-decoration:none;font-weight:600}.art-toc a:hover{color:var(--brass-dark)}
.article h2{scroll-margin-top:110px}
.art-fig{margin:2.2rem 0}
.art-fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--brass-soft);background:var(--paper-2)}
.art-fig figcaption{font-size:.88rem;color:var(--ink-mute);margin-top:.8rem}
.art-next{margin-top:2.5rem;background:var(--forest);color:#e9e4d6;border-radius:16px;padding:1.6rem 1.8rem}
.art-next h3{color:var(--paper);font-size:1.3rem}
.art-next ul{margin:0;padding-left:1.2rem}.art-next li{margin-bottom:.4rem;color:#e9e4d6}
.art-next a{color:var(--brass-soft);font-weight:700}

.article h3{font-size:1.18rem;margin:1.6rem 0 .5rem;color:var(--ink)}

/* ---------- v7: keep heads in frame — crop from the upper third, gentler ratios ---------- */
.article-lead{aspect-ratio:2/1;object-position:50% 22%}
.art-fig img{aspect-ratio:3/2;object-position:50% 22%}
.post-card .thumb,.area-photo .area-img,.pa-item .pa-img,.photo-frame,.collage img,.photo-strip img,.recent img,.post-feature img,.page-head.split .photo{object-position:50% 22%}
.pa-item .pa-img{aspect-ratio:16/9}
.slide-photo,.hero-static,.page-head.has-bg,.article-head.has-bg{background-position:center 22%}

.navbar-brand svg{width:46px;height:46px;flex:none}
.site-footer .navbar-brand svg{width:52px;height:52px}

/* ---------- v8: hero shows the photo; shading only behind the text ---------- */
.hero-static{background-position:center 30%;min-height:600px}
.hero-static::before{background:linear-gradient(90deg,rgba(22,26,23,.92) 0%,rgba(22,26,23,.82) 34%,rgba(22,26,23,.35) 58%,rgba(22,26,23,0) 78%)}
@media (max-width:991.98px){.hero-static::before{background:rgba(22,26,23,.78)}}

/* v9: readable next-steps box inside articles (the generic .article h3/ul colors were winning) */
.article .art-next h3{color:var(--paper);margin-top:0}
.article .art-next ul,.article .art-next li{color:#e9e4d6}
.article .art-next li::marker{color:var(--brass-soft)}
.article .art-next a{color:var(--brass-soft)}
.article .art-next a:hover{color:#fff}

/* v10: split hero, text on the left and framed people photos on the right (nothing sits on top of a face) */
.hero-split{position:relative;background:var(--forest);color:var(--paper);padding:clamp(3rem,6vw,5.2rem) 0 clamp(3.5rem,6vw,5.5rem);overflow:hidden}
.hero-split::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(233,215,173,.16),transparent 42%),radial-gradient(circle at 6% 95%,rgba(181,134,47,.2),transparent 38%);pointer-events:none}
.hero-split::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:2px dashed rgba(233,215,173,.18);border-radius:50%;pointer-events:none}
.hero-split .container{position:relative;z-index:1}
.hero-split h1{color:var(--paper);font-size:clamp(2.3rem,4.6vw,3.7rem);font-weight:500;max-width:17ch;margin-bottom:1.1rem}
.hero-split p{color:#dfe2d8;font-size:1.12rem;max-width:54ch}
.hero-split .eyebrow{color:var(--brass-soft)}
.hero-split .eyebrow::before{background:var(--brass-soft)}
.hero-split .actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:1.6rem}
.hero-photos{position:relative;padding:0 0 5rem 3rem}
.hero-photos img{display:block;object-fit:cover;object-position:50% 20%;background:var(--forest-2)}
.hero-photos .main{width:100%;height:auto;aspect-ratio:4/3;border-radius:22px;border:3px solid var(--paper);box-shadow:14px 14px 0 var(--brass)}
.hero-photos .inset{position:absolute;left:0;bottom:0;width:36%;height:auto;aspect-ratio:4/3;border-radius:16px;border:3px solid var(--paper);box-shadow:0 18px 40px rgba(0,0,0,.35);transform:rotate(-3deg)}
.hero-photos .badge-card{position:absolute;right:-8px;bottom:.6rem;background:var(--paper);color:var(--ink);border-radius:14px;padding:.75rem 1rem;box-shadow:0 14px 30px rgba(0,0,0,.28);display:flex;gap:.6rem;align-items:center;font-weight:700;font-size:.95rem;line-height:1.2;transform:rotate(2deg)}
.hero-photos .badge-card svg{width:26px;height:26px;flex:none;color:var(--forest-3)}
.hero-photos .badge-card small{display:block;font-weight:400;color:var(--ink-soft);font-size:.8rem}
@media (max-width:991.98px){.hero-photos{padding:0 0 1.5rem}.hero-photos .inset{display:none}.hero-photos .main{box-shadow:8px 8px 0 var(--brass)}.hero-photos .badge-card{right:.6rem;bottom:0}}

/* v10: people photos crop from near the top so heads stay in frame */
.article-lead{aspect-ratio:16/9;object-position:50% 15%}
.art-fig img,.post-card .thumb,.area-photo .area-img,.pa-item .pa-img,.photo-frame,.collage img,.photo-strip img,.recent img,.post-feature img,.page-head.split .photo,.img-fluid{object-position:50% 15%}

/* v11: individual practice-area pages */
.pa-kicker{display:inline-flex;align-items:center;gap:.6rem;background:rgba(246,241,230,.1);border:1px solid rgba(246,241,230,.28);border-radius:999px;padding:.35rem .9rem .35rem .45rem;margin:.4rem 0 1rem;color:var(--brass-soft);font-weight:700;font-size:.9rem;letter-spacing:.02em}
.pa-kicker .ic{width:30px;height:30px;border-radius:50%;background:var(--paper);color:var(--forest);display:grid;place-items:center}
.pa-kicker .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pa-head .actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center}
.pa-facts{background:var(--white);border-bottom:1px solid var(--rule)}
.pa-facts .fact{display:flex;gap:.7rem;align-items:flex-start;padding:1.1rem 1rem;border-right:1px dashed var(--rule);height:100%}
.pa-facts .col-lg-3:last-child .fact{border-right:0}
.pa-facts .fact svg{width:22px;height:22px;flex:none;color:var(--forest-3);margin-top:.15rem}
.pa-facts strong{display:block;font-size:.98rem}
.pa-facts small{color:var(--ink-mute);font-size:.82rem}
@media (max-width:991.98px){.pa-facts .fact{border-right:0;border-bottom:1px dashed var(--rule)}}
.pa-covers{background:var(--paper-2);border:1.5px solid var(--rule);border-radius:var(--radius);padding:1.8rem 1.8rem 1.4rem;margin-bottom:2.2rem}
.check-grid{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.4rem}
.check-grid li{display:flex;gap:.55rem;align-items:flex-start;color:var(--ink);font-size:.97rem}
.check-grid svg{width:20px;height:20px;flex:none;color:var(--brass-dark);margin-top:.12rem}
@media (max-width:575.98px){.check-grid{grid-template-columns:1fr}}
.pa-article h2:first-child{margin-top:1.4rem}
.pa-checklist{margin-top:2.6rem;background:var(--forest);color:#e9e4d6;border-radius:var(--radius);padding:1.9rem 1.9rem 1.5rem}
.pa-checklist h2{color:var(--paper)}
.pa-checklist .eyebrow{color:var(--brass-soft)}
.pa-checklist p{color:#d3d7cc !important}
.pa-checklist ol{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.4rem}
.pa-checklist li{display:flex;gap:.7rem;align-items:flex-start}
.pa-checklist .n{font-family:var(--serif);font-size:1.05rem;color:var(--ink);background:var(--brass-soft);border-radius:8px;min-width:36px;height:30px;display:grid;place-items:center;flex:none}
@media (max-width:575.98px){.pa-checklist ol{grid-template-columns:1fr}}
.pa-list .list-group-item{font-weight:600;font-size:.95rem;color:var(--ink);background:transparent;padding:.6rem .2rem}
.pa-list svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--forest-3)}
.pa-list .list-group-item:hover{color:var(--forest);background:var(--paper-2)}
.pa-next{list-style:none;padding:0;margin:1.6rem 0 0}
.pa-next li{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem;color:var(--ink-soft)}
.pa-next span{width:32px;height:32px;border-radius:50%;background:var(--forest);color:var(--paper);display:grid;place-items:center;font-weight:700;flex:none}
.pa-item h3 a{color:inherit;text-decoration:none}
.pa-item h3 a:hover{color:var(--forest)}
.pa-list .list-group-item{justify-content:flex-start !important;text-align:left}

/* v12: the short column beside a long form stays in view while the form scrolls */
@media (min-width:992px){.sticky-aside{position:sticky;top:110px}}
.form-aside .photo-frame{width:100%;object-fit:cover;object-position:50% 15%}

/* v12: responsive safety. g-5 rows have 24px negative side margins but the container only has 12px of padding,
   which made every page scroll sideways a little on phones and tablets */
@media (max-width:991.98px){.g-5,.gx-5{--bs-gutter-x:1.5rem}}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
img,svg,video,iframe{max-width:100%}
@media (min-width:992px){.container{--bs-gutter-x:3rem}}
@media (max-width:991.98px){.form-aside .photo-frame{display:none}}
