/* Glow Theory — homepage builder sections (the "glow" homepage design).
 * Each section is wrapped in .gth, so the styles apply wherever a section is placed.
 * Sizes are in px: the design is drawn on a 16px base. Fonts are self-hosted (OFL). */
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
.gth{
  --gth-ink:var(--gt-c-charcoal,#1A1A1C); --gth-ink-2:var(--gt-c-charcoal,#1A1A1C); --gth-muted:var(--gt-c-charcoal,#1A1A1C); --gth-line:var(--gt-c-line,#EDEDED);
  --gth-paper:var(--gt-c-white,#FFFFFF); --gth-cream:var(--gt-c-petal,#FFF8F6); --gth-blush:var(--gt-c-shell,#FEF2ED);
  --gth-star:var(--gt-c-coral,#E25956); --gth-accent:var(--gt-c-coral,#E25956); --gth-nude:var(--gt-c-nude,#D79F86);
  --gth-serif:var(--gt-font-serif);
  --gth-italic:var(--gt-font-italic);
  --gth-sans:var(--gt-font-sans);
  --gth-max:1400px; --gth-gutter:clamp(16px,4vw,48px);
  --gth-ease:cubic-bezier(.2,.7,.2,1);
  display:block; background:var(--gth-paper); color:var(--gth-ink);
  font:400 16px/1.65 var(--gth-sans); -webkit-font-smoothing:antialiased; overflow-x:clip;
}
.gth *,.gth *::before,.gth *::after{box-sizing:border-box}
/* Resets stop at .gth-widget, so third-party widgets (Trustindex reviews, Instagram
 * feed, forms) keep their own styling. */
.gth img:where(:not(.gth-widget *)){display:block;max-width:100%;height:auto}
.gth a:where(:not(.gth-widget *)){color:inherit}
.gth p:where(:not(.gth-widget *)){margin:0 0 1em;line-height:inherit;font-size:inherit}
.gth li:where(:not(.gth-widget *)),.gth dt:where(:not(.gth-widget *)),.gth dd:where(:not(.gth-widget *)),.gth address:where(:not(.gth-widget *)),.gth summary:where(:not(.gth-widget *)){line-height:inherit}
.gth h1:where(:not(.gth-widget *)),.gth h2:where(:not(.gth-widget *)),.gth h3:where(:not(.gth-widget *)){color:inherit;margin:0;padding:0;letter-spacing:normal;text-transform:none}
.gth ul:where(:not(.gth-widget *)),.gth ol:where(:not(.gth-widget *)){margin:0;padding:0}
.gth figure:where(:not(.gth-widget *)){margin:0}
.gth button:where(:not(.gth-widget *)){font-family:inherit;box-shadow:none;text-shadow:none}
.gth :focus-visible{outline:2px solid var(--gth-accent);outline-offset:3px}
.gth-wrap{max-width:var(--gth-max);margin:0 auto;padding:0 var(--gth-gutter)}

/* type — lowercase editorial headings: bold sans lead word + light serif */
.gth .gth-h{font-family:var(--gth-serif);font-weight:400;text-transform:lowercase;letter-spacing:-.01em;line-height:1.05;margin:0}
.gth .gth-h b{font-family:var(--gth-sans);font-weight:700;letter-spacing:-.03em}
.gth .gth-h em{font-family:var(--gth-italic);font-style:italic;font-weight:400}
.gth h2.gth-h{font-size:clamp(32px,20.8px + 2.6vw,53.6px)}
.gth .gth-eyebrow{font:600 11.52px/1.2 var(--gth-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gth-accent);margin:0 0 14.4px}
.gth .gth-eyebrow--soft{color:var(--gth-nude)}
.gth .gth-lead{color:var(--gth-ink-2);font-size:16.8px;max-width:60ch;margin:16px 0 0}
.gth .gth-lead p{margin:0}
.gth .gth-lead p+p{margin-top:.75em}
.gth-center{text-align:center}
.gth-sec{padding:clamp(56px,7vw,96px) 0}
.gth-sec--flush{padding-bottom:0}
.gth-sec-head{margin-bottom:clamp(32px,4vw,48px)}

/* buttons — pills */
.gth .gth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 24px;border-radius:999px;font:600 12.48px/1 var(--gth-sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;border:1px solid var(--gth-ink);transition:background .25s,color .25s,border-color .25s}
.gth .gth-btn--dark{background:var(--gth-ink);color:var(--gt-c-white,#FFFFFF)}.gth .gth-btn--dark:hover{background:var(--gth-accent);border-color:var(--gth-accent);color:var(--gt-c-white,#FFFFFF)}
.gth .gth-btn--line{background:transparent;color:var(--gth-ink)}.gth .gth-btn--line:hover{background:var(--gth-ink);color:var(--gt-c-white,#FFFFFF)}
.gth .gth-btn--white{background:var(--gt-c-white,#FFFFFF);color:var(--gth-ink);border-color:var(--gt-c-white,#FFFFFF)}.gth .gth-btn--white:hover{background:var(--gth-blush);border-color:var(--gth-blush);color:var(--gth-ink)}
.gth .gth-btn--glass{background:rgba(255,255,255,.14);color:var(--gt-c-white,#FFFFFF);border-color:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gth .gth-btn--glass:hover{background:var(--gt-c-white,#FFFFFF);color:var(--gth-ink)}
.gth .gth-tlink{font:600 12.48px/1 var(--gth-sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5.6px}
.gth .gth-tlink:hover{color:var(--gth-accent)}
.gth-stars{display:inline-flex;gap:2px;color:var(--gth-star)}.gth-stars svg{width:15px;height:15px;fill:currentColor}
.gth-row{display:flex;flex-wrap:wrap;gap:11.2px}

/* ---------- hero ---------- */
.gth-hero{position:relative;min-height:min(86svh,780px);display:flex;align-items:flex-end;color:var(--gt-c-white,#FFFFFF);background:var(--gt-c-charcoal,#1A1A1C);overflow:hidden}
.gth .gth-hero__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 40%}
/* Readability (WCAG AA): the tint never drops below a floor, whatever the photo or the overlay setting.
 * The setting can darken it further but not lighten it past the floor. The soft glow behind the text
 * is part of the full-width layer, so it has no edges on wide screens. */
.gth-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 56% at 50% 58%,rgba(26,26,28,.44) 0%,rgba(26,26,28,.34) 60%,rgba(26,26,28,0) 100%),linear-gradient(180deg,rgba(26,26,28,max(.4,calc(var(--gth-overlay,.45)*.9))) 0%,rgba(26,26,28,max(.5,calc(var(--gth-overlay,.45)*1.1))) 45%,rgba(26,26,28,max(.66,calc(var(--gth-overlay,.45)*1.6))) 100%)}
@media (max-width:640px){.gth-hero::after{background:radial-gradient(ellipse 95% 72% at 50% 52%,rgba(26,26,28,.42) 0%,rgba(26,26,28,.34) 65%,rgba(26,26,28,0) 100%),linear-gradient(180deg,rgba(26,26,28,max(.4,calc(var(--gth-overlay,.45)*.9))) 0%,rgba(26,26,28,max(.5,calc(var(--gth-overlay,.45)*1.1))) 45%,rgba(26,26,28,max(.66,calc(var(--gth-overlay,.45)*1.6))) 100%)}}
/* Panel style (desktop): photo or video at full brightness and sharpness, a plain dark panel behind the
 * text only. Its darkness is the "Text panel opacity" setting (60%+ gives 4.5:1 even on a pure white frame). */
@media (min-width:981px){
  .gth-hero--panel{align-items:center}
  .gth-hero--panel::after{display:none}
  .gth .gth-hero--panel .gth-hero__body{width:fit-content;max-width:min(1060px,calc(100% - 2 * var(--gth-gutter)));margin:clamp(40px,7vh,88px) auto;padding:clamp(28px,3vw,44px) clamp(32px,4.5vw,64px);background:rgba(26,26,28,var(--gth-panel,.4));border-radius:24px}
}
.gth-hero__body{text-shadow:0 1px 2px rgba(26,26,28,.45),0 2px 18px rgba(26,26,28,.35)}
.gth-hero__body .gth-btn{text-shadow:none}
.gth .gth-hero__body{position:relative;z-index:1;width:100%;padding:clamp(112px,16vh,160px) var(--gth-gutter) clamp(40px,5vw,64px);text-align:center}
.gth .gth-hero .gth-eyebrow{color:var(--gt-c-white,#FFFFFF);font-size:var(--gth-eyebrow-fs,11.52px)}
.gth .gth-hero .gth-btn{font-size:var(--gth-btn-fs,12.48px)}
.gth .gth-hero h1{font-size:var(--gth-h1-fs,clamp(41.6px,22.4px + 5vw,86.4px));max-width:15ch;margin:0 auto;color:var(--gt-c-white,#FFFFFF)}
.gth .gth-hero h1 em{display:block;font-size:var(--gth-accent-fs,.62em);margin-top:.35em;color:var(--gt-c-rose,#FBDED2)}
.gth .gth-hero__intro{max-width:54ch;margin:22.4px auto 0;font-size:var(--gth-intro-fs,clamp(16.8px,15.2px + .3vw,18.4px));line-height:1.6;color:var(--gt-c-white,#FFFFFF)}
.gth .gth-hero .gth-byline{color:var(--gt-c-white,#FFFFFF)}
.gth .gth-hero .gth-btn--glass{background:rgba(26,26,28,.45);border-color:rgba(255,255,255,.8);-webkit-backdrop-filter:none;backdrop-filter:none}.gth .gth-hero .gth-btn--glass:hover{background:var(--gt-c-white,#FFFFFF);color:var(--gth-ink)}
.gth-hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:11.2px;margin-top:32px}
.gth .gth-byline{display:flex;align-items:center;justify-content:center;gap:11.2px;margin:35.2px auto 0;font-size:13.12px;color:var(--gt-c-line,#EDEDED)}
.gth .gth-byline img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;border:1px solid rgba(255,255,255,.6);background:var(--gt-c-charcoal,#1A1A1C)}
.gth .gth-byline a{color:var(--gt-c-white,#FFFFFF);text-decoration:underline;text-underline-offset:2px}

/* background video (added by home.js after load; the photo stays until it plays) */
.gth-hero__video{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.2s var(--gth-ease)}
.gth-hero__video.is-playing{opacity:1}
.gth-hero__video iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;max-width:none}
.gth-hero__video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gth .gth-hero__pause{position:absolute;right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:2;width:40px;height:40px;min-height:0;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.25);color:var(--gt-c-white,#FFFFFF);display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gth .gth-hero__pause:hover{background:rgba(0,0,0,.45)}
.gth-hero__pause[hidden]{display:none}
.gth-hero__pause svg{width:16px;height:16px;fill:currentColor}
.gth-hero__pause .gth-i-play,.gth-hero__pause[aria-pressed="true"] .gth-i-pause{display:none}
.gth-hero__pause[aria-pressed="true"] .gth-i-play{display:block}

/* ---------- awards strip ---------- */
.gth-awards{border-bottom:1px solid var(--gth-line);padding:25.6px 0}
.gth-awards .gth-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.gth .gth-awards__label{font:600 11.2px/1.3 var(--gth-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gth-muted);max-width:28ch;margin:0}
.gth-awards ul{list-style:none;display:flex;align-items:center;gap:clamp(16px,3vw,41.6px);flex-wrap:wrap}
.gth .gth-awards li img{height:72px;width:auto;max-width:150px;object-fit:contain;border-radius:6px}
.gth-awards__g{display:flex;align-items:center;gap:12.8px}
.gth-awards__g b{font:400 38.4px/1 var(--gth-serif)}
.gth-awards__g span{font-size:12.8px;color:var(--gth-muted);line-height:1.35}

/* ---------- answer + treatments ---------- */
.gth-answer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,56px)}
.gth .gth-answer__p p{margin:0;font-size:16.96px;color:var(--gth-ink-2)}
.gth-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9.6px,1.4vw,16px)}
.gth .gth-tile{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--gt-c-line,#EDEDED);color:var(--gt-c-white,#FFFFFF);text-decoration:none}
.gth .gth-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--gth-ease)}
.gth .gth-tile:hover img{transform:scale(1.05)}
.gth-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%)}
.gth-tile__txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(16px,2vw,24px)}
.gth .gth-tile h3{margin:0;font:400 clamp(20.8px,16px + 1vw,28px)/1.1 var(--gth-serif);text-transform:lowercase;color:var(--gt-c-white,#FFFFFF)}
.gth .gth-tile p{margin:5.6px 0 0;font-size:13.6px;color:var(--gt-c-line,#EDEDED);max-width:30ch}
/* hover card (treatment tiles): name on the photo; tagline, text and link on a white card */
.gth .gth-tile__eye{display:block;margin-top:8px;font:600 10.88px/1.35 var(--gth-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gt-c-line,#EDEDED)}
.gth-tile--hover{--gth-in:clamp(12px,1.6vw,20px)}
.gth-tile__card{position:absolute;left:calc(var(--gth-in) + 8px);right:calc(var(--gth-in) + 8px);top:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;max-height:calc(100% - 2 * var(--gth-in));padding:clamp(22px,2.4vw,34px) clamp(18px,2vw,28px);border:2px solid transparent;border-radius:14px;background:rgba(255,255,255,0);color:var(--gth-ink);text-align:center;visibility:hidden;transform:translateY(-50%);transition:background-color .45s var(--gth-ease),border-color .2s,visibility 0s .5s}
.gth-tile__card>:not(.gth-edge){opacity:0;transform:translateY(8px);transition:opacity .3s var(--gth-ease),transform .3s var(--gth-ease)}
.gth-edge{position:absolute;background:var(--gt-c-white,#FFFFFF);pointer-events:none;transition:transform .3s cubic-bezier(.65,0,.35,1)}
.gth-edge--t{top:-2px;left:12px;right:12px;height:2px;transform:scaleX(0);transform-origin:100% 50%}
.gth-edge--l{left:-2px;top:12px;bottom:12px;width:2px;transform:scaleY(0);transform-origin:50% 0}
.gth-edge--b{bottom:-2px;left:12px;right:12px;height:2px;transform:scaleX(0);transform-origin:0 50%}
.gth-edge--r{right:-2px;top:12px;bottom:12px;width:2px;transform:scaleY(0);transform-origin:50% 100%}
.gth-tile__name{font:400 clamp(30px,22px + 1.4vw,46px)/1.05 var(--gth-serif);text-transform:lowercase}
.gth .gth-tile__card .gth-tile__eye{margin:0;color:var(--gth-ink);font-size:12.5px;letter-spacing:.22em}
.gth-tile__p{font-size:15.2px;line-height:1.65;color:var(--gth-ink-2);max-width:34ch}
.gth-tile__go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font:500 15px/1.2 var(--gth-sans);border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .25s}
.gth-tile__go svg{width:18px;height:18px;fill:currentColor;transition:transform .25s}
.gth-tile__txt,.gth-tile--hover::after{transition:opacity .35s}
/* square tiles like the reference; taller again where the three columns get narrow so the hover card text fits */
.gth .gth-tiles .gth-tile{aspect-ratio:1/1;border-radius:10px}
@media (max-width:1180px) and (min-width:641px){.gth .gth-tiles .gth-tile{aspect-ratio:4/5}}
@media (max-width:1180px){.gth-tile__card{gap:8px;padding:18px 16px}.gth-tile__name{font-size:clamp(24px,2.6vw,32px)}.gth-tile__p{font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.gth-tile__go{margin-top:4px;font-size:14px}}
@media (hover:hover){
  .gth-tile--hover:hover .gth-tile__card,.gth-tile--hover:focus-visible .gth-tile__card{visibility:visible;background-color:var(--gt-c-white,#FFFFFF);border-color:var(--gt-c-white,#FFFFFF);transition:background-color .8s var(--gth-ease) .3s,border-color .2s .85s,visibility 0s}
  .gth-tile--hover:hover .gth-edge,.gth-tile--hover:focus-visible .gth-edge{transform:none;transition:transform .9s cubic-bezier(.65,0,.35,1)}
  .gth-tile--hover:hover .gth-tile__card>:not(.gth-edge),.gth-tile--hover:focus-visible .gth-tile__card>:not(.gth-edge){opacity:1;transform:none;transition:opacity .55s var(--gth-ease) .55s,transform .55s var(--gth-ease) .55s}
  .gth-tile--hover:hover .gth-tile__txt,.gth-tile--hover:focus-visible .gth-tile__txt{opacity:0}
  .gth-tile--hover:hover::after,.gth-tile--hover:focus-visible::after{opacity:.35}
  .gth-tile--hover:hover .gth-tile__go{border-color:currentColor}
  .gth-tile--hover:hover .gth-tile__go svg{transform:translateX(4px)}
}
@media (prefers-reduced-motion:reduce){.gth-edge,.gth-tile__card,.gth-tile__card>*{transition:none!important}}

.gth-menu{margin-top:clamp(40px,5vw,56px);border-top:1px solid var(--gth-line);padding-top:32px}
.gth-menu__top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:19.2px}
.gth .gth-menu__top h3{margin:0;font:600 12.48px/1 var(--gth-sans);letter-spacing:.18em;text-transform:uppercase}
.gth-menu__tabs{display:flex;gap:6.4px;flex-wrap:wrap}
.gth .gth-menu__tabs button{font:500 13.12px/1 var(--gth-sans);padding:10.4px 16px;border-radius:999px;border:1px solid var(--gth-line);background:var(--gt-c-white,#FFFFFF);color:var(--gth-ink);cursor:pointer;min-height:0;text-transform:none;letter-spacing:0}
.gth .gth-menu__tabs button:hover{border-color:var(--gth-ink)}
.gth .gth-menu__tabs button[aria-selected="true"]{background:var(--gth-ink);border-color:var(--gth-ink);color:var(--gt-c-white,#FFFFFF)}
.gth-menu__panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.gth .gth-menu__panel a{display:inline-block;padding:8.8px 15.2px;border-radius:999px;background:var(--gth-cream);font-size:14.08px;text-decoration:none;border:1px solid transparent}
.gth .gth-menu__panel a:hover{border-color:var(--gth-ink)}
.gth .gth-menu__more{margin:25.6px 0 0}
.gth .gth-menu__more a{display:inline}
.gth .gth-menu__more a+a{margin-left:13px}

/* ---------- story + team ---------- */
.gth-story{background:var(--gth-blush)}
.gth-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.gth .gth-video{position:relative;display:block;width:100%;aspect-ratio:4/5;border:0;padding:0;margin:0;border-radius:4px;overflow:hidden;cursor:pointer;background:var(--gt-c-charcoal,#1A1A1C);color:var(--gt-c-white,#FFFFFF)}
.gth .gth-video img{width:100%;height:100%;object-fit:cover}
.gth-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;transition:transform .3s var(--gth-ease)}
.gth-video:hover .gth-video__play{transform:translate(-50%,-50%) scale(1.07)}
.gth-video__play svg{width:22px;height:22px;fill:var(--gth-ink);margin-left:4px}
.gth-video__cap{position:absolute;left:19.2px;bottom:17.6px;font:600 11.2px/1 var(--gth-sans);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.gth-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gth-leaders{display:grid;gap:16px;margin:32px 0}
.gth-leader{display:grid;grid-template-columns:84px minmax(0,1fr);gap:17.6px;align-items:start;background:var(--gt-c-white,#FFFFFF);border-radius:6px;padding:17.6px}
.gth .gth-leader img{width:84px;height:100px;object-fit:cover;object-position:top;border-radius:4px;background:var(--gt-c-line,#EDEDED)}
.gth .gth-leader h3{margin:0;font:400 21.6px/1.15 var(--gth-serif)}
.gth .gth-leader__role{margin:3.2px 0 8px;font:600 10.88px/1.3 var(--gth-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gth-accent)}
.gth .gth-leader p:last-child{margin:0;font-size:14.4px;line-height:1.55}

/* ---------- stats band ---------- */
.gth-stats{background:var(--gth-ink);color:var(--gt-c-white,#FFFFFF);padding:clamp(40px,5vw,56px) 0}
.gth-stats dl{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.gth-stats dl>div{display:flex;flex-direction:column;text-align:center;border-left:1px solid rgba(255,255,255,.14);padding:0 8px}
.gth-stats dl>div:first-child{border-left:0}
.gth .gth-stats dd{margin:0;font:400 clamp(35.2px,25.6px + 2vw,52.8px)/1 var(--gth-serif);order:-1;color:var(--gt-c-white,#FFFFFF)}
.gth .gth-stats dt{margin-top:9.6px;font:600 10.88px/1.4 var(--gth-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gt-c-line,#EDEDED)}

/* ---------- results + reviews ---------- */
.gth-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.gth-ba__img{aspect-ratio:4/3;background:var(--gt-c-line,#EDEDED);border-radius:4px;overflow:hidden}
.gth .gth-ba__img img{width:100%;height:100%;object-fit:cover}
.gth-ba figcaption{display:flex;justify-content:space-between;gap:16px;font-size:13.12px;color:var(--gth-muted);margin-top:12.8px}
.gth-results__side{min-width:0}
.gth-results .gth-widget--reviews{margin:0}
.gth-results__btns{margin-top:clamp(20px,2.4vw,28px)}
.gth-widget--missing{margin:24px 0 0;padding:16px;border:1px dashed var(--gth-line);font-size:13.6px;color:var(--gth-muted)}
.gth-rev-head{display:flex;align-items:center;gap:17.6px;margin:25.6px 0 22.4px}
.gth-rev-head b{font:400 54.4px/1 var(--gth-serif)}
.gth .gth-rev-head p{margin:3.2px 0 0;font-size:13.6px;color:var(--gth-muted)}
.gth-widget:empty{display:none}
.gth-results .gth-row{margin-top:25.6px}

/* ---------- membership + financing ---------- */
.gth-save{background:var(--gth-cream)}
.gth-save__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
.gth-card{background:var(--gt-c-white,#FFFFFF);border-radius:6px;padding:clamp(25.6px,3vw,38.4px);border:1px solid var(--gth-line)}
.gth-card--dark{background:var(--gth-ink);color:var(--gt-c-white,#FFFFFF);border-color:var(--gth-ink)}
.gth .gth-card h3{margin:0;font:400 clamp(25.6px,20.8px + 1vw,33.6px)/1.1 var(--gth-serif);text-transform:lowercase}
.gth .gth-card--light h3{margin-bottom:16px}
.gth-price{display:flex;align-items:baseline;gap:6.4px;margin:16px 0 19.2px}
.gth-price b{font:400 48px/1 var(--gth-serif)}
.gth-price span{font-size:13.6px;color:var(--gt-c-grey,#8E8E8E)}
.gth .gth-perks{list-style:none;margin:0 0 25.6px;display:grid;grid-template-columns:1fr 1fr;gap:8.8px 22.4px;font-size:14.72px}
.gth-perks li{display:flex;gap:8.8px;align-items:flex-start}
.gth-perks svg{flex:0 0 16px;width:16px;height:16px;margin-top:4px;stroke:var(--gth-nude)}
.gth .gth-fine{font-size:12px;color:var(--gt-c-grey,#8E8E8E);margin:19.2px 0 0}
.gth .gth-card--light p{color:var(--gth-ink-2)}
.gth-terms{display:flex;gap:8px;margin:19.2px 0 25.6px;flex-wrap:wrap}
.gth-terms span{border:1px solid var(--gth-line);border-radius:999px;padding:7.2px 14.4px;font-size:13.12px}

/* ---------- explore tiles ---------- */
.gth-explore{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9.6px,1.4vw,16px)}
.gth .gth-explore .gth-tile{aspect-ratio:5/4}

/* ---------- first visit ---------- */
.gth-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:center}
.gth-visit__img{aspect-ratio:4/5;background:var(--gt-c-line,#EDEDED);border-radius:4px;overflow:hidden}
.gth .gth-visit__img img{width:100%;height:100%;object-fit:cover}
.gth .gth-steps{list-style:none;counter-reset:gths;margin:32px 0;border-top:1px solid var(--gth-line)}
.gth-steps li{counter-increment:gths;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:17.6px 0;border-bottom:1px solid var(--gth-line)}
.gth-steps li::before{content:"0" counter(gths);font:400 25.6px/1 var(--gth-serif);color:var(--gth-accent)}
.gth-steps b{display:block;font-weight:600;margin-bottom:3.2px}
.gth-steps span{color:var(--gth-ink-2);font-size:15.2px}

/* ---------- faq ---------- */
.gth-faq{background:var(--gth-cream)}
.gth-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,5vw,80px);align-items:start}
.gth .gth-faq__call{margin-top:25.6px}
.gth-faq details{border-bottom:1px solid var(--gth-line)}
.gth-faq details:first-child{border-top:1px solid var(--gth-line)}
.gth .gth-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:600;font-size:16.32px}
.gth-faq summary::-webkit-details-marker{display:none}
.gth-faq summary::after{content:"+";flex:0 0 19.2px;width:19.2px;height:19.2px;display:grid;place-items:center;font:300 25.6px/1 var(--gth-sans);color:var(--gth-accent);transition:transform .3s}
.gth-faq details[open] summary::after{transform:rotate(45deg)}
.gth-ans{padding:0 0 20.8px;color:var(--gth-ink-2);max-width:576px}
.gth .gth-ans p{margin:0 0 11.2px}

/* ---------- location ---------- */
.gth-loc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.gth-map{min-height:420px;border-radius:6px;overflow:hidden;background:var(--gt-c-line,#EDEDED)}
.gth-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
.gth .gth-loc address{font-style:normal;font-size:16.8px;line-height:1.7;margin:22.4px 0}
.gth .gth-loc address a{text-decoration:none;font-weight:600}
.gth .gth-loc h3{font:600 11.52px/1 var(--gth-sans);letter-spacing:.18em;text-transform:uppercase;margin:25.6px 0 11.2px}
.gth .gth-hours{margin:0;color:var(--gth-ink-2);display:grid;gap:4px;max-width:360px}
.gth .gth-hours div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dotted var(--gth-line);padding:3px 0}
.gth .gth-hours dt{font-weight:500;color:var(--gth-ink)}
.gth .gth-hours dd{margin:0}
.gth-areas{list-style:none;display:flex;flex-wrap:wrap;gap:6.4px}
.gth-areas li{background:var(--gth-cream);border-radius:999px;padding:7.2px 14.4px;font-size:13.6px}
.gth .gth-areas a{text-decoration:none;border-bottom:1px solid var(--gth-nude)}
.gth .gth-areas a:hover{color:var(--gth-accent)}
.gth-loc .gth-row{margin-top:32px}

/* ---------- video reviews ---------- */
.gth-vr{background:var(--gth-cream)}
.gth .gth-lead--center{margin-left:auto;margin-right:auto}
.gth-vr__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(16px,2.4vw,32px)}
.gth .gth-vr__card{margin:0;background:var(--gt-c-white,#FFFFFF);border-radius:6px;padding:clamp(16px,2vw,28px);display:flex;flex-direction:column}
.gth .gth-video--wide{aspect-ratio:16/9;border-radius:4px}
.gth-vr__card figcaption{padding-top:20px}
.gth-vr__card blockquote{margin:12px 0 16px;padding:0;border:0;font:italic 400 clamp(17px,16px + .3vw,19.5px)/1.6 var(--gth-italic);color:var(--gth-ink)}
.gth .gth-vr__card blockquote p{margin:0}
.gth .gth-vr__name{margin:0;font:600 11.5px/1.4 var(--gth-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gth-star)}
.gth .gth-vr__place{margin:4px 0 0;font-size:13.6px;color:var(--gth-muted)}
.gth-row--center{justify-content:center;margin-top:clamp(32px,4vw,48px)}

/* ---------- social feed ---------- */
.gth-feed__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,40px)}
.gth-feed__head .gth-lead{margin-top:12px}

/* ---------- closing cta ---------- */
.gth-cta{background:var(--gth-accent);color:var(--gt-c-white,#FFFFFF);text-align:center;padding:clamp(48px,6vw,72px) 0}
.gth .gth-cta .gth-h{font-size:clamp(32px,22.4px + 2.4vw,51.2px);color:var(--gt-c-white,#FFFFFF)}
.gth-cta .gth-row{justify-content:center;margin-top:28.8px}
.gth .gth-cta .gth-btn--line{color:var(--gt-c-white,#FFFFFF);border-color:rgba(255,255,255,.7)}.gth .gth-cta .gth-btn--line:hover{background:var(--gt-c-white,#FFFFFF);color:var(--gth-ink)}

/* reveal — only when the script has run, so content never stays hidden */
@media (prefers-reduced-motion:no-preference){
  .gth-js .gth .gth-rv:not(.is-in){opacity:0;transform:translateY(22px)}
  .gth-js .gth .gth-rv.is-in{opacity:1;transform:none;transition:opacity .9s var(--gth-ease),transform .9s var(--gth-ease)}
  .gth-hero__body>*{animation:gth-rise 1s var(--gth-ease) both}
  .gth-hero__body>*:nth-child(2){animation-delay:.1s}.gth-hero__body>*:nth-child(3){animation-delay:.2s}.gth-hero__body>*:nth-child(4){animation-delay:.3s}.gth-hero__body>*:nth-child(5){animation-delay:.4s}
  @keyframes gth-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
}

/* responsive */
@media (max-width:980px){
  .gth-answer,.gth-story__grid,.gth-results,.gth-save__grid,.gth-visit,.gth-faq__grid,.gth-loc{grid-template-columns:minmax(0,1fr)}
  .gth .gth-video,.gth-visit__img{aspect-ratio:16/11}
  .gth-stats dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .gth-stats dl>div:nth-child(3){border-left:0}
}
@media (max-width:640px){
  .gth-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gth .gth-tile p{display:none}
  .gth-explore{grid-template-columns:minmax(0,1fr)}
  .gth .gth-explore .gth-tile{aspect-ratio:16/9}
  .gth .gth-perks{grid-template-columns:minmax(0,1fr)}
  .gth .gth-awards li img{height:56px}
  .gth-hero__cta .gth-btn{flex:1 1 100%}
  .gth .gth-byline{font-size:12.16px;text-align:left}
  .gth-menu__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;min-width:0}
  .gth .gth-menu__tabs button{flex:0 0 auto}
}

.gth .gth-leader h3 a{text-decoration:none}
.gth .gth-leader h3 a:hover{color:var(--gth-accent)}
/* Builder: sections sit directly under the theme main; no gap between them. */
.gtb-section .gth,.gt-main>.gth{margin:0}

/* Transparent header on the homepage: the hero starts under the header, so it grows by
 * the header height and keeps its text clear of the menu. */
.gt-head-over .gth-hero{min-height:calc(min(86svh,780px) + var(--gt-over-h,80px))}
.gt-head-over .gth .gth-hero__body{padding-top:max(clamp(112px,16vh,160px),calc(var(--gt-over-h,80px) + 48px))}
@media (min-width:981px){.gt-head-over .gth-hero--panel{padding-top:var(--gt-over-h,80px)}.gt-head-over .gth .gth-hero--panel .gth-hero__body{padding-top:clamp(28px,3vw,44px)}}

/* "Text" style: a panel behind the eyebrow, heading and intro only, on every screen size.
 * The rest of the photo or video stays at full brightness (no full tint, even on phones). */
.gth-hero--text::after{display:none}
.gth .gth-hero__text{width:fit-content;max-width:100%;margin:0 auto;padding:clamp(18px,2.6vw,40px) clamp(18px,4vw,56px);background:rgba(26,26,28,var(--gth-panel,.4));border-radius:clamp(14px,1.8vw,24px)}
.gth .gth-hero__text .gth-eyebrow{margin-top:0}
.gth .gth-hero__text .gth-hero__intro{margin-bottom:0}
@media (min-width:981px){.gth-hero--text{align-items:center}}
