/* ============================================================
   internal-pages.css — shared chrome for every internal page
   tokens · base · grain · nav · breadcrumb · buttons ·
   section defaults · reveal · light band · footer · mobile bar
   ============================================================ */

:root{
  --ink:#190710; --paper:#F6EEE2; --ink-txt:#2E1119; --gold-deep:#A87C39; --wine:#3E0B20; --wine-2:#5C1132;
  --gold:#D9B778; --gold-hi:#F2DCAE; --rose:#C98A9E; --ivory:#F5EDE3;
  --line:rgba(217,183,120,.25);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;background:var(--ink);color:var(--ivory);overflow-x:hidden;line-height:1.65}
::selection{background:var(--gold);color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.italiana{font-family:'Italiana',serif}
.frit{font-family:'Fraunces',serif;font-style:italic;font-weight:300}
.cv{content-visibility:auto;contain-intrinsic-size:auto 900px}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- nav ---------- */
nav.top{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,5vw,60px);transition:.4s}
nav.top.scrolled{background:linear-gradient(rgba(18,3,9,.92),rgba(18,3,9,0));backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:42px;width:auto;border-radius:8px}
.brand .bt{font-family:'Italiana',serif;font-size:21px;letter-spacing:.14em}
.nav-r{display:flex;align-items:center;gap:30px}
.nav-links{display:flex;gap:30px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.nav-links a{opacity:.7;transition:.3s}
.nav-links a:hover,.nav-links a.on{opacity:1;color:var(--gold)}
.nav-cta{padding:12px 26px}
@media(max-width:900px){.nav-links{display:none}.brand .bt{display:none}.brand img{height:36px}.nav-cta{padding:10px 20px;font-size:11px}nav.top{padding:14px 20px}}

/* ---------- breadcrumb ---------- */
.crumb{position:absolute;top:104px;left:clamp(20px,5vw,60px);display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,237,227,.6)}
.crumb a:hover{color:var(--gold)}
.crumb i{font-style:normal;color:var(--gold)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 34px;border-radius:100px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;overflow:hidden;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-gold{background:linear-gradient(110deg,var(--gold-hi),var(--gold) 45%,#B08A4A);color:#20060F;box-shadow:0 10px 34px rgba(217,183,120,.28)}
.btn-gold::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-gold:hover::after{left:130%}
.btn-line{background:transparent;border:1px solid var(--line);color:var(--ivory)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- section defaults ---------- */
section{padding:clamp(80px,10vw,140px) clamp(20px,5vw,60px);position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:24px}
.eyebrow::before{content:'';width:40px;height:1px;background:var(--gold)}
h2.big{font-family:'Italiana',serif;font-weight:400;font-size:clamp(30px,4.6vw,62px);line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
h2.big .frit{text-transform:none;color:var(--gold);font-size:.92em}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,.84,.24,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- light reading band ---------- */
.light{background:linear-gradient(180deg,#FBF4E8,var(--paper) 20%,var(--paper) 80%,#F1E6D5);color:var(--ink-txt)}
.light.band-top{border-top:1px solid rgba(168,124,57,.35)}
.light.band-bottom{border-bottom:1px solid rgba(168,124,57,.35)}
.light .eyebrow{color:var(--gold-deep)}
.light .eyebrow::before{background:var(--gold-deep)}
.light h2.big{color:var(--ink-txt)}
.light h2.big .frit{color:var(--gold-deep)}
.light .btn-line{border-color:rgba(46,17,25,.35);color:var(--ink-txt)}
.light .btn-line:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.light .amen-grid{border-top-color:rgba(46,17,25,.2)}
.light .amen{color:#43222E;border-bottom-color:rgba(46,17,25,.1);font-weight:400}
.light .amen i{color:var(--gold-deep)}
.light .revs{background:rgba(168,124,57,.3);border-color:rgba(168,124,57,.3)}
.light .rev{background:#FFFBF3}
.light .rev:hover{background:#FFF6E7}
.light .rev .stars{color:var(--gold-deep)}
.light .rev q{color:#3C1A26}
.light .rev .who{color:rgba(46,17,25,.55)}
.light .loc-map{border-color:rgba(168,124,57,.4)}
.light .loc-map::before{border-color:rgba(168,124,57,.45)}
.light .near{border-top-color:rgba(46,17,25,.2)}
.light .near div{color:#43222E;border-bottom-color:rgba(46,17,25,.1);font-weight:400}
.light .near div b{color:var(--gold-deep)}
.light .faq{border-top-color:rgba(46,17,25,.2)}
.light .faq details{border-bottom-color:rgba(46,17,25,.1)}
.light .faq summary:hover{color:var(--gold-deep)}
.light .faq summary .pm{color:var(--gold-deep)}
.light .faq .ans{color:rgba(46,17,25,.85);font-size:15.5px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:clamp(60px,8vw,100px) clamp(20px,5vw,60px) 0;background:#0D0206;overflow:hidden}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;padding-bottom:56px}
.f-grid h4{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;font-weight:600}
.f-grid a,.f-grid p{display:block;font-size:14.5px;color:rgba(245,237,227,.6);margin-bottom:13px;font-weight:300;transition:.3s}
.f-grid a:hover{color:var(--gold);padding-left:6px}
.f-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0;border-top:1px solid rgba(245,237,227,.08);font-size:12.5px;color:rgba(245,237,227,.35)}
.f-base a{margin-left:18px}
.f-base a:hover{color:var(--gold)}
.f-mark{font-family:'Italiana',serif;font-size:clamp(60px,13vw,190px);line-height:.95;text-transform:uppercase;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(217,183,120,.22);user-select:none;margin-bottom:-10px;letter-spacing:.02em}
@media(max-width:860px){.f-grid{grid-template-columns:1fr}}

/* ---------- sticky mobile book bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;gap:10px;padding:12px 16px;background:rgba(13,2,6,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.mbar a{flex:1;justify-content:center;padding:14px 10px;font-size:11px}
@media(max-width:700px){.mbar{display:flex}body{padding-bottom:76px}}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
