@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:wght@200;300;400;500&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{--bone:#F5F0EA;--bone-dark:#EDE8E0;--ink:#1A1714;--ink-light:#6B6560;--gold:#B8965A;--gold-light:#D4AF7A;--dark:#1A1714;--white:#FDFAF6}
html{scroll-behavior:smooth}
body{background:var(--bone);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.serif{font-family:'Cormorant Garamond',serif}
.eyebrow{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem;display:block}
.btn-gold{background:var(--gold);color:var(--dark);border:none;padding:14px 32px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-weight:500;transition:opacity 0.2s;display:inline-block}
.btn-gold:hover{opacity:0.88}
.btn-dark{background:var(--ink);color:var(--white);border:none;padding:14px 32px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-weight:500;transition:opacity 0.2s;display:inline-block}
.btn-dark:hover{opacity:0.85}
.btn-ghost{background:none;border:0.5px solid rgba(253,250,246,0.35);color:rgba(253,250,246,0.75);padding:14px 32px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;display:inline-block}
.btn-ghost:hover{border-color:rgba(253,250,246,0.75);color:var(--white)}

/* NAV */
nav{background:rgba(245,240,234,0.97);border-bottom:0.5px solid rgba(26,23,20,0.1);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}
.nav-logo{display:flex;align-items:center;gap:12px;cursor:pointer}
.nav-badge{width:64px;height:64px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:2px;background:transparent}
.nav-badge img{width:100%;height:100%;object-fit:contain}
.nav-wordmark{display:flex;flex-direction:column;gap:1px}
.nav-name{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:var(--ink)}
.nav-since{font-size:8px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-light);transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:1.5rem}
.nav-cta{background:var(--gold);color:var(--dark);border:none;padding:10px 22px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;font-weight:500;transition:opacity 0.2s;display:inline-block}
.nav-cta:hover{opacity:0.88}

/* HAMBURGER */
.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;z-index:200}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:all 0.3s}
.mobile-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bone);border-left:0.5px solid rgba(26,23,20,0.1);z-index:300;transition:right 0.3s ease;padding:5rem 2rem 2rem;display:flex;flex-direction:column;gap:0}
.mobile-menu.open{right:0}
.mobile-menu a{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-light);padding:1rem 0;border-bottom:0.5px solid rgba(26,23,20,0.08);display:block;transition:color 0.2s}
.mobile-menu a:hover{color:var(--ink)}
.mobile-menu .mobile-cta{background:var(--gold);color:var(--dark);text-align:center;margin-top:2rem;padding:14px;font-weight:500;border:none;letter-spacing:0.1em}
.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(26,23,20,0.3);z-index:250;display:none}
.mobile-overlay.open{display:block}
.close-menu{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink-light)}

/* TRUST BAR */
.trust-bar{background:var(--bone-dark);border-bottom:0.5px solid rgba(26,23,20,0.08);padding:1rem 3rem;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:0.5rem;font-size:12px;letter-spacing:0.06em;color:var(--ink-light)}
.trust-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}
.stars{color:var(--gold);letter-spacing:2px}

/* CREDENTIALS */
.credentials{background:var(--bone);padding:2.5rem 3rem;display:flex;align-items:center;justify-content:center;gap:4rem;border-top:0.5px solid rgba(26,23,20,0.08);flex-wrap:wrap}
.credential{text-align:center}
.cred-value{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--ink)}
.cred-label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-light);margin-top:4px}
.cred-divider{width:0.5px;height:36px;background:rgba(26,23,20,0.12)}

/* FOOTER */
footer{background:var(--ink);padding:4rem 3rem 0}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:0.5px solid rgba(253,250,246,0.08)}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.footer-badge{width:36px;height:44px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.footer-badge img{width:100%;height:100%;object-fit:contain}
.footer-brand{display:flex;flex-direction:column;gap:2px}
.footer-brand-name{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:var(--white)}
.footer-brand-since{font-size:8px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold)}
.footer-tagline{font-size:13px;color:rgba(253,250,246,0.35);line-height:1.8;max-width:240px}
.footer-col-title{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem}
.footer-links a{font-size:13px;color:rgba(253,250,246,0.4);transition:color 0.2s}
.footer-links a:hover{color:var(--white)}
.footer-contact{font-size:13px;color:rgba(253,250,246,0.4);line-height:2}
.footer-bottom{padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:11px;color:rgba(253,250,246,0.2);letter-spacing:0.06em}

/* PAGE HEADERS */
.page-header{background:var(--dark);padding:5rem 3rem;text-align:center}
.page-header-title{font-family:'Cormorant Garamond',serif;font-size:56px;font-weight:300;color:var(--white);margin-bottom:0.75rem;line-height:1.1}
.page-header-title em{font-style:italic;color:var(--gold-light)}
.page-header-sub{font-size:15px;color:rgba(253,250,246,0.45);max-width:480px;margin:0 auto;line-height:1.8}

/* CTA BAND */
.cta-band{background:var(--dark);padding:6rem 3rem;text-align:center}
.cta-band-title{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;color:var(--white);margin-bottom:1rem;line-height:1.1}
.cta-band-title em{font-style:italic;color:var(--gold-light)}
.cta-band-sub{font-size:15px;color:rgba(253,250,246,0.4);margin-bottom:3rem;line-height:1.8}
.cta-note{font-size:12px;color:rgba(253,250,246,0.55);letter-spacing:0.06em;margin-top:1.5rem;display:block}

/* SECTIONS */
section{padding:6rem 3rem}
.section-title{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:300;line-height:1.1;color:var(--ink);margin-bottom:1.25rem}
.section-title em{font-style:italic}
.section-title.light{color:var(--white)}
.section-body{font-size:15px;color:var(--ink-light);line-height:1.8;max-width:520px}
.section-body.light{color:rgba(253,250,246,0.5)}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.split-img{overflow:hidden}
.split-img img{width:100%;height:100%;object-fit:contain;background:var(--dark)}
.split-content{padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.split-content.dark{background:var(--dark)}
.split-content.dark .section-title{color:var(--white)}
.split-content.dark .section-body{color:rgba(253,250,246,0.5)}

/* REVIEWS */
.review-stars{color:var(--gold);font-size:13px;letter-spacing:3px;margin-bottom:1rem}
.review-text{font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:var(--ink);line-height:1.75;margin-bottom:1.5rem}
.review-author{display:flex;align-items:center;gap:10px}
.review-avatar{width:32px;height:32px;border-radius:50%;background:var(--bone-dark);border:0.5px solid rgba(26,23,20,0.12);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:var(--ink-light);flex-shrink:0}
.review-name{font-size:13px;font-weight:500;color:var(--ink)}
.review-date{font-size:11px;color:var(--ink-light);margin-top:1px}

/* SHARED NAV/MENU SCRIPT STYLES */

/* ============================================================
   MOBILE RESPONSIVE — max-width: 768px
   Desktop untouched. All rules below apply phone/tablet only.
   ============================================================ */
@media (max-width: 768px) {

  /* NAV */
  .nav-links { display: none }
  .nav-cta { display: none }
  .hamburger { display: flex }
  nav { padding: 0 1.25rem; height: 56px }
  .nav-badge { width: 48px; height: 48px }

  /* HERO */
  .hero { grid-template-columns: 1fr; min-height: auto }
  .hero-left { padding: 2.5rem 1.5rem 1.5rem }
  .hero-title { font-size: 42px }
  .hero-right { padding-top: 0; min-height: 280px; justify-content: center }
  .hero-right img { width: 75% }
  .hero-stats { position: static; flex-wrap: wrap; gap: 1.25rem 2rem; padding: 1.5rem; border-top: 0.5px solid rgba(253,250,246,0.08) }

  /* TRUST BAR */
  .trust-bar { gap: 1rem; padding: 1rem 1.25rem; justify-content: flex-start }
  .trust-item { font-size: 11px }

  /* SECTIONS */
  section { padding: 3.5rem 1.5rem }

  /* SECTION TITLES */
  .section-title { font-size: 34px }
  .cta-band-title { font-size: 34px }
  .page-header { padding: 3rem 1.5rem }
  .page-header-title { font-size: 38px }

  /* SERVICES GRID */
  .services-grid { grid-template-columns: 1fr 1fr }

  /* PROCESS */
  .process { padding: 3.5rem 1.5rem }
  .process-grid { grid-template-columns: 1fr }
  .process-step { padding: 1.75rem 1.5rem }

  /* C2R */
  .c2r { padding: 3.5rem 1.5rem }
  .c2r-steps { grid-template-columns: 1fr 1fr !important }
  .c2r-arrow { display: none }

  /* SPLIT */
  .split { grid-template-columns: 1fr; min-height: auto }
  .split-img { min-height: 260px }
  .split-content { padding: 2.5rem 1.5rem }

  /* REVIEWS */
  .reviews-section { padding: 3.5rem 1.5rem }
  .reviews-grid { grid-template-columns: 1fr }
  .reviews-header { flex-direction: column; align-items: flex-start; gap: 1rem }
  .review-score { font-size: 42px }

  /* CREDENTIALS */
  .credentials { gap: 1.5rem 2.5rem; padding: 2rem 1.5rem }
  .cred-divider { display: none }

  /* FOOTER */
  footer { padding: 3rem 1.5rem 0 }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem }
  .footer-bottom { flex-direction: column; gap: 0.5rem; text-align: center }

  /* CTA BAND */
  .cta-band { padding: 4rem 1.5rem }

  /* GALLERY */
  .gallery-grid { grid-template-columns: 1fr 1fr }

  /* THUMB VIEWERS in gallery */
  .thumb-viewer { font-size: 13px }
  .thumb-viewer-main { min-height: 160px }

  /* EDUCATION TABS */
  .tab-btns { flex-wrap: wrap; gap: 0.5rem }
  .tab-btn { font-size: 11px; padding: 0.5rem 0.75rem }

  /* BOOK FORM */
  .book-wrap { padding: 2rem 1.25rem }
  .step-q { font-size: 22px }
}

/* Extra small phones */
@media (max-width: 480px) {
  .hero-title { font-size: 36px }
  .section-title { font-size: 30px }
  .services-grid { grid-template-columns: 1fr }
  .c2r-steps { grid-template-columns: 1fr !important }
  .gallery-grid { grid-template-columns: 1fr }
}
