

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --jade: #475243; --jade-mid: #768472; --gold: #B5A475; --gold-light: #DDCD9D;
    --skin-light: #FFF1EA; --off-white: #FFF1EA; --stone: #CFB9AB;
    --text: #475243; --text-light: #768472;
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'Butler', Georgia, serif; background: var(--off-white);
          color: var(--text); overflow-x: hidden; }

  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100;
         display: flex; justify-content: space-between; align-items: center;
         padding: 18px 48px; background: rgba(255,241,234,0.95);
         backdrop-filter: blur(8px); border-bottom: 1px solid rgba(181,164,117,0.2); }
  .nav-logo { font-size: 15px; letter-spacing: 6px; text-transform: uppercase;
               color: var(--jade); font-weight: normal; }
  .nav-logo span { display: block; font-size: 8px; letter-spacing: 4px; color: var(--gold);
                    font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-weight: 300; margin-top: 2px; }
  .nav-links { display: flex; gap: 32px; list-style: none; font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif;
                font-size: 10px; letter-spacing: 2px; text-transform: uppercase; }
  .nav-links a { color: var(--jade); text-decoration: none; }
  .nav-links a:hover { color: var(--gold); }
  .nav-book { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 2px;
               text-transform: uppercase; color: white; background: var(--jade);
               padding: 10px 22px; text-decoration: none; }

  .btl-bar { background: var(--jade); padding: 10px 48px; margin-top: 73px;
              display: flex; align-items: center; gap: 12px; }
  .btl-bar span { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 10px;
                   letter-spacing: 3px; text-transform: uppercase; color: var(--gold-light); }

  .hero { display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100vh - 110px); }
  .hero-image { overflow: hidden; }
  .hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
  .hero-content { display: flex; flex-direction: column; justify-content: center;
                   padding: 80px 64px; background: var(--off-white); }
  .hero-label { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 4px;
                 text-transform: uppercase; color: var(--gold); margin-bottom: 24px; }
  .hero-headline { font-size: clamp(28px, 3vw, 46px); font-weight: 200; line-height: 1.2;
                    color: var(--jade); letter-spacing: 1px; margin-bottom: 24px; }
  .hero-sub { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 14px; line-height: 1.85;
               color: var(--text-light); max-width: 400px; margin-bottom: 40px; }
  .cta-group { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
  .btn-primary { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 3px;
                  text-transform: uppercase; color: white; background: var(--jade);
                  padding: 15px 32px; text-decoration: none; }
  .btn-wa { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 2px;
             text-transform: uppercase; color: var(--jade); border: 1px solid var(--jade);
             padding: 14px 24px; text-decoration: none; display: flex; align-items: center; gap: 8px; }

  .myth { background: var(--jade); padding: 90px 10%;
           display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; }
  .myth-label { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 4px;
                 text-transform: uppercase; color: var(--gold); border-top: 1px solid var(--gold);
                 padding-top: 16px; }
  .myth-headline { font-size: clamp(24px, 2.6vw, 38px); font-weight: 200; color: var(--gold-light);
                    letter-spacing: 1px; line-height: 1.25; margin-bottom: 24px; }
  .myth-body { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 15px; line-height: 1.9;
                color: rgba(255,241,234,0.8); }
  .myth-body p + p { margin-top: 16px; }

  .meet { display: grid; grid-template-columns: 1fr 1fr; min-height: 75vh; }
  .meet-content { padding: 80px 64px; display: flex; flex-direction: column; justify-content: center; }
  .section-label { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 4px;
                    text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
  .section-headline { font-size: clamp(22px, 2.4vw, 36px); font-weight: 300; color: var(--jade);
                       margin-bottom: 20px; }
  .section-body { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 14px; line-height: 1.85;
                   color: var(--text-light); margin-bottom: 32px; max-width: 460px; }
  .section-body p + p { margin-top: 14px; }
  .credentials { display: flex; gap: 28px; flex-wrap: wrap; margin-bottom: 36px; }
  .cred { border-left: 2px solid var(--gold); padding-left: 12px; }
  .cred-title { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 8px; letter-spacing: 2px;
                 text-transform: uppercase; color: var(--gold); margin-bottom: 3px; }
  .cred-value { font-size: 12px; color: var(--jade); }
  .meet-image { overflow: hidden; }
  .meet-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }

  .treatments { padding: 90px 5%; background: var(--skin-light); }
  .section-header { text-align: center; margin-bottom: 56px; }
  .treatments-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
  .treatment-card { position: relative; overflow: hidden; aspect-ratio: 2/3; }
  .treatment-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
  .treatment-card:hover img { transform: scale(1.04); }
  .treatment-overlay { position: absolute; bottom: 0; left: 0; right: 0;
                        background: linear-gradient(transparent, rgba(71,82,67,0.93));
                        padding: 36px 22px 22px; }
  .t-cat { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 8px; letter-spacing: 3px;
            text-transform: uppercase; color: var(--gold-light); margin-bottom: 5px; }
  .t-name { font-size: 19px; font-weight: 300; color: white; margin-bottom: 8px; }
  .t-desc { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 11px; line-height: 1.65;
             color: rgba(255,255,255,0.78); margin-bottom: 12px; }
  .t-price { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 10px; color: var(--gold-light);
              letter-spacing: 1px; margin-bottom: 12px; }
  .t-link { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 8px; letter-spacing: 2px;
             text-transform: uppercase; color: var(--gold-light); text-decoration: none;
             border-bottom: 1px solid var(--gold); padding-bottom: 2px; }

  .team { padding: 90px 6%; background: white; }
  .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 56px; }
  .team-photo { width: 100%; aspect-ratio: 3/4; object-fit: cover;
                 object-position: center top; margin-bottom: 18px; }
  .team-name { font-size: 20px; font-weight: 300; color: var(--jade); margin-bottom: 2px; }
  .team-role { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 8px; letter-spacing: 3px;
                text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
  .team-bio { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 12px; line-height: 1.75;
               color: var(--text-light); }
  .team-bio p + p { margin-top: 8px; }

  .process { background: var(--jade); padding: 90px 10%; }
  .process-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 56px; }
  .step-num { font-size: 48px; font-weight: 200; color: rgba(181,164,117,0.25);
               margin-bottom: 10px; line-height: 1; }
  .step-line { height: 1px; background: rgba(181,164,117,0.3); width: 36px; margin-bottom: 16px; }
  .step-name { font-size: 20px; font-weight: 300; color: var(--gold-light); margin-bottom: 12px; }
  .step-desc { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 13px; line-height: 1.85;
                color: rgba(255,241,234,0.7); }
  .step-desc p + p { margin-top: 10px; }

  .retail { padding: 90px 10%; background: var(--off-white);
             display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  .retail-brands { display: flex; flex-direction: column; gap: 20px; margin-top: 28px; }
  .retail-brand { border-left: 2px solid var(--gold); padding-left: 16px; }
  .rb-name { font-size: 16px; color: var(--jade); margin-bottom: 4px; }
  .rb-desc { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 12px; color: var(--text-light);
              line-height: 1.65; }
  .retail-image img { width: 100%; height: 420px; object-fit: cover; object-position: center; }

  .cta-close { position: relative; min-height: 55vh; display: flex; align-items: center; overflow: hidden; }
  .cta-bg { position: absolute; inset: 0; }
  .cta-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%;
                 filter: brightness(0.3); }
  .cta-content { position: relative; z-index: 2; text-align: center; width: 100%; padding: 80px 10%; }
  .cta-headline { font-size: clamp(24px, 3.2vw, 44px); font-weight: 200; color: white;
                   letter-spacing: 1px; margin: 14px 0; line-height: 1.25; }
  .cta-sub { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 14px; color: rgba(255,255,255,0.7);
              margin-bottom: 40px; max-width: 440px; margin-left: auto; margin-right: auto;
              line-height: 1.8; }
  .btn-white { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 3px;
                text-transform: uppercase; color: var(--jade); background: white;
                padding: 15px 36px; text-decoration: none; display: inline-block; margin-right: 14px; }
  .btn-wa-outline { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 9px; letter-spacing: 2px;
                     text-transform: uppercase; color: white; border: 1px solid rgba(255,255,255,0.5);
                     padding: 14px 28px; text-decoration: none; display: inline-flex;
                     align-items: center; gap: 8px; }

  footer { background: #475243; padding: 56px 10%;
            display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
  .footer-logo { font-size: 13px; letter-spacing: 5px; text-transform: uppercase;
                  color: var(--gold-light); font-family: Georgia, serif; font-weight: normal; }
  .footer-logo span { display: block; font-size: 7px; letter-spacing: 3px;
                        color: rgba(181,164,117,0.5); font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif;
                        margin-top: 3px; }
  .footer-tag { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 11px;
                 color: rgba(255,255,255,0.35); line-height: 1.7; margin-top: 14px; max-width: 200px; }
  .footer-col h4 { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 8px; letter-spacing: 3px;
                    text-transform: uppercase; color: var(--gold); margin-bottom: 14px;
                    padding-bottom: 10px; border-bottom: 1px solid rgba(181,164,117,0.2); }
  .footer-col li { list-style: none; font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 11px;
                    color: rgba(255,255,255,0.45); margin-bottom: 8px; }
  .footer-col a { color: rgba(255,255,255,0.45); text-decoration: none; }
  .footer-bottom { background: #475243; padding: 18px 10%;
                    display: flex; justify-content: space-between; align-items: center; }
  .footer-copy { font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-size: 10px;
                  color: rgba(255,255,255,0.2); letter-spacing: 1px; }
  .proto-tag { background: var(--gold); color: white; font-family: 'Avenir', 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif;
                font-size: 8px; letter-spacing: 2px; text-transform: uppercase; padding: 5px 12px; }
  svg { display: inline-block; vertical-align: middle; }

  /* Brand name. Centralised. */
  .brand-name { font-style: normal; }

  html,body{overflow-x:hidden}
  .footer-bottom{border-top:1px solid rgba(255,241,234,0.15)}
  @media (max-width: 860px){
    nav{padding:14px 16px} .nav-links{display:none}
    .btl-bar{padding:10px 16px;margin-top:62px;font-size:10px}
    .hero,.meet,.myth,.retail{grid-template-columns:1fr;gap:32px}
    .hero-image{height:60vh} .hero-content,.meet-content{padding:48px 16px}
    .meet-image{order:-1;height:60vh}
    .myth,.retail,.process,.team,.treatments{padding:56px 16px}
    .treatments-grid{grid-template-columns:1fr 1fr}
    .team-grid,.process-steps{grid-template-columns:1fr;gap:32px}
    .retail-image img{height:300px} .cta-content{padding:56px 16px}
    footer{grid-template-columns:1fr 1fr;padding:48px 16px;gap:32px}
    footer > :first-child{grid-column:1 / -1}
    .footer-bottom{padding:16px;flex-direction:column;gap:8px}
  }
  @media (max-width: 480px){ .treatments-grid{grid-template-columns:1fr} }

@font-face{font-family:'Butler';src:url(/assets/fonts/Butler_Light.otf) format('opentype');font-weight:200 300;font-display:swap}
@font-face{font-family:'Butler';src:url(/assets/fonts/Butler_Regular.otf) format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Butler';src:url(/assets/fonts/Butler_Medium.otf) format('opentype');font-weight:500 700;font-display:swap}
html{scroll-behavior:smooth} img{display:block}
.nav-logo a{color:inherit;text-decoration:none;display:flex;flex-direction:column}
.nav-links li{position:relative}
.has-menu > a::after{content:" ▾";font-size:8px}
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:18px;display:none;z-index:120}
.has-menu:hover .mega,.has-menu:focus-within .mega{display:block}
.mega-inner{background:#fff;border:1px solid var(--stone);box-shadow:0 18px 40px rgba(71,82,67,.12);display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:28px;padding:28px 32px;width:760px;text-transform:none;letter-spacing:.3px}
.mega h5{font-family:'Butler',Georgia,serif;font-weight:400;font-size:17px;color:var(--jade);margin:0 0 10px;letter-spacing:.5px}
.mega a{display:block;font-size:12px;color:var(--text);padding:5px 0;text-decoration:none}
.mega a:hover{color:var(--gold)}
.mega .all{grid-column:1/-1;border-top:1px solid var(--stone);padding-top:14px;font-size:10px;letter-spacing:2px;text-transform:uppercase}
.menu-toggle{display:none;background:none;border:1px solid var(--jade);color:var(--jade);font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;padding:10px 14px;cursor:pointer}
.sticky-book{position:fixed;right:28px;bottom:28px;z-index:150;background:var(--jade);color:#fff;font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;padding:16px 26px;text-decoration:none;box-shadow:0 10px 30px rgba(71,82,67,.35);opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;pointer-events:none}
.sticky-book.show{opacity:1;transform:none;pointer-events:auto}
.sticky-book:hover{background:var(--gold)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.sticky-book{transition:none}html{scroll-behavior:auto}}
.concerns{padding:90px 6%;background:#fff}
.concern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}
.concern-col h3{font-family:'Butler',Georgia,serif;font-weight:400;font-size:22px;color:var(--jade);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--gold)}
.concern-col a{display:flex;justify-content:space-between;gap:12px;font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:13px;color:var(--text);text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(207,185,171,.5)}
.concern-col a span{color:var(--gold);font-size:11px;letter-spacing:1px;white-space:nowrap}
.concern-col a:hover{color:var(--gold)}
.findus{display:grid;grid-template-columns:1fr 1fr;background:var(--off-white)}
.findus-body{padding:80px 10%}
.findus-body address{font-style:normal;font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:15px;line-height:1.9;color:var(--text);margin:18px 0 28px}
.findus-links{display:flex;flex-wrap:wrap;gap:12px}
.findus img{width:100%;height:100%;object-fit:cover;min-height:420px}
.page-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:72vh;margin-top:0}
.page-hero .ph-body{padding:80px 8%;display:flex;flex-direction:column;justify-content:center;background:var(--off-white)}
.page-hero img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.crumbs{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.crumbs a{color:inherit;text-decoration:none}
.ph-title{font-family:'Butler',Georgia,serif;font-weight:300;font-size:clamp(34px,4vw,56px);color:var(--jade);line-height:1.1;margin:0 0 12px}
.ph-tag{font-family:'Butler',Georgia,serif;font-size:20px;color:var(--gold);margin:0 0 22px}
.ph-intro{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:16px;line-height:1.85;color:var(--text);max-width:520px;margin:0 0 32px}
.detail{padding:80px 10%;display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#fff}
.detail h2{font-family:'Butler',Georgia,serif;font-weight:300;font-size:30px;color:var(--jade);margin:0 0 24px}
.facts dt{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:22px}
.facts dd{margin:6px 0 0;font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:15px;line-height:1.8;color:var(--text)}
.prices{width:100%;border-collapse:collapse;font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif}
.prices td{padding:14px 0;border-bottom:1px solid var(--stone);font-size:14px;color:var(--text);vertical-align:top}
.prices td:last-child{text-align:right;font-family:'Butler',Georgia,serif;font-size:18px;color:var(--jade);white-space:nowrap;padding-left:20px}
.note{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:12px;line-height:1.7;color:var(--text-light);margin-top:18px}
.related{padding:70px 10%;background:var(--skin-light)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.rel{background:#fff;text-decoration:none;color:var(--text);display:block}
.rel img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rel div{padding:18px 20px}
.rel b{display:block;font-family:'Butler',Georgia,serif;font-weight:400;font-size:20px;color:var(--jade)}
.rel span{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:12px;color:var(--text-light)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.group-title{font-family:'Butler',Georgia,serif;font-weight:300;font-size:32px;color:var(--jade);margin:70px 0 0;padding-bottom:14px;border-bottom:1px solid var(--gold)}
.steps{padding:80px 10%;background:#fff;display:grid;gap:0}
.step{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--stone)}
.step .n{font-family:'Butler',Georgia,serif;font-weight:200;font-size:56px;color:var(--gold)}
.step h3{font-family:'Butler',Georgia,serif;font-weight:400;font-size:26px;color:var(--jade);margin:0 0 10px}
.step p{font-family:'Avenir','Avenir Next','Nunito Sans',sans-serif;font-size:15px;line-height:1.85;color:var(--text);margin:0 0 8px;max-width:640px}
.footer-reg{font-size:10px;letter-spacing:.5px;opacity:.7}

.announce{position:fixed;top:0;left:0;right:0;z-index:160;height:36px;background:var(--jade);display:flex;align-items:center;justify-content:center;gap:28px;font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase}
.announce a{color:#fff;text-decoration:none;white-space:nowrap}.announce a b{color:var(--gold-light);font-weight:500}
.announce a:hover{color:var(--gold-light)} .announce i{width:1px;height:14px;background:rgba(255,255,255,.35)}
body{padding-top:36px} nav{top:36px}
.nav-links{font-size:11px !important;gap:22px !important;align-items:center}
@media (max-width:1180px){.nav-links{gap:14px !important;letter-spacing:1px !important}}
.ticker.jade{background:var(--jade)} .ticker.home{margin-top:0}
.has-menu > a{border:1px solid var(--gold);padding:10px 18px;color:var(--jade) !important;background:#fff}
.has-menu > a:hover{background:var(--jade);color:#fff !important}
.nav-treat-m{display:none}
.soon{padding:70px 6%;background:#fff}
.soon-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.soon-card{display:grid;grid-template-columns:1fr 1fr;background:var(--skin-light);text-decoration:none;color:var(--text);min-height:300px}
.soon-card img{width:100%;height:100%;object-fit:cover}
.soon-card div{padding:32px 28px;display:flex;flex-direction:column;justify-content:center}
.soon-card .when{font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.soon-card h3{font-family:'Butler',Georgia,serif;font-weight:300;font-size:30px;color:var(--jade);margin:10px 0}
.soon-card p{font:14px/1.75 'Avenir','Avenir Next','Nunito Sans',sans-serif;margin:0 0 18px}
.soon-card span.go{font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--jade);border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:4px}
@media (max-width:860px){
 .announce{gap:12px;font-size:9px;letter-spacing:1px;height:40px;padding:0 10px}
 .announce .long{display:none}
 body{padding-top:40px} nav{top:40px}
 nav.open .nav-links{top:102px !important}
 .nav-treat-m{display:inline-block;font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#fff;background:var(--jade);padding:11px 14px;text-decoration:none;margin-left:auto;margin-right:8px}
 .has-menu > a{border:0;padding:0;background:none}
 .soon{padding:48px 16px} .soon-grid{grid-template-columns:1fr} .soon-card{grid-template-columns:1fr} .soon-card img{height:220px}
}

.ticker{background:var(--gold);overflow:hidden;white-space:nowrap;margin-top:73px}
.ticker-track{display:inline-block;padding:14px 0;animation:tick 38s linear infinite;font:500 11px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:#fff}
.ticker-track span{margin:0 26px}.ticker-track b{font-family:'Butler',Georgia,serif;font-weight:400;font-size:18px;letter-spacing:1px;text-transform:none;vertical-align:-2px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.wordmark{font-family:'Butler',Georgia,serif;font-weight:300;font-size:clamp(46px,6vw,84px);color:var(--jade);letter-spacing:2px;line-height:1;margin:0 0 6px}
.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px}
.shop-card{background:#fff;border:1px solid var(--stone);padding:40px 36px;display:flex;flex-direction:column}
.shop-card h3{font-family:'Butler',Georgia,serif;font-weight:300;font-size:32px;color:var(--jade);margin:8px 0 12px}
.shop-card p{font:15px/1.8 'Avenir','Avenir Next','Nunito Sans',sans-serif;color:var(--text);margin:0 0 22px;flex:1}
.shop-card .cta-group{margin-top:auto}
.rb-link{display:inline-block;margin-top:8px;font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--jade);border-bottom:1px solid var(--gold);text-decoration:none;padding-bottom:3px}
@media (max-width:860px){.shop-grid{grid-template-columns:1fr}.shop-card{padding:28px 22px}.ticker{margin-top:62px}}

.topticker{position:fixed;top:0;left:0;right:0;z-index:160;height:50px;background:var(--jade);overflow:hidden;white-space:nowrap;display:flex;align-items:center;border-bottom:1px solid var(--gold)}
.tt-track{display:inline-block;animation:tick 45s linear infinite}
.topticker:hover .tt-track{animation-play-state:paused}
.tt-track span{margin:0 34px;font:500 12px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase}
.tt-track a{color:#fff;text-decoration:none}
.tt-track b{font-family:'Butler',Georgia,serif;font-weight:400;font-size:20px;letter-spacing:.5px;text-transform:none;color:var(--gold-light);margin-right:12px;vertical-align:-2px}
.tt-track span::after{content:"◆";color:var(--gold);font-size:8px;margin-left:68px;vertical-align:3px}
body{padding-top:50px !important} nav{top:50px !important}
.nav-home svg{vertical-align:-2px}
@media (max-width:860px){.topticker{height:46px}.tt-track span{font-size:11px;letter-spacing:1px;margin:0 22px}.tt-track b{font-size:18px}.tt-track span::after{margin-left:44px}
 body{padding-top:46px !important} nav{top:46px !important} nav.open .nav-links{top:108px !important}
 .nav-home-m{display:inline-flex !important}}
.nav-home-m{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--jade);color:var(--jade);margin-left:auto;margin-right:8px}
.nav-home-m + .nav-treat-m{margin-left:0}

@media (max-width:860px){
 .menu-toggle{display:inline-block}
 nav.open .nav-links{display:flex;position:fixed;top:62px;left:0;right:0;bottom:0;flex-direction:column;background:var(--off-white);padding:24px 16px;gap:0;overflow:auto;z-index:140}
 nav.open .nav-links > li{border-bottom:1px solid var(--stone);padding:14px 0}
 nav.open .mega{display:block;position:static;transform:none;padding-top:12px}
 .mega-inner{width:auto;grid-template-columns:1fr 1fr;box-shadow:none;border:0;padding:0;gap:18px}
 .nav-book{display:none}
 .sticky-book{left:16px;right:16px;bottom:16px;text-align:center}
 .concerns{padding:56px 16px} .concern-grid{grid-template-columns:1fr;gap:36px}
 .findus,.page-hero,.detail{grid-template-columns:1fr} .findus-body,.page-hero .ph-body{padding:48px 16px}
 .page-hero{min-height:0} .page-hero img{height:52vh;order:-1}
 .detail{padding:48px 16px;gap:40px} .related{padding:48px 16px} .related-grid,.tgrid{grid-template-columns:1fr}
 .steps{padding:40px 16px} .step{grid-template-columns:1fr;gap:6px}
}


.menu-toggle{width:44px;height:40px;padding:0 !important;align-items:center;justify-content:center}
.hb{position:relative;display:block;width:20px;height:14px}
.hb i{position:absolute;left:0;width:20px;height:1.5px;background:var(--jade);transition:transform .25s,opacity .2s,top .25s}
.hb i:nth-child(1){top:0}.hb i:nth-child(2){top:6px}.hb i:nth-child(3){top:12px}
nav.open .hb i:nth-child(1){top:6px;transform:rotate(45deg)}
nav.open .hb i:nth-child(2){opacity:0}
nav.open .hb i:nth-child(3){top:6px;transform:rotate(-45deg)}
@media (max-width:860px){.menu-toggle{display:inline-flex !important} nav.open{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:var(--off-white) !important} nav.open .nav-links{height:calc(100vh - 108px);font-size:14px !important} nav.open .nav-links > li > a{display:block;padding:4px 0}}
/* ---- Mobile refinement pass 23 Sep 2026 ---- */
@media (max-width:860px){
 .btl-bar{display:none !important}
 .hero{min-height:0 !important}
 .hero-image{height:52vh !important}
 .hero-content{padding:36px 20px 44px !important}
 .hero-headline{font-size:32px !important;line-height:1.15 !important}
 .hero-sub{font-size:15px !important}
 .cta-group{flex-direction:column;align-items:stretch;gap:10px}
 .cta-group > a,.findus-links > a{text-align:center;justify-content:center;display:flex !important;align-items:center;gap:8px;padding:15px 16px !important;font-size:10px !important;margin:0 !important}
 .findus-links{flex-direction:column;align-items:stretch;gap:10px}
 .cta-content .btn-white,.cta-content .btn-wa-outline{display:flex !important;justify-content:center;align-items:center;gap:8px;width:100%;margin:0 0 10px !important;padding:15px 16px !important;box-sizing:border-box}
 .meet-image{display:none !important}
 .meet-content{padding:44px 20px !important}
 .retail-image{display:none !important}
 .section-label,.hero-label,.myth-label,.t-cat,.crumbs{font-size:10px !important;letter-spacing:2.5px !important}
 .section-headline{font-size:26px !important;line-height:1.25 !important}
 .myth,.retail,.process,.team,.treatments,.concerns,.soon{padding:48px 20px !important}
 .treatments-grid,.team-grid{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px !important;margin:28px -20px 0 !important;padding:0 20px 8px !important;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .treatments-grid::-webkit-scrollbar,.team-grid::-webkit-scrollbar{display:none}
 .treatment-card,.team-grid > div{flex:0 0 78%;scroll-snap-align:start}
 .treatment-card{height:420px}
 .team-photo{aspect-ratio:4/5 !important}
 .swipe-hint{display:block !important}
 .soon-grid{gap:18px !important}
 .soon-card img{height:180px !important}
 .soon-card div{padding:22px 20px !important}
 .soon-card h3{font-size:26px !important}
 .step-num{font-size:34px !important}
 .process-steps{gap:22px !important;margin-top:28px !important}
 .concern-col a{padding:13px 0 !important;font-size:14px !important}
 .concern-col a span{font-size:10px !important}
 .cta-close{min-height:0 !important}
 .page-hero img{height:42vh !important}
 .page-hero .ph-body{padding:32px 20px 40px !important}
 .ph-title{font-size:36px !important}
 .wordmark{font-size:44px !important}
 .detail{padding:40px 20px !important;gap:32px !important}
 .ticker{margin-top:0 !important}
 footer{padding:40px 20px !important}
}
.swipe-hint{display:none;text-align:center;font:500 10px 'Avenir','Avenir Next','Nunito Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:14px}
