/* ═══════════════════════════════════════════════════════════════════════
   Omerica Studios — shared components (Atlas rebuild)
   GENERATED by scripts/extract-components.mjs from the legacy cascade's
   winning rules; consumes tokens.css. Hand-edits go BELOW the generated
   region or in per-page sheets.
   Load order per page: fonts.css → tokens.css → components.css → page css.
   ═══════════════════════════════════════════════════════════════════════ */
html, body{ margin: 0; padding: 0; }
body{
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}
img, video{ max-width: 100%; display: block; }
figure{ margin: 0; padding: 0; }
a{ color: inherit; text-decoration: none; }
h1, h2, h3, h4{
  font-family: var(--serif);
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -0.012em;
  margin: 0 0 18px;
  text-wrap: balance;
}
h1{ font-size: var(--fs-h1); line-height: 1.04; }
h2{ font-size: var(--fs-h2); line-height: 1.08; }
h3{ font-size: var(--fs-h3); line-height: 1.12; }
h4{ font-size: var(--fs-h4); }
em{
  color: var(--ottoman);
  font-style: italic;
}
p{
  color: var(--ink-2);
  font-size: var(--fs-body);
  line-height: 1.6;
  text-wrap: pretty;
}
.eyebrow{
  font-family: var(--display);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--ottoman);
  font-weight: 700;
  margin-bottom: 14px;
  display: inline-block;
}
.on-dark .eyebrow, .hero .eyebrow,
.founder-feature-body .eyebrow, .eid .eyebrow{ color: var(--gold); }
blockquote.pull{
  margin: 0 0 22px;
  padding: 0 0 0 22px;
  border-left: 3px solid var(--gold);
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.45;
  color: inherit;
}
.btn{
  display: inline-block;
  padding: 16px 32px;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: var(--tracking-button);
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: var(--r-1);
  cursor: pointer;
  transition: background-color var(--t-quick), color var(--t-quick), border-color var(--t-quick);
}
.btn-primary{
  background: var(--ottoman);
  color: #fff;
  border-color: var(--ottoman);
}
.btn-primary:hover{ background: var(--ottoman-deep); border-color: var(--ottoman-deep); }
.btn-ghost{
  background: transparent;
  color: var(--gold);
  border-color: var(--gold);
}
.btn-ghost:hover{ background: var(--gold); color: var(--cobalt-deep); }
p .ko, .menu-item .ko{
  color: var(--ink);
  font-weight: 500;
}
.nav{
  position: sticky; top: 0; z-index: 50;
  display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center;
  padding: 14px 32px;
  background: var(--paper);
  border-bottom: 2px solid var(--cobalt-deep);
}
.nav-brand{ display: flex; flex-direction: column; line-height: 1; cursor: pointer; }
.nav-brand .name{ font-family: var(--display); font-weight: 700; font-size: 14px; letter-spacing: .18em; color: var(--ink); text-transform: uppercase; }
.nav-brand .tag{ font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--ink-2); margin-top: 3px; }
.nav-links{ display: flex; gap: 24px; list-style: none; padding: 0; margin: 0; justify-content: center; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.nav-links a{ color: var(--ink-2); font-weight: 600; cursor: pointer; transition: color var(--t-quick); }
.nav-links a:hover, .nav-links a.active{ color: var(--ottoman); }
.nav-cta{ background: var(--ottoman); color: #fff; padding: 10px 18px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border-radius: 1px; cursor: pointer; border: 0; transition: background var(--t-quick); }
.nav-cta:hover{ background: var(--ottoman-deep); }
.hero .eyebrow{ color: var(--gold); }
.btn-primary, .btn-ghost, .btn-cobalt{
  display: inline-block; padding: 16px 32px;
  font-weight: 600; font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
  border-radius: 1px; cursor: pointer; border: 1px solid transparent;
  transition: background var(--t-quick), color var(--t-quick), border-color var(--t-quick);
  font-family: var(--sans);
}
.btn-primary{ background: var(--ottoman); color: #fff; border-color: var(--ottoman); }
.btn-primary:hover{ background: var(--ottoman-deep); border-color: var(--ottoman-deep); }
.btn-ghost{ background: transparent; color: var(--gold); border-color: var(--gold); }
.btn-ghost:hover{ background: var(--gold); color: var(--cobalt-deep); }
.founder-feature-body .eyebrow{ color: var(--gold); }
.eid .eyebrow{ color: var(--gold); }
footer{ background: var(--ink); color: var(--paper); padding: 56px 28px 28px; }
.foot-mark{ text-align: center; margin-bottom: 36px; padding-bottom: 36px; border-bottom: 1px solid rgba(255,211,77,.2); }
.foot-mark .seal{ font-family: var(--display); font-size: 13px; letter-spacing: .36em; color: var(--gold); font-weight: 600; text-transform: uppercase; }
.foot-mark .est{ font-family: var(--serif); font-style: italic; color: rgba(242,251,249,.7); font-size: 14px; margin-top: 6px; }
.foot-grid{ max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 36px; text-align: left; }
.foot-brand-text{ font-family: var(--serif); font-style: italic; font-size: 1.4rem; line-height: 1.2; color: var(--paper); margin-bottom: 10px; }
.foot-brand-text em{ color: var(--gold); font-style: italic; }
.foot-about{ font-size: .92rem; line-height: 1.6; color: rgba(242,251,249,.7); }
.foot-col h4{ font-family: var(--display); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin: 0 0 14px; font-weight: 700; }
.foot-col ul{ list-style: none; padding: 0; margin: 0; }
.foot-col li{ font-size: .93rem; padding: 4px 0; color: rgba(242,251,249,.85); cursor: pointer; }
.foot-col li:hover{ color: var(--gold); }
.foot-bottom{ max-width: 1080px; margin: 36px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,211,77,.2); font-size: .82rem; color: rgba(242,251,249,.5); text-align: center; letter-spacing: .04em; }
body.instance-omerica,
body{
  --ottoman:#0e7c5b; --ottoman-deep:#0a4551;   
  --gold:#ffd34d;                               
  --cobalt:#0e7c5b;                             
  --cobalt-deep:#0d6377;                        
  --turquoise:#2a7d52;
  --rule-cobalt:rgba(12,90,109,.14);
  --rule-cobalt-strong:rgba(12,90,109,.4);
  --globe-line:201,160,73;                      
}
body.instance-cobalt{
  --ottoman:#b03050; --ottoman-deep:#5a0e0e;
  --gold:#ffd34d; --cobalt:#0e7c5b; --cobalt-deep:#0d6377; --turquoise:#2ea0b8;
  --rule-cobalt:rgba(12,90,109,.14); --rule-cobalt-strong:rgba(12,90,109,.4);
  --globe-line:201,160,73;
}
body.instance-ink{
  --ottoman:#9a6a2f; --ottoman-deep:#6f4a1d;
  --gold:#ffd34d; --cobalt:#9a6a2f; --cobalt-deep:#17130d; --turquoise:#8a6a3a;
  --rule-cobalt:rgba(26,22,16,.14); --rule-cobalt-strong:rgba(26,22,16,.4);
  --globe-line:201,160,73;
}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{font-family:var(--sans);background:var(--cream);}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.nav{grid-template-columns:1fr auto 1fr;}
.nav-brand{justify-self:start;min-width:max-content;flex:none;}
.nav-links{justify-self:center;}
.nav-cta{white-space:nowrap;justify-self:end;}
.nav-links a{font-weight:700;font-size:14px;letter-spacing:.12em;}
.nav-brand{display:flex;align-items:center;cursor:pointer;text-decoration:none;}
.nav{transition:box-shadow .25s ease,background-color .25s ease,border-color .25s ease;}
.nav.scrolled{box-shadow:0 10px 30px rgba(12,90,109,.12);border-bottom:1px solid var(--rule-cobalt);}
.story-split .eyebrow{margin-bottom:14px;}
.brand-logo{height:68px;width:auto;max-width:none;display:block;object-fit:contain;}
.brand-logo-wrap{position:relative;display:inline-block;line-height:0;}
@media (max-width:880px){.brand-logo{height:52px;}}
.foot-logo{height:96px;width:auto;display:block;margin:0 auto 16px;filter:drop-shadow(0 4px 18px rgba(255,211,77,.25));}
.nav-brand .name{display:flex;align-items:baseline;gap:8px;}
.nav-brand .name b{font-weight:700;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.nav-toggle span{width:22px;height:2px;background:var(--ink);display:block;}
@media (max-width:880px){.nav{grid-template-columns:1fr auto auto;gap:14px;}.nav-toggle{justify-self:end;}.nav-links{position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:0 28px;max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--rule-cobalt);}.nav-links.open{max-height:360px;}.nav-links li{width:100%;padding:14px 0;border-bottom:1px solid var(--rule-cobalt);}.nav-toggle{display:flex;}.nav .nav-cta{padding:8px 12px;font-size:11px;letter-spacing:.08em;}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.hero-actions .btn-primary,.hero-actions .btn-ghost{text-decoration:none;}
.reveal.in{opacity:1;transform:none;}
a.wk:hover{transform:translateY(-3px);border-color:#ffd34d;box-shadow:0 16px 40px rgba(12,90,109,.34);}
a.wk:hover .wk-shot img{transform:scale(1.05);}
.process .wrap{position:relative;}
.process .eyebrow{color:var(--gold);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:8px;}
.step{padding:32px 26px 8px 0;border-top:1px solid rgba(255,211,77,.28);}
.step .n{font-family:var(--serif);font-style:italic;font-size:3rem;color:var(--gold);line-height:1;}
.step h3{font-family:var(--serif);color:var(--paper);font-size:1.4rem;margin:16px 0 10px;}
.step p{color:rgba(242,251,249,.72);font-size:.96rem;line-height:1.6;margin:0;}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,1fr);gap:0 28px;}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}
.contact .eyebrow{color:var(--gold);}
.instance-omerica .corner-clock .hand-sec{background:#e0b85f;}
@media (max-width:880px){header.nav .nav-links{
    position:absolute !important; top:100% !important; left:0 !important; right:0 !important;
    width:auto !important; justify-self:stretch !important;
    flex-direction:column !important; align-items:stretch !important;
    gap:0 !important; padding:0 !important; margin:0 !important;
    background:var(--paper); border-bottom:1px solid var(--rule-cobalt);
    box-shadow:0 18px 32px rgba(12,90,109,.14);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }header.nav .nav-links.open{max-height:80vh !important;}header.nav .nav-links li{width:100% !important; padding:0 !important; border-bottom:1px solid var(--rule-cobalt);}header.nav .nav-links li:last-child{border-bottom:0;}header.nav .nav-links a{display:block; width:100%; padding:15px 28px; font-size:13px;}}
.price-card.featured{
  background:var(--cobalt-deep);
  color:var(--paper);
  border-color:var(--gold);
  transform:translateY(-8px);
}
.price-card.featured .price-kicker{color:var(--gold);}
.price-card.featured .price{color:var(--gold);}
.price-card.featured p{color:rgba(242,251,249,.78);}
.price-card.featured li{color:rgba(242,251,249,.82);}
.legal-hero{
  background:var(--cobalt-deep);
  color:var(--paper);
  padding:150px 0 80px;
  border-bottom:1px solid rgba(255,211,77,.35);
}
.legal-hero h1{
  font-family:var(--serif);
  font-size:clamp(2.8rem,7vw,5.4rem);
  line-height:.95;
  max-width:900px;
  margin:0 0 22px;
}
.legal-hero p{
  max-width:760px;
  color:rgba(242,251,249,.78);
  font-size:1.12rem;
}
.legal-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:42px;
  padding:70px 0;
}
.legal-toc{
  position:sticky;
  top:105px;
  align-self:start;
  background:#fff;
  border:1px solid var(--rule-cobalt);
  padding:22px;
}
.legal-toc strong{
  display:block;
  font-family:var(--display);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ottoman);
  margin-bottom:14px;
}
.legal-toc a{
  display:block;
  padding:8px 0;
  border-top:1px solid rgba(12,90,109,.08);
  color:var(--ink);
  font-weight:700;
  font-size:.95rem;
}
.legal-doc{
  background:#fff;
  border:1px solid var(--rule-cobalt);
  padding:clamp(26px,4vw,54px);
  box-shadow:0 18px 45px rgba(12,90,109,.08);
}
.legal-doc section{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(12,90,109,.1);
}
.legal-doc section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.legal-doc h2{
  font-family:var(--serif);
  font-size:clamp(1.6rem,3vw,2.35rem);
  margin:0 0 15px;
}
.legal-doc h3{
  font-size:1.1rem;
  margin:24px 0 8px;
}
.legal-doc p,
.legal-doc li{
  color:rgba(21,31,25,.78);
  line-height:1.75;
}
.legal-doc ul{padding-left:1.2rem;}
.legal-callout{
  background:rgba(255,211,77,.12);
  border:1px solid rgba(255,211,77,.35);
  padding:20px;
  margin:24px 0;
}
@media (max-width:900px){.price-card.featured{transform:none;}.legal-layout{grid-template-columns:1fr;}.legal-toc{position:relative;top:auto;}}
.foot-col a{
  color:rgba(242,251,249,.85);
  text-decoration:none;
  display:inline-block;
  padding:4px 0;
}
.foot-col a:hover{color:var(--gold);}
.foot-col li{cursor:default;padding:0;}
.foot-bottom a{color:rgba(242,251,249,.75);text-decoration:none;border-bottom:1px solid rgba(255,211,77,.35);}
.foot-bottom a:hover{color:var(--gold);border-bottom-color:var(--gold);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(255,211,77,.72);
  outline-offset:4px;
}
@media (max-width:700px){.price-card.featured{transform:none;}}
@media (prefers-reduced-motion:reduce){.wk,.price-card,.btn-primary,.btn-ghost{transition:none;}}
body.sidebar-open .site-sidebar{transform:translateX(0);}
body.sidebar-open .side-backdrop{opacity:1;pointer-events:auto;}
body.sidebar-open .side-toggle{transform:translateY(-50%) translateX(-10px);opacity:.28;}
.site-sidebar__nav a:hover,
.site-sidebar__nav a.active,
.site-sidebar__group summary:hover{
  background:rgba(255,211,77,.14);
  border-color:rgba(255,211,77,.48);
  color:#fff;
  transform:translateX(2px);
}
@media (max-width:760px){body.sidebar-open .side-toggle{transform:none;opacity:0;pointer-events:none;}}
body.sidebar-open .side-toggle{
  transform:translateX(-8px);
  opacity:.22;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
::selection{background:rgba(28,93,60,.92);color:#fdf6e6;}
input,select,textarea,button{accent-color:var(--ottoman);}
.sec-head p,.svc p,.wk p,.step p,.price-card p,.proof-card span,
.operator-proof p,.scope-guard p,.faq-item p,.contact-lede,
.foot-about,.pricing-note,.hero-lede{text-wrap:pretty;}
.svc h3,.wk h3,.price-card h3,.step h3,.sec-head h2,
.operator-proof h2,.scope-guard h2,.contact h2{text-wrap:balance;}
.price-card .price,.stats-strip__num,.proof-card strong,
.step .n,.portfolio-summary__kicker,.svc .card-num{
  font-variant-numeric:lining-nums tabular-nums;
}
@media (pointer:fine){html{scrollbar-width:thin;scrollbar-color:rgba(28,93,60,.5) var(--cream);}}
.price-card.featured h3,
.operator-proof h2,
.operator-proof h3,
.operator-proof h4,
.legal-hero h1,
.legal-hero h2{
  color:var(--paper);
}
.price-card.featured h3 em,
.operator-proof h2 em,
.legal-hero h1 em{
  color:var(--gold);
}
.operator-proof .eyebrow,
.legal-hero .eyebrow{color:var(--gold);}
@media (max-width:560px){.hero-actions .btn-primary,
  .hero-actions .btn-ghost{width:100%;text-align:center;letter-spacing:.14em;padding:15px 18px;}}
@media (max-width:767px){.foot-col a{padding:9px 0;}}
html{overflow-x:clip;}
body{overflow-x:clip;max-width:100%;}
body.js-tabs .tab-page{display:none;}
body.js-tabs .tab-page.is-active{display:block;animation:tabIn .26s cubic-bezier(.4,0,.2,1);}
@media (prefers-reduced-motion:reduce){body.js-tabs .tab-page.is-active{animation:none;}}
.launch .wrap{padding:0;}
.tab-foot .btn-primary,.tab-foot .btn-ghost{text-decoration:none;}
@media (max-width:560px){.tab-foot .btn-primary,.tab-foot .btn-ghost{width:100%;text-align:center;}}
.nav-links a.tab-current{color:var(--ottoman);}
.nav-links a.tab-current::after{
  content:"";display:block;height:2px;margin-top:3px;
  background:var(--gold);border-radius:2px;
}
img.tabrail__ic{object-fit:contain;display:block;}
.tabrail:hover .tabrail__txt,.tabrail.open .tabrail__txt{max-width:170px;opacity:1;}
.tabrail:hover,.tabrail.open{box-shadow:0 26px 60px rgba(12,90,109,.42);}
@media (max-width:560px){.hero-actions .btn-primary,.hero-actions .btn-ghost{white-space:normal;box-sizing:border-box;max-width:100%;}}
@media (max-width:560px){.tab-foot .btn-primary,.tab-foot .btn-ghost,
  .hero-actions .btn-primary,.hero-actions .btn-ghost{box-sizing:border-box;}}
a.pf-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(12,90,109,.18);border-color:var(--gold);}
a.pf-card:hover .pf-thumb img{transform:scale(1.05);}
a.pf-card--ill:hover .pf-thumb img{transform:scale(1.04);}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr .9fr;gap:36px;align-items:start;}
.foot-col h4{font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-weight:700;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.foot-col a{font-size:15px;color:rgba(242,251,249,.84);text-decoration:none;}
.foot-col a:hover{color:var(--gold);}
.foot-col--brand{max-width:340px;}
.foot-brand-text{font-size:1.35rem;line-height:1.25;margin-bottom:14px;}
.foot-about{font-size:15px;line-height:1.7;}
@media(max-width:980px){.foot-grid{grid-template-columns:1fr 1fr 1fr;}.foot-col--brand{grid-column:1/-1;max-width:560px;}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr 1fr;gap:26px;}.foot-col--brand{grid-column:1/-1;}}
.svc p,.wk p,.step p,.contact-lede,.pf-sec__note{font-size:.99rem;}
footer{background:#0d6377;}
:root,
.instance-omerica{
  --parchment-2:   #d5eee6;
  --parchment-3:   #bfe3d8;
  --teal-glow:     #2ea0b8;

  --sunset:        #c66a3a;
  --sunset-deep:   #8a3e1c;
  --rule-teal:     rgba(10, 73, 86, 0.22);
  --rule-ink:      rgba(8, 47, 58, 0.18);
  --surface-card-2:  var(--paper-2);
  --accent-hi:       var(--brass-hi);
  --sand:          var(--ink);
  --sand-2:        var(--ink);
  --turquoise:     var(--teal-bright);
  --turquoise-hi:  var(--teal-deep);
  --rule-gold:     var(--rule);
  --rule-cobalt:   var(--rule-teal);}
html{ background: var(--parchment); }
body{
  font-family: var(--font-body);
  color: var(--ink-soft);
  background: var(--parchment);
  background-image:
    radial-gradient(circle at 10% 0%,  rgba(20,163,184,0.07) 0%, transparent 50%),
    radial-gradient(circle at 90% 100%, rgba(10,73,86,0.05)  0%, transparent 50%);
  min-height: 100vh;
}
body.tl-dark{
  background: var(--parchment);
  background-image:
    radial-gradient(circle at 10% 0%,  rgba(20,163,184,0.07) 0%, transparent 50%),
    radial-gradient(circle at 90% 100%, rgba(10,73,86,0.05)  0%, transparent 50%);
  color: var(--ink);
  min-height: 100vh;
}
.nav-cta{ background: var(--teal-deep); color: var(--paper); border: 2px solid var(--brass); border-radius: 2px; font-family: var(--font-ui); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; font-size: 12px; }
.nav-cta:hover{ background: var(--ink); }
.hero,
.hero .wrap,
.hero .hero-inner{
  color: var(--ink) !important;
}
.btn-ghost{
  color: var(--teal-deep) !important;
  border-color: var(--brass) !important;
  background: transparent;
}
.btn-ghost:hover{
  background: var(--teal-deep) !important;
  color: var(--paper) !important;
  border-color: var(--teal-deep) !important;
}
.contact .btn-ghost{
  color: var(--brass-hi) !important;
  border-color: var(--brass-hi) !important;
}
.contact .btn-ghost:hover{
  background: var(--brass-hi) !important;
  color: var(--ink) !important;
  border-color: var(--brass-hi) !important;
}
.hero .btn-ghost{
  color: #ffffff !important;
  border: 2px solid #0e7c5b !important;
  background: #0e7c5b !important;
}
.hero .btn-ghost:hover{
  background: #164d31 !important;
  color: #ffffff !important;
  border-color: #164d31 !important;
}
@media (min-width:1101px){.tab-page .wrap, .launch .wrap{ padding-left: 96px !important; padding-right: 96px !important; }}
.nav{
  background:#0d6377 !important;
  border-bottom:2px solid var(--brass) !important;
}
.nav .nav-links a{color:#f3ecdb !important;}
.nav .nav-links a:hover{color:var(--brass-hi) !important;}
.nav .nav-links a.is-active{color:var(--brass-hi) !important;}
.nav-cta{background:transparent !important;color:#f3ecdb !important;border:2px solid var(--brass) !important;}
.nav-cta:hover{background:var(--brass) !important;color:#0d6377 !important;}
.nav-toggle span{background:#f3ecdb !important;}
.nav.scrolled{box-shadow:0 10px 30px rgba(6,20,12,.45);border-bottom:2px solid var(--brass) !important;}
.nav .brand-logo{filter:drop-shadow(0 2px 10px rgba(53,181,201,.35));}
@media (max-width:880px){.nav-links{background:#0d6377 !important;}.nav-links li{border-bottom:1px solid rgba(53,181,201,.25) !important;}}
/* ── hand-maintained fixes appended after the generated region ──────────
   v3 "boardwalk craft" chrome (owner direction 08-16 22:30): light pastel
   chrome, cotton-candy + gold accents, black linework. The legacy cascade
   sets nav/ghost colors with !important, so this layer matches importance. */

/* nav: light chrome, ink links, black rule + gold underline */
.nav{ background: var(--chrome-light) !important; border-bottom: 2px solid var(--line-black) !important; box-shadow: 0 3px 0 rgba(255,211,77,.35); }
.nav .nav-links a{ color: var(--ink) !important; }
.nav .nav-links a:hover, .nav .nav-links a[aria-current="page"]{ color: var(--accent-marine) !important; }
.nav.scrolled{ background: var(--chrome-light) !important; border-bottom: 2px solid var(--line-black) !important; box-shadow: 0 3px 0 rgba(255,211,77,.35), 0 10px 26px rgba(24,34,38,.10) !important; }
.nav-cta{ background: var(--accent-gold) !important; color: var(--line-black) !important; border: 1.5px solid var(--line-black) !important; }
.nav-cta:hover{ background: #f2c53d !important; color: var(--line-black) !important; }
@media (max-width: 900px){
  .nav-links{ background: var(--chrome-light) !important; border-bottom: 2px solid var(--line-black) !important; box-sizing: border-box; }
  .nav-links a{ color: var(--ink) !important; box-sizing: border-box; }
  .nav-toggle span{ background: var(--ink) !important; }
}

/* footer: light chrome, star-and-cross strip, ink text */
footer{ background: var(--chrome-light) !important; color: var(--ink-2) !important; border-top: 2px solid var(--line-black); }
footer::before{ content:""; display:block; height:18px; background-image: var(--pattern-strip); background-size: auto 18px; background-repeat: repeat-x; background-position: center top; margin-bottom: 30px; opacity:.6; }
.foot-mark .seal{ color: var(--accent-ink); }
.foot-brand-text{ color: var(--ink); }
.foot-brand-text em{ color: var(--accent-marine); }
.foot-col h4{ color: var(--accent-marine); }
.foot-col a{ color: var(--ink-2) !important; }
.foot-col a:hover{ color: var(--accent-marine) !important; }
.foot-logo{ height: 96px; width: auto; display: block; margin: 0 auto 16px; filter: drop-shadow(0 4px 18px rgba(24,34,38,.16)); }
.foot-mark .est,.foot-about{ color: var(--ink-3); }
.foot-bottom,.foot-notice{ color: var(--ink-3); }
.foot-bottom a{ color: var(--accent-ink); }
/* App-internal footers (inside .wrap) are content, not site chrome */
.wrap footer{ background: transparent !important; color: inherit !important; padding: 18px 0 0; text-align: left; border-top: 0; }
.wrap footer::before{ content: none; }

/* eyebrows: one accent everywhere (the stray green/gold family retires) */
.eyebrow{ color: var(--accent-marine) !important; }

/* buttons: gold + black craft CTAs; the green family retires (owner 08-16) */
.btn-primary{ background: var(--accent-gold) !important; color: var(--line-black) !important; border: 1.5px solid var(--line-black) !important; }
.btn-primary:hover{ background: #f2c53d !important; color: var(--line-black) !important; border-color: var(--line-black) !important; }
.btn-ghost, .hero .btn-ghost, #tab-process .btn-ghost, .process .btn-ghost, .contact .btn-ghost, .on-dark .btn-ghost, .band .btn-ghost{ color: var(--ink) !important; border: 1.5px solid var(--line-black) !important; background: transparent !important; }
.btn-ghost:hover, .hero .btn-ghost:hover, #tab-process .btn-ghost:hover, .process .btn-ghost:hover, .contact .btn-ghost:hover, .on-dark .btn-ghost:hover, .band .btn-ghost:hover{ background: var(--line-black) !important; color: #ffffff !important; border-color: var(--line-black) !important; }

/* legal hero flips light */
.legal-hero{ background: var(--band-aqua) !important; }
.legal-hero h1{ color: var(--ink) !important; }
.legal-hero p{ color: var(--ink-2) !important; }

/* Focus ring: 8.1:1 token, overrides the legacy 1.3:1 gold rgba outline. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible{ outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* ── ultra-review fixes (08-16 23:30, wf_4be59902) ─────────────────────── */
/* process steps sat unreadable on the flipped pale band (hidden-tab blind spot) */
.step{border-top:1px solid rgba(24,34,38,.18);}
.step .n{color:var(--accent-marine);}
.step h3{color:var(--ink);}
.step p{color:var(--ink-2);}
/* legacy gold hover outranked the manual base re-ink */
.foot-bottom a:hover{color:var(--accent-marine);border-bottom-color:var(--accent-marine);}
.foot-col li:hover{color:inherit;}
/* legal-hero latents behind the shared operator-proof selector */
.legal-hero h2{color:var(--ink) !important;}
.legal-hero h1 em{color:var(--accent-marine) !important;}
/* current-page marker: marine underline instead of the 1.4:1 gold remnant */
.nav .nav-links a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent-marine);}

/* ── mobile form + footer fixes (08-19) ────────────────────────────────────
   Form controls are border-box everywhere. Without this, width:100% inputs
   added their padding+border on top (measured 301px inside a 319px card at
   375px wide, spilling 5px past the card edge) while selects — which had
   their own border-box — sat 28px narrower. Text fields and dropdowns now
   line up at one width on every form. */
input, select, textarea, button { box-sizing: border-box; }
/* One closing line now carries copyright + disclaimer, so hold it to a
   readable measure; .foot-bottom's auto margins keep it centred. */
.foot-notice{ max-width: 62ch; }

/* ── real URLs for the former tabs (08-19) ─────────────────────────────────
   Each split page owns its <h1>, promoted from the section's lead <h2>. The
   type scale hangs off `.sec-head h2`, so mirror those selectors for h1 and
   the promotion is semantic only, never visual. */
.sec-head h1{ font-family: var(--serif); font-weight: 600; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.06; margin: 0; text-wrap: balance; }
.sec-head h1 em{ font-style: italic; color: var(--ottoman); }
.process .sec-head h1{ color: var(--ink); }
.process .sec-head h1 em{ color: var(--accent-ink); }

