:root{
  --gold:#d9b14e;--gold-soft:#e7cf8f;--terracotta:#c4612f;--rust:#a8472a;
  --teal:#3f8175;--navy:#2c4a5a;--navy-deep:#233a47;--espresso:#3a2c22;
  --cream:#f6efe3;--cream-2:#efe5d3;--ink:#2b2017;
  --serif:'Fraunces',Georgia,serif;--sans:'Jost',-apple-system,Helvetica,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-0.01em}
em,.it{font-style:italic;color:var(--rust)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--sans);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500}
.btn{display:inline-block;background:var(--terracotta);color:var(--cream);padding:15px 32px;border-radius:40px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:.2s;border:none;cursor:pointer}
.btn:hover{background:var(--rust)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}

nav{position:sticky;top:0;z-index:50;background:rgba(246,239,227,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(58,44,34,.1)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-family:var(--serif);font-size:1.25rem;font-weight:600}
.logo span{color:var(--terracotta)}
.nav-inner a.back{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#5a4a3c}
.nav-inner a.back:hover{color:var(--terracotta)}

.ghero{background:var(--navy-deep);color:var(--cream);padding:72px 0 80px;text-align:center}
.ghero .eyebrow{color:var(--gold)}
.ghero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);margin:16px 0 18px}
.ghero h1 em{color:var(--gold-soft)}
.ghero .lead{color:#d7cbb8;max-width:34ch;margin:0 auto;font-size:1.12rem}
.ghero .price{margin-top:24px;font-family:var(--serif);font-style:italic;color:var(--gold-soft);font-size:1.3rem}

.gbody{max-width:680px;margin:0 auto;padding:60px 0 10px}
.gbody p{font-size:1.1rem;line-height:1.75;color:#3f342a;margin-bottom:20px}
.gbody p em{color:var(--rust)}
.gbody .pull{font-family:var(--serif);font-size:1.35rem;color:var(--navy);line-height:1.3;margin:30px 0;font-style:italic}

.inside{background:var(--cream-2);border-radius:14px;padding:34px 36px;margin:34px auto 0;max-width:680px}
.inside h2{font-size:1.5rem;color:var(--navy);margin-bottom:6px}
.inside .sub{color:#6a5848;font-size:.95rem;margin-bottom:18px}
.inside ol{list-style:none;counter-reset:i}
.inside li{counter-increment:i;position:relative;padding:11px 0 11px 42px;border-top:1px solid rgba(58,44,34,.1);font-size:1.02rem;color:#3f342a}
.inside li:first-child{border-top:none}
.inside li::before{content:counter(i);position:absolute;left:0;top:11px;width:26px;height:26px;border-radius:50%;background:var(--terracotta);color:var(--cream);font-family:var(--sans);font-size:.8rem;display:flex;align-items:center;justify-content:center}
.inside li b{font-family:var(--serif);color:var(--navy);font-weight:500}

.order{text-align:center;padding:54px 0}
.order .price{font-family:var(--serif);font-size:2rem;color:var(--navy);margin-bottom:6px}
.order .note{color:#8a7560;font-size:.9rem;margin-top:14px}

.cta{background:var(--teal);color:var(--cream);text-align:center;padding:60px 0;margin-top:40px}
.cta h2{font-size:clamp(1.6rem,3vw,2.2rem);max-width:24ch;margin:0 auto 22px}
.cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .btn-ghost{color:var(--cream);border-color:rgba(255,255,255,.5)}
.cta .btn-ghost:hover{background:var(--cream);color:var(--ink)}

footer{background:var(--navy-deep);color:#bcb0a0;padding:44px 0;text-align:center;font-size:.85rem}
footer .logo{color:var(--cream);font-size:1.3rem;margin-bottom:8px}

/* hub */
.ghub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:0 auto;max-width:900px}
.gcard{background:#fff;border:1px solid rgba(58,44,34,.12);border-radius:14px;padding:30px 28px;display:flex;flex-direction:column;transition:.2s;border-top:4px solid var(--gold)}
.gcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(35,58,71,.12)}
.gcard.timing{border-top-color:var(--teal)}
.gcard.deep{border-top-color:var(--terracotta)}
.gcard .tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8a7560;margin-bottom:8px}
.gcard h3{font-size:1.45rem;color:var(--navy);margin-bottom:8px}
.gcard p{color:#5a4a3c;font-size:.97rem;flex:1;margin-bottom:16px}
.gcard .row{display:flex;align-items:center;justify-content:space-between}
.gcard .pr{font-family:var(--serif);font-style:italic;color:var(--terracotta);font-size:1.1rem}
.gcard .go{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta);font-weight:500}
.ghub-group{font-family:var(--serif);font-size:1.5rem;color:var(--navy);text-align:center;margin:46px 0 22px}
@media(max-width:760px){.ghub-grid{grid-template-columns:1fr}}


/* timing callout */
.callout-wrap{padding:14px 0 0}
.callout{background:var(--cream-2);border-left:4px solid var(--terracotta);border-radius:12px;padding:28px 30px;margin:24px auto 0;max-width:680px;text-align:center}
.callout h3{font-family:var(--serif);font-size:1.4rem;color:var(--navy);margin-bottom:10px}
.callout p{font-size:1.02rem;color:#3f342a;margin-bottom:18px;line-height:1.65}
.callout .btn{padding:13px 28px;font-size:.78rem}


/* global top nav */
.nav-inner .logo a{color:inherit}
.gnav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.gnav a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#5a4a3c}
.gnav a:hover{color:var(--terracotta)}
@media(max-width:620px){.nav-inner{flex-wrap:wrap;height:auto;padding:12px 0;gap:8px 0;justify-content:center}.gnav{width:100%;justify-content:center;gap:16px}}


/* === unified main header (matches home) === */
.nav-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
nav .wrap{max-width:1140px}
.nav-links a{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#5a4a3c}
.nav-links a:hover{color:var(--terracotta)}
.nav-links a.navbtn{color:var(--cream);padding:12px 24px;font-size:.76rem}
.nav-toggle{display:none;background:none;border:none;font-size:1.7rem;line-height:1;color:var(--ink);cursor:pointer;padding:4px}
.nav-mobile{display:none;flex-direction:column;background:var(--cream);border-top:1px solid rgba(58,44,34,.1)}
.nav-mobile a{padding:15px 28px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#5a4a3c;border-bottom:1px solid rgba(58,44,34,.07)}
.nav-mobile a:hover{background:var(--cream-2);color:var(--terracotta)}
.nav-mobile a.book{color:var(--terracotta);font-weight:500}
.nav-mobile.open{display:flex}
@media(max-width:760px){.nav-links{display:none}.nav-toggle{display:block}}
/* secondary nav bar under main header */
.subnav{display:none;background:var(--cream-2);border-bottom:1px solid rgba(58,44,34,.1)}
.subnav-inner{display:flex;gap:12px 20px;align-items:center;justify-content:center;flex-wrap:wrap;padding:11px 0}
.subnav a{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#6a5848}
.subnav a:hover{color:var(--terracotta)}
/* keep header row tidy on small screens */
@media(max-width:620px){.nav-inner{flex-wrap:nowrap;height:66px;padding:0;justify-content:space-between}}
/* mobile 25px side padding site-wide */
@media(max-width:760px){.wrap{padding-left:25px;padding-right:25px}.subnav{display:block}}
