/* ============================================================
   ALTAMAR 2026 REBUILD — shared styles for rebuilt pages
   Scoped with .h- prefix so un-rebuilt pages are untouched.
   Linked with ?v= so the long cache on styles.css does not apply.
   ============================================================ */
:root{--ink:#1d2622;--h-line:rgba(0,0,0,0.09);}
.h-section{padding:104px 0;}
main section[id]{scroll-margin-top:120px;}
.h-section.h-white{background:#fff;}
.h-section.h-warm{background:var(--warm);}
.h-kicker{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--forest);margin-bottom:18px;}
.h-h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.12;color:var(--charcoal);margin-bottom:24px;}
.h-lead{font-size:17px;font-weight:300;line-height:1.8;color:#3d3c39;}
.h-lead + .h-lead{margin-top:18px;}
.h-lead strong{font-weight:500;color:var(--charcoal);}
.h-link{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);text-decoration:none;border-bottom:1px solid rgba(15,110,86,.35);padding-bottom:3px;}
.h-link:hover{color:var(--forest-dark);border-color:var(--forest-dark);}

/* Hero — solid, no gradient */
.hero.h-hero{background:var(--ink);grid-template-columns:1.05fr 1fr;min-height:620px;}
.h-hero .hero-text{padding:48px 64px 88px;}
.h-hero h1{font-size:clamp(2.6rem,4.6vw,4.1rem);letter-spacing:.02em;margin-bottom:14px;}
.h-hero-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:300;color:rgba(249,247,244,.88);margin-bottom:26px;}
.h-hero-line{font-size:15px;font-weight:300;letter-spacing:.02em;color:rgba(249,247,244,.78);margin-bottom:26px;}
.h-trust{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(249,247,244,.7);margin-bottom:34px;}
.h-trust .stars{color:#E8C98A;letter-spacing:.1em;font-size:13px;}
.h-trust .dot{opacity:.45;}
.h-hero .hero-buttons{align-items:center;gap:22px;}
.h-text-link{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(249,247,244,.92);text-decoration:none;border-bottom:1px solid rgba(249,247,244,.35);padding-bottom:3px;}
.h-text-link:hover{color:var(--accent);border-color:var(--accent);}
.h-reassure{margin-top:30px;padding-top:20px;border-top:0.5px solid rgba(249,247,244,.16);font-size:13.5px;font-weight:300;color:rgba(249,247,244,.72);}
.h-reassure a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
.h-reassure a:hover{color:var(--accent);border-color:var(--accent);}

/* Two-column text + photo */
.h-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.h-split.h-flip .h-split-media{order:-1;}
.h-split-media img{width:100%;height:auto;max-height:560px;object-fit:cover;display:block;border-radius:4px;}
.h-pull{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-style:italic;font-weight:400;line-height:1.35;color:var(--forest-dark);margin-top:28px;}

/* Proof strip */
.h-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:0.5px solid var(--h-line);border-bottom:0.5px solid var(--h-line);margin-bottom:80px;}
.h-fact{padding:28px 20px;text-align:center;}
.h-fact + .h-fact{border-left:0.5px solid var(--h-line);}
.h-fact-big{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:400;color:var(--charcoal);line-height:1.1;}
.h-fact-small{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:6px;}
.h-fact a{color:inherit;text-decoration:none;}

/* Doctors */
.h-docs-photo img{width:100%;display:block;border-radius:4px;object-fit:cover;aspect-ratio:4/3;}
.h-doc-bios{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;padding-top:40px;border-top:0.5px solid var(--h-line);}
.h-doc{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:start;}
.h-doc img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 20%;}
.h-doc h3{font-size:1.6rem;font-weight:400;margin-bottom:8px;}
.h-doc p{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;}
.h-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;aspect-ratio:4/3;border:1.5px dashed #b9b2a5;border-radius:4px;background:repeating-linear-gradient(45deg,#f1ede6,#f1ede6 12px,#ece7df 12px,#ece7df 24px);color:#6b675f;font-size:13px;line-height:1.6;padding:24px;}
.h-placeholder strong{display:block;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:#8a4b2a;margin-bottom:6px;}

/* What we do */
.h-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--h-line);border:0.5px solid var(--h-line);margin-top:48px;}
.h-cat{background:#fff;padding:44px 40px;display:flex;flex-direction:column;}
.h-cat-num{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--forest);letter-spacing:.12em;margin-bottom:14px;}
.h-cat h3{font-size:1.9rem;font-weight:400;margin-bottom:12px;}
.h-cat p{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;margin-bottom:22px;}
.h-cat ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:auto;}
.h-cat li a{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);text-decoration:none;}
.h-cat li a:hover{color:var(--forest-dark);text-decoration:underline;}
.h-cat.h-urgent{background:#fbf8f3;}
.h-cat .h-call{display:inline-block;font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--charcoal);text-decoration:none;margin-bottom:6px;}

/* Difference */
.h-diff{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 56px;margin-top:52px;}
.h-diff h3{font-size:1.55rem;font-weight:400;margin-bottom:10px;padding-top:18px;border-top:1px solid var(--forest);}
.h-diff p{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;}

/* First visit */
.h-visit{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:start;}
.h-price{font-family:'Cormorant Garamond',serif;font-size:5.5rem;font-weight:300;line-height:1;color:var(--forest-dark);margin:6px 0 18px;}
.h-steps{list-style:none;counter-reset:s;}
.h-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:0.5px solid var(--h-line);}
.h-steps li:first-child{padding-top:0;}
.h-steps li::before{content:counter(s,decimal-leading-zero);font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--forest);}
.h-steps h3{font-family:'Jost',sans-serif;font-size:15px;font-weight:500;margin-bottom:4px;line-height:1.4;}
.h-steps p{font-size:14.5px;font-weight:300;line-height:1.7;color:#3d3c39;}

/* Benefits */
.h-benefits{display:grid;grid-template-columns:1.25fr 1fr;gap:72px;align-items:start;}
.h-qa{padding:26px 0;border-top:0.5px solid var(--h-line);}
.h-qa h3{font-family:'Jost',sans-serif;font-size:15px;font-weight:500;margin-bottom:6px;}
.h-qa p{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;}
.h-club{background:#fff;border:0.5px solid var(--h-line);border-radius:4px;padding:40px;}
.h-club h3{font-size:1.9rem;font-weight:400;margin-bottom:8px;}
.h-club-intro{font-size:14.5px;font-weight:300;color:#3d3c39;line-height:1.7;margin-bottom:22px;}
.h-plans{list-style:none;margin-bottom:22px;}
.h-plans li{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:0.5px solid var(--h-line);font-size:15px;}
.h-plans li span:last-child{font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--charcoal);}
.h-fine{font-size:12.5px;line-height:1.65;color:var(--muted);margin-bottom:24px;}

/* Closing */
.h-close{background:var(--ink);color:var(--warm);padding:112px 0 96px;}
.h-close-cta{text-align:center;max-width:720px;margin:0 auto 80px;}
.h-close-cta h2{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;color:var(--warm);margin-bottom:18px;}
.h-close-cta p{font-size:16px;font-weight:300;color:rgba(249,247,244,.75);margin-bottom:34px;}
.h-close-cta .btn-secondary{color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.4);}
.h-close-cta .hero-buttons{justify-content:center;}
.h-info{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-top:48px;border-top:0.5px solid rgba(249,247,244,.16);}
.h-info h3{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.h-info p{font-size:14.5px;font-weight:300;line-height:1.75;color:rgba(249,247,244,.82);}
.h-info a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);}
.h-info a:hover{color:var(--accent);}

@media(max-width:1024px){
  .hero.h-hero{grid-template-columns:1fr;}
  .h-hero .hero-text{padding:40px 5% 64px;}
  .h-hero .hero-photo{height:380px;}
  .h-split,.h-visit,.h-benefits{grid-template-columns:1fr;gap:48px;}
  .h-split.h-flip .h-split-media{order:0;}
  .h-diff{grid-template-columns:1fr 1fr;}
  .h-info{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .h-section{padding:72px 0;}
  .h-facts{grid-template-columns:1fr 1fr;}
  .h-fact:nth-child(3){border-left:none;}
  .h-fact:nth-child(n+3){border-top:0.5px solid var(--h-line);}
  .h-cats{grid-template-columns:1fr;}
  .h-trust .dot{display:none;}
  .h-trust{gap:8px 18px;}
  .h-cat{padding:34px 24px;}
  .h-doc-bios{grid-template-columns:1fr;gap:36px;}
  .h-diff{grid-template-columns:1fr;gap:36px;}
  .h-club{padding:28px 22px;}
  .h-close{padding:80px 0 120px;}
}
@media(max-width:480px){
  .h-info{grid-template-columns:1fr;}
  .h-doc{grid-template-columns:72px 1fr;gap:16px;}
  .h-doc img{width:72px;height:72px;}
  .h-price{font-size:4.4rem;}
  .h-hero .hero-photo{height:280px;}
}

/* ===== Inner pages ===== */
.page-hero.h-page-hero{background:var(--ink);text-align:left;padding:300px 0 96px;}
.h-page-hero .container{max-width:1200px;}
.h-page-hero h1{margin:0 0 18px;max-width:760px;font-size:clamp(2.5rem,4.4vw,3.8rem);}
.h-page-hero p{margin:0 0 30px;max-width:600px;font-size:16px;color:rgba(249,247,244,.78);}
.h-page-hero .hero-buttons{justify-content:flex-start;align-items:center;gap:22px;}
.h-page-hero .h-kicker{color:var(--accent);}

.h-h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;margin-bottom:10px;line-height:1.2;}
.h-body{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;}
.h-body + .h-body{margin-top:12px;}
.h-body a{color:var(--forest);}

.h-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px 56px;}
.h-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 48px;}
.h-item h3{font-family:'Jost',sans-serif;font-size:15px;font-weight:500;margin-bottom:6px;line-height:1.4;}
.h-item p{font-size:15px;font-weight:300;line-height:1.75;color:#3d3c39;}
.h-item p a{color:var(--forest);}
.h-rule-top > *{padding-top:18px;border-top:1px solid var(--forest);}

.h-card{background:#fff;border:0.5px solid var(--h-line);border-radius:4px;padding:40px;}
.h-card.h-card-dark{background:var(--ink);color:var(--warm);border:none;}
.h-card.h-card-dark .h-body,.h-card.h-card-dark li{color:rgba(249,247,244,.82);}
.h-card.h-card-dark .h-h3{color:var(--warm);}
.h-card.h-card-dark .h-kicker{color:var(--accent);}
.h-card .h-price{font-size:4.2rem;margin:0 0 14px;}
.h-card.h-card-dark .h-price{color:var(--warm);}
.h-checks{list-style:none;margin:18px 0 22px;}
.h-checks li{position:relative;padding:9px 0 9px 26px;border-bottom:0.5px solid var(--h-line);font-size:15px;font-weight:300;}
.h-card-dark .h-checks li{border-color:rgba(249,247,244,.14);}
.h-checks li::before{content:'';position:absolute;left:2px;top:17px;width:10px;height:5px;border-left:1.5px solid var(--forest);border-bottom:1.5px solid var(--forest);transform:rotate(-45deg);}
.h-card-dark .h-checks li::before{border-color:var(--accent);}
.h-note{font-size:13px;line-height:1.65;color:var(--muted);}
.h-card-dark .h-note{color:rgba(249,247,244,.62);}

.h-offer{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:stretch;}

.h-options{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.h-option{background:#fff;border:0.5px solid var(--h-line);border-radius:4px;padding:36px 32px;display:flex;flex-direction:column;align-items:flex-start;}
.h-option.h-option-main{border:1px solid var(--forest);}
.h-option p{font-size:15px;font-weight:300;line-height:1.7;color:#3d3c39;margin-bottom:24px;}
.h-option .h-note{margin-top:14px;margin-bottom:0;}
.h-option .btn-primary,.h-option .btn-secondary{margin-top:auto;}

.h-faq{border-top:0.5px solid var(--h-line);}
.h-faq details{border-bottom:0.5px solid var(--h-line);}
.h-faq summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;position:relative;font-size:17px;font-weight:400;color:var(--charcoal);}
.h-faq summary::-webkit-details-marker{display:none;}
.h-faq summary::after{content:'+';position:absolute;right:6px;top:18px;font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--forest);transition:transform .2s;}
.h-faq details[open] summary::after{transform:rotate(45deg);}
.h-faq details > div{padding:0 0 26px;max-width:760px;}
.h-faq details p{font-size:15px;font-weight:300;line-height:1.8;color:#3d3c39;}
.h-faq details p + p{margin-top:10px;}
.h-faq details a{color:var(--forest);}

.h-policy{background:#fff;border-left:2px solid var(--forest);padding:32px 36px;max-width:820px;}

.h-form-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start;}
.h-contact-list > div{padding:22px 0;border-bottom:0.5px solid var(--h-line);}
.h-contact-list > div:first-child{padding-top:0;}
.h-contact-list h3{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--forest);margin-bottom:8px;}
.h-contact-list p{font-size:15px;font-weight:300;line-height:1.7;color:#3d3c39;}
.h-contact-list a{color:var(--charcoal);}
.h-map{width:100%;min-height:380px;height:100%;border:0;border-radius:4px;display:block;}

@media(max-width:1024px){
  .h-offer,.h-form-wrap{grid-template-columns:1fr;gap:40px;}
  .h-grid-3,.h-options{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .page-hero.h-page-hero{padding:290px 0 64px;}
  .h-grid-2,.h-grid-3,.h-options{grid-template-columns:1fr;gap:32px;}
  .h-card{padding:30px 22px;}
  .h-policy{padding:26px 22px;}
}

/* ===== Audit fixes ===== */
/* Tablet: collapse the nav to the hamburger menu before the links start wrapping (was 768px only) */
@media(min-width:769px) and (max-width:1100px){
  .nav-container{padding:0 32px;}
  .nav-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:400;flex-direction:column;align-items:flex-start;padding:80px 48px 40px;height:100vh;overflow-y:auto;list-style:none;}
  .nav-menu.active{display:flex;}
  .nav-menu li{height:auto;width:100%;flex-direction:column;align-items:flex-start;}
  .nav-menu .nav-link{padding:14px 0;height:auto;border-bottom:0.5px solid var(--border);font-size:13px;width:100%;color:var(--charcoal);}
  .nav-menu .dropdown-menu{position:static;transform:none;opacity:1;pointer-events:all;box-shadow:none;border:none;background:var(--light-blue);border-radius:6px;padding:4px 0 4px 16px;display:block;min-width:0;margin:0 0 8px 0;}
  .nav-menu .dropdown-menu li a{color:var(--charcoal);font-size:12px;padding:8px 0;border-bottom:none;display:block;}
  .nav-btn-book{display:none;}
  .hamburger{display:flex;position:relative;z-index:500;}
  body.menu-open{overflow:hidden;}
}
/* iPhones zoom into inputs smaller than 16px */
@media(max-width:768px){
  .form-group input,.form-group select,.form-group textarea{font-size:16px;}
}
/* Keyboard focus that is easy to see */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:3px;}
/* Mobile sticky bar: respect the iPhone home-indicator area */
.mobile-sticky-bar{padding-bottom:env(safe-area-inset-bottom);}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
