/* ═══════════════════════════════════════════════════════════
   XOXO. · Premium Intimate Cosmetics
   Deep plum · warm cream · burgundy satin · antique gold
   ═══════════════════════════════════════════════════════════ */

/* Bodoni Moda – self-hosted (žádné requesty na Google, netřeba cookie souhlas) */
/* math */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/bodoni/bodoni-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/bodoni/bodoni-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* latin-ext */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/bodoni/bodoni-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/bodoni/bodoni-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/Gilroy-Light.ttf") format("truetype");
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/Gilroy-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/Gilroy-Medium.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/Gilroy-SemiBold.ttf") format("truetype");
  font-weight:600; font-style:normal; font-display:swap;
}

:root{
  --ink:        #2e1132;   /* deep plum, type & logo   */
  --ink-soft:   #4b2a4e;
  --plum-dark:  #240d28;   /* dark bands               */
  --wine:       #4d1b2c;   /* burgundy satin           */
  --cream:      #f8ecdc;   /* page base                */
  --cream-soft: #fbf3e7;   /* lighter panels           */
  --cream-deep: #f3e2cd;   /* tiles / photo beige      */
  --gold:       #c79a58;
  --gold-soft:  #dcb87e;
  --hairline:   rgba(46,17,50,.16);

  --serif: "Bodoni Moda", "Didot", "Times New Roman", serif;
  --sans:  "Gilroy", "Avenir Next", sans-serif;

  --ease: cubic-bezier(.22,.61,.21,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

/* ── DOČASNÉ: e-shop ještě není hotový, všechny odkazy na něj schované.
      Až bude shop live, tento blok smazat. ── */
a[href^="https://shop.feelxoxo.com"]{ display:none !important; }

body{
  overflow-x:clip;
  font-family:var(--sans);
  font-weight:400;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* film grain */
body::after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  z-index:2000;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ max-width:100%; display:block; }
p{ text-wrap:pretty; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.container{
  width:min(1240px, 92vw);
  margin-inline:auto;
}

/* ───────────────────────────── type */

h1,h2,h3.audience-title, .section-title, .footer-news h3{
  font-family:var(--serif);
  font-weight:500;
  /* lock a smaller optical size so hairline strokes stay legible at display sizes */
  font-optical-sizing:none;
  font-variation-settings:"opsz" 16;
  text-transform:uppercase;
  line-height:1.06;
  --sx:.9;                        /* narrowed letterforms */
  transform:scaleX(var(--sx));
  transform-origin:left center;
}
.section-title, .audience-title{ transform-origin:center; }

.section-title{
  text-align:center;
  font-size:clamp(1.6rem, 3.2vw, 2.4rem);
  letter-spacing:.03em;
  margin-bottom:clamp(2.4rem, 5vw, 4rem);
}

.section-sub{
  text-align:center;
  font-weight:300;
  color:var(--ink-soft);
  margin:calc(-1 * clamp(1.8rem, 4vw, 3.2rem)) 0 clamp(2.4rem, 5vw, 4rem);
}

.eyebrow{
  font-family:var(--sans);
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--wine);
}

/* ───────────────────────────── buttons */

.btn{
  display:inline-block;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  padding:1.05em 2.4em 1em;
  border:1px solid transparent;
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.btn:active{ transform:translateY(1px); }

.btn-solid{
  background:var(--ink);
  color:var(--cream);
}
.btn-solid:hover{
  background:transparent;
  border-color:var(--ink);
  color:var(--ink);
}
.btn-solid:disabled{
  opacity:.35; cursor:not-allowed;
}
.btn-solid:disabled:hover{
  background:var(--ink); color:var(--cream); border-color:transparent;
}

.btn-outline{
  border-color:var(--gold);
  color:var(--gold-soft);
}
.btn-outline:hover{
  background:var(--gold);
  color:var(--plum-dark);
}

.btn-gold{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--plum-dark);
}
.btn-gold:hover{
  background:transparent;
  color:var(--gold-soft);
}
.btn-gold:hover .btn-arrow-glyph{ transform:translateX(5px); }

.btn-ghost{
  border-color:var(--ink);
  color:var(--ink);
  background:rgba(248,236,220,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.btn-ghost:hover{
  background:var(--ink);
  color:var(--cream);
}
.btn-arrow-glyph{
  display:inline-block;
  margin-left:.6em;
  transition:transform .35s var(--ease);
}
.btn-ghost:hover .btn-arrow-glyph{ transform:translateX(5px); }

/* ───────────────────────────── ticker */

.ticker{
  background:var(--plum-dark);
  color:var(--gold-soft);
  text-align:center;
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  padding:.72em 1em .66em;
}

/* ───────────────────────────── header */

.site-header{
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--cream) 86%, transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
.site-header.scrolled{ border-bottom-color:var(--hairline); }

.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:1.35rem;
  gap:2rem;
}

.logo{
  position:relative;
  width:104px; height:25px;
  background:var(--wine);
  -webkit-mask:url("assets/icons/logo.svg") no-repeat left center / contain;
          mask:url("assets/icons/logo.svg") no-repeat left center / contain;
  flex-shrink:0;
}
/* on hover, just the two hearts blush pink-red */
.logo::after{
  content:"";
  position:absolute; inset:0;
  background:#e8356a;
  -webkit-mask:url("assets/icons/logo-hearts.svg") no-repeat left center / contain;
          mask:url("assets/icons/logo-hearts.svg") no-repeat left center / contain;
  opacity:0;
  transition:opacity .35s var(--ease);
}
.logo:hover::after{ opacity:1; }

.main-nav{
  display:flex; gap:2.6rem;
}
.main-nav a, .contact-link{
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  position:relative;
  padding-bottom:.3em;
  display:inline-flex;
  align-items:center;
  gap:.55em;
}

.main-nav a svg, .contact-link svg{
  width:15px; height:15px;
  flex-shrink:0;
  color:var(--gold);
  transition:color .35s var(--ease), transform .35s var(--ease);
}
.main-nav a:hover svg, .contact-link:hover svg{
  color:var(--wine);
  transform:translateY(-1.5px);
}
.main-nav a::after, .contact-link::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:1px;
  background:var(--ink);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .4s var(--ease);
}
.main-nav a:hover::after, .contact-link:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

.header-right{ display:flex; align-items:center; gap:1.6rem; }

.shop-btn{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  background:var(--ink);
  color:var(--cream);
  border:1px solid var(--ink);
  padding:.85em 1.5em .8em;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.shop-btn svg{ width:15px; height:15px; flex-shrink:0; }
.shop-btn:hover{
  background:transparent;
  color:var(--ink);
}

.nav-toggle{
  display:none;
  background:none; border:0;
  width:30px; height:22px;
  position:relative;
}
.nav-toggle span{
  position:absolute; left:0; width:100%; height:1.5px;
  background:var(--ink);
  transition:transform .35s var(--ease), top .35s var(--ease);
}
.nav-toggle span:first-child{ top:5px; }
.nav-toggle span:last-child{ top:15px; }
body.nav-open .nav-toggle span:first-child{ top:10px; transform:rotate(45deg); }
body.nav-open .nav-toggle span:last-child{ top:10px; transform:rotate(-45deg); }

.eyebrow-logo{
  display:inline-block;
  width:64px; height:15px;
  background:var(--wine);
  -webkit-mask:url("assets/icons/logo.svg") no-repeat left center / contain;
          mask:url("assets/icons/logo.svg") no-repeat left center / contain;
  vertical-align:-2px;
  margin-right:.5em;
}

/* ───────────────────────────── hero */

.hero{
  position:relative;
  min-height:clamp(560px, 88vh, 860px);
  display:flex;
  align-items:center;
  background:#f6e7d6;
  overflow:hidden;
}

.hero-media{
  position:absolute; inset:0;
  background:url("assets/img/hero.jpg") center right / cover no-repeat;
  transform-origin:70% 45%;
}

@media (prefers-reduced-motion: no-preference){
  /* slow cinematic breathe */
  .hero-media{ animation:heroBreathe 32s ease-in-out infinite alternate; }
}
@keyframes heroBreathe{
  from{ scale:1; }
  to{ scale:1.06; }
}

/* light passing over the satin */
.hero-sheen{
  position:absolute;
  top:-12%; bottom:-12%;
  width:32%; left:-45%;
  background:linear-gradient(100deg,
    transparent 0%,
    rgba(255,241,221,.28) 50%,
    transparent 100%);
  transform:skewX(-14deg);
  mix-blend-mode:soft-light;
  z-index:1;
  pointer-events:none;
}
@media (prefers-reduced-motion: no-preference){
  .hero-sheen{ animation:sheen 11s ease-in-out 3s infinite; }
}
@keyframes sheen{
  0%{ left:-45%; }
  30%{ left:115%; }
  100%{ left:115%; }
}

.hero-media::before,
.hero-media::after{ z-index:2; }
.hero-media::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg,
    rgba(246,231,214,.98) 0%,
    rgba(246,231,214,.92) 26%,
    rgba(246,231,214,.55) 46%,
    rgba(246,231,214,0) 64%);
}
/* soft floor shadow anchors the composition */
.hero-media::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:22%;
  background:linear-gradient(180deg, rgba(46,17,50,0), rgba(46,17,50,.10));
  pointer-events:none;
}

.hero-inner{ position:relative; z-index:2; }

.hero-copy{ max-width:34rem; }

.hero h1{
  font-size:clamp(2.4rem, 5.2vw, 4.1rem);
  letter-spacing:.015em;
  margin:.9rem 0 1.4rem;
}

.lede{
  font-size:clamp(1.15rem, 1.7vw, 1.38rem);
  font-weight:400;
  line-height:1.4;
  letter-spacing:.012em;
  color:var(--ink);
  margin-bottom:2.4rem;
}
.lede strong{ font-weight:600; }

.hero-actions{
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
}

.scroll-cue{
  position:absolute;
  left:max(4vw, calc((100% - 1240px) / 2));
  bottom:2.4rem;
  z-index:3;
  display:flex; align-items:center; gap:.9rem;
  font-size:.64rem; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--ink);
  transition:opacity .3s;
}
.scroll-cue:hover{ opacity:.75; }

.cue-heart{
  width:17px; height:16px;
  background:var(--wine);
  -webkit-mask:url("assets/icons/intensity.svg") no-repeat center / contain;
          mask:url("assets/icons/intensity.svg") no-repeat center / contain;
  animation:heartbeat 2.2s ease-in-out infinite;
}
@keyframes heartbeat{
  0%, 40%, 100%{ transform:scale(1); }
  8%{ transform:scale(1.22); }
  16%{ transform:scale(1); }
  24%{ transform:scale(1.22); }
}

.cue-text{ padding-top:.1em; }

.cue-line{
  width:58px; height:1px;
  background:var(--ink);
  animation:cueline 2.6s var(--ease) infinite;
  transform-origin:left;
}
@keyframes cueline{
  0%{ transform:scaleX(0); transform-origin:left; }
  45%{ transform:scaleX(1); transform-origin:left; }
  55%{ transform:scaleX(1); transform-origin:right; }
  100%{ transform:scaleX(0); transform-origin:right; }
}

/* hero load-in */
.reveal-load{
  opacity:0;
  transform:translateY(26px) scaleX(var(--sx,1));
  animation:rise 1s var(--ease) forwards;
}
.d1{ animation-delay:.15s }
.d2{ animation-delay:.3s }
.d3{ animation-delay:.5s }
.d4{ animation-delay:.68s }
@keyframes rise{
  to{ opacity:1; transform:translateY(0) scaleX(var(--sx,1)); }
}

/* ───────────────────────────── find your more */

.find-more{
  background:var(--cream-soft);
  padding:clamp(4rem, 8vw, 6.5rem) 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}

.mood-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:1.1rem;
}

.mood{
  position:relative;
  background:transparent;
  border:1px solid var(--hairline);
  padding:2.1rem .8rem 1.7rem;
  display:flex; flex-direction:column; align-items:center; gap:1.1rem;
  overflow:hidden;
  transition:border-color .45s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease);
}

/* inner jewel-box frame */
.mood::before{
  content:"";
  position:absolute; inset:7px;
  border:1px solid var(--hairline);
  z-index:1;
  pointer-events:none;
  transition:border-color .45s var(--ease);
}

/* category colour, rising from below */
.mood::after{
  content:"";
  position:absolute; inset:0;
  background:var(--tile);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .5s var(--ease);
}

.mood-icon{
  width:56px; height:44px;
  background:var(--ink);
  -webkit-mask:var(--icon) no-repeat center / contain;
          mask:var(--icon) no-repeat center / contain;
  transition:background .45s var(--ease);
}

.mood-label{
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:capitalize;
  transition:color .45s var(--ease);
}

.mood-icon, .mood-label{ position:relative; z-index:2; }

.mood:hover, .mood.selected{
  border-color:var(--tile);
  transform:translateY(-4px);
  box-shadow:0 18px 34px -22px color-mix(in srgb, var(--tile) 55%, transparent);
}
.mood:hover::after, .mood.selected::after{ transform:scaleY(1); }
.mood:hover::before, .mood.selected::before{
  border-color:color-mix(in srgb, var(--on) 40%, transparent);
}
.mood:hover .mood-icon, .mood.selected .mood-icon{ background:var(--on); }
.mood:hover .mood-label, .mood.selected .mood-label{ color:var(--on); }

/* ── product spotlight ── */

.spotlight{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .75s var(--ease);
}
.spotlight.open{ grid-template-rows:1fr; }
.spotlight-clip{ overflow:hidden; }

.spotlight-stage{
  position:relative;
  margin-top:2.4rem;
  display:grid;
  grid-template-columns:minmax(240px, 330px) 1fr;
  gap:clamp(1.8rem, 3.5vw, 3.5rem);
  align-items:center;
  padding:clamp(1.8rem, 3vw, 3rem);
  background:var(--tile, var(--ink));
  overflow:hidden;
  transition:background .6s var(--ease);
}

/* oversized category watermark */
.spotlight-mark{
  position:absolute;
  right:-4%; bottom:-14%;
  width:46%; aspect-ratio:1.15;
  background:var(--on, var(--gold-soft));
  opacity:.1;
  -webkit-mask:var(--icon) no-repeat center / contain;
          mask:var(--icon) no-repeat center / contain;
  pointer-events:none;
  transition:background .6s var(--ease);
}

/* inner hairline frame */
.spotlight-frame{
  position:absolute; inset:10px;
  border:1px solid color-mix(in srgb, var(--on, var(--cream)) 26%, transparent);
  pointer-events:none;
  z-index:3;
  transition:border-color .6s var(--ease);
}

/* giant editorial word, cropped by the stage edge */
.spotlight-word{
  position:absolute;
  left:-1.5%; bottom:-6%;
  font-family:var(--serif);
  font-weight:500;
  font-optical-sizing:none;
  font-variation-settings:"opsz" 16;
  text-transform:uppercase;
  font-size:clamp(6.5rem, 15vw, 12.5rem);
  line-height:1;
  letter-spacing:.01em;
  color:var(--on, var(--cream));
  opacity:.1;
  white-space:nowrap;
  pointer-events:none;
  z-index:0;
}

/* soft light behind the product */
.spotlight-glow{
  position:absolute;
  left:-6%; top:50%;
  width:52%; aspect-ratio:1;
  transform:translateY(-50%);
  background:radial-gradient(circle,
    color-mix(in srgb, var(--on, var(--cream)) 26%, transparent) 0%,
    transparent 68%);
  pointer-events:none;
  z-index:1;
}

/* edition number */
.spotlight-no{
  position:absolute;
  top:1.5rem; right:2rem;
  font-family:var(--serif);
  font-size:.98rem;
  letter-spacing:.2em;
  color:color-mix(in srgb, var(--on, var(--cream)) 65%, transparent);
  z-index:3;
  transition:color .6s var(--ease);
}

.spotlight-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  animation:levitate 7s ease-in-out 1.2s infinite;
}
.spotlight-media img{
  max-height:clamp(300px, 34vw, 430px);
  width:auto;
  /* shadow tinted by the stage colour so light stages stay soft */
  --shadow:color-mix(in srgb, color-mix(in srgb, var(--tile, #14060a) 55%, #140a10) 38%, transparent);
  filter:drop-shadow(0 34px 38px var(--shadow));
  /* transition transform only: the shadow/glow must snap when the product
     switches, otherwise the previous category's glow bleeds onto the new one */
  transition:transform .6s var(--ease);
}
.spotlight-media:hover img{
  transition:transform .6s var(--ease), filter .6s var(--ease);
}
.spotlight-media:hover img{
  transform:rotate(-2.5deg) scale(1.04);
  filter:drop-shadow(0 44px 48px color-mix(in srgb, color-mix(in srgb, var(--tile, #14060a) 55%, #140a10) 46%, transparent));
}
@keyframes levitate{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-9px); }
}

/* amplify: soft rosy glow instead of a shadow on the light stage */
.spotlight-stage[data-key="amplify"] .spotlight-media img{
  filter:drop-shadow(0 6px 48px rgba(255,196,184,.9));
}
.spotlight-stage[data-key="amplify"] .spotlight-media:hover img{
  filter:drop-shadow(0 6px 60px rgba(255,206,194,1));
}
.spotlight-stage[data-key="amplify"] .spotlight-glow{
  background:radial-gradient(circle, rgba(255,214,203,.55) 0%, transparent 68%);
}

/* desire: the shimmer bottle radiates instead of casting a shadow */
.spotlight-stage[data-key="desire"] .spotlight-media img{
  filter:drop-shadow(0 6px 52px rgba(255,222,150,.85));
}
.spotlight-stage[data-key="desire"] .spotlight-media:hover img{
  filter:drop-shadow(0 6px 64px rgba(255,228,164,.95));
}
.spotlight-stage[data-key="desire"] .spotlight-glow{
  background:radial-gradient(circle, rgba(255,226,158,.5) 0%, transparent 68%);
}

.spotlight-eyebrow{
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--on, var(--cream)) 78%, transparent);
  margin-bottom:.9rem;
  transition:color .6s var(--ease);
}

.spotlight-name{
  font-family:var(--serif);
  font-weight:500;
  font-optical-sizing:none;
  font-variation-settings:"opsz" 16;
  text-transform:uppercase;
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  letter-spacing:.03em;
  line-height:1.05;
  --sx:.9;
  transform:scaleX(var(--sx));
  transform-origin:left center;
  margin-bottom:1rem;
  color:var(--on, var(--cream));
  transition:color .6s var(--ease);
}

.spotlight-desc{
  font-weight:300;
  max-width:30rem;
  white-space:pre-line;
  margin-bottom:1.8rem;
  color:color-mix(in srgb, var(--on, var(--cream)) 88%, transparent);
  transition:color .6s var(--ease);
}

.spotlight-actions{
  display:flex; align-items:center; gap:1.8rem; flex-wrap:wrap;
}

.spotlight-actions .btn-solid{
  background:var(--on, var(--cream));
  color:var(--tile, var(--ink));
}
.spotlight-actions .btn-solid:hover{
  background:transparent;
  border-color:var(--on, var(--cream));
  color:var(--on, var(--cream));
}

.btn-spot-outline{
  border-color:color-mix(in srgb, var(--on, var(--cream)) 60%, transparent);
  color:var(--on, var(--cream));
  background:transparent;
}
.btn-spot-outline:hover{
  background:var(--on, var(--cream));
  border-color:var(--on, var(--cream));
  color:var(--tile, var(--ink));
}

/* content swap choreography */
.spotlight-stage.swap .spotlight-media img{ animation:spotProduct .75s var(--ease); }
.spotlight-stage.swap .spotlight-word{ animation:spotWord .9s var(--ease); }
.spotlight-stage.swap .spotlight-no{ animation:spotRise .5s var(--ease) backwards .3s; }
.spotlight-stage.swap .spotlight-eyebrow{ animation:spotRise .5s var(--ease) backwards .05s; }
.spotlight-stage.swap .spotlight-name{ animation:spotRiseX .5s var(--ease) backwards .12s; }
.spotlight-stage.swap .spotlight-desc{ animation:spotRise .5s var(--ease) backwards .19s; }
.spotlight-stage.swap .spotlight-actions{ animation:spotRise .5s var(--ease) backwards .26s; }
@keyframes spotProduct{
  from{ opacity:0; transform:translateY(64px) rotate(4deg) scale(.93); }
  to{ opacity:1; transform:translateY(0) rotate(0) scale(1); }
}
@keyframes spotWord{
  from{ opacity:0; letter-spacing:.14em; }
  to{ opacity:.1; letter-spacing:.01em; }
}
@keyframes spotRise{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes spotRiseX{
  from{ opacity:0; transform:translateY(14px) scaleX(var(--sx)); }
  to{ opacity:1; transform:translateY(0) scaleX(var(--sx)); }
}

@media (max-width: 720px){
  .spotlight-stage{ grid-template-columns:1fr; }
  .spotlight-media img{ max-height:280px; }
  .spotlight-word{ font-size:clamp(4.5rem, 22vw, 7rem); bottom:auto; top:-2%; }
  .spotlight-no{ top:auto; bottom:1.4rem; }
}

/* ───────────────────────────── collection */

.collection{
  padding:clamp(4.5rem, 9vw, 7rem) 0;
}

.collection-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.6rem, 3vw, 3rem);
}

.audience-title{
  font-size:1.02rem;
  letter-spacing:.15em;
  text-align:center;
  display:flex; align-items:center; gap:1.1rem;
  margin-bottom:1.8rem;
}
.audience-title::before,
.audience-title::after{
  content:"";
  flex:1; height:1px;
  background:var(--hairline);
}

.audience-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(1rem, 1.8vw, 1.6rem);
}

.card-media{
  position:relative;
  display:block;
  background:var(--cream-deep);
  aspect-ratio:4 / 5;
  overflow:hidden;
  margin-bottom:1.3rem;
}
.card-media img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}

/* inner hairline frame, revealed on hover */
.card-media::after{
  content:"";
  position:absolute; inset:9px;
  border:1px solid color-mix(in srgb, var(--on, var(--cream)) 55%, transparent);
  opacity:0;
  transition:opacity .5s var(--ease);
  pointer-events:none;
}

/* edition number */
.card-no{
  position:absolute;
  top:.8rem; left:.95rem;
  z-index:2;
  font-family:var(--serif);
  font-size:.8rem;
  letter-spacing:.16em;
  color:var(--ink);
  opacity:.55;
  transition:opacity .4s, color .4s;
}

/* discover strip sliding up over the photo */
.card-strip{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  display:flex; align-items:center; justify-content:center; gap:.6em;
  background:var(--tile, var(--ink));
  color:var(--on, var(--cream));
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  padding:.95em 1em .85em;
  transform:translateY(101%);
  transition:transform .5s var(--ease);
}
.card-strip span{ transition:transform .35s var(--ease); }

.card:hover .card-media img{ transform:scale(1.055); }
.card:hover .card-media::after{ opacity:1; }
.card:hover .card-no{ opacity:.9; color:var(--on, var(--ink)); }
.card:hover .card-strip{ transform:translateY(0); }
.card-strip:hover span{ transform:translateX(5px); }

.card h4{
  font-family:var(--serif);
  font-weight:500;
  font-optical-sizing:none;
  font-variation-settings:"opsz" 16;
  text-transform:uppercase;
  font-size:1.06rem;
  letter-spacing:.06em;
  margin-bottom:.4rem;
}

.card p{
  font-size:.83rem;
  font-weight:300;
  line-height:1.55;
  margin-bottom:.9rem;
  color:var(--ink-soft);
}

.card-link{
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  border-bottom:1px solid color-mix(in srgb, var(--ink) 45%, transparent);
  padding-bottom:.3em;
  transition:border-color .35s;
}
.card-link span{ display:inline-block; transition:transform .35s var(--ease); }
.card-link:hover{ border-color:var(--ink); }
.card-link:hover span{ transform:translateX(5px); }

/* ───────────────────────────── story split */

.story{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  background:var(--cream-soft);
  border-top:1px solid var(--hairline);
}

.story-media{ position:relative; overflow:hidden; }
.story-media img{
  width:100%; height:100%;
  object-fit:cover;
  min-height:480px;
  scale:1.07;
  transition:scale 1.8s var(--ease);
}
.story-media.in img{ scale:1; }

/* inner hairline frame over the photo */
.story-media::after{
  content:"";
  position:absolute; inset:12px;
  border:1px solid rgba(248,236,220,.45);
  pointer-events:none;
}

.story-copy{
  position:relative;
  display:flex; align-items:center;
  padding:clamp(3.5rem, 6vw, 6rem);
  overflow:hidden;
}

/* oversized heart watermark */
.story-mark{
  position:absolute;
  right:-8%; bottom:-12%;
  width:56%; aspect-ratio:1.05;
  background:var(--wine);
  opacity:.055;
  -webkit-mask:url("assets/icons/intensity.svg") no-repeat center / contain;
          mask:url("assets/icons/intensity.svg") no-repeat center / contain;
  pointer-events:none;
}

.story-copy .eyebrow{ margin-bottom:1.1rem; }

.story-copy h2{
  font-size:clamp(2rem, 3.6vw, 3rem);
  letter-spacing:.03em;
  margin-bottom:1.2rem;
}

.story-rotator{
  font-size:clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight:300;
  margin-bottom:1.2rem;
}
.rot-word{
  display:inline-block;
  font-family:var(--serif);
  font-weight:500;
  font-optical-sizing:none;
  font-variation-settings:"opsz" 14;
  font-size:1.15em;
  color:var(--gold);
  border-bottom:1px solid color-mix(in srgb, var(--gold) 55%, transparent);
  padding:0 .12em .08em;
  transition:opacity .32s var(--ease), transform .32s var(--ease), width .32s var(--ease);
}
.rot-word.out{
  opacity:0;
  transform:translateY(-9px);
}

.story-copy p{
  font-weight:300;
  max-width:30rem;
  margin-bottom:2.2rem;
}
.story-copy p.story-rotator{ margin-bottom:1.2rem; }

/* ───────────────────────────── values band */

.values{
  background:var(--plum-dark);
  color:var(--cream);
  padding:clamp(4rem, 8vw, 6.5rem) 0;
  position:relative;
}
.values::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(90% 120% at 50% 0%, rgba(199,154,88,.08), transparent 60%);
  pointer-events:none;
}

.values .section-title{ color:var(--cream); }

/* huge logo watermark */
.values-mark{
  position:absolute;
  left:50%; top:52%;
  width:min(72%, 900px); aspect-ratio:536 / 128;
  transform:translate(-50%, -50%);
  background:var(--cream);
  opacity:.022;
  -webkit-mask:url("assets/icons/logo.svg") no-repeat center / contain;
          mask:url("assets/icons/logo.svg") no-repeat center / contain;
  pointer-events:none;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  position:relative;
}

.value{
  text-align:center;
  padding:0 clamp(1.5rem, 3vw, 3.5rem);
}
.value + .value{ border-left:1px solid rgba(248,236,220,.15); }
.values-grid .value:nth-child(2){ transition-delay:.09s; }
.values-grid .value:nth-child(3){ transition-delay:.18s; }

.value-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:86px; height:86px;
  border:1px solid rgba(220,184,126,.38);
  border-radius:50%;
  color:var(--gold-soft);
  margin-bottom:1.5rem;
  transition:background .5s var(--ease), color .5s var(--ease),
             border-color .5s var(--ease), transform .5s var(--ease);
}
.value-icon svg{ width:44px; height:44px; }
.value:hover .value-icon{
  background:var(--gold-soft);
  border-color:var(--gold-soft);
  color:var(--plum-dark);
  transform:translateY(-5px);
}

.value h3{
  font-family:var(--sans);
  font-weight:500;
  font-size:.95rem;
  letter-spacing:.06em;
  margin-bottom:.5rem;
  color:var(--gold-soft);
}

.value p{
  font-size:.86rem;
  font-weight:300;
  color:rgba(248,236,220,.75);
}

/* ───────────────────────────── banner */

.banner{
  position:relative;
  background:var(--wine);
  overflow:hidden;
}

.banner-media{
  position:absolute; inset:0;
  background:url("assets/img/ribbon-x.jpg") center right / cover no-repeat;
}
.banner-media::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg,
    rgba(36,13,40,.92) 0%,
    rgba(36,13,40,.72) 42%,
    rgba(36,13,40,.15) 78%,
    rgba(36,13,40,0) 100%);
}

/* light gliding over the ribbon satin */
.banner-sheen{
  position:absolute;
  top:-12%; bottom:-12%;
  width:30%; left:-40%;
  background:linear-gradient(100deg,
    transparent 0%,
    rgba(255,230,190,.16) 50%,
    transparent 100%);
  transform:skewX(-14deg);
  mix-blend-mode:screen;
  z-index:1;
  pointer-events:none;
}
@media (prefers-reduced-motion: no-preference){
  .banner-sheen{ animation:sheen 13s ease-in-out 2s infinite; }
}

.banner-inner{
  position:relative; z-index:2;
  padding:clamp(4.5rem, 9vw, 7.5rem) 0;
}

.banner-eyebrow{
  color:var(--gold-soft);
  margin-bottom:1.2rem;
}

.banner h2{
  color:var(--cream);
  font-size:clamp(1.9rem, 3.6vw, 3rem);
  letter-spacing:.03em;
  margin-bottom:2.2rem;
  max-width:34rem;
}
.banner h2 em{
  font-style:normal;
  color:var(--gold-soft);
}

/* ───────────────────────────── footer */

.footer{
  /* neutral charcoal: sits well under every product palette */
  background:#161419;
  color:#f6f1e9;
  padding-top:clamp(3.5rem, 6vw, 5rem);
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.2fr;
  gap:clamp(2.5rem, 5vw, 5rem);
  padding-bottom:3rem;
}

.logo-light{
  background:#f6f1e9;   /* fixed neutral, unaffected by page tints */
  width:110px; height:26px;
  margin-bottom:1.4rem;
}

.footer-brand p{
  font-size:.85rem;
  font-weight:300;
  color:rgba(248,236,220,.72);
  margin-bottom:1.6rem;
}

.footer-social{
  display:inline-flex;
  width:36px; height:36px;
  align-items:center; justify-content:center;
  border:1px solid rgba(248,236,220,.3);
  border-radius:50%;
  transition:border-color .3s, color .3s;
}
.footer-social:hover{ border-color:var(--gold-soft); color:var(--gold-soft); }
.footer-social svg{ width:16px; height:16px; }

.footer-nav{
  display:flex; flex-direction:column; gap:.9rem;
}
.footer-nav a{
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(248,236,220,.82);
  transition:color .3s;
  width:fit-content;
}
.footer-nav a:hover{ color:var(--gold-soft); }

.footer-news h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:1.35rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:.8rem;
}

.footer-news p{
  font-size:.85rem;
  font-weight:300;
  color:rgba(248,236,220,.72);
  margin-bottom:1.5rem;
  max-width:22rem;
}

.news-form{
  display:flex;
  border-bottom:1px solid rgba(248,236,220,.4);
  max-width:22rem;
}
.news-form input{
  flex:1;
  background:none; border:0;
  color:#f6f1e9;
  font-family:inherit;
  font-size:.88rem;
  padding:.7em 0;
  outline:none;
}
.news-form input::placeholder{ color:rgba(248,236,220,.45); }
.news-form button{
  background:none; border:0;
  color:var(--gold-soft);
  font-size:1.1rem;
  padding:0 .4em;
  transition:transform .3s var(--ease);
}
.news-form button:hover{ transform:translateX(4px); }

.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  gap:1.5rem; flex-wrap:wrap;
  border-top:1px solid rgba(248,236,220,.14);
  padding-block:1.5rem;
  font-size:.72rem;
  color:rgba(248,236,220,.55);
}

.footer-legal{ display:flex; gap:2rem; }
.footer-legal a{ transition:color .3s; }
.footer-legal a:hover{ color:var(--gold-soft); }

/* ───────────────────────────── scroll reveal */

.reveal{
  opacity:0;
  transform:translateY(30px) scaleX(var(--sx,1));
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in{
  opacity:1;
  transform:translateY(0) scaleX(var(--sx,1));
}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-load{ opacity:1; transform:none; animation:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ───────────────────────────── responsive */

@media (max-width: 1080px){
  .mood-grid{ grid-template-columns:repeat(3, 1fr); }
  .collection-grid{ grid-template-columns:1fr; gap:3rem; }
  .audience-cards{ max-width:560px; margin-inline:auto; }
}

@media (max-width: 860px){
  /* pojistka: přetok obsahu (dlouhé nbsp nadpisy apod.) nesmí roztáhnout
     layout viewport – jinak jde celá stránka panovat do strany */
  body > section, body > footer, body > .ticker{ overflow-x:clip; }
  /* backdrop-filter vytváří containing block pro fixed potomky,
     na mobilu ho nahrazujeme plným podkladem, aby overlay menu měřilo viewport */
  .site-header{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:var(--cream);
  }
  .main-nav{
    position:fixed;
    inset:0;
    height:100dvh;
    background:var(--cream);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2.2rem;
    font-size:1rem;
    transform:translateY(-102%);
    visibility:hidden;
    transition:transform .5s var(--ease), visibility 0s .5s;
    z-index:90;
  }
  body.nav-open .main-nav{
    transform:none;
    visibility:visible;
    transition:transform .5s var(--ease), visibility 0s;
  }
  body.nav-open{ overflow:hidden; }
  .main-nav a{ font-size:1rem; }
  .main-nav a svg{ width:20px; height:20px; }
  .nav-toggle{ display:block; z-index:95; }
  .shop-btn{ padding:.8em; }
  .shop-btn span{ display:none; }

  /* přepínač jazyka: z hlavičky pryč, žije v hamburger menu
     (vyšší specificita, definice .lang-switch je až na konci souboru) */
  .header-right .lang-switch{ display:none; }
  body.nav-open .header-right .lang-switch{
    display:flex;
    position:fixed;
    left:50%; bottom:10dvh;
    transform:translateX(-50%);
    z-index:95;
    font-size:.85rem;
    letter-spacing:.3em;
  }

  .story{ grid-template-columns:1fr; }
  .story-media img{ min-height:340px; max-height:56vh; }

  .values-grid{ grid-template-columns:1fr; gap:2.8rem; }
  .value + .value{ border-left:0; border-top:1px solid rgba(248,236,220,.15); padding-top:2.8rem; }

  .footer-grid{ grid-template-columns:1fr; gap:2.6rem; }
}

@media (max-width: 720px){
  /* ── "Čeho chceš víc?" → spotlight jako bottom sheet ── */
  .spotlight{
    position:fixed; inset:0; z-index:120;
    display:flex; align-items:flex-end;
    background:rgba(26,7,16,.55);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
    opacity:0; pointer-events:none; visibility:hidden;
    transition:opacity .4s var(--ease), visibility 0s .4s;
  }
  .spotlight.open{
    opacity:1; pointer-events:auto; visibility:visible;
    transition:opacity .4s var(--ease);
  }
  .spotlight-clip{
    width:100%; overflow:visible;
    transform:translateY(100%);
    transition:transform .55s var(--ease);
  }
  .spotlight.open .spotlight-clip{ transform:none; }
  .spotlight-stage{
    margin-top:0;
    border-radius:26px 26px 0 0;
    min-height:78dvh;
    max-height:90dvh;
    overflow:hidden;
    overscroll-behavior:contain;
    padding:2.4rem 1.5rem 2rem;
    gap:1.3rem;
    align-content:center;
  }
  /* úchyt jako u nativního sheetu */
  .spotlight-stage::after{
    content:"";
    position:absolute; top:.65rem; left:50%;
    transform:translateX(-50%);
    width:44px; height:4px; border-radius:99px;
    background:color-mix(in srgb, var(--on, #fff) 55%, transparent);
    z-index:6;
  }
  .spotlight-no{ top:1.5rem; right:1.5rem; bottom:auto; }
  /* watermark ikona: ve spodní půlce za textem, jen lehounce znatelná */
  .spotlight-mark{
    right:-8%; top:48%; bottom:auto;
    width:74%;
    opacity:.06;
  }
  /* glow: velké měkké světlo za produktem místo tečky */
  .spotlight-glow{
    left:50%; top:26%;
    transform:translate(-50%, -50%);
    width:130%;
  }
  .spotlight-media img{ max-height:290px; }
  /* obří slovo: celé na šířku, kousek níž, jen jemně */
  .spotlight-word{
    font-size:clamp(2.8rem, 15.5vw, 4.2rem);
    top:9%; bottom:auto;
    left:50%; transform:translateX(-50%);
    opacity:.08;
  }
  .spotlight-name{ font-size:clamp(2rem, 8.5vw, 2.4rem); }
  body.spot-open{ overflow:hidden; }
}

@media (max-width: 560px){
  .ticker{ display:none; }

  /* "Pro ni / Pro něj / Pro dva": h3.audience-title má vyšší specificitu, nutno přebít stejně */
  h3.audience-title{ transform:none; }

  /* mood dlaždice: větší, jemnější ikony */
  .mood-icon{ width:72px; height:56px; opacity:.45; }
  .mood:hover .mood-icon, .mood.selected .mood-icon{ opacity:.85; }

  /* ── větší nadpisy na HP ── */
  .section-title{ font-size:clamp(2rem, 9vw, 2.5rem); letter-spacing:.02em; }
  .banner-inner h2{ font-size:clamp(2rem, 9vw, 2.5rem); letter-spacing:.02em; }
  .values .section-title{ font-size:clamp(2.2rem, 10vw, 2.7rem); }
  .banner-eyebrow{ font-size:.84rem; }
  .banner-inner .btn{ display:block; width:100%; text-align:center; }

  /* ── naše filozofie: stejný okraj jako zbytek stránky, nadpis na 3 řádky, CTA na šířku ── */
  .story-copy{ padding:2.8rem 4vw 3.2rem; }
  .story-copy h2{ font-size:clamp(2.3rem, 10.5vw, 2.8rem); letter-spacing:.02em; }
  .story-copy .btn{ display:block; width:100%; text-align:center; }
  .value h3{ font-size:1.18rem; }

  .mood-grid{ grid-template-columns:repeat(2, 1fr); }
  .audience-cards{ grid-template-columns:1fr 1fr; gap:.9rem; }
  .card h4{
    font-size:clamp(.92rem, 4.7vw, 1.14rem);
    white-space:nowrap;
    letter-spacing:.04em;
  }
  .card p{ font-size:.95rem; line-height:1.5; }
  .card-link{ font-size:.8rem; }
  .audience-title{ font-size:1.12rem; }

  /* ── hero jako editorial cover: čistá krémová s textem, foto jako band pod ním ── */
  .hero{
    flex-direction:column;
    align-items:stretch;
    min-height:0;
  }
  .hero-inner{ order:1; padding-top:2.4rem; padding-bottom:.4rem; }
  .hero-copy{ max-width:none; }
  .hero .eyebrow{ margin-bottom:0; }
  .hero h1{
    font-size:clamp(2.7rem, 13vw, 3.4rem);
    line-height:1.03;
    margin:.7rem 0 1.1rem;
  }
  .lede{ font-size:1.08rem; line-height:1.55; }
  .hero-actions{ flex-direction:column; align-items:stretch; gap:.8rem; margin-top:1.6rem; }
  .hero-actions .btn{ text-align:center; }
  .scroll-cue{ display:none; }

  .hero-media{
    position:relative;
    order:2;
    inset:auto;
    height:min(56vh, 460px);
    margin-top:1.8rem;
    background-position:center right 30%;
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 16%);
            mask-image:linear-gradient(180deg, transparent 0%, #000 16%);
  }
  /* žádný mléčný závoj přes celé foto, jen jemné napojení nahoře */
  .hero-media::before{
    background:linear-gradient(180deg, rgba(246,231,214,.5) 0%, rgba(246,231,214,0) 45%);
  }

  .banner-media::before{
    background:linear-gradient(90deg, rgba(36,13,40,.94) 0%, rgba(36,13,40,.8) 60%, rgba(36,13,40,.5) 100%);
  }
}

/* ── jazykový přepínač ── */
.lang-switch{
  display:flex;align-items:center;flex:none;
  font-size:11.5px;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;
}
.lang-switch span{opacity:1}
.lang-switch a{opacity:.4;transition:opacity .18s ease;text-decoration:none;color:inherit}
.lang-switch a:hover{opacity:1}
.lang-switch > * + *{position:relative;margin-left:11px;padding-left:12px}
.lang-switch > * + *::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(14deg);
  width:1px;height:11px;background:currentColor;opacity:.3;
}

/* hláška po odeslání newsletteru */
.news-msg{
  font-size:.85rem;
  font-weight:300;
  margin-top:.8rem;
  opacity:.85;
}
