/* Jenn Births — premium personal brand. Deep Eucalyptus / Warm Ivory / Soft Sand.
   Hand-built flagship on Digilu build standards. Light, calm, trustworthy. */

:root{
  --euc:#5B3A46;        /* Deep Aubergine — primary */
  --euc-deep:#3B2530;   /* darker aubergine ink for headings */
  --euc-soft:#8a6472;   /* soft aubergine for eyebrows */
  --ivory:#F6EFE9;      /* Warm Cream — background */
  --ivory-2:#FDFAF5;
  --brass:#B08D57;      /* Brass — accent */
  --brass-deep:#8f6f3f;
  --sand:#EADFD1;       /* light warm sand for chips/hover */
  --sand-deep:#d8c3a6;
  --char:#2C2428;       /* warm ink — text */
  --muted:#6f6469;
  --line:#e9ddce;
  --shadow:0 18px 50px -22px rgba(59,37,48,.34);
  --shadow-sm:0 8px 24px -14px rgba(59,37,48,.28);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --maxw:1200px;
  --radius:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);color:var(--char);background:var(--ivory);
  font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--euc);text-decoration:none}
a:hover{color:var(--euc-deep)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--euc-deep);font-weight:500;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:400}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}
p{margin:0 0 1.1em}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  font-size:.78rem;color:var(--euc-soft);margin:0 0 1rem}
.center{text-align:center}
.lead{font-size:1.24rem;color:#48453f;max-width:46ch}
.center .lead{margin-inline:auto}
section{padding:88px 0}
.tight{padding:60px 0}
.muted{color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);font-weight:600;
  font-size:1rem;padding:.95em 1.7em;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  line-height:1;white-space:nowrap}
.btn-primary{background:var(--euc);color:var(--ivory-2);box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--euc-deep);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--euc-deep);border-color:var(--sand-deep)}
.btn-ghost:hover{background:var(--sand);color:var(--euc-deep);transform:translateY(-2px)}
.btn-lg{padding:1.1em 2em;font-size:1.05rem}
.btn .arrow{transition:transform .18s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ---------- HEADER / MEGA-MENU ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(246,239,233,.85);
  backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand .mark{width:40px;height:40px;color:var(--euc)}
.brand .wordmark{display:flex;flex-direction:column;line-height:1}
.brand .wordmark b{font-family:var(--serif);font-weight:500;font-size:1.7rem;color:var(--euc-deep);letter-spacing:.18em;line-height:1}
.brand .wordmark span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--euc-soft);margin-top:6px;
  padding-top:5px;border-top:1.5px solid var(--brass);display:inline-block}

.primary-nav{display:flex;align-items:center;gap:4px}
.primary-nav > ul{display:flex;list-style:none;margin:0;padding:0;gap:2px}
.primary-nav .nav-item{position:relative}
.nav-item > a,.nav-item > button{font-family:var(--sans);font-weight:550;font-size:.98rem;color:var(--euc-deep);
  background:none;border:0;cursor:pointer;padding:.6em .9em;border-radius:8px;display:inline-flex;align-items:center;gap:.35em}
.nav-item > a:hover,.nav-item > button:hover,.nav-item.open > button{background:rgba(234,223,209,.55)}
.nav-item .caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-top:-3px;transition:transform .2s;opacity:.7}
.nav-item.open .caret{transform:rotate(-135deg);margin-top:2px}

/* mega panel */
.mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  width:min(680px,92vw);background:var(--ivory-2);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);padding:18px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;
  display:grid;grid-template-columns:1fr 1.1fr;gap:16px}
.nav-item.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px} /* hover bridge */
.mega-feature{position:relative;border-radius:12px;overflow:hidden;min-height:230px;display:flex;align-items:flex-end;color:#fff}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mega-feature .mf-body{position:relative;padding:16px;background:linear-gradient(to top,rgba(46,28,37,.86),rgba(46,28,37,.05));width:100%}
.mega-feature h4{color:#fff;margin:0 0 .25em;font-size:1.25rem}
.mega-feature p{margin:0;font-size:.86rem;color:#f2ede6;line-height:1.45}
.mega-links{display:flex;flex-direction:column;gap:2px;padding:4px}
.mega-links a{display:flex;flex-direction:column;padding:11px 12px;border-radius:10px;transition:background .15s}
.mega-links a:hover{background:rgba(234,223,209,.5)}
.mega-links a b{font-family:var(--sans);font-weight:600;font-size:.98rem;color:var(--euc-deep)}
.mega-links a small{color:var(--muted);font-size:.8rem}

.nav-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--euc-deep)}
.menu-toggle svg{width:28px;height:28px}

/* mobile nav */
.mobile-nav{display:none;position:fixed;inset:76px 0 0;background:var(--ivory);z-index:55;overflow-y:auto;padding:20px 24px 60px}
.mobile-nav.open{display:block}
.mobile-nav .m-group{border-bottom:1px solid var(--line);padding:14px 0}
.mobile-nav .m-group > b{font-family:var(--serif);font-size:1.2rem;color:var(--euc-deep);display:block;margin-bottom:8px}
.mobile-nav a{display:block;padding:10px 4px;font-weight:550;color:var(--euc-deep);font-size:1.05rem}
.mobile-nav .m-cta{margin-top:24px;text-align:center}
.mobile-nav .m-cta .btn{width:100%;justify-content:center}
body.nav-locked{overflow:hidden}

/* ---------- HERO (editorial, arch-framed) ---------- */
.hero{padding:0;position:relative;overflow:hidden;background:
  radial-gradient(90% 80% at 88% 6%, rgba(176,141,87,.20), transparent 52%),
  linear-gradient(180deg,#FBF6EF,var(--ivory))}
.hero .container{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding:40px 24px 52px}
.hero-copy .eyebrow{color:var(--euc-soft);display:flex;align-items:center;gap:12px}
.hero-copy .eyebrow::before{content:"";width:34px;height:2px;background:var(--brass)}
.hero h1{margin-bottom:.1em;font-size:clamp(2.7rem,6vw,4.7rem)}
.hero .role{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2.3vw,1.6rem);color:var(--euc);margin:0 0 .7em}
.hero .lead{font-size:1.18rem;color:#4a4540;margin-bottom:1.5em;max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}

.hero-visual{position:relative;justify-self:center;width:100%;max-width:500px}
.hero-visual::before{content:"";position:absolute;inset:-5% 20% 16% -5%;
  border:1.5px solid var(--brass);border-radius:210px 210px 20px 20px;opacity:.45;z-index:0}
.hero-portrait{position:relative;z-index:1;width:74%;aspect-ratio:4/5;overflow:hidden;
  border-radius:210px 210px 22px 22px;box-shadow:var(--shadow)}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:52% 20%}
/* mom + baby photo lifted into Jenn's eyeline (top-right), quote beneath it */
.hero-stack{position:absolute;z-index:2;top:34px;right:0;width:50%;display:flex;flex-direction:column;gap:12px}
.hero-inset{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;
  border:5px solid var(--ivory-2);box-shadow:var(--shadow)}
.hero-inset img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-chip{background:var(--ivory-2);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-sm);padding:13px 16px}
.hero-chip .stars{color:var(--brass);letter-spacing:2px;font-size:.82rem}
.hero-chip p{margin:.3em 0 0;font-family:var(--serif);font-style:italic;font-size:.94rem;color:var(--euc-deep);line-height:1.34}

/* ---------- CREDENTIALS CARDS (under hero) ---------- */
.creds{background:var(--ivory)}
.creds .container{padding-top:40px;padding-bottom:40px}
.credcards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.credcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;
  background:var(--ivory-2);border:1px solid var(--line);border-radius:14px;padding:22px 12px;
  color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
a.credcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--sand-deep)}
.credcard .ci{width:46px;height:46px;border-radius:50%;background:rgba(176,141,87,.14);
  display:flex;align-items:center;justify-content:center;color:var(--brass);flex-shrink:0}
.credcard .ci svg{width:23px;height:23px}
.credcard b{font-family:var(--sans);font-weight:600;font-size:.9rem;color:var(--euc-deep);line-height:1.25}
.credcard small{font-size:.75rem;color:var(--muted);line-height:1.3}
a.credcard::after{content:"→";position:absolute;top:10px;right:12px;color:var(--brass);opacity:0;
  font-size:.85rem;transition:opacity .2s,transform .2s}
a.credcard:hover::after{opacity:.9;transform:translateX(2px)}
@media(max-width:900px){.credcards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.credcards{grid-template-columns:repeat(2,1fr);gap:10px}.credcard{padding:18px 10px}}

/* ---------- GENERIC SECTIONS ---------- */
.sec-head{max-width:60ch}
.center.sec-head{margin-inline:auto}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

.card{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--euc),var(--brass));
  transform:scaleX(0);transform-origin:left;transition:transform .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card:hover::before{transform:scaleX(1)}
.card .ico{width:46px;height:46px;color:var(--euc);margin-bottom:14px}
.card h3{margin-bottom:.3em}
.card p{font-size:.98rem;color:#4f4c46;margin-bottom:.8em}
.card .more{font-weight:600;font-size:.95rem;display:inline-flex;gap:.4em;align-items:center}
.card .more .arrow{transition:transform .18s}
.card:hover .more .arrow{transform:translateX(3px)}

/* value / why cards with photo */
.why-card{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:transform .2s,box-shadow .2s}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.why-card .ph{aspect-ratio:3/2;overflow:hidden}
.why-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.why-card:hover .ph img{transform:scale(1.04)}
.why-card .bd{padding:24px}

/* ---------- FEATURED SERVICE (alternating) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split.rev .split-media{order:2}
.split-media{border-radius:18px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.split-media img{width:100%;height:100%;object-fit:cover}
.split ul.ticks{list-style:none;padding:0;margin:.5em 0 1.4em}
.split ul.ticks li{padding:6px 0 6px 30px;position:relative;color:#48453f}
.split ul.ticks li::before{content:"";position:absolute;left:0;top:12px;width:16px;height:9px;
  border-left:2.5px solid var(--euc);border-bottom:2.5px solid var(--euc);transform:rotate(-45deg)}

/* ---------- MEET JENN BAND (person on every page) ---------- */
.meetjenn{padding:76px 0;background:linear-gradient(180deg,var(--ivory),#FBF6EF)}
.meetjenn .mj-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;
  width:100%;max-width:420px;justify-self:center}
.meetjenn .mj-photo img{width:100%;height:100%;object-fit:cover}
.meetjenn .mj-copy h2{margin-bottom:.25em}
.meetjenn .mj-copy .lead{margin-bottom:1.4em}
@media(max-width:860px){.meetjenn{padding:56px 0}.meetjenn .mj-photo{max-width:340px}}

/* ---------- SIGNATURE TESTIMONIAL ---------- */
.signature{background:var(--euc);color:#f0f4f2}
.signature .container{max-width:900px;text-align:center}
.signature .qmark{font-family:var(--serif);font-size:5rem;line-height:0;color:var(--sand);opacity:.6;height:40px;display:block}
.signature blockquote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.4;
  font-weight:400;margin:0 0 1em;color:#fff}
.signature .attr{font-weight:600;letter-spacing:.04em;color:var(--sand)}
.signature .sub{font-size:.9rem;color:#c8d4d0;margin-top:.2em}

/* ---------- SECTION CONNECTOR (stitches sections together) ---------- */
/* A brass thread with a small diamond node that straddles the seam between two
   sections, so the page reads as one flowing story instead of stacked boxes.
   Fades at both ends to blend into any section background (light or dark). */
.connector{position:relative;height:0;z-index:4;pointer-events:none;overflow:visible}
.connector::before{content:"";position:absolute;left:50%;top:-38px;transform:translateX(-50%);
  width:1.5px;height:76px;background:linear-gradient(to bottom,transparent,var(--brass) 20%,var(--brass) 80%,transparent)}
.connector::after{content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(45deg);
  width:9px;height:9px;background:var(--brass);box-shadow:0 0 0 4px var(--ivory)}
.connector.on-dark::after{box-shadow:0 0 0 4px var(--euc-deep)}

/* ---------- MONTAGE (full-bleed scrolling photo ribbon) ---------- */
.montage-band{background:var(--ivory)}
.montage-intro{padding:56px 24px 32px;text-align:center}
.montage-intro .eyebrow{color:var(--euc-soft)}
.montage-intro h2{margin:0}
.montage{overflow:hidden;background:var(--euc-deep);position:relative}
.montage::before,.montage::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.montage::before{left:0;background:linear-gradient(90deg,rgba(59,37,48,.65),transparent)}
.montage::after{right:0;background:linear-gradient(270deg,rgba(59,37,48,.65),transparent)}
.montage-track{display:flex;gap:8px;width:max-content;padding:8px 0;animation:marquee 80s linear infinite}
.montage-track img{height:400px;width:auto;object-fit:cover;display:block;flex:0 0 auto}
.montage:hover .montage-track{animation-play-state:paused}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:860px){.montage-track img{height:300px}}
@media(max-width:520px){.montage-track img{height:230px}}
@media(prefers-reduced-motion:reduce){.montage-track{animation:none}}

/* ---------- GALLERY (uniform editorial grid) ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-3{grid-template-columns:repeat(3,1fr)}
.gallery a{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:12px;box-shadow:var(--shadow-sm);
  transition:transform .3s,box-shadow .3s}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gallery a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.gallery a:hover img{transform:scale(1.04)}

/* ---------- TESTIMONIAL CARDS ---------- */
.tcard{background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  display:flex;flex-direction:column;gap:14px}
.tcard .stars{color:var(--brass);letter-spacing:2px;font-size:.95rem}
.tcard blockquote{margin:0;font-size:1.06rem;color:#3f3c37;font-family:var(--serif);line-height:1.5}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.tcard .avatar{width:44px;height:44px;border-radius:50%;background:var(--euc);color:var(--ivory-2);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;flex-shrink:0}
.tcard .who b{color:var(--euc-deep);font-family:var(--sans);font-size:.95rem}
.tcard .who small{color:var(--muted);display:block;font-size:.82rem}
.pull{color:var(--euc);font-family:var(--serif);font-style:italic}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;
  font-family:var(--serif);font-size:1.2rem;color:var(--euc-deep);font-weight:500}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";position:absolute;right:6px;top:28px;width:12px;height:12px;
  border-right:2px solid var(--euc);border-bottom:2px solid var(--euc);transform:rotate(45deg);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(-135deg)}
.faq-item .fa-body{padding:0 44px 22px 0;color:#4c4942}
.faq-item .fa-body p:last-child{margin-bottom:0}

/* ---------- CTA BAND ---------- */
.cta-band{background:
  radial-gradient(90% 120% at 15% 10%, rgba(176,141,87,.20), transparent 50%),var(--ivory-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band .container{text-align:center;max-width:720px}

/* ---------- FORMS ---------- */
.form-wrap{background:var(--ivory-2);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow-sm)}
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;font-size:.9rem;color:var(--euc-deep);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--char);
  padding:.8em .9em;border:1.5px solid var(--line);border-radius:10px;background:#fff;transition:border .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--euc-soft);
  box-shadow:0 0 0 3px rgba(76,111,104,.15)}
.field textarea{min-height:130px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#lead-status{margin:6px 0 0;font-weight:600}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--euc-deep);color:#d8cccf;padding:64px 0 26px;font-size:.95rem}
.site-footer a{color:#e7dde0}
.site-footer a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-word{font-family:var(--serif);font-size:2rem;color:#fff;display:block;letter-spacing:.08em;line-height:1}
.foot-brand .foot-word::after{content:"";display:block;width:38px;height:2px;background:var(--brass);margin:12px 0 4px}
.foot-brand p{color:#bcaab0;font-size:.92rem;max-width:34ch;margin-top:.5em}
.foot-col h4{color:#fff;font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:22px;color:#a2939a;font-size:.85rem}
.foot-bottom .socials{display:flex;gap:10px}
.foot-bottom .socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:#d8cccf}
.foot-bottom .socials a:hover{background:rgba(255,255,255,.1);color:#fff}
.foot-bottom .socials svg{width:17px;height:17px}

/* Canonical Digilu + AIOInsights footer credit (quiet, logos, no score) */
.footer-credits{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;
  padding:22px 8px 4px;margin-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.footer-cred{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font:500 .72rem/1.1 var(--sans);letter-spacing:.02em;color:#9a8f92;transition:color .2s ease}
.footer-cred:hover{color:#e9dfe2}
.footer-cred img{display:block;opacity:.9;transition:opacity .2s ease}
.footer-cred:hover img{opacity:1}
.cred-sep{color:#5f5257;font-size:.72rem;user-select:none}
@media(max-width:520px){.cred-sep{display:none}.footer-credits{gap:12px}}

/* ---------- PAGE HERO (interior) ---------- */
.page-hero{position:relative;overflow:hidden;background:
  radial-gradient(100% 90% at 90% -10%, rgba(176,141,87,.20), transparent 55%),
  linear-gradient(180deg,#FBF6EF,var(--ivory));padding:38px 0 26px}
.page-hero .container{max-width:820px}
/* pull the first content section up under short text heroes so it is seen sooner */
.page-hero:not(.has-img) + section{padding-top:34px}
.page-hero:not(.has-img) .lead{max-width:62ch}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--euc-soft)}
.breadcrumb span{margin:0 .4em;opacity:.5}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.6rem)}
/* epic image variant: copy + framed photo, brass arc */
.page-hero.has-img{padding:52px 0 56px}
.page-hero.has-img .container{max-width:var(--maxw);display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.page-hero.has-img .ph-copy .eyebrow{display:flex;align-items:center;gap:12px}
.page-hero.has-img .ph-copy .eyebrow::before{content:"";width:34px;height:2px;background:var(--brass)}
.page-hero.has-img .ph-copy .lead{font-size:1.18rem;max-width:46ch}
.ph-visual{position:relative;justify-self:center;width:100%;max-width:480px}
.ph-visual::before{content:"";position:absolute;inset:-5% -5% 14% 22%;border:1.5px solid var(--brass);
  border-radius:200px 200px 20px 20px;opacity:.4;z-index:0}
.ph-visual .ph-frame{position:relative;z-index:1;aspect-ratio:5/4;overflow:hidden;border-radius:20px;box-shadow:var(--shadow)}
.ph-visual .ph-frame img{width:100%;height:100%;object-fit:cover}
.ph-visual .ph-tag{position:absolute;z-index:2;left:-16px;bottom:-14px;background:var(--ivory-2);
  border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm);padding:11px 15px;display:flex;align-items:center;gap:10px}
.ph-visual .ph-tag b{font-family:var(--serif);font-size:1.7rem;color:var(--euc);line-height:1}
.ph-visual .ph-tag span{font-size:.8rem;color:var(--char);line-height:1.25;max-width:130px}
@media(max-width:860px){
  .page-hero.has-img .container{grid-template-columns:1fr;gap:32px}
  .ph-visual{max-width:440px;order:-1}
}
.prose{max-width:70ch}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.4em;color:var(--euc)}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.5em}
.prose blockquote{border-left:3px solid var(--sand-deep);margin:1.4em 0;padding:.4em 0 .4em 1.2em;
  font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--euc)}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.chip{background:rgba(234,223,209,.55);color:var(--euc-deep);border-radius:999px;padding:.45em 1em;font-size:.85rem;font-weight:600}

.answer-box{background:var(--ivory-2);border:1px solid var(--line);border-left:4px solid var(--euc);
  border-radius:12px;padding:22px 24px;margin:22px 0}
.answer-box h3{margin:0 0 .3em;color:var(--euc-deep)}
.answer-box p:last-child{margin-bottom:0}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1000px){
  .gallery{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .hero .container{gap:40px}
}
@media(max-width:860px){
  .primary-nav{display:none}
  .menu-toggle{display:inline-flex}
  .nav-cta .btn-consult{display:none}
  .hero .container{grid-template-columns:1fr;padding-top:34px;gap:44px}
  .hero-visual{max-width:420px;margin:12px auto 0}
  .hero-stack{width:52%;right:-4px;top:22px;gap:9px}
  .split,.split.rev{grid-template-columns:1fr;gap:30px}
  .split.rev .split-media{order:0}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr;gap:20px}
  .field-row{grid-template-columns:1fr}
  section{padding:64px 0}
  .gallery,.gallery-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  body{font-size:17px}
  .gallery,.gallery-3{grid-template-columns:repeat(2,1fr);gap:10px}
  .foot-grid{grid-template-columns:1fr}
  .hero-chip{padding:9px 12px}
  .hero-chip p{font-size:.8rem}
  .trustbar .container{gap:14px}
  .trustbar .ti{font-size:.88rem;width:calc(50% - 15px)}
}

/* reduce motion */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
