/* Independent Dental Journey edition. Page-scale curves and photographic pacing. */
:root {
  --porcelain:#f5f3ef; --white:#fff; --mist:#e5e1d9;
  --ink:#393632; --ink-2:#736d65; --green:#575149; --green-d:#393632; --pine:#393632;
  --gold:#938778; --gold-deep:#756958; --gold-soft:#e5e1d9;
  --line:#d6d0c7; --on-dark:#f5f3ef; --on-dark-muted:#d2cbc1;
  --f-display:'Barlow Condensed','Arial Narrow',sans-serif;
  --f-body:'Manrope',Arial,sans-serif; --f-mono:'Manrope',Arial,sans-serif;
  --gutter:clamp(24px,5vw,88px); --container:min(100%,1560px); --head-h:104px;
  --sec-y:clamp(76px,9vw,148px); --dur-s:.18s; --dur-m:.3s;
}
body { font-size:15px; }
h1,h2,h3 { font-weight:400; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.h-display,.h2,.statement { font-family:var(--f-display); font-weight:400; text-transform:uppercase; letter-spacing:-.015em; }
.h-display { font-size:clamp(64px,7.5vw,112px); line-height:.98; }
.h1-slim { font-size:clamp(58px,6.5vw,94px); }
.h2 { font-size:clamp(42px,4.7vw,68px); line-height:1; max-width:23ch; }
.statement { font-size:clamp(38px,4.4vw,64px); line-height:1.08; }
.h-display .d-script,.h2 em,.statement em { color:inherit; font-style:normal; }
.lede { font-size:15px; line-height:1.9; max-width:52ch; }
.eyebrow,.quiet-caption,.section-label { font:500 11px/1.6 var(--f-body); letter-spacing:.08em; text-transform:uppercase; color:inherit; margin-bottom:24px; }
.eyebrow::before,.eb-n { display:none; }
.micro,.source-note { font:400 11px/1.8 var(--f-body); letter-spacing:0; color:var(--ink-2); }
.source-note { max-width:64ch; margin-top:25px; }
.btn { border-radius:100px; padding:17px 28px; min-height:52px; justify-content:center; font:500 12px/1.4 var(--f-body); text-transform:none; letter-spacing:0; white-space:normal; text-align:center; transition:background .2s,color .2s,transform .15s; }
.btn:hover { transform:none; }
.btn:active { transform:scale(.98); }
.btn-fill { background:var(--ink); color:var(--porcelain); }
.btn-fill:hover { background:#625a50; }
.btn-line { border:1px solid currentColor; }
.btn-line:hover { color:var(--porcelain); background:var(--ink); }
.text-link,.simple-link { display:inline-block; padding-block:8px; font-size:12px; border-bottom:1px solid currentColor; line-height:1.6; min-height:38px; }
.text-link:hover,.simple-link:hover { border-bottom-width:2px; }
/* The home navigation sits directly on the photograph. */
.head { border:0; background:var(--porcelain); color:var(--ink); }
.head-in { gap:28px; }
.brand-txt b { font:500 24px/1 var(--f-display); letter-spacing:.035em; text-transform:uppercase; }
.brand-txt i { font:400 9px/1 var(--f-body); letter-spacing:.45em; opacity:1; margin-top:8px; text-align:center; }
/* Vector identity reconstructed from the client's office sign. */
.head .brand { position:relative; display:block; width:190px; flex:0 0 auto; aspect-ratio:390 / 134; }
.head .brand-logo { display:block; width:100%; height:100%; object-fit:contain; }
.head .brand-logo-white { display:none; position:absolute; inset:0; }
.page-home .head:not(.scrolled) .brand-logo-ink { visibility:hidden; }
.page-home .head:not(.scrolled) .brand-logo-white { display:block; }
.footer-brand { display:inline-block; width:238px; max-width:100%; line-height:0; }
.footer-brand .brand-logo { display:block; width:100%; height:auto; }
.nf-brand { margin-bottom:36px; }
@media (max-width:760px) {
  .head .brand { width:180px; }
  .footer-brand { width:216px; }
}
@media (max-width:400px) {
  .head .brand { width:clamp(114px,calc(100vw - 206px),180px); }
}
.nav-links { gap:25px; }
.nav-link { font-size:12px; font-weight:400; opacity:1; }
.nav-link.is-active::after { height:1px; background:currentColor; }
.head-right { gap:24px; }
.lang-l { min-width:28px; min-height:44px; padding:13px 5px; font-size:10px; opacity:1; letter-spacing:0; }
.lang-l.is-cur { border-bottom:1px solid currentColor; }
.head-cta { border:1px solid currentColor; background:transparent; color:inherit; padding:13px 22px; min-height:45px; font-size:11px; }
.head-cta:hover { background:var(--ink); color:var(--porcelain); }
.page-home .head:not(.scrolled) { background:transparent; color:var(--porcelain); }
.page-home .head:not(.scrolled) .head-cta:hover { background:var(--porcelain); color:var(--ink); }
.head.scrolled { background:var(--porcelain); color:var(--ink); border:0; backdrop-filter:none; }
.drop-menu { border-radius:18px; border:0; padding:14px; }
.drop-item { font-size:12px; }
.burger { min-height:44px; justify-content:center; }
body.menu-open .head { background:var(--ink)!important; color:var(--porcelain)!important; }
.m-menu { background:var(--ink); }
.m-menu .m-link { text-transform:uppercase; font-size:clamp(32px,8vw,54px); border:0; }
.m-foot .lang-l.is-cur { color:var(--porcelain); border-color:currentColor; }
.m-foot .btn-fill { background:var(--porcelain); color:var(--ink); }
.wa-fab { border-radius:50%; width:52px; height:52px; padding:0; display:grid; place-items:center; background:var(--ink); box-shadow:none; opacity:1; z-index:95; }

.wa-fab .wa-txt { display:none!important; }
.wa-fab:hover { transform:none; }
.wa-fab svg { width:23px; height:23px; }
/* Arrival. The curved next section is part of the landscape composition. */
.arrival { min-height:800px; height:100svh; max-height:1200px; position:relative; color:var(--porcelain); display:flex; flex-direction:column; justify-content:center; padding-bottom:165px; }
.arrival-photo,.arrival-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.arrival-photo { object-position:50% 52%; }
@media (max-width:900px){
  .arrival-shade { background:linear-gradient(180deg, rgba(35,30,27,.46) 0%, rgba(35,30,27,.36) 45%, rgba(30,27,24,.74) 100%); }
}
.arrival-shade { background:linear-gradient(180deg,rgba(35,30,27,.34),rgba(35,30,27,.17) 45%,rgba(30,27,24,.69)); }
.arrival-title { position:relative; z-index:2; text-align:center; padding:96px 24px 60px; margin-inline:auto; max-width:1100px; }
.arrival-title > p { font-size:11px; letter-spacing:.24em; text-transform:uppercase; margin-bottom:27px; }
.save-band { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:16px; }
.save-item { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 22px; text-align:left; }
.save-num { font:400 clamp(44px,5vw,64px)/1 var(--f-display); color:var(--green); letter-spacing:-.01em; }
.save-num i { font-style:normal; font-size:.5em; color:var(--gold); margin-left:2px; }
.save-cap { display:block; font:500 11px/1.6 var(--f-body); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin-top:6px; }
.save-name { display:block; font:400 19px/1.2 var(--f-display); text-transform:uppercase; letter-spacing:.02em; margin-top:14px; }
@media (max-width:900px){ .save-band { grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .save-band { grid-template-columns:1fr; } .save-item { padding:20px 18px; } }
.arrival h1 { font:700 clamp(54px,6.6vw,114px)/1.0 'Playfair Display',Georgia,serif; text-transform:uppercase; letter-spacing:.012em;
  text-shadow:0 4px 26px rgba(16,14,11,.45); }
@media (max-width:900px){
  }
.arrival h1 span { display:block; }
.arrival h1 span+span { margin-top:8px; }
.arrival-bottom { position:absolute; z-index:2; bottom:155px; left:0; right:0; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.arrival-bottom > p { max-width:39ch; font-size:13px; line-height:1.8; }
.arrival-bottom > div { text-align:right; }
.arrival-bottom .btn { background:var(--porcelain); color:var(--ink); min-width:220px; }
.arrival-bottom .btn:hover { background:#e5e1d9; }
.arrival-bottom small { display:block; font-size:10px; margin-top:12px; }
.introduction { background:var(--mist); border-radius:50% 50% 0 0 / 95px 95px 0 0; position:relative; margin-top:-95px; padding:110px 0 95px; text-align:center; }
.introduction h2 { font:400 clamp(48px,5.7vw,84px)/1.02 var(--f-display); text-transform:uppercase; max-width:19ch; margin:0 auto; }
.intro-description { max-width:56ch; margin:28px auto 18px; font-size:14px; line-height:1.9; }
.care-facts { display:flex; justify-content:center; gap:clamp(35px,9vw,145px); margin-top:75px; }
.care-fact { max-width:190px; }
.care-fact b { font:400 clamp(48px,5vw,72px)/1 var(--f-display); display:block; }
.care-fact b small { font-size:.65em; }
.care-fact > span { font-size:11px; line-height:1.7; display:block; margin-top:13px; }
.introduction .source-note { margin:32px auto 0; font-size:9px; }
/* A photograph and a compact, native accordion keep treatments direct. */
.care { padding:110px 0 120px; }
.care-title { display:flex; align-items:flex-end; gap:70px; justify-content:space-between; margin-bottom:65px; }
.care-title h2,.travel h2,.outcomes h2,.questions h2 { font:400 clamp(48px,5.9vw,88px)/1 var(--f-display); text-transform:uppercase; letter-spacing:-.015em; }
.care-title h2 { max-width:12ch; }
.care-title > p { max-width:33ch; font-size:13px; line-height:1.8; padding-bottom:8px; }
.care-composition { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:8vw; }
@media (min-width:761px){ .care-photo { position:sticky; top:110px; } }
.care-photo img { width:100%; height:auto; aspect-ratio:1.04; object-fit:cover; object-position:50% 50%; border-radius:50% 50% 4px 4px; }
.care-photo figcaption,.outcomes figcaption { margin-top:15px; font-size:10px; color:var(--ink-2); }
.care-menu { min-width:0; }
.care-option { border-bottom:1px solid var(--line); }
.care-option-summary { display:flex; justify-content:space-between; align-items:baseline; gap:24px; width:100%; padding:25px 0; background:none; border:0; color:inherit; text-align:left; cursor:pointer; }
.care-option-summary > span:first-child { font:400 clamp(25px,2.6vw,38px)/1.1 var(--f-display); transition:color .3s ease; }
.care-option-summary:hover > span:first-child { color:#85796a; }
.care-plus { position:relative; width:15px; height:15px; flex:none; align-self:center; }
.care-plus::before, .care-plus::after { content:""; position:absolute; left:0; top:50%; width:15px; height:1.6px; background:var(--ink); transition:transform .4s cubic-bezier(.22,1,.36,1); }
.care-plus::after { transform:rotate(90deg); }
.care-option.is-open .care-plus::after { transform:rotate(0deg); }
.care-detail { display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1); }
.care-option.is-open .care-detail { grid-template-rows:1fr; }
.care-detail-in { overflow:hidden; min-height:0; }
.care-detail p { font-size:13px; line-height:1.85; color:var(--ink-2); padding-top:2px; }
.care-detail .text-link { display:inline-block; margin:14px 0 26px; opacity:0; transform:translateY(-4px); transition:opacity .4s ease .12s, transform .4s ease .12s; }
.care-option.is-open .care-detail .text-link { opacity:1; transform:none; }
.care-price { font:400 25px/1 var(--f-display); white-space:nowrap; }
.care-price small { font:400 10px/1 var(--f-body); margin-right:5px; }
/* Journey occupies a landscape, with five readable stages and no scroll trap. */
.travel { background:var(--ink); color:var(--porcelain); padding:95px 0 85px; border-radius:70px 70px 0 0; }
.travel-top { display:flex; gap:80px; justify-content:space-between; align-items:flex-end; padding-bottom:55px; }
.travel-top h2 { white-space:pre-line; font-size:clamp(44px,5.4vw,80px); }
.travel-top > p { max-width:34ch; font-size:13px; line-height:1.9; color:var(--on-dark-muted); }
.travel-panorama { position:relative; margin:0; }
.travel-panorama img { width:100%; height:clamp(250px,32vw,460px); object-fit:cover; object-position:50% 60%; }
.travel-panorama figcaption { position:absolute; bottom:24px; left:var(--gutter); font-size:10px; letter-spacing:.08em; background:var(--ink); padding:7px 15px; border-radius:20px; }
.travel-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:35px; margin-top:55px; }
.travel-step-number { font:400 36px/1 var(--f-display); color:#c2b7a8; }
.travel-steps h3 { font:400 26px/1.1 var(--f-display); margin:22px 0 14px; max-width:15ch; }
.travel-steps p { font-size:11px; line-height:1.9; color:var(--on-dark-muted); }
.travel .text-link { margin-top:40px; }
/* Results retain the supplied clinical media, without adding patient claims. */
.outcomes { padding:130px 0; }
.outcomes-composition { display:grid; grid-template-columns:1fr .75fr .7fr; align-items:center; gap:5vw; }
.outcome-copy h2 { max-width:10ch; }
.outcome-copy > p { max-width:34ch; font-size:13px; line-height:1.9; margin-top:28px; color:var(--ink-2); }
.outcome-copy .text-link { margin-top:20px; }
.outcome-copy p.source-note { font-size:10px; }
.outcome-film video { width:100%; aspect-ratio:9/16; object-fit:cover; border-radius:18px; background:var(--ink); }
.outcome-still { margin-top:170px; }
.outcome-still img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:18px; }
.assurance { background:var(--mist); padding:100px 0; border-radius:50% 50% 0 0 / 60px 60px 0 0; }
.assurance-composition { display:grid; grid-template-columns:.85fr 1.15fr; gap:12vw; }
.assurance-guarantee { text-align:center; }
.assurance-years { font:400 clamp(140px,18vw,270px)/.86 var(--f-display); display:block; margin-top:45px; }
.assurance-guarantee h2 { font:400 32px/1.2 var(--f-display); text-transform:uppercase; margin-top:18px; }
.assurance-guarantee > p:last-child { max-width:42ch; font-size:12px; line-height:1.9; margin:26px auto 0; color:var(--ink-2); }
.assurance-details > h2 { font:400 clamp(38px,4.4vw,64px)/1 var(--f-display); text-transform:uppercase; max-width:18ch; margin-bottom:35px; }
.assurance-details article { margin-top:30px; }
.assurance-details h3 { font-size:14px; font-weight:600; }
.assurance-details article p { margin-top:9px; font-size:12px; color:var(--ink-2); line-height:1.9; max-width:53ch; }
.material-names { display:flex; flex-wrap:wrap; gap:18px 25px; margin-top:35px; padding-top:25px; border-top:1px solid #c9c0b4; font:400 25px/1.2 var(--f-display); }
.questions { padding:110px 0; }
.questions > .wrap { max-width:960px; }
.questions h2 { margin-bottom:45px; }
.questions .text-link { margin-top:28px; }
.faq-item summary { font:500 14px/1.8 var(--f-body); padding-block:23px; }
.faq-item .fa { font-size:13px; line-height:1.9; }
.faq-group-h { font:500 12px/1.6 var(--f-body); text-transform:none; letter-spacing:0; }
/* A single closing invitation, set into a broad curved field. */
.endcap { background:var(--ink); color:var(--porcelain); padding:100px 0 90px; border-radius:50% 50% 0 0 / 80px 80px 0 0; min-height:0; }
.endcap .ec-in { display:block; max-width:1050px; text-align:center; }
.endcap .eyebrow { display:none; }
.endcap .h-display { max-width:20ch; margin:auto; font-size:clamp(52px,6.4vw,96px); }
.endcap .ec-sub { max-width:49ch; margin:30px auto 0; font-size:13px; line-height:1.9; }
.endcap .ec-cta { margin-top:30px; }
.endcap .btn-fill { background:var(--porcelain); color:var(--ink); }
.endcap .btn-fill:hover { background:var(--mist); }
.endcap .micro { font-size:10px; margin-top:20px; }
.footer { background:var(--ink); padding:15px 0 30px; }
.foot-hero { padding:45px 0; border-top:1px solid #655f57; display:flex; align-items:baseline; gap:25px; }
.foot-mark { font:400 clamp(45px,8vw,120px)/1 var(--f-display); letter-spacing:-.01em; text-transform:uppercase; }
.foot-sub { font:400 10px/1 var(--f-body); letter-spacing:.2em; }
.foot-grid { padding-block:30px; }
.foot-h { color:var(--porcelain); font-size:11px; letter-spacing:0; text-transform:none; }
.foot-blurb,.foot-col > a { font-size:12px; }
.foot-base,.foot-disclaimer { font-size:10px; }
/* The interior pages use the same type scale, colour, contours and quieter controls. */
.hero-slim { padding-top:calc(var(--head-h) + 70px); padding-bottom:70px; }
.hero-slim h1 { max-width:22ch; }
.hero-slim .lede { max-width:65ch; }
.page-faq .hero-slim,.page-privacy .hero-slim,.page-quote .hero-slim { padding-bottom:55px; }
.hub-hero-grid { gap:7vw; }
.hub-visual img { border-radius:50% 50% 8px 8px; aspect-ratio:1; object-fit:cover; }
.hub-hero .hero-cta { flex-wrap:wrap; }
.tx-splits { gap:70px; }
.tx-split { gap:7vw; padding-block:20px; }
.txs-img { border-radius:38% 38% 8px 8px; }
.txs-img img { aspect-ratio:1; object-fit:cover; }
.txs-name { font:400 clamp(40px,4.8vw,70px)/1 var(--f-display); text-transform:uppercase; }
.tx-split:hover .txs-name { font-style:normal; }
.txs-desc { font-size:14px; line-height:1.85; }
.txs-price b,.tx-price b { font:400 43px/1 var(--f-display); }
.txs-price i,.tx-price i { font-size:10px; text-transform:none; letter-spacing:0; }
.tx-save { font-size:10px; text-transform:none; letter-spacing:0; border:0; padding:0; }
.pl-no,.inc-no,.txs-no { display:none; }
.pillar .pl-t,.inc .inc-t { font:400 29px/1.1 var(--f-display); }
.pillar .pl-d,.inc .inc-d { font-size:13px; line-height:1.85; }
.inc .inc-t { margin-top:0; }
.qs-img { border-radius:0 90px 90px 0; overflow:hidden; }
.qs-flip .qs-img { border-radius:90px 0 0 90px; }
.qs-copy { background:var(--mist); }
.quote-split { background:var(--mist); }
.treatment-price-panel { background:var(--mist); border-radius:50% 50% 10px 10px; text-align:center; padding:90px 45px 50px; }
.tx-hero-ph { background:transparent; aspect-ratio:auto; border-radius:0; box-shadow:none; }
.treatment-hero-price { font:400 clamp(75px,9vw,135px)/1 var(--f-display); }
.treatment-price-unit { font-size:12px; margin-top:10px; }
.treatment-price-note { font-size:12px; line-height:1.9; max-width:33ch; margin:25px auto; color:var(--ink-2); }
.price-bar { border:0; border-block:1px solid var(--line); border-radius:0; padding-inline:0; background:transparent; }
.pb-save,.bp-day { border:0; padding:0; font-size:11px; text-transform:none; letter-spacing:0; }
.pb-item i { text-transform:none; letter-spacing:0; }
.cand { background:var(--mist); border:0; border-radius:26px; box-shadow:none; }
.cand li { padding-right:6px; }
.cand-h { font:400 30px/1.1 var(--f-display); }
.cand li { font-size:13px; }
.cases-grid { grid-template-columns:1fr 1fr; gap:65px; }
.case .ph-frame { border-radius:35px; aspect-ratio:1.15; }
.case-video .ph-frame { aspect-ratio:9/16; border-radius:160px 160px 15px 15px; }
.case figcaption b { font:400 27px/1.2 var(--f-display); }
.case figcaption span { font-size:12px; }
.cases-3 { grid-template-columns:repeat(3,1fr); }
.stat-num { font:400 clamp(55px,6vw,88px)/1 var(--f-display); }
.stat-num i { color:var(--on-dark-muted); }
.stat-label { font-size:12px; }
.j-frame { border-radius:50% 50% 10px 10px; box-shadow:none; }
.j-t { font:400 31px/1.1 var(--f-display); }
.j-d { font-size:13px; line-height:1.85; }
.j-step { opacity:1; grid-template-columns:30px minmax(0,1fr); }
.j-no { font-size:11px; letter-spacing:0; }
.j-dot,.route-line { display:none; }
.ph-cap { border-radius:25px; }
.quote-grid > *,.quote-steps,.quote-form { min-width:0; }
.quote-form { background:var(--mist); border:0; border-radius:35px; box-shadow:none; grid-template-columns:minmax(0,1fr); }
.quote-form label,.quote-form input,.quote-form select,.quote-form textarea { min-width:0; width:100%; }
.quote-form input,.quote-form select,.quote-form textarea { border-color:#bcb0a1; border-radius:12px; background:var(--porcelain); }
.quote-form :is(input,select,textarea):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.quote-steps .qs-t { font:400 31px/1.1 var(--f-display); overflow-wrap:anywhere; }
.quote-steps .qs-d { font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
@media (min-width:1600px) { .arrival-bottom { bottom:175px; } }
@media (max-width:1180px) {
  .nav-links { display:none; }
  .burger { display:flex; }
  .head-cta { display:inline-flex; }
  .care-composition { gap:6vw; }
  .travel-steps { gap:24px; }
}
@media (max-width:760px) {
  :root { --head-h:82px; }
  .head-in { gap:15px; }
  .head-right { gap:12px; }
  .head-right > .lang-switch { display:none; }
  .brand-txt b { font-size:22px; }
  .head-cta { font-size:10px; padding:11px 17px; max-width:150px; }
  .arrival { height:94svh; min-height:720px; max-height:1000px; padding-bottom:150px; }
  .arrival-title { padding-top:70px; padding-bottom:140px; }
  .arrival h1 { font-size:clamp(70px,14vw,108px); }
  .arrival-title > p { font-size:10px; }
  .arrival-bottom { bottom:100px; display:block; }
  .arrival-bottom > p { font-size:12px; max-width:43ch; }
  .arrival-bottom > div { text-align:left; margin-top:22px; }
  .arrival-bottom .btn { min-width:0; min-height:48px; padding:15px 25px; }
  .arrival-bottom small { font-size:9px; }
  .introduction { border-radius:50% 50% 0 0 / 50px 50px 0 0; margin-top:-50px; padding:85px 0 65px; }
  .introduction h2 { font-size:clamp(42px,8vw,58px); max-width:20ch; }
  .intro-description { font-size:13px; }
  .care-facts { gap:22px; margin-top:50px; }
  .care-fact b { font-size:43px; }
  .care-fact > span { font-size:9px; max-width:15ch; }
  .care { padding:75px 0; }
  .care-title { display:block; margin-bottom:35px; }
  .care-title h2 { font-size:58px; max-width:15ch; }
  .care-title > p { margin-top:20px; max-width:42ch; }
  .care-composition { grid-template-columns:1fr; gap:28px; }
  .care-photo { max-width:520px; }
  .care-photo img { aspect-ratio:1.2; }
  .care-option-summary > span:first-child { font-size:30px; }
  .care-price { font-size:28px; }
  .care-option-summary { padding-block:23px; }
  .care-detail-in { max-width:46ch; }
  .travel { padding:70px 0; border-radius:40px 40px 0 0; }
  .travel-top { display:block; padding-bottom:35px; }
  .travel-top h2 { font-size:52px; }
  .travel-top > p { margin-top:25px; max-width:42ch; }
  .travel-panorama img { height:260px; }
  .travel-steps { grid-template-columns:1fr; margin-top:35px; gap:0; }
  .travel-steps li { display:grid; grid-template-columns:40px 1fr; gap:12px 15px; padding:22px 0; border-bottom:1px solid #696157; }
  .travel-step-number { font-size:28px; grid-row:1/3; padding-top:3px; }
  .travel-steps h3 { margin:0; max-width:none; font-size:28px; }
  .travel-steps p { grid-column:2; font-size:12px; }
  .outcomes { padding:80px 0; }
  .outcomes-composition { grid-template-columns:1fr 1fr; gap:35px 25px; }
  .outcome-copy { grid-column:1/-1; }
  .outcome-copy h2 { max-width:none; font-size:58px; }
  .outcome-copy > p { max-width:46ch; }
  .outcome-film { margin:0; }
  .outcome-still { margin-top:80px; }
  .outcomes figcaption { font-size:9px; }
  .assurance { border-radius:50% 50% 0 0 / 35px 35px 0 0; padding:75px 0; }
  .assurance-composition { grid-template-columns:1fr; gap:60px; }
  .assurance-years { font-size:170px; margin-top:30px; }
  .assurance-details > h2 { font-size:50px; }
  .questions { padding:75px 0; }
  .questions h2 { font-size:52px; }
  .faq-item summary { font-size:13px; }
  .endcap { border-radius:50% 50% 0 0 / 40px 40px 0 0; padding:75px 0 55px; }
  .page-results .endcap { margin-top:-40px; padding-top:115px; background:var(--porcelain); }
  .endcap .h-display { font-size:52px; }
  .endcap .ec-sub { font-size:12px; }
  .endcap .ec-cta .btn { width:auto; }
  .foot-hero { display:block; padding:35px 0; }
  .foot-mark { font-size:65px; }
  .foot-sub { margin-top:15px; }
  .footer { padding-bottom:90px; }
  .hero-slim { padding-top:calc(var(--head-h) + 45px); padding-bottom:50px; }
  .h1-slim { font-size:56px; overflow-wrap:anywhere; }
  .h2 { font-size:44px; }
  .lede { font-size:14px; }
  .tx-splits { gap:50px; }
  .tx-split { gap:28px; }
  .tx-split:nth-child(even) .txs-img { order:0; }
  .txs-name { font-size:46px; }
  .txs-img img { aspect-ratio:1.2; }
  .qs-img,.qs-flip .qs-img { border-radius:40px 40px 0 0; }
  .cases-grid,.cases-3 { grid-template-columns:1fr; gap:40px; }
  .case-video { max-width:360px; margin:auto; }
  .treatment-price-panel { padding:34px 26px 30px; border-radius:26px; }
  .treatment-hero-price { font-size:clamp(40px,10.5vw,58px); }
  .treatment-price-unit { margin-top:4px; }
  .treatment-price-note { margin:14px auto 18px; line-height:1.7; }
  .quote-form { padding:30px 24px; }
  .wa-fab { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); width:56px; height:56px; }
  .wa-fab svg { width:28px; height:28px; }
}
@media (max-width:400px) {
  .head-cta { display:none; }
  .head-right > .lang-switch { display:flex; }
  .arrival h1 { font-size:17.5vw; }
  .care-price small { display:none; }
  .care-title h2 { font-size:52px; }
  .care-fact b { font-size:39px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
/* Disclosures are recognisable without repeating directional arrow controls. */
.care-option summary { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; gap:18px; }
.care-option summary::after { content:'+'; font:400 16px/1 var(--f-body); color:var(--ink-2); }
.care-option[open] summary::after { content:'−'; }
@media (max-width:400px) {
  .care-option summary { gap:12px; }
  .care-option summary > span:first-child { font-size:28px; }
}
/* Light sage throughout the large colour fields. Dark ink is reserved for type. */
:root { --mist:#e1e5da; --ink:#303a31; --ink-2:#596354; --line:#c7cebf; }
.travel,.endcap,.footer,.on-ink,.m-menu { background:var(--mist); color:var(--ink); --on-dark:var(--ink); --on-dark-muted:var(--ink-2); --line-dark:var(--line); }
.travel-top > p,.travel-steps p,.travel-step-number,.endcap .ec-sub,.endcap .micro,.foot-blurb,.foot-col > a,.foot-loc,.foot-base,.foot-disclaimer,.on-ink .lede,.on-ink .micro,.on-ink .eyebrow { color:var(--ink-2); }
.foot-mark,.foot-sub,.foot-h,.on-ink .h-display,.on-ink .stat-num { color:var(--ink); }
.foot-hero,.foot-grid,.foot-base,.travel-steps li { border-color:var(--line); }
.travel-panorama figcaption { background:var(--mist); color:var(--ink); }
.endcap .btn-fill,.m-foot .btn-fill { background:var(--ink); color:var(--porcelain); }
.endcap .btn-fill:hover { background:#52604c; }
.endcap .ec-cta { justify-content:center; }
.footer .btn-line { color:var(--ink); border-color:var(--ink); }
.footer .btn-line:hover { color:var(--porcelain); }
body.menu-open .head { background:var(--mist)!important; color:var(--ink)!important; }
.m-foot .lang-l.is-cur { color:var(--ink); }
/* The About closing curve overlaps the sage figures instead of exposing a seam. */
@media (max-width:1080px) {
  .page-about .endcap { margin-top:-80px; padding-top:180px; background:var(--porcelain); }
}
@media (min-width:761px) and (max-width:1080px) {
  .page-about .about-figures { padding-bottom:max(104px,var(--sec-y)); }
}
@media (max-width:760px) {
  .page-about .endcap { margin-top:-40px; padding-top:115px; }
}

/* One-time entrances, short disclosure transitions, and restrained image drift. */
.arrival { overflow:clip; }
.travel-panorama { overflow:hidden; }
html.js .reveal-pending { transition-delay:var(--reveal-delay,0ms); }
html.js .reveal-pending:focus-within { opacity:1; transform:none; }
.care-option[open] .care-detail,.faq-item[open] .fa { animation:disclose .24s ease-out; }
@keyframes disclose { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) {
  .btn:hover { transform:translateY(-2px); }
  .care-photo img { transition:filter .35s ease; }
  .care-photo:hover img { filter:brightness(1.035); }
}
@media (prefers-reduced-motion:reduce) {
  html.js .reveal-pending { opacity:1; transform:none; transition:none; }
  .arrival-photo,.travel-panorama img { transform:none!important; }
  .btn:hover { transform:none; }
}

@media (max-width:640px){
  .cand-grid { gap:20px; }
  .cand-grid .cand { background:var(--mist); border-radius:26px; padding:22px 22px 10px; }
  .cand-grid .cand-h { gap:12px; margin-bottom:2px; }
  .cand-grid .cand li { padding:12px 0; line-height:1.6; }
  .cand-grid .cand li:last-child { margin-bottom:6px; }
}/* Keep the footer quiet and compact while preserving every action and link. */
.footer { padding:10px 0 16px; }
.foot-hero { display:flex; align-items:baseline; gap:14px; padding:16px 0; margin:0; }
.foot-mark { font-size:clamp(28px,3vw,42px); line-height:1; }
.foot-sub { font-size:9px; margin:0; }
.foot-grid { padding:14px 0; gap:24px; }
.foot-h { margin-bottom:8px; }
.foot-blurb { max-width:30ch; margin-bottom:8px; line-height:1.5; }
.foot-base { margin-top:16px; padding-top:10px; }
.foot-disclaimer { margin-top:7px; }
.foot-col a:not(.btn),.foot-loc { padding:2px 0; }
@media (max-width:760px) {
  .footer { padding:8px 0 calc(70px + env(safe-area-inset-bottom)); }
  .foot-hero { display:flex; align-items:baseline; gap:12px; padding:12px 0; }
  .foot-mark { font-size:30px; }
  .foot-sub { font-size:8px; letter-spacing:.16em; }
  .foot-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 20px; padding:10px 0; }
  .foot-brand { display:contents; }
  .foot-blurb { grid-column:1; grid-row:1; align-self:center; margin:0; font-size:11px; line-height:1.45; }
  .foot-contact { grid-column:2; grid-row:1; align-self:center; }
  .foot-contact .btn { min-height:40px; padding:9px 12px; font-size:10px; }
  .foot-grid > .foot-col:nth-child(2) { grid-column:1; grid-row:2; }
  .foot-grid > .foot-col:nth-child(3) { grid-column:2; grid-row:2; }
  .foot-grid > .foot-col:nth-child(4) { grid-column:1/-1; grid-row:3; }
  .foot-h { margin-bottom:5px; font-size:10px; }
  .foot-col a:not(.btn),.foot-loc { padding:2px 0; font-size:10px; line-height:1.35; }
  .foot-base { gap:6px 14px; margin-top:10px; padding-top:8px; font-size:9px; }
  .foot-disclaimer { max-width:58ch; margin-top:6px; font-size:9px; line-height:1.45; }
}

/* A quiet, responsive navigation sheet with a short, reduced-motion-safe entrance. */
.m-menu {
  isolation:isolate; padding:0; overflow-x:hidden; overscroll-behavior:contain;
  background:rgba(34,42,35,.18); color:var(--ink);
}
.m-menu::before {
  content:""; position:fixed; z-index:0; inset:0 0 0 auto; width:min(100%,620px);
  background:var(--mist); box-shadow:-24px 0 64px rgba(34,42,35,.12);
  transform:translateX(18px); animation:menu-panel-in .38s cubic-bezier(.22,1,.36,1) both;
}
.m-menu:not([hidden]) { animation:menu-backdrop-in .22s ease-out both; }
.m-menu > nav,.m-menu .m-foot {
  position:relative; z-index:1; width:min(100%,620px); margin-left:auto;
  padding-inline:clamp(28px,5vw,64px);
}
.m-menu > nav {
  display:grid; align-content:start; padding-top:calc(var(--head-h) + 1.75rem);
}
.m-menu .m-link {
  display:flex; align-items:center; min-height:58px; padding:13px 0;
  border:0; border-top:1px solid var(--line); color:var(--ink);
  font-size:clamp(27px,4vw,38px); line-height:1.08; letter-spacing:-.015em;
  text-transform:uppercase; opacity:0;
  animation:menu-link-in .36s cubic-bezier(.22,1,.36,1) both;
}
.m-menu .m-link:last-child { border-bottom:1px solid var(--line); }
.m-menu .m-link:nth-child(1) { animation-delay:.02s; }
.m-menu .m-link:nth-child(2) { animation-delay:.055s; }
.m-menu .m-link:nth-child(3) { animation-delay:.09s; }
.m-menu .m-link:nth-child(4) { animation-delay:.125s; }
.m-menu .m-link:nth-child(5) { animation-delay:.16s; }
.m-menu .m-link:hover { color:var(--ink-2); }
.m-menu .m-foot {
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  gap:12px; padding-top:18px; padding-bottom:30px; border-top:1px solid var(--line);
  animation:menu-foot-in .38s .12s cubic-bezier(.22,1,.36,1) both;
}
.m-menu .m-foot .lang-switch { display:flex; flex:0 0 auto; flex-wrap:nowrap; gap:4px; }
.m-menu .m-foot .lang-l { min-width:32px; min-height:44px; padding:12px 5px; color:var(--ink-2); }
.m-menu .m-foot .lang-l.is-cur { color:var(--ink); border-color:var(--ink); }
.m-menu .m-foot .btn-fill { min-width:136px; min-height:46px; padding:13px 20px; background:var(--ink); color:var(--porcelain); }
.burger { width:44px; height:44px; min-height:44px; align-items:center; border-radius:50%; transition:background-color .2s ease; }
.burger:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.burger:hover { background:rgba(48,58,49,.08); }
body.menu-open .head { background:transparent!important; color:var(--ink)!important; border-color:transparent!important; backdrop-filter:none; }
body.menu-open .head .head-cta,body.menu-open .head .lang-switch { display:none; }
body.menu-open .head .brand { display:block; width:190px; max-width:calc(100% - 64px); }
body.menu-open .head .brand .brand-logo-ink { visibility:visible; }
body.menu-open .head .brand .brand-logo-white { display:none; }
body.menu-open .head-in { width:min(100%,620px); max-width:none; margin-left:auto; margin-right:0; padding-inline:clamp(28px,5vw,64px); justify-content:space-between; }
@keyframes menu-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes menu-panel-in { to { transform:translateX(0); } }
@keyframes menu-link-in { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes menu-foot-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) {
  body.menu-open .head-in { width:100%; padding-inline:var(--gutter); }
  .m-menu { background:var(--mist); }
  .m-menu::before { display:none; }
  .m-menu > nav,.m-menu .m-foot { width:100%; padding-inline:var(--gutter); }
  .m-menu > nav { padding-top:calc(var(--head-h) + 1.5rem); }
  .m-menu .m-link { min-height:56px; font-size:clamp(27px,7vw,34px); }
  .m-menu .m-foot { padding-top:14px; padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
  .m-menu .m-foot .btn-fill { min-width:128px; }
}
@media (prefers-reduced-motion:reduce) {
  .m-menu:not([hidden]),.m-menu::before,.m-menu .m-link,.m-menu .m-foot { animation:none!important; }
  .m-menu::before,.m-menu .m-link,.m-menu .m-foot { opacity:1; transform:none; }
  .burger { transition:none; }
}

/* Treatments hub: a contained gallery matching the other interior pages. */
@media (min-width:1081px) {
  .page-treatments #main { display:grid; grid-template-columns:minmax(var(--gutter),1fr) repeat(12,minmax(0,94px)) minmax(var(--gutter),1fr); row-gap:64px; }
  .page-treatments #main > section { grid-column:2 / 14; min-width:0; padding-block:0; }
  .page-treatments #main > section > .wrap { width:100%; max-width:none; padding-inline:0; }
  .page-treatments #main > .treatments-heading { padding-top:calc(var(--head-h) + 48px); }
  .page-treatments .hub-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:72px; align-items:center; }
  .page-treatments .hub-copy .eyebrow { margin-bottom:18px; }
  .page-treatments .h1-slim { font-size:clamp(60px,5.4vw,78px); line-height:1.02; }
  .page-treatments .hub-copy .lede { max-width:52ch; margin-top:24px; font-size:14px; line-height:1.85; }
  .page-treatments .hub-copy .hero-cta { margin-top:26px; }
  .page-treatments .hub-visual { overflow:hidden; border-radius:32px; }
  .page-treatments .hub-visual img { aspect-ratio:1.35; border-radius:0; }

  .page-treatments .tx-splits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 48px; align-items:start; }
  .page-treatments .tx-split,.page-treatments .tx-split:nth-child(even) { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; padding:0; border:0; min-width:0; }
  .page-treatments .tx-split:nth-child(even) .txs-img { order:0; }
  .page-treatments .txs-img { border-radius:28px; }
  .page-treatments .txs-img img { aspect-ratio:3 / 2; }
  .page-treatments .txs-name { margin-top:0; font-size:clamp(34px,3vw,42px); line-height:1.05; }
  .page-treatments .txs-desc { max-width:56ch; margin-top:12px; font-size:14px; line-height:1.8; }
  .page-treatments .txs-meta { margin-top:18px; font-size:12px; }
  .page-treatments .txs-meta .tx-save { display:none; }
  .page-treatments .tx-split .link-arrow { margin-top:10px; font-size:12px; }
  .page-treatments .treatments-gallery .micro { max-width:80ch; margin-top:32px; }

  .page-treatments #main > .treatments-savings { padding:42px; border-radius:36px; }
  .page-treatments .treatments-savings .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:min-content 1fr min-content; column-gap:64px; }
  .page-treatments .treatments-savings .eyebrow { grid-column:1; grid-row:1; margin-bottom:18px; }
  .page-treatments .treatments-savings .h2 { grid-column:1; grid-row:2; max-width:17ch; font-size:clamp(40px,3.6vw,52px); }
  .page-treatments .save-band { grid-column:2; grid-row:1 / 3; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; margin:0; }
  .page-treatments .save-item { border:0; padding:0; background:transparent; }
  .page-treatments .save-num { font-size:60px; color:var(--ink); }
  .page-treatments .save-num i { color:var(--ink-2); }
  .page-treatments .save-name { margin-top:10px; font-size:23px; text-transform:none; letter-spacing:0; }
  .page-treatments .treatments-savings .micro { grid-column:1 / -1; grid-row:3; margin-top:28px; max-width:96ch; font-size:10px; }

  .page-treatments .treatments-journey .eyebrow { margin-bottom:18px; }
  .page-treatments .treatments-journey .h2 { font-size:clamp(40px,3.6vw,52px); max-width:23ch; margin-bottom:32px; }
  .page-treatments .journey { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
  .page-treatments .route-flat { padding-left:0; }
  .page-treatments .j-steps { gap:24px; }
  .page-treatments .j-step { grid-template-columns:28px minmax(0,1fr); gap:0 18px; padding:0; }
  .page-treatments .j-no { padding-top:7px; font-size:11px; }
  .page-treatments .j-t { font-size:28px; line-height:1.12; }
  .page-treatments .j-d { max-width:54ch; margin-top:8px; font-size:14px; line-height:1.8; }
  .page-treatments .j-right { position:static; }
  .page-treatments .j-frame { aspect-ratio:1.05; border-radius:32px; }
  .page-treatments .j-frame-note { margin-top:16px; font-size:11px; line-height:1.8; letter-spacing:0; }

  .page-treatments #main > .endcap { grid-column:1 / -1; padding:100px var(--gutter) 68px; }
  .page-treatments #main > .endcap > .ec-in { max-width:1128px; display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; text-align:left; padding-inline:0; }
  .page-treatments .endcap .h-display { max-width:16ch; margin:0; font-size:clamp(50px,4.7vw,68px); }
  .page-treatments .endcap .ec-sub { margin:0; max-width:44ch; }
  .page-treatments .endcap .ec-cta { margin-top:22px; justify-content:flex-start; }
  .page-treatments .endcap .micro { margin-top:16px; }
}

/* Treatment details: a shared desktop composition with the mobile flow intact. */
@media (min-width:1081px) {
  .page-treatment #main { display:grid; grid-template-columns:minmax(var(--gutter),1fr) repeat(12,minmax(0,94px)) minmax(var(--gutter),1fr); row-gap:64px; }
  .page-treatment #main > section { grid-column:2 / 14; min-width:0; padding-block:0; }
  .page-treatment #main > section > .wrap { width:100%; max-width:none; padding-inline:0; }
  .page-treatment #main > .treatment-heading { padding-top:calc(var(--head-h) + 48px); }
  .page-treatment .tx-hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:64px; align-items:center; }
  .page-treatment .tx-hero-copy .eyebrow { margin-bottom:18px; }
  .page-treatment .h1-slim { font-size:clamp(52px,4.7vw,68px); line-height:1.02; max-width:20ch; }
  .page-treatment .tx-hero-copy .lede { max-width:56ch; margin-top:24px; font-size:14px; line-height:1.85; }
  .page-treatment .tx-hero-copy .hero-cta { margin-top:26px; }
  .page-treatment .tx-hero-copy > .micro,.page-treatment .treatment-quote-bar { display:none; }
  .page-treatment .tx-hero-ph { max-width:none; }
  .page-treatment .treatment-price-panel { padding:36px; border-radius:32px; text-align:left; }
  .page-treatment .treatment-hero-price { font-size:clamp(44px,4vw,58px); line-height:1.05; color:var(--ink); }
  .page-treatment .treatment-save-main { display:block; }
  .page-treatment .treatment-save-context { display:block; margin-top:14px; font:400 12px/1.8 var(--f-body); color:var(--ink-2); }
  .page-treatment .treatment-price-note { max-width:34ch; margin:20px 0 14px; font-size:13px; line-height:1.8; }

  .page-treatment .treatment-included { min-height:0; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); direction:ltr; border-radius:36px; overflow:hidden; }
  .page-treatment .qs-img { aspect-ratio:.88; align-self:center; margin:36px 0 36px 36px; border-radius:28px; }
  .page-treatment .qs-copy { padding:46px clamp(32px,3.4vw,48px) 46px clamp(38px,4vw,58px); background:transparent; }
  .page-treatment .qs-copy .eyebrow { margin-bottom:14px; }
  .page-treatment .h2 { font-size:clamp(40px,3.6vw,52px); line-height:1.02; }
  .page-treatment .qs-copy .h2 { max-width:20ch; margin-bottom:30px; }
  .page-treatment .inc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; margin-top:0; }
  .page-treatment .inc { border:0; padding:0; }
  .page-treatment .inc .inc-t { margin-top:0; font-size:25px; line-height:1.12; }
  .page-treatment .inc .inc-d { max-width:none; margin-top:10px; font-size:13px; line-height:1.75; }

  .page-treatment .treatment-process { background:transparent; }
  .page-treatment .treatment-process .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:min-content min-content 1fr; column-gap:64px; align-items:start; }
  .page-treatment .treatment-process .eyebrow { grid-column:1; grid-row:1; margin-bottom:18px; }
  .page-treatment .treatment-process .h2 { grid-column:1; grid-row:2; max-width:17ch; margin-bottom:26px; }
  .page-treatment .journey { display:contents; }
  .page-treatment .j-left { grid-column:2; grid-row:1 / 4; }
  .page-treatment .j-right { grid-column:1; grid-row:3; position:static; }
  .page-treatment .j-frame { aspect-ratio:1.4; border-radius:32px; }
  .page-treatment .route-flat { padding-left:0; }
  .page-treatment .j-steps { gap:26px; }
  .page-treatment .j-step { grid-template-columns:28px minmax(0,1fr); gap:0 18px; padding:0; }
  .page-treatment .j-no { padding-top:7px; font-size:11px; }
  .page-treatment .j-t { font-size:28px; line-height:1.12; }
  .page-treatment .j-d { max-width:54ch; margin-top:8px; font-size:14px; line-height:1.8; }

  .page-treatment .treatment-candidates .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:min-content 1fr; column-gap:64px; align-items:start; }
  .page-treatment .treatment-candidates .eyebrow { grid-column:1; grid-row:1; margin-bottom:18px; }
  .page-treatment .treatment-candidates .h2 { grid-column:1; grid-row:2; max-width:17ch; }
  .page-treatment .cand-grid { grid-column:2; grid-row:1 / 3; grid-template-columns:1fr; gap:28px; }
  .page-treatment .cand { background:transparent; border:0; border-radius:0; padding:0; }
  .page-treatment .cand-mark { display:none; }
  .page-treatment .cand-h { font-size:28px; line-height:1.12; margin-bottom:12px; }
  .page-treatment .cand li { padding:12px 0; font-size:14px; line-height:1.8; border-color:var(--line); }
  .page-treatment .cand li:last-child { padding-bottom:0; }

  .page-treatment .treatment-faq .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
  .page-treatment .treatment-faq .h2 { max-width:17ch; }
  .page-treatment .faq-list { max-width:none; border-top:0; }
  .page-treatment .faq-item summary { padding:18px 2px; font-size:16px; line-height:1.65; }
  .page-treatment .faq-item:first-child summary { padding-top:0; }
  .page-treatment .faq-item .fa { max-width:64ch; padding-bottom:22px; font-size:14px; line-height:1.85; }

  .page-treatment #main > .endcap { grid-column:1 / -1; padding:100px var(--gutter) 68px; }
  .page-treatment #main > .endcap > .ec-in { max-width:1128px; display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; text-align:left; padding-inline:0; }
  .page-treatment .endcap .h-display { max-width:16ch; margin:0; font-size:clamp(50px,4.7vw,68px); }
  .page-treatment .endcap .ec-sub { margin:0; max-width:44ch; }
  .page-treatment .endcap .ec-cta { margin-top:22px; justify-content:flex-start; }
  .page-treatment .endcap .micro { margin-top:16px; }
}

/* How it works: the same contained proportions as About and FAQ. */
@media (min-width:1081px) {
  .page-how #main {
    display:grid;
    grid-template-columns:minmax(var(--gutter),1fr) repeat(12,minmax(0,94px)) minmax(var(--gutter),1fr);
    row-gap:64px;
  }
  .page-how #main > section { grid-column:2 / 14; min-width:0; padding-block:0; }
  .page-how #main > section > .wrap { width:100%; max-width:none; padding-inline:0; }
  .page-how #main > .how-heading { grid-column:2 / 7; grid-row:1; padding-top:calc(var(--head-h) + 48px); }
  .page-how #main > .how-journey { grid-column:8 / 14; grid-row:1; padding-top:calc(var(--head-h) + 48px)!important; }
  .page-how .hero-slim .wrap { display:block; }
  .page-how .hero-slim .eyebrow { margin-bottom:18px; }
  .page-how .h1-slim { max-width:12ch; font-size:clamp(60px,5.4vw,78px); line-height:1.02; }
  .page-how .hero-slim .lede { max-width:38ch; margin-top:26px; font-size:14px; line-height:1.85; }

  .page-how .how-journey .eyebrow { margin-bottom:24px; }
  .page-how .route-flat { padding-left:0; }
  .page-how .j-steps { grid-template-columns:1fr; gap:24px; }
  .page-how .j-step { grid-template-columns:32px minmax(0,1fr); gap:0 18px; align-items:start; padding:0; }
  .page-how .j-dot,.page-how .route-line { display:none; }
  .page-how .j-no { padding-top:7px; color:var(--ink-2); font:400 11px/1.4 var(--f-body); letter-spacing:0; }
  .page-how .j-body { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; }
  .page-how .j-t { font-size:30px; line-height:1.12; }
  .page-how .j-d { max-width:54ch; margin-top:8px; font-size:14px; line-height:1.8; }

  .page-how .quote-split { min-height:0; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); direction:ltr; border-radius:36px; overflow:hidden; }
  .page-how .qs-img { aspect-ratio:.88; align-self:center; margin:36px 0 36px 36px; border-radius:28px; }
  .page-how .qs-copy { padding:46px clamp(32px,3.4vw,48px) 46px clamp(38px,4vw,58px); background:transparent; }
  .page-how .qs-copy .eyebrow { margin-bottom:14px; }
  .page-how .qs-copy .h2 { margin-bottom:30px; font-size:clamp(40px,3.6vw,52px); max-width:20ch; }
  .page-how .qs-copy .inc-grid { max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
  .page-how .qs-copy .inc { border:0; padding:0; }
  .page-how .qs-copy .inc .inc-t { margin-top:0; font-size:25px; line-height:1.12; }
  .page-how .qs-copy .inc .inc-d { max-width:none; margin-top:10px; font-size:13px; line-height:1.75; }

  .page-how .how-itinerary { background:transparent; }
  .page-how .how-itinerary .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:repeat(4,min-content); column-gap:64px; align-items:start; }
  .page-how .how-itinerary .eyebrow { grid-column:1; grid-row:1; margin-bottom:18px; }
  .page-how .how-itinerary .h2 { grid-column:1; grid-row:2; font-size:clamp(40px,3.6vw,52px); max-width:17ch; margin-bottom:26px; }
  .page-how .travel-panorama { grid-column:1; grid-row:3; width:100%; margin:0; border-radius:32px; overflow:hidden; }
  .page-how .travel-panorama img { height:clamp(320px,28vw,410px); object-position:54% 60%; }
  .page-how .travel-panorama figcaption { left:24px; bottom:24px; }
  .page-how .bp-list { grid-column:2; grid-row:1 / 5; display:grid; grid-template-columns:1fr; gap:0; max-width:none; margin:0; border:0; }
  .page-how .bp { grid-template-columns:64px minmax(0,1fr); gap:20px; padding:20px 0; border-bottom:1px solid var(--line); align-items:start; }
  .page-how .bp:first-child { padding-top:0; }
  .page-how .bp:last-child { border-bottom:0; padding-bottom:0; }
  .page-how .bp:hover { background:transparent; }
  .page-how .bp-day { padding-top:6px; font-size:12px; }
  .page-how .bp-t { font-size:28px; line-height:1.12; }
  .page-how .bp-d { max-width:48ch; margin-top:8px; font-size:14px; line-height:1.8; }
  .page-how .how-itinerary .micro { grid-column:1; grid-row:4; max-width:48ch; margin-top:20px; font-size:11px; line-height:1.8; }

  .page-how .how-support .wrap { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); grid-template-rows:min-content 1fr; column-gap:64px; align-items:start; }
  .page-how .how-support .eyebrow { grid-column:1; grid-row:1; margin-bottom:18px; }
  .page-how .how-support .h2 { grid-column:1; grid-row:2; font-size:clamp(40px,3.6vw,52px); max-width:16ch; }
  .page-how .pillars-3 { grid-column:2; grid-row:1 / 3; grid-template-columns:1fr; max-width:none; margin:0; gap:26px; }
  .page-how .pillar { border:0; padding:0; }
  .page-how .pillar .pl-t { margin-top:0; font-size:26px; line-height:1.12; }
  .page-how .pillar .pl-d { max-width:60ch; margin-top:8px; font-size:14px; line-height:1.8; }

  .page-how #main > .endcap { grid-column:1 / -1; padding:100px var(--gutter) 68px; }
  .page-how #main > .endcap > .ec-in { max-width:1128px; display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; text-align:left; padding-inline:0; }
  .page-how .endcap .h-display { max-width:16ch; margin:0; font-size:clamp(50px,4.7vw,68px); }
  .page-how .endcap .ec-sub { margin:0; max-width:44ch; }
  .page-how .endcap .ec-cta { margin-top:22px; justify-content:flex-start; }
  .page-how .endcap .micro { margin-top:16px; }
}

/* How it works: carry the desktop scale and inset photography onto mobile. */
@media (max-width:1080px) {
  .page-how #main { display:grid; grid-template-columns:minmax(0,1fr); row-gap:44px; }
  .page-how #main > section { min-width:0; padding-block:0; }
  .page-how #main > section > .wrap { width:100%; max-width:780px; }
  .page-how #main > .how-heading { padding-top:calc(var(--head-h) + 32px); }
  .page-how .eyebrow { margin-bottom:18px; }
  .page-how .h1-slim { font-size:clamp(44px,11.8vw,56px); line-height:1.02; max-width:14ch; }
  .page-how .hero-slim .lede { max-width:44ch; margin-top:20px; font-size:13px; line-height:1.8; }
  .page-how .h2 { font-size:34px; line-height:1.05; max-width:20ch; }

  .page-how .route-flat { padding-left:0; }
  .page-how .j-steps { grid-template-columns:1fr; gap:22px; }
  .page-how .j-step { grid-template-columns:24px minmax(0,1fr); gap:0 14px; padding:0; }
  .page-how .j-no { padding-top:6px; font-size:10px; }
  .page-how .j-t { font-size:27px; line-height:1.12; }
  .page-how .j-d { max-width:54ch; margin-top:8px; font-size:13px; line-height:1.8; }

  .page-how .how-preparation { width:calc(100% - var(--gutter) * 2); max-width:calc(780px - var(--gutter) * 2); margin-inline:auto; border-radius:28px; overflow:hidden; direction:ltr; }
  .page-how .qs-copy { padding:26px 24px 0; background:transparent; }
  .page-how .qs-copy .h2 { margin-bottom:24px; }
  .page-how .inc-grid { grid-template-columns:1fr; gap:22px; margin-top:0; }
  .page-how .inc { border:0; padding:0; }
  .page-how .inc .inc-t { margin-top:0; font-size:24px; line-height:1.12; }
  .page-how .inc .inc-d { max-width:none; margin-top:8px; font-size:13px; line-height:1.8; }
  .page-how .qs-img { order:2; aspect-ratio:1.4; margin:24px; border-radius:22px; }

  .page-how .how-itinerary { background:transparent; }
  .page-how .how-itinerary .h2 { margin-bottom:24px; }
  .page-how .travel-panorama { margin:0 0 26px; border-radius:24px; overflow:hidden; }
  .page-how .travel-panorama img { height:auto; aspect-ratio:1.35; object-position:54% 60%; }
  .page-how .travel-panorama figcaption { left:18px; bottom:18px; }
  .page-how .bp-list { border:0; }
  .page-how .bp { grid-template-columns:48px minmax(0,1fr); gap:14px; padding:18px 0; border-bottom:1px solid var(--line); align-items:start; }
  .page-how .bp:first-child { padding-top:0; }
  .page-how .bp:last-child { padding-bottom:0; border-bottom:0; }
  .page-how .bp:hover { background:transparent; }
  .page-how .bp-day { padding-top:5px; font-size:11px; }
  .page-how .bp-t { font-size:25px; line-height:1.12; }
  .page-how .bp-d { margin-top:8px; font-size:13px; line-height:1.8; }
  .page-how .how-itinerary .micro { margin-top:24px; font-size:11px; line-height:1.8; }

  .page-how .how-support .h2 { margin-bottom:26px; }
  .page-how .pillars-3 { grid-template-columns:1fr; gap:22px; }
  .page-how .pillar { border:0; padding:0; }
  .page-how .pillar .pl-t { margin-top:0; font-size:25px; line-height:1.12; }
  .page-how .pillar .pl-d { max-width:60ch; margin-top:8px; font-size:13px; line-height:1.8; }

  .page-how #main > .endcap { padding:68px 0 46px; }
  .page-how .endcap .h-display { max-width:16ch; font-size:42px; line-height:1.04; }
  .page-how .endcap .ec-sub { margin-top:22px; font-size:13px; line-height:1.8; }
  .page-how .endcap .ec-cta { margin-top:22px; }
  .page-how .endcap .micro { margin-top:16px; }
}
@media (min-width:700px) and (max-width:1080px) {
  .page-how .how-preparation { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); align-items:center; }
  .page-how .qs-img { order:0; margin:24px 0 24px 24px; aspect-ratio:.88; }
  .page-how .qs-copy { padding:30px; }
  .page-how .h1-slim { max-width:none; }
}

/* Results: a lead case and a smaller documentary film row on wide screens. */
@media (min-width:1081px) {
  .page-results .endcap { margin-top:-80px; padding-top:180px; background:var(--porcelain); }
  .page-results .wrap { max-width:1240px; }
  .page-results .cases-grid:not(.cases-3) {
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:clamp(38px,4.5vw,64px) clamp(20px,2.2vw,32px);
    align-items:start;
  }
  .page-results .cases-grid:not(.cases-3) .case:nth-child(1) { grid-column:span 7; }
  .page-results .cases-grid:not(.cases-3) .case:nth-child(2) { grid-column:span 5; margin-top:64px; }
  .page-results .cases-grid:not(.cases-3) .case:nth-child(n+3) { grid-column:span 4; }
  .page-results .cases-grid:not(.cases-3) .ph-frame { border-radius:24px; aspect-ratio:1.25; }

  .page-results .cases-3 {
    width:min(100%,1000px);
    margin-inline:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    gap:clamp(24px,3vw,42px);
  }
  .page-results .case-video:nth-child(2) { margin-top:68px; }
  .page-results .case-video .ph-frame { aspect-ratio:4/5; border-radius:14px; }
}

/* About: a contained desktop spread; the mobile composition stays intact. */
@media (min-width:1081px) {
  .page-about #main {
    display:grid;
    grid-template-columns:minmax(var(--gutter),1fr) repeat(12,minmax(0,94px)) minmax(var(--gutter),1fr);
    row-gap:64px;
  }
  .page-about #main > section { grid-column:2 / 14; min-width:0; padding-block:0; }
  .page-about #main > section > .wrap { width:100%; max-width:none; padding-inline:0; }
  .page-about #main > .about-heading { padding-top:calc(var(--head-h) + 48px); }
  .page-about .about-heading .eyebrow { margin-bottom:18px; }
  .page-about .h1-slim { max-width:none; font-size:clamp(60px,5.4vw,78px); line-height:1.02; }

  .page-about .about-prose { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(48px,5vw,80px); align-items:center; }
  .page-about .about-prose .statement { max-width:none; font-size:clamp(32px,2.8vw,40px); line-height:1.16; }
  .page-about .about-prose .lede { max-width:none; font-size:14px; line-height:1.85; }

  .page-about .about-standards { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); min-height:0; border-radius:36px; overflow:hidden; }
  .page-about .about-standards .qs-img { align-self:center; aspect-ratio:.88; margin:36px 0 36px 36px; border-radius:28px; }
  .page-about .about-standards .qs-copy { padding:46px clamp(32px,3.4vw,48px) 46px clamp(38px,4vw,58px); background:transparent; }
  .page-about .about-standards .eyebrow { margin-bottom:14px; }
  .page-about .about-standards .h2 { font-size:clamp(40px,3.6vw,52px); max-width:20ch; margin-bottom:30px; }
  .page-about .about-standards .pillars { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; max-width:none; }
  .page-about .about-standards .pillar { border:0; padding:0; }
  .page-about .about-standards .pl-t { margin-top:0; font-size:25px; line-height:1.12; }
  .page-about .about-standards .pl-d { margin-top:10px; font-size:13px; line-height:1.75; }

  .page-about #main > .about-guarantee { grid-column:2 / 8; grid-row:4; align-self:center; }
  .page-about .about-guarantee .travel-panorama { margin:0; border-radius:32px; overflow:hidden; }
  .page-about .about-guarantee img { height:360px; object-position:52% 50%; }
  .page-about #main > .about-figures { grid-column:9 / 14; grid-row:4; align-self:center; background:transparent; }
  .page-about .about-figures .eyebrow { margin-bottom:28px; }
  .page-about .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 32px; }
  .page-about .stat { border:0; padding:0; }
  .page-about .stat-num { font-size:clamp(48px,4.2vw,60px); }
  .page-about .stat-label { font-size:12px; line-height:1.6; margin-top:9px; max-width:23ch; }
  .page-about .about-figures .micro { margin-top:24px; font-size:10px; }

  .page-about #main > .endcap { grid-column:1 / -1; padding:100px var(--gutter) 68px; }
  .page-about .endcap .ec-in { max-width:1128px; display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; text-align:left; }
  .page-about .endcap .h-display { max-width:16ch; margin:0; font-size:clamp(50px,4.7vw,68px); }
  .page-about .endcap .ec-sub { margin:0; max-width:44ch; }
  .page-about .endcap .ec-cta { margin-top:22px; justify-content:flex-start; }
  .page-about .endcap .micro { margin-top:16px; }
}
.faq-topics { display:none; }
.faq-groups { display:contents; }

/* Contact on smaller screens: bring the form forward and keep guidance compact. */
@media (max-width:1080px) {
  .page-quote #main { width:calc(100% - var(--gutter) * 2); max-width:680px; margin-inline:auto; padding-top:calc(var(--head-h) + 32px); padding-bottom:44px; }
  .page-quote .quote-heading { background:transparent; color:var(--ink); padding:0 0 30px; }
  .page-quote .quote-heading .wrap,.page-quote .quote-grid { width:100%; max-width:none; padding:0; }
  .page-quote .quote-heading .eyebrow { margin-bottom:16px; }
  .page-quote .quote-heading .h1-slim { font-size:clamp(44px,12vw,56px); line-height:1.02; max-width:20ch; overflow-wrap:normal; }
  .page-quote .quote-heading .lede { margin-top:20px; font-size:14px; line-height:1.8; color:var(--ink-2); }
  .page-quote .quote-content { padding:0; background:transparent; }
  .page-quote .quote-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
  .page-quote .quote-form { padding:clamp(20px,6vw,28px); border-radius:28px; gap:20px; }
  .page-quote .quote-form label { font-size:12px; font-weight:500; line-height:1.7; gap:8px; }
  .page-quote .quote-form :is(input,select,textarea) { font-size:16px; line-height:1.6; padding:13px 14px; border-color:var(--line); }
  .page-quote .quote-form :is(input,select) { min-height:52px; }
  .page-quote .quote-form textarea { min-height:150px; }
  .page-quote .quote-form .btn { min-height:52px; }
  .page-quote .quote-form .micro { font-size:11px; line-height:1.8; }
  .page-quote .quote-steps { gap:24px; }
  .page-quote .quote-steps .qs { display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:14px; border:0; padding:0; }
  .page-quote .quote-steps .qs-no { grid-column:1; grid-row:1 / 3; font-size:10px; line-height:1.8; letter-spacing:0; padding-top:4px; color:var(--ink-2); }
  .page-quote .quote-steps .qs-t { grid-column:2; margin:0; font-size:26px; line-height:1.15; overflow-wrap:normal; }
  .page-quote .quote-steps .qs-d { grid-column:2; margin-top:8px; font-size:13px; line-height:1.8; }
}
@media (min-width:700px) and (max-width:1080px) {
  .page-quote #main { max-width:900px; }
  .page-quote .quote-heading .lede { max-width:60ch; }
  .page-quote .quote-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; align-items:start; }
  .page-quote .quote-form { grid-column:2; grid-row:1; }
  .page-quote .quote-steps { grid-column:1; grid-row:1; padding-top:8px; }
}

/* Contact: introduction and guidance beside a contained sage form. */
@media (min-width:1081px) {
  .page-quote #main { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); grid-template-rows:min-content 1fr; column-gap:64px; row-gap:36px; width:90%; max-width:1128px; margin-inline:auto; padding-top:calc(var(--head-h) + 48px); padding-bottom:72px; align-items:start; }
  .page-quote .quote-heading { grid-column:1; grid-row:1; padding:0; background:transparent; color:var(--ink); }
  .page-quote .quote-heading .wrap { width:100%; max-width:none; padding:0; }
  .page-quote .quote-heading .eyebrow { margin-bottom:18px; }
  .page-quote .quote-heading .h1-slim { font-size:clamp(52px,4.7vw,68px); line-height:1.02; max-width:18ch; }
  .page-quote .quote-heading .lede { font-size:14px; line-height:1.85; max-width:50ch; margin-top:24px; color:var(--ink-2); }
  .page-quote .quote-content,.page-quote .quote-grid { display:contents; }
  .page-quote .quote-steps { grid-column:1; grid-row:2; gap:28px; }
  .page-quote .quote-steps .qs { display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:18px; border:0; padding:0; }
  .page-quote .quote-steps .qs-no { grid-column:1; grid-row:1 / 3; font-size:11px; line-height:1.8; letter-spacing:0; padding-top:5px; color:var(--ink-2); }
  .page-quote .quote-steps .qs-t { grid-column:2; margin:0; font-size:28px; line-height:1.15; }
  .page-quote .quote-steps .qs-d { grid-column:2; margin-top:10px; font-size:14px; line-height:1.8; max-width:46ch; }
  .page-quote .quote-form { grid-column:2; grid-row:1 / 3; width:100%; padding:36px; border-radius:32px; gap:22px; }
  .page-quote .quote-form label { font-size:12px; font-weight:500; line-height:1.7; gap:8px; }
  .page-quote .quote-form :is(input,select,textarea) { font-size:14px; line-height:1.7; padding:13px 16px; border-color:var(--line); }
  .page-quote .quote-form :is(input,select) { min-height:50px; }
  .page-quote .quote-form textarea { min-height:150px; }
  .page-quote .quote-form .btn { min-height:52px; }
  .page-quote .quote-form .micro { font-size:11px; line-height:1.8; }
}

/* FAQ: a quiet topic index and a readable answer column on desktop. */
.editorial-photo-pair { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(12px,1.8vw,24px); width:100%; }
.editorial-photo-pair figure { min-width:0; overflow:hidden; border-radius:34px; }
.editorial-photo-pair img { display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:1.42; }
.editorial-photo-pair figure:first-child { border-radius:48% 48% 18px 18px; }
.editorial-photo-pair figure:nth-child(2) img { aspect-ratio:1.08; }
.editorial-photo-band { padding-top:0; padding-bottom:var(--sec-y); }
.page-quote .quote-photo-pair { grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; }
.page-quote .quote-photo-pair figure { border-radius:24px; }
.page-quote .quote-photo-pair figure:first-child { border-radius:42% 42% 14px 14px; }
.page-quote .quote-photo-pair img,.page-quote .quote-photo-pair figure:nth-child(2) img { aspect-ratio:1.18; }
@media (min-width:1081px) {
  .page-faq .hero-slim { padding-top:calc(var(--head-h) + 48px); padding-bottom:54px; }
  .page-faq .hero-slim .wrap,.page-faq .faq-layout { max-width:calc(1128px + var(--gutter) * 2); }
  .page-faq .hero-slim .eyebrow { margin-bottom:18px; }
  .page-faq .h1-slim { font-size:clamp(60px,5.4vw,78px); line-height:1.02; max-width:24ch; }
  .page-faq .faq-content { padding-bottom:70px; overflow:visible; }
  .page-faq .editorial-photo-band { padding-bottom:76px; }
  .page-faq .faq-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(48px,5.5vw,80px); align-items:start; }
  .page-faq .faq-topics { display:flex; flex-direction:column; gap:6px; padding:24px; background:var(--mist); border-radius:28px; position:sticky; top:calc(var(--head-h) + 28px); }
  .page-faq .faq-topics a { padding:12px 4px; font-size:14px; line-height:1.5; color:var(--ink-2); text-decoration:none; transition:color .2s ease; }
  .page-faq .faq-topics a:hover,.page-faq .faq-topics a:focus-visible { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
  .page-faq .faq-groups { display:block; min-width:0; }
  .page-faq .faq-group { margin-bottom:44px; scroll-margin-top:calc(var(--head-h) + 32px); }
  .page-faq .faq-group:last-child { margin-bottom:0; }
  .page-faq .faq-group-h { font:400 30px/1.15 var(--f-display); color:var(--ink); margin-bottom:18px; }
  .page-faq .faq-list { max-width:none; border-top:0; }
  .page-faq .faq-item summary { padding:18px 2px; font-size:16px; line-height:1.65; gap:28px; }
  .page-faq .faq-item:first-child summary { padding-top:0; }
  .page-faq .faq-item .fa { max-width:64ch; padding-bottom:22px; font-size:14px; line-height:1.85; }
  .page-faq .endcap { padding:100px var(--gutter) 68px; }
  .page-faq .endcap .ec-in { max-width:1128px; display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; text-align:left; padding-inline:0; }
  .page-faq .endcap .h-display { max-width:16ch; margin:0; font-size:clamp(50px,4.7vw,68px); }
  .page-faq .endcap .ec-sub { margin:0; max-width:44ch; }
  .page-faq .endcap .ec-cta { margin-top:22px; justify-content:flex-start; }
  .page-faq .endcap .micro { margin-top:16px; }
}

/* Photograph galleries keep controls outside the patient photographs. */
.j-gallery { min-width:0; }
.j-gallery .j-photo { transform:none; transition:opacity 900ms cubic-bezier(.45,0,.55,1); }
.j-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }
.j-controls[hidden] { display:none; }
.j-gallery-count { color:var(--ink-2); font:400 11px/1.5 var(--f-body); font-variant-numeric:tabular-nums; }
.j-gallery-actions { display:flex; gap:6px; }
.j-gallery-actions button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; transition:background 160ms ease,transform 120ms ease; }
.j-gallery-actions button:hover { background:var(--mist); }
.j-gallery-actions button:active { transform:scale(.96); }
.j-gallery-actions button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.j-gallery-actions svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.j-gallery-actions .j-icon-play { display:none; }
.j-gallery-actions [data-paused="true"] .j-icon-pause { display:none; }
.j-gallery-actions [data-paused="true"] .j-icon-play { display:block; }
@media (max-width:760px) {
  .j-controls { padding-inline-end:64px; }
}
@media (prefers-reduced-motion:reduce) {
  .j-gallery .j-photo,.j-gallery-actions button { transition:none; }
}

/* Treatments mobile: the same contained proportions as the interior pages. */
@media (max-width:1080px) {
  .page-treatments #main { display:grid; grid-template-columns:minmax(0,1fr); row-gap:44px; }
  .page-treatments #main > section { min-width:0; padding-block:0; }
  .page-treatments #main > section > .wrap { width:100%; max-width:780px; }
  .page-treatments #main > .treatments-heading { padding-top:calc(var(--head-h) + 32px); }
  .page-treatments .hub-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .page-treatments .eyebrow { margin-bottom:18px; }
  .page-treatments .h1-slim { font-size:clamp(44px,11.8vw,56px); line-height:1.02; }
  .page-treatments .hub-copy .lede { max-width:54ch; margin-top:20px; font-size:13px; line-height:1.8; }
  .page-treatments .hub-copy .hero-cta { margin-top:22px; }
  .page-treatments .hub-visual { overflow:hidden; border-radius:28px; }
  .page-treatments .hub-visual img { aspect-ratio:3 / 2; border-radius:0; }

  .page-treatments .tx-splits { grid-template-columns:minmax(0,1fr); gap:36px; }
  .page-treatments .tx-split,.page-treatments .tx-split:nth-child(even) { grid-template-columns:minmax(0,1fr); gap:20px; padding:0; border:0; min-width:0; align-items:start; }
  .page-treatments .tx-split:nth-child(even) .txs-img { order:0; }
  .page-treatments .txs-img { border-radius:28px; }
  .page-treatments .txs-img img { aspect-ratio:3 / 2; }
  .page-treatments .txs-body { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:16px; min-width:0; }
  .page-treatments .txs-name { grid-column:1 / -1; margin-top:0; font-size:34px; line-height:1.08; }
  .page-treatments .txs-desc { grid-column:1 / -1; max-width:56ch; margin-top:10px; font-size:13px; line-height:1.8; }
  .page-treatments .txs-meta { grid-column:1; margin-top:16px; font-size:12px; line-height:1.6; }
  .page-treatments .txs-meta .tx-save { display:none; }
  .page-treatments .tx-split .link-arrow { grid-column:2; align-self:end; margin-top:16px; font-size:12px; line-height:1.6; }
  .page-treatments .treatments-gallery .micro { margin-top:28px; font-size:11px; line-height:1.8; }

  .page-treatments #main > .treatments-savings { width:calc(100% - var(--gutter) * 2); max-width:calc(780px - var(--gutter) * 2); margin-inline:auto; padding:26px 24px; border-radius:28px; }
  .page-treatments .treatments-savings > .wrap { padding:0; }
  .page-treatments .h2 { font-size:34px; line-height:1.05; max-width:20ch; }
  .page-treatments .save-band { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; margin-top:28px; }
  .page-treatments .save-item { min-width:0; padding:0; border:0; background:transparent; }
  .page-treatments .save-num { font-size:48px; color:var(--ink); }
  .page-treatments .save-num i { color:var(--ink-2); }
  .page-treatments .save-name { margin-top:8px; font-size:22px; line-height:1.12; text-transform:none; letter-spacing:0; hyphens:auto; overflow-wrap:anywhere; }
  .page-treatments .treatments-savings .micro { margin-top:26px; font-size:10px; line-height:1.8; }

  .page-treatments .treatments-journey .h2 { margin-bottom:28px; }
  .page-treatments .journey { grid-template-columns:minmax(0,1fr); gap:28px; }
  .page-treatments .route-flat { padding-left:0; }
  .page-treatments .j-steps { gap:22px; }
  .page-treatments .j-step { grid-template-columns:24px minmax(0,1fr); gap:0 14px; padding:0; }
  .page-treatments .j-no { padding-top:6px; font-size:10px; }
  .page-treatments .j-t { font-size:27px; line-height:1.12; }
  .page-treatments .j-d { max-width:54ch; margin-top:8px; font-size:13px; line-height:1.8; }
  .page-treatments .j-right { position:static; }
  .page-treatments .j-frame { aspect-ratio:1.4; border-radius:24px; }
  .page-treatments .j-frame-note { margin-top:16px; font:400 11px/1.8 var(--f-body); letter-spacing:0; }

  .page-treatments #main > .endcap { padding:68px 0 46px; }
  .page-treatments .endcap .h-display { max-width:16ch; font-size:42px; line-height:1.04; }
  .page-treatments .endcap .ec-sub { margin-top:22px; font-size:13px; line-height:1.8; }
  .page-treatments .endcap .ec-cta { margin-top:22px; }
  .page-treatments .endcap .micro { margin-top:16px; }
}

@media (max-width:760px) {
  .editorial-photo-pair { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:10px; }
  .editorial-photo-pair figure { border-radius:22px; }
  .editorial-photo-pair figure:first-child { border-radius:42% 42% 14px 14px; }
  .editorial-photo-pair img { aspect-ratio:1.05; }
  .editorial-photo-pair figure:nth-child(2) img { aspect-ratio:.92; }
  .editorial-photo-band { padding-bottom:52px; }
  .page-quote .quote-photo-pair { gap:10px; }
  .page-quote .quote-photo-pair img,.page-quote .quote-photo-pair figure:nth-child(2) img { aspect-ratio:.96; }
}
@media (min-width:700px) and (max-width:1080px) {
  .page-treatments .hub-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; }
  .page-treatments .hub-visual img { aspect-ratio:.95; }
  .page-treatments .tx-splits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 28px; }
  .page-treatments .journey { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; }
  .page-treatments .j-frame { aspect-ratio:.88; }
}
@media (max-width:359px) {
  .page-treatments #main > .treatments-savings { padding:24px 20px; }
  .page-treatments .save-band { column-gap:16px; }
  .page-treatments .save-name { font-size:20px; }
}
@media (max-width:699px) {
  .page-treatments .hub-hero-grid { row-gap:0; }
  .page-treatments .hub-copy { display:contents; }
  .page-treatments .hub-visual { margin-top:28px; }
  .page-treatments .hub-copy .hero-cta { order:1; margin-top:24px; }
}

/* Mobile languages sit behind one quiet globe control. */
.language-picker { display:none; position:relative; flex:0 0 auto; }
.language-picker summary { display:grid; place-items:center; width:44px; height:44px; list-style:none; cursor:pointer; border-radius:50%; color:inherit; transition:background 160ms ease; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; }
.language-picker summary:hover,.language-picker[open] summary { background:color-mix(in srgb,currentColor 10%,transparent); }
.language-picker summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.language-options { position:absolute; top:calc(100% + 10px); right:0; z-index:110; width:176px; padding:8px; border:1px solid var(--line); border-radius:20px; background:var(--porcelain); color:var(--ink); box-shadow:0 12px 32px rgba(48,58,49,.12); }
.language-options a { display:flex; align-items:center; min-height:44px; padding:12px 14px; border-radius:12px; font-size:13px; line-height:1.5; }
.language-options a:hover,.language-options a[aria-current="page"] { background:var(--mist); }
.language-options a[aria-current="page"] { font-weight:600; }
.language-options a:focus-visible { outline:2px solid var(--ink); outline-offset:-2px; }
.language-picker[open] .language-options { animation:language-options-in 160ms cubic-bezier(.22,1,.36,1) both; }
@keyframes language-options-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1080px) {
  .language-picker { display:block; }
  .head .head-right > .lang-switch { display:none; }
  .head-in { gap:16px; }
  .head-right { gap:12px; }
  body.menu-open .head .brand { max-width:calc(100% - 116px); }
}
@media (max-width:400px) {
  .head .brand { width:clamp(140px,calc(100vw - 164px),180px); }
}
@media (prefers-reduced-motion:reduce) {
  .language-picker[open] .language-options { animation:none; }
  .language-picker summary { transition:none; }
}

/* Treatment detail mobile: one opening quote area and compact interior rhythm. */
@media (max-width:1080px) {
  .page-treatment #main { display:grid; grid-template-columns:minmax(0,1fr); row-gap:44px; }
  .page-treatment #main > section { min-width:0; padding-block:0; }
  .page-treatment #main > section > .wrap { width:100%; max-width:780px; }
  .page-treatment #main > .treatment-heading { padding-top:calc(var(--head-h) + 32px); }
  .page-treatment .tx-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .page-treatment .eyebrow { margin-bottom:18px; }
  .page-treatment .h1-slim { font-size:clamp(40px,10.8vw,52px); line-height:1.04; max-width:22ch; }
  .page-treatment .tx-hero-copy .lede { max-width:54ch; margin-top:20px; font-size:13px; line-height:1.8; }
  .page-treatment .tx-hero-copy .hero-cta,.page-treatment .tx-hero-copy > .micro,.page-treatment #main > .treatment-quote-bar { display:none; }
  .page-treatment .tx-hero-ph { max-width:none; }
  .page-treatment .treatment-price-panel { padding:26px 24px; border-radius:28px; text-align:left; }
  .page-treatment .treatment-hero-price { font-size:40px; line-height:1.08; color:var(--ink); }
  .page-treatment .treatment-save-main { display:block; }
  .page-treatment .treatment-save-context { display:block; margin-top:10px; font:400 12px/1.8 var(--f-body); color:var(--ink-2); }
  .page-treatment .treatment-price-note { max-width:48ch; margin:18px 0 22px; font-size:13px; line-height:1.8; }
  .page-treatment .treatment-price-panel .simple-link { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; padding:14px 22px; border:0; border-radius:100px; background:var(--ink); color:var(--porcelain); font:400 13px/1.5 var(--f-body); text-decoration:none; }
  .page-treatment .treatment-price-panel .simple-link:hover { background:#52604c; }
  .page-treatment .treatment-price-panel .simple-link:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }

  .page-treatment .h2 { font-size:34px; line-height:1.05; max-width:21ch; }
  .page-treatment .treatment-included { width:calc(100% - var(--gutter) * 2); max-width:calc(780px - var(--gutter) * 2); margin-inline:auto; grid-template-columns:minmax(0,1fr); min-height:0; border-radius:28px; overflow:hidden; direction:ltr; }
  .page-treatment .qs-copy { padding:26px 24px 0; background:transparent; }
  .page-treatment .qs-copy .h2 { margin-bottom:24px; }
  .page-treatment .inc-grid { grid-template-columns:minmax(0,1fr); gap:22px; margin-top:0; }
  .page-treatment .inc { border:0; padding:0; }
  .page-treatment .inc .inc-t { margin-top:0; font-size:24px; line-height:1.12; }
  .page-treatment .inc .inc-d { max-width:none; margin-top:8px; font-size:13px; line-height:1.8; }
  .page-treatment .qs-img { order:2; aspect-ratio:1.4; margin:24px; border-radius:22px; }

  .page-treatment .treatment-process { background:transparent; }
  .page-treatment .treatment-process .h2 { margin-bottom:28px; }
  .page-treatment .journey { grid-template-columns:minmax(0,1fr); gap:28px; }
  .page-treatment .route-flat { padding-left:0; }
  .page-treatment .j-steps { gap:22px; }
  .page-treatment .j-step { grid-template-columns:24px minmax(0,1fr); gap:0 14px; padding:0; }
  .page-treatment .j-no { padding-top:6px; font-size:10px; }
  .page-treatment .j-t { font-size:27px; line-height:1.12; }
  .page-treatment .j-d { max-width:54ch; margin-top:8px; font-size:13px; line-height:1.8; }
  .page-treatment .j-right { position:static; }
  .page-treatment .j-frame { aspect-ratio:1.4; border-radius:24px; }

  .page-treatment .treatment-candidates .h2 { margin-bottom:26px; }
  .page-treatment .cand-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
  .page-treatment .cand-grid .cand { padding:0; border:0; border-radius:0; background:transparent; }
  .page-treatment .cand-mark { display:none; }
  .page-treatment .cand-grid .cand-h { margin-bottom:10px; font-size:25px; line-height:1.12; }
  .page-treatment .cand-grid .cand li { padding:12px 0; font-size:13px; line-height:1.8; }
  .page-treatment .cand-grid .cand li:last-child { padding-bottom:0; margin-bottom:0; }
  .page-treatment .treatment-faq .h2 { margin-bottom:26px; }
  .page-treatment .faq-list { border-top:0; }
  .page-treatment .faq-item summary { padding:18px 2px; font-size:14px; line-height:1.65; }
  .page-treatment .faq-item:first-child summary { padding-top:0; }
  .page-treatment .faq-item .fa { padding-bottom:22px; font-size:13px; line-height:1.8; }

  .page-treatment #main > .endcap { padding:68px 0 46px; }
  .page-treatment .endcap .h-display { max-width:16ch; font-size:42px; line-height:1.04; }
  .page-treatment .endcap .ec-sub { margin-top:22px; font-size:13px; line-height:1.8; }
  .page-treatment .endcap .ec-cta { margin-top:22px; }
  .page-treatment .endcap .micro { margin-top:16px; }
}
@media (min-width:700px) and (max-width:1080px) {
  .page-treatment .tx-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; }
  .page-treatment .treatment-included { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); align-items:center; }
  .page-treatment .qs-img { order:0; margin:24px 0 24px 24px; aspect-ratio:.88; }
  .page-treatment .qs-copy { padding:30px; }
  .page-treatment .journey { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; }
  .page-treatment .j-frame { aspect-ratio:.88; }
  .page-treatment .cand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
