/* ============================================================
   CALL IT WHAT YOU WANT — shared design system
   Medicine-show aesthetic · used by every page.
   Rename-ready: brand name lives in page HTML only.
   ============================================================ */

:root{
  --green:#0f3324; --green-d:#0a251a; --green-l:#18492f;
  --red:#a8321f; --red-d:#8a2817;
  --cream:#f2e7cd; --cream-2:#e9dabb; --paper:#f6f1e2;
  --gold:#cf9f34; --gold-l:#e2bd54; --gold-d:#b8860b;
  --ink:#20201a; --muted:#5f5a4c; --line:#dccfa9;
  --shadow:6px 6px 0 rgba(15,51,36,.22);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"EB Garamond",Georgia,serif;color:var(--ink);background:var(--paper);font-size:18px;line-height:1.6;}
h1,h2,h3,h4{margin:0;line-height:1.05;}
img{display:block;max-width:100%;}
a{color:inherit;}
.rye{font-family:"Rye",Georgia,serif;font-weight:400;}
.cinzel{font-family:"Cinzel",Georgia,serif;}
.wrap{max-width:1140px;margin:0 auto;padding:0 26px;}
.center{text-align:center;}
.tight{padding-top:0!important;}

/* ---------- Prototype banner ---------- */
.ribbon{background:var(--gold);color:var(--green-d);text-align:center;font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;padding:7px 14px;}

/* ---------- NAV ---------- */
nav.site{position:sticky;top:0;z-index:60;background:var(--green-d);border-bottom:2px solid var(--gold);transition:box-shadow .3s;}
nav.site.solid{box-shadow:0 6px 20px rgba(0,0,0,.28);}
nav.site .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;}
.brand{font-family:"Cinzel",serif;font-weight:900;letter-spacing:2px;color:var(--cream);font-size:15px;text-decoration:none;line-height:1;}
.brand span{display:block;font-family:"Special Elite",monospace;font-weight:400;font-size:9.5px;letter-spacing:2px;color:var(--gold-l);margin-top:3px;}
.navlinks{display:flex;gap:20px;align-items:center;}
.navlinks a{font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--cream-2);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;}
.navlinks a:hover{color:var(--gold-l);}
.navlinks a.active{color:var(--gold-l);border-bottom-color:var(--gold);}
.navlinks a.btn{background:var(--red);color:var(--cream);padding:9px 16px;border-radius:2px;border:1px solid var(--gold);}
.navlinks a.btn:hover{background:var(--gold);color:var(--green-d);}
.menu-toggle{display:none;background:none;border:0;color:var(--cream);cursor:pointer;}
@media(max-width:900px){
  .menu-toggle{display:block;}
  .navlinks{position:absolute;top:62px;left:0;right:0;background:var(--green-d);flex-direction:column;gap:0;padding:8px 0 14px;border-bottom:2px solid var(--gold);max-height:0;overflow:hidden;transition:max-height .3s;}
  .navlinks.open{max-height:460px;}
  .navlinks a{padding:11px 26px;width:100%;border-bottom:1px solid rgba(255,255,255,.06);}
  .navlinks a.btn{margin:10px 26px 0;width:auto;text-align:center;}
}

/* ---------- Buttons ---------- */
.cta{display:inline-block;background:var(--red);color:var(--cream);font-family:"Cinzel",serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:15px;padding:14px 30px;border-radius:2px;text-decoration:none;border:2px solid var(--gold);box-shadow:4px 4px 0 rgba(0,0,0,.3);transition:transform .15s,background .2s;cursor:pointer;}
.cta:hover{background:var(--gold);color:var(--green-d);transform:translate(-1px,-1px);}
.cta.ghost{background:transparent;color:var(--cream);}
.cta.ghost:hover{background:var(--gold);color:var(--green-d);}
.btn-ghost{display:inline-block;background:transparent;color:var(--cream);font-family:"Cinzel",serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:14px;padding:12px 26px;border:2px solid var(--gold);border-radius:2px;text-decoration:none;}
.btn-ghost.dark{color:var(--green);}
.btn-ghost:hover{background:var(--gold);color:var(--green-d);}
.btn-sm{font-size:12px;padding:10px 18px;}

/* ---------- Marquee ---------- */
.marquee{background:var(--red);color:var(--cream);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);overflow:hidden;white-space:nowrap;}
.marquee .track{display:inline-block;padding:11px 0;animation:scroll 26s linear infinite;font-family:"Cinzel",serif;letter-spacing:2px;text-transform:uppercase;font-size:14px;}
.marquee i{color:var(--gold-l);font-style:normal;margin:0 6px;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- HERO (full-bleed) ---------- */
.hero{position:relative;min-height:86vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream);border-bottom:6px double var(--gold);overflow:hidden;padding:90px 26px;}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero .hero-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg, rgba(10,37,26,.32) 0%, rgba(10,37,26,.48) 42%, rgba(10,37,26,.88) 100%),
  radial-gradient(120% 82% at 50% 44%, transparent 32%, rgba(10,37,26,.60) 100%);}
.hero .hero-inner{position:relative;z-index:2;max-width:840px;}
.kicker{font-family:"Special Elite",monospace;letter-spacing:4px;text-transform:uppercase;color:var(--gold-l);font-size:12.5px;margin-bottom:18px;}
.hero h1{font-family:"Rye",serif;font-size:clamp(46px,8vw,104px);color:var(--cream);text-shadow:3px 3px 0 var(--red-d),7px 7px 0 rgba(0,0,0,.35);letter-spacing:1px;line-height:.98;}
.hero .sub{font-family:"Cinzel",serif;font-weight:700;letter-spacing:4px;text-transform:uppercase;font-size:clamp(13px,2vw,18px);color:var(--gold-l);margin:22px 0 12px;}
.hero .lead{font-size:20px;font-style:italic;color:#eee6d2;margin:12px auto 32px;max-width:620px;}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

/* ---------- HERO-LITE (interior page banner) ---------- */
.hero-lite{position:relative;color:var(--cream);text-align:center;padding:74px 26px;border-bottom:6px double var(--gold);background:var(--green);overflow:hidden;}
.hero-lite .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;}
.hero-lite .inner{position:relative;max-width:760px;margin:0 auto;}
.hero-lite h1{font-family:"Rye",serif;font-size:clamp(34px,6vw,64px);color:var(--cream);text-shadow:2px 2px 0 var(--red-d),4px 4px 0 rgba(0,0,0,.3);}
.hero-lite p{font-size:19px;font-style:italic;color:#e8e0cb;margin:16px auto 0;max-width:600px;}

/* ---------- Credibility strip ---------- */
.strip{background:var(--red);color:var(--cream);border-bottom:2px solid var(--gold);}
.strip .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 40px;padding:13px 26px;text-align:center;}
.strip b{font-family:"Cinzel",serif;letter-spacing:1px;}
.strip span{font-family:"Special Elite",monospace;font-size:13px;letter-spacing:1px;}

/* ---------- Section shell ---------- */
section{padding:64px 0;}
.eyebrow{font-family:"Special Elite",monospace;letter-spacing:4px;text-transform:uppercase;color:var(--red);font-size:13px;text-align:center;margin-bottom:14px;}
.title{font-family:"Rye",serif;font-size:clamp(28px,5vw,48px);text-align:center;color:var(--green);margin-bottom:8px;}
.subtitle{max-width:720px;margin:0 auto 40px;text-align:center;font-size:19px;color:var(--muted);}
.rule{width:120px;height:2px;background:var(--gold);margin:0 auto 40px;position:relative;}
.rule::before,.rule::after{content:"✦";position:absolute;top:-11px;color:var(--gold);font-size:14px;}
.rule::before{left:-22px;} .rule::after{right:-22px;}
.on-green{background:var(--green);color:var(--cream);border-top:6px double var(--gold);border-bottom:6px double var(--gold);}
.on-green .title{color:var(--cream);} .on-green .eyebrow{color:var(--gold-l);}
.on-greend{background:var(--green-d);color:var(--cream);border-top:6px double var(--gold);border-bottom:6px double var(--gold);}
.on-greend .title{color:var(--cream);} .on-greend .eyebrow{color:var(--gold-l);}
.on-cream2{background:var(--cream-2);}

/* ---------- Grids & cards ---------- */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:860px){.grid3,.grid4{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.grid2,.grid3,.grid4{grid-template-columns:1fr;}}

.card{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:34px 26px 30px;text-align:center;}
.card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(207,159,52,.4);border-radius:2px;pointer-events:none;}
.card .num{position:relative;width:48px;height:48px;margin:0 auto 16px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Cinzel",serif;font-weight:700;color:var(--red);font-size:17px;background:var(--paper);letter-spacing:1px;}
.card .ic{font-size:30px;}
.card h3{position:relative;font-family:"Cinzel",serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:16px;margin:0 0 12px;color:var(--green);}
.card h3::after{content:"";display:block;width:32px;height:2px;background:var(--gold);margin:11px auto 0;}
.card p{position:relative;margin:0;font-size:16px;color:#4a4536;}
.on-green .card,.on-greend .card{background:rgba(242,231,205,.04);border-color:rgba(207,159,52,.3);}
.on-green .card h3,.on-greend .card h3{color:var(--gold-l);}
.on-green .card p,.on-greend .card p{color:#dcd5c1;}

/* Navigator cards (home — routes into each arm) */
.navcard{position:relative;display:block;text-decoration:none;aspect-ratio:4/5;border:3px solid var(--green);outline:2px solid var(--gold);outline-offset:-9px;overflow:hidden;background:#111;}
.navcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s;}
.navcard:hover img{transform:scale(1.08);}
.navcard .lbl{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px;background:linear-gradient(transparent 40%,rgba(10,37,26,.88));color:var(--cream);}
.navcard .lbl h3{font-family:"Rye",serif;font-size:23px;color:var(--cream);text-shadow:1px 1px 0 rgba(0,0,0,.5);}
.navcard .lbl small{font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;color:var(--gold-l);margin-top:6px;display:block;}
.navcard .soon{position:absolute;top:12px;right:12px;background:var(--gold);color:var(--green-d);font-family:"Special Elite",monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:20px;}

/* ---------- Gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.frame{position:relative;aspect-ratio:1/1;border:3px solid var(--green);outline:2px solid var(--gold);outline-offset:-8px;overflow:hidden;background:#111;}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.frame:hover img{transform:scale(1.07);}
.frame span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(10,37,26,.92));color:var(--cream);font-family:"Special Elite",monospace;font-size:12px;letter-spacing:.5px;padding:26px 10px 9px;text-align:center;}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);}}

/* ---------- Format / feature cards ---------- */
.fmt{background:var(--cream-2);border:1px solid var(--line);border-left:6px solid var(--red);border-radius:4px;padding:24px 26px;text-align:left;}
.fmt h3{font-family:"Cinzel",serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:18px;color:var(--green);margin-bottom:8px;}
.fmt p{margin:0;font-size:16.5px;color:#4a4536;}

/* ---------- Quotes ---------- */
.quote{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:24px;text-align:left;}
.quote .stars{color:var(--gold);letter-spacing:3px;margin-bottom:10px;}
.quote p{margin:0 0 12px;font-size:16.5px;font-style:italic;color:#3f3a2d;}
.quote .who{font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}

/* ---------- Menu list ---------- */
.menucols{display:grid;grid-template-columns:1fr 1fr;gap:14px 48px;max-width:920px;margin:0 auto;}
@media(max-width:720px){.menucols{grid-template-columns:1fr;}}
.mcat{font-family:"Rye",serif;color:var(--red);font-size:24px;margin:20px 0 10px;border-bottom:1px solid rgba(168,50,31,.3);padding-bottom:6px;}
.on-green .mcat,.on-greend .mcat{color:var(--gold-l);border-bottom-color:rgba(207,159,52,.4);}
.mitem{margin-bottom:13px;}
.mitem .n{font-family:"Cinzel",serif;font-weight:700;letter-spacing:.5px;font-size:16px;color:var(--green);}
.on-green .mitem .n,.on-greend .mitem .n{color:var(--cream);}
.mitem .d{font-size:15.5px;color:#5a5344;font-style:italic;}
.on-green .mitem .d,.on-greend .mitem .d{color:#cdc6b2;}

/* ---------- Products (shop) ---------- */
.product{background:var(--cream);border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;}
.product .pic{aspect-ratio:1/1;background:#111;overflow:hidden;}
.product .pic img{width:100%;height:100%;object-fit:cover;}
.product .body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.product h3{font-family:"Cinzel",serif;font-weight:700;font-size:16px;letter-spacing:.5px;color:var(--green);}
.product .cat{font-family:"Special Elite",monospace;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.product p{font-size:15px;color:#5a5344;margin:2px 0 12px;flex:1;}
.product .row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.product .price{font-family:"Cinzel",serif;font-weight:700;color:var(--red-d);font-size:17px;}
.product .add{background:var(--green);color:var(--cream);border:1px solid var(--gold);font-family:"Special Elite",monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:8px 12px;border-radius:2px;cursor:pointer;}
.product .add:hover{background:var(--gold);color:var(--green-d);}

/* ---------- Forms ---------- */
.formcard{max-width:820px;margin:0 auto;background:var(--cream);border:2px solid var(--green);border-radius:6px;padding:32px 32px 36px;box-shadow:var(--shadow);}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.field{display:flex;flex-direction:column;}
.field.full{grid-column:1/-1;}
label{font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--green);margin-bottom:6px;}
label .req{color:var(--red);}
input,select,textarea{font-family:"EB Garamond",serif;font-size:17px;padding:11px 12px;border:1px solid #c3b183;border-radius:3px;background:#fbf5e6;color:var(--ink);width:100%;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}
textarea{resize:vertical;min-height:96px;}
.submit{grid-column:1/-1;margin-top:6px;}
.submit button{width:100%;background:var(--red);color:var(--cream);font-family:"Cinzel",serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:17px;padding:16px;border:2px solid var(--gold);border-radius:3px;cursor:pointer;box-shadow:4px 4px 0 rgba(15,51,36,.3);}
.submit button:hover{background:var(--green);}
.submit button:disabled{opacity:.6;cursor:wait;}
.miniprint{grid-column:1/-1;text-align:center;font-size:13px;color:var(--muted);margin-top:2px;}
.confirm{display:none;grid-column:1/-1;background:var(--green);color:var(--cream);border:2px solid var(--gold);border-radius:4px;padding:18px 20px;text-align:center;font-size:17px;}
.confirm.show{display:block;}

/* ---------- Video ---------- */
.videobox{max-width:520px;margin:0 auto;border:3px solid var(--gold);box-shadow:var(--shadow);background:#000;}
.videobox video{width:100%;display:block;}
/* Watch: phone-framed portrait video + copy beside it */
.watchgrid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;max-width:900px;margin:0 auto;}
.phone{width:300px;max-width:76vw;aspect-ratio:9/16;border:4px solid var(--gold);border-radius:18px;overflow:hidden;background:#000;box-shadow:var(--shadow);}
.phone video{width:100%;height:100%;object-fit:cover;display:block;}
.watchtxt p{font-size:19px;color:#e9e2ce;margin:0 0 14px;}
.watchtxt .pull{font-family:"Rye",serif;font-size:clamp(20px,2.4vw,26px);color:var(--gold-l);line-height:1.3;margin:6px 0 0;}
@media(max-width:760px){.watchgrid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:28px;}}

/* ---------- Poster frame ---------- */
.posterframe{border:3px solid var(--gold);outline:2px solid rgba(255,255,255,.15);outline-offset:-9px;box-shadow:var(--shadow);}

/* ---------- Split content ---------- */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;max-width:1000px;margin:0 auto;}
.split.rev .txt{order:2;}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:26px;}.split.rev .txt{order:0;}}
.pull{font-family:"Rye",serif;font-size:clamp(20px,2.6vw,28px);color:var(--gold-l);line-height:1.3;}
.on-green .lede p,.on-greend .lede p{color:#e9e2ce;font-size:18.5px;}

/* ---------- CTA band ---------- */
.ctaband{background:radial-gradient(circle at 50% 0%,rgba(207,159,52,.16),transparent 60%),var(--green-d);color:var(--cream);text-align:center;border-top:6px double var(--gold);}
.ctaband h2{font-family:"Rye",serif;font-size:clamp(28px,4.5vw,44px);color:var(--cream);margin-bottom:16px;text-shadow:2px 2px 0 var(--red-d);}
.ctaband p{max-width:560px;margin:0 auto 26px;color:#e0d8c2;font-size:18px;}

/* ---------- Dates (booking) ---------- */
.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:820px;margin:0 auto;}
@media(max-width:720px){.dates{grid-template-columns:1fr;}}
.dt{background:var(--cream);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:4px;padding:18px;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.dt:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.dt.sel{outline:3px solid var(--gold);outline-offset:2px;}
.dt.sel .status{color:var(--green);}
.dt .d{font-family:"Rye",serif;font-size:22px;color:var(--green);}
.dt .s{font-family:"Special Elite",monospace;font-size:12px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-top:6px;}
.dt .status{margin-top:8px;font-family:"Cinzel",serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--red-d);}

/* ---------- Pills ---------- */
.pill{display:inline-block;font-family:"Special Elite",monospace;font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:20px;}
.pill.gold{background:var(--gold);color:var(--green-d);}
.pill.soon{background:#fbe9c9;color:#8a5a00;}

/* ---------- Footer ---------- */
footer.site{background:var(--green-d);color:var(--cream);padding:52px 0 40px;border-top:2px solid var(--gold);}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;}
@media(max-width:720px){footer.site .cols{grid-template-columns:1fr;gap:22px;text-align:center;}}
footer.site .fmark{font-family:"Rye",serif;font-size:30px;color:var(--gold-l);text-shadow:2px 2px 0 var(--red-d);}
footer.site .tag{font-family:"Special Elite",monospace;letter-spacing:1px;font-size:11px;text-transform:uppercase;color:var(--cream-2);margin-top:8px;}
footer.site h4{font-family:"Cinzel",serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-l);margin-bottom:12px;}
footer.site a{display:block;color:#cdd8cf;text-decoration:none;font-size:15px;margin-bottom:7px;}
footer.site a:hover{color:var(--gold-l);}
footer.site .mail{font-family:"Cinzel",serif;font-weight:700;color:var(--cream);border-bottom:1px solid var(--gold);display:inline-block;}
footer.site .base{margin-top:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;text-align:center;font-size:12px;color:#8fa398;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.marquee .track{animation:none;}}

/* ---------- Mobile & tablet polish ---------- */
@media(max-width:700px){
  body{font-size:17px;}
  section{padding:48px 0;}
  .wrap{padding:0 20px;}
  .formgrid{grid-template-columns:1fr;}            /* stack form fields on phones */
  .hero{min-height:76vh;padding:66px 20px;}
  .hero .lead{font-size:18px;}
  .hero-lite{padding:52px 20px;}
  .subtitle{font-size:17px;}
  .strip .wrap{gap:6px 22px;padding:11px 16px;}
  .strip span{font-size:12px;}
  .btnrow{width:100%;flex-direction:column;align-items:stretch;}
  .btnrow .cta{text-align:center;}
  .split{gap:22px;}
  .watchtxt{text-align:center;}
}
@media(max-width:400px){
  .hero h1{font-size:44px;}
  .brand{font-size:13px;}
}
