/* True Smile — ad landing pages. Source of truth: knowledge repo, truesmile.ae/lp-implants (build_wp.py). */
:root{
  /* brand tokens from the live theme */
  --ink:#22353e; --ink-2:#34474f; --orient:#005f7c; --cyan:#199cd5; --yellow:#fad832;
  --sky:#e4f6fb; --mist:#f5fafc; --paper:#ffffff; --line:#d5e6ec; --portrait:#9ac5d4;
  --wa:#1faa59; --wa-ink:#0b3d22;
  --display:'Geologica','Segoe UI',Roboto,sans-serif;
  --body:'Geologica','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --wrap:1180px; --r:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font:300 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;padding-bottom:0}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem)}
h3{font-size:1.25rem;font-weight:600;line-height:1.25}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font:600 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--orient)}
.lede{font-size:1.12rem;color:var(--ink-2);max-width:60ch}
section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px);max-width:760px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;
  font:600 1.02rem/1 var(--display);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}
.btn svg{width:22px;height:22px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn--wa{background:var(--wa);color:#fff;box-shadow:0 10px 24px -10px rgba(31,170,89,.7)}
.btn--wa:hover{background:#189250}
.btn--call{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--yellow{background:var(--yellow);color:var(--ink)}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}

/* mobile: smaller button text so long labels fit the pill */
@media (max-width:560px){
  .btn{font-size:.9rem;padding:0 18px;gap:8px;min-height:52px}
  .btn svg{width:18px;height:18px}
  .receipt .btn,.long__more,.plist__more{white-space:normal;text-align:center;line-height:1.2;padding-block:10px}
}

/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:20px;min-height:72px}
.top__logo img{height:40px;width:auto}
.top__lic{font-size:.82rem;color:var(--ink-2);border-left:1px solid var(--line);padding-left:20px;line-height:1.3}
.top__lic b{display:block;color:var(--ink);font-weight:600}
.top__sp{flex:1}
.top__tel{font:600 1.05rem/1 var(--display);text-decoration:none;white-space:nowrap}
.top .btn{min-height:44px;padding:0 20px;font-size:.95rem}
@media (max-width:820px){.top__lic,.top__tel{display:none}.top__in{min-height:60px}.top__logo img{height:32px}}

/* hero */
.hero{background:linear-gradient(180deg,var(--sky) 0%,var(--mist) 100%);padding-block:clamp(20px,2.4vw,32px) 0;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:end}
.hero__copy{display:grid;gap:22px;padding-bottom:clamp(40px,6vw,88px)}
.hero .lede{color:var(--ink);font-size:1.15rem}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.88rem;color:var(--ink-2);margin-bottom:clamp(18px,3vw,34px)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--orient);text-decoration:underline}
.crumbs b{font-weight:400;color:var(--ink)}
.crumbs span{opacity:.6}
.hero h1{font-size:clamp(2.5rem,1.3rem + 4.6vw,4.6rem)}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;font-family:var(--display)}
.price__from{font-weight:500;color:var(--ink-2);font-size:1.05rem}
.price__num{font-weight:800;font-size:clamp(2.2rem,1.4rem + 2.6vw,3.4rem);line-height:1;color:var(--orient);position:relative}
.price__num::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.22em;height:.34em;border-bottom:.13em solid var(--yellow);border-radius:0 0 100% 100%/0 0 100% 100%}
.price__what{font-weight:600;font-size:1.05rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.proof{display:flex;flex-wrap:wrap;gap:10px 28px;margin:6px 0 0;padding:0;list-style:none;font-size:.95rem;color:var(--ink-2)}
.proof li{display:flex;align-items:center;gap:8px}
.proof b{color:var(--ink);font-weight:600}
.proof .star{color:#e7a500;letter-spacing:1px}

.hero__side{position:relative;align-self:end;display:grid}
.portrait{position:relative;border-radius:var(--r) var(--r) 0 0;background:var(--portrait);overflow:hidden;aspect-ratio:4/4.6;max-width:100%}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.arc{position:absolute;left:-8%;right:-8%;bottom:12%;height:34%;border-bottom:14px solid var(--yellow);border-radius:0 0 100% 100%/0 0 100% 100%;pointer-events:none;opacity:.95}
.doc-tag{position:absolute;left:16px;right:16px;bottom:16px;background:var(--paper);border-radius:14px;padding:14px 18px;display:grid;gap:2px;box-shadow:0 18px 40px -18px rgba(0,60,80,.45)}
.doc-tag small{font:600 .7rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--orient)}
.doc-tag b{font:600 1.08rem/1.25 var(--display)}
.doc-tag span{font-size:.88rem;color:var(--ink-2);line-height:1.35}
.hero__side:has(.portrait--3d){align-self:stretch}
.portrait--3d{background:none;border-radius:0;overflow:visible;aspect-ratio:auto;height:100%;min-height:540px;transform:translateY(-3%)}
.portrait--3d::before{content:"";position:absolute;left:22%;right:22%;bottom:13%;height:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,60,80,.22),rgba(0,60,80,0));z-index:0}
.portrait--3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;opacity:0;transition:opacity .6s ease}
.portrait--3d.is-live canvas{opacity:1}
.portrait--3d .arc{display:none}
.portrait--3d .doc-tag{z-index:3;background:none;box-shadow:none;text-align:center;padding:0;bottom:18px;gap:4px}
.portrait--3d .doc-tag span{color:var(--ink-2)}
.parts{list-style:none;margin:0;padding:0;position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .6s ease .3s}
.portrait--3d.is-live .parts{opacity:1}
.parts li{position:absolute;transform:translateY(-50%);font:600 .8rem/1.2 var(--display);color:var(--ink);background:rgba(255,255,255,.92);border-radius:999px;padding:7px 12px;white-space:nowrap;box-shadow:0 8px 20px -12px rgba(0,60,80,.5)}
.parts li::after{content:"";position:absolute;top:50%;width:clamp(18px,5vw,44px);height:1.5px;background:var(--ink);opacity:.55}
.parts__l{left:5%}.parts__l::after{left:100%}
.parts__r{right:5%}.parts__r::after{right:100%}
@media (max-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1fr)}
  .hero__copy{padding-bottom:8px}
  .portrait{aspect-ratio:4/3.4}
  .portrait--3d{transform:none;aspect-ratio:1/1.15;height:auto;min-height:0;max-width:420px;margin-inline:auto;width:100%}
  .hero__cta .btn{flex:1 1 220px}
}

/* callback strip */
.cb{background:var(--ink);color:#fff;padding-block:26px}
.cb__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.cb__txt{flex:1 1 300px;display:grid;gap:4px}
.cb__txt b{font:600 1.2rem/1.2 var(--display)}
.cb__txt span{color:#b9cdd6;font-size:.95rem}
/* JetFormBuilder form 815 inside the callback strip */
.cb__form{flex:2 1 520px;min-width:0}
.cb__form .jet-form-builder{margin:0}
.cb__form .jet-form-builder > .wp-block-group{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;margin:0!important;padding:0!important}
.cb__form .jet-form-builder-row{margin:0;padding:0;flex:1 1 170px;min-width:0}
.cb__form .field-type-select-field{display:none}
.cb__form .field-type-checkbox-field{flex:1 1 100%;order:5}
.cb__form .field-type-submit-field{flex:0 0 auto}
.cb__form input.text-field{width:100%;min-height:54px;border-radius:999px;border:0;padding:0 22px;font:400 1rem var(--body);background:#fff;color:var(--ink)}
.cb__form .jet-form-builder__field-label.for-checkbox{display:flex;align-items:center;gap:10px;color:#b9cdd6;font-size:.85rem;line-height:1.3}
.cb__form .jet-form-builder__field-label.for-checkbox br{display:none}
.cb__form .jet-form-builder__field-label.for-checkbox a{color:#fff}
.cb__form .jet-form-builder__field-label.for-checkbox input{width:18px;height:18px;accent-color:var(--yellow);flex:none}
.cb__form .jet-form-builder__action-button{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:54px;padding:0 28px;border-radius:999px;border:0;cursor:pointer;background:var(--yellow);color:var(--ink);font:600 1.02rem/1 var(--display);white-space:nowrap}
.cb__form .jet-form-builder__action-button:hover{background:#ffe45c}
.cb__form .jet-form-builder-messages-wrap,.cb__form .jet-form-builder-message{color:var(--yellow);font-size:.92rem;margin-top:8px}
.cb__form .error-message{color:#ffb4a8;font-size:.82rem;padding-left:22px}
/* full-width submit on phones */
@media (max-width:640px){.cb__form .jet-form-builder-row{flex:1 1 100%}.cb__form .field-type-submit-field,.cb__form .jet-form-builder__submit-wrap{flex:1 1 100%;width:100%}.cb__form .jet-form-builder__action-button{width:100%}}

/* estimator */
.est{background:var(--paper)}
.est__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.ctl{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.ctl .sec-head{margin-bottom:6px}
.ctl__row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ctl__label{font:600 1.05rem/1.3 var(--display)}
.ctl__hint{font-size:.92rem;color:var(--ink-2)}
.ctl__hint b{font-weight:500;color:var(--ink)}
.stepper{display:inline-flex;align-items:center;gap:6px;background:var(--mist);border:1px solid var(--line);border-radius:999px;padding:6px;width:max-content}
.stepper button{width:48px;height:48px;border-radius:50%;border:0;background:var(--paper);box-shadow:0 1px 0 var(--line);font:600 1.5rem/1 var(--display);color:var(--ink);cursor:pointer}
.stepper button:hover{background:var(--sky)}
.stepper output{min-width:64px;text-align:center;font:800 1.7rem/1 var(--display);font-variant-numeric:tabular-nums}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line);font:500 .98rem/1 var(--display);background:var(--paper)}
.seg input:checked + span{background:var(--orient);border-color:var(--orient);color:#fff}
.seg input:focus-visible + span{outline:3px solid var(--cyan);outline-offset:3px}

.receipt{background:var(--mist);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:minmax(0,1fr);gap:0;position:relative}
.est__side{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;justify-items:end}
.est__side .receipt{width:100%}
@media (min-width:901px){.est__side{position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}}
.receipt::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:4px;background:var(--yellow);border-radius:0 0 4px 4px}
.receipt h3{margin-bottom:14px}
.rows{display:grid;margin:0;padding:0;list-style:none}
.rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:13px 0;border-bottom:1px dashed #bcd3db;align-items:baseline}
.rows li small{grid-column:1/-1;color:var(--ink-2);font-size:.86rem;line-height:1.4}
.rows li .v{font:600 1rem/1.2 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
.rows li.maybe{color:var(--ink-2)}
.rows li.maybe .v{font-weight:500}
.total{display:grid;gap:6px;padding-top:20px}
.total span{font:600 1rem/1.2 var(--display)}
.total b{font:800 clamp(1.6rem,1.1rem + 1.6vw,2.3rem)/1 var(--display);color:var(--orient);font-variant-numeric:tabular-nums;white-space:nowrap}
.receipt .btn{margin-top:22px;width:100%}
.fine{margin-top:14px;font-size:.84rem;color:var(--ink-2);line-height:1.5}
@media (max-width:900px){.est__grid{grid-template-columns:minmax(0,1fr)}}

/* what you pay for */
.pay{background:var(--mist)}
.pay__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin:0;padding:0;list-style:none}
.pay__list li{display:grid;gap:8px;padding:26px 0;border-top:1.5px solid var(--ink)}
.pay__list p{color:var(--ink-2);max-width:52ch}
@media (max-width:760px){.pay__list{grid-template-columns:minmax(0,1fr)}}

/* doctors */
.docs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
.doc{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:22px;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.doc__ph{background:var(--portrait);min-height:240px}
.doc__ph--alvi{background:#b6e8f3}
.doc__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}
.doc__tx{padding:24px 24px 24px 0;display:grid;gap:10px;align-content:center}
.doc__role{font:600 .72rem/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--orient)}
.doc__tx p{color:var(--ink-2);font-size:.97rem}
.doc__tx ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:.93rem}
.doc__tx li{padding-left:18px;position:relative}
.doc__tx li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--cyan)}
@media (max-width:980px){.docs__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.doc{grid-template-columns:minmax(0,1fr)}.doc__ph{aspect-ratio:4/3;min-height:0}.doc__tx{padding:0 20px 22px}}

/* timeline */
.tl{background:var(--orient);color:#fff}
.tl .eyebrow{color:var(--yellow)}
.tl .lede{color:#cfe5ec}
.tl__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;margin:0;padding:0;list-style:none;position:relative}
.tl__track li{counter-increment:s;display:grid;gap:10px;padding:34px 22px 0 0;position:relative;align-content:start}
.tl__track li::before{content:counter(s);position:absolute;top:-19px;left:0;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink);font:800 1rem/38px var(--display);text-align:center}
.tl__track::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.35)}
/* steps appear one after another (1 → 2 → 3 → 4) while the line draws itself; only under html.ts-deco, see decor notes */
html.ts-deco .tl__track::before{scale:0 1;transform-origin:0 50%;transition:scale 1.7s cubic-bezier(.6,0,.2,1) .15s}
html.ts-deco .tl.is-in .tl__track::before{scale:1 1}
html.ts-deco .tl__track li{opacity:0;translate:0 16px;transition:opacity .6s ease,translate .6s ease;transition-delay:calc(var(--i,0)*.38s + .25s)}
html.ts-deco .tl__track li::before{scale:0;transition:scale .5s cubic-bezier(.3,1.7,.5,1);transition-delay:calc(var(--i,0)*.38s + .2s)}
html.ts-deco .tl.is-in .tl__track li{opacity:1;translate:0 0}
html.ts-deco .tl.is-in .tl__track li::before{scale:1}
html.ts-deco .tl__note{opacity:0;transition:opacity .7s ease 1.9s}
html.ts-deco .tl.is-in .tl__note{opacity:1}
.tl__track li:nth-child(2){--i:1}.tl__track li:nth-child(3){--i:2}.tl__track li:nth-child(4){--i:3}
@media (max-width:900px){html.ts-deco .tl__track::before{scale:1 0;transform-origin:50% 0}html.ts-deco .tl.is-in .tl__track::before{scale:1 1}}
.tl__when{font:600 .78rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}
.tl__track p{color:#d6e8ee;font-size:.96rem}
.tl__note{margin-top:34px;font-size:.92rem;color:#cfe5ec;max-width:70ch}
@media (max-width:900px){
  .tl__track{grid-template-columns:1fr;gap:28px;padding-left:0}
  .tl__track::before{left:18px;top:0;bottom:0;right:auto;width:2px;height:auto}
  .tl__track li{padding:0 0 0 58px}
  .tl__track li::before{left:0;top:-6px}
}

/* warranty */
.war__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:center}
.war__nums{display:grid;grid-template-columns:minmax(0,340px);gap:18px}
.war__n{background:var(--sky);border-radius:var(--r);padding:28px 24px;display:grid;gap:6px}
.war__n b{font:800 clamp(3rem,2rem + 4vw,5rem)/.9 var(--display);color:var(--orient)}
.war__n b small{font-size:.32em;font-weight:600;letter-spacing:.04em;margin-left:6px}
.war__n span{font:600 1rem/1.3 var(--display)}
.war__tx{display:grid;gap:16px}
.war__tx p{color:var(--ink-2)}
/* warranty as one card: the number and the text belong together */
.war__grid{--war-gut:clamp(16px,4vw,40px);width:calc(100% - 2*var(--war-gut));max-width:calc(var(--wrap) - 2*var(--war-gut));grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,60px);background:var(--sky);border-radius:28px;padding:clamp(28px,4vw,56px) clamp(24px,4.5vw,68px)}
.war__nums{grid-template-columns:auto;align-self:stretch;align-content:center;padding-inline-end:clamp(24px,4vw,60px);border-inline-end:1px solid color-mix(in srgb,var(--orient) 20%,transparent)}
.war__n{background:none;border-radius:0;padding:0;gap:10px}
.war__n b{font-size:clamp(4.2rem,2.6rem + 6vw,7.6rem);white-space:nowrap}
.war__n span{font-size:1.1rem}
@media (max-width:900px){.war__grid{grid-template-columns:minmax(0,1fr)}.war__nums{padding-inline-end:0;border-inline-end:0;padding-bottom:22px;border-bottom:1px solid color-mix(in srgb,var(--orient) 20%,transparent)}}
@media (max-width:900px){.war__grid{grid-template-columns:minmax(0,1fr)}}

/* clinic */
.clinic{background:var(--mist)}
.gal{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
.gal figure{margin:0;border-radius:var(--r);overflow:hidden;position:relative;background:var(--sky)}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.gal figure:first-child{grid-row:1/3}
.gal figure:first-child img{aspect-ratio:auto;min-height:100%}
.gal figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 14px;font:600 .8rem/1 var(--display)}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr}.gal figure:first-child{grid-column:1/-1;grid-row:auto}.gal figure:first-child img{aspect-ratio:3/2}}

/* reviews */
.rev__band{display:flex;flex-wrap:wrap;align-items:center;gap:24px 48px;border:1.5px solid var(--ink);border-radius:var(--r);padding:clamp(22px,3vw,36px)}
.rev__score{display:flex;align-items:baseline;gap:10px;font-family:var(--display)}
.rev__score b{font-size:clamp(3rem,2rem + 3vw,4.4rem);font-weight:800;line-height:.9}
.rev__score span{color:var(--ink-2);font-weight:500}
.rev__stars{color:#e7a500;font-size:1.5rem;letter-spacing:3px;line-height:1}
.rev__tx{flex:1 1 300px;display:grid;gap:6px}
.rev__tx p{color:var(--ink-2)}
.rev__widget{background:#fdf8e3;border-radius:var(--r);padding:clamp(18px,3vw,36px);min-height:120px}
.rev__ph{color:var(--ink-2);max-width:70ch}
.rev__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-bottom:clamp(28px,4vw,48px)}
.rev__top .sec-head{margin-bottom:0}
.ts-lp .rev__widget .ti-widget .ti-review-content,.ts-lp .rev__widget .ti-widget .ti-review-text-container,.ts-lp .rev__widget .ti-widget .ti-date,.ts-lp .rev__widget .ti-widget .ti-read-more{font-weight:300!important}
/* Trustindex ships its own face (Poppins) — bring the widget into the page's typography */
.ts-lp .rev__widget .ti-widget,.ts-lp .rev__widget .ti-widget *:not(svg):not(path){font-family:var(--body)!important}
.ts-lp .rev__widget .ti-widget .ti-name,.ts-lp .rev__widget .ti-widget .ti-profile-details .ti-name,.ts-lp .rev__widget .ti-widget .ti-footer strong,.ts-lp .rev__widget .ti-widget .ti-header .ti-text{font-family:var(--display)!important;font-weight:600!important}
.award{display:flex;align-items:center;gap:14px;flex:0 1 auto}
.award img{width:84px;height:84px}
.award span{font-size:.9rem;color:var(--ink-2);max-width:22ch;line-height:1.35}

/* full medical guide (content of the reviewed service page, rendered as an accordion) */
.guide{background:var(--paper);padding-top:0}
.guide__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start}
.guide__head{display:grid;gap:16px;position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.guide__head p{color:var(--ink-2)}
.guide__rev{font-size:.92rem;border-left:3px solid var(--yellow);padding-left:14px}
.guide__rev a{color:var(--orient)}
.acc details{border-top:1.5px solid var(--ink)}
.acc details:last-child{border-bottom:1.5px solid var(--ink)}
.acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font:600 1.12rem/1.3 var(--display)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:500 1.8rem/1 var(--display);color:var(--orient);flex:none;transition:transform .2s}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc summary h3{font:inherit;margin:0}
.prose{padding:0 0 24px;color:var(--ink-2);max-width:70ch;display:grid;gap:14px}
.prose ul,.prose ol{margin:0;padding-left:1.2em;display:grid;gap:8px}
.prose strong{color:var(--ink);font-weight:500}
.prose a{color:var(--orient)}
.prose h3,.prose h4{font:600 1.05rem/1.3 var(--display);color:var(--ink);margin-top:6px}
@media (max-width:900px){.guide__grid{grid-template-columns:minmax(0,1fr)}.guide__head{position:static}}

/* with site chrome the site header/footer are shown to everyone (owner's decision 17.09); the slim landing bar is only for pages without site chrome */
html.ts-lp-site .top,html.ts-lp-site .foot{display:none}
.stepper button{padding:0}

/* long-read: whole article sits in the DOM (indexable) but is collapsed until the visitor asks for it */
.long{background:var(--paper);padding-top:0}
.long__body{position:relative}
.long__body.is-collapsed{max-height:210px;overflow:hidden}
.long__body.is-collapsed::after{content:"";position:absolute;inset:auto 0 0 0;height:150px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--paper) 85%)}
.long__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(24px,5vw,72px);align-items:start}
.long__text{padding:0;max-width:72ch;font-size:1.02rem}
.long__text h3{font:600 clamp(1.3rem,1.1rem + .7vw,1.6rem)/1.2 var(--display);color:var(--ink);margin-top:26px;scroll-margin-top:170px}
.long__text h4{font:600 1.08rem/1.35 var(--display);color:var(--ink);margin-top:10px}
.toc{position:sticky;top:calc(168px + env(safe-area-inset-top,0px));border-left:3px solid var(--yellow);padding:4px 0 4px 20px;display:grid;gap:12px}
.toc__t{font:600 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--orient)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.93rem;line-height:1.35}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a{display:block;position:relative;transition:color .2s}
.toc a:hover{color:var(--orient);text-decoration:underline}
.toc a.is-active{color:var(--ink);font-weight:500}
.toc a.is-active::before{content:"";position:absolute;left:-23px;top:-2px;bottom:-2px;width:3px;background:var(--orient);border-radius:2px}
.long__body.is-collapsed .toc{position:static}
.long__more{margin-top:22px}
@media (max-width:900px){.long__grid{grid-template-columns:minmax(0,1fr)}.toc{position:static;order:-1}}

/* full direction price list under the estimator */
.plist{margin-top:clamp(40px,6vw,72px);border-top:1.5px solid var(--ink);padding-top:26px}
.plist__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:10px}
.plist__pdf{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--ink);font:600 .92rem/1 var(--display);text-decoration:none;color:var(--ink)}
.plist__pdf::before{content:"↓";font-weight:500}
.plist__pdf:hover{background:var(--ink);color:#fff}
.plist{max-width:860px}
.plist__body{position:relative}
.plist__body.is-collapsed{max-height:118px;overflow:hidden}
.plist__body.is-collapsed::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--paper) 88%)}
.plist__more{margin-top:4px;min-height:48px;font-size:.95rem}
/* tighter price list on phones: names wrap to two lines there, so show more of the list and less fade/air */
@media (max-width:640px){.plist{margin-top:36px;padding-top:20px}.plist__head{margin-bottom:4px}.plist__rows li{padding:10px 0;gap:4px 12px}.plist__body.is-collapsed{max-height:176px}.plist__body.is-collapsed::after{height:64px}}
.plist__rows{list-style:none;margin:0;padding:0}
.plist__rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;padding:13px 0;border-bottom:1px dashed #bcd3db;break-inside:avoid}
.plist__rows li a{color:inherit;text-decoration-color:var(--line);text-underline-offset:3px}
.plist__rows li a:hover{color:var(--orient)}
.plist__rows b{font:600 1rem/1.2 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}

/* clinic advantages (texts are the theme's own strings, so RU/AR come for free) */
.adv{list-style:none;margin:clamp(32px,5vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,40px)}
.adv li{display:grid;gap:8px;align-content:start;padding-top:20px;border-top:1.5px solid var(--ink)}
.adv h3{font-size:1.08rem}
.adv p{color:var(--ink-2);font-size:.95rem}
@media (max-width:980px){.adv{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}}
@media (max-width:520px){.adv{grid-template-columns:minmax(0,1fr)}}

/* blog cards */
.blog{background:var(--mist)}
.blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,28px)}
.bcard{display:grid;gap:10px;align-content:start;text-decoration:none;color:var(--ink)}
.bcard__img{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;background:var(--sky)}
.bcard__img img{width:100%;height:100%;object-fit:cover;transition:scale .5s ease}
.bcard:hover .bcard__img img{scale:1.04}
.bcard__date{font:600 .74rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--orient);margin-top:6px}
.bcard h3{font-size:1.15rem}
.bcard:hover h3{color:var(--orient)}
@media (max-width:820px){.blog__grid{grid-template-columns:minmax(0,1fr)}.bcard{grid-template-columns:minmax(0,140px) minmax(0,1fr);column-gap:16px}.bcard__img{grid-row:1/3}.bcard__date{align-self:end;margin:0}}

/* link-style secondary actions: only the primary CTAs stay filled pills, the rest read as links you can click */
:root{--link:#0b76ab}
.btn--call,.btn--ghost{background:none;box-shadow:none;border-radius:8px;padding:0 6px;color:var(--link);font-weight:500;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:color-mix(in srgb,currentColor 65%,transparent)}
.btn--call:hover,.btn--ghost:hover{transform:none;color:var(--ink);text-decoration-style:solid}
.btn--ghost{color:#fff}
.btn--ghost:hover{color:var(--yellow)}
.hero__cta{align-items:center;gap:12px 22px}
.fin__cta{align-items:center;gap:12px 22px}
.long__more,.plist__more{min-height:44px;padding:0;font-size:1rem}
.long__more::after,.plist__more::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;translate:0 -3px;transition:rotate .25s ease,translate .25s ease;text-decoration:none}
.long__more[aria-expanded="true"]::after,.plist__more[aria-expanded="true"]::after{rotate:-135deg;translate:0 2px}
.plist__pdf{box-shadow:none;min-height:0;padding:0;border-radius:6px;gap:10px;color:var(--link);font:500 .95rem/1 var(--display)}
.plist__pdf::before{content:none}
.plist__pdf span{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,currentColor 65%,transparent)}
.plist__pdf:hover{background:none;color:var(--ink)}
.plist__pdf:hover span{text-decoration-style:solid}
.plist__ico{width:26px;height:30px;flex:none;color:var(--link)}
@media (max-width:560px){.hero__cta .btn--call,.fin__cta .btn--ghost{flex:0 0 auto;min-height:44px}}
/* desktop hero: trust facts in one line (RU/AR strings are longer) */
@media (min-width:561px){.proof{gap:10px 22px}html[lang^="ru"] .proof{font-size:.9rem}html[lang^="ar"] .proof{font-size:.86rem}}
/* phone hero: call link centred under the WhatsApp button, trust facts as one three-cell card */
@media (max-width:560px){
  .hero__cta .btn--call{flex:1 1 100%;justify-content:center}
  .proof{--ln:color-mix(in srgb,var(--orient) 14%,transparent);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:0;font-size:.8rem;line-height:1.3;text-align:center}
  .proof li:nth-child(-n+2){flex-direction:column;justify-content:flex-start;gap:3px;padding:14px 10px;background:#fff;border:1px solid var(--ln);box-shadow:0 8px 24px -18px rgba(0,95,124,.45)}
  .proof li:nth-child(1){border-start-start-radius:16px;border-end-start-radius:16px;border-inline-end:0}
  .proof li:nth-child(2){border-start-end-radius:16px;border-end-end-radius:16px}
  .proof li:nth-child(-n+2) b{order:-2;font-size:1.12rem;line-height:1.2}
  .proof .star{order:-1;font-size:.7rem;letter-spacing:.5px}
  .proof li:nth-child(n+3){grid-column:1/-1;justify-content:center;gap:6px;margin-top:12px;font-size:.78rem;letter-spacing:.02em}
}

/* faq */
.faq__list{display:grid;gap:0;max-width:860px}
.faq details{border-top:1.5px solid var(--ink)}
.faq details:last-child{border-bottom:1.5px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:600 1.12rem/1.3 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.8rem/1 var(--display);color:var(--orient);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--ink-2);max-width:70ch}

/* final */
.fin{background:var(--ink);color:#fff;padding-bottom:clamp(96px,10vw,120px)}
.fin__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center}
.fin h2{font-size:clamp(2.1rem,1.3rem + 3vw,3.6rem)}
.fin .lede{color:#b9cdd6}
.fin__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.fin__card{border-radius:var(--r);overflow:hidden;background:#2c434e}
.fin__card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.fin__info{padding:24px;display:grid;gap:14px;font-size:.98rem}
.fin__info dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}
.fin__info dt{color:#8fb0bd;font:600 .74rem/1.9 var(--display);letter-spacing:.1em;text-transform:uppercase}
.fin__info dd{margin:0}
.fin__info a{color:var(--yellow)}
.foot{background:#1a2a32;color:#8fa6b0;font-size:.84rem;padding-block:22px 96px}
.foot__in{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
@media (max-width:900px){.fin__grid{grid-template-columns:minmax(0,1fr)}}

/* sticky mobile bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(0,60,80,.35)}
.mbar__item{display:grid;justify-items:center;gap:5px;padding:4px 2px;text-decoration:none;color:var(--ink);font:500 .68rem/1 var(--display);letter-spacing:.01em;-webkit-tap-highlight-color:transparent}
.mbar__item svg{width:24px;height:24px;display:block}
.mbar__item:active{color:var(--orient)}
.mbar__item--wa svg{color:var(--wa)}
.mbar__item--call i{display:grid;place-items:center;width:58px;height:58px;margin-top:-30px;border-radius:50%;background:var(--yellow);color:var(--ink);box-shadow:0 10px 22px -8px rgba(250,216,50,.95),0 0 0 5px #fff;font-style:normal}
.mbar__item--call svg{width:26px;height:26px}
.cb{scroll-margin-top:120px}
/* the floating reCAPTCHA badge covered the CTAs; Google allows hiding it when this disclosure is shown next to the form */
.cb__legal{flex:1 1 100%;margin:0;font-size:.74rem;line-height:1.4;color:#8fa6b0;text-align:right}
.cb__legal a{color:#b9cdd6}
@media (max-width:820px){.ts-lp .grecaptcha-badge{bottom:84px!important;transform:scale(.7);transform-origin:100% 100%}}
@media (max-width:820px){.cb__legal{text-align:left}}
@media (max-width:820px){.mbar{display:grid}body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}}
@media (min-width:821px){.foot{padding-bottom:22px}}

/* decor: inline SVG at the edges of sections. Lines draw themselves in and the smile wipes in when the section
   scrolls into view (class .is-in from landing.js). The hidden start state applies only under html.ts-deco, which the
   head script sets when animation is possible — without JS or with reduced motion everything is simply visible. */
.est,.pay,.docs,.war,.clinic,.rev,.long,.fin,.tl{position:relative;overflow:clip;isolation:isolate}
.est > .wrap,.pay > .wrap,.docs > .wrap,.war > .wrap,.clinic > .wrap,.rev > .wrap,.long > .wrap,.fin > .wrap,.tl > .wrap{position:relative;z-index:1}
.deco{position:absolute;z-index:0;pointer-events:none;overflow:visible;display:block}
.deco--line{fill:none;stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round}
.deco--line path,.deco--line circle{stroke-dasharray:1;stroke-dashoffset:0}
.deco--white{stroke:#fff}
.deco--smile path{transform-box:fill-box;transform-origin:50% 0}
html.ts-deco .deco--line path,html.ts-deco .deco--line circle{stroke-dashoffset:1;transition:stroke-dashoffset 1.9s cubic-bezier(.6,0,.2,1);transition-delay:var(--d,0s)}
html.ts-deco .deco--line.is-in path,html.ts-deco .deco--line.is-in circle{stroke-dashoffset:0}
html.ts-deco .deco--smile{clip-path:inset(-30% 100% -30% -5%);transition:clip-path 1.5s cubic-bezier(.6,0,.2,1) .15s}
html.ts-deco .deco--smile.is-in{clip-path:inset(-30% -10% -30% -5%)}
html.ts-deco .deco--smile.is-in path{animation:ts-smile 5.5s ease-in-out 1.7s infinite}
@keyframes ts-smile{0%,100%{transform:scale(1,1)}50%{transform:scale(1.07,1.16)}}

.deco--est{position:static;width:clamp(160px,17vw,240px);margin-right:14px;fill:var(--yellow);opacity:.6;rotate:-5deg}
.deco--pay{left:auto;right:calc(50% + min(590px,50% - 40px) + 8px);top:40px;width:300px;opacity:.22;rotate:-10deg;stroke-width:2.4}
.deco--docs{right:-230px;top:-150px;width:560px;opacity:.24}
.deco--war{right:calc(50% + min(590px,50% - 40px) + 14px);top:50%;margin-top:-120px;width:190px;opacity:.26;rotate:-8deg;stroke-width:2.6}
.deco--long{right:calc(50% + min(590px,50% - 40px) + 10px);top:60px;width:210px;opacity:.3;stroke-width:2.4}
.deco--fin-smile{position:static;margin-top:30px;width:clamp(170px,18vw,250px);fill:var(--yellow);opacity:1;rotate:-4deg}
.fin{padding-block:clamp(56px,6vw,84px) clamp(84px,7vw,100px)}
.deco--fin-pin{left:calc(50% + min(590px,50% - 40px) + 18px);top:64px;width:160px;opacity:.26;rotate:10deg;stroke-width:2.8}
.deco--tl{left:calc(50% + min(590px,50% - 40px) + 22px);bottom:-40px;width:150px;opacity:.28;rotate:14deg;stroke-width:3}
.clinic::after{content:"";position:absolute;z-index:0;pointer-events:none;right:0;top:0;width:min(340px,40%);height:220px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Ccircle cx='3' cy='3' r='2' fill='%23199CD5'/%3E%3C/svg%3E");background-size:26px 26px;opacity:.22;-webkit-mask-image:linear-gradient(215deg,#000 10%,transparent 70%);mask-image:linear-gradient(215deg,#000 10%,transparent 70%)}
.fin{background:radial-gradient(70% 90% at 82% 18%,#33606e 0%,rgba(51,96,110,0) 70%),radial-gradient(60% 80% at 8% 100%,#2b4a57 0%,rgba(43,74,87,0) 70%),var(--ink)}
@media (max-width:900px){
  .deco--docs{width:340px;right:-190px;top:-120px}
  .deco--pay,.deco--war,.deco--long,.deco--tl,.deco--fin-pin{display:none}
}
@media (prefers-reduced-motion:reduce){.deco--smile path{animation:none!important}}

/* site footer blocks on landings: Instagram feed sits in the same content column as the page; the map stays wide */
.ts-lp .ts-instagram{max-width:var(--wrap);margin-inline:auto;padding:clamp(56px,8vw,104px) clamp(16px,4vw,40px) clamp(28px,4vw,48px);font-family:var(--body);box-sizing:border-box}
.ts-lp .ts-instagram__inner{max-width:none;padding:0}
.ts-lp .ts-instagram__inner::before{content:"Instagram · @truesmiledentalcentre";display:block;font:600 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--orient);margin-bottom:14px}
.ts-lp .ts-instagram .sbi-header{padding:0 0 clamp(20px,3vw,36px)!important;font:800 clamp(1.9rem,1.2rem + 2.4vw,3rem)/1.08 var(--display)!important;letter-spacing:-.01em;color:var(--ink)!important;text-align:left!important}
.ts-lp .ts-instagram #sb_instagram{padding:0!important}
.ts-lp .ts-instagram .sbi_item{padding:0 16px 0 0!important}
.ts-lp .ts-instagram .sbi_photo_wrap,.ts-lp .ts-instagram .sbi_photo{border-radius:var(--r);overflow:hidden}
.ts-lp .ts-instagram .sbi_info{padding:12px 2px 0!important;text-align:left!important}
.ts-lp .ts-instagram .sbi_caption_wrap{margin:0!important;padding:0!important;font:300 .9rem/1.45 var(--body)!important;color:var(--ink-2)!important;text-align:left!important}
.ts-lp .ts-instagram .sbi_caption_wrap .sbi_caption{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ts-lp .ts-instagram .sbi_expand{display:none!important}
.ts-lp .ts-instagram .sbi_meta_wrap{display:none!important}
.ts-lp .ts-instagram .sbi-owl-nav > div{width:44px;height:44px;border-radius:50%;background:var(--paper)!important;box-shadow:0 8px 22px -10px rgba(0,60,80,.45);display:grid!important;place-items:center;padding:0!important;color:var(--ink)!important;opacity:1!important}
.ts-lp .ts-instagram .sbi-owl-dots{padding-top:18px!important}
.ts-lp .ts-instagram .sbi-owl-dot span{background:var(--line)!important}
.ts-lp .ts-instagram .sbi-owl-dot.active span{background:var(--orient)!important}
.ts-lp .ts-instagram #sb_instagram{position:relative}
.ts-lp .ts-instagram #sbi_load{position:absolute;top:0;right:0;width:auto!important;padding:0!important;margin:0!important}
@media (max-width:760px){.ts-lp .ts-instagram #sbi_load{position:static;padding-top:10px!important;text-align:left!important}}
.ts-lp .ts-instagram .sbi_follow_btn a{display:inline-flex!important;align-items:center;gap:10px;min-height:52px;padding:0 26px!important;border-radius:999px!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink)!important;font:600 1rem/1 var(--display)!important;margin:0!important}
.ts-lp .ts-instagram .sbi_follow_btn a:hover{background:var(--ink)!important;color:#fff!important}

/* longer Russian headline: keep it on two lines */
html[lang^="ru"] .hero h1{font-size:clamp(2.2rem,1.1rem + 3.7vw,3.75rem)}

/* RTL (Arabic): the layout mirrors by itself (flex/grid); these are the physical leftovers. Decor and the 3D stage stay as they are. */
html[lang^="ar"]{--display:'IBM Plex Sans Arabic','Geologica','Segoe UI',sans-serif;--body:'IBM Plex Sans Arabic','Geologica','Segoe UI',sans-serif}
[dir="rtl"] .ts-lp *,[dir="rtl"].ts-lp *{letter-spacing:0!important}
[dir="rtl"] body{font-weight:400}
[dir="rtl"] .price__num,[dir="rtl"] .rows .v,[dir="rtl"] .total b,[dir="rtl"] .plist__rows b,[dir="rtl"] .war__n b{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .total b{text-align:right}
/* a phone number is several digit groups: without isolation RTL shows the groups in reverse order */
[dir="rtl"] .fin__info a[href^="tel:"],[dir="rtl"] .top__tel{direction:ltr;unicode-bidi:isolate;display:inline-block}
[dir="rtl"] .guide__rev{border-left:0;border-right:3px solid var(--yellow);padding-left:0;padding-right:14px}
[dir="rtl"] .toc{border-left:0;border-right:3px solid var(--yellow);padding:4px 20px 4px 0}
[dir="rtl"] .toc a.is-active::before{left:auto;right:-23px}
[dir="rtl"] .prose ul,[dir="rtl"] .prose ol{padding-left:0;padding-right:1.2em}
[dir="rtl"] .doc__tx{padding:24px 0 24px 24px}
[dir="rtl"] .doc__tx li{padding-left:0;padding-right:18px}
[dir="rtl"] .doc__tx li::before{left:auto;right:0}
[dir="rtl"] .tl__track li{padding:34px 0 0 22px}
[dir="rtl"] .tl__track li::before{left:auto;right:0}
html.ts-deco[dir="rtl"] .tl__track::before{transform-origin:100% 50%}
[dir="rtl"] .gal figcaption{left:auto;right:12px}
[dir="rtl"] .cb__legal{text-align:left}
[dir="rtl"] .deco--est{margin-right:0;margin-left:14px}
[dir="rtl"] .ts-instagram .sbi-header,[dir="rtl"] .ts-instagram .sbi_info,[dir="rtl"] .ts-instagram .sbi_caption_wrap{text-align:right!important}
[dir="rtl"] .ts-instagram #sbi_load{right:auto;left:0}
@media (max-width:900px){
  [dir="rtl"] .tl__track{padding-left:0;padding-right:0}
  [dir="rtl"] .tl__track::before{left:auto;right:18px}
  [dir="rtl"] .tl__track li{padding:0 58px 0 0}
  [dir="rtl"] .tl__track li::before{left:auto;right:0}
  html.ts-deco[dir="rtl"] .tl__track::before{transform-origin:50% 0}
}
@media (max-width:520px){[dir="rtl"] .doc__tx{padding:0 20px 22px}}

/* before & after: compare slider; --x is the split, set by the range input (JS); 50/50 without JS */
.ba{background:var(--paper);padding-top:0}
.ba .lede{max-width:560px}
.ba__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px)}
.ba__case{margin:0;display:grid;gap:12px}
.ba__cmp{position:relative;aspect-ratio:2/1;border-radius:var(--r);overflow:hidden;background:#111;user-select:none;-webkit-user-select:none;box-shadow:0 18px 40px -22px rgba(0,60,80,.5)}
.ba__cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba__after{clip-path:inset(0 0 0 var(--x))}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.ba__handle::after{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.35);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322353e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6 3 12l6 6M15 6l6 6-6 6'/%3E%3C/svg%3E");background-size:20px;background-repeat:no-repeat;background-position:center}
.ba__tag{position:absolute;top:12px;font:600 .68rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.55);padding:7px 10px;border-radius:999px;pointer-events:none}
.ba__tag--b{left:12px}
.ba__tag--a{right:12px}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:none;touch-action:pan-y}
.ba__range::-webkit-slider-thumb{-webkit-appearance:none;width:60px;height:100%}
.ba__range::-moz-range-thumb{width:60px;height:100%;border:0;background:transparent}
.ba__case figcaption{display:grid;gap:2px;padding:0 4px;font-style:normal;margin:0}
.ba__case figcaption b{font:600 1.02rem/1.3 var(--display)}
.ba__case figcaption span{font-size:.88rem;color:var(--ink-2)}
.ba__hint{margin:18px 0 0;text-align:center;font-size:.88rem;color:var(--ink-2)}
@media (max-width:900px){.ba__grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}}
[dir="rtl"] .ba__after{clip-path:inset(0 var(--x) 0 0)}
[dir="rtl"] .ba__handle{left:auto;right:var(--x);margin:0 -1px 0 0}
[dir="rtl"] .ba__tag--b{left:auto;right:12px}
[dir="rtl"] .ba__tag--a{right:auto;left:12px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
