/* =====================================================================
   CHRISTIE MOREIRA — personal-brand layer (Two Doors direction)
   Loaded AFTER elevate.css, BEFORE palette.css.
   Type + wordmark + small shared helpers used across every page.
   (Colors come from palette.css.)
   ===================================================================== */

:root{
  --serif:"Marcellus", Georgia, serif;
  --sans:"DM Sans", "Helvetica Neue", Arial, sans-serif;
  --script:"DM Sans", sans-serif;
  --shadow-lux:0 40px 90px -50px rgba(49,43,38,.5);
}

body{ font-weight:300; }
h1,h2{ font-family:var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.08em; line-height:1.16; }
h3,h4{ font-family:var(--sans); font-weight:500; letter-spacing:0; }
.lead{ font-weight:300; }
.eyebrow{ letter-spacing:.16em; color:var(--text-soft); }

/* LAW II · no italics, no scripts — emphasis is copper or bold */
em,i,cite,blockquote,.quote p,.qpanel p,.footer__tag,.prose .pull,.brass-note,.pkg__best{ font-style:normal !important; }
h1 em,h2 em,h3 em{ color:#C4795A; }

/* LAW III · the copper button exists for exactly one label */
.btn--copper{ --b:#C4795A; background:#C4795A; border-color:#C4795A; color:#fff; }
.btn--copper:hover{ background:#A96449; border-color:#A96449; color:#fff; }

/* foil devices */
.divider,.hr{ background:#C08A66; }
.divider::after{ background:#C08A66; }
.feature__num,.stat__n{ font-family:var(--serif); color:#C08A66; }

/* LAW V · real photo, hairline copper frame */
.photo-hairline, .bhero__media img{ border:1px solid #C08A66; padding:12px; background:transparent; border-radius:0; }

/* personal wordmark · Marcellus letterspaced caps on navy bar */
.brand--cm{ flex-direction:column; gap:.25rem; }
.brand--cm .brand__home{ color:inherit; text-decoration:none; display:block; }
.brand--cm .sub a{ color:inherit; text-decoration:none; }
.brand--cm .sub a:hover{ color:#F2EDE4; }
.brand--cm .wm{ font-family:var(--serif); font-size:1.05rem; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#F2EDE4; line-height:1; white-space:nowrap; }
.brand--cm .wm em{ font-style:normal; font-weight:400; color:#F2EDE4; }
.brand--cm .sub{ font-family:var(--sans); font-size:.5rem; letter-spacing:.17em; text-transform:uppercase; color:#B9C0CE; }
.site-header.on-dark .brand--cm .wm{ color:#F2EDE4; }
.site-header.on-dark.solid .brand--cm .wm{ color:#F2EDE4; }

/* NAV · navy bar every page */
.site-header{ background:#1C2B45; padding-block:1.1rem; }
.site-header.solid{ background:#1C2B45; box-shadow:none; padding-block:.9rem; }
.site-header::before{ display:none !important; }
.site-header .nav a{ color:#B9C0CE; }
.site-header .nav a:hover, .site-header .nav a.active{ color:#F2EDE4; }
.site-header .nav a::after{ background:#C08A66; }
.site-header .nav .btn{ color:#fff; }
.nav-toggle span{ background:#F2EDE4 !important; }
@media (max-width:1240px){ .nav{ background:#1C2B45; } }

/* FOOTER · navy */
.site-footer{ background:#1C2B45; border-top:none; color:#B9C0CE; }
.site-footer h4{ color:#C08A66; }
.site-footer a{ color:#B9C0CE; }
.site-footer a:hover{ color:#F2EDE4; }
.site-footer .footer__tag{ color:#F2EDE4; }
.site-footer .monogram{ color:#F2EDE4; border-color:#C08A66; }
.site-footer .footer-legal p{ color:#8C97AB; }
.site-footer .footer-bottom{ color:#8C97AB; border-top:1px solid rgba(242,237,228,.14); }
.site-footer .fcol li{ color:#8C97AB; }
.footer-main{ grid-template-columns:1.7fr 1fr 1fr 1fr 1fr 1.1fr; }
@media (max-width:860px){ .footer-main{ grid-template-columns:1fr 1fr 1fr; } }

/* DOORWAY · the single emerald band (program promo on Foil pages) */
.doorway{ background:#0E3B36; color:#F2EDE4; }
.doorway .dw-name{ font-family:var(--sans); font-weight:200; font-size:clamp(2.2rem,4.6vw,3.6rem); line-height:1.1; color:#F2EDE4; text-transform:lowercase; letter-spacing:.01em; }
.doorway .dw-name b{ font-weight:700; }
.doorway p{ color:rgba(242,237,228,.82); }
.doorway .dw-k{ font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(242,237,228,.6); }

/* shared layout helpers */
.shell{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.sec{ padding-block:clamp(5rem,10vw,9rem); }
.idx{ font-family:var(--sans); font-size:.66rem; letter-spacing:.2em; color:var(--brass); text-transform:uppercase; }
.hr{ height:1px; background:var(--line); border:0; }

/* signature · DM Sans letterspaced caps, copper (scripts banned) */
.cm-sig{ font-family:var(--sans); font-size:.74rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:#C4795A; line-height:1; margin-top:1.4rem; }
.cm-sig::before{ content:"· "; }
.cm-role{ font-family:var(--sans); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); margin-top:.5rem; }

/* explicit reveal stagger (used as .reveal.r-d1 / r-d2 / r-d3) */
.reveal.r-d1{ transition-delay:.08s; }
.reveal.r-d2{ transition-delay:.16s; }
.reveal.r-d3{ transition-delay:.24s; }
@media (prefers-reduced-motion:reduce){ .reveal.r-d1,.reveal.r-d2,.reveal.r-d3{ transition-delay:0s; } }

/* split dual-CTA cards (shared by home + sub-pages) */
.close2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ccard{ position:relative; overflow:hidden; min-height:clamp(280px,30vw,360px); display:flex; align-items:flex-end; color:var(--ivory); }
.ccard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.ccard::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,12,.2), rgba(20,16,12,.8)); }
.ccard:hover img{ transform:scale(1.05); }
.ccard__in{ position:relative; z-index:2; padding:clamp(1.6rem,3vw,2.4rem); }
.ccard h3{ color:#fff; font-size:clamp(1.6rem,3vw,2.2rem); }
.ccard p{ color:rgba(246,241,235,.86); font-size:.94rem; margin:.5rem 0 1rem; max-width:32ch; }
@media (max-width:760px){ .close2{ grid-template-columns:1fr; } }

/* LAW VII · quote panels run full width, edge to edge */
.wrap > .qpanel{ margin-inline:calc(50% - 50vw); max-width:none; min-height:min(620px,72vh); }
.wrap > .qpanel .qpanel__in{ max-width:34ch; margin-inline:clamp(1.5rem,7vw,7rem); }
@media (max-width:800px){ .wrap > .qpanel{ min-height:420px; } .wrap > .qpanel .qpanel__in{ margin-inline:0; } }

/* LAW VIII · in-body links are copper and underlined, so they read as links */
.bcard a,.feel a,p a:not(.btn),li a:not(.btn),.prose a:not(.btn){ color:var(--brass); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px; font-weight:400; }
.bcard a:hover,.feel a:hover,p a:not(.btn):hover,li a:not(.btn):hover,.prose a:not(.btn):hover{ color:var(--brass-light); text-decoration-thickness:2px; }
.site-header a,.site-footer a,.nav a,
.site-header p a:not(.btn),.site-footer p a:not(.btn),
.site-header li a:not(.btn),.site-footer li a:not(.btn),
.site-footer span a:not(.btn),.nav a:not(.btn){ color:inherit; text-decoration:none; border-bottom:0; }
.site-footer p a:not(.btn):hover,.site-footer li a:not(.btn):hover,.site-footer span a:not(.btn):hover,.site-header a:not(.btn):hover{ color:var(--brass); text-decoration:none; }

/* LAW IX · centred closing blocks read at a real measure, not a column */
[style*="text-align:center"] > .lead{ max-width:46ch; margin-inline:auto; line-height:1.65; }
