/* OKNO TP→Residence money page R2 — conversion-first paid-traffic landing on the living-guide layer.
   Production photo hero, compact offer/risk-reversal, in-page expandable route cards, 3-state matrix,
   lazy section visuals, corrected sticky-anchor offset, 48px targets. v=20260722tt13 */
:root{ --tt-anchor-offset: calc(var(--lg-shell-h,64px) + 56px + 16px); }
.okno-tt main{font-size:18px;line-height:1.66}
.tt-h2{font-size:clamp(23px,3vw,31px);line-height:1.15;font-weight:780;margin:0 0 .5em;letter-spacing:-.01em}
.tt-h3{font-size:19px;font-weight:750;margin:1.2em 0 .35em;color:var(--lg-ink)}
.tt-lead{color:var(--lg-muted)}
.tt-list{margin:.2em 0 1em;padding-left:1.25em}.tt-list li{margin:.32em 0}
.tt-sub{margin-top:24px}
.okno-tt .lg-read,.okno-tt .lg-block{max-width:760px;margin-left:auto;margin-right:auto}
.okno-tt .lg-wrap{max-width:1220px}
/* corrected sticky anchor offset (global header + local sticky nav + 16px) */
.okno-tt .lg-sec,.okno-tt [data-lg-group],.okno-tt .lg-group-anchor{scroll-margin-top:var(--tt-anchor-offset)}

/* ---------- hero (production photo; text-safe left, people right) ---------- */
.tt-hero{position:relative;background:linear-gradient(120deg,#0c3a33,#124a41);color:#fff;overflow:hidden}
.tt-hero__media{position:absolute;inset:0;z-index:0}
.tt-hero__media img,.tt-hero__media picture{width:100%;height:100%;object-fit:cover;object-position:74% center;display:block}
.tt-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,28,.94) 0%,rgba(8,32,28,.74) 40%,rgba(8,32,28,.16) 76%,rgba(8,32,28,0) 100%)}
.tt-hero__in{position:relative;z-index:2;padding:48px 0}
.tt-hero__text{max-width:600px}
.tt-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#bfe8dd;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);padding:6px 12px;border-radius:999px}
.tt-hero__eyebrow svg{width:16px;height:16px}
.okno-tt .tt-hero h1{color:#fff;font-size:clamp(27px,3.8vw,44px);line-height:1.08;margin:.5em 0 .3em;font-weight:820;letter-spacing:-.015em;max-width:19ch;text-wrap:balance}
.tt-hero__sub{color:#e7f1ee;font-size:17.5px;line-height:1.5;margin:0 0 16px;max-width:44ch}
.tt-hero__cta{margin:6px 0 8px;gap:10px}
.tt-hero__micro{color:#cfe6df;font-size:14px;margin:2px 0 14px}
.tt-chips{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:0 0 14px;padding:0}
.tt-chips li{display:flex;gap:7px;align-items:center;font-size:14.5px;font-weight:600;color:#eef5f2}
.tt-chips svg{width:17px;height:17px;color:#7fe0c6;flex:0 0 auto}
.tt-trust{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0}
.tt-trust li{display:flex;gap:6px;align-items:center;font-size:13px;color:#bfe0d6}
.tt-trust svg{width:15px;height:15px;color:#9fd8ca}
.okno-tt .tt-hero .lg-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
/* mobile hero (integrated photo + gutters + weight discipline) is fully defined in the consolidated
   MOBILE REFINEMENT R2 block at the end of this file — no duplicate hero @media here. */
/* post-hero trust strip: hidden on desktop (the in-hero .tt-trust is used); shown on mobile only. */
.tt-trustbar{display:none}

/* ---------- offer stack ---------- */
.tt-offer{border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:22px 24px;background:var(--lg-soft);margin-top:8px}
.tt-offer__list{list-style:none;margin:8px 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.tt-offer__list li{display:flex;gap:9px;align-items:flex-start;font-size:15px}
.tt-offer__list svg{width:19px;height:19px;color:var(--lg-brand-d);flex:0 0 auto;margin-top:1px}
@media (max-width:680px){.tt-offer__list{grid-template-columns:1fr}}

/* ---------- risk reversal ---------- */
.tt-riskrev{max-width:760px;margin:18px auto;border:1px solid var(--lg-current);background:var(--lg-current-bg);border-radius:var(--lg-radius);padding:18px 20px}
.tt-riskrev__h{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:780;margin:0 0 8px;color:var(--lg-brand-d)}
.tt-riskrev__h svg{width:22px;height:22px}
.tt-riskrev ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.tt-riskrev li{display:flex;gap:9px;align-items:flex-start;font-size:15px}
.tt-riskrev li svg{width:18px;height:18px;color:var(--lg-brand-d);flex:0 0 auto;margin-top:1px}

/* ---------- route cards (expand in-page) ---------- */
.tt-routes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}
@media (max-width:820px){.tt-routes{grid-template-columns:1fr}}
.tt-route{border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:16px 18px;background:var(--lg-bg);box-shadow:0 6px 22px rgba(12,30,60,.05)}
.tt-route__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tt-route__ic{width:34px;height:34px;border-radius:9px;background:var(--lg-current-bg);color:var(--lg-brand-d);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.tt-route__ic svg{width:20px;height:20px}
.tt-route__n{font-size:13px;font-weight:800;color:var(--lg-muted)}
.tt-route__t{font-size:17px;font-weight:750;margin:0;flex:1 1 auto;min-width:140px}
.tt-route__state{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.tt-route__state--sometimes{background:var(--lg-current-bg);color:var(--lg-brand-d)}
.tt-route__state--cons{background:var(--lg-pending-bg);color:var(--lg-pending)}
.tt-route__state--special{background:var(--lg-official-bg);color:var(--lg-official)}
.tt-route__d{font-size:14.5px;color:var(--lg-muted);margin:10px 0 6px}
.tt-route__lbl{font-size:13px;font-weight:700;color:var(--lg-ink);margin:6px 0 2px}
.tt-route__fit{margin:0 0 6px;padding-left:1.15em;font-size:14px}.tt-route__fit li{margin:.24em 0}
.tt-route__exp{margin-top:6px;min-height:44px;background:var(--lg-soft);border:1px solid var(--lg-line);border-radius:10px;padding:8px 14px;font-weight:700;font-size:14.5px;color:var(--lg-brand-d);cursor:pointer;width:100%;text-align:left}
.tt-route__exp::after{content:"▾";float:right;color:var(--lg-muted)}
.tt-route__exp[aria-expanded="true"]::after{content:"▴"}
.tt-route__body{margin-top:10px;font-size:14.5px;border-top:1px solid var(--lg-line);padding-top:10px}
.tt-route__body[hidden]{display:none}
.tt-route__body .tt-h3{font-size:15.5px;margin:.8em 0 .3em}

/* ---------- decision matrix (3-state) ---------- */
.tt-mx{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 10px}
@media (max-width:760px){.tt-mx{grid-template-columns:1fr}}
.tt-mx__c{border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:16px 18px;background:var(--lg-bg)}
.tt-mx__c--good{border-color:var(--lg-current);background:var(--lg-current-bg)}
.tt-mx__c--warn{border-color:var(--lg-pending);background:var(--lg-pending-bg)}
.tt-mx__h{display:flex;align-items:center;gap:8px;font-weight:750;font-size:16px;margin-bottom:8px}
.tt-mx__h svg{width:20px;height:20px}
.tt-mx__c ul{margin:0;padding-left:1.15em}.tt-mx__c li{margin:.3em 0;font-size:14.5px}
.tt-mx__ind{border:1px dashed var(--lg-official);background:var(--lg-official-bg);border-radius:var(--lg-radius);padding:14px 18px;margin:0 0 4px}
.tt-mx__ind p{margin:0;font-size:14.5px;color:var(--lg-ink)}

/* ---------- full-bleed section visuals ---------- */
/* graceful load background so a lazy section image never shows a pure-white full-width slot on slow networks
   (safe default is visible; no placeholder image, no preload, no CLS — dimensions stay fixed). */
.tt-visual{margin:22px 0;line-height:0;background:var(--lg-soft)}
.tt-visual img,.tt-visual picture{width:100%;height:auto;display:block;max-height:340px;object-fit:cover;border-radius:0}
/* R2.2 visual correction: routes/CTA visuals are 16/9 horizontal section breaks on mobile (never portrait/square) */
@media (max-width:767px){.tt-visual img{max-height:min(46vh,300px);aspect-ratio:16/9}}

/* ---------- 7-step process ---------- */
.tt-steps{display:flex;flex-direction:column;gap:12px;margin:16px 0}
.tt-step{display:flex;gap:14px;border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:14px 16px;background:var(--lg-bg)}
.tt-step__n{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--lg-brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px}
.tt-step__t{font-size:17px;font-weight:750;margin:4px 0}
.tt-step__b p{margin:0 0 .4em;color:var(--lg-muted);font-size:14.5px}

/* ---------- prices ---------- */
.tt-prices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
@media (max-width:760px){.tt-prices{grid-template-columns:1fr}}
.tt-price{border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:18px 20px;background:var(--lg-bg)}
.tt-price:nth-child(2){border-color:var(--lg-brand);box-shadow:0 10px 30px rgba(13,124,107,.12)}
.tt-price:last-child:nth-child(odd){grid-column:1/-1}
.tt-price__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tt-price__t{font-size:18px;font-weight:750;margin:0}
.tt-price__v{font-size:22px;font-weight:820;color:var(--lg-brand-d);white-space:nowrap}
.tt-price__d{color:var(--lg-muted);font-size:14.5px;margin:6px 0 8px}
.tt-price__line{margin:14px 0 0;font-size:15px;color:var(--lg-muted)}

/* ---------- flows / final / related ---------- */
.tt-diagram{margin:20px 0}
.tt-flow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.tt-flow__s{background:var(--lg-soft);border:1px solid var(--lg-line);border-radius:12px;padding:12px 14px;font-weight:650;font-size:14.5px;flex:1 1 auto;min-width:120px;display:flex;align-items:center}
.tt-flow__s--end{background:var(--lg-current-bg);border-color:var(--lg-current);color:var(--lg-brand-d);font-weight:750}
.tt-flow__s--risk{background:var(--lg-attn-bg);border-color:var(--lg-attn);color:var(--lg-attn)}
.tt-flow__arr{align-self:center;color:var(--lg-muted);font-weight:700}
.tt-flow--risk{flex-direction:column}.tt-flow--risk .tt-flow__arr{align-self:flex-start;margin-left:20px}
@media (max-width:640px){.tt-flow{flex-direction:column}.tt-flow__arr{align-self:flex-start;transform:rotate(90deg);margin-left:18px}}
.tt-final{border:1px solid var(--lg-current);background:var(--lg-current-bg);border-radius:var(--lg-radius);padding:22px 24px;margin-top:8px}
.tt-final__support{margin:12px 0 0;font-size:13.5px;color:var(--lg-muted)}
.tt-bot{color:var(--lg-brand-d);font-weight:600;text-decoration:none}.tt-bot svg{width:15px;height:15px;vertical-align:-2px}
.tt-dontwait{border-left:4px solid var(--lg-pending);padding-left:16px}
.tt-related{margin:8px auto 0;max-width:1220px}
.tt-related__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media (max-width:900px){.tt-related__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tt-related__grid{grid-template-columns:1fr}}
.tt-related__a{display:flex;align-items:center;gap:8px;border:1px solid var(--lg-line);border-radius:10px;padding:12px;text-decoration:none;color:var(--lg-ink);font-size:14px;background:var(--lg-bg);min-height:48px}
.tt-related__a:hover{border-color:var(--lg-brand)}.tt-related__a svg{width:18px;height:18px;color:var(--lg-brand-d);flex:0 0 auto}

/* mobile typography floor + 16px gutters + 48px targets */
@media (max-width:767px){
  .okno-tt main{font-size:17px}
  .tt-route,.tt-mx__c,.tt-step,.tt-price,.tt-offer,.tt-riskrev{padding-left:16px;padding-right:16px}
  .okno-tt .lg-btn{min-height:48px}
}

/* ============================================================================================
   R2.1 — page-scoped campaign shell, single-CTA discipline, action-stack trigger, widget context,
   verified-case proof, overflow safety. v=20260722tt3 (paid landing pages only) */
/* --- widget context banner + active status chip inside the shared overlay (R21-05) --- */
.tt-wctx{margin:0 0 12px;padding:9px 12px;border-radius:8px;background:var(--lg-current-bg);color:var(--lg-brand-d);font-weight:700;font-size:13.5px;border:1px solid var(--lg-current)}
.osw-chip.tt-wctx-on{outline:2px solid var(--lg-brand);outline-offset:1px;background:var(--lg-current-bg);color:var(--lg-brand-d);font-weight:700}
/* --- verified-case proof section (R21-10) --- */
.tt-proof{max-width:760px;margin:0 auto}
.tt-proof__card{border:1px solid var(--lg-line);border-radius:var(--lg-radius);padding:18px 20px;background:var(--lg-bg);margin-top:10px}
.tt-proof__sum{margin:0 0 10px;font-size:15.5px}
.tt-proof__exp{min-height:44px;background:var(--lg-soft);border:1px solid var(--lg-line);border-radius:10px;padding:8px 14px;font-weight:700;font-size:14.5px;color:var(--lg-brand-d);cursor:pointer}
.tt-proof__exp::after{content:"▾";margin-left:6px}
.tt-proof__exp[aria-expanded="true"]::after{content:"▴"}
.tt-proof__more{margin-top:10px;border-top:1px solid var(--lg-line);padding-top:10px}
.tt-proof__more[hidden]{display:none}
.tt-proof__note{color:var(--lg-muted);font-size:13.5px;margin:8px 0}
.tt-proof__link{display:inline-flex;align-items:center;gap:6px;color:var(--lg-brand-d);font-size:14px;text-decoration:none;font-weight:600;min-height:44px}
.tt-proof__link:hover{text-decoration:underline}
/* --- page-level horizontal-overflow guarantee with the drawer removed (R21-07). overflow-x:clip does
       NOT create a scroll container, so sticky header/nav keep working. --- */
body.okno-tt{overflow-x:clip}

/* ============================================================================================
   First-fold hierarchy hotfix — the SHARED floating stack (component unchanged) is display-gated on this
   child page until the deterministic #tt-hero-sentinel (placed right after the full hero conversion area)
   passes above the effective sticky region. No dock, no fork, no translucent/ghost state, no tap-intercept
   while hidden (display:none). v=20260722tt9. */
body.okno-tt .lg-fabstack{ display:none!important; }
@media (min-width:768px){ body.okno-tt.tt-hero-passed .lg-fabstack{ display:flex!important; } } /* desktop: vertical floating stack after the hero sentinel */
@media (max-width:767px){
  body.okno-tt.tt-hero-passed .lg-fabstack{ display:flex!important; }   /* mobile: shared bottom action bar, revealed after the child sentinel */
  body.okno-tt.tt-hero-passed{ padding-bottom:calc(var(--lg-bar-h,64px) + env(safe-area-inset-bottom) + 14px)!important; }   /* reserve bottom inset so footer/final CTA/copyright clear the bar */
}

/* ============================================================================================
   MOBILE REFINEMENT R2 — consolidated single mobile block (supersedes/removes the earlier appended overrides).
   Fixes: real hero inner gutter (DR2-01); content-width compact label (DR2-02); credibility → post-hero trust
   strip (DR2-03); locale-aware H1 (DR2-04); refined CTA hierarchy (DR2-05); directional gradient + focal (DR2-06);
   sticky-chip parity with parent — no child override, no fork (DR2-07); full-page density (DR2-08). Mobile-first
   (<=767px), desktop untouched. v=20260722tt11 */
@media (max-width:767px){
  /* ---- integrated hero: photo full-bleed background + directional gradient (stronger behind text, lighter over
         the subject/skyline focal area). Content sits in a real 16px inner container. ---- */
  .tt-hero{ position:relative; display:block; background:#0b2a25; overflow:hidden; }
  .tt-hero__media{ position:absolute; inset:0; z-index:0; }
  .tt-hero__media img{ width:100%; height:100%; aspect-ratio:auto; max-height:none; object-fit:cover; object-position:64% 30%; }
  .tt-hero__media::after{ display:block; content:""; position:absolute; inset:0;
    background:linear-gradient(172deg, rgba(9,32,27,.92) 0%, rgba(9,32,27,.8) 30%, rgba(9,32,27,.5) 58%, rgba(9,32,27,.18) 82%, rgba(9,32,27,.05) 100%); }
  .tt-hero__in{ position:relative; z-index:2; padding:18px 16px 24px; background:transparent; }
  .tt-hero__text{ max-width:none; }
  /* FC-01 true eyebrow: no border, no panel/capsule; simple icon + uppercase text; a very small translucent
     highlight sits behind the ICON only; natural wrap ≤2 lines; max-width 280px → width <86% of hero content */
  .tt-hero__eyebrow{ display:inline-flex; align-items:flex-start; gap:6px; background:none; border:0; padding:0;
    border-radius:0; max-width:280px; font-size:10.5px; font-weight:700; letter-spacing:.02em; line-height:1.25;
    text-transform:uppercase; color:#bfe8dd; }
  .tt-hero__eyebrow svg{ width:14px; height:14px; flex:0 0 auto; margin-top:1px; padding:2px; box-sizing:content-box;
    background:rgba(255,255,255,.10); border-radius:5px; }
  /* DR2-04 H1 locale-aware; balanced wrap */
  .okno-tt .tt-hero h1{ font-size:clamp(28px,7.7vw,33px); line-height:1.05; margin:.5em 0 .3em; max-width:none; font-weight:800; text-wrap:balance; }
  .tt-hero__sub{ font-size:17px; line-height:1.38; margin:0 0 15px; max-width:36ch; color:#e9f2ef; }
  /* FC-02 CTA hierarchy: the ONLY large button is the primary; the secondary becomes an inline text action */
  .tt-hero__cta{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:2px 0 10px; }
  .tt-hero__cta .lg-btn--primary{ width:100%; justify-content:center; min-height:52px; height:52px; border-radius:13px; font-size:16px; font-weight:750; box-shadow:none; padding-top:0; padding-bottom:0; }
  .okno-tt .tt-hero__cta .lg-btn--ghost{ width:auto; min-width:0; align-self:flex-start; background:none; border:0; box-shadow:none;
    min-height:44px; height:auto; padding:8px 2px; font-size:14.5px; font-weight:650; color:#d7ebe4; text-decoration:none;
    display:inline-flex; align-items:center; gap:6px; border-radius:0; }
  .okno-tt .tt-hero__cta .lg-btn--ghost::after{ content:"›"; font-size:19px; line-height:1; font-weight:700; color:#7fe0c6; }
  .tt-hero__micro{ font-size:13.5px; line-height:1.35; margin:2px 0 0; color:#cfe4dd; }
  /* FC-03 outcome bullets do NOT live in the image hero on mobile */
  .tt-hero .tt-chips{ display:none; }

  /* FC-03 post-hero support band: four outcomes (prominent) + three credibility lines (quieter). Flat, no
     cards, no pills, no bordered capsule. Sits immediately after the hero, before the sentinel. */
  .tt-hero .tt-trust{ display:none; }
  .tt-trustbar{ display:block; background:var(--lg-soft); border-bottom:1px solid var(--lg-line); }
  .tt-trustbar .lg-wrap{ padding-left:16px; padding-right:16px; }
  .tt-band-out{ list-style:none; margin:0; padding:14px 0 10px; display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; }
  .tt-band-out li{ display:flex; align-items:flex-start; gap:7px; font-size:13px; font-weight:650; color:var(--lg-ink); line-height:1.22; }
  .tt-band-out svg{ width:16px; height:16px; color:var(--lg-brand-d); flex:0 0 auto; margin-top:1px; }
  .tt-band-trust{ list-style:none; margin:0; padding:0 0 13px; display:flex; flex-wrap:wrap; gap:5px 14px; border-top:1px solid var(--lg-line); padding-top:10px; }
  .tt-band-trust li{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--lg-muted); }
  .tt-band-trust svg{ width:14px; height:14px; color:var(--lg-brand-d); flex:0 0 auto; }

  /* ---- DR2-07 sticky chips: NO child override — the shared living-guide chip is used verbatim, so parent and
         child are visually identical. (The parent's own row height keeps the tap target accessible.) ---- */

  /* ---- DR2-08 radius & surface discipline: moderate card radii, no 999px panels, lighter borders, less padding ---- */
  .tt-offer,.tt-riskrev,.tt-route,.tt-mx__c,.tt-mx__ind,.tt-step,.tt-price,.tt-proof__card,.tt-final{ border-radius:16px; }
  .tt-route{ box-shadow:0 3px 12px rgba(12,30,60,.04); padding:15px 16px; }
  .tt-route__exp,.tt-proof__exp{ border-radius:11px; }
  .tt-route__ic{ width:30px; height:30px; border-radius:8px; }
  .tt-route__ic svg{ width:17px; height:17px; }
  .tt-route__state{ font-size:11px; padding:3px 8px; }
  .tt-offer{ padding:16px; } .tt-riskrev{ padding:15px 16px; }
  .tt-prices{ gap:12px; } .tt-price{ padding:15px 16px; }
  .tt-price:nth-child(2){ box-shadow:none; }
  .tt-proof__card{ padding:15px 16px; } .tt-proof__sum{ line-height:1.45; }
  /* FC-04 final CTA: flat restrained section, no heavy perimeter mint card, materially lower height (~≤400) */
  .tt-final{ border:0; background:var(--lg-soft); border-radius:14px; padding:18px 16px; margin-top:8px; }
  .tt-final .tt-h2{ font-size:clamp(23px,5.6vw,27px); line-height:1.1; margin:0 0 .35em; }
  .tt-final p{ font-size:16.5px; line-height:1.34; margin:0; }
  .tt-final .lg-cta-row{ margin:12px 0 2px; }
  .tt-final .lg-btn{ width:auto; min-width:60%; justify-content:center; min-height:48px; height:48px; border-radius:13px; box-shadow:none; }
  .tt-final .tt-price__line{ font-size:13px; margin-top:8px; }
  .tt-final__support{ margin-top:6px; font-size:13px; }
  .lg-qa__card{ border-radius:16px; }

  /* ---- calmer type + section rhythm ---- */
  .okno-tt main{ font-size:17px; }
  .tt-h2{ font-size:clamp(22px,5.4vw,26px); line-height:1.17; }
  .okno-tt .lg-sec{ padding-top:8px; }
}
/* FC-03 outcomes fall to a single column at ≤360 for readability */
@media (max-width:360px){
  .tt-band-out{ grid-template-columns:1fr; }
}
@media (min-width:390px) and (max-width:767px){
  .tt-hero__in{ padding-left:20px; padding-right:20px; }
  .tt-trustbar .lg-wrap{ padding-left:20px; padding-right:20px; }
}
/* DR2-04 UA H1 is locale-aware (smaller than RU to avoid dominating the first fold) */
@media (max-width:767px){
  html[lang="uk"] .okno-tt .tt-hero h1{ font-size:clamp(26px,7vw,30px); }
}

/* ============================================================================================
   Superseded: the child-only collision-hide watcher (body.okno-tt.tt-stack-collide → visibility:hidden) has been
   REMOVED. It solved body overlap only by keeping the shared stack hidden across the whole mobile page, which was
   functional removal. The shared stack is now relocated INTO the sticky section-nav on mobile (a real flex child
   of the nav bar — okno-living-guide.css/js v=20260723lgr6), so it occupies nav layout space and cannot overlap
   body content or the header. Child reveal remains sentinel-gated below (body.okno-tt.tt-hero-passed). v=20260723tt15 */
