/* AUTO-GENEROVÁNO: style-large.css — pro displeje >1440px.
   Všechny vw hodnoty zmrazeny na px při základu 1440px; JS zoom
   design proporčně škáluje. Zdroj pravdy je style.css. */





:root{
  --black:#111111;
  --ivory:#FBF7EF;
  --gold:#B9934A;
  --tobacco:#7B4F32;
  --green:#163B32;
  --burgundy:#6E1F2E;
  --ink:#1B1A18;
  --muted:#777069;
  --line:rgba(17,17,17,.16);
  --line-dark:rgba(251,247,239,.16);
  --serif:"Patrik Didot", "Didot", "Bodoni 72", serif;
  --ease:cubic-bezier(.16,1,.3,1);
}

html[lang="ru"]{
  --serif:"Prata", "Times New Roman", serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:0}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--serif);
  font-variant-numeric:lining-nums;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.grain{
  pointer-events:none;position:fixed;inset:0;z-index:50;opacity:.055;mix-blend-mode:multiply;
  background-image:
    radial-gradient(circle at 20% 20%, #000 0 1px, transparent 1px),
    radial-gradient(circle at 80% 40%, #000 0 1px, transparent 1px);
  background-size:19px 23px, 31px 29px;
}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 42px;
  color:var(--ink);
  transition:color .35s var(--ease);
}
.site-header.on-hero,.site-header.on-method,.site-header.on-sections-3-5{color:var(--ivory)}
.site-header.on-method .brand-sub{color:var(--ivory)}
.brand{display:grid;gap:3px;width:170px;letter-spacing:.06em;text-transform:uppercase}
.brand-logo{display:block;width:170px;height:auto;transition:filter .25s var(--ease)}
.brand-sub{display:block;width:100%;font-size:8px;letter-spacing:.27em;padding:0;text-align:center;white-space:nowrap}
.header-controls{
  display:flex;
  align-items:center;
  gap:14px;
}
.menu-toggle{
  display:none;
  -webkit-appearance:none !important;
  appearance:none !important;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:inherit;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.menu-toggle:focus,
.menu-toggle:active{
  background:none !important;
  box-shadow:none !important;
  outline:none;
}
.menu-toggle-icon{
  position:relative;
  display:block;
  width:27px;
  height:18px;
}
.menu-toggle-icon i{
  position:absolute;
  left:0;
  display:block;
  width:100%;
  height:1.5px;
  background:currentColor;
  opacity:1;
  transition:transform .3s var(--ease), top .3s var(--ease), opacity .2s ease;
}
.menu-toggle-icon i:nth-child(1){top:1px}
.menu-toggle-icon i:nth-child(2){top:8px}
.menu-toggle-icon i:nth-child(3){top:15px}
.site-header.menu-open .menu-toggle-icon i:nth-child(1){
  top:8px;
  transform:rotate(45deg);
}
.site-header.menu-open .menu-toggle-icon i:nth-child(2){opacity:0}
.site-header.menu-open .menu-toggle-icon i:nth-child(3){
  top:8px;
  transform:rotate(-45deg);
}
.nav{display:flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:34px;
  padding:0;
  line-height:1;
  opacity:.84;
  transition:opacity .35s var(--ease);
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:.2em;
  bottom:2px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .35s var(--ease);
}
.nav a:hover,
.nav a.is-active{opacity:1}
.nav a:hover::after,
.nav a.is-active::after{transform:scaleX(1)}
.nav-cta{border:0;padding:0}
.lang{
  appearance:none;border:1px solid currentColor;background:transparent;color:inherit;
  padding:7px 9px;font-size:11px;letter-spacing:.18em;cursor:pointer;
}
.hero{
  min-height:100vh;
  position:relative;
  display:grid;
  grid-template-columns:50% 50%;
  align-items:end;
  background:var(--black);
  color:var(--ivory);
  overflow:hidden;
}
.hero-media{
  position:absolute;
  top:132px;
  left:0;
  width:50%;
  height:calc(100% - 132px);
  min-height:0;
  overflow:hidden;
  opacity:.82;
  filter:saturate(.8) contrast(1.06);
  background-image:
    linear-gradient(90deg,rgba(17,17,17,.08),rgba(17,17,17,.02) 88%,rgba(17,17,17,.08)),
    url("assets/hero-suit-custom.jpg?v=20260827-origin");
  background-size:cover,cover;
  background-position:center,50% center;
  background-repeat:no-repeat;
}
.hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 0%,transparent 90%,var(--black) 100%);
  pointer-events:none;
}
.hero-media-label{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:2;
  color:rgba(251,247,239,.82);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:10px;
  background:rgba(17,17,17,.58);
  padding:9px 10px;
}

.hero-copy{
  position:relative;
  z-index:3;
  grid-column:2;
  padding:clamp(150px,18vh,210px) 86.4px 115.2px 61.2px;
  max-width:720px;
  align-self:end;
}
.eyebrow,.section-kicker,.meta{
  color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.34em;font-weight:500;
}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
h1{
  font-size:clamp(44px,77.76px,88px);line-height:1.02;letter-spacing:-.028em;
  max-width:13ch;
}
.hero-title span{
  display:block;
}

.hero-lead{
  max-width:600px;
  font-size:clamp(18px,19.44px,22px);
  line-height:1.58;
  color:rgba(251,247,239,.78);
  margin:28px 0 0;
}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:36px}
.hero-actions .btn{width:370px;max-width:100%;min-width:0;white-space:nowrap;justify-content:center}
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;
  border:1px solid rgba(251,247,239,.42);text-transform:uppercase;letter-spacing:.18em;font-size:11px;
  transition:color .28s var(--ease), border-color .28s var(--ease), transform .28s var(--ease);
}
.btn::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0%;
  background:var(--ivory);
  z-index:-1;
  transition:width .72s var(--ease);
}
.btn:hover::before,
.btn:focus-visible::before{
  width:100%;
}
.btn:hover,
.btn:focus-visible{
  transform:translateY(-2px);
  border-color:var(--ivory);
}
.btn:active{
  transform:translateY(0);
}
.btn.primary{
  background:transparent;
  color:var(--ivory);
  border-color:rgba(251,247,239,.42);
}
.btn.primary:hover,
.btn.primary:focus-visible{
  color:var(--black);
}
.btn.ghost{
  color:var(--ivory);
}
.btn.ghost:hover,
.btn.ghost:focus-visible{
  color:var(--black);
}
.statement{
  padding:172.8px 115.2px 158.4px;
  background:#E8DDC7;
  color:var(--ink);
}
.statement p{
  font-family:var(--serif);font-size:clamp(36px,80.64px,92px);line-height:1.02;letter-spacing:-.035em;
  max-width:1110px;margin:0 auto;text-align:center;
}
.statement p span{
  display:block;
}
.split{
  display:grid;grid-template-columns:.6fr 1.2fr 1fr;gap:72px;padding:129.6px 100.8px;border-top:1px solid var(--line);
}
.split h2,.method h2,.products h2,.journal h2,.appointment h2{
  font-size:clamp(38px,72px,82px);line-height:1;letter-spacing:-.03em;
}
.atelier-main{
  grid-column:2 / 4;
  max-width:1120px;
}
.atelier-main h2 span{
  display:block;
}

.atelier-intro{
  margin:38px 0 0;
  max-width:930px;
  font-size:18px;
  line-height:1.65;
  color:#4b4640;
}
.atelier-intro span{
  display:block;
}
.atelier-intro span + span{
  margin-top:4px;
}
.copy p{font-size:18px;line-height:1.78;color:#4b4640;margin:0 0 22px}
.media-band{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:#000;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
}
.image-slot{
  min-height:54vh;position:relative;overflow:hidden;background:
    linear-gradient(135deg,rgba(17,17,17,.18),rgba(185,147,74,.10)),
    url("assets/atelier-texture.svg") center/cover no-repeat;
}

.image-slot-01{
  background:
    linear-gradient(135deg,rgba(17,17,17,.10),rgba(185,147,74,.06)),
    url("assets/atelier-slot-01-custom.jpg") 2% center/cover no-repeat;
}
.image-slot-02{
  background:
    linear-gradient(135deg,rgba(17,17,17,.10),rgba(185,147,74,.06)),
    url("assets/atelier-slot-02-custom.jpg") center/cover no-repeat;
}


.image-slot-03{
  background:
    linear-gradient(135deg,rgba(17,17,17,.10),rgba(185,147,74,.06)),
    url("assets/atelier-slot-03-custom.jpg") center/cover no-repeat;
}

.image-slot::after{
  content:attr(data-label);position:absolute;left:24px;bottom:24px;color:rgba(251,247,239,.78);
  text-transform:uppercase;letter-spacing:.2em;font-size:10px;background:rgba(17,17,17,.45);padding:9px 10px;
}
.method{
  padding:144px 100.8px;background:var(--black);color:var(--ivory);
}
.method h2{max-width:850px;margin-top:30px}
.method h2 span{
  display:block;
}

.method-grid{
  margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-dark);
}
.method-grid article{
  padding:38px 30px;
  min-height:300px;
  border-right:1px solid var(--line-dark);
  background:var(--black);
  transition:background-color .45s var(--ease), color .45s var(--ease);
}
.method-grid article:last-child{border-right:0}
.method-grid span{
  font-family:var(--serif);
  color:var(--gold);
  font-size:30px;
  transition:color .45s var(--ease);
}
.method-grid h3{
  font-size:30px;
  margin-top:38px;
  transition:color .45s var(--ease);
}
.method-grid p{
  color:rgba(251,247,239,.68);
  line-height:1.75;
  transition:color .45s var(--ease);
}
.method-grid article:hover{
  background:var(--gold);
  color:var(--black);
}
.method-grid article:hover span,
.method-grid article:hover h3,
.method-grid article:hover p{
  color:var(--black);
}
.products{
  min-height:100vh;
  padding:144px 100.8px 115.2px;
  background:var(--tobacco);
  color:var(--ivory);
}
.products h2{
  margin-top:34px;
}
.product-list{margin-top:64px;border-top:1px solid rgba(251,247,239,.22)}
.product-list a{
  display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;
  padding:28px 0;border-bottom:1px solid rgba(251,247,239,.22);
  transition:color .28s var(--ease), padding-left .28s var(--ease);
}
.product-list a:hover{
  color:var(--gold);
  padding-left:12px;
}
.product-list span{
  display:block;
  min-width:0;
  white-space:nowrap;
  font-family:var(--serif);
  font-size:clamp(32px,57.6px,62px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.product-list em{
  padding-left:96px;
  font-style:normal;
  color:rgba(251,247,239,.68);
  font-size:22px;
  letter-spacing:.02em;
}
.quote-panel{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:820px;background:var(--green);color:var(--ivory);
}
.quote-panel .portrait{min-height:820px;opacity:.92;background:linear-gradient(135deg, rgba(8,16,14,.16), rgba(22,59,50,.18)), url("assets/quote-portrait-mono.jpg") 74% center/cover no-repeat;}
.quote-panel blockquote{display:flex;flex-direction:column;justify-content:center;margin:0;padding:100.8px}
.quote-panel p{font-family:var(--serif);font-size:clamp(42px,79.2px,92px);line-height:1;letter-spacing:-.04em;margin:0}
.quote-panel cite{margin-top:36px;color:rgba(251,247,239,.65);font-style:normal;letter-spacing:.18em;text-transform:uppercase;font-size:11px}
.journal{
  padding:144px 100.8px;
  background:var(--burgundy);
  color:var(--ivory);
}
.journal h2{
  margin-top:46px;
}
.journal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:62px;
  background:rgba(251,247,239,.18);
  border:1px solid rgba(251,247,239,.18);
}
.journal-card{
  min-width:0;
  background:rgba(17,17,17,.14);
  transition:background-color .28s var(--ease);
}
.journal-card:hover{
  background:rgba(17,17,17,.28);
}
.journal-card-button{
  width:100%;
  min-height:540px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.journal-card-button img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  filter:saturate(.72) contrast(1.04);
}
.journal-card-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:32px 34px 34px;
}
.journal h3{
  font-size:clamp(28px,33.84px,40px);
  line-height:1.08;
  margin-top:34px;
}
.journal-read{
  margin-top:auto;
  padding-top:38px;
  color:rgba(251,247,239,.68);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.journal-card-button:focus-visible{
  outline:2px solid var(--ivory);
  outline-offset:-6px;
}

body.modal-open{
  overflow:hidden;
}
html.modal-open{
  overflow:hidden;
}
.journal-modal[hidden]{
  display:none;
}
.journal-modal{
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  padding:28px;
}
.journal-modal-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(8,8,8,.88);
  cursor:pointer;
}
.journal-modal-panel{
  position:relative;
  z-index:1;
  width:min(1320px,100%);
  height:min(860px,calc(100vh - 56px));
  display:grid;
  grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);
  overflow:hidden;
  background:var(--ivory);
  color:var(--ink);
  box-shadow:0 30px 100px rgba(0,0,0,.45);
}
.journal-modal-close{
  position:absolute;
  top:22px;
  right:24px;
  z-index:3;
  width:46px;
  height:46px;
  border:1px solid rgba(17,17,17,.2);
  background:rgba(251,247,239,.86);
  color:var(--ink);
  cursor:pointer;
  font-size:34px;
  line-height:1;
}
.journal-modal-media{
  min-height:0;
  background:var(--black);
}
.journal-modal-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.78) contrast(1.04);
}
.journal-modal-content{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:clamp(70px,100.8px,110px) clamp(44px,86.4px,90px) 70px;
}
.journal-modal-content .journal-modal-heading{
  margin-top:28px;
  font-size:clamp(44px,72px,76px);
  line-height:.98;
  letter-spacing:-.035em;
}
.journal-modal-lead{
  margin:38px 0 0;
  font-size:21px;
  line-height:1.58;
  color:#3f3a35;
}
.journal-modal-body{
  margin-top:34px;
}
.journal-modal-body p{
  margin:0 0 20px;
  font-size:17px;
  line-height:1.75;
  color:#514b45;
}
.appointment{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:144px 100.8px;
  background:var(--black);
  color:var(--ivory);
  text-align:center;
}
.appointment-inner{max-width:850px;margin:0 auto}
.appointment p:not(.eyebrow){color:rgba(251,247,239,.72);font-size:19px;line-height:1.7}
.contact-lines{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.contact-lines a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  color:var(--gold);
  border:1px solid rgba(185,147,74,.55);
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:
    color .22s var(--ease),
    background-color .22s var(--ease),
    border-color .22s var(--ease),
    transform .14s var(--ease),
    box-shadow .22s var(--ease);
}
.contact-lines a:hover,
.contact-lines a:focus-visible{
  color:var(--black);
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 8px 24px rgba(185,147,74,.18);
  transform:translateY(-2px);
}
.contact-lines a:active{
  transform:translateY(0) scale(.97);
  box-shadow:0 3px 10px rgba(185,147,74,.14);
}
.contact-lines a:focus-visible{
  outline:2px solid var(--ivory);
  outline-offset:4px;
}
.site-footer{
  display:flex;justify-content:space-between;gap:20px;padding:26px 42px;background:var(--black);color:var(--gold);
  border-top:1px solid rgba(185,147,74,.35);text-transform:uppercase;letter-spacing:.18em;font-size:10px;
}

/* --- Global helpers (dříve rozházené mezi media queries) --- */
.quote-panel p span{ display:block; }
.quote-panel p .quote-last-line{ white-space:nowrap; font-size:.92em; }
html[lang="en"] .method h2{ max-width:none; }
html[lang="en"] .method h2 .method-second-line{ white-space:nowrap; }

/* Eyebrow: části na jednom řádku s mezerami (platí i pro desktop) */
.hero-eyebrow-line{ display:inline; }
.hero-eyebrow-line:not(:last-child)::after{ content:" "; }


/* ======================================================================
   MOBILE  (≤ 980px) — jeden konsolidovaný blok
   Dřív bylo rozdrobené do ~10 @media bloků + inline <style> v index.html.
   ====================================================================== */
@media (max-width:980px){

  /* --- Hlavička --- */
  .site-header{
    display:flex; align-items:center; justify-content:flex-start;
    padding:16px 20px;
  }
  .brand{
    position:relative; z-index:43;
    width:92px; flex:0 0 92px;
    display:grid; justify-items:center; text-align:center;
  }
  .brand-logo{ width:92px; height:auto; margin:0 auto; }
  .brand-sub{
    width:100%; margin:2px auto 0; padding:0;
    font-size:4.6px; line-height:1.2; letter-spacing:.17em;
    text-align:center; white-space:nowrap;
  }
  .header-controls{ position:relative; z-index:44; margin-left:auto; gap:8px; }

  /* Hamburger (ikona je v HTML tvořená <span>, ne <i>) */
  .menu-toggle{
    display:flex; width:42px; height:42px;
    align-items:center; justify-content:center;
    color:var(--ivory); background:transparent;
  }
  .menu-toggle-icon{ position:relative; display:block; width:27px; height:18px; }
  .menu-toggle-icon > span{
    position:absolute; left:0; display:block; width:27px; height:2px;
    background:var(--ivory); opacity:1;
    transition:top .28s var(--ease), transform .28s var(--ease), opacity .18s ease;
  }
  .menu-toggle-icon > span:nth-child(1){ top:0; }
  .menu-toggle-icon > span:nth-child(2){ top:8px; }
  .menu-toggle-icon > span:nth-child(3){ top:16px; }
  .site-header.menu-open .menu-toggle-icon > span:nth-child(1){ top:8px; transform:rotate(45deg); }
  .site-header.menu-open .menu-toggle-icon > span:nth-child(2){ opacity:0; }
  .site-header.menu-open .menu-toggle-icon > span:nth-child(3){ top:8px; transform:rotate(-45deg); }

  /* Navigace: zavřená = skrytá, otevřená = dropdown pod hamburgerem */
  .nav{ display:none; }
  .site-header.menu-open .nav{
    position:fixed; top:76px; right:66px; z-index:42;
    display:flex; width:min(260px,calc(1440px - 86px));
    flex-direction:column; align-items:stretch; gap:0;
    padding:10px 18px 12px;
    background:rgba(17,17,17,.985); color:var(--ivory);
    border:1px solid rgba(185,147,74,.58);
    box-shadow:0 18px 46px rgba(0,0,0,.42);
  }
  .site-header.menu-open .nav a{
    display:flex; width:100%; height:auto; padding:14px 2px;
    border:0; border-bottom:1px solid rgba(251,247,239,.14);
    font-family:var(--serif); font-size:21px; line-height:1.08;
    letter-spacing:-.01em; text-transform:none; opacity:1;
  }
  .site-header.menu-open .nav a:last-child{ border-bottom:0; }
  .site-header.menu-open .nav a::after{ display:none; }
  .site-header.menu-open .nav .menu-lang{
    display:flex; align-items:center; justify-content:flex-start;
    width:100%; height:auto; margin:8px 0 0; padding:12px 2px 2px;
    color:var(--gold); border:0; background:transparent;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase; cursor:pointer;
  }

  /* --- HERO --- */
  .hero{
    display:block;
    position:relative;
    min-height:100svh;
    /* ↓↓ výška eyebrow textu nad fotkou – klidně si pohraj s tímhle číslem ↓↓ */
    --hero-eyebrow-top:165px;
    /* ↓↓ jak vysoko je spodní blok (Luxus… + lead + butony); vyšší číslo = výš ↓↓ */
    --hero-copy-bottom:180px;
  }
  .hero-media{
    top:88px; left:0; width:100%; height:calc(100% - 88px);
    opacity:.6; background-position:center,42% top;
  }
  /* Ztmavený horní i dolní pruh → eyebrow (nahoře) i popisek sedí na černé,
     fotka zůstává čitelná uprostřed. */
  .hero-media::before{
    background:linear-gradient(180deg,
      rgba(17,17,17,.80) 0%,
      rgba(17,17,17,.34) 26%,
      rgba(17,17,17,.34) 54%,
      rgba(17,17,17,.92) 86%);
  }

  .hero-copy{
    position:relative;
    min-height:100svh;
    display:flex; flex-direction:column; justify-content:flex-end; align-items:center;
    max-width:none; padding:170px 24px var(--hero-copy-bottom,98px); text-align:center;
  }

  /* Eyebrow vytažený nahoru nad fotku (mimo spodní tok, čistě, bez záporných marginů) */
  .hero-eyebrow{
    position:absolute;
    top:var(--hero-eyebrow-top,120px);
    left:24px; right:24px;
    margin:0; width:auto; max-width:none;
    text-align:center; line-height:1.34;
    white-space:nowrap;            /* jeden řádek */
    font-size:min(11px, 31.68px);    /* sám se zmenší, aby se řádek vešel */
    letter-spacing:.12em;
  }
  .hero-eyebrow .hero-eyebrow-line{ display:inline; }

  /* Vystředění nadpisů a kickerů */
  h1,h2,h3{ width:100%; text-align:center; }
  .hero-title,.split h2,.method h2,.products h2,.journal h2,.appointment h2{
    margin-left:auto; margin-right:auto;
  }
  .hero-title span,.atelier-main h2 span,.method h2 span,
  .statement p span,.quote-panel p span{ text-align:center; }
  .section-kicker{ width:100%; text-align:center; }
  .journal-card-copy{ align-items:center; text-align:center; }

  /* Tlačítka v hero – plynulé „naplnění" při klepnutí (teploměr) */
  .hero-actions .btn::before{ transition-duration:.5s; }
  .hero-actions .btn.is-filling::before{ width:100%; }
  .hero-actions .btn.is-filling{
    color:var(--black); border-color:var(--ivory); transform:none; pointer-events:none;
  }

  /* --- Sekce --- */
  .split{ grid-template-columns:1fr; padding:80px 24px; }
  .atelier-main{ grid-column:auto; }
  .atelier-intro{ margin-top:28px; font-size:17px; }
  .media-band,.method-grid,.quote-panel,.journal-grid{ grid-template-columns:1fr; }
  .method,.journal,.appointment{ padding:80px 24px; }
  .products{ padding:100px 24px 90px; }
  .method-grid article{ border-right:0; border-bottom:1px solid var(--line-dark); }
  .product-list a{ grid-template-columns:1fr; }
  .quote-panel .portrait{ min-height:420px; }
  .contact-lines{ flex-direction:column; align-items:stretch; }
  .contact-lines a{ width:100%; min-height:46px; }

  /* Sekce 02 – metoda, vše na střed */
  #method .method-grid article{
    display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
    min-height:0; padding:34px 26px; text-align:center;
  }
  #method .method-grid article > span{ display:block; width:100%; margin:0 auto; text-align:center; }
  #method .method-grid h3{
    width:auto; max-width:12ch; margin:22px auto 0;
    font-size:28px; line-height:1.08; text-align:center; text-wrap:balance;
  }
  #method .method-grid p{
    width:auto; max-width:30ch; margin:18px auto 0;
    line-height:1.65; text-align:center; text-wrap:pretty;
  }

  /* Sekce 03 – šatník na střed */
  #wardrobe,#wardrobe .section-kicker,#wardrobe h2,#wardrobe .product-list,
  #wardrobe .product-list a,#wardrobe .product-list span,#wardrobe .product-list em{
    width:100%; text-align:center;
  }
  #wardrobe .product-list a{ justify-items:center; align-items:center; }
  #wardrobe .product-list em{ padding-left:0; margin-left:0; }

  /* Popisky uvnitř fotek – vystředěné dole */
  .hero-media-label,
  .media-band .image-slot::after,
  .quote-panel .portrait::after,.portrait::after{
    left:50%; right:auto; transform:translateX(-50%);
    width:max-content; max-width:calc(100% - 40px); text-align:center; white-space:normal;
  }
  .hero-media-label{ bottom:24px; }
  .media-band .image-slot::after{ bottom:20px; }

  /* Journal modal na celou obrazovku */
  .journal-card-button{ min-height:0; }
  .journal-modal{ padding:0; }
  .journal-modal-panel{ width:100%; height:100vh; grid-template-columns:1fr; grid-template-rows:40vh 1fr; }
  .journal-modal-media{ aspect-ratio:unset; height:100%; min-height:0; }
  .journal-modal-content{ padding:54px 24px 60px; min-height:0; height:100%; box-sizing:border-box; }
  .journal-modal-content::after{ content:""; display:block; height:32px; }
  .journal-modal-content .journal-modal-heading{ font-size:clamp(38px,144px,58px); }
  .journal-modal-close{ position:fixed; top:16px; right:16px; }

  /* Patička na střed */
  .site-footer{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px; padding:24px 20px; text-align:center;
  }
  .site-footer > span{ display:block; width:100%; margin:0 auto; text-align:center; }

  /* Jazykové doladění pro EN */
  html[lang="en"] .hero-eyebrow{ line-height:1.34; }
  html[lang="en"] .hero-title{ font-size:clamp(44px,187.2px,60px); line-height:1.02; }
  html[lang="en"] .hero-lead{ max-width:31ch; margin-left:auto; margin-right:auto; line-height:1.5; }
  html[lang="en"] .method h2 .method-second-line{ white-space:normal; }
  html[lang="en"] #method h2{ max-width:16ch; text-wrap:balance; }
  html[lang="en"] #wardrobe .product-list span{ white-space:normal; text-wrap:balance; line-height:1.08; }
  html[lang="en"] .menu-lang{ min-height:38px; }
}

/* --- Malé telefony (≤ 700px) --- */
@media (max-width:700px){
  .hero-actions{ align-items:stretch; }
  .hero-actions .btn{ width:100%; white-space:normal; }
  #wardrobe .product-list em{ padding-left:0; }
}


/* Mobile-only language placement and compact dropdown */
@media (min-width:981px){
  .nav .menu-lang{
    display:none!important;
  }
  .desktop-lang{
    display:inline-flex!important;
  }
}

@media (max-width:980px){
  .desktop-lang,
  .header-controls > .lang:not(.menu-lang){
    display:none!important;
  }

  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    width:min(230px,calc(1440px - 32px))!important;
    padding:8px 14px 12px!important;
  }

  .site-header.menu-open .nav a,
  .site-header.menu-open #primary-nav a{
    padding:10px 0!important;
    font-size:18px!important;
    line-height:1.05!important;
  }

  .site-header.menu-open #primary-nav .menu-lang,
  .site-header.menu-open .nav .menu-lang{
    order:-1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:auto!important;
    margin:0 0 6px!important;
    padding:8px 0 10px!important;
    border:0!important;
    border-bottom:1px solid rgba(251,247,239,.16)!important;
    background:transparent!important;
    color:var(--gold)!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
  }
}


/* Desktop: menu přisunout doprava k jazykům */
@media (min-width:981px){
  .site-header{
    justify-content:flex-start!important;
  }

  .site-header .brand{
    flex:0 0 auto!important;
  }

  .site-header .nav{
    margin-left:auto!important;
    margin-right:14px!important;
    gap:22px!important;
  }

  .site-header .header-controls,
  .site-header > .lang,
  .site-header .desktop-lang{
    margin-left:0!important;
    flex:0 0 auto!important;
  }
}


/* Desktop: menu font lehce větší */
@media (min-width:981px){
  .site-header .nav{
    font-size:12px!important;
    letter-spacing:.19em!important;
  }

  .site-header .nav a{
    height:36px!important;
  }
}


/* Desktop: menu font větší */
@media (min-width:981px){
  .site-header .nav{
    font-size:13px!important;
    letter-spacing:.18em!important;
  }

  .site-header .nav a{
    height:38px!important;
  }
}


/* Desktop: menu lehce odsadit od jazykového přepínače doleva */
@media (min-width:981px){
  .site-header .nav{
    margin-right:34px!important;
  }
}


/* Desktop: zlatý hero popisek posunout výš */
@media (min-width:981px){
  .hero .hero-eyebrow,
  .hero .eyebrow{
    position:relative!important;
    top:-34px!important;
    margin-bottom:-34px!important;
  }
}


/* Desktop: zlatý hero popisek opravdu výš */
@media (min-width:981px){
  .hero .hero-eyebrow,
  .hero .eyebrow{
    position:relative!important;
    top:auto!important;
    transform:translateY(-64px)!important;
    margin-bottom:-64px!important;
  }
}


/* Desktop: zlatý hero text přesně k hornímu okraji fotografie */
@media (min-width:981px){
  .hero-copy{
    position:static!important;
  }

  .hero .hero-eyebrow,
  .hero .eyebrow.hero-eyebrow{
    position:absolute!important;
    top:132px!important;
    left:calc(50% + 61.2px)!important;
    right:86.4px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:6!important;
    text-align:left!important;
    line-height:1.35!important;
    white-space:normal!important;
  }

  .hero .hero-eyebrow .hero-eyebrow-line{
    display:inline!important;
  }

  .hero .hero-eyebrow .hero-eyebrow-line:not(:last-child)::after{
    content:" "!important;
  }
}


/* Desktop: hero fotku trochu říznout nahoře a zlatý text posadit na její novou hranu */
@media (min-width:981px){
  .hero-media{
    top:158px!important;
    height:calc(100% - 158px)!important;
  }

  .hero .hero-eyebrow,
  .hero .eyebrow.hero-eyebrow{
    top:158px!important;
  }
}


/* Desktop: zlatý hero text lehce zvětšit */
@media (min-width:981px){
  .hero .hero-eyebrow,
  .hero .eyebrow.hero-eyebrow{
    font-size:12px!important;
    letter-spacing:.18em!important;
    line-height:1.38!important;
  }
}


/* Desktop: zlatý hero text ještě větší */
@media (min-width:981px){
  .hero .hero-eyebrow,
  .hero .eyebrow.hero-eyebrow{
    font-size:14px!important;
    letter-spacing:.17em!important;
    line-height:1.36!important;
  }
}


/* Šatník: zlatý nadpis */
.wardrobe-gold-heading{
  color:var(--gold)!important;
}


/* Sekce 03: nadpis Osobní šatník zlatě */
#wardrobe h2.wardrobe-gold-heading,
#wardrobe > h2{
  color:var(--gold)!important;
}


/* Osobní šatník: položky otevírají fotku místo skoku na hero */
.product-list button{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  width:100%;
  cursor:pointer;
  text-align:left;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:20px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid rgba(251,247,239,.22);
  transition:color .28s var(--ease), padding-left .28s var(--ease);
}
.product-list button:hover,
.product-list button:hover span,
.product-list button:hover em,
.product-list button:focus-visible,
.product-list button:focus-visible span,
.product-list button:focus-visible em{
  color:var(--gold)!important;
}
.product-list button:hover,
.product-list button:focus-visible{
  padding-left:12px;
}
.product-list button:focus-visible{
  outline:1px solid var(--gold);
  outline-offset:8px;
}

/* Staré kotvy v téhle sekci už nejsou potřeba, ale nechávám kompatibilní styl. */
.product-list a:hover span,
.product-list a:hover em{
  color:var(--gold)!important;
}

/* Modal fotky osobního šatníku */
.wardrobe-photo-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:clamp(18px,43.2px,46px);
  background:rgba(17,17,17,.88);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s var(--ease), visibility .28s var(--ease);
}
.wardrobe-photo-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.wardrobe-photo-modal-inner{
  width:min(1180px,100%);
  max-height:min(82vh,860px);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  background:var(--black);
  border:1px solid rgba(185,147,74,.42);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  overflow:hidden;
}
.wardrobe-photo-image-wrap{
  min-height:520px;
  background:rgba(251,247,239,.05);
}
.wardrobe-photo-image{
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}
.wardrobe-photo-caption{
  padding:clamp(32px,57.6px,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--ivory);
}
.wardrobe-photo-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
}
.wardrobe-photo-caption .wardrobe-photo-heading{
  margin-top:24px;
  color:var(--gold);
  font-size:clamp(34px,57.6px,64px);
  line-height:.98;
}
.wardrobe-photo-caption p{
  margin:24px 0 0;
  color:rgba(251,247,239,.72);
  font-size:20px;
  line-height:1.55;
}
.wardrobe-photo-caption small{
  margin-top:40px;
  color:rgba(251,247,239,.42);
  font-size:11px;
  line-height:1.5;
}
.wardrobe-photo-close{
  position:absolute;
  top:22px;
  right:24px;
  width:46px;
  height:46px;
  border:1px solid rgba(251,247,239,.36);
  background:rgba(17,17,17,.72);
  color:var(--ivory);
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.wardrobe-photo-close:hover{
  color:var(--gold);
  border-color:var(--gold);
}

@media (max-width:980px){
  .product-list button{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .wardrobe-photo-modal{
    padding:0;
  }
  .wardrobe-photo-modal-inner{
    width:100%;
    height:100%;
    max-height:none;
    grid-template-columns:1fr;
    grid-template-rows:40vh 1fr;
  }
  .wardrobe-photo-image-wrap,
  .wardrobe-photo-image{
    min-height:0;
    height:100%;
  }
  .wardrobe-photo-caption{
    padding:28px 24px 36px;
    justify-content:flex-start;
    overflow:auto;
  }
  .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(34px,144px,54px);
  }
}


/* Modal osobního šatníku: menší text, aby se delší názvy vešly */
.wardrobe-photo-caption .wardrobe-photo-heading{
  font-size:clamp(28px,43.2px,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.015em;
  overflow-wrap:normal;
  text-wrap:balance;
}
.wardrobe-photo-caption p{
  font-size:18px!important;
  line-height:1.5!important;
}

@media (max-width:980px){
  .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(28px,115.2px,42px)!important;
    line-height:1.08!important;
  }
  .wardrobe-photo-caption p{
    font-size:17px!important;
  }
}


/* Modal osobního šatníku: nadpis lehce posunout doleva */
.wardrobe-photo-caption .wardrobe-photo-heading{
  margin-left:-14px!important;
}

@media (max-width:980px){
  .wardrobe-photo-caption .wardrobe-photo-heading{
    margin-left:-8px!important;
  }
}


/* Modal osobního šatníku: sjednocené zarovnání textů */
.wardrobe-photo-caption{
  text-align:left!important;
  align-items:flex-start!important;
}
.wardrobe-photo-caption .wardrobe-photo-heading{
  margin-left:0!important;
  width:100%!important;
  text-align:left!important;
}
.wardrobe-photo-caption p,
.wardrobe-photo-kicker{
  width:100%!important;
  text-align:left!important;
}
.wardrobe-photo-caption small{
  display:none!important;
}


/* Modal: Charakteristické sako lehce doleva */
.wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading{
  margin-left:-12px!important;
}

@media (max-width:980px){
  .wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading{
    margin-left:-6px!important;
  }
}


/* Modal: u Charakteristického saka posunout jen slovo „Charakteristické“, ne celé „sako“ */
.wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading{
  margin-left:0!important;
}
.signature-word-shift{
  position:relative;
  left:-12px;
}

@media (max-width:980px){
  .wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading{
    margin-left:0!important;
  }
  .signature-word-shift{
    left:-6px;
  }
}


/* Modal: doladění slova „Charakteristické“ — lehce doprava a menší */
.signature-word-shift{
  left:-4px!important;
  font-size:.92em!important;
}

@media (max-width:980px){
  .signature-word-shift{
    left:-2px!important;
    font-size:.92em!important;
  }
}


/* EN: nadpis šatníku na jeden řádek */
html[lang="en"] #wardrobe h2.wardrobe-gold-heading,
html[lang="en"] #wardrobe > h2{
  white-space:nowrap!important;
  max-width:none!important;
  width:max-content!important;
  font-size:clamp(38px,72px,82px)!important;
}


/* Sekce 02: delší vysvětlení v kartách filozofie */
.method-grid p{
  font-size:16px;
  line-height:1.65;
}
.method-grid article{
  min-height:340px;
}


/* Konzultace: prémiová žádost o termín */
.appointment-actions{
  margin-top:34px;
}
.appointment-booking-trigger,
.appointment-submit{
  appearance:none;
  border:1px solid var(--gold);
  background:var(--gold);
  color:var(--black);
  min-height:48px;
  padding:0 22px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  cursor:pointer;
  transition:transform .16s var(--ease), box-shadow .22s var(--ease), background-color .22s var(--ease), color .22s var(--ease);
}
.appointment-booking-trigger:hover,
.appointment-booking-trigger:focus-visible,
.appointment-submit:hover,
.appointment-submit:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(185,147,74,.18);
}
.appointment-booking-trigger:active,
.appointment-submit:active{
  transform:translateY(0) scale(.98);
}


/* Appointment CTA subtle pulse */
.appointment-booking-trigger{
  animation:appointmentPulse 3.2s ease-in-out infinite;
}
.appointment-booking-trigger:hover,
.appointment-booking-trigger:focus-visible,
.appointment-booking-trigger:active{
  animation-play-state:paused;
}
@keyframes appointmentPulse{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 0 0 0 rgba(185,147,74,0), 0 0 0 0 rgba(185,147,74,0);
  }
  50%{
    transform:translateY(-1px) scale(1.015);
    box-shadow:0 0 0 8px rgba(185,147,74,.08), 0 10px 26px rgba(185,147,74,.14);
  }
}
@media (prefers-reduced-motion: reduce){
  .appointment-booking-trigger{
    animation:none;
  }
}
.appointment-modal{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  padding:clamp(18px,43.2px,46px);
  background:rgba(17,17,17,.88);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s var(--ease), visibility .28s var(--ease);
}
.appointment-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.appointment-modal-panel{
  width:min(1120px,100%);
  max-height:88vh;
  display:grid;
  grid-template-columns:.72fr 1fr;
  background:var(--black);
  border:1px solid rgba(185,147,74,.42);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  overflow:auto;
}
.appointment-modal-copy{
  padding:clamp(34px,64.8px,68px);
  border-right:1px solid rgba(185,147,74,.24);
  color:var(--ivory);
}
.appointment-modal-copy h2{
  margin-top:24px;
  color:var(--gold);
  font-size:clamp(34px,57.6px,60px);
  line-height:1;
}
.appointment-modal-copy p:not(.eyebrow){
  margin-top:28px;
  color:rgba(251,247,239,.72);
  font-size:18px;
  line-height:1.65;
}
.appointment-request-form{
  padding:clamp(28px,57.6px,58px);
  display:grid;
  gap:18px;
}
.appointment-request-form label{
  display:grid;
  gap:8px;
  color:rgba(251,247,239,.78);
  text-align:left;
}
.appointment-request-form label > span{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:10px;
}
.appointment-request-form input,
.appointment-request-form select,
.appointment-request-form textarea{
  width:100%;
  border:1px solid rgba(185,147,74,.34);
  background:rgba(251,247,239,.04);
  color:var(--ivory);
  min-height:46px;
  padding:11px 12px;
  font:inherit;
  border-radius:0;
}
.appointment-request-form textarea{
  resize:vertical;
  min-height:104px;
}
.appointment-request-form select option{
  color:var(--black);
}
.appointment-request-form input:focus,
.appointment-request-form select:focus,
.appointment-request-form textarea:focus{
  outline:1px solid var(--gold);
  outline-offset:2px;
}
.appointment-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.appointment-submit{
  margin-top:8px;
  width:100%;
}
.appointment-form-note{
  margin:0;
  color:rgba(251,247,239,.42)!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.appointment-modal-close{
  position:absolute;
  top:22px;
  right:24px;
  width:46px;
  height:46px;
  border:1px solid rgba(251,247,239,.36);
  background:rgba(17,17,17,.72);
  color:var(--ivory);
  font-size:30px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.appointment-modal-close:hover{
  color:var(--gold);
  border-color:var(--gold);
}

@media (max-width:980px){
  .appointment-modal{
    padding:0;
  }
  .appointment-modal-panel{
    width:100%;
    height:100%;
    max-height:none;
    grid-template-columns:1fr;
  }
  .appointment-modal-copy{
    border-right:0;
    border-bottom:1px solid rgba(185,147,74,.24);
    padding:54px 24px 28px;
  }
  .appointment-request-form{
    padding:28px 24px 46px;
  }
  .appointment-form-row{
    grid-template-columns:1fr;
  }
}


/* Osobní šatník: sedmá položka pro dámský sartoriální šatník */
.product-list .wardrobe-photo-trigger > span{
  transition:color .28s var(--ease);
}


/* Modal 07: zamknout výšku, aby portrétní fotka neposouvala text dolů */
.wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-modal-inner{
  height:min(82vh,700px)!important;
  max-height:min(82vh,700px)!important;
}
.wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-image-wrap{
  height:100%!important;
  min-height:0!important;
}
.wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-image{
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}
.wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption{
  height:100%!important;
  justify-content:center!important;
}

@media (max-width:980px){
  .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-modal-inner{
    height:100%!important;
    max-height:none!important;
  }
}


/* Header: při scrollu dolů zmizí, při scrollu nahoru se vrátí */
.site-header{
  transition:
    color .35s var(--ease),
    transform .32s var(--ease),
    opacity .24s var(--ease)!important;
  will-change:transform, opacity;
}
.site-header.is-hidden-on-scroll{
  transform:translateY(-115%)!important;
  opacity:0!important;
  pointer-events:none;
}
.site-header.menu-open{
  transform:translateY(0)!important;
  opacity:1!important;
  pointer-events:auto;
}


/* Konzultace: na poslední sekci zmizí menu, zůstane jen logo */
.site-header.on-appointment .nav,
.site-header.on-appointment .header-controls{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-8px)!important;
  transition:
    opacity .24s var(--ease),
    visibility .24s var(--ease),
    transform .24s var(--ease)!important;
}

.site-header.on-appointment .brand{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}


/* Hodnota bespoke: cena a důvod */
.value-section{
  padding:144px 100.8px;
  background:
    linear-gradient(rgba(255,255,255,.85), rgba(255,255,255,.85)),
    url('assets/value-bespoke-background.jpg') 72% top / cover no-repeat;
  color:var(--ink);
  border-top:1px solid rgba(123,79,50,.22);
}
.value-section h2{
  margin-top:30px;
  max-width:980px;
  font-size:clamp(42px,80.64px,92px);
  line-height:.98;
  letter-spacing:-.035em;
  color:var(--paper);
  text-shadow:none;
}
.value-section h2 span{
  display:block;
}
.value-lead{
  margin:36px 0 0;
  max-width:980px;
  font-size:clamp(18px,23.04px,24px);
  line-height:1.58;
  color:var(--paper);
  text-shadow:none;
}
.value-price-row{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(123,79,50,.32);
  border:1px solid rgba(123,79,50,.32);
}
.value-price-row > div{
  padding:34px;
  background:#efe8dc;
}
.value-price-row span,
.value-grid article > span{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:10px;
}
.value-price-row strong{
  display:block;
  margin-top:16px;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,57.6px,68px);
  line-height:1;
  letter-spacing:-.035em;
}
.value-price-row em{
  display:block;
  margin-top:16px;
  font-style:normal;
  color:#6b6258;
  font-size:15px;
  line-height:1.5;
}
.value-grid{
  margin-top:1px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(123,79,50,.32);
  border:1px solid rgba(123,79,50,.32);
  border-top:0;
}
.value-grid article{
  min-height:330px;
  padding:34px 28px;
  background:#f7f2e9;
}
.value-grid h3{
  margin-top:26px;
  color:var(--ink);
  font-size:clamp(25px,32.4px,42px);
  line-height:1.02;
  letter-spacing:-.025em;
}
.value-grid p{
  margin:24px 0 0;
  color:#514b45;
  font-size:16px;
  line-height:1.68;
}

@media (max-width:980px){
  .value-section{
    padding:92px 24px;
    text-align:center;
  }
  .value-section h2,
  .value-lead{
    margin-left:auto;
    margin-right:auto;
  }
  .value-price-row,
  .value-grid{
    grid-template-columns:1fr;
  }
  .value-grid article{
    min-height:0;
  }
}


/* Hodnota bespoke: verze bez konkrétních cen */
.value-lead-second{
  margin-top:20px!important;
}
.value-section .value-price-row{
  display:none!important;
}
.value-section .value-grid{
  margin-top:58px!important;
  border-top:1px solid rgba(123,79,50,.32)!important;
}


/* Hodnota bespoke: nadpisy pilířů vždy ve dvou řádcích */
.value-grid h3 br{
  display:block;
}
.value-grid h3{
  min-height:2.1em;
}


/* Desktop: menu s přidanou položkou Bespoke */
@media (min-width:981px){
  .nav{
    gap:21px!important;
  }
}


/* Bespoke je na světlém pozadí: menu zde musí být černé */
.site-header.on-value{
  color:var(--ink)!important;
}
.site-header.on-value .nav,
.site-header.on-value .nav a,
.site-header.on-value .lang,
.site-header.on-value .brand-sub,
.site-header.on-value .menu-toggle{
  color:var(--ink)!important;
}


/* Sekce 02: EN „Long-term wardrobe“ na jeden řádek */
html[lang="en"] .method-grid h3[data-en="Long-term wardrobe"]{
  white-space:nowrap!important;
  font-size:clamp(25px,33.84px,40px)!important;
  letter-spacing:-.03em!important;
}


/* Sekce 02: EN „Long-term wardrobe“ stejná velikost jako ostatní, jen bez zalomení */
html[lang="en"] .method-grid h3[data-en="Long-term wardrobe"]{
  white-space:nowrap!important;
  font-size:inherit!important;
  letter-spacing:inherit!important;
}


/* Sekce 02: EN „Long-term wardrobe“ opravdu stejná velikost jako ostatní h3 */
html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"]{
  white-space:nowrap!important;
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:0!important;
  max-width:none!important;
}


/* Sekce 02: EN „Long-term wardrobe“ — stejná mezera k navazujícímu textu */
html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"] + p{
  margin-top:32px!important;
}


/* Sekce 02: EN „Long-term wardrobe“ — vráceno na stejné metriky jako ostatní h3 */
html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"]{
  white-space:nowrap!important;
  font-size:30px!important;
  line-height:normal!important;
  letter-spacing:normal!important;
  max-width:none!important;
}
html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"] + p{
  margin-top:1em!important;
}


/* Sekce 02: čísla 01–04 sjednocená podle sekce 04 */
#method .method-grid article > span{
  display:block!important;
  font-family:inherit!important;
  color:var(--gold)!important;
  text-transform:uppercase!important;
  letter-spacing:.28em!important;
  font-size:10px!important;
  line-height:1.2!important;
}
#method .method-grid article:hover > span{
  color:var(--black)!important;
}


/* Sekce 04: zvýraznění karet po vzoru sekce 02 */
#value .value-grid article{
  transition:background-color .45s var(--ease), color .45s var(--ease)!important;
}
#value .value-grid article > span,
#value .value-grid article h3,
#value .value-grid article p{
  transition:color .45s var(--ease)!important;
}
#value .value-grid article:hover{
  background:var(--gold)!important;
  color:var(--black)!important;
}
#value .value-grid article:hover > span,
#value .value-grid article:hover h3,
#value .value-grid article:hover p{
  color:var(--black)!important;
}


/* Sekce 02: mezera mezi číslem a nadpisem sjednocená podle sekce 04 */
#method .method-grid h3{
  margin-top:26px!important;
}


/* Sekce 02: kratší karty, méně prázdného prostoru dole */
#method .method-grid article{
  min-height:300px!important;
  padding-bottom:30px!important;
}


/* Sekce 05: zvýraznění karet zlatou po vzoru sekcí 02/04 */
#journal .journal-card{
  transition:background-color .45s var(--ease), color .45s var(--ease)!important;
}
#journal .journal-card h3,
#journal .journal-card .journal-read{
  transition:color .45s var(--ease)!important;
}
#journal .journal-card:hover{
  background:var(--gold)!important;
  color:var(--black)!important;
}
#journal .journal-card:hover h3,
#journal .journal-card:hover .journal-read{
  color:var(--black)!important;
}


/* Sekce 01: výraznější ateliérový úvod */
#atelier .atelier-main{
  max-width:1280px!important;
}
#atelier .atelier-main h2{
  font-size:clamp(48px,88.56px,104px)!important;
  line-height:.96!important;
  letter-spacing:-.04em!important;
}
#atelier .atelier-intro{
  max-width:1040px!important;
  font-size:17px!important;
  line-height:1.62!important;
}
#atelier .atelier-intro span + span{
  margin-top:6px!important;
}

@media (max-width:980px){
  #atelier .atelier-main h2{
    font-size:clamp(42px,172.8px,64px)!important;
    line-height:1.02!important;
  }
  #atelier .atelier-intro{
    font-size:16px!important;
    line-height:1.58!important;
  }
}


/* Sekce 05: klidné základní pozadí + čitelné zlaté zvýraznění */
#journal .journal-card{
  background:transparent!important;
}
#journal .journal-card .meta,
#journal .journal-card h3,
#journal .journal-card .journal-read{
  transition:color .45s var(--ease)!important;
}
#journal .journal-card:hover{
  background:var(--gold)!important;
  color:var(--black)!important;
}
#journal .journal-card:hover .meta,
#journal .journal-card:hover h3,
#journal .journal-card:hover .journal-read{
  color:var(--black)!important;
}


/* Sekce 05: běžné karty bez světlejšího panelu, pouze jemné oddělení mezi kartami */
#journal .journal-grid{
  background:rgba(251,247,239,.18)!important;
}
#journal .journal-card{
  background:var(--burgundy)!important;
}
#journal .journal-card:hover{
  background:var(--gold)!important;
}
#journal .journal-card:hover .meta,
#journal .journal-card:hover h3,
#journal .journal-card:hover .journal-read{
  color:var(--black)!important;
}


/* Sekce 05: EN třetí karta musí vyjít přesně na 2 řádky */
html[lang="en"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  font-size:clamp(28px,29.52px,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  max-width:none!important;
}


/* Sekce 05: EN třetí karta — větší text, pořád přesně 2 řádky */
html[lang="en"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  font-size:clamp(30px,33.84px,40px)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  max-width:none!important;
}


/* Mobilní sekce 01: nadpis přesně na 3 řádky, třetí řádek = poslední 2 slova */
#atelier .atelier-title-mobile-line{
  display:none!important;
}
@media (max-width:980px){
  #atelier .atelier-title-desktop-line{
    display:none!important;
  }
  #atelier .atelier-title-mobile-line{
    display:block!important;
  }
  #atelier .atelier-title-mobile-last{
    white-space:nowrap!important;
    font-size:.94em!important;
    letter-spacing:-.045em!important;
  }
}
@media (max-width:420px){
  #atelier .atelier-title-mobile-last{
    font-size:.86em!important;
  }
}


/* Mobilní Bespoke: zalomení nadpisu po „střih“ */
#value .value-title-mobile-line{
  display:none!important;
}
@media (max-width:980px){
  #value .value-title-desktop-line{
    display:none!important;
  }
  #value .value-title-mobile-line{
    display:block!important;
  }
  #value .value-title-mobile-last{
    white-space:nowrap!important;
  }
}


@media (max-width:980px){
  .value-section{
    background:
      linear-gradient(rgba(255,255,255,.85), rgba(255,255,255,.85)),
      url('assets/value-bespoke-background.jpg') 68% top / cover no-repeat;
  }
}


/* Bespoke: slonová kost 85 %, texty bez stínu */
#value .value-section,
.value-section{
}
#value .value-title,
#value .value-section h2,
#value .value-lead,
#value .section-kicker{
  text-shadow:none!important;
}

/* Sekce 01 – foto pozadí s bílým 85% overlay */
#atelier{
  background:
    linear-gradient(rgba(255,255,255,.85), rgba(255,255,255,.85)),
    url("assets/atelier-section-01-cuffs.jpg") 42% 46% / cover no-repeat !important;
}
#atelier .section-kicker,
#atelier h2,
#atelier .atelier-intro,
#atelier .atelier-intro span{
  position:relative;
  z-index:1;
}



/* Bespoke: bílá 85 %, bez shadow */
#value .value-title,
#value .value-section h2,
#value .value-lead,
#value .section-kicker{
  text-shadow:none!important;
}




/* Hero: třetí button bez posunu textu — přesně šířka původních buttonů */
.hero-actions{
  position:relative!important;
}
.hero-actions .hero-bespoke-button{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  margin-top:0!important;
  width:370px!important;
  min-width:370px!important;
  max-width:370px!important;
  justify-content:center!important;
}
@media (max-width:980px){
  .hero-actions .hero-bespoke-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* Mobile EN width fix */
@media (max-width:980px){
  html[lang="en"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="en"] #wardrobe > h2{
    white-space:normal!important;
    width:auto!important;
    max-width:100%!important;
    text-wrap:balance!important;
  }

  html[lang="en"] #journal .journal-card-button[data-journal-entry="suit"] h3,
  html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"],
  html[lang="en"] #value .value-title{
    max-width:100%!important;
    width:auto!important;
  }

  body{
    overflow-x:hidden!important;
  }
}




/* Claim reveal animation — výška jako 01 Atelier, text plynule v řádcích */
.statement{
  position:relative;
  padding:129.6px 100.8px!important;
  min-height:auto!important;
  display:flex;
  align-items:center;
}

.statement p{
  max-width:1180px!important;
}

.statement p > span{
  display:inline!important;
}

.statement p > span::after{
  content:" ";
}

.statement p > span:last-child::after{
  content:"";
}

.statement .statement-word{
  display:inline-block!important;
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform 1.05s cubic-bezier(.22,1,.36,1),
    filter 1.05s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--claim-delay,0s);
  margin-right:.16em;
}

.statement.is-visible .statement-word{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (max-width:980px){
  .statement{
    padding:80px 24px!important;
    min-height:auto!important;
  }

  .statement p{
    font-size:clamp(38px,132.48px,62px)!important;
    line-height:1.08!important;
    max-width:100%!important;
  }
}


/* Claim reveal animation — větší font */
.statement p{
  font-size:clamp(48px,92.88px,108px)!important;
  line-height:1.02!important;
}

@media (max-width:980px){
  .statement p{
    font-size:clamp(42px,152.64px,70px)!important;
    line-height:1.06!important;
  }
}


/* Mobile menu icon color follows header */
.site-header .menu-toggle{
  color:inherit!important;
}
.menu-toggle-icon > span{
  background:currentColor!important;
}
.site-header.menu-open .menu-toggle{
  color:var(--ivory)!important;
}

/* EN mobile 01: držet poslední řádek bez zalomení po not */
@media (max-width:980px){
  html[lang="en"] #atelier .atelier-title-mobile-last{
    white-space:nowrap!important;
    font-size:.74em!important;
    letter-spacing:-.055em!important;
  }
}
@media (max-width:420px){
  html[lang="en"] #atelier .atelier-title-mobile-last{
    font-size:.68em!important;
  }
}


/* EN 01 break after do */
@media (max-width:980px){
  html[lang="en"] #atelier .atelier-title-mobile-last{
    white-space:nowrap!important;
    font-size:1em!important;
    letter-spacing:-.045em!important;
  }
}
@media (max-width:420px){
  html[lang="en"] #atelier .atelier-title-mobile-last{
    font-size:.92em!important;
  }
}


/* Appointment CTA larger font */
.appointment .btn,
#appointment .btn,
.appointment button,
#appointment button{
  font-size:14px!important;
  letter-spacing:.16em!important;
}

@media (max-width:980px){
  .appointment .btn,
  #appointment .btn,
  .appointment button,
  #appointment button{
    font-size:14px!important;
    letter-spacing:.14em!important;
  }
}

/* Final hero simplification: hide eyebrow + lead in all variants, enlarge claim */
.hero .hero-eyebrow,
.hero .hero-lead{
  display:none !important;
}

.hero .hero-title{
  font-size:clamp(54px, 97.92px, 108px) !important;
  line-height:1.01 !important;
  max-width:12ch !important;
}

@media (max-width:980px){
  .hero .hero-title{
    font-size:clamp(52px, 201.6px, 74px) !important;
    line-height:1.02 !important;
    max-width:10ch !important;
  }
}


/* Hero claim desktop slightly higher */
@media (min-width:981px){
  .hero .hero-title{
    position:relative!important;
    transform:translateY(-34px)!important;
  }
}


/* Hero old texts hard hidden */
.hero .hero-eyebrow,
.hero .hero-lead{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}


/* Hero white treatment */
.hero .hero-title,
.hero .hero-title span{
  color:var(--ivory)!important;
}

.site-header.on-hero,
.site-header.on-hero .nav,
.site-header.on-hero .nav a,
.site-header.on-hero .lang,
.site-header.on-hero .brand-sub,
.site-header.on-hero .menu-toggle{
  color:var(--ivory)!important;
}

.site-header.on-hero .menu-toggle-icon > span{
  background:currentColor!important;
}

.hero-actions .btn{
  color:var(--gold)!important;
  border-color:rgba(185,147,74,.78)!important;
}

.hero-actions .btn::before{
  background:var(--gold)!important;
}

.hero-actions .btn:hover,
.hero-actions .btn:focus-visible,
.hero-actions .btn.is-filling{
  color:var(--black)!important;
  border-color:var(--gold)!important;
}

.hero-actions .btn.primary{
  background:transparent!important;
  color:var(--gold)!important;
  border-color:rgba(185,147,74,.78)!important;
}

.hero-actions .btn.primary:hover,
.hero-actions .btn.primary:focus-visible{
  color:var(--black)!important;
}


/* Hero claim reveal animation */
.hero .hero-title span{
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  animation:heroClaimReveal 1.05s cubic-bezier(.22,1,.36,1) forwards;
}
.hero .hero-title span:nth-child(1){ animation-delay:.18s; }
.hero .hero-title span:nth-child(2){ animation-delay:.38s; }
.hero .hero-title span:nth-child(3){ animation-delay:.58s; }

@keyframes heroClaimReveal{
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .hero .hero-title span{
    opacity:1;
    transform:none;
    filter:none;
    animation:none;
  }
}


/* Mobile hero claim slightly higher */
@media (max-width:980px){
  .hero{
    --hero-copy-bottom:180px!important;
  }
}


/* Hero thermometer buttons medium font */
.hero-actions .btn{
  font-size:13px!important;
  letter-spacing:.15em!important;
}

@media (max-width:980px){
  .hero-actions .btn{
    font-size:13px!important;
    letter-spacing:.13em!important;
  }
}


/* Quote panel reveal animation — stejný luxusní reveal jako claim, o něco větší */
.quote-panel p{
  font-size:clamp(45px,82.8px,98px)!important;
  line-height:1.02!important;
}

.quote-panel .statement-word{
  display:inline-block!important;
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform 1.05s cubic-bezier(.22,1,.36,1),
    filter 1.05s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--claim-delay,0s);
  margin-right:.16em;
}

.quote-panel.is-visible .statement-word{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (max-width:980px){
  .quote-panel p{
    font-size:clamp(44px,141.12px,68px)!important;
    line-height:1.04!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .quote-panel .statement-word{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }
}



/* Mobile EN quote exact line breaks */
@media (max-width:980px){
  html[lang="en"] .quote-panel blockquote p > span{
    display:block!important;
  }

  html[lang="en"] .quote-panel blockquote p > span::after{
    content:""!important;
  }

  html[lang="en"] .quote-panel blockquote p > span:nth-child(1),
  html[lang="en"] .quote-panel blockquote p > span:nth-child(2),
  html[lang="en"] .quote-panel blockquote p > span:nth-child(3),
  html[lang="en"] .quote-panel blockquote p > span:nth-child(4){
    white-space:nowrap!important;
  }
}


/* Mobile EN quote slightly larger while preserving exact line breaks */
@media (max-width:980px){
  html[lang="en"] .quote-panel blockquote{
    padding:100.8px 86.4px!important;
  }

  html[lang="en"] .quote-panel p{
    font-size:clamp(46px,146.88px,71px)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
  }
}


/* CZ quote first line keep together */
html[lang="cs"] .quote-panel blockquote p > span:nth-child(1){
  white-space:nowrap!important;
}


/* Mobile method title harmonized */
.method-title-mobile{
  display:none;
}

@media (max-width:980px){
  .method-title-desktop{
    display:none;
  }

  .method-title-mobile{
    display:block;
  }

  .method-title-mobile span{
    display:block!important;
    text-align:center!important;
  }
}


/* Mobile method title exact 4 lines */
@media (max-width:980px){
  .method-title-mobile{
    font-size:clamp(44px,158.4px,66px)!important;
    line-height:.96!important;
    margin-top:34px!important;
  }
  .method-title-mobile span{
    display:block!important;
    white-space:nowrap!important;
  }
}


/* Mobile dropdown always ivory */
@media (max-width:980px){
  .site-header.menu-open #primary-nav,
  .site-header.menu-open #primary-nav a,
  .site-header.menu-open #primary-nav .lang,
  .site-header.menu-open #primary-nav .menu-lang{
    color:var(--ivory)!important;
  }

  .site-header.menu-open #primary-nav a{
    opacity:1!important;
  }
}


/* Mobile dropdown language stays gold */
@media (max-width:980px){
  .site-header.menu-open #primary-nav .menu-lang,
  .site-header.menu-open .nav .menu-lang{
    color:var(--gold)!important;
  }
}


/* Modal osobního šatníku: delší popisný text (lead + odstavce) */
.wardrobe-photo-modal.has-body .wardrobe-photo-caption{
  justify-content:flex-start !important;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@media (min-width:981px){
  /* desktop: caption je grid-buňka → strop výšky, aby se dalo scrollovat */
  .wardrobe-photo-modal.has-body .wardrobe-photo-caption{ max-height:min(82vh,860px); }
}
/* krátký poetický podtitulek nahrazen leadem uživatelského textu */
.wardrobe-photo-modal.has-body .wardrobe-photo-caption > p{ display:none !important; }

.wardrobe-photo-caption .wardrobe-photo-lead{
  margin:22px 0 18px !important;
  color:var(--ivory) !important;
  font-family:var(--serif) !important;
  font-size:clamp(19px,24.48px,23px) !important;
  line-height:1.34 !important;
}
.wardrobe-photo-caption .wardrobe-photo-body{ margin-top:20px; }
.wardrobe-photo-caption .wardrobe-photo-body p:not(.wardrobe-photo-lead){
  margin:0 0 13px !important;
  color:rgba(251,247,239,.72) !important;
  font-size:15px !important;
  line-height:1.72 !important;
}
.wardrobe-photo-caption .wardrobe-photo-body p:not(.wardrobe-photo-lead):last-child{ margin-bottom:0 !important; }
/* první odstavec o ~13 % větší a lehce světlejší – prémiovější náběh */
.wardrobe-photo-caption .wardrobe-photo-body .wardrobe-photo-lead + p{
  font-size:17px !important;
  line-height:1.66 !important;
  color:rgba(251,247,239,.84) !important;
}

@media (max-width:980px){
  .wardrobe-photo-caption .wardrobe-photo-lead{ font-size:19px !important; }
  .wardrobe-photo-caption .wardrobe-photo-body p:not(.wardrobe-photo-lead){ font-size:14.5px !important; }
  .wardrobe-photo-caption .wardrobe-photo-body .wardrobe-photo-lead + p{ font-size:16px !important; }
}


/* =====================================================================
   FLIP KARTY – sekce 02 (Filozofie) a 04 (Bespoke)
   Výchozí stav ukazuje stručný prémiový rub s ikonou; klik / Enter otočí kartu na detailní text.
   ===================================================================== */
.method-grid,
.value-grid{ perspective:1700px; }

.method-grid .flip-card,
.value-grid .flip-card{
  position:relative;
  cursor:pointer;
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.2,.75,.2,1);
  outline:none;
}
.method-grid .flip-card.is-flipped,
.value-grid .flip-card.is-flipped{ transform:rotateY(180deg); }

/* líc = původní přímí potomci; skryjeme jejich odvrácenou stranu */
.flip-card > *{ backface-visibility:hidden; -webkit-backface-visibility:hidden; }

/* rub – absolutní překryv přes celou kartu */
.flip-back{
  position:absolute; inset:0;
  transform:rotateY(180deg);
  background:var(--gold); color:var(--black);
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  gap:16px; padding:38px 30px;
  text-align:left;
}
.value-grid .flip-back{ padding:34px 28px; }
.flip-back .flip-icon{ width:46px; height:46px; color:var(--black); flex:0 0 auto; }
.flip-back-value{
  font-family:var(--serif);
  font-size:clamp(34px,43.2px,46px); line-height:1; letter-spacing:-.01em;
}
.flip-back-note{
  margin:0; max-width:24ch;
  color:rgba(17,17,17,.74); font-size:15px; line-height:1.6;
}

/* nápověda k otočení (jemné kolečko v rohu) */
.flip-hint{
  position:absolute; right:20px; bottom:18px;
  width:26px; height:26px; opacity:.3; pointer-events:none;
  transition:opacity .3s var(--ease), transform .5s var(--ease);
}
.method-grid .flip-hint{ color:var(--gold); }
.value-grid .flip-hint{ color:#7b4f32; }
.flip-hint svg{ width:100%; height:100%; display:block; }
.flip-card:hover .flip-hint,
.flip-card:focus-visible .flip-hint{ opacity:.9; transform:rotate(-45deg); }
.flip-card.is-flipped .flip-hint{ opacity:0; }
.flip-card:focus-visible{ box-shadow:inset 0 0 0 2px rgba(185,147,74,.55); }

/* vypnout staré „rozsvícení" celé karty na hover (gold je teď rub) */
.method-grid article:hover{ background:var(--black); color:inherit; }
.method-grid article:hover span{ color:var(--gold); }
.method-grid article:hover h3{ color:var(--ivory); }
.method-grid article:hover p{ color:rgba(251,247,239,.68); }

@media (max-width:980px){
  .flip-back{ padding:30px 24px; }
  .value-grid .flip-back{ padding:30px 24px; }
  .flip-back .flip-icon{ width:40px; height:40px; }
  .flip-hint{ right:16px; bottom:14px; }
}
@media (prefers-reduced-motion:reduce){
  .method-grid .flip-card,.value-grid .flip-card{ transition:transform .001s; }
}

/* =====================================================================
   02 / 04 — finální luxusní sazba rubů flip karet
   ===================================================================== */

/* 02: stejná drobná mezera mezi názvem a popisem i u poslední karty */
#method .method-grid h3{
  margin-bottom:0!important;
}
#method .method-grid h3 + p,
#method .method-grid article:last-child h3 + p{
  margin-top:18px!important;
}

/* 02: klidnější, světlejší rub místo jednolité zlaté plochy */
#method .method-grid .flip-back{
  overflow:hidden;
  justify-content:center;
  gap:18px;
  padding:36px 30px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,0) 44%),
    linear-gradient(145deg,#f5efe5 0%,#e7dccb 100%);
  color:var(--black)!important;
  box-shadow:
    inset 0 0 0 1px rgba(123,79,50,.28),
    inset 0 0 0 8px rgba(255,255,255,.18);
}
#method .method-grid .flip-back::before{
  content:"";
  position:absolute;
  top:0;
  left:30px;
  width:68px;
  height:3px;
  background:var(--gold);
}
#method .method-grid .flip-back .flip-icon{
  width:48px;
  height:48px;
  color:#7b4f32!important;
}
#method .method-grid .flip-back .flip-back-value{
  display:block!important;
  width:auto!important;
  margin:0!important;
  color:var(--black)!important;
  font-family:var(--serif)!important;
  font-size:clamp(36px,43.2px,48px)!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  white-space:nowrap;
}
#method .method-grid .flip-back .flip-back-note{
  margin:0!important;
  max-width:27ch;
  color:rgba(17,17,17,.78)!important;
  font-size:20px!important;
  line-height:1.55!important;
}

/* 04: výraznější doplňkové texty na nových rubových kartách */
#value .value-grid .flip-back .flip-back-note{
  margin:0!important;
  max-width:27ch;
  color:rgba(17,17,17,.80)!important;
  font-size:18px!important;
  line-height:1.55!important;
}
#value .value-grid .flip-back .flip-back-value{
  color:var(--black)!important;
  font-size:clamp(34px,38.88px,44px)!important;
  line-height:1!important;
}
#value .value-grid article:last-child .flip-back-value{
  white-space:nowrap!important;
  font-size:clamp(28px,33.12px,38px)!important;
  letter-spacing:-.025em!important;
}


/* RU only: section 02 cream cards 03–04 back notes must stay within two lines */
@media (min-width:981px){
  html[lang="ru"] #method .method-grid article:nth-child(3) .flip-back-note,
  html[lang="ru"] #method .method-grid article:nth-child(4) .flip-back-note{
    font-size:18px!important;
    line-height:1.46!important;
    max-width:30ch!important;
    letter-spacing:-.01em!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #method .method-grid article:nth-child(3) .flip-back-note,
  html[lang="ru"] #method .method-grid article:nth-child(4) .flip-back-note{
    font-size:17px!important;
    line-height:1.44!important;
    max-width:30ch!important;
    letter-spacing:-.01em!important;
  }
}

@media (max-width:980px){
  #method .method-grid .flip-back{
    gap:16px;
    padding:34px 26px;
  }
  #method .method-grid .flip-back::before{
    left:26px;
  }
  #method .method-grid .flip-back .flip-back-value{
    font-size:clamp(34px,129.6px,46px)!important;
  }
  #method .method-grid .flip-back .flip-back-note{
    font-size:18px!important;
  }
  #value .value-grid .flip-back .flip-back-note{
    font-size:17px!important;
  }
  #value .value-grid article:last-child .flip-back-value{
    font-size:clamp(28px,115.2px,38px)!important;
  }
}


/* =====================================================================
   02 — návrat zlatého rozsvícení líce + černé časové ikony
   ===================================================================== */
#method .method-grid article.flip-card:hover:not(.is-flipped),
#method .method-grid article.flip-card:focus-visible:not(.is-flipped){
  background:var(--gold)!important;
  color:var(--black)!important;
}
#method .method-grid article.flip-card:hover:not(.is-flipped) > span,
#method .method-grid article.flip-card:hover:not(.is-flipped) > h3,
#method .method-grid article.flip-card:hover:not(.is-flipped) > p,
#method .method-grid article.flip-card:focus-visible:not(.is-flipped) > span,
#method .method-grid article.flip-card:focus-visible:not(.is-flipped) > h3,
#method .method-grid article.flip-card:focus-visible:not(.is-flipped) > p{
  color:var(--black)!important;
}
#method .method-grid .flip-back .flip-icon{
  color:var(--black)!important;
}

/* 02: téměř neznatelně větší mezera mezi třetí a čtvrtou kartou */
@media (min-width:981px){
  #method .method-grid article:nth-child(4){
    margin-left:1px;
  }
}

/* =====================================================================
   04 — flip karty sladěné se sekcí 02, ale s inverzním luxusním rubem
   ===================================================================== */
#value .value-grid{
  perspective:1700px!important;
}
#value .value-grid .flip-card{
  transform-style:preserve-3d!important;
  transform-origin:center center!important;
  transition:transform .8s cubic-bezier(.2,.75,.2,1)!important;
  will-change:transform;
}
#value .value-grid .flip-card.is-flipped{
  transform:rotateY(180deg)!important;
}
#value .value-grid .flip-back{
  position:absolute;
  inset:0;
  transform:rotateY(180deg)!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:hidden;
  justify-content:center;
  gap:18px;
  padding:36px 30px;
  background: linear-gradient(145deg,#171717 0%,#050505 100%);
  color:var(--ivory)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 0 0 8px rgba(255,255,255,.03);
}
#value .value-grid .flip-back::before{
  content:"";
  position:absolute;
  top:0;
  left:30px;
  width:68px;
  height:3px;
  background:var(--gold);
}
#value .value-grid .flip-back .flip-icon{
  width:48px;
  height:48px;
  color:#ffffff!important;
}
#value .value-grid .flip-back .flip-back-value{
  color:#ffffff!important;
}
#value .value-grid .flip-back .flip-back-note{
  font-size:20px!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.82)!important;
}
#value .value-grid article:last-child .flip-back-value{
  white-space:nowrap!important;
  font-size:clamp(30px,35.28px,40px)!important;
  letter-spacing:-.025em!important;
}
#value .value-grid article:last-child .flip-back .flip-icon{
  transform:translateY(-6px);
}

/* stejné chování líce při najetí jako v sekci 02 */
#value .value-grid article.flip-card:hover:not(.is-flipped),
#value .value-grid article.flip-card:focus-visible:not(.is-flipped){
  background:var(--gold)!important;
  color:var(--black)!important;
}
#value .value-grid article.flip-card:hover:not(.is-flipped) > span,
#value .value-grid article.flip-card:hover:not(.is-flipped) > h3,
#value .value-grid article.flip-card:hover:not(.is-flipped) > p,
#value .value-grid article.flip-card:focus-visible:not(.is-flipped) > span,
#value .value-grid article.flip-card:focus-visible:not(.is-flipped) > h3,
#value .value-grid article.flip-card:focus-visible:not(.is-flipped) > p{
  color:var(--black)!important;
}

@media (max-width:980px){
  #value .value-grid .flip-back{
    gap:16px;
    padding:34px 26px;
  }
  #value .value-grid .flip-back::before{
    left:26px;
  }
  #value .value-grid .flip-back .flip-back-note{
    font-size:18px!important;
  }
  #value .value-grid article:last-child .flip-back-value{
    font-size:clamp(30px,120.96px,40px)!important;
  }
  #value .value-grid article:last-child .flip-back .flip-icon{
    transform:translateY(-4px);
  }
}


/* =====================================================================
   EN section 02 headings — consistent two-line titles
   ===================================================================== */
html[lang="en"] #method .method-grid h3{
  text-wrap:balance!important;
}
html[lang="en"] #method .method-grid h3[data-en="Conversation"],
html[lang="en"] #method .method-grid h3[data-en="Measure and cut"],
html[lang="en"] #method .method-grid h3[data-en="Handwork"],
html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"]{
  max-width:12ch!important;
  width:auto!important;
  line-height:1.06!important;
  text-align:center!important;
}

/* =====================================================================
   Center flipped backs in sections 02 and 04 — mobile only
   ===================================================================== */
@media (max-width:980px){
  #method .method-grid .flip-back,
  #value .value-grid .flip-back{
    align-items:center!important;
    text-align:center!important;
  }
  #method .method-grid .flip-back::before,
  #value .value-grid .flip-back::before{
    left:50%!important;
    transform:translateX(-50%)!important;
  }
  #method .method-grid .flip-back .flip-back-note,
  #value .value-grid .flip-back .flip-back-note{
    max-width:26ch!important;
    text-align:center!important;
  }
}

/* 02 — EN nadpisy karet: desktop vlevo, mobil na střed */
@media (min-width:981px){
  html[lang="en"] #method .method-grid h3[data-en="Conversation"],
  html[lang="en"] #method .method-grid h3[data-en="Measure and cut"],
  html[lang="en"] #method .method-grid h3[data-en="Handwork"],
  html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"]{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
@media (max-width:980px){
  html[lang="en"] #method .method-grid h3[data-en="Conversation"],
  html[lang="en"] #method .method-grid h3[data-en="Measure and cut"],
  html[lang="en"] #method .method-grid h3[data-en="Handwork"],
  html[lang="en"] #method .method-grid h3[data-en="Long-term wardrobe"]{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* =====================================================================
   Čísla 01–04 zůstávají viditelná i na rubu karet v sekcích 02 a 04
   ===================================================================== */
#method .method-grid .flip-back::after,
#value .value-grid .flip-back::after{
  position:absolute;
  top:34px;
  left:30px;
  font-family:inherit;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:10px;
  line-height:1.2;
  pointer-events:none;
}
#method .method-grid .flip-back::after{
  color:var(--black);
}
#value .value-grid .flip-back::after{
  color:#ffffff;
}
#method .method-grid article:nth-child(1) .flip-back::after,
#value .value-grid article:nth-child(1) .flip-back::after{ content:"01"; }
#method .method-grid article:nth-child(2) .flip-back::after,
#value .value-grid article:nth-child(2) .flip-back::after{ content:"02"; }
#method .method-grid article:nth-child(3) .flip-back::after,
#value .value-grid article:nth-child(3) .flip-back::after{ content:"03"; }
#method .method-grid article:nth-child(4) .flip-back::after,
#value .value-grid article:nth-child(4) .flip-back::after{ content:"04"; }

@media (max-width:980px){
  #method .method-grid .flip-back::after,
  #value .value-grid .flip-back::after{
    top:29px;
    left:50%;
    transform:translateX(-50%);
    text-align:center;
  }
}

/* Sekce 02: čísla na rubu ještě o něco níž */
#method .method-grid .flip-back::after{
  top:39px;
}
@media (max-width:980px){
  #method .method-grid .flip-back::after{
    top:34px;
  }
}

/* =====================================================================
   Otočná šipka viditelná také na rubu karet 02 a 04
   ===================================================================== */
#method .method-grid .flip-card > .flip-hint,
#value .value-grid .flip-card > .flip-hint{
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  transform-style:preserve-3d;
}
#method .method-grid .flip-hint svg,
#value .value-grid .flip-hint svg{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
#method .method-grid .flip-hint::after,
#value .value-grid .flip-hint::after{
  content:"";
  position:absolute;
  inset:0;
  transform:rotateY(180deg);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12a8 8 0 0 1 13.7-5.6L20 8' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 4v4h-4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12a8 8 0 0 1 13.7-5.6L20 8' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 4v4h-4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
#method .method-grid .flip-hint::after{
  background:#000;
}
#value .value-grid .flip-hint::after{
  background:#fff;
}
#method .method-grid .flip-card.is-flipped .flip-hint,
#value .value-grid .flip-card.is-flipped .flip-hint{
  opacity:.62!important;
  transform:rotate(-45deg);
}
#method .method-grid .flip-card.is-flipped:hover .flip-hint,
#value .value-grid .flip-card.is-flipped:hover .flip-hint,
#method .method-grid .flip-card.is-flipped:focus-visible .flip-hint,
#value .value-grid .flip-card.is-flipped:focus-visible .flip-hint{
  opacity:.9!important;
}


/* =====================================================================
   Skutečná šipka přímo na rubu flip karet 02 a 04
   ===================================================================== */
#method .method-grid .flip-back .flip-return-hint,
#value .value-grid .flip-back .flip-return-hint{
  position:absolute;
  right:20px;
  bottom:18px;
  width:26px;
  height:26px;
  opacity:.62;
  pointer-events:none;
  transform:rotate(-45deg);
  transition:opacity .3s var(--ease), transform .5s var(--ease);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
#method .method-grid .flip-back .flip-return-hint{
  color:#000!important;
}
#value .value-grid .flip-back .flip-return-hint{
  color:#fff!important;
}
#method .method-grid .flip-card.is-flipped:hover .flip-return-hint,
#value .value-grid .flip-card.is-flipped:hover .flip-return-hint,
#method .method-grid .flip-card.is-flipped:focus-visible .flip-return-hint,
#value .value-grid .flip-card.is-flipped:focus-visible .flip-return-hint{
  opacity:.9;
  transform:rotate(-90deg);
}
#method .method-grid .flip-back .flip-return-hint svg,
#value .value-grid .flip-back .flip-return-hint svg{
  display:block;
  width:100%;
  height:100%;
}
@media (max-width:980px){
  #method .method-grid .flip-back .flip-return-hint,
  #value .value-grid .flip-back .flip-return-hint{
    right:16px;
    bottom:14px;
  }
}

/* 04 — EN mobile: první a třetí karta vyšší pouze směrem dolů */
@media (max-width:980px){
  html[lang="en"] #value .value-grid article:nth-child(1),
  html[lang="en"] #value .value-grid article:nth-child(3){
    padding-bottom:50px!important;
  }
}

/* 02 — mobil: šipka na rubu v pravém dolním rohu, bez skrývání */
@media (max-width:980px){
  /* Původní hint je <span>, proto přepisujeme mobilní pravidlo width:100 %.
     Při otočení karty se osa Y zrcadlí, takže left:16px se na rubu zobrazí vpravo. */
  #method .method-grid .flip-card.is-flipped > .flip-hint{
    display:block!important;
    visibility:visible!important;
    opacity:.62!important;
    position:absolute!important;
    width:26px!important;
    height:26px!important;
    left:16px!important;
    right:auto!important;
    bottom:14px!important;
    top:auto!important;
    margin:0!important;
    text-align:left!important;
    transform:rotate(-45deg)!important;
  }

  /* Šipka vložená přímo do rubu zůstává na stejném místě. */
  #method .method-grid .flip-back .flip-return-hint{
    display:block!important;
    position:absolute!important;
    width:26px!important;
    height:26px!important;
    right:16px!important;
    bottom:14px!important;
    left:auto!important;
    top:auto!important;
    margin:0!important;
    transform:rotate(-45deg)!important;
  }
}

/* 02 — mobil: šipka na líci všech karet vždy v pravém dolním rohu */
@media (max-width:980px){
  #method .method-grid .flip-card:not(.is-flipped) > .flip-hint{
    position:absolute!important;
    display:block!important;
    width:26px!important;
    height:26px!important;
    right:16px!important;
    left:auto!important;
    bottom:14px!important;
    top:auto!important;
    margin:0!important;
    text-align:left!important;
  }
}

/* 02 — CZ desktop: srovnání výšky karet s EN verzí */
@media (min-width:981px){
  html[lang="cs"] #method .method-grid h3{
    line-height:1.06!important;
  }
}


/* Mobilní rozbalovací menu výš – malá mezera od horního okraje */
@media (max-width:980px){
  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    top:12px!important;
  }
}

/* =====================================================================
   MULTILINGUAL NAVIGATION — 6 language compact selector
   ===================================================================== */
.desktop-language-control,
.mobile-language-control{
  position:relative;
}
.mobile-language-control{ display:none; }

.language-trigger{
  appearance:none;
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  min-height:34px;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  -webkit-tap-highlight-color:transparent;
}
.language-trigger-label{ display:none; }
.language-current{ min-width:2ch; text-align:center; }
.language-chevron{
  display:inline-block;
  font-size:12px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .25s var(--ease);
}
.language-trigger[aria-expanded="true"] .language-chevron{ transform:translateY(1px) rotate(180deg); }

.language-panel{
  z-index:80;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:8px;
  background:#111;
  color:var(--ivory);
  border:1px solid rgba(185,147,74,.62);
  box-shadow:0 22px 58px rgba(0,0,0,.42);
}
.language-panel[hidden]{ display:none!important; }
.desktop-language-panel{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:310px;
}
.language-option{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  min-height:58px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:8px;
  text-align:left;
  cursor:pointer;
  transition:background-color .25s var(--ease), color .25s var(--ease);
}
.language-option:hover,
.language-option:focus-visible{
  background:rgba(185,147,74,.14);
  outline:none;
}
.language-option.is-active{
  background:var(--gold);
  color:var(--black);
}
.language-option-code{
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.18em;
  color:var(--gold);
}
.language-option.is-active .language-option-code{ color:var(--black); }
.language-option-name{
  font-family:var(--serif);
  font-size:17px;
  line-height:1.05;
  letter-spacing:0;
}

/* Desktop: keep the approved horizontal composition. */
@media (min-width:981px){
  .desktop-language-control{ display:block; }
  .mobile-language-control{ display:none!important; }
  .desktop-language-trigger .language-trigger-label{ display:none; }
  .site-header.on-value .desktop-language-panel{
    background:#111;
    color:var(--ivory);
  }
}

/* Mobile: compact 2 × 3 atelier index and collapsible 2 × 3 languages. */
@media (max-width:980px){
  .desktop-language-control{ display:none!important; }
  .mobile-language-control{
    display:block;
    grid-column:1 / -1;
    border-top:1px solid rgba(251,247,239,.16);
    padding-top:7px;
    margin-top:1px;
  }

  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    top:12px!important;
    right:12px!important;
    width:min(360px,calc(1440px - 24px))!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:0!important;
    padding:8px 10px 10px!important;
    background:rgba(17,17,17,.985)!important;
  }

  .site-header.menu-open #primary-nav > a{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:60px!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid rgba(251,247,239,.13)!important;
    font-family:var(--serif)!important;
    font-size:15px!important;
    line-height:1.12!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-align:left!important;
    color:var(--ivory)!important;
  }
  .site-header.menu-open #primary-nav > a:nth-of-type(odd){
    border-right:1px solid rgba(251,247,239,.13)!important;
  }
  .site-header.menu-open #primary-nav > a:nth-of-type(5),
  .site-header.menu-open #primary-nav > a:nth-of-type(6){
    border-bottom:0!important;
  }
  .site-header.menu-open #primary-nav > a::before{
    content:attr(data-nav-index);
    display:block;
    margin-bottom:6px;
    color:var(--gold);
    font-family:var(--sans);
    font-size:8px;
    line-height:1;
    letter-spacing:.25em;
  }
  .site-header.menu-open #primary-nav > a::after{ display:none!important; }

  .mobile-language-trigger{
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:0;
    display:grid;
    grid-template-columns:1fr auto auto;
    justify-items:start;
    color:var(--gold)!important;
  }
  .mobile-language-trigger .language-trigger-label{
    display:block;
    font-size:9px;
    letter-spacing:.22em;
  }
  .mobile-language-trigger .language-current{
    font-size:11px;
    color:var(--ivory);
  }
  .mobile-language-trigger .language-chevron{ color:var(--gold); }
  .mobile-language-panel{
    position:relative;
    width:100%;
    padding:4px 0 0;
    border:0;
    box-shadow:none;
    background:transparent;
  }
  .mobile-language-panel .language-option{
    min-height:48px;
    padding:8px 10px;
    grid-template-columns:31px 1fr;
    border-top:1px solid rgba(251,247,239,.10);
  }
  .mobile-language-panel .language-option:nth-child(odd){
    border-right:1px solid rgba(251,247,239,.10);
  }
  .mobile-language-panel .language-option-name{ font-size:15px; }
  .mobile-language-panel .language-option-code{ font-size:8px; }
}

/* =====================================================================
   TYPOGRAPHIC CONSISTENCY ACROSS DE / IT / ES / RU
   ===================================================================== */
@media (min-width:981px){
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid h3{
    max-width:13ch!important;
    width:auto!important;
    min-height:2.12em!important;
    line-height:1.06!important;
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #value .value-grid h3{
    min-height:2.12em!important;
    line-height:1.06!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #wardrobe h2.wardrobe-gold-heading,
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #wardrobe > h2{
    white-space:nowrap!important;
    max-width:none!important;
    width:max-content!important;
    font-size:clamp(38px,72px,82px)!important;
  }
}

@media (max-width:980px){
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .hero-title{
    font-size:clamp(42px,175.68px,58px)!important;
    line-height:1.02!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid h3{
    min-height:2.16em!important;
    max-width:13ch!important;
    line-height:1.08!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #value .value-grid h3{
    min-height:2.16em!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #wardrobe h2.wardrobe-gold-heading,
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #wardrobe > h2{
    white-space:normal!important;
    width:auto!important;
    max-width:100%!important;
    text-wrap:balance!important;
  }
}

/* Cyrillic needs a touch more breathing room without changing section geometry. */
html[lang="ru"] body{ letter-spacing:normal; }
html[lang="ru"] .nav{ letter-spacing:.12em!important; }
html[lang="ru"] .section-kicker{ letter-spacing:.22em; }

/* Multilingual mobile width safeguards and header row clearance. */
@media (max-width:980px){
  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    padding-top:56px!important;
  }
  .split > *,
  #atelier .atelier-main,
  #atelier .atelier-title,
  #atelier .atelier-intro,
  #method .method-title-mobile{
    min-width:0!important;
    max-width:100%!important;
  }
  #atelier .atelier-title-mobile-line{
    width:100%!important;
    max-width:100%!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #atelier .atelier-title-mobile-last{
    white-space:nowrap!important;
    font-size:.84em!important;
    letter-spacing:-.05em!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .method-title-mobile{
    font-size:clamp(40px,146.88px,58px)!important;
  }
}
@media (max-width:980px){
  .quote-panel > *,
  .quote-panel blockquote,
  .quote-panel blockquote p{
    min-width:0!important;
    max-width:100%!important;
  }
}

/* =====================================================================
   HERO — German and Italian fixed to exactly three lines
   Each translated phrase remains one uninterrupted line.
   ===================================================================== */
html[lang="de"] .hero .hero-title > span,
html[lang="it"] .hero .hero-title > span{
  white-space:nowrap!important;
}


/* =====================================================================
   DE / IT / ES / RU — approved CZ/EN geometry is the master
   ===================================================================== */
@media (min-width:981px){
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid > article{
    min-height:336px!important;
  }
  html[lang="ru"] #journal > h2{
    white-space:nowrap!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .quote-panel blockquote p > span{
    white-space:nowrap!important;
  }
}

@media (max-width:980px){
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid > article{
    min-height:313px!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #value .value-title-mobile-line{
    white-space:nowrap!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .quote-panel blockquote{
    padding-left:72px!important;
    padding-right:72px!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .quote-panel blockquote p > span{
    white-space:nowrap!important;
  }
  html:is([lang="de"],[lang="ru"]) .quote-panel p{
    font-size:clamp(40px,131.04px,64px)!important;
    letter-spacing:-.045em!important;
  }
}


/* =====================================================================
   IT — preserve approved line rhythm in sections 02 and 03
   ===================================================================== */
.nowrap-phrase{
  white-space:nowrap!important;
}
@media (min-width:981px){
  /* IT 02: exactly two desktop lines, matching the CZ/EN composition. */
  html[lang="it"] #method .method-title-desktop{
    max-width:none!important;
    font-size:clamp(37px,64.08px,74px)!important;
  }
  html[lang="it"] #method .method-title-desktop > span{
    white-space:nowrap!important;
  }

  /* IT 03: midway between the previous small and original master size. */
  html[lang="it"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="it"] #wardrobe > h2{
    font-size:clamp(37px,66.24px,76px)!important;
    letter-spacing:-.035em!important;
  }
}
@media (max-width:980px){
  html[lang="it"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="it"] #wardrobe > h2{
    font-size:clamp(35px,136.8px,52px)!important;
    line-height:1.04!important;
  }
}


/* IT · sekce 02 · karta 03 · rub — přesně 2 řádky */
@media (min-width:981px){
  html[lang="it"] #method .method-grid article:nth-child(3) .flip-back-note{
    font-size:18px!important;
    max-width:none!important;
    color:rgba(17,17,17,.78)!important;
  }
}
@media (max-width:980px){
  html[lang="it"] #method .method-grid article:nth-child(3) .flip-back-note{
    font-size:17px!important;
    max-width:none!important;
    color:rgba(17,17,17,.78)!important;
  }
}


/* =====================================================================
   2026-07-12 cumulative multilingual corrections approved by user
   ===================================================================== */
@media (min-width:981px){
  /* DE statement in section 01: exact three fixed lines */
  html[lang="de"] .statement p span{
    white-space:nowrap!important;
  }
  html[lang="de"] .statement p{
    font-size:clamp(36px,80.64px,92px)!important;
  }

  /* ES section 04 heading: keep full second line on one row */
  html[lang="es"] #value .value-title-desktop-line:nth-of-type(2){
    white-space:nowrap!important;
    font-size:clamp(72px,101.52px,136px)!important;
  }

  /* Section 04 card fronts: stable two-line rhythm for DE/ES/IT/RU */
  html[lang="de"] #value .value-grid > article > h3,
  html[lang="es"] #value .value-grid > article > h3,
  html[lang="it"] #value .value-grid > article > h3,
  html[lang="ru"] #value .value-grid > article > h3{
    min-height:2.12em!important;
    line-height:1.05!important;
  }
  html[lang="de"] #value .value-grid > article > h3{font-size:clamp(29px,33.41px,43px)!important;}
  html[lang="es"] #value .value-grid > article > h3{font-size:clamp(31px,36px,46px)!important;}
  html[lang="it"] #value .value-grid > article > h3{font-size:clamp(31px,36px,46px)!important;}
  html[lang="ru"] #value .value-grid > article > h3{font-size:clamp(29px,32.83px,42px)!important;}

  /* Section 04 back titles */
  html[lang="de"] #value .value-grid .flip-back-value{font-size:clamp(28px,31.68px,38px)!important; letter-spacing:-.03em!important;}
  html[lang="es"] #value .value-grid .flip-back-value{font-size:clamp(30px,34.56px,42px)!important;}
  html[lang="it"] #value .value-grid .flip-back-value{font-size:clamp(30px,34.56px,42px)!important;}
  html[lang="ru"] #value .value-grid .flip-back-value{font-size:clamp(27px,29.52px,36px)!important; letter-spacing:-.035em!important;}
  html[lang="de"] #value .value-grid article:nth-child(3) .flip-back-value{
    font-size:clamp(28px,31.68px,38px)!important;
  }

  /* Section 04 back notes */
  html[lang="de"] #value .value-grid .flip-back-note,
  html[lang="es"] #value .value-grid .flip-back-note,
  html[lang="it"] #value .value-grid .flip-back-note,
  html[lang="ru"] #value .value-grid .flip-back-note{
    max-width:none!important;
    white-space:normal!important;
    line-height:1.42!important;
  }
  html[lang="de"] #value .value-grid .flip-back-note,
  html[lang="es"] #value .value-grid .flip-back-note,
  html[lang="it"] #value .value-grid .flip-back-note{font-size:clamp(17px,21.31px,24px)!important;}
  html[lang="ru"] #value .value-grid .flip-back-note{font-size:clamp(16px,19.87px,23px)!important;}
}

@media (max-width:980px){
  html[lang="es"] #value .value-grid > article > h3,
  html[lang="de"] #value .value-grid > article > h3,
  html[lang="it"] #value .value-grid > article > h3,
  html[lang="ru"] #value .value-grid > article > h3{
    min-height:2.16em!important;
    line-height:1.08!important;
  }
  html[lang="de"] #value .value-grid article:nth-child(3) .flip-back-value{font-size:clamp(28px,103.68px,38px)!important;}
}


/* SECTION 04 BLACK CARD NOTES — EXACTLY TWO LINES */
@media (min-width:981px){
  #value .value-grid .flip-back-note{
    max-width:100%!important;
    width:auto!important;
    white-space:normal!important;
    font-size:clamp(14px,18px,21px)!important;
    line-height:1.42!important;
    letter-spacing:-.01em!important;
  }
}
@media (max-width:980px){
  #value .value-grid .flip-back-note{
    max-width:100%!important;
    width:auto!important;
    white-space:normal!important;
    font-size:17px!important;
    line-height:1.42!important;
  }
}

/* Desktop language popup — smaller, tighter and with a white frame */
@media (min-width:981px){
  .desktop-language-panel{
    top:calc(100% + 9px)!important;
    width:252px!important;
    padding:6px!important;
    border:1px solid rgba(255,255,255,.92)!important;
  }
  .desktop-language-panel .language-option{
    min-height:44px!important;
    padding:7px 9px!important;
    grid-template-columns:27px 1fr!important;
    gap:6px!important;
  }
  .desktop-language-panel .language-option-code{
    font-size:12px!important;
    letter-spacing:.16em!important;
  }
  .desktop-language-panel .language-option-name{
    font-size:16px!important;
    line-height:1.04!important;
  }
}


/* DE only: section 03 heading slightly smaller */
@media (min-width:981px){
  html[lang="de"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="de"] #wardrobe > h2{
    font-size:clamp(36px,67.68px,78px)!important;
  }
}
@media (max-width:980px){
  html[lang="de"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="de"] #wardrobe > h2{
    font-size:clamp(34px,128.16px,50px)!important;
  }
}


/* DE only: slightly smaller modal titles for long section 03 headings (02, 06, 07) */
html[lang="de"] .wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading,
html[lang="de"] .wardrobe-photo-modal.is-wardrobe-program .wardrobe-photo-caption .wardrobe-photo-heading,
html[lang="de"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
  font-size:clamp(24px,35.28px,38px)!important;
  line-height:1.06!important;
  letter-spacing:-.02em!important;
}
@media (max-width:980px){
  html[lang="de"] .wardrobe-photo-modal.is-signature-jacket .wardrobe-photo-caption .wardrobe-photo-heading,
  html[lang="de"] .wardrobe-photo-modal.is-wardrobe-program .wardrobe-photo-caption .wardrobe-photo-heading,
  html[lang="de"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(24px,99.36px,36px)!important;
    line-height:1.06!important;
  }
}


/* DE only: modal 06 (wardrobe program) a touch smaller */
html[lang="de"] .wardrobe-photo-modal.is-wardrobe-program .wardrobe-photo-caption .wardrobe-photo-heading{
  font-size:clamp(20px,28.8px,31px)!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
}
@media (max-width:980px){
  html[lang="de"] .wardrobe-photo-modal.is-wardrobe-program .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(20px,83.52px,29px)!important;
    line-height:1.04!important;
  }
}


/* IT only: section 04 card 03 black-side title on one line */
html[lang="it"] #value .value-grid article:nth-child(3) .flip-back-value{
  white-space:nowrap!important;
  font-size:clamp(27px,29.52px,35px)!important;
  letter-spacing:-.025em!important;
}
@media (max-width:980px){
  html[lang="it"] #value .value-grid article:nth-child(3) .flip-back-value{
    font-size:clamp(25px,100.8px,33px)!important;
  }
}


/* IT only: section 04 black card 03 title slightly larger */
html[lang="it"] #value .value-grid article:nth-child(3) .flip-back-value{
  font-size:clamp(29px,31.39px,37px)!important;
}
@media (max-width:980px){
  html[lang="it"] #value .value-grid article:nth-child(3) .flip-back-value{
    font-size:clamp(27px,105.84px,35px)!important;
  }
}


/* IT only: hero statement slightly smaller so "non ha bisogno" fits cleanly */
html[lang="it"] .statement p{
  font-size:clamp(46px,88.56px,102px)!important;
  line-height:1.02!important;
}
@media (max-width:980px){
  html[lang="it"] .statement p{
    font-size:clamp(40px,144px,66px)!important;
    line-height:1.06!important;
  }
}


/* IT only: correct target — hero claim slightly smaller on desktop.
   Reset the unrelated statement block that was changed by mistake. */
html[lang="it"] .statement p{
  font-size:clamp(48px,92.88px,108px)!important;
  line-height:1.02!important;
}
@media (max-width:980px){
  html[lang="it"] .statement p{
    font-size:clamp(42px,152.64px,70px)!important;
    line-height:1.06!important;
  }
}
@media (min-width:981px){
  html[lang="it"] .hero .hero-title{
    font-size:clamp(52px,91.44px,102px)!important;
    line-height:1.01!important;
  }
}

/* ES only: force the approved statement into exactly three desktop lines */
@media (min-width:981px){
  html[lang="es"] .statement p > span{
    display:block!important;
    white-space:nowrap!important;
  }
  html[lang="es"] .statement p > span::after{
    content:""!important;
  }
}


/* ES only: section 02 desktop heading – keep "con el cuerpo, no con una talla." on one line */
@media (min-width:981px){
  html[lang="es"] #method .method-title-desktop .method-second-line{
    white-space:nowrap!important;
    font-size:clamp(54px,74.16px,88px)!important;
  }
}


/* ES only: section 04 desktop second line same size as the line above */
@media (min-width:981px){
  html[lang="es"] #value .value-title-desktop-line:nth-of-type(2){
    white-space:nowrap!important;
    font-size:inherit!important;
    letter-spacing:inherit!important;
  }
}


/* ES only: section 04 black card 03 title on one line */
html[lang="es"] #value .value-grid article:nth-child(3) .flip-back-value{
  font-size:clamp(29px,31.39px,39px)!important;
  white-space:nowrap!important;
  letter-spacing:-.02em!important;
}
@media (max-width:980px){
  html[lang="es"] #value .value-grid article:nth-child(3) .flip-back-value{
    font-size:clamp(27px,103.68px,35px)!important;
    white-space:nowrap!important;
  }
}


/* ES only: section 04 black card notes 01 and 03 slightly smaller */
html[lang="es"] #value .value-grid article:nth-child(1) .flip-back-note,
html[lang="es"] #value .value-grid article:nth-child(3) .flip-back-note{
  font-size:clamp(16px,19.3px,22px)!important;
  line-height:1.34!important;
  letter-spacing:-.01em!important;
}
@media (max-width:980px){
  html[lang="es"] #value .value-grid article:nth-child(1) .flip-back-note,
  html[lang="es"] #value .value-grid article:nth-child(3) .flip-back-note{
    font-size:clamp(15px,62.64px,19px)!important;
    line-height:1.34!important;
  }
}


/* RU only: approved statement in exactly three desktop lines */
@media (min-width:981px){
  html[lang="ru"] .statement p > span{
    display:block!important;
    white-space:nowrap!important;
  }
  html[lang="ru"] .statement p > span::after{
    content:""!important;
  }
}


/* RU only: section 02 heading slightly smaller */
@media (min-width:981px){
  html[lang="ru"] #method .method-title-desktop{
    font-size:clamp(34px,64.08px,74px)!important;
    line-height:1.02!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #method .method-title-mobile{
    font-size:clamp(36px,135.36px,52px)!important;
    line-height:.98!important;
  }
}


/* RU only: section 02 heading exact two-line desktop layout */
@media (min-width:981px){
  html[lang="ru"] #method .method-title-desktop{
    max-width:none!important;
    font-size:clamp(28px,54px,62px)!important;
    line-height:1.02!important;
  }
  html[lang="ru"] #method .method-title-desktop > span{
    white-space:nowrap!important;
  }
}


/* RU section 02 — restore desktop heading size to master geometry and keep exact 2-line layout */
@media (min-width:981px){
  html[lang="ru"] #method .method-title-desktop{
    max-width:none!important;
    font-size:clamp(38px,72px,82px)!important;
    line-height:1!important;
  }
  html[lang="ru"] #method .method-title-desktop > span{
    white-space:nowrap!important;
  }
}


/* IT + ES section 02 — restore desktop heading size to master geometry and keep exact 2-line layout */
@media (min-width:981px){
  html[lang="it"] #method .method-title-desktop,
  html[lang="es"] #method .method-title-desktop{
    max-width:none!important;
    font-size:clamp(38px,72px,82px)!important;
    line-height:1!important;
  }
  html[lang="it"] #method .method-title-desktop > span,
  html[lang="es"] #method .method-title-desktop > span{
    white-space:nowrap!important;
  }
  html[lang="es"] #method .method-title-desktop .method-second-line{
    font-size:inherit!important;
  }
}


/* RU only: section 03 heading on one desktop line */
@media (min-width:981px){
  html[lang="ru"] #wardrobe h2.wardrobe-gold-heading,
  html[lang="ru"] #wardrobe > h2{
    font-size:clamp(32px,59.04px,68px)!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
    width:max-content!important;
    max-width:none!important;
  }
}


/* RU only — section 03: reduce first and last list titles
   (POZOR: jen desktop — na mobilu velikost řídí JS auto-fit) */
@media (min-width:981px){
  html[lang="ru"] #wardrobe .wardrobe-photo-trigger[data-image$="wardrobe-01.jpg"] > span,
  html[lang="ru"] #wardrobe .wardrobe-photo-trigger[data-image$="wardrobe-07.jpg"] > span{
    font-size:clamp(27px,41.76px,48px)!important;
    line-height:1.04!important;
  }
}

/* RU only — section 03 modals: reduce first and last modal titles */
html[lang="ru"] .wardrobe-photo-modal.is-shirt-system .wardrobe-photo-caption .wardrobe-photo-heading,
html[lang="ru"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
  font-size:clamp(24px,35.28px,36px)!important;
  line-height:1.06!important;
}

@media (max-width:980px){
  html[lang="ru"] .wardrobe-photo-modal.is-shirt-system .wardrobe-photo-caption .wardrobe-photo-heading,
  html[lang="ru"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(24px,100.8px,32px)!important;
  }
}


/* RU only: section 04 headline reduced to match the visual size of other languages */
@media (min-width:981px){
  html[lang="ru"] #value .value-title{
    font-size:clamp(54px,74.88px,86px)!important;
    line-height:0.99!important;
    letter-spacing:-.032em!important;
    max-width:1120px!important;
  }
  html[lang="ru"] #value .value-title-desktop-line{
    white-space:nowrap!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #value .value-title{
    font-size:clamp(40px,146.88px,62px)!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
  }
}


/* RU only: section 04 lead copy fixed to 3 lines and 2 lines */
html[lang="ru"] #value .value-lead .value-lead-line{
  display:block!important;
}
@media (min-width:981px){
  html[lang="ru"] #value .value-lead{
    font-size:clamp(17px,20.88px,22px)!important;
    line-height:1.52!important;
    max-width:1100px!important;
  }
  html[lang="ru"] #value .value-lead .value-lead-line{
    white-space:nowrap!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #value .value-lead{
    font-size:18px!important;
    line-height:1.58!important;
  }
}


/* RU only: first section 04 lead paragraph fixed to the requested two lines */
html[lang="ru"] #value .value-lead .value-lead-line{
  display:block!important;
}
@media (min-width:981px){
  html[lang="ru"] #value .value-lead .value-lead-line{
    white-space:nowrap!important;
  }
}


/* SECTION 04 CZ MASTER GEOMETRY FOR RU / IT / ES
   Title = exact CZ size and two lines.
   Lead paragraphs = exact CZ typography, 3 lines + 2 lines.
   This keeps the four cards at the same vertical position. */
@media (min-width:981px){
  /* CZ is the vertical master: reserve exactly 2 title lines, 3 first-lead lines and 2 second-lead lines for every language. */
  #value .value-title{
    min-height:1.96em!important;
  }
  #value .value-lead:not(.value-lead-second){
    min-height:4.74em!important;
  }
  #value .value-lead-second{
    min-height:3.16em!important;
  }

  html:is([lang="ru"],[lang="it"],[lang="es"]) #value .value-title{
    max-width:980px!important;
    font-size:clamp(42px,80.64px,92px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
  }
  html:is([lang="ru"],[lang="it"],[lang="es"]) #value .value-title-desktop-line{
    display:block!important;
    white-space:nowrap!important;
    font-size:inherit!important;
    line-height:inherit!important;
    letter-spacing:inherit!important;
  }
  html:is([lang="ru"],[lang="it"],[lang="es"]) #value .value-lead{
    max-width:980px!important;
    font-size:clamp(18px,23.04px,24px)!important;
    line-height:1.58!important;
  }
  html:is([lang="ru"],[lang="it"],[lang="es"]) #value .value-lead .value-lead-line{
    display:block!important;
    white-space:nowrap!important;
  }
}


/* RU only: section 05 headline slightly smaller, keep original top and bottom spacing */
@media (min-width:981px){
  html[lang="ru"] #journal > h2{
    font-size:clamp(50px,65.52px,76px)!important;
    line-height:1!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #journal > h2{
    font-size:clamp(37px,120.96px,52px)!important;
    line-height:1!important;
  }
}


/* RU only: add a little extra space below the journal heading so the 3 cards align with CZ */
@media (min-width:981px){
  html[lang="ru"] #journal > h2{
    margin-bottom:28px!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #journal > h2{
    margin-bottom:20px!important;
  }
}


/* RU desktop: move the journal cards down to match the CZ vertical geometry */
@media (min-width:981px){
  html[lang="ru"] #journal .journal-grid{
    margin-top:70px!important;
  }
}


/* RU only: journal card titles forced to 2 lines with slightly smaller size */
@media (min-width:981px){
  html[lang="ru"] #journal .journal-card h3{
    font-size:clamp(25px,29.52px,34px)!important;
    line-height:1.08!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #journal .journal-card h3{
    font-size:clamp(24px,95.04px,31px)!important;
    line-height:1.08!important;
  }
}


/* RU only: journal modal titles smaller and balanced — no orphan word on its own line */
html[lang="ru"] .journal-modal-content .journal-modal-heading{
  font-size:clamp(36px,53.28px,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
@media (max-width:980px){
  html[lang="ru"] .journal-modal-content .journal-modal-heading{
    font-size:clamp(31px,118.08px,46px)!important;
    line-height:1.04!important;
  }
}




/* ALL LANGUAGES: section 02 back-side time values reduced by about one third */
@media (min-width:981px){
  #method .method-grid .flip-back .flip-back-value{
    font-size:clamp(24px,28.8px,32px)!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
  }
}
@media (max-width:980px){
  #method .method-grid .flip-back .flip-back-value{
    font-size:clamp(24px,100.8px,32px)!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
  }
}


/* =====================================================================
   Jazykové konzistence (mobil): statement a citát nesmí vytvářet
   vodorovné rolování v žádném jazyce — řádky se přirozeně zalamují
   stejně jako v CZ/EN.
   ===================================================================== */
@media (max-width:980px){
  .statement p > span{ white-space:normal!important; }
  .quote-panel p > span{ white-space:normal!important; }
  .quote-panel p .quote-last-line{ white-space:normal!important; }
}

/* Mobil: řádky citátu se zalamují přirozeně ve VŠECH jazycích
   (přebíjí per-jazyk nowrap výše — stejná specificita, pozdější pořadí). */
@media (max-width:980px){
  html:is([lang="cs"],[lang="en"],[lang="de"],[lang="it"],[lang="es"],[lang="ru"]) .quote-panel blockquote p > span{
    white-space:normal!important;
  }
}

/* Mobil: nadpis sekce 04 škáluje s šířkou displeje (DE/IT/ES mají
   delší řádky – fixních 42px na úzkých telefonech přetékalo). */
@media (max-width:980px){
  html:is([lang="de"],[lang="it"],[lang="es"]) #value .value-title{
    font-size:min(42px, 138.24px)!important;
  }
}

/* =====================================================================
   Desktop – jazykové korekce velikostí, aby žádný nadpis nepřetékal
   (ES/RU nadpis sekce 04, RU/IT hero titulek). Změřeno a škálováno
   s rezervou; vizuálně jde o 2–6 % rozdíl.
   ===================================================================== */
@media (min-width:981px){
  html[lang="es"] #value .value-title{ font-size:min(74.16px, 76px)!important; }
  html[lang="ru"] #value .value-title{ font-size:min(78.48px, 80px)!important; }
  html[lang="ru"] .hero .hero-title{ font-size:min(93.6px, 96px)!important; }
  html[lang="it"] .hero .hero-title{ font-size:min(86.4px, 88px)!important; }
}

/* Mobil – poslední jazykové korekce velikostí (změřeno):
   RU nadpis sekce 01, IT hero titulek; drobný 2px přesah dekorativních
   štítků (nbsp) jistí overflow-x pouze na mobilu. */
@media (max-width:980px){
  html[lang="ru"] #atelier .atelier-title{ font-size:min(46px, 167.04px)!important; }
  html[lang="it"] .hero .hero-title{
    font-size:min(51px, 185.76px)!important;
    max-width:100%!important;
  }
  html, body{ overflow-x:hidden; }
}

/* RU – rub karty 04c3: o 4 % menší nota, ať text nekončí na hraně karty */
@media (min-width:981px){
  html[lang="ru"] #value .value-grid article:nth-child(3) .flip-back-note{
    font-size:19px!important;
  }
}

/* =====================================================================
   04 – konzistentní geometrie napříč jazyky (desktop):
   nadpis má jednotnou výšku boxu, RU dostává lehký horní padding
   (kompenzace metrik Prata), karty jednotnou minimální výšku.
   Cíl: po zaparkování na 04 a přepnutí jazyka karty neskáčou.
   ===================================================================== */
@media (min-width:981px){
  #value .section-kicker{ display:block; height:15px!important; line-height:15px!important; }
  #value .value-title{ min-height:160.56px!important; }
  /* RU: lehký optický posun textu nadpisu dolů (Prata) bez vlivu na box */
  html[lang="ru"] #value .value-title > span:first-child{ padding-top:2.02px; display:inline-block; }
  #value .value-grid article{ min-height:334.08px!important; }
}


/* RU mobile only: section 04 first lead paragraph flows naturally without forced line breaks */
@media (max-width:980px){
  html[lang="ru"] #value .value-lead:not(.value-lead-second) .value-lead-line{
    display:inline!important;
    white-space:normal!important;
  }
}


/* Mobile menu — narrower only; typography and vertical rhythm unchanged */
@media (max-width:980px){
  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    width:min(300px,calc(1440px - 64px))!important;
    right:12px!important;
  }
}


/* Final mobile menu refinement: 290 px wide, no reserved top gap, smaller language type */
@media (max-width:980px){
  .site-header.menu-open .nav,
  .site-header.menu-open #primary-nav{
    width:min(285px,calc(1440px - 64px))!important;
    right:12px!important;
    padding-top:8px!important;
  }
  .mobile-language-trigger .language-trigger-label{
    font-size:8px!important;
  }
  .mobile-language-trigger .language-current{
    font-size:10px!important;
  }
  .mobile-language-panel .language-option-name{
    font-size:14px!important;
  }
  .mobile-language-panel .language-option-code{
    font-size:7px!important;
  }
}


/* Mobile primary menu only: save 30 px vertically across its three rows; language area unchanged */
@media (max-width:980px){
  .site-header.menu-open #primary-nav > a{
    min-height:50px!important;
  }
}


/* Mobile hero — CZ and EN matched to the calmer DE scale */
@media (max-width:980px){
  html[lang="cs"] .hero .hero-title,
  html[lang="en"] .hero .hero-title{
    font-size:clamp(42px,175.68px,58px)!important;
    line-height:1.02!important;
  }
}

/* Mobile appointment form: force the native iOS date control to the same width as all other fields */
@media (max-width:980px){
  .appointment-request-form label,
  .appointment-form-row > label{
    min-width:0!important;
    max-width:100%!important;
  }
  .appointment-form-row > label:first-child{
    width:100%!important;
    overflow:hidden!important;
  }
  .appointment-request-form input[type="date"]{
    display:block!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    inline-size:100%!important;
    width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}


/* EN section 04, card 01: keep EN card 01 concise title on one line */
html[lang="en"] #value .value-grid > article:first-child .flip-back-value{
  white-space:nowrap!important;
  font-size:clamp(27px,30.96px,34px)!important;
  letter-spacing:-.03em!important;
}
@media (max-width:980px){
  html[lang="en"] #value .value-grid > article:first-child .flip-back-value{
    font-size:clamp(29px,110.88px,34px)!important;
  }
}


/* DE Journal, cards 01–03: uniform title size across the row so the copy
   below (Artikel lesen) stays aligned, plus a hard break on card 01/02.
   Unscoped by width (like the CZ suit-card fix). */
html[lang="de"] #journal .journal-card-button[data-journal-entry="journey"] h3,
html[lang="de"] #journal .journal-card-button[data-journal-entry="shirts"] h3,
html[lang="de"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  text-wrap:initial!important;
  max-width:100%!important;
}

/* IT Journal, cards 01–03: same treatment as DE. */
html[lang="it"] #journal .journal-card-button[data-journal-entry="journey"] h3,
html[lang="it"] #journal .journal-card-button[data-journal-entry="shirts"] h3,
html[lang="it"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  line-height:1.1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  text-wrap:initial!important;
  max-width:100%!important;
}

/* RU Journal, cards 01–03: smaller size — Cyrillic runs wider at the same px. */
html[lang="ru"] #journal .journal-card-button[data-journal-entry="journey"] h3,
html[lang="ru"] #journal .journal-card-button[data-journal-entry="shirts"] h3,
html[lang="ru"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  font-size:24px!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  text-wrap:initial!important;
  max-width:100%!important;
}

/* Unified luxury reveal
   Hero: původní pomalé odhalování po třech řádcích, potom tři buttony.
   Ostatní nadpisy a položky 03: odhalování po slovech bez změny typografie. */
.hero .hero-title > span{
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  animation:heroClaimReveal 1.05s cubic-bezier(.22,1,.36,1) forwards!important;
}
.hero .hero-title > span:nth-child(1){ animation-delay:.18s!important; }
.hero .hero-title > span:nth-child(2){ animation-delay:.38s!important; }
.hero .hero-title > span:nth-child(3){ animation-delay:.58s!important; }

.hero .hero-actions .hero-reveal-button{
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  animation:heroButtonReveal 1.05s cubic-bezier(.22,1,.36,1) forwards;
}
/* Plynulé pokračování po třetím řádku: stejná délka i stejný 0,20s rytmus, bez mezery. */
.hero .hero-actions .hero-reveal-button:nth-child(1){ animation-delay:.78s; }
.hero .hero-actions .hero-reveal-button:nth-child(2){ animation-delay:.98s; }
.hero .hero-actions .hero-reveal-button:nth-child(3){ animation-delay:1.18s; }

@keyframes heroButtonReveal{
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

.luxury-reveal-group .luxury-word,
.luxury-list-item .luxury-word{
  display:inline-block!important;
  opacity:0;
  transform:translateY(.55em);
  filter:blur(6px);
  will-change:transform,opacity,filter;
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform 1.05s cubic-bezier(.22,1,.36,1),
    filter 1.05s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--claim-delay,0s);
}

/* Sekce 03: původní barevný hover nesmí přepsat reveal opacity/transform. */
#wardrobe .luxury-list-item .luxury-word{
  transition-property:opacity,transform,filter!important;
  transition-duration:.9s,1.05s,1.05s!important;
  transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
  transition-delay:var(--claim-delay,0s)!important;
}

/* Sekce 03: vnořené animační span musí pouze zdědit původní vzhled.
   Levý název tak zůstává velký a pravý doplňkový text menší. */
#wardrobe .wardrobe-photo-trigger .luxury-word{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  white-space:normal!important;
  text-align:inherit!important;
  color:inherit!important;
}

.luxury-reveal-group.is-luxury-visible .luxury-word,
.luxury-list-group.is-luxury-visible .luxury-word,
.luxury-list-item.is-luxury-visible .luxury-word{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (prefers-reduced-motion: reduce){
  .hero .hero-title > span,
  .hero .hero-actions .hero-reveal-button,
  .luxury-reveal-group .luxury-word,
  .luxury-list-item .luxury-word{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* ======================================================================
   HERO INTRO SEQUENCE — photo → claim → buttons → menu → brand
   The three claim rows, three buttons, navigation and brand follow the
   same 0.20 s start cadence. Navigation now overlaps the final button
   reveal instead of waiting for it to finish; the brand follows 0.20 s later.
   ====================================================================== */
body.hero-intro-pending .hero-media,
body.hero-intro-pending .site-header .nav,
body.hero-intro-pending .site-header .header-controls,
body.hero-intro-pending .hero .hero-title > span,
body.hero-intro-pending .hero .hero-actions .hero-reveal-button,
body.hero-intro-pending .site-header .brand{
  animation:none!important;
  opacity:0!important;
}
body.hero-intro-pending .hero-media{
  transform:scale(1.025);
  filter:blur(8px) saturate(.8) contrast(1.06);
}
body.hero-intro-pending .site-header .nav,
body.hero-intro-pending .site-header .header-controls,
body.hero-intro-pending .site-header .brand{
  transform:translateY(-10px);
  filter:blur(6px);
}
body.hero-intro-pending .hero .hero-title > span,
body.hero-intro-pending .hero .hero-actions .hero-reveal-button{
  transform:translateY(.55em);
  filter:blur(6px);
}

body.hero-intro-ready .hero-media{
  animation:heroPhotoIntroReveal 1.05s cubic-bezier(.22,1,.36,1) 0s both!important;
}
body.hero-intro-ready .hero .hero-title > span{
  animation:heroClaimReveal 1.05s cubic-bezier(.22,1,.36,1) both!important;
}
body.hero-intro-ready .hero .hero-title > span:nth-child(1){ animation-delay:.30s!important; }
body.hero-intro-ready .hero .hero-title > span:nth-child(2){ animation-delay:.50s!important; }
body.hero-intro-ready .hero .hero-title > span:nth-child(3){ animation-delay:.70s!important; }

body.hero-intro-ready .hero .hero-actions .hero-reveal-button{
  animation:heroButtonReveal 1.05s cubic-bezier(.22,1,.36,1) both!important;
}
body.hero-intro-ready .hero .hero-actions .hero-reveal-button:nth-child(1){ animation-delay:.90s!important; }
body.hero-intro-ready .hero .hero-actions .hero-reveal-button:nth-child(2){ animation-delay:1.10s!important; }
body.hero-intro-ready .hero .hero-actions .hero-reveal-button:nth-child(3){ animation-delay:1.30s!important; }

/* Menu starts 0.20 s after button 3 starts — no wait for its completion. */
body.hero-intro-ready .site-header .nav,
body.hero-intro-ready .site-header .header-controls{
  animation:heroMenuIntroReveal 1.05s cubic-bezier(.22,1,.36,1) 1.50s both!important;
}
/* The brand follows navigation in the same 0.20 s cadence. */
body.hero-intro-ready .site-header .brand{
  animation:heroBrandIntroReveal 1.05s cubic-bezier(.22,1,.36,1) 1.70s both!important;
}

@keyframes heroPhotoIntroReveal{
  from{
    opacity:0;
    transform:scale(1.025);
    filter:blur(8px) saturate(.8) contrast(1.06);
  }
  to{
    opacity:.82;
    transform:scale(1);
    filter:blur(0) saturate(.8) contrast(1.06);
  }
}
/* CSS does not permit grouped @keyframes names; the two animations are
   intentionally kept identical so menu and brand feel like one system. */
@keyframes heroMenuIntroReveal{
  from{ opacity:0; transform:translateY(-10px); filter:blur(6px); }
  to{ opacity:1; transform:translateY(0); filter:blur(0); }
}
@keyframes heroBrandIntroReveal{
  from{ opacity:0; transform:translateY(-10px); filter:blur(6px); }
  to{ opacity:1; transform:translateY(0); filter:blur(0); }
}

@media (prefers-reduced-motion:reduce){
  body.hero-intro-pending .hero-media,
  body.hero-intro-pending .site-header .nav,
  body.hero-intro-pending .site-header .header-controls,
  body.hero-intro-pending .hero .hero-title > span,
  body.hero-intro-pending .hero .hero-actions .hero-reveal-button,
  body.hero-intro-pending .site-header .brand,
  body.hero-intro-ready .hero-media,
  body.hero-intro-ready .site-header .nav,
  body.hero-intro-ready .site-header .header-controls,
  body.hero-intro-ready .hero .hero-title > span,
  body.hero-intro-ready .hero .hero-actions .hero-reveal-button,
  body.hero-intro-ready .site-header .brand{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
  }
  body.hero-intro-pending .hero-media,
  body.hero-intro-ready .hero-media{
    opacity:.82!important;
    filter:saturate(.8) contrast(1.06)!important;
  }
}


/* ======================================================================
   MOBILE MENU — direct tap always wins over the hero intro timeline
   The closed navigation may still be inside its delayed reveal animation.
   Once the visitor taps the hamburger, the opened panel must be fully
   visible immediately rather than inheriting that pending opacity/filter.
   ====================================================================== */
@media (max-width:980px){
  body.hero-menu-interacted .site-header.menu-open #primary-nav,
  body.hero-menu-interacted .site-header.menu-open .nav{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* Desktop language trigger — identical outer geometry for every language.
   The code itself is optically tuned so narrow IT and wider RU remain balanced
   without changing the size of the bordered control. */
@media (min-width:981px){
  .desktop-language-trigger{
    width:48px!important;
    min-width:48px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 7px!important;
    gap:5px!important;
  }
  .desktop-language-trigger .language-current{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:19px!important;
    min-width:19px!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }
  .desktop-language-trigger .language-chevron{
    flex:0 0 8px!important;
    width:8px!important;
    text-align:center!important;
  }
  html[lang="it"] .desktop-language-trigger .language-current{
    font-size:11.5px!important;
    letter-spacing:.14em!important;
  }
  html[lang="ru"] .desktop-language-trigger .language-current{
    font-size:10.5px!important;
    letter-spacing:.09em!important;
  }
}


/* IT hero final: approved three-line wording and the same visual scale as CZ. */
@media (min-width:981px){
  html[lang="it"] .hero .hero-title{
    font-size:clamp(54px,97.92px,108px)!important;
    line-height:1.01!important;
    max-width:12ch!important;
  }
}
@media (max-width:980px){
  html[lang="it"] .hero .hero-title{
    font-size:clamp(42px,175.68px,58px)!important;
    line-height:1.02!important;
    max-width:10ch!important;
  }
}

/* ======================================================================
   SITE-WIDE LUXURY REVEAL — text, photography and cards
   Text follows the same soft rise/blur language used across the site.
   Desktop card and photo rows reveal from left to right; mobile items are
   revealed individually in their natural top-to-bottom scroll order.
   ====================================================================== */
.site-reveal-text,
.site-reveal-media,
.site-reveal-card{
  --site-reveal-delay:0s;
  will-change:opacity,transform,filter,clip-path;
}

.site-reveal-text{
  opacity:0;
  transform:translateY(22px);
  filter:blur(6px);
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    transform 1.05s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    filter 1.05s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay);
}

.site-reveal-media{
  opacity:0;
  transform:scale(1.018);
  filter:blur(8px) saturate(.86);
  clip-path:inset(0 0 10% 0);
  transition:
    opacity .95s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    transform 1.15s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    filter 1.15s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    clip-path 1.15s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay);
}

/* Cards do not animate transform, because the flip cards use transform for
   their own interaction. Opacity, blur and clip-path keep that interaction
   completely intact. */
.site-reveal-card{
  opacity:0;
  filter:blur(7px);
  clip-path:inset(0 0 12% 0);
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    filter 1.05s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    clip-path 1.05s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    transform .8s cubic-bezier(.2,.75,.2,1),
    background-color .28s var(--ease);
}

.site-reveal-text.is-site-reveal-visible,
.site-reveal-media.is-site-reveal-visible,
.site-reveal-card.is-site-reveal-visible{
  opacity:1;
  transform:none;
  filter:none;
  clip-path:inset(0 0 0 0);
}

@media (max-width:980px){
  .site-reveal-text{
    transform:translateY(18px);
  }
  .site-reveal-media{
    transform:scale(1.012);
  }
}

@media (prefers-reduced-motion:reduce){
  .site-reveal-text,
  .site-reveal-media,
  .site-reveal-card{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}


/* =====================================================================
   02 + 04 — skutečně viditelný reveal flip karet
   Původní transform transition flip karet měl vyšší specificitu a přebíjel
   opacity/filter/clip-path reveal, takže se karty jen okamžitě objevily.
   Individual property `translate` zachovává 3D flip přes `transform`.
   ===================================================================== */
#method .method-grid .flip-card.site-reveal-card,
#value .value-grid .flip-card.site-reveal-card{
  translate:0 24px;
  /* clip-path is intentionally disabled here: on the same element as
     transform-style:preserve-3d it flattens the card and breaks its reverse. */
  clip-path:none!important;
  transition:
    opacity 1.00s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    translate 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    filter 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    transform .8s cubic-bezier(.2,.75,.2,1),
    background-color .28s var(--ease)!important;
}

#method .method-grid .flip-card.site-reveal-card.is-site-reveal-visible,
#value .value-grid .flip-card.site-reveal-card.is-site-reveal-visible{
  translate:0 0;
  clip-path:none!important;
}

@media (prefers-reduced-motion:reduce){
  #method .method-grid .flip-card.site-reveal-card,
  #value .value-grid .flip-card.site-reveal-card{
    translate:0 0!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #method .method-grid .flip-card.site-reveal-card,
  #value .value-grid .flip-card.site-reveal-card{
    opacity:1!important;
    translate:0 0!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}


/* =====================================================================
   Tři fotografie za sekcí 01 — stejný čitelný rytmus jako karty 02/04
   Desktop: krátké nadechnutí a postup zleva doprava. Mobilní logika
   zůstává samostatně shora dolů bez skupinové prodlevy.
   ===================================================================== */
@media (min-width:981px){
  .media-band .image-slot.site-reveal-media{
    translate:0 24px;
    transform:scale(1.018);
    transition:
      opacity 1.00s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
      translate 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
      transform 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
      filter 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
      clip-path 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay);
  }

  .media-band .image-slot.site-reveal-media.is-site-reveal-visible{
    translate:0 0;
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .media-band .image-slot.site-reveal-media{
    translate:0 0!important;
  }
}


/* =====================================================================
   05 Journal — stejné čitelné postupné odhalení jako karty 02/04
   Základní .journal-card měl jen hover transition, takže reveal působil
   jako skok. Přidáváme vlastní opacity/translate/filter/clip-path rytmus.
   ===================================================================== */
#journal .journal-grid .journal-card.site-reveal-card{
  translate:0 24px;
  transition:
    opacity 1.00s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    translate 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    filter 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    clip-path 1.10s cubic-bezier(.22,1,.36,1) var(--site-reveal-delay),
    background-color .28s var(--ease)!important;
}

#journal .journal-grid .journal-card.site-reveal-card.is-site-reveal-visible{
  translate:0 0;
}

@media (prefers-reduced-motion:reduce){
  #journal .journal-grid .journal-card.site-reveal-card{
    opacity:1!important;
    translate:0 0!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}


/* =====================================================================
   04 Bespoke — bez vloženého podkladu a bez rámečku
   Při reveal má být vidět pouze samotná fotografie pozadí sekce,
   nikoli žádná bílá nebo tónovaná grid vrstva mezi kartami.
   ===================================================================== */
@media (min-width:981px){
  #value .value-grid{
    background:transparent!important;
    border:0!important;
    border-top:0!important;
    gap:0!important;
    padding:0!important;
    box-shadow:none!important;
    position:relative;
  }

  /* Rámeček se objeví až po dokončení reveal poslední karty. */
  #value .value-grid::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(123,79,50,.32);
    opacity:0;
    pointer-events:none;
    z-index:8;
    transition:opacity .38s cubic-bezier(.22,1,.36,1);
  }

  #value .value-grid.is-value-frame-visible::after{
    opacity:1;
  }
}


/* =====================================================================
   05 Journal — bez podkladu během reveal, rámeček až po odhalení všech karet
   Během nástupu je vidět pouze vínové pozadí sekce; po dokončení třetí karty
   jemně dofadeuje pouze vnější rámeček bez návratu podkladové vrstvy.
   ===================================================================== */
@media (min-width:981px){
  #journal .journal-grid{
    background:transparent!important;
    border:0!important;
    gap:0!important;
    padding:0!important;
    box-shadow:none!important;
    position:relative;
  }

  #journal .journal-grid::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(251,247,239,.18);
    opacity:0;
    pointer-events:none;
    z-index:8;
    transition:opacity .38s cubic-bezier(.22,1,.36,1);
  }

  #journal .journal-grid.is-journal-frame-visible::after{
    opacity:1;
  }
}


/* Footer must never remain hidden by the site-wide reveal observer. */
.site-footer,
.site-footer > span{
  opacity:1!important;
  transform:none!important;
  translate:none!important;
  filter:none!important;
  clip-path:none!important;
  visibility:visible!important;
}
.site-footer{
  position:relative;
  z-index:2;
}


/* =====================================================================
   04 Bespoke — mobil bez podkladu během reveal, rámeček až po všech kartách
   Konzistentně s desktopem: během reveal jen fotografie pozadí sekce,
   po plném odhalení všech čtyř karet jemně dofadeuje vnější rámeček.
   ===================================================================== */
@media (max-width:980px){
  #value .value-grid{
    background:transparent!important;
    border:0!important;
    border-top:0!important;
    gap:0!important;
    padding:0!important;
    box-shadow:none!important;
    position:relative;
  }

  #value .value-grid::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(123,79,50,.32);
    opacity:0;
    pointer-events:none;
    z-index:8;
    transition:opacity .38s cubic-bezier(.22,1,.36,1);
  }

  #value .value-grid.is-value-frame-visible::after{
    opacity:1;
  }
}


/* =====================================================================
   01 Ateliér — desktop truly centered across the full section width
   The user wants the heading centered and the intro text block stretched
   wider so each sentence fits comfortably on its own line.
   ===================================================================== */
@media (min-width:981px){
  #atelier{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  #atelier > .section-kicker{
    grid-column:1 / -1!important;
    margin-bottom:28px!important;
  }

  #atelier .atelier-main{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }

  #atelier .atelier-main h2{
    width:min(100%, 1600px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  #atelier .atelier-intro{
    width:min(100%, 1700px)!important;
    max-width:1700px!important;
    margin:56px auto 0!important;
    font-size:clamp(23px,22.32px,26px)!important;
    line-height:1.58!important;
    text-align:center!important;
  }

  #atelier .atelier-intro span + span{
    margin-top:10px!important;
  }
}


/* =====================================================================
   01 Ateliér — desktop: jemná hierarchie uvnitř tří vět intro textu
   1. věta cca +15 %, 2. věta cca +8 %, 3. věta zůstává základní.
   ===================================================================== */
@media (min-width:981px){
  #atelier .atelier-intro > span:nth-child(1){
    font-size:1.15em!important;
    line-height:1.48!important;
  }

  #atelier .atelier-intro > span:nth-child(2){
    font-size:1.15em!important;
    line-height:1.48!important;
  }

  #atelier .atelier-intro > span:nth-child(3){
    font-size:1em!important;
    line-height:1.58!important;
  }
}


/* =====================================================================
   01 Ateliér — desktop language-specific tuning for sentence 01
   DE still wraps too early -> reduce the first sentence from +15% to +10%.
   RU still wraps too early -> reduce the first sentence from +15% to +5%.
   ===================================================================== */
@media (min-width:981px){
  html[lang="de"] #atelier .atelier-intro > span:nth-child(1){
    font-size:1.10em!important;
    line-height:1.50!important;
  }

  html[lang="ru"] #atelier .atelier-intro > span:nth-child(1){
    font-size:1.05em!important;
    line-height:1.52!important;
  }
}


/* =====================================================================
   01 Ateliér — desktop final language-specific sentence 01 sizing
   All languages use +10 % for the first sentence, except RU which stays at +5 %.
   ===================================================================== */
@media (min-width:981px){
  #atelier .atelier-intro > span:nth-child(1){
    font-size:1.10em!important;
    line-height:1.50!important;
  }

  html[lang="ru"] #atelier .atelier-intro > span:nth-child(1){
    font-size:1.05em!important;
    line-height:1.52!important;
  }
}


/* =====================================================================
   01 Ateliér — RU first sentence back to base size (0 %)
   ===================================================================== */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > span:nth-child(1){
    font-size:1em!important;
    line-height:1.58!important;
  }
}


/* =====================================================================
   01 Ateliér — RU second sentence slightly larger (+3 %)
   ===================================================================== */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > span:nth-child(2){
    font-size:1.03em!important;
    line-height:1.55!important;
  }
}


/* =====================================================================
   Zelené pole / quote panel — pevná geometrie jako v CZ verzi
   Dlouhé překlady nesmí roztahovat textový sloupec a zužovat fotografii.
   ===================================================================== */
@media (min-width:981px){
  .quote-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  .quote-panel .portrait,
  .quote-panel blockquote{
    min-width:0!important;
    width:100%!important;
  }

  .quote-panel blockquote{
    overflow:hidden;
  }
}




/* =====================================================================
   Zelené pole — přesné čtyři řádky a automatické zmenšení jen při nutnosti
   Fotografie má ve všech jazycích stejnou polovinu jako v CZ. Na desktopu
   se každý schválený textový span drží na jediném řádku; JS sníží celý citát
   jen tehdy, když nejdelší řádek skutečně přesahuje dostupnou šířku.
   ===================================================================== */
@media (min-width:981px){
  .quote-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  .quote-panel .portrait,
  .quote-panel blockquote{
    min-width:0!important;
    width:100%!important;
  }

  .quote-panel blockquote{
    padding-left:57.6px!important;
    padding-right:57.6px!important;
    overflow:hidden!important;
  }

  .quote-panel blockquote p > span[data-cs]{
    display:block!important;
    white-space:nowrap!important;
    max-width:none!important;
  }
}


/* =====================================================================
   05 Journal — three separate gold-framed stories
   Instead of one shared block, each journal card gets its own subtle gold
   frame. The shared outer frame is disabled so the section reads as three
   distinct stories.
   ===================================================================== */
#journal .journal-grid{
  gap:14px!important;
  background:transparent!important;
  border:0!important;
}

#journal .journal-card{
  border:1px solid rgba(205,165,74,.52)!important;
  background:var(--burgundy)!important;
  box-shadow:none!important;
}

#journal .journal-card:hover{
  border-color:rgba(205,165,74,.9)!important;
}

@media (min-width:981px){
  #journal .journal-grid{
    gap:14px!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
  }

  #journal .journal-grid::after{
    display:none!important;
    content:none!important;
  }
}

@media (max-width:980px){
  #journal .journal-grid{
    gap:12px!important;
    background:transparent!important;
    border:0!important;
  }
}

/* Pojistka proti 1–2px zaokrouhlovacím přesahům (zoom na velkých displejích) */
html, body{ overflow-x:hidden; }

/* =====================================================================
   FINÁLNÍ KOREKCE (musí zůstat na konci souboru) — obnova oprav
   přetékání ověřených s reálným Didotem; edice s rámečky je přebila.
   ===================================================================== */
@media (min-width:981px){
  html[lang="it"] .hero .hero-title{ font-size:min(6.8vw, 98px)!important; }
  html[lang="de"] #method .method-grid article:nth-child(1) .flip-back-note{ font-size:19.4px!important; }
  html[lang="de"] #value .value-grid article:nth-child(1) .flip-back-note{ font-size:20px!important; }
}
@media (max-width:980px){
  html[lang="de"] .hero .hero-title{ max-width:100%!important; }
  html[lang="it"] .hero .hero-title{ font-size:min(51px, 185.76px)!important; max-width:100%!important; }
}

/* =====================================================================
   02 — kompaktnější vertikální geometrie karet
   Zachovává plné překlady do maximálně pěti řádků bez zmenšování písma.
   ===================================================================== */
@media (min-width:981px){
  #method .method-grid > article,
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid > article{
    min-height:0!important;
    padding:30px 26px 24px!important;
  }
  #method .method-grid h3{
    margin-top:22px!important;
  }
  #method .method-grid h3 + p,
  #method .method-grid article:last-child h3 + p{
    margin-top:14px!important;
    margin-bottom:0!important;
    line-height:1.55!important;
  }
  #method .method-grid .flip-back{
    gap:14px!important;
    padding:30px 26px!important;
  }
}

@media (max-width:980px){
  #method .method-grid > article,
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .method-grid > article{
    min-height:0!important;
    padding:28px 24px 24px!important;
  }
  #method .method-grid h3{
    margin-top:20px!important;
  }
  #method .method-grid h3 + p,
  #method .method-grid article:last-child h3 + p{
    margin-top:14px!important;
    margin-bottom:0!important;
    line-height:1.55!important;
  }
  #method .method-grid .flip-back{
    gap:14px!important;
    padding:28px 24px!important;
  }
}

/* =====================================================================
   HERO DESKTOP — společná horní osa fotografie a claimu
   Velké displeje zachovávají původní horizontální geometrii.
   ===================================================================== */
@media (min-width:981px){
  .hero{
    --hero-desktop-content-top:158px;
  }
  .hero-media{
    top:var(--hero-desktop-content-top)!important;
    height:calc(100% - var(--hero-desktop-content-top))!important;
  }
  .hero-copy{
    position:relative!important;
    grid-column:2!important;
    align-self:start!important;
    margin-top:var(--hero-desktop-content-top)!important;
    padding:0 86.4px 0 61.2px!important;
    max-width:720px!important;
  }
  .hero .hero-title{
    position:relative!important;
    margin:0!important;
    transform:none!important;
  }
}

/* =====================================================================
   HERO DESKTOP — jednotná typografická výška ve všech jazycích
   CZ / EN / DE / IT / ES / RU používají stejnou výslednou velikost claimu.
   Tím zůstává horní osa společná a trojice CTA při změně jazyka neposkakuje.
   ===================================================================== */
@media (min-width:981px){
  html[lang] .hero .hero-title{
    font-size:min(6.8vw, 98px)!important;
    line-height:1.01!important;
  }
}

/* =====================================================================
   HERO DESKTOP — skutečný crop do fyzické výšky viewportu
   Kompenzuje globální zoom velkých displejů: typografie zůstává škálovaná,
   ale fotografie ani celý hero blok už nepřerostou spodní hranu obrazovky.
   ===================================================================== */
@media (min-width:981px){
  .hero{
    min-height:0!important;
    height:var(--hero-viewport-height, 100vh)!important;
    max-height:var(--hero-viewport-height, 100vh)!important;
  }
  .hero-media{
    height:calc(var(--hero-viewport-height, 100vh) - var(--hero-desktop-content-top))!important;
  }
}

/* =====================================================================
   ZELENÉ POLE — portrét vždy ukotvený hlavou nahoře
   Na velmi širokých displejích se fotografie ořezává odspodu, nikoli přes
   hlavu. Horizontální usazení portrétu zůstává zachované.
   ===================================================================== */
@media (min-width:981px){
  .quote-panel .portrait{
    background-position:74% top!important;
  }
}

/* =====================================================================
   ZELENÉ POLE — maximálně jedna fyzická obrazovka na desktopu
   Kompenzace globálního zoomu pro MacBook 14", Studio Display a XDR.
   ===================================================================== */
@media (min-width:981px){
  .quote-panel{
    min-height:0!important;
    height:min(820px, var(--hero-viewport-height, 100vh))!important;
    max-height:var(--hero-viewport-height, 100vh)!important;
  }

  .quote-panel .portrait,
  .quote-panel blockquote{
    min-height:0!important;
    height:100%!important;
  }
}

/* Discreet entry price for the personal shirt programme */
.wardrobe-entry-price{
  margin-top:clamp(18px,2.1vw,30px);
  padding-top:clamp(14px,1.7vw,22px);
  border-top:1px solid rgba(251,247,239,.18);
  display:grid;
  gap:8px;
}
.wardrobe-entry-price strong{
  font:500 14px/1.25 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(251,247,239,.88);
}
.wardrobe-entry-price span{
  max-width:58ch;
  font-size:12px;
  line-height:1.55;
  color:rgba(251,247,239,.56);
}


/* Atelier intro — lead sentence + full-block quotation marks */
#atelier .atelier-intro{
  position:relative;
  padding-top:22px;
  padding-bottom:20px;
}
#atelier .atelier-intro > .atelier-intro-lead{
  font-family:var(--serif);
  font-size:clamp(23px,2vw,32px)!important;
  line-height:1.18!important;
  letter-spacing:-.02em;
  color:var(--black);
  max-width:34ch;
  margin-bottom:14px!important;
}
#atelier .atelier-intro > .atelier-quote-mark{
  display:block!important;
  font-family:var(--serif);
  font-size:58px!important;
  line-height:.55!important;
  color:var(--gold);
  height:28px;
  pointer-events:none;
}
#atelier .atelier-intro > .atelier-quote-open{
  margin:0 0 14px -2px!important;
}
#atelier .atelier-intro > .atelier-quote-close{
  margin:22px 0 0 -2px!important;
}
@media (max-width:980px){
  #atelier .atelier-intro{
    padding-top:14px;
    padding-bottom:12px;
  }
  #atelier .atelier-intro > .atelier-intro-lead{
    font-size:23px!important;
    line-height:1.2!important;
    margin-bottom:12px!important;
  }
  #atelier .atelier-intro > .atelier-quote-mark{
    font-size:48px!important;
    height:24px;
  }
  #atelier .atelier-intro > .atelier-quote-open{margin-bottom:12px!important;}
  #atelier .atelier-intro > .atelier-quote-close{margin-top:18px!important;}
}

/* =====================================================================
   01 ATELIÉR — finální korekce citátového bloku
   Lead zůstává na společné středové ose, na desktopu je na jednom řádku
   a je pouze typograficky větší. Uvozovky jsou plně viditelné nad a pod
   celým blokem.
   ===================================================================== */
#atelier .atelier-intro > .atelier-quote-mark{
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
  text-align:center!important;
  font-family:var(--serif)!important;
  font-size:64px!important;
  line-height:1!important;
  color:var(--gold)!important;
}
#atelier .atelier-intro > .atelier-quote-open{
  margin:0 0 10px!important;
}
#atelier .atelier-intro > .atelier-quote-close{
  margin:18px 0 0!important;
}

@media (min-width:981px){
  #atelier .atelier-intro > .atelier-intro-lead{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 16px!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:clamp(24px,2.45vw,40px)!important;
    line-height:1.16!important;
    letter-spacing:-.02em!important;
  }
}

@media (max-width:980px){
  #atelier .atelier-intro > .atelier-quote-mark{
    font-size:54px!important;
    line-height:1!important;
  }
  #atelier .atelier-intro > .atelier-quote-open{
    margin:0 0 8px!important;
  }
  #atelier .atelier-intro > .atelier-quote-close{
    margin:16px 0 0!important;
  }
}

/* Atelier intro — lead and body use the same font weight; lead differs only by size */
#atelier .atelier-intro > .atelier-intro-lead,
#atelier .atelier-intro > .atelier-intro-body{
  font-weight:400!important;
}
#atelier .atelier-intro > .atelier-intro-body{
  color:var(--black)!important;
}


/* 02 icon optical tuning: slightly smaller clock in card 01 */
#method .method-grid article:nth-child(1) .flip-back .flip-icon{
  width:44px!important;
  height:44px!important;
}


/* Atelier quote marks — identical optical glyph size top/bottom */
#atelier .atelier-intro > .atelier-quote-open{
  transform:rotate(180deg)!important;
  transform-origin:center center!important;
}

/* FINAL atelier quotation marks — exact same rendered size; cache-busted 20260825-q2 */
#atelier .atelier-intro > .atelier-quote-open,
#atelier .atelier-intro > .atelier-quote-close{
  display:block!important;
  width:100%!important;
  height:64px!important;
  margin-left:0!important;
  margin-right:0!important;
  font-family:var(--serif)!important;
  font-size:64px!important;
  font-weight:400!important;
  line-height:64px!important;
  text-align:center!important;
  color:var(--gold)!important;
  overflow:visible!important;
}
#atelier .atelier-intro > .atelier-quote-open{
  transform:rotate(180deg)!important;
  transform-origin:50% 50%!important;
  margin-top:0!important;
  margin-bottom:10px!important;
}
#atelier .atelier-intro > .atelier-quote-close{
  transform:none!important;
  margin-top:18px!important;
  margin-bottom:0!important;
}


/* HARD FIX q3 — quotation marks must override legacy nth-child rules */
#atelier .atelier-intro > span.atelier-quote-open:nth-child(1),
#atelier .atelier-intro > span.atelier-quote-close:last-child{
  display:block!important;
  width:100%!important;
  height:64px!important;
  font-family:var(--serif)!important;
  font-size:64px!important;
  font-weight:400!important;
  line-height:64px!important;
  text-align:center!important;
  color:var(--gold)!important;
  overflow:visible!important;
}
#atelier .atelier-intro > span.atelier-quote-open:nth-child(1){
  transform:rotate(180deg)!important;
  transform-origin:50% 50%!important;
}
#atelier .atelier-intro > span.atelier-quote-close:last-child{
  transform:none!important;
}
@media (max-width:980px){
  #atelier .atelier-intro > span.atelier-quote-open:nth-child(1),
  #atelier .atelier-intro > span.atelier-quote-close:last-child{
    height:54px!important;
    font-size:54px!important;
    line-height:54px!important;
  }
}


/* q4 — semantic atelier intro overrides; legacy nth-child rules must not touch quote marks */
@media (min-width:981px){
  #atelier .atelier-intro > span.atelier-quote-open:nth-child(1),
  #atelier .atelier-intro > span.atelier-quote-close:nth-child(5){
    display:block!important;
    width:100%!important;
    height:64px!important;
    font-family:var(--serif)!important;
    font-size:64px!important;
    font-weight:400!important;
    line-height:64px!important;
    text-align:center!important;
    color:var(--gold)!important;
    overflow:visible!important;
  }
  #atelier .atelier-intro > span.atelier-quote-open:nth-child(1){
    transform:rotate(180deg)!important;
    transform-origin:50% 50%!important;
  }
  #atelier .atelier-intro > span.atelier-quote-close:nth-child(5){
    transform:none!important;
  }
  #atelier .atelier-intro > span.atelier-intro-lead:nth-child(2){
    font-size:clamp(24px,2.45vw,40px)!important;
    line-height:1.16!important;
  }
  #atelier .atelier-intro > span.atelier-intro-body:nth-child(3),
  #atelier .atelier-intro > span.atelier-intro-body:nth-child(4){
    font-size:1em!important;
    line-height:1.58!important;
  }
}

/* EN statement: approved fixed line break */
html[lang="en"] .statement p > span{
  display:block!important;
}
html[lang="en"] .statement p > span::after{
  content:""!important;
}

/* EN FINAL — 02/04 flip-card typography, 2026-08-25 */
@media (min-width:981px){
  /* Section 02: all concise backs use an intentional two-line rhythm. */
  html[lang="en"] #method .method-grid .flip-back-note{
    font-size:17.5px!important;
    line-height:1.46!important;
    max-width:none!important;
    white-space:nowrap!important;
    letter-spacing:-.005em!important;
  }
  /* The long English measurement label needs a quieter scale. */
  html[lang="en"] #method .method-grid article:nth-child(2) .flip-back-value{
    font-size:32px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }
  /* Section 04 / card 03: keep the DNA statement on exactly two lines. */
  html[lang="en"] #value .value-grid article:nth-child(3) .flip-back-note{
    font-size:16.5px!important;
    line-height:1.45!important;
    max-width:none!important;
    white-space:nowrap!important;
    letter-spacing:-.005em!important;
  }
}
@media (max-width:980px){
  html[lang="en"] #method .method-grid article:nth-child(2) .flip-back-value{
    font-size:30px!important;
    white-space:normal!important;
  }
  html[lang="en"] #method .method-grid .flip-back-note,
  html[lang="en"] #value .value-grid article:nth-child(3) .flip-back-note{
    white-space:normal!important;
  }
}

/* FINAL LANGUAGE VISUAL PARITY — large displays, mirrors style.css final block */
@media (min-width:1441px){
  #method .method-grid .flip-back-value,
  #value .value-grid .flip-back-value{white-space:nowrap!important;max-width:100%!important;line-height:1!important;}
  #method .method-grid .flip-back-note,
  #value .value-grid .flip-back-note{white-space:nowrap!important;max-width:none!important;line-height:1.48!important;letter-spacing:-.006em!important;}
  html[lang="cs"] #method .flip-back-note{font-size:20px!important;} html[lang="en"] #method .flip-back-note{font-size:17px!important;} html[lang="de"] #method .flip-back-note{font-size:16.5px!important;} html[lang="it"] #method .flip-back-note{font-size:16.5px!important;} html[lang="es"] #method .flip-back-note{font-size:16.5px!important;} html[lang="ru"] #method .flip-back-note{font-size:16px!important;}
  #method .flip-back-value{font-size:42px!important;} html[lang="en"] #method article:nth-child(2) .flip-back-value{font-size:29px!important;} html[lang="de"] #method article:nth-child(2) .flip-back-value{font-size:35px!important;} html[lang="it"] #method article:nth-child(2) .flip-back-value{font-size:31px!important;} html[lang="es"] #method article:nth-child(2) .flip-back-value{font-size:29px!important;} html[lang="ru"] #method article:nth-child(2) .flip-back-value{font-size:36px!important;}
  html[lang="de"] #method article:nth-child(3) .flip-back-value{font-size:34px!important;} html[lang="it"] #method article:nth-child(3) .flip-back-value{font-size:34px!important;} html[lang="es"] #method article:nth-child(3) .flip-back-value{font-size:31px!important;} html[lang="ru"] #method article:nth-child(3) .flip-back-value{font-size:31px!important;}
  html[lang="de"] #method article:nth-child(4) .flip-back-value{font-size:32px!important;} html[lang="it"] #method article:nth-child(4) .flip-back-value{font-size:31px!important;} html[lang="es"] #method article:nth-child(4) .flip-back-value{font-size:29px!important;} html[lang="ru"] #method article:nth-child(4) .flip-back-value{font-size:30px!important;}
  html[lang="cs"] #value .flip-back-note{font-size:20px!important;} html[lang="en"] #value .flip-back-note{font-size:18px!important;} html[lang="de"] #value .flip-back-note{font-size:17px!important;} html[lang="it"] #value .flip-back-note{font-size:17px!important;} html[lang="es"] #value .flip-back-note{font-size:17px!important;} html[lang="ru"] #value .flip-back-note{font-size:16.5px!important;}
  #value .flip-back-value{font-size:42px!important;} html[lang="en"] #value article:nth-child(1) .flip-back-value{font-size:38px!important;} html[lang="de"] #value article:nth-child(3) .flip-back-value{font-size:32px!important;} html[lang="it"] #value article:nth-child(3) .flip-back-value{font-size:34px!important;} html[lang="es"] #value article:nth-child(3) .flip-back-value{font-size:32px!important;} html[lang="ru"] #value article:nth-child(3) .flip-back-value{font-size:31px!important;} html[lang="de"] #value article:nth-child(4) .flip-back-value{font-size:35px!important;} html[lang="it"] #value article:nth-child(4) .flip-back-value{font-size:35px!important;} html[lang="es"] #value article:nth-child(4) .flip-back-value{font-size:35px!important;} html[lang="ru"] #value article:nth-child(4) .flip-back-value{font-size:34px!important;}
}

/* =====================================================================
   FINAL LANGUAGE CARD CLEANUP — LARGE DISPLAYS — 2026-08-25
   Mirrors style.css; deliberately last so earlier experiments cannot win.
   ===================================================================== */
@media (min-width:1441px){
  #method .method-grid .flip-back-value,
  #value .value-grid .flip-back-value{
    white-space:nowrap!important;
    overflow:visible!important;
    max-width:100%!important;
    line-height:1.02!important;
  }
  #method .method-grid .flip-back-note,
  #value .value-grid .flip-back-note{
    white-space:nowrap!important;
    max-width:none!important;
    line-height:1.46!important;
    letter-spacing:-.008em!important;
  }

  html[lang="en"] #method .flip-back-note,
  html[lang="de"] #method .flip-back-note,
  html[lang="es"] #method .flip-back-note,
  html[lang="it"] #method .flip-back-note{font-size:18.5px!important;}
  html[lang="ru"] #method .flip-back-note{font-size:18px!important;}

  html[lang="en"] #method article:nth-child(2) .flip-back-value{font-size:36px!important;}
  html[lang="es"] #method article:nth-child(2) .flip-back-value,
  html[lang="it"] #method article:nth-child(2) .flip-back-value{font-size:38px!important;}
  html[lang="ru"] #method article:nth-child(2) .flip-back-value{font-size:40px!important;}
  html[lang="de"] #method article:nth-child(3) .flip-back-value,
  html[lang="es"] #method article:nth-child(3) .flip-back-value,
  html[lang="it"] #method article:nth-child(3) .flip-back-value{font-size:40px!important;}
  html[lang="ru"] #method article:nth-child(3) .flip-back-value{font-size:37px!important;}
  html[lang="de"] #method article:nth-child(4) .flip-back-value{font-size:37px!important;}
  html[lang="es"] #method article:nth-child(4) .flip-back-value{font-size:36px!important;}
  html[lang="it"] #method article:nth-child(4) .flip-back-value{font-size:34px!important;}
  html[lang="ru"] #method article:nth-child(4) .flip-back-value{font-size:34px!important;}

  html:not([lang="cs"]) #value .flip-back-note{font-size:18.5px!important;}
  html[lang="ru"] #value .flip-back-note{font-size:18px!important;}
  html[lang="de"] #value article:nth-child(3) .flip-back-value{font-size:36px!important;}
  html[lang="es"] #value article:nth-child(3) .flip-back-value,
  html[lang="it"] #value article:nth-child(3) .flip-back-value{font-size:35px!important;}
  html[lang="ru"] #value article:nth-child(3) .flip-back-value{font-size:35px!important;}

  html[lang="ru"] #value .value-grid article:nth-child(3) > h3{
    font-size:clamp(38px,3.2vw,54px)!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
  html[lang="ru"] #atelier .atelier-intro{max-width:1500px!important;}
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-lead{
    font-size:clamp(24px,1.75vw,30px)!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-body{
    font-size:clamp(19px,1.25vw,22px)!important;
    line-height:1.5!important;
    white-space:normal!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-quote-open,
  html[lang="ru"] #atelier .atelier-intro > .atelier-quote-close{
    font-size:64px!important;
    line-height:64px!important;
    height:64px!important;
  }
}

/* Quote marks — exact same computed size; defeats legacy nth-child intro rules */
#atelier .atelier-intro > span.atelier-quote-open.atelier-quote-mark:nth-child(1),
#atelier .atelier-intro > span.atelier-quote-close.atelier-quote-mark:nth-child(5){
  display:block!important;
  width:100%!important;
  height:64px!important;
  font-size:64px!important;
  line-height:64px!important;
  font-weight:400!important;
  text-align:center!important;
  color:var(--gold)!important;
}

/* LANGUAGE CARD REBUILD 4 — keep the same card geometry above 1440 px. */
@media (min-width:1441px){
  #method .method-grid .flip-back,
  #value .value-grid .flip-back{
    gap:18px!important;
    padding:36px 30px!important;
  }
  #method .method-grid .flip-back-value,
  #value .value-grid .flip-back-value{
    font-size:42px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    max-width:none!important;
    width:auto!important;
  }
  #method .method-grid .flip-back-note,
  #value .value-grid .flip-back-note{
    font-size:20px!important;
    line-height:1.48!important;
    letter-spacing:-.006em!important;
    white-space:nowrap!important;
    max-width:none!important;
    width:auto!important;
  }
  html[lang="ru"] #atelier .atelier-intro{
    max-width:min(1560px,92vw)!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-lead{
    font-size:clamp(23px,1.55vw,29px)!important;
    line-height:1.2!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-body{
    font-size:clamp(18px,1.18vw,22px)!important;
    line-height:1.5!important;
  }
}


/* RU FINAL TUNING — 2026-08-26: visual parity with CZ */
@media (min-width:981px){
  /* Atelier quote: use the available horizontal space and keep RU readable. */
  html[lang="ru"] #atelier .atelier-intro{
    width:min(100%,1800px)!important;
    max-width:min(1800px,95vw)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-lead{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(30px,1.9vw,38px)!important;
    line-height:1.18!important;
    white-space:normal!important;
  }
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-body{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(23px,1.45vw,30px)!important;
    line-height:1.44!important;
    white-space:normal!important;
  }

  /* RU value card 03: visually match the other card headlines. */
  html[lang="ru"] #value .value-grid article:nth-child(3) > h3{
    font-size:38px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
}


/* RU journal journey card — 3-line title, same type size, lifted for CTA alignment */
@media (min-width:981px){
  html[lang="ru"] #journal .journal-card-button[data-journal-entry="journey"] h3{
    font-size:clamp(25px,2.05vw,34px)!important;
    line-height:1.08!important;
    margin-top:22px!important;
    max-width:none!important;
  }
}
@media (max-width:980px){
  html[lang="ru"] #journal .journal-card-button[data-journal-entry="journey"] h3{
    font-size:clamp(24px,6.6vw,31px)!important;
    line-height:1.08!important;
    margin-top:24px!important;
  }
}


/* RU FINAL MICRO-TUNE — 2026-08-26 */
@media (min-width:981px){
  /* Journal journey: slightly lower than previous adjustment, CTA stays aligned via flex. */
  html[lang="ru"] #journal .journal-card-button[data-journal-entry="journey"] h3{
    margin-top:28px!important;
  }
  /* Philosophy card 02: compact three-line paragraph, no visual holes. */
  html[lang="ru"] #method .method-grid article:nth-child(2) > p{
    font-size:15.5px!important;
    line-height:1.55!important;
    letter-spacing:-.006em!important;
  }
}


/* RU card 02 micro-size — 2026-08-26 */
@media (min-width:981px){
  html[lang="ru"] #method .method-grid article:nth-child(2) .flip-back-value{
    font-size:37.5px!important;
  }
}


/* RU FINAL SIZE PARITY — 2026-08-26 */
@media (min-width:981px){
  /* Section 04 long face, card 03: visually align with neighboring headlines. */
  html[lang="ru"] #value .value-grid article:nth-child(3) > h3{
    font-size:35px!important;
    line-height:1.03!important;
    letter-spacing:-.02em!important;
  }
  /* Section 02 concise faces, cards 01–02: smaller numeral-led headlines.
     JS uses the same 36px base after fonts load, preventing later fit reset. */
  html[lang="ru"] #method .method-grid article:nth-child(1) .flip-back-value,
  html[lang="ru"] #method .method-grid article:nth-child(2) .flip-back-value{
    font-size:36px!important;
  }
}


/* RU OPTICAL PARITY — 2026-08-26: numerals/cyrillic matched by eye, not nominal size */
@media (min-width:981px){
  html[lang="ru"] #value .value-grid article:nth-child(3) > h3{
    font-size:31px!important;
    line-height:1.04!important;
    letter-spacing:-.015em!important;
  }
  html[lang="ru"] #method .method-grid article:nth-child(1) .flip-back-value,
  html[lang="ru"] #method .method-grid article:nth-child(2) .flip-back-value{
    font-size:31px!important;
  }
}

/* SECTION 04 CONCISE HEADLINE PARITY — preserve identical title metrics on large displays. */
@media (min-width:981px){
  #value .value-grid .flip-back .flip-back-value{
    font-size:42px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    min-height:1.02em!important;
  }
}

/* SECTION 04 — concise-side heading geometry is identical in all four cards. */
#value .value-grid .flip-back .flip-back-value{
  line-height:1.02!important;
  min-height:1.02em!important;
  margin:0!important;
}

/* SECTION 02 — concise card 01: numeral-led 60–90 title optically matched to the other card titles. */
@media (min-width:981px){
  #method .method-grid article:nth-child(1) .flip-back-value{
    font-size:36px!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
  }
  html[lang="ru"] #method .method-grid article:nth-child(1) .flip-back-value{
    font-size:31px!important;
  }
}


/* SECTION 02 EXACT TITLE PARITY — card 01 uses card 03 as the size master.
   Initial paint shares the same base; JS copies card 03's post-fit computed size exactly. */
@media (min-width:981px){
  #method .method-grid article:nth-child(1) .flip-back-value{
    font-size:42px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
}

/* CZ Journal suit headline — preserve the approved two-line break exactly. */
html[lang="cs"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  white-space:nowrap!important;
}

/* RU atelier quote lead — 2026-08-26: slightly larger first sentence only */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-lead{
    font-size:clamp(32px,2.1vw,41px)!important;
  }
}

/* RU atelier lead — exact parity with the approved lead size in other languages. */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > .atelier-intro-lead{
    font-size:clamp(24px,2.45vw,40px)!important;
  }
}

/* RU atelier — ONLY the first sentence is enlarged. No body/quote changes. */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-lead{
    font-size:clamp(28px,2.75vw,44px)!important;
  }
}

/* RU ATELIER — FINAL: enlarge ONLY the first sentence of the quotation. */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-lead:nth-child(2){
    font-size:46px!important;
    line-height:1.14!important;
  }
}

/* RU ATELIER — exact parity with the approved first-sentence size in other languages. */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-lead:nth-child(2){
    font-size:clamp(23px,2vw,32px)!important;
    line-height:1.18!important;
  }
}

/* RU ATELIER QUOTE — FINAL VISUAL TUNE 2026-08-26 */
@media (min-width:981px){
  html[lang="ru"] #atelier .atelier-intro{
    width:min(100%,1700px)!important;
    max-width:min(1700px,94vw)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-lead:nth-child(2){
    font-size:36px!important;
    line-height:1.18!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
  }
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-body:nth-child(3),
  html[lang="ru"] #atelier .atelier-intro > span.atelier-intro-body:nth-child(4){
    font-size:20px!important;
    line-height:1.50!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
}


/* RU Bespoke 04 / card 01 — keep only this long headline slightly smaller on large displays. */
html[lang="ru"] #value .value-grid article:nth-child(1) .flip-back-value{
  font-size:31px!important;
}

/* RU 04 Bespoke card 01 concise title — FINAL wide-screen override. */
html[lang="ru"] #value .value-grid article:nth-child(1) .flip-back .flip-back-value{
  font-size:27px!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
  max-width:100%!important;
}

/* RU 04 Bespoke card 01 — align body copy with the other concise card backs */
html[lang="ru"] #value .value-grid article:nth-child(1) .flip-back-note{
  transform:translateY(8px)!important;
}

/* =====================================================================
   ENTRY SHIRT PROGRAM — discreet pill label + quieter price
   ===================================================================== */
.wardrobe-entry-price-title{
  display:inline-flex!important;
  align-items:center!important;
  justify-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  padding:7px 12px 6px!important;
  border:1px solid rgba(251,247,239,.34)!important;
  border-radius:999px!important;
  font:500 10px/1 var(--sans)!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  font-style:normal!important;
  white-space:nowrap!important;
  color:rgba(251,247,239,.86)!important;
}
.wardrobe-entry-price > strong{
  font:500 12px/1.25 var(--sans)!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  color:rgba(251,247,239,.80)!important;
}

/* ENTRY SHIRT PROGRAM — compact correction */
.wardrobe-entry-price-title{
  display:inline-flex!important;
  align-items:center!important;
  justify-self:start!important;
  width:auto!important;
  max-width:max-content!important;
  margin:0 0 4px!important;
  padding:4px 8px 3px!important;
  border:1px solid rgba(251,247,239,.28)!important;
  border-radius:999px!important;
  font:500 8px/1.05 var(--sans)!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:rgba(251,247,239,.80)!important;
}
.wardrobe-entry-price > strong{
  font:500 10px/1.2 var(--sans)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:rgba(251,247,239,.76)!important;
}


/* ENTRY SHIRT PROGRAM — final compact sizing 2026-08-26 */
.wardrobe-entry-price-title{
  margin:0 0 3px!important;
  padding:3px 7px 2px!important;
  font:500 7px/1.05 var(--sans)!important;
  letter-spacing:.08em!important;
}
.wardrobe-entry-price > strong{
  font:500 8.5px/1.2 var(--sans)!important;
  letter-spacing:.07em!important;
}

/* ENTRY SHIRT PROGRAM — user requested at least one-third smaller */
.wardrobe-entry-price-title{
  margin:0 0 2px!important;
  padding:2px 5px 1px!important;
  font:500 4.6px/1.05 var(--sans)!important;
  letter-spacing:.07em!important;
}
.wardrobe-entry-price > strong{
  font:500 5.6px/1.18 var(--sans)!important;
  letter-spacing:.06em!important;
}

/* ENTRY SHIRT PROGRAM — real computed sizing fix (undefined --sans made prior font shorthands invalid) */
.wardrobe-entry-price-title{
  font-size:11.2px!important;
  line-height:1.1!important;
  font-weight:500!important;
}
.wardrobe-entry-price > strong{
  font-size:10.6px!important;
  line-height:1.2!important;
  font-weight:500!important;
}

/* ENTRY SHIRT PROGRAM — final pill breathing room 2026-08-26 */
.wardrobe-entry-price-title{
  padding:4px 9px 3px!important;
}


/* ENTRY SHIRT PROGRAM — align price with pill + equal brightness */
.wardrobe-entry-price-head{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-self:start!important;
  width:max-content!important;
  max-width:100%!important;
}
.wardrobe-entry-price-head > .wardrobe-entry-price-title{
  justify-self:auto!important;
}
.wardrobe-entry-price-head > strong{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  text-align:center!important;
}
.wardrobe-entry-price > span{
  color:rgba(251,247,239,.80)!important;
}

/* ENTRY SHIRT PROGRAM — final alignment/readability correction */
.wardrobe-entry-price-head{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-self:start!important;
  width:max-content!important;
  max-width:100%!important;
}
.wardrobe-entry-price-title{
  color:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
}
.wardrobe-entry-price-head > strong{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  color:#fff!important;
}
.wardrobe-entry-price > span{
  color:#fff!important;
}

/* ENTRY SHIRT PROGRAM — slightly more air between pill and price */
.wardrobe-entry-price-head > strong{
  margin-top:4px!important;
}

/* ENTRY SHIRT PROGRAM — price slightly larger than supporting copy */
.wardrobe-entry-price-head > strong{
  font-size:12px!important;
  line-height:1.2!important;
}


/* =====================================================================
   DE DESKTOP — SECTION 02 EXACT 3-LINE TITLE — 2026-08-26
   Keep the existing semantic breaks, prevent each approved line from wrapping.
   Desktop only; phone/tablet layouts remain untouched.
   ===================================================================== */
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  html[lang="de"] #method .method-title-desktop{
    max-width:none!important;
    font-size:clamp(42px,4.6vw,76px)!important;
    line-height:1.02!important;
  }
  html[lang="de"] #method .method-title-desktop > span{
    display:block!important;
    white-space:nowrap!important;
  }
}


/* =====================================================================
   RU DESKTOP LARGE — SECTION 01 TITLE SIZE MATCH SECTION 02 — 2026-08-26
   Mirrors RU section 02 scale in style-large.css.
   ===================================================================== */
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  html[lang="ru"] #atelier .atelier-title{
    font-size:clamp(38px,72px,82px)!important;
    line-height:1!important;
  }
}


/* =====================================================================
   DESKTOP LARGE — SECTION 01 TITLE SCALE MATCHES SECTION 02 — ALL LANGUAGES
   2026-08-26. Mirrors the desktop rule above for style-large.css.
   ===================================================================== */
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  #atelier .atelier-main h2.atelier-title{
    font-size:clamp(38px,72px,82px)!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
  }
  html[lang="de"] #atelier .atelier-main h2.atelier-title{
    font-size:clamp(42px,4.6vw,76px)!important;
    line-height:1.02!important;
  }
}

/* Wardrobe 06 — shift crop upward, show more top, less bottom */
.wardrobe-photo-modal.is-wardrobe-program .wardrobe-photo-image{
  object-fit:cover;
  object-position:50% 20%;
}

/* ENTRY SHIRT PROGRAM — gold treatment 2026-08-28 */
.wardrobe-entry-price{
  border-top-color:rgba(185,147,74,.28)!important;
}
.wardrobe-entry-price-title{
  color:#B9934A!important;
  border-color:rgba(185,147,74,.72)!important;
}
.wardrobe-entry-price-head > strong,
.wardrobe-entry-price > span{
  color:#B9934A!important;
}


/* Appointment booking — compact date + time pairs */
.appointment-term-fieldset{
  margin:0;
  padding:0;
  border:0;
  min-width:0;
}
.appointment-term-fieldset legend{
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:0;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:10px;
  line-height:1.35;
}
.appointment-term-row{
  gap:12px;
}
.appointment-alt-fieldset{
  margin-top:2px;
  padding-top:16px;
  border-top:1px solid rgba(185,147,74,.18);
}
.appointment-confirmation-note{
  margin-top:2px!important;
  color:rgba(185,147,74,.88)!important;
  text-align:center;
  font-size:14px!important;
  line-height:1.45!important;
  letter-spacing:.04em;
}



/* Appointment — custom sartorial date picker */
.appointment-date-field{
  display:grid;
  gap:8px;
  min-width:0;
  text-align:left;
}
.appointment-date-field-label{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:10px;
}
.appointment-date-control{min-width:0}
.appointment-date-trigger{
  width:100%;
  min-height:46px;
  padding:11px 42px 11px 12px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border:1px solid rgba(185,147,74,.34)!important;
  background:rgba(251,247,239,.04)!important;
  color:rgba(251,247,239,.58)!important;
  border-radius:0!important;
  text-align:left;
  cursor:pointer;
  transition:border-color .22s var(--ease),background .22s var(--ease),color .22s var(--ease);
  animation:none!important;
}
.appointment-date-trigger:hover,
.appointment-date-trigger:focus-visible{
  border-color:rgba(185,147,74,.82)!important;
  background:rgba(185,147,74,.06)!important;
  color:var(--ivory)!important;
  outline:none!important;
}
.appointment-date-trigger.has-value{color:var(--ivory)!important}
.appointment-date-icon{
  position:absolute;
  right:14px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  border:1px solid rgba(185,147,74,.72);
  border-top-width:3px;
  pointer-events:none;
}
.appointment-date-icon::before,
.appointment-date-icon::after{
  content:"";
  position:absolute;
  top:-5px;
  width:1px;
  height:5px;
  background:var(--gold);
}
.appointment-date-icon::before{left:3px}
.appointment-date-icon::after{right:3px}

.appointment-datepicker-layer{
  position:absolute;
  inset:0;
  z-index:12;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(17,17,17,.68);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s var(--ease),visibility .22s var(--ease);
}
.appointment-datepicker-layer.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.appointment-datepicker{
  width:min(360px,100%);
  padding:24px 24px 18px;
  background:var(--black);
  color:var(--ivory);
  border:1px solid rgba(185,147,74,.52);
  box-shadow:0 24px 70px rgba(0,0,0,.5);
  outline:none;
}
.appointment-datepicker-head{
  display:grid;
  grid-template-columns:38px 1fr 38px;
  align-items:center;
  gap:8px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(185,147,74,.2);
}
.appointment-datepicker-month{
  color:var(--gold);
  font-size:22px;
  line-height:1;
  text-align:center;
  text-transform:none;
}
.appointment-datepicker-nav{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:grid!important;
  place-items:center;
  border:1px solid rgba(185,147,74,.28)!important;
  background:transparent!important;
  color:var(--gold)!important;
  font-family:inherit!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer;
  animation:none!important;
}
.appointment-datepicker-nav:hover:not(:disabled),
.appointment-datepicker-nav:focus-visible:not(:disabled){
  border-color:var(--gold)!important;
  background:rgba(185,147,74,.08)!important;
  outline:none!important;
}
.appointment-datepicker-nav:disabled{opacity:.22;cursor:default}
.appointment-datepicker-weekdays,
.appointment-datepicker-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
.appointment-datepicker-weekdays{
  padding:18px 0 8px;
  color:rgba(185,147,74,.72);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.appointment-datepicker-days{gap:4px 2px}
.appointment-datepicker-day{
  aspect-ratio:1;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center;
  border:1px solid transparent!important;
  background:transparent!important;
  color:rgba(251,247,239,.84)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
  cursor:pointer;
  animation:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.appointment-datepicker-day:hover:not(:disabled),
.appointment-datepicker-day:focus-visible:not(:disabled){
  border-color:rgba(185,147,74,.72)!important;
  background:rgba(185,147,74,.09)!important;
  outline:none!important;
}
.appointment-datepicker-day.is-today:not(.is-selected){
  border-color:rgba(185,147,74,.42)!important;
  color:var(--gold)!important;
}
.appointment-datepicker-day.is-selected{
  border-color:var(--gold)!important;
  background:var(--gold)!important;
  color:var(--black)!important;
  font-weight:600!important;
}
.appointment-datepicker-day:disabled{
  color:rgba(251,247,239,.2)!important;
  cursor:default;
}
.appointment-datepicker-blank{aspect-ratio:1}
.appointment-datepicker-footer{
  min-height:37px;
  margin-top:16px;
  padding-top:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(185,147,74,.2);
}
.appointment-datepicker-footer button{
  min-height:0!important;
  width:auto!important;
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  color:rgba(185,147,74,.86)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:11px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  animation:none!important;
}
.appointment-datepicker-footer button:hover,
.appointment-datepicker-footer button:focus-visible{
  color:var(--ivory)!important;
  outline:none!important;
}
.appointment-datepicker-clear[hidden]{visibility:hidden;display:block!important}

@media (max-width:520px){
  .appointment-datepicker-layer{padding:18px}
  .appointment-datepicker{width:min(340px,100%);padding:20px 18px 16px}
  .appointment-datepicker-month{font-size:20px}
  .appointment-datepicker-day{font-size:13px!important}
}

/* Appointment form — keep browser autofill in site design */
.appointment-request-form input:-webkit-autofill,
.appointment-request-form input:-webkit-autofill:hover,
.appointment-request-form input:-webkit-autofill:focus,
.appointment-request-form textarea:-webkit-autofill,
.appointment-request-form textarea:-webkit-autofill:hover,
.appointment-request-form textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ivory)!important;
  caret-color:var(--ivory)!important;
  border:1px solid rgba(185,147,74,.34)!important;
  -webkit-box-shadow:0 0 0 1000px #171717 inset!important;
  box-shadow:0 0 0 1000px #171717 inset!important;
  background-color:#171717!important;
  transition:background-color 9999s ease-out 0s!important;
}
.appointment-request-form input:autofill,
.appointment-request-form textarea:autofill{
  color:var(--ivory)!important;
  background:#171717!important;
  border-color:rgba(185,147,74,.34)!important;
}

/* =====================================================================
   ENTRY SHIRT PROGRAM — DESKTOP LARGE CENTER AXIS — 2026-08-28
   Mirrors style.css; center pill + price pair, leave supporting copy unchanged.
   ===================================================================== */
@media (min-width:981px) and (hover:hover) and (pointer:fine){
  .wardrobe-entry-price-head{
    justify-self:center!important;
    align-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .wardrobe-entry-price-title,
  .wardrobe-entry-price-head > strong{
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}


/* =====================================================================
   05 JOURNAL — SAFE DESKTOP CHROME FIX ONLY — 2026-08-29
   IMPORTANT: no phone selectors in this block. iPhone layout remains exactly
   as in the last confirmed-good pre-Journal build.
   ===================================================================== */
.journal-modal-desktop-break{ display:none; }

@media (min-width:981px){
  html:not(.is-ipad-device) .journal-modal-panel{
    height:auto!important;
    max-height:min(82vh,860px)!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    overflow:hidden!important;
  }
  html:not(.is-ipad-device) .journal-modal-media{
    min-height:520px!important;
  }
  html:not(.is-ipad-device) .journal-modal-media img{
    height:100%!important;
    min-height:520px!important;
  }
  html:not(.is-ipad-device) .journal-modal-content{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:0!important;
    height:auto!important;
    max-height:min(82vh,860px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    box-sizing:border-box!important;
  }
  html:not(.is-ipad-device)[lang="cs"] #journal-modal-title:has(.journal-modal-desktop-break){
    font-size:64px!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
  }
  html:not(.is-ipad-device)[lang="cs"] #journal-modal-title .journal-modal-desktop-break{
    display:block!important;
  }
}

/* iPad: remove only the native/white focus frame. No geometry changes. */
@media (min-width:700px) and (max-width:1366px){
  html.is-ipad-device #journal .journal-card-button,
  html.is-ipad-device #journal .journal-card-button:focus,
  html.is-ipad-device #journal .journal-card-button:focus-visible,
  html.is-ipad-device #journal .journal-card-button:active,
  html.is-ipad-device .journal-modal-close,
  html.is-ipad-device .journal-modal-close:focus,
  html.is-ipad-device .journal-modal-close:focus-visible,
  html.is-ipad-device .journal-modal-close:active{
    outline:0!important;
    outline-offset:0!important;
    box-shadow:none!important;
    -webkit-box-shadow:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  html.is-ipad-device #journal .journal-card-button{
    border:0!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
}



/* JOURNAL CARD 03 — preserve approved hard line breaks; do not alter language typography */
html[lang="en"] #journal .journal-card-button[data-journal-entry="suit"] h3,
html[lang="de"] #journal .journal-card-button[data-journal-entry="suit"] h3,
html[lang="it"] #journal .journal-card-button[data-journal-entry="suit"] h3,
html[lang="es"] #journal .journal-card-button[data-journal-entry="suit"] h3,
html[lang="ru"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  white-space:nowrap!important;
  text-wrap:initial!important;
}

/* EN Journal — cards 01/02/03 use one identical title size */
html[lang="en"] #journal .journal-card-button[data-journal-entry="journey"] h3,
html[lang="en"] #journal .journal-card-button[data-journal-entry="shirts"] h3,
html[lang="en"] #journal .journal-card-button[data-journal-entry="suit"] h3{
  font-size:clamp(28px,33.84px,40px)!important;
  line-height:1.08!important;
}

/* =====================================================================
   05 STORIES — RU cards 02/03 same title size as card 01 on large desktop
   2026-09-03
   style-large.css is loaded after style.css above 1440px, so the approved
   card-01 size must be repeated here for cards 02/03. Manual breaks stay.
   ===================================================================== */
@media (min-width:1441px){
  html[lang="ru"] #journal .journal-card-button[data-journal-entry="shirts"] h3,
  html[lang="ru"] #journal .journal-card-button[data-journal-entry="suit"] h3{
    font-size:clamp(25px,2.05vw,34px)!important;
    line-height:1.08!important;
    max-width:none!important;
  }
}

/* RU only — section 03: women’s sartorial wardrobe title visually aligned with the other rows */
@media (min-width:981px){
  html[lang="ru"] #wardrobe .wardrobe-photo-trigger[data-image*="wardrobe-07.jpg"] > span{
    font-size:clamp(27px,36.72px,40px)!important;
    line-height:1.04!important;
  }
}
html[lang="ru"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
  font-size:clamp(24px,30.96px,32px)!important;
  line-height:1.06!important;
}
@media (max-width:980px){
  html[lang="ru"] .wardrobe-photo-modal.is-women-wardrobe .wardrobe-photo-caption .wardrobe-photo-heading{
    font-size:clamp(24px,92.16px,30px)!important;
  }
}

/* =====================================================================
   06 APPOINTMENT — framed icon contacts + international atelier address — 2026-09-07
   ===================================================================== */
#appointment .contact-lines{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  margin-top:40px!important;
}
#appointment .contact-icons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
}
#appointment .contact-icon{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--gold)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--gold)!important;
  box-shadow:none!important;
  transform:none;
  transition:background-color .24s var(--ease), color .24s var(--ease), border-color .24s var(--ease), transform .18s var(--ease), box-shadow .24s var(--ease)!important;
}
#appointment .contact-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#appointment .contact-icon .contact-icon-dot{fill:currentColor;stroke:none;}
#appointment .contact-icon:hover,
#appointment .contact-icon:focus-visible{
  color:#0b0b0b!important;
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 18px rgba(185,147,74,.18)!important;
}
#appointment .contact-icon:active{transform:translateY(0) scale(.97)!important;}
#appointment .contact-icon:focus-visible,
#appointment .contact-address:focus-visible{outline:1px solid var(--gold)!important;outline-offset:5px!important;}
#appointment .contact-address{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--gold)!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.45!important;
  letter-spacing:.08em!important;
  text-transform:none!important;
  white-space:nowrap!important;
  transition:color .22s var(--ease), opacity .22s var(--ease)!important;
}
#appointment .contact-address svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#appointment .contact-address:hover,
#appointment .contact-address:focus-visible{
  color:#d3b36c!important;
  background:transparent!important;
  transform:none!important;
  box-shadow:none!important;
}


/* =====================================================================
   SEO SEMANTIC DOM CLEANUP — 2026-09-10
   One textual source per heading/copy block. Responsive line breaks remain
   purely presentational, so crawlers no longer receive duplicated wording.
   ===================================================================== */
.seo-semantic-heading{white-space:nowrap;}
.seo-semantic-heading .seo-token{display:inline!important;}
.seo-br-mobile,.seo-br-phone,.seo-br-portrait{display:none;}
.seo-br-desktop,.seo-br-nonportrait{display:inline;}

@media (max-width:980px){
  .seo-br-desktop{display:none;}
  .seo-br-mobile{display:inline;}
  #method .method-title-desktop.seo-method-title{
    display:block!important;
    font-size:clamp(44px,11vw,66px)!important;
    line-height:.96!important;
    margin-top:34px!important;
    text-align:center!important;
    max-width:100%!important;
  }
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #method .seo-method-title{
    font-size:clamp(40px,10.2vw,58px)!important;
  }
  #atelier .seo-generic-last{
    white-space:nowrap!important;
    font-size:.94em!important;
    letter-spacing:-.045em!important;
  }
  html[lang="cs"] #atelier .seo-generic-last{font-size:.95em!important;letter-spacing:-.05em!important;}
  html[lang="en"] #atelier .seo-generic-last{font-size:1em!important;letter-spacing:-.045em!important;}
  html:is([lang="de"],[lang="it"],[lang="es"],[lang="ru"]) #atelier .seo-generic-last{
    font-size:.84em!important;
    letter-spacing:-.05em!important;
  }
}

@media (max-width:420px){
  html[lang="en"] #atelier .seo-generic-last{font-size:.92em!important;}
}

/* iPad portrait deliberately follows the approved desktop/editorial line rhythm. */
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){
  .seo-br-desktop{display:inline!important;}
  .seo-br-mobile,.seo-br-phone{display:none!important;}
  #method .method-title-desktop.seo-method-title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    font-size:clamp(42px,6.15vw,62px)!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
  }
  html[lang="de"] #method .method-title-desktop.seo-method-title{
    max-width:none!important;
    font-size:clamp(36px,5.45vw,54px)!important;
    line-height:1.02!important;
  }
  #atelier .seo-generic-last{font-size:inherit!important;letter-spacing:inherit!important;}
}

/* Exact iPhone portrait alternatives that previously required duplicate headings. */
@media (max-width:480px) and (orientation:portrait){
  .seo-has-phone-lines .seo-br-mobile{display:none!important;}
  .seo-has-phone-lines .seo-br-phone{display:inline!important;}
  html[lang="de"] #method .seo-method-title{
    font-size:clamp(28px,7.7vw,33px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  html[lang="ru"] #method .seo-method-title{
    font-size:clamp(36px,9.4vw,52px)!important;
    line-height:.98!important;
  }

  /* Cancel generic last-line scaling where a word moves to the prior phone line. */
  html:is([lang="de"],[lang="es"],[lang="ru"]) #atelier .seo-phone-line-1,
  html:is([lang="de"],[lang="es"],[lang="ru"]) #atelier .seo-phone-line-2,
  html:is([lang="de"],[lang="es"],[lang="ru"]) #atelier .seo-phone-line-3{
    font-size:1em!important;
    letter-spacing:inherit!important;
  }
  html[lang="de"] #atelier .seo-phone-line-4{font-size:.76em!important;letter-spacing:-.04em!important;}
  html[lang="it"] #atelier .seo-phone-line-2{font-size:.88em!important;}
  html[lang="it"] #atelier .seo-phone-line-3{font-size:.84em!important;letter-spacing:-.05em!important;}
  html[lang="es"] #atelier .seo-phone-line-4{font-size:.78em!important;letter-spacing:-.045em!important;}
  html[lang="ru"] #atelier .seo-phone-line-1{font-size:.94em!important;}
  html[lang="ru"] #atelier .seo-phone-line-4{font-size:.84em!important;letter-spacing:-.05em!important;}
}

/* Section 04 body copy keeps the approved phone-portrait line rhythm without duplicate spans. */
@media (max-width:699px) and (orientation:portrait){
  #value .seo-br-nonportrait{display:none!important;}
  #value .seo-br-portrait{display:inline!important;}
}

/* Runtime modal headings: same visual styling, no empty H2/H3 in source outline. */
.journal-modal-content .journal-modal-heading{
  font-family:var(--serif);
  font-weight:400;
  margin:0;
}
.wardrobe-photo-caption .wardrobe-photo-heading{
  font-family:var(--serif);
  font-weight:400;
  margin:0;
}
/* =====================================================================
   02 — iPAD PORTRAIT EXACT 3-LINE TITLE — ALL LANGUAGES — 2026-09-10
   Restore the approved editorial 3-line rhythm for every localized heading.
   Safari-safe forced line breaks; no DOM text duplication.
   ===================================================================== */
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){
  html.is-ipad-device #method .seo-method-title .seo-br-desktop{
    display:block!important;
  }
  html.is-ipad-device #method .seo-method-title .seo-br-mobile,
  html.is-ipad-device #method .seo-method-title .seo-br-phone{
    display:none!important;
  }
}

