@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Jost:wght@200;300;400;500&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:#f7f1e6;color:#2a2218;overflow-x:hidden}

/* ─── PALETTE ─── */
:root{
  --blue:    #2c4a6e;
  --blue-dk: #1e2f45;
  --blue-lt: #e8eef5;
  --sage:    #7a9e7e;
  --sage-dk: #3d6b45;
  --terra:   #c4714e;
  --gold:    #c9a87c;
  --cream:   #f7f1e6;
  --cream-dk:#ede5d4;
  --warm:    #d9cdb8;
  --text:    #2a2218;
  --text-mid:#5a4e3a;
  --text-lt: #7a6a55;
  --serif:   'Cormorant Garamond',Georgia,serif;
  --sans:    'Jost',sans-serif;
}

/* ─── HEADER ─── */
.site-header{background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:14px 36px;border-bottom:1px solid var(--warm)}
.logo-link{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--blue);letter-spacing:1px}
.logo-sub{font-family:var(--sans);font-size:8px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--sage);margin-top:3px}
.site-nav{display:flex;gap:24px;align-items:center}
.site-nav a{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--text-mid);text-decoration:none;transition:color .2s}
.site-nav a:hover,.site-nav a.active{color:var(--blue)}
.site-nav a.nav-book{background:var(--blue);color:var(--cream);padding:9px 20px;font-weight:500;transition:background .2s}
.site-nav a.nav-book:hover{background:var(--blue-dk)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--blue)}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;background:var(--cream);border-bottom:1px solid var(--warm);padding:1rem 2rem 1.5rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--text-mid);text-decoration:none;padding:.75rem 0;border-bottom:1px solid var(--warm)}
.mobile-menu a.nav-book{color:var(--blue);font-weight:500;border-bottom:none;margin-top:.5rem}

/* ─── PAGE HERO BANNER ─── */
.page-banner{background:var(--blue);padding:4rem 2rem;text-align:center;position:relative}
.page-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--terra)}
.page-banner h1{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;color:var(--cream);letter-spacing:.04em}
.page-banner p{font-family:var(--sans);font-size:.9rem;font-weight:300;color:rgba(247,241,230,.7);margin-top:.6rem;line-height:1.2}
.page-banner .gold-bar{width:40px;height:1px;background:var(--gold);margin:1rem auto 0}

/* ─── TYPOGRAPHY ─── */
.eyebrow{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--terra);display:block;margin-bottom:12px}
.section-h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:var(--blue);line-height:1.1;margin-bottom:14px}
.section-h2 em{font-style:italic;color:var(--terra)}
.gold-rule{width:36px;height:1px;background:var(--gold);margin:14px 0}
.body-p{font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--text-mid);line-height:1.2;margin-bottom:.9rem}

/* ─── BUTTONS ─── */
.btn-blue{display:inline-block;background:var(--blue);color:var(--cream);font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;transition:background .2s;border:none;cursor:pointer}
.btn-blue:hover{background:var(--blue-dk)}
.btn-outline-blue{display:inline-block;border:1px solid var(--blue);color:var(--blue);font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;transition:background .2s,color .2s;border:none;cursor:pointer}
.btn-outline-blue{border:1px solid var(--blue)}
.btn-outline-blue:hover{background:var(--blue);color:var(--cream)}
.btn-cream{display:inline-block;background:var(--cream);color:var(--blue);font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;transition:opacity .2s}
.btn-cream:hover{opacity:.88}
.btn-cream-outline{display:inline-block;border:1px solid rgba(247,241,230,.55);color:var(--cream);font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;transition:border-color .2s,background .2s}
.btn-cream-outline:hover{border-color:var(--cream);background:rgba(247,241,230,.08)}

/* ─── FORMS ─── */
.form-wrap{background:var(--cream-dk);padding:2.5rem;border-top:3px solid var(--blue)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.form-group label{font-family:var(--sans);font-size:8px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}
.form-group input,.form-group select,.form-group textarea{background:var(--cream);border:1px solid var(--warm);padding:.7rem 1rem;font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--text);outline:none;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue)}
.form-group textarea{resize:vertical;min-height:110px}
.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb}
.form-success-msg{display:none;text-align:center;padding:3rem 1rem}
.form-success-msg .check{font-size:2.5rem;color:var(--sage);display:block;margin-bottom:1rem}
.form-success-msg p{font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--blue)}

/* ─── FAQ ─── */
.faq-item{border-bottom:1px solid var(--warm)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0;cursor:pointer;gap:1rem}
.faq-q span{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--blue)}
.faq-icon{width:24px;height:24px;border:1px solid var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue);font-size:1rem;transition:transform .3s,background .2s}
.faq-item.open .faq-icon{background:var(--blue);color:var(--cream);transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-ans-inner{padding:.25rem 0 1.5rem;font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--text-mid);line-height:1.2}

/* ─── FOOTER ─── */
footer{background:var(--blue-dk);padding:3rem 2.5rem 2rem}
.footer-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(247,241,230,.1)}
.footer-brand-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--cream);display:block;margin-bottom:3px}
.footer-brand-sub{font-family:var(--sans);font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.footer-brand-desc{font-family:var(--sans);font-size:.82rem;font-weight:300;color:rgba(247,241,230,.4);margin-top:.9rem;line-height:1.2}
.footer-col h4{font-family:var(--sans);font-size:7px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.45rem}
.footer-col a{font-family:var(--sans);font-size:.82rem;font-weight:300;color:rgba(247,241,230,.45);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--cream)}
.footer-bottom{max-width:1000px;margin:1.25rem auto 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-copy{font-family:var(--sans);font-size:.75rem;font-weight:300;color:rgba(247,241,230,.25)}
.footer-bottom a{font-family:var(--sans);font-size:.75rem;color:rgba(247,241,230,.3);text-decoration:none}
.footer-bottom a:hover{color:var(--cream)}

/* ─── RESPONSIVE ─── */
@media(max-width:800px){
  .site-nav{display:none}
  .hamburger{display:flex}
  .site-header{padding:12px 20px}
  .form-row{grid-template-columns:1fr}
  .form-wrap{padding:1.5rem}
  .footer-inner{grid-template-columns:1fr;gap:1.5rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
