/* ============================================================
   STATUTE — the practice
   Scoped to body.d-statute. 1rem = 10px.
   ============================================================ */
body.d-statute{
  --st-paper:#f8f5ee;--st-sheet:#fffdf8;--st-ink:#1c1b2e;--st-soft:#474558;--st-mute:#66637a;--st-line:#e6e0d2;--st-rule:#d8cfbd;--st-indigo:#3730a3;--st-margin:#c2410c;
  --bg-primary:var(--st-paper);--bg-secondary:#f1ece1;--bg-card:var(--st-sheet);--bg-inset:#f3eee4;
  --fg-primary:var(--st-ink);--fg-soft:var(--st-soft);--fg-muted:var(--st-mute);--border-color:var(--st-line);--border-strong:var(--st-rule);
  background:var(--st-paper);color:var(--st-ink);font-family:'IBM Plex Sans',system-ui,sans-serif
}
body.d-statute h1,body.d-statute h2,body.d-statute h3{font-family:'Spectral',Georgia,serif;font-weight:500;letter-spacing:-.01em;line-height:1.08}
.st-kick{font-size:1.15rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--st-indigo);margin-bottom:1rem}

body.d-statute .bx-nav{background:rgba(248,245,238,.9)}
body.d-statute .bx-brand-mark{border-radius:2px;background:var(--st-indigo);font-family:'Spectral',serif}
body.d-statute .bx-brand-txt b{font-family:'Spectral',serif;font-weight:600;font-size:1.9rem}
body.d-statute .bx-nav-links a{font-size:1.3rem;color:var(--st-soft)}
body.d-statute .bx-nav-links a::after{background:var(--st-indigo);height:1px}
body.d-statute .bx-nav-cta{background:var(--st-ink);border-radius:2px}

/* hero: the letterhead */
.st-hero{position:relative;padding:calc(var(--nav-h) + 6rem) 3rem 7rem;background:
  repeating-linear-gradient(0deg,transparent 0 31px,rgba(55,48,163,.06) 31px 32px),var(--st-sheet);border-bottom:1px solid var(--st-line)}
.st-hero::before{content:'';position:absolute;top:0;bottom:0;left:max(3rem,calc(50% - var(--max-w) / 2 - 2.4rem));width:1px;background:var(--st-margin);opacity:.45}
.st-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:6rem;align-items:start}
.st-hero-in>*{min-width:0}
.st-hero h1{font-size:clamp(5rem,8vw,9.6rem);font-weight:600;color:var(--st-ink)}
.st-flourish{display:block;width:min(420px,80%);height:auto;margin:1rem 0 .6rem}
.st-flourish path{fill:none;stroke:var(--st-indigo);stroke-width:2;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:0}
.fx2 .st-flourish path{animation:st-sign 1.8s .4s both cubic-bezier(.6,.1,.3,1)}
@keyframes st-sign{from{stroke-dashoffset:520}}
.st-tag{font-family:'Spectral',serif;font-style:italic;font-size:clamp(2rem,2.4vw,2.6rem);color:var(--st-soft)}
.st-lede{font-size:1.65rem;line-height:1.75;color:var(--st-soft);margin-top:1.6rem;max-width:56ch}
.st-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3rem}
.st-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.5rem 2.4rem;border-radius:2px;font-size:1.45rem;font-weight:600;transition:background .25s,color .25s,transform .25s var(--ease)}
.st-btn-main{background:var(--st-ink);color:#fff}
.st-btn-main:hover{background:var(--st-indigo);transform:translateY(-2px)}
.st-btn-line{border:1px solid var(--st-ink);color:var(--st-ink)}
.st-btn-line:hover{background:var(--st-ink);color:#fff}

.st-register{position:relative;background:#fff;border:1px solid var(--st-rule);padding:2.6rem 2.8rem 3rem;box-shadow:8px 8px 0 var(--st-line)}
.st-register-h{font-family:'Spectral',serif;font-style:italic;font-size:1.9rem;border-bottom:3px double var(--st-rule);padding-bottom:1rem;margin-bottom:.8rem}
.st-register table{width:100%;border-collapse:collapse}
.st-register th,.st-register td{text-align:left;vertical-align:top;padding:1.1rem 0;border-bottom:1px dotted var(--st-rule);font-size:1.4rem}
.st-register th{font-weight:500;color:var(--st-mute);width:42%;padding-right:1.2rem}
.st-register th span{font-family:'Spectral',serif;font-style:italic;color:var(--st-indigo)}
.st-register td{font-weight:600;word-break:break-word}
.st-seal{position:absolute;right:-18px;bottom:-26px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,#4338ca 0 58%,#3730a3 59% 62%,#4338ca 63%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:0 10px 24px rgba(55,48,163,.3)}
.st-seal b{font-family:'Spectral',serif;font-size:2.6rem;line-height:1}
.st-seal i{font-style:normal;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}

/* sections: numbered clauses */
.st-sec{padding:8rem 3rem 0}
.st-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.st-head{display:flex;gap:2.4rem;align-items:baseline;border-bottom:1px solid var(--st-rule);padding-bottom:2rem;margin-bottom:3.6rem}
.st-cl{font-family:'Spectral',serif;font-size:clamp(4rem,5vw,6rem);color:var(--st-indigo);line-height:1;min-width:6rem}
.st-sec h2{font-size:clamp(3.2rem,4.4vw,4.8rem)}

.st-sched{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 5rem}
.st-sched li{display:flex;gap:2rem;padding:2.2rem 0;border-bottom:1px dotted var(--st-rule)}
.st-sub{font-family:'Spectral',serif;font-style:italic;font-size:1.7rem;color:var(--st-indigo);min-width:4rem}
.st-sched h3{font-size:2.3rem;font-weight:600}
.st-sched h3 i{font-size:1.5rem;color:var(--st-margin);margin-right:.4rem;vertical-align:.2em}
.st-sched p{font-size:1.5rem;line-height:1.7;color:var(--st-soft);margin-top:.6rem}

.st-recitals{padding-left:8.4rem}
.st-recitals p{max-width:820px}
.st-recitals p{font-family:'Spectral',serif;font-size:2rem;line-height:1.7;color:var(--st-soft)}
.st-recitals p+p{margin-top:1.8rem}

.st-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.st-gal-item{padding:0;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}
.st-gal-item img{width:100%;height:100%;object-fit:cover}
.st-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.st-rev blockquote{font-family:'Spectral',serif;font-style:italic;font-size:1.9rem;line-height:1.6}
.st-rev figcaption{margin-top:1rem;color:var(--st-mute)}

.st-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.st-contact>*{min-width:0}
.st-contact-lede{font-family:'Spectral',serif;font-size:1.8rem;line-height:1.7;color:var(--st-soft);margin-bottom:2.6rem}
body.d-statute .ci{border-radius:2px;background:#fff;border-color:var(--st-line)}
body.d-statute .ci-ico{border-radius:2px;background:var(--st-ink);color:#fff}
body.d-statute .contact-form{border-radius:2px;background:#fff;border-color:var(--st-rule);box-shadow:8px 8px 0 var(--st-line)}
body.d-statute .contact-form h3{font-family:'Spectral',serif;font-weight:600;font-size:2.6rem;margin-bottom:1.4rem}
body.d-statute .cf-none p{font-size:1.5rem;color:var(--st-soft);margin:1rem 0 2rem}
body.d-statute .cf-field input,body.d-statute .cf-field textarea{border-radius:2px}
body.d-statute .btn-onbiz{background:var(--st-ink);border-radius:2px}
body.d-statute .hours-row{border-radius:2px}
.st-map{margin-top:3rem}
.st-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-statute .bx-foot{background:var(--st-ink);color:#d9d6e8;margin-top:6rem}
body.d-statute .bx-foot p,body.d-statute .bx-foot li,body.d-statute .bx-foot a{color:#b3afc9}
body.d-statute .bx-foot-col h2{color:#c7c2ff;font-family:'Spectral',serif;font-style:italic;text-transform:none;letter-spacing:0}
body.d-statute .bx-foot .bx-brand-txt b{color:#fff}
body.d-statute .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}

@media (max-width:980px){
  .st-hero-in,.st-contact{grid-template-columns:1fr}
  .st-sched{grid-template-columns:1fr}
  .st-recitals{padding-left:0}
  .st-register{margin-right:1.6rem}
}
@media (max-width:640px){
  .st-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 6rem}
  .st-hero::before{left:.8rem}
  .st-sec{padding:6rem 1.6rem 0}
  .st-head{gap:1.4rem}
  .st-cl{min-width:0}
  .st-register{padding:2rem}
  .st-register th{width:auto}
  .st-seal{width:76px;height:76px;right:-10px}
  .st-recitals p{font-size:1.75rem}
  .st-share{padding:0 1.6rem}
}
