@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--ivory:#f3efe5;--paper:#fbf8f0;--ink:#211d19;--wine:#6b1831;--lime:#c9e83f;--line:rgba(33,29,25,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:84px;padding:0 4.5vw;display:flex;align-items:center;gap:4vw;position:absolute;top:0;width:100%;z-index:10;border-bottom:1px solid rgba(33,29,25,.14);transition:.3s}.header.scrolled{position:fixed;height:70px;background:rgba(243,239,229,.94);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:2px}.brand-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:white;font:20px var(--serif);letter-spacing:0}.brand-symbol sup{font-size:8px}.nav{display:flex;gap:2.2vw;margin:auto;font-size:13px}.nav a,.footer a{transition:color .2s}.nav a:hover,.footer a:hover{color:var(--wine)}.header-actions,.languages{display:flex;align-items:center}.header-actions{gap:18px}.languages{gap:3px}.language{border:0;background:transparent;opacity:.35;padding:7px 5px;font-size:11px}.language.active{opacity:1}.language:disabled{cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--wine);color:white;min-height:56px;padding:0 26px;border:1px solid var(--wine);font-size:13px;font-weight:600;transition:.25s}.button:hover{background:transparent;color:var(--wine)}.button-small{min-height:42px;padding:0 18px}.menu-toggle{display:none}.hero{min-height:780px;height:100vh;padding:130px 4.5vw 50px;display:grid;grid-template-columns:56% 44%;overflow:hidden}.hero-copy{align-self:center;z-index:2}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:600}.kicker:before,.eyebrow:before{content:'';width:30px;height:1px;display:inline-block;background:currentColor;margin-right:12px;vertical-align:middle}h1,h2,blockquote{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(64px,7.2vw,112px);line-height:.9;margin:42px 0 32px;max-width:1050px}em{font-weight:500;color:var(--wine)}.hero-lead{width:510px;max-width:82%;margin-left:18%;font-size:16px}.hero-actions{display:flex;align-items:center;gap:28px;margin:40px 0 0 18%}.text-link{font-size:12px;border-bottom:1px solid;padding:10px 0;font-weight:600}.text-link span{margin-left:20px}.hero-footnote{font-size:11px;margin:26px 0 0 18%;opacity:.65}.hero-footnote span{color:var(--lime);margin-right:8px}.hero-portrait{height:calc(100vh - 130px);min-height:630px;align-self:end;position:relative;display:flex;align-items:flex-end;justify-content:center;background:var(--wine);overflow:hidden}.hero-portrait:after{content:'EXPONENTA';position:absolute;top:40px;left:-6px;color:rgba(255,255,255,.12);font:9vw var(--serif);white-space:nowrap}.lime-disc{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--lime);top:18%;right:-12%}.hero-portrait img{position:relative;z-index:2;max-width:100%;height:92%;object-fit:contain;object-position:center bottom;filter:saturate(.82)}.portrait-caption{position:absolute;z-index:3;left:28px;bottom:28px;color:white;text-transform:uppercase;font-size:9px;letter-spacing:1.5px}.portrait-caption b{font-size:12px}.hero-stamp{position:absolute;right:24px;top:25px;z-index:3;width:85px;height:85px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;text-align:center;color:white;text-transform:uppercase;font-size:8px;letter-spacing:1.5px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:white;padding:65px 7vw}.numbers article{display:flex;gap:26px;align-items:center;padding-left:4vw;border-left:1px solid rgba(255,255,255,.25)}.numbers article:first-child{border:0}.numbers strong{font:72px var(--serif);color:var(--lime);line-height:1}.numbers strong span{font-size:30px}.numbers p{font-size:11px;opacity:.65}.section{padding:130px 7vw}.section-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:6vw;align-items:start;margin-bottom:85px}.section-intro h2,.personal h2,.why h2,.reviews h2,.pricing h2,.faq h2{font-size:clamp(45px,5vw,76px);line-height:1.04;margin:0}.section-intro>p:last-child{font-size:13px;line-height:1.7;padding-top:8px}.program-list{border-top:1px solid var(--line)}.program{display:grid;grid-template-columns:9% 1fr 15% 5%;align-items:center;min-height:145px;border-bottom:1px solid var(--line);transition:.3s;padding:15px 24px}.program:hover{background:var(--wine);color:white}.program>span{font-size:11px}.program h3{font:34px var(--serif);margin:0 0 8px}.program p,.program b{font-size:11px;margin:0;font-weight:400;opacity:.65}.program i{font-style:normal;font-size:25px}.founder{background:var(--paper);display:grid;grid-template-columns:46% 54%;padding-bottom:0;gap:7vw}.founder-image{min-height:700px;position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:center;background:var(--wine);overflow:hidden}.founder-image:before{content:'';position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:var(--lime);top:13%;left:14%}.founder-image img{height:94%;max-width:100%;object-fit:contain;position:relative;z-index:1;filter:saturate(.8)}.vertical-note{position:absolute;z-index:2;left:18px;top:28px;color:white;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px}.founder-copy{padding:60px 10vw 90px 0}.founder blockquote{font-size:clamp(38px,4.2vw,62px);line-height:1.12;margin:70px 0 45px}.founder-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:570px}.signature{font:24px var(--serif);font-style:italic;margin-top:45px}.signature span{display:block;font:9px var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:1.4px;margin-top:6px;opacity:.55}.process{background:var(--wine);color:white}.section-intro.light{grid-template-columns:1fr 3fr}.light em,.process em{color:var(--lime)}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.steps li{padding:30px 28px 20px;border-right:1px solid rgba(255,255,255,.25);min-height:285px;display:flex;flex-direction:column;justify-content:space-between}.steps span{font-size:10px;color:var(--lime)}.steps h3{font:26px var(--serif);margin-bottom:15px}.steps p{font-size:12px;opacity:.65}.personal{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.personal-title{position:sticky;top:110px;align-self:start}.personal-title .eyebrow{margin-bottom:60px}.personal-grid{display:grid;grid-template-columns:1fr 1fr}.personal-grid article{min-height:265px;padding:35px;border:1px solid var(--line);margin:-1px 0 0 -1px}.personal-grid article>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--wine);border-radius:50%;color:var(--wine)}.personal-grid h3{font:25px var(--serif);margin-top:48px}.personal-grid p{font-size:12px;line-height:1.7}.why{background:var(--lime);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.why-heading h2{margin-top:60px}.why-list{border-top:1px solid var(--ink)}.why-list article{display:grid;grid-template-columns:50px 1fr;column-gap:20px;padding:35px 0;border-bottom:1px solid var(--ink)}.why-list span{font-size:10px}.why-list h3{font:25px var(--serif);margin:0}.why-list p{grid-column:2;font-size:12px;max-width:420px}.results{background:var(--paper)}.result-chart{height:430px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;border-bottom:1px solid var(--ink);gap:12px}.result-chart>div{height:calc(var(--score) * 3.7px);background:var(--wine);color:white;padding:20px 12px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s}.result-chart>div:hover{transform:translateY(-8px)}.result-chart strong{font:48px var(--serif)}.result-chart strong:after{content:none}.result-chart span{font-size:10px}.data-note,.reviews-note{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;opacity:.5;margin-top:18px}.reviews{background:var(--ivory)}.reviews-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.reviews-head>p{max-width:300px;font-size:13px}.reviews-head .eyebrow{margin-bottom:50px}.review-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.shot{background:white;border-radius:10px;padding:22px;box-shadow:0 12px 40px rgba(33,29,25,.08);transform:rotate(-1deg)}.shot:nth-child(2){transform:translateY(20px) rotate(1deg)}.shot:nth-child(3){transform:rotate(-.5deg)}.shot-bar{display:grid;grid-template-columns:38px 1fr auto;align-items:center;border-bottom:1px solid #ddd;padding-bottom:14px}.shot-bar span{width:32px;height:32px;border-radius:50%;background:var(--lime)}.shot-bar b,.shot-bar time,.shot small{font-size:9px}.shot-bar time{opacity:.5}.shot p{font-size:14px;line-height:1.7;margin:30px 0}.shot small{opacity:.55}.reviews-note{text-align:center;margin-top:55px}.pricing{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.pricing-copy .eyebrow{margin-bottom:60px}.pricing-copy>p:last-child{font-size:13px;max-width:440px;opacity:.65;margin-top:45px}.pricing h2 em{color:var(--lime)}.price-card{background:var(--wine);padding:45px 50px}.price-card>p{font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.price{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid rgba(255,255,255,.3);padding:25px 0}.price strong{font:72px var(--serif)}.price span{font-size:11px}.price-card ul{padding:20px 0;list-style:none}.price-card li{border-bottom:1px solid rgba(255,255,255,.2);padding:13px 0;font-size:12px}.price-card li:before{content:'✓';color:var(--lime);margin-right:12px}.light-button{width:100%;background:var(--lime);border-color:var(--lime);color:var(--ink)}.price-card small{display:block;font-size:9px;opacity:.55;margin-top:18px}.faq{display:grid;grid-template-columns:40% 60%;gap:8vw}.faq-heading{position:sticky;top:110px;align-self:start}.faq-heading .eyebrow{margin-bottom:60px}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;padding:28px 0;font:22px var(--serif);display:flex;justify-content:space-between;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font:24px var(--sans);transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.8;max-width:600px;padding:0 40px 25px 0;margin:0}.final-cta{min-height:650px;padding:120px 5vw;background:var(--wine);color:white;text-align:center;position:relative;overflow:hidden}.final-cta h2{font:clamp(47px,6vw,88px)/1.02 var(--serif);letter-spacing:-.04em;position:relative;margin:65px 0 30px}.final-cta h2 em{color:var(--lime)}.final-cta>p:not(.eyebrow){font-size:13px;opacity:.65;margin-bottom:35px}.final-cta .button{background:var(--lime);border-color:var(--lime);color:var(--ink)}.cta-orbit{position:absolute;left:5%;top:-38%;width:500px;height:500px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:grid;place-items:center;font:180px var(--serif);color:rgba(255,255,255,.06)}.cta-orbit sup{font-size:50px}.footer{background:var(--ink);color:white;padding:75px 6vw 30px;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:6vw}.footer>div{display:flex;flex-direction:column;align-items:start;gap:12px}.footer b{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--lime);margin-bottom:10px}.footer a,.footer p{font-size:11px;margin:0;opacity:.75}.footer-brand{font-size:14px!important;opacity:1!important;margin-bottom:10px}.footer-bottom{grid-column:1/-1!important;flex-direction:row!important;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:25px;margin-top:35px;font-size:10px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.header{height:70px;padding:0 5vw}.header .button-small,.nav{display:none}.languages span{display:none}.menu-toggle{display:flex;width:38px;height:38px;background:none;border:0;padding:9px;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav.open{display:flex;position:fixed;top:70px;left:0;right:0;background:var(--ivory);padding:30px 5vw;flex-direction:column;font:25px var(--serif);border-bottom:1px solid var(--line)}.hero{height:auto;min-height:0;padding:115px 5vw 0;grid-template-columns:1fr}.hero-copy{padding-bottom:60px}.hero h1{font-size:55px;line-height:.94;margin:35px 0 25px}.hero-lead,.hero-actions,.hero-footnote{margin-left:0}.hero-lead{max-width:100%;font-size:14px}.hero-actions{align-items:start;flex-direction:column}.hero-portrait{height:560px;min-height:0}.numbers{grid-template-columns:1fr;padding:30px 7vw}.numbers article,.numbers article:first-child{padding:25px 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}.numbers article:first-child{border-top:0}.section{padding:85px 6vw}.section-intro{grid-template-columns:1fr;margin-bottom:50px;gap:20px}.section-intro h2,.personal h2,.why h2,.reviews h2,.pricing h2,.faq h2{font-size:43px}.program{grid-template-columns:35px 1fr 25px;padding:20px 5px}.program b{display:none}.program h3{font-size:24px}.founder{grid-template-columns:1fr;padding:70px 6vw 0}.founder-image{order:2;min-height:520px}.founder-copy{padding:0}.founder blockquote{margin:45px 0 35px}.steps{grid-template-columns:1fr}.steps li{min-height:180px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.personal,.why,.pricing,.faq{grid-template-columns:1fr}.personal-title,.faq-heading{position:static}.personal-grid{margin-top:25px}.personal-grid article{padding:25px;min-height:235px}.personal-grid h3{margin-top:35px}.why-list{margin-top:20px}.result-chart{height:auto;display:flex;flex-direction:column;align-items:stretch;border:0}.result-chart>div{height:auto!important;width:calc(var(--score) * 1%);min-height:110px}.result-chart strong{font-size:38px}.reviews-head{display:block}.reviews-head>p{margin-top:30px}.review-shots{grid-template-columns:1fr}.shot,.shot:nth-child(2),.shot:nth-child(3){transform:none}.pricing{gap:50px}.price-card{padding:35px 25px}.faq{gap:50px}.final-cta{min-height:570px;padding:90px 6vw}.final-cta h2{font-size:44px}.footer{grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}.footer-bottom{grid-column:1/-1!important}}
@media(max-width:520px){.language{padding:5px 2px}.brand{font-size:11px}.brand-symbol{width:34px;height:34px}.hero h1{font-size:45px}.hero-portrait{height:470px}.hero-portrait img{height:90%}.portrait-caption{left:16px;bottom:16px}.section-intro h2,.personal h2,.why h2,.reviews h2,.pricing h2,.faq h2{font-size:37px}.founder-image{min-height:440px}.founder blockquote{font-size:35px}.personal-grid{grid-template-columns:1fr}.result-chart span{font-size:9px}.reviews{overflow:hidden}.price strong{font-size:60px}.footer{grid-template-columns:1fr}.footer>div:first-child{grid-column:auto}.final-cta h2{font-size:37px}}

/* Content correction refinements */
h1{font-size:clamp(58px,6.6vw,102px);line-height:.87;margin:32px 0 28px;text-transform:uppercase}.hero-lead{font-size:14px}.hero-actions{margin-top:34px}.program{grid-template-columns:9% 1fr 5%;min-height:130px}.program h3{margin:0}.result-chart strong:after{content:none}.review-placeholder{min-height:340px;display:grid;place-items:center;border:1px dashed rgba(33,29,25,.25);box-shadow:none;background:rgba(255,255,255,.5)}.review-placeholder span{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;opacity:.4}.price-card li:before{display:none}.price-list li{display:flex;justify-content:space-between;gap:20px;padding:18px 0}.price-list span{max-width:55%}.price-list b{text-align:right;font-weight:500}
.program p{font-size:11px;margin:8px 0 0;font-weight:400;opacity:.65}.steps{grid-template-columns:repeat(5,1fr)}.section-quote{max-width:1050px;margin:95px auto 10px;text-align:center;font-size:clamp(34px,4vw,58px);line-height:1.15;color:white}.personal-copy{align-self:start;padding-top:75px}.personal-copy>p{font-size:14px;line-height:1.85;max-width:580px;margin:0 0 25px}.personal-copy blockquote{font-size:clamp(30px,3.3vw,49px);line-height:1.2;margin:70px 0 0;color:var(--wine)}.why{grid-template-rows:auto auto}.why-list article{padding:30px 0}.why-quote{grid-column:1/-1;border-top:1px solid var(--ink);padding-top:55px;margin:30px 0 0;text-align:center;font-size:clamp(34px,4vw,58px);line-height:1.15}
@media(max-width:900px){.program{grid-template-columns:35px 1fr 25px}.review-placeholder{min-height:280px}.steps{grid-template-columns:1fr}.section-quote{margin-top:65px;text-align:left}.personal-copy{padding-top:20px}.personal-copy blockquote{margin-top:45px}.why-quote{text-align:left;padding-top:40px}}
@media(max-width:520px){h1{font-size:42px}.price-list li{display:block}.price-list span,.price-list b{display:block;max-width:none;text-align:left}.price-list b{margin-top:7px}}

/* Reviews and booking */
.review-images{display:grid;grid-template-columns:1fr 1.12fr .92fr;gap:3vw;align-items:start}.review-image{margin:0;min-width:0}.review-image:nth-child(2){margin-top:70px}.review-image:nth-child(3){margin-top:22px}.review-image img{display:block;width:100%;height:auto;object-fit:contain}.booking{background:var(--paper);display:grid;grid-template-columns:42% 58%;gap:8vw}.booking-intro{position:sticky;top:110px;align-self:start}.booking-intro h2{font:clamp(45px,5vw,76px)/1.04 var(--serif);letter-spacing:-.04em;margin:60px 0 35px}.booking-intro>p:last-child{font-size:13px;line-height:1.8;max-width:440px}.booking-form{min-width:0}.field{display:flex;flex-direction:column;margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:600;margin-bottom:10px}.field label>span{color:var(--wine)}.field label small{font-size:8px;font-weight:400;opacity:.5;margin-left:8px}.field input,.field select,.field textarea{width:100%;min-height:52px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:14px var(--sans);padding:12px 2px;outline:none;transition:border-color .2s}.field textarea{resize:vertical;min-height:120px}.field select{cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine)}.field input[aria-invalid=true]{border-color:var(--wine)}.field-error{min-height:18px;color:var(--wine);font-size:10px;padding-top:5px}.form-submit{min-width:260px}.form-submit:disabled{cursor:wait;opacity:.65}.form-note,.form-status{font-size:10px;line-height:1.6;max-width:460px}.form-note{margin-top:18px;opacity:.58}.form-status{min-height:18px;margin-top:15px;color:var(--wine);font-weight:600}.form-status.success{color:var(--ink)}
@media(max-width:900px){.review-images{grid-template-columns:1fr;gap:28px}.review-image:nth-child(2),.review-image:nth-child(3){margin-top:0}.review-image img{max-height:none}.booking{grid-template-columns:1fr;gap:50px}.booking-intro{position:static}.booking-intro h2{font-size:43px;margin:40px 0 25px}}
@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:0}.field input,.field select{min-height:48px}.form-submit{width:100%;min-width:0}.booking-intro h2{font-size:37px}}

/* Editorial photography */
.hero-portrait img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;filter:none}.founder-image img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;filter:none}.review-images{grid-template-columns:1.35fr .72fr .95fr;gap:3.5vw}.review-image:nth-child(1){margin-top:0}.review-image:nth-child(2){margin-top:92px}.review-image:nth-child(3){margin-top:38px}.review-image img{width:100%;height:auto;max-width:100%;object-fit:contain;border:1px solid rgba(33,29,25,.08);box-shadow:0 14px 38px rgba(33,29,25,.07)}
@media(max-width:900px){.hero-portrait img{object-position:center top}.founder-image img{object-fit:contain;object-position:center top}.review-images{grid-template-columns:1fr;gap:34px}.review-image:nth-child(1),.review-image:nth-child(2),.review-image:nth-child(3){margin-top:0}.review-image img{width:100%;height:auto}}
/* Five-review editorial layout */
.review-images {
  display: block;
}

.review-row {
  display: grid;
  align-items: start;
  gap: 3vw;
}

.review-row + .review-row {
  margin-top: 3vw;
}

.review-row-featured {
  grid-template-columns: 1.08fr .92fr;
}

.review-row-results {
  grid-template-columns: 1.16fr 1fr .84fr;
}

.review-row .review-image {
  margin: 0;
}

.review-row .review-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 900px) {
  .review-row,
  .review-row-featured,
  .review-row-results {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .review-row + .review-row {
    margin-top: 28px;
  }
}
/* Hero photo crop */
.hero-portrait img {
  object-fit: cover;
  object-position: 52% bottom;
}

@media (max-width: 900px) {
  .hero-portrait img {
    object-position: 50% bottom;
  }
}
/* Reviews — two-column editorial layout */

.review-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  max-width: 1280px;
  margin: 0 auto;
  align-items: start;
}

.review-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
  min-width: 0;
}

.review-column .review-image {
  margin: 0;
  width: 100%;
}

.review-column .review-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Mobile */
@media (max-width: 900px) {
  .review-images {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 100%;
  }

  .review-column {
    gap: 28px;
  }

  .review-column .review-image {
    width: 100%;
    margin: 0;
  }
}
/* Mobile header fix */
@media (max-width: 900px) {
  .header,
  .header.scrolled {
    height: 60px;
    padding: 0 18px;
  }

  .brand {
    gap: 8px;
    font-size: 12px;
    letter-spacing: 1.6px;
  }

  .brand-symbol {
    width: 32px;
    height: 32px;
    font-size: 18px;
  }

  .hero {
    padding-top: 92px;
  }

  .nav.open {
    top: 60px;
  }
}
/* Logo exponent fix */
.brand-symbol {
  position: relative;
}

.brand-symbol sup {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 8px;
  line-height: 1;
}
/* Direct contacts */
.direct-contacts {
  margin-top: 38px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.direct-contacts > p {
  margin: 0 0 18px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.direct-contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.direct-contact-links a {
  color: var(--ink);
  text-decoration: none;
  font-size: 14px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 3px;
  transition: color .2s, border-color .2s;
}

.direct-contact-links a:hover {
  color: var(--wine);
  border-color: var(--wine);
}

@media (max-width: 520px) {
  .direct-contact-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
/* Mobile header — prevent overlap */
@media (max-width: 900px) {
  .header,
  .header.scrolled {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 60px;
    z-index: 1000;
    background: rgba(243, 239, 229, 0.97);
    backdrop-filter: blur(12px);
  }

  .hero {
    padding-top: 92px;
  }

  .nav.open {
    top: 60px;
  }

  html {
    scroll-padding-top: 70px;
  }
}
/* Booking intro — disable sticky */
.booking-intro {
  position: static;
  top: auto;
}
/* Contact icons — colored and aligned */

.direct-contact-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 28px;
  align-items: start;
  max-width: 780px;
}

.direct-contact-links a {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 64px auto;
  column-gap: 6px;
  align-items: end;

  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 9px;
  min-width: 0;
}

.contact-app-icon {
  grid-column: 1 / -1;
  width: 56px;
  height: 56px;
  padding: 12px;
  object-fit: contain;
  border-radius: 16px;
  align-self: start;
}

/* MAX */
.direct-contact-links a:nth-child(1) .contact-app-icon {
  background: linear-gradient(135deg, #08a7ff, #6657e8, #d629b8);
  filter: none;
}

/* Telegram */
.direct-contact-links a:nth-child(2) .contact-app-icon {
  background: #229ED9;
  filter: brightness(0) invert(1);
}

/* WhatsApp */
.direct-contact-links a:nth-child(3) .contact-app-icon {
  background: #25D366;
  filter: brightness(0) invert(1);
}

/* VK */
.direct-contact-links a:nth-child(4) .contact-app-icon {
  background: #0077FF;
  filter: brightness(0) invert(1);
}

.direct-contact-links a > span:not(.contact-arrow) {
  grid-column: 1;
  grid-row: 2;
  font-size: 15px;
  white-space: nowrap;
}

.contact-arrow {
  grid-column: 2;
  grid-row: 2;
  font-size: 16px;
}

/* Tablet */
@media (max-width: 700px) {
  .direct-contact-links {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100%;
  }
}

/* Phone */
@media (max-width: 420px) {
  .direct-contact-links {
    grid-template-columns: 1fr 1fr;
    gap: 24px 18px;
  }

  .contact-app-icon {
    width: 48px;
    height: 48px;
    padding: 10px;
  }

  .direct-contact-links a > span:not(.contact-arrow) {
    font-size: 13px;
  }
}
/* Contact icons — final fix */

.contact-app-icon {
  width: 56px;
  height: 56px;
  padding: 0;
  background: transparent !important;
  border-radius: 0;
  filter: none !important;
  object-fit: contain;
}

.direct-contact-links a {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 70px auto;
  align-items: end;
}

.direct-contact-links .contact-app-icon {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: center;
  justify-self: start;
}

.direct-contact-links a > span:not(.contact-arrow) {
  grid-column: 1;
  grid-row: 2;
  margin-top: 10px;
}

.contact-arrow {
  grid-column: 2;
  grid-row: 2;
}
/* MAX brand color */
.direct-contact-links a:first-child .contact-app-icon {
  background: linear-gradient(135deg, #159DFF 0%, #6155EE 52%, #D62BB7 100%) !important;
  padding: 11px;
  border-radius: 16px;
}
/* ==================================================
   FINAL MOBILE POLISH — 08.08.2026
   ================================================== */

@media (max-width: 900px) {

  /* 1. Prevent horizontal overflow */
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero,
  .hero-copy {
    min-width: 0;
  }


  /* 2. Hero kicker */
  .hero .kicker {
    max-width: 100%;
    padding-right: 8px;
    font-size: 9px;
    line-height: 1.55;
    letter-spacing: 1.5px;
  }

  .hero .kicker::before {
    width: 22px;
    margin-right: 9px;
  }


  /* 3. Hero photo — show full figure and legs */
  .hero-portrait {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 7 / 10;
    overflow: hidden;
  }

  .hero-portrait img {
    width: 100%;
    max-width: none;
    height: 100% !important;
    object-fit: cover;
    object-position: 50% bottom;
  }


  /* 4. Compact mobile exam results */
  .result-chart {
    height: auto !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    border-bottom: 0;
  }

  .result-chart > div {
    width: calc(var(--score) * 1%);
    height: 72px !important;
    min-height: 72px;
    padding: 10px 16px;
    flex: 0 0 72px;
  }

  .result-chart strong {
    font-size: 40px;
    line-height: 1;
  }
}


/* 5. Force ↗ to render as text, not blue emoji */
.program i,
.contact-arrow {
  font-size: 0 !important;
  font-family: Arial, sans-serif;
  line-height: 1;
}

.program i::before,
.contact-arrow::before {
  content: "\2197\FE0E";
  font-family: Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: currentColor;
}

.program i::before {
  font-size: 22px;
}

.contact-arrow::before {
  font-size: 17px;
}
