/* =========================================================================
   DIVINO COMERCIO LTD — design system  ·  "Emerald"
   Warm paper · near-black ink · deep emerald accent · cream on dark.
   Type: Fraunces (display) · Inter (UI/body)
   Accent vars kept named --gold* for compatibility (now emerald).
   ========================================================================= */

:root{
  /* surfaces */
  --paper:#F7F6F1;
  --paper-2:#EFECE1;
  --paper-card:#FFFFFF;

  /* dark sections + ink */
  --navy:#15181E;
  --navy-2:#1D212A;
  --navy-3:#262B34;
  --ink:#15181E;
  --slate:#43474F;
  --slate-2:#5A5F68;
  --mist:#696D76;

  /* emerald accent on LIGHT sections (named --gold* for back-compat) */
  --gold:#0E5247;
  --gold-deep:#0B3F37;
  --gold-tint:rgba(14,82,71,.08);
  --gold-line:rgba(14,82,71,.40);

  /* lifted emerald for accents on DARK sections */
  --accent-d:#5AA992;

  /* lines */
  --line:#E4E0D7;
  --line-2:#D6D1C5;

  /* on-dark (text + accents on dark sections) */
  --on-navy:#ECEAE3;
  --on-navy-soft:rgba(236,234,227,.70);
  --on-navy-mist:rgba(236,234,227,.56);
  --on-navy-line:rgba(236,234,227,.16);

  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;

  --wrap:1200px;
  --wrap-narrow:880px;
  --pad:clamp(1.4rem,5vw,4rem);
  --sect:clamp(4.5rem,9vw,8rem);
  --radius:4px;
  --shadow:0 1px 2px rgba(21,24,30,.05),0 14px 38px rgba(21,24,30,.08);
  --shadow-lg:0 26px 64px rgba(21,24,30,.18);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;background:var(--paper);color:var(--slate);
  font-family:var(--sans);font-size:1.0625rem;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{margin:0;color:var(--ink);font-weight:600;letter-spacing:-.01em;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad);}
.wrap-narrow{max-width:var(--wrap-narrow);margin:0 auto;padding-inline:var(--pad);}
.section{padding-block:var(--sect);}
section[id]{scroll-margin-top:92px;}
.bg-alt{background:var(--paper-2);}

/* ---------- display type ---------- */
.eyebrow{
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);display:inline-flex;align-items:center;gap:.7rem;margin:0;font-family:var(--sans);
}
.eyebrow::before{content:"";width:1.7rem;height:1px;background:var(--gold);}
.eyebrow.on-navy{color:var(--on-navy);}
.eyebrow.on-navy::before{background:var(--on-navy);}
.eyebrow.center{justify-content:center;}

.display{font-family:var(--serif);font-weight:540;line-height:1.07;letter-spacing:-.01em;color:var(--ink);font-optical-sizing:auto;}
.display em{font-style:italic;color:var(--gold-deep);}
h1.display{font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:520;}
h2.display{font-size:clamp(2rem,3.7vw,3rem);font-weight:540;}
h3.display{font-family:var(--serif);font-weight:560;font-size:1.55rem;letter-spacing:-.005em;}
.lede{font-size:clamp(1.08rem,1.7vw,1.26rem);line-height:1.6;color:var(--slate);}
.measure{max-width:62ch;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);
  font-size:.94rem;font-weight:600;letter-spacing:.01em;cursor:pointer;
  padding:.95rem 1.6rem;border:1px solid transparent;border-radius:var(--radius);
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease,box-shadow .25s ease;
  line-height:1;white-space:nowrap;
}
.btn .arw{transition:transform .25s ease;}
.btn:hover .arw{transform:translateX(4px);}
.btn-gold{background:var(--gold);color:#FFFFFF;}
.btn-gold:hover{background:var(--gold-deep);}
.btn-navy{background:var(--navy);color:var(--on-navy);}
.btn-navy:hover{background:var(--navy-3);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn-ghost:hover{border-color:var(--ink);}
.btn-ghost.on-navy{color:var(--on-navy);border-color:var(--on-navy-line);}
.btn-ghost.on-navy:hover{border-color:var(--on-navy);}
.btn-lg{padding:1.1rem 1.9rem;font-size:1rem;}

.tlink{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--gold-deep);position:relative;padding-bottom:2px;font-family:var(--sans);}
.tlink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.tlink:hover::after{transform:scaleX(1);}
.tlink .arw{transition:transform .25s ease;}
.tlink:hover .arw{transform:translateX(4px);}
.tlink.on-navy{color:var(--on-navy);}
.tlink.on-navy::after{background:var(--on-navy);}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(247,246,241,0);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;border-bottom:1px solid transparent;}
.site-header.scrolled{background:rgba(247,246,241,.9);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{display:inline-flex;align-items:center;gap:.6rem;}
.brand .logo{width:30px;height:30px;flex:none;}
.brand .mark{font-family:var(--sans);font-weight:700;font-size:1.02rem;letter-spacing:.15em;color:var(--ink);}
.brand .mark .sub{color:var(--gold-deep);}
.brand .dot{color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{font-size:.93rem;font-weight:500;color:var(--slate);transition:color .2s ease;position:relative;}
.nav-links a:hover{color:var(--ink);}
.nav-links a.active{color:var(--ink);}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);}
.nav-links .btn{display:none;}
.nav-links a.btn.active::after{display:none;}
.nav-cta{display:flex;align-items:center;gap:1.3rem;}
.nav-toggle{display:none;background:none;border:0;padding:.4rem;cursor:pointer;}
.nav-toggle span{display:block;width:23px;height:1.7px;background:var(--ink);margin:5px 0;transition:transform .3s ease,opacity .3s ease;}

/* ---------- hero (dark) ---------- */
.hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden;}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 95% at 88% 8%,rgba(90,169,146,.16),transparent 56%);pointer-events:none;}
.hero-art{position:absolute;inset:0;pointer-events:none;}
.hero-art svg{position:absolute;top:50%;right:-6%;transform:translateY(-50%);width:min(56%,680px);height:auto;}
.hero-art .gl{stroke:var(--on-navy);stroke-opacity:.08;stroke-width:1;}
.hero-art .arc{stroke:var(--accent-d);stroke-opacity:.55;stroke-width:1;fill:none;}
.hero-art .pl{stroke:var(--accent-d);stroke-width:2;fill:none;stroke-linecap:round;}
.hero-art .pl-2{stroke:var(--accent-d);stroke-opacity:.4;stroke-width:1.4;fill:none;}
.hero-art .nd{fill:var(--accent-d);}
.hero-inner{position:relative;z-index:2;padding-block:clamp(4.5rem,10vw,8rem);}
.hero h1{color:#FBFAF5;max-width:18ch;}
.hero h1 em{color:var(--accent-d);}
.hero .lede{margin-top:1.7rem;max-width:50ch;color:var(--on-navy-soft);}
.hero-actions{margin-top:2.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.7rem;}
.hero-cred{margin-top:clamp(2.8rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--on-navy-line);display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;}
.hero-cred .item{max-width:24ch;}
.hero-cred .k{font-family:var(--serif);font-size:1.8rem;color:var(--accent-d);font-weight:560;line-height:1;}
.hero-cred .v{margin-top:.45rem;font-size:.9rem;color:var(--on-navy-soft);line-height:1.4;}

/* page hero (inner pages) */
.page-hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden;}
.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(110% 120% at 92% 0%,rgba(90,169,146,.15),transparent 56%);pointer-events:none;}
.page-hero .inner{position:relative;z-index:2;padding-block:clamp(3.6rem,7vw,5.6rem);}
.page-hero h1{color:#FBFAF5;max-width:20ch;}
.page-hero h1 em{color:var(--accent-d);}
.page-hero .lede{margin-top:1.3rem;max-width:58ch;color:var(--on-navy-soft);}
.crumb{font-size:.8rem;letter-spacing:.04em;color:var(--on-navy-mist);margin-bottom:1.2rem;}
.crumb a:hover{color:var(--on-navy);}

/* ---------- value proposition ---------- */
.vp-grid{display:grid;grid-template-columns:1fr;gap:clamp(2.2rem,5vw,4rem);align-items:center;}
.vp-copy h2{margin-top:1.2rem;max-width:18ch;}
.vp-copy p{margin-top:1.3rem;max-width:52ch;color:var(--slate);}
.vp-points{margin-top:1.8rem;display:grid;gap:1.1rem;}
.vp-point{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;}
.vp-point .ck{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gold-tint);display:grid;place-items:center;margin-top:.15rem;}
.vp-point .ck svg{width:12px;height:12px;stroke:var(--gold-deep);stroke-width:2.4;fill:none;}
.vp-point p{margin:0;font-size:1rem;color:var(--slate);}
.vp-point strong{color:var(--ink);font-weight:600;}
.stat-card{background:var(--navy);color:var(--on-navy);border-radius:var(--radius);padding:clamp(1.8rem,3.5vw,2.6rem);box-shadow:var(--shadow);}
.stat-card .row{display:flex;align-items:baseline;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--on-navy-line);}
.stat-card .row:last-child{border-bottom:0;}
.stat-card .num{font-family:var(--serif);font-size:2.2rem;color:var(--accent-d);font-weight:560;line-height:1;min-width:3.4ch;}
.stat-card .lbl{font-size:.94rem;color:var(--on-navy-soft);}

/* ---------- services grid ---------- */
.sec-head{max-width:64ch;}
.sec-head.center{margin:0 auto;text-align:center;}
.sec-head h2{margin-top:1.2rem;}
.sec-head p{margin-top:1.2rem;color:var(--slate);}
.svc-grid{margin-top:clamp(2.6rem,5vw,3.6rem);display:grid;grid-template-columns:1fr;gap:1.3rem;}
.svc-card{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.7rem,3vw,2.3rem);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;overflow:hidden;}
.svc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .3s ease;}
.svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2);}
.svc-card:hover::before{transform:scaleY(1);}
.svc-num{font-family:var(--serif);font-size:1rem;color:var(--gold-deep);font-weight:560;letter-spacing:.02em;}
.svc-ico{width:46px;height:46px;border-radius:var(--radius);background:var(--gold-tint);display:grid;place-items:center;margin-bottom:1.3rem;}
.svc-ico svg{width:24px;height:24px;stroke:var(--gold-deep);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.svc-card h3{font-family:var(--serif);font-size:1.45rem;font-weight:560;margin-bottom:.6rem;letter-spacing:-.005em;}
.svc-card p{color:var(--slate);font-size:1rem;}
.svc-card .svc-link{margin-top:1.3rem;}

/* ---------- moat / frameworks ---------- */
.moat-grid{margin-top:clamp(2.6rem,5vw,3.6rem);display:grid;grid-template-columns:1fr;gap:1.3rem;}
.moat-card{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,2.6vw,1.9rem);}
.fw-diagram{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1.4rem;}
.fw-diagram svg{width:100%;height:auto;display:block;}
.fw-diagram .fl{stroke:var(--line-2);stroke-width:1;fill:none;}
.fw-diagram .ax{stroke:var(--mist);stroke-width:1;}
.fw-diagram .stroke-k{stroke:var(--gold);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.fw-diagram .dot{fill:var(--gold);}
.fw-diagram .dot-2{fill:var(--mist);}
.fw-diagram .ws{stroke:var(--gold);stroke-width:1.4;stroke-dasharray:4 3;fill:none;}
.fw-diagram .bar{stroke:var(--gold-line);stroke-width:1.4;fill:none;}
.fw-diagram .bar-k{fill:var(--gold);}
.fw-diagram text{fill:var(--slate-2);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;}
.fw-tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:.6rem;}
.moat-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:560;margin-bottom:.5rem;letter-spacing:-.005em;}
.moat-card p.fw-body{color:var(--slate);font-size:.97rem;}

/* ---------- exec bio snapshot ---------- */
.bio-grid{display:grid;grid-template-columns:1fr;gap:clamp(2.2rem,5vw,3.6rem);align-items:center;}
.bio-figure{position:relative;max-width:360px;}
.bio-figure .photo{width:100%;border-radius:var(--radius);background:var(--paper-2);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;object-position:center 22%;}
.bio-figure .badge{position:absolute;right:-14px;bottom:-14px;background:var(--navy);color:var(--on-navy);border-radius:var(--radius);padding:.9rem 1.1rem;box-shadow:var(--shadow-lg);max-width:62%;}
.bio-figure .badge .b-k{font-family:var(--serif);font-size:1.5rem;color:var(--accent-d);font-weight:560;line-height:1;}
.bio-figure .badge .b-v{font-size:.78rem;color:var(--on-navy-soft);margin-top:.3rem;line-height:1.35;}
.bio-copy h2{margin-top:1.1rem;max-width:20ch;}
.bio-copy .role{margin-top:1rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.bio-copy p{margin-top:1.2rem;max-width:56ch;color:var(--slate);}
.bio-copy .cred-row{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem;}
.chip{font-size:.82rem;color:var(--slate-2);font-weight:500;border:1px solid var(--line-2);border-radius:40px;padding:.4rem .9rem;background:var(--paper-card);}

/* ---------- proof / credibility ---------- */
.proof-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2.6rem;}
.proof-strip .lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:600;width:100%;text-align:center;margin-bottom:.4rem;}
.proof-strip .name{font-family:var(--serif);font-size:1.3rem;color:var(--slate-2);font-weight:560;letter-spacing:.005em;}
.cred-grid{margin-top:clamp(2.4rem,5vw,3.4rem);display:grid;grid-template-columns:1fr;gap:1.2rem;}
.cred-card{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2rem);}
.cred-card .ck{font-family:var(--serif);font-size:1.9rem;color:var(--gold-deep);font-weight:560;line-height:1;}
.cred-card h3{font-size:1.05rem;font-weight:600;margin-top:.7rem;color:var(--ink);}
.cred-card p{margin-top:.5rem;font-size:.95rem;color:var(--slate);}
.case-feature{margin-top:clamp(2.2rem,4vw,3rem);background:var(--paper-card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius);padding:clamp(1.8rem,3.6vw,2.6rem);box-shadow:var(--shadow);}
.case-feature .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.case-feature h3{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:560;margin-top:.9rem;letter-spacing:-.005em;}
.case-feature p{margin-top:1.1rem;color:var(--slate);max-width:70ch;}
.case-feature .tags{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem;}
.tgrid{margin-top:clamp(2.4rem,5vw,3.4rem);display:grid;grid-template-columns:1fr;gap:1.3rem;}
.tcard{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.1rem);display:flex;flex-direction:column;}
.tcard .quote{font-family:var(--serif);font-size:1.12rem;line-height:1.55;color:var(--ink);font-style:italic;}
.tcard .who{margin-top:auto;padding-top:1.3rem;}
.tcard .nm{font-weight:600;color:var(--ink);font-size:.95rem;}
.tcard .rl{font-size:.84rem;color:var(--mist);margin-top:.2rem;line-height:1.4;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 140% at 12% 0%,rgba(90,169,146,.16),transparent 52%);pointer-events:none;}
.cta-inner{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto;}
.cta-inner h2{color:#FBFAF5;}
.cta-inner h2 em{color:var(--accent-d);}
.cta-inner p{margin-top:1.1rem;color:var(--on-navy-soft);}
.cta-inner .hero-actions{justify-content:center;}

/* ---------- detailed service blocks ---------- */
.svc-detail{padding-block:clamp(3rem,6vw,4.6rem);border-top:1px solid var(--line);}
.svc-detail:first-of-type{border-top:0;}
.svc-detail-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.8rem,4vw,3rem);}
.svc-detail .tag{font-family:var(--serif);font-size:1rem;color:var(--gold-deep);font-weight:560;}
.svc-detail h2{margin-top:.7rem;max-width:16ch;}
.svc-detail .intro{margin-top:1.2rem;color:var(--slate);max-width:54ch;}
.svc-detail .sub{margin-top:2rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.proc-list{margin-top:1rem;display:grid;gap:.9rem;counter-reset:step;padding:0;}
.proc-list li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;color:var(--slate);}
.proc-list li::before{counter-increment:step;content:counter(step);flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--gold-line);color:var(--gold-deep);font-size:.82rem;font-weight:600;display:grid;place-items:center;}
.out-list{margin-top:1rem;display:grid;gap:.7rem;padding:0;}
.out-list li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;color:var(--slate);}
.out-list li svg{flex:none;width:18px;height:18px;stroke:var(--gold-deep);stroke-width:2.2;fill:none;margin-top:.28rem;}
.svc-aside{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.1rem);box-shadow:var(--shadow);align-self:start;}
.svc-aside h4{font-family:var(--serif);font-size:1.2rem;font-weight:560;}
.svc-aside p{margin-top:.7rem;font-size:.95rem;color:var(--slate);}

/* ---------- narrative / about ---------- */
.prose{max-width:66ch;}
.prose h2{margin-top:2.6rem;}
.prose h2:first-child{margin-top:0;}
.prose p{margin-top:1.2rem;color:var(--slate);}
.prose p.first::first-letter{font-family:var(--serif);font-size:3.4rem;line-height:.8;float:left;color:var(--gold-deep);padding:.35rem .55rem 0 0;font-weight:560;}
.prose h3{font-family:var(--serif);font-size:1.25rem;font-weight:560;margin-top:1.8rem;}
.prose ul{margin:1rem 0 0;padding-left:1.2rem;color:var(--slate);}
.prose ul li{margin:.5rem 0;padding-left:.3rem;}
.prose ul li::marker{color:var(--gold);}
.prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold-line);}
.prose a:hover{text-decoration-color:var(--gold-deep);}
.legal-meta{margin-top:0;margin-bottom:2rem;font-size:.86rem;color:var(--mist);}
.legal-note{margin-top:2.6rem;padding:1.2rem 1.4rem;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem;color:var(--slate-2);}
.pull{margin:2.4rem 0;padding:1.6rem 0 1.6rem 1.7rem;border-left:3px solid var(--gold);font-family:var(--serif);font-size:1.55rem;line-height:1.4;color:var(--ink);font-style:italic;}
.values{display:grid;grid-template-columns:1fr;gap:1.6rem;margin-top:1.5rem;}
.value .tick{width:2.2rem;height:2px;background:var(--gold);margin-bottom:1rem;}
.value h3{font-family:var(--serif);font-size:1.35rem;font-weight:560;margin-bottom:.6rem;}
.value p{color:var(--slate);font-size:1rem;}

/* ---------- booking page ---------- */
.book-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3rem);align-items:start;}
.steps{display:grid;gap:1.1rem;}
.step{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;}
.step .n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#FFFFFF;font-weight:700;display:grid;place-items:center;font-size:.95rem;}
.step h3{font-size:1.08rem;font-weight:600;color:var(--ink);}
.step p{margin-top:.3rem;font-size:.95rem;color:var(--slate);}
.cal-wrap{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-height:560px;}
.cal-fallback{padding:clamp(1.8rem,4vw,2.6rem);text-align:center;}
.cal-fallback h3{font-family:var(--serif);font-size:1.45rem;font-weight:560;}
.cal-fallback p{margin-top:.8rem;color:var(--slate);max-width:46ch;margin-inline:auto;}
.pay-card{background:var(--navy);color:var(--on-navy);border-radius:var(--radius);padding:clamp(1.7rem,3.5vw,2.4rem);box-shadow:var(--shadow);}
.pay-card .eyebrow{color:var(--on-navy);}
.pay-card .eyebrow::before{background:var(--on-navy);}
.pay-card h3{color:#FBFAF5;font-family:var(--serif);font-weight:560;font-size:1.55rem;margin-top:1rem;}
.pay-card p{margin-top:.9rem;color:var(--on-navy-soft);font-size:.97rem;}
.pay-card .secure{margin-top:1.4rem;display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:var(--on-navy-soft);}
.pay-card .secure svg{width:16px;height:16px;stroke:var(--accent-d);stroke-width:1.8;fill:none;}
.pay-card .btn{margin-top:1.5rem;width:100%;justify-content:center;}
.pay-card .btn-gold{background:var(--on-navy);color:var(--ink);}
.pay-card .btn-gold:hover{background:#FFFFFF;}
.pay-card .micro{margin-top:1rem;font-size:.8rem;color:var(--on-navy-mist);text-align:center;}
.pay-card .micro a{color:var(--on-navy);text-decoration:underline;}

/* ---------- engagement options (consultation vs retainer) ---------- */
.eng-grid{display:grid;grid-template-columns:1fr;gap:1.3rem;margin-top:clamp(2.2rem,4vw,3rem);}
.eng-card{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.7rem,3vw,2.3rem);display:flex;flex-direction:column;}
.eng-card.feature{border-color:var(--gold-line);box-shadow:var(--shadow);}
.eng-card .tier{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.eng-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:560;margin-top:.7rem;}
.eng-card .price{margin-top:.5rem;font-size:.95rem;color:var(--slate-2);}
.eng-card .desc{margin-top:1rem;color:var(--slate);font-size:1rem;}
.eng-card .feat{margin-top:1.2rem;display:grid;gap:.6rem;padding:0;}
.eng-card .feat li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;color:var(--slate);font-size:.96rem;}
.eng-card .feat li svg{flex:none;width:17px;height:17px;stroke:var(--gold-deep);stroke-width:2.2;fill:none;margin-top:.25rem;}
.eng-card .eng-cta{margin-top:auto;padding-top:1.5rem;}
.eng-note{margin-top:1.6rem;text-align:center;font-size:.97rem;color:var(--slate-2);}
.freecall{background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:var(--radius);padding:clamp(1.6rem,3.5vw,2.4rem);display:grid;gap:1.3rem;align-items:center;margin-bottom:1.3rem;}
.freecall .tier{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.freecall h3{font-family:var(--serif);font-size:1.55rem;font-weight:560;margin-top:.5rem;letter-spacing:-.005em;}
.freecall p{margin-top:.6rem;color:var(--slate);font-size:1rem;max-width:62ch;}
.freecall .fc-cta{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start;}
.freecall .fc-note{font-size:.82rem;color:var(--slate-2);}
@media (min-width:760px){.freecall{grid-template-columns:1.7fr auto;}.freecall .fc-cta{align-items:flex-end;text-align:right;}}

/* ---------- FAQ (native accordion) ---------- */
.faq{max-width:820px;margin:clamp(2.2rem,4vw,3rem) auto 0;display:grid;gap:.8rem;}
.faq details{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:0 1.3rem;transition:border-color .2s ease;}
.faq details[open]{border-color:var(--line-2);}
.faq summary{list-style:none;cursor:pointer;padding:1.15rem 0;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.02rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--gold-deep);font-weight:400;line-height:1;flex:none;transition:transform .2s ease;}
.faq details[open] summary::after{content:"\2013";}
.faq details p{color:var(--slate);padding:0 0 1.2rem;margin:0;font-size:.98rem;max-width:68ch;}

/* ---------- forms ---------- */
.form{display:grid;gap:1.1rem;}
.form .field{display:grid;gap:.45rem;}
.form label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);font-weight:600;}
.form input,.form textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);background:var(--paper-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:.85rem .95rem;width:100%;transition:border-color .2s ease,box-shadow .2s ease;}
.form input::placeholder,.form textarea::placeholder{color:var(--mist);}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint);}
.form textarea{resize:vertical;min-height:120px;}
.form .form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.form .note{font-size:.84rem;color:var(--mist);}
.form-status{font-size:.92rem;color:var(--gold-deep);min-height:1.2em;font-weight:500;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:var(--on-navy-soft);border-top:3px solid var(--gold);}
.footer-top{padding-block:clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:1fr;gap:2.4rem;}
.footer-brand .mark{font-family:var(--sans);font-weight:700;letter-spacing:.15em;color:#FBFAF5;font-size:1.02rem;}
.footer-brand .mark .sub{color:var(--accent-d);}
.footer-brand p{margin-top:1.1rem;font-size:.92rem;line-height:1.7;color:var(--on-navy-soft);max-width:34ch;}
.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.footer-col h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-mist);font-weight:600;margin-bottom:1rem;}
.footer-col a,.footer-col .ftxt{display:block;color:var(--on-navy-soft);font-size:.92rem;padding:.32rem 0;transition:color .2s ease;}
.footer-col a:hover{color:#FBFAF5;}
.footer-bottom{border-top:1px solid var(--on-navy-line);padding-block:1.6rem;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;justify-content:space-between;align-items:center;}
.footer-bottom .cr{font-size:.84rem;color:var(--on-navy-mist);}
.footer-bottom .legal-row{display:flex;flex-wrap:wrap;gap:1.2rem;}
.footer-bottom .legal-row a{font-size:.84rem;color:var(--on-navy-soft);}
.footer-bottom .legal-row a:hover{color:#FBFAF5;}

/* ---------- reveal + a11y ---------- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
[data-reveal].is-visible{opacity:1;transform:none;}
[data-reveal][data-delay="1"]{transition-delay:.08s;}
[data-reveal][data-delay="2"]{transition-delay:.16s;}
[data-reveal][data-delay="3"]{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none;}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;}
.hero :focus-visible,.cta-band :focus-visible,.site-footer :focus-visible,.page-hero :focus-visible,.pay-card :focus-visible{outline-color:var(--on-navy);}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#FFFFFF;padding:.7rem 1.1rem;border-radius:var(--radius);font-weight:600;z-index:100;}
.skip:focus{left:1rem;top:1rem;}

/* ---------- responsive ---------- */
@media (min-width:760px){
  .vp-grid{grid-template-columns:1.1fr .9fr;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .svc-grid.three{grid-template-columns:repeat(3,1fr);}
  .moat-grid{grid-template-columns:repeat(3,1fr);}
  .eng-grid{grid-template-columns:repeat(2,1fr);}
  .bio-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(2.6rem,5vw,4.5rem);}
  .cred-grid{grid-template-columns:repeat(3,1fr);}
  .tgrid{grid-template-columns:repeat(3,1fr);}
  .values{grid-template-columns:repeat(3,1fr);}
  .svc-detail-grid{grid-template-columns:1.5fr 1fr;}
  .book-grid{grid-template-columns:1.6fr 1fr;}
  .footer-top{grid-template-columns:1.3fr 1.7fr;}
  .footer-cols{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:759px){
  .nav-cta{gap:.7rem;}
  .nav-cta .btn{display:inline-flex;padding:.6rem .85rem;font-size:.8rem;}
  .nav-cta .btn .arw{display:none;}
  .brand .mark{font-size:.88rem;letter-spacing:.11em;}
  .nav-toggle{display:block;}
  .site-header.nav-open .nav-links{display:flex;position:absolute;left:0;right:0;top:78px;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--pad) 1.4rem;}
  .nav-links{display:none;}
  .site-header.nav-open .nav-links a:not(.btn){padding:.95rem 0;border-bottom:1px solid var(--line);}
  .site-header.nav-open .nav-links .btn{display:inline-flex;margin-top:1.1rem;width:max-content;}
  .site-header.nav-open{background:var(--paper);}
  .hero-art{opacity:.5;}
  .bio-figure{max-width:300px;margin-inline:auto;}
}

/* ---------- brand polish ---------- */
::selection{background:var(--gold);color:#FFFFFF;}

/* hero chart draws itself on load (one orchestrated moment) */
@media (prefers-reduced-motion:no-preference){
  .hero-art .pl{stroke-dasharray:1400;stroke-dashoffset:1400;animation:dc-draw 2.1s cubic-bezier(.4,0,.2,1) .35s forwards;}
  .hero-art .pl-2{stroke-dasharray:1300;stroke-dashoffset:1300;animation:dc-draw 2.5s cubic-bezier(.4,0,.2,1) .15s forwards;}
  .hero-art .arc{opacity:0;animation:dc-fade .8s ease 2s forwards;}
  .hero-art .nd{opacity:0;animation:dc-fade .6s ease 1.9s forwards;}
  @keyframes dc-draw{to{stroke-dashoffset:0;}}
  @keyframes dc-fade{to{opacity:1;}}
}

/* persistent alternative to the embedded calendar */
.cal-alt{margin-top:.9rem;font-size:.9rem;color:var(--slate-2);}
