/* Folienmarie no-YOOtheme homepage preview.
   WordPress-rendered experiment: no Builder JSON, no UIkit/YOOtheme wrappers. */

:root {
  --c-blue:#7FB5E6;
  --c-purple:#B89BD9;
  --c-pink:#E89BB8;
  --c-teal:#6FC9B8;
  --c-mist:#E8E0F0;
  --c-magenta:#C13864;
  --c-magenta-deep:#9A2B4E;
  --c-cream:#F6E9C6;
  --c-cream-soft:#EFE9F2;
  --c-gold:#E8B83A;
  --c-butter:#F7D680;
  --c-ink:#2D2138;
  --c-ink-soft:#5A4B6E;
  --c-paper:#FAF8FA;
  --font-display:"Fraunces", Georgia, serif;
  --font-ui:"Nunito", system-ui, sans-serif;
  --font-body:"Quicksand", system-ui, sans-serif;
  --font-hand:"Caveat", cursive;
  --m-stars:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='74' height='74' viewBox='0 0 74 74'><g fill='none' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1.2' stroke-linecap='round'><path d='M22 11c2.2 7.4 4.4 9.6 11.8 11.8C26.4 25 24.2 27.2 22 34.6 19.8 27.2 17.6 25 10.2 22.8 17.6 20.6 19.8 18.4 22 11z'/><path d='M55 43v7M51.5 46.5h7'/></g><circle cx='15' cy='55' r='1.5' fill='%23ffffff' fill-opacity='0.55'/><circle cx='59' cy='17' r='1.3' fill='%23ffffff' fill-opacity='0.55'/><circle cx='40' cy='60' r='1.1' fill='%23ffffff' fill-opacity='0.5'/></svg>");
  --m-ink:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'><g fill='none' stroke='%232D2138' stroke-opacity='0.06' stroke-width='1.2' stroke-linecap='round'><path d='M26 14c2.4 8 4.6 10.2 12.6 12.6C30.6 29 28.4 31.2 26 39.2 23.6 31.2 21.4 29 13.4 26.6 21.4 24.2 23.6 22 26 14z'/><path d='M64 56v8M60 60h8'/></g><circle cx='70' cy='22' r='1.4' fill='%232D2138' fill-opacity='0.07'/><circle cx='18' cy='66' r='1.2' fill='%232D2138' fill-opacity='0.06'/></svg>");
}

* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body {
  overflow-x:hidden;
  background:var(--c-paper);
  color:var(--c-ink);
  font-family:var(--font-body);
  font-weight:600;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
.fm-static-home { overflow:hidden; background:var(--c-paper); }
.fm-wrap { width:min(1280px, 100%); margin:0 auto; padding:0 36px; }

.fm-util {
  padding:11px 20px;
  background:var(--c-magenta-deep);
  color:var(--c-cream);
  text-align:center;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.fm-util span { color:var(--c-butter); margin:0 8px; font-size:9px; }

.fm-gradient {
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(120% 95% at 0% 0%, var(--c-purple) 0%, transparent 55%),
    radial-gradient(120% 95% at 100% 0%, var(--c-pink) 0%, transparent 55%),
    radial-gradient(120% 95% at 100% 100%, var(--c-teal) 0%, transparent 55%),
    radial-gradient(120% 95% at 0% 100%, var(--c-blue) 0%, transparent 55%),
    var(--c-mist);
}
.fm-gradient::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:radial-gradient(60% 40% at 50% 50%, rgba(255,255,255,.35) 0%, transparent 70%);
  pointer-events:none;
}
.fm-star-field { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.fm-gradient .fm-wrap { position:relative; z-index:2; }
.fm-star {
  position:absolute;
  color:var(--c-cream);
  filter:drop-shadow(0 1px 0 rgba(45,33,56,.12));
  animation:fm-twinkle 4s ease-in-out infinite;
}
.fm-star:nth-child(3n) { color:#fff; opacity:.88; }
.fm-star:nth-child(5n) { color:var(--c-butter); opacity:.82; }
@keyframes fm-twinkle {
  0%,100% { opacity:.86; transform:rotate(var(--r,0deg)) scale(1); }
  50% { opacity:.48; transform:rotate(var(--r,0deg)) scale(.9); }
}

.fm-hero { position:relative; z-index:2; padding:0 0 42px; }
#kollektionen { scroll-margin-top:24px; }
.fm-nav {
  position:relative;
  z-index:70;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:88px;
  padding:14px 0 10px;
}
.fm-logo img { display:block; width:auto; height:92px; filter:drop-shadow(0 4px 10px rgba(154,43,78,.28)); }
.fm-nav-links { display:flex; align-items:center; gap:28px; }
.fm-nav-links a {
  color:var(--c-paper);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:900;
  text-shadow:0 1px 2px rgba(45,33,56,.2);
}
.fm-cart {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:12px 24px;
  border:2.5px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:var(--c-paper);
  color:var(--c-magenta);
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 -3px 0 rgba(154,43,78,.2),0 5px 12px rgba(45,33,56,.22);
}
.fm-home-nav-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.fm-home-mobile-menu { position:relative; z-index:80; display:none; }
.fm-home-mobile-menu summary {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border:2px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  cursor:pointer;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  line-height:1;
  list-style:none;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.10),0 8px 18px rgba(45,33,56,.18);
}
.fm-home-mobile-menu summary::-webkit-details-marker { display:none; }
.fm-home-mobile-menu-panel {
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:90;
  display:grid;
  grid-auto-rows:min-content;
  align-content:start;
  width:min(286px, calc(100vw - 28px));
  gap:6px;
  padding:10px;
  border:2px solid #fff;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 46px rgba(45,33,56,.28);
}
.fm-home-mobile-menu-panel a {
  display:flex;
  height:40px;
  min-height:40px;
  align-items:center;
  padding:0 13px;
  border-radius:14px;
  color:var(--c-ink);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
}
.fm-home-mobile-menu-panel a:hover {
  background:var(--c-cream-soft);
  color:var(--c-magenta-deep);
}
.fm-home-mobile-menu[open] summary {
  background:#fff;
  color:var(--c-magenta);
}

.fm-home-sticky-header {
  position:fixed;
  top:0;
  right:0;
  left:0;
  z-index:1100;
  overflow:visible;
  visibility:hidden;
  opacity:0;
  transform:translateY(-110%);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  border-bottom:1px solid rgba(255,255,255,.22);
  background:#B83266;
  box-shadow:0 14px 34px rgba(45,33,56,.18);
}
.fm-home-sticky-header::before {
  background-image:var(--m-stars);
  background-size:86px;
  opacity:.18;
}
.fm-home-sticky-header.is-visible {
  visibility:visible;
  opacity:1;
  transform:translateY(0);
}
.admin-bar .fm-home-sticky-header { top:32px; }
.fm-home-sticky-header .fm-wrap {
  width:min(1216px, calc(100% - 64px));
  padding:0;
}
.fm-home-sticky-header .fm-home-sticky-nav {
  gap:18px;
  min-height:72px;
  padding:12px 0;
}
.fm-home-sticky-header .fm-home-sticky-logo {
  flex:0 1 auto;
  min-width:0;
}
.fm-home-sticky-header .fm-home-sticky-logo img {
  height:54px;
  max-width:min(292px, 32vw);
  filter:drop-shadow(0 4px 12px rgba(45,33,56,.30));
}
.fm-home-sticky-header .fm-nav-links { gap:28px; }
.fm-home-sticky-header .fm-nav-links a {
  color:#fff;
  text-shadow:0 2px 8px rgba(45,33,56,.22);
}
.fm-home-sticky-header .fm-cart {
  min-height:40px;
  padding:11px 19px;
  border-color:#fff;
  box-shadow:inset 0 -3px 0 rgba(154,43,78,.12),0 8px 18px rgba(45,33,56,.22);
}

.fm-hero-grid {
  display:grid;
  grid-template-columns:minmax(300px, .92fr) minmax(340px, 1.08fr);
  gap:56px;
  align-items:center;
  padding-top:8px;
}
.fm-hero-product { position:relative; display:flex; justify-content:flex-start; padding:18px 0 20px; }
.fm-stamp {
  position:absolute;
  top:0;
  left:-26px;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:94px;
  height:94px;
  border:2.5px dotted var(--c-magenta);
  border-radius:50%;
  background:var(--c-paper);
  color:var(--c-magenta-deep);
  transform:rotate(-10deg);
  box-shadow:0 6px 16px rgba(45,33,56,.18),0 2px 0 rgba(154,43,78,.2);
}
.fm-stamp b { font-family:var(--font-ui); font-size:40px; line-height:1; }
.fm-stamp span { font-family:var(--font-ui); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:var(--c-magenta); }

.fm-product-card {
  width:100%;
  max-width:430px;
  overflow:hidden;
  border:3px solid #fff;
  border-radius:30px;
  background:var(--c-paper);
  box-shadow:0 8px 0 rgba(154,43,78,.14),0 30px 64px rgba(45,33,56,.2);
  transform:rotate(-2.5deg);
}
.fm-real-product-card { display:flex; flex-direction:column; }
.fm-card-img {
  position:relative;
  display:block;
  aspect-ratio:4 / 3.2;
  overflow:hidden;
  background:
    var(--m-stars),
    repeating-linear-gradient(135deg, rgba(255,255,255,.34) 0 10px, rgba(255,255,255,.16) 10px 20px),
    var(--c-purple);
  background-size:74px, auto, auto;
}
.fm-card-img.has-product-image {
  background:
    var(--m-stars),
    linear-gradient(150deg, rgba(232,155,184,.35), rgba(111,201,184,.26)),
    #fff;
}
.fm-card-img.has-product-image::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 50% at 50% 35%, rgba(255,255,255,.0) 0%, rgba(193,56,100,.08) 100%),
    linear-gradient(180deg, transparent 56%, rgba(45,33,56,.28) 100%);
  pointer-events:none;
}
.fm-card-product-img {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:24px;
  filter:drop-shadow(0 16px 24px rgba(45,33,56,.16));
}
.fm-patch {
  position:absolute;
  top:14px;
  right:16px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  padding:8px 15px;
  border:2.5px solid #fff;
  border-radius:999px;
  background:var(--c-gold);
  color:#fff;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.13), inset 0 2px 0 rgba(255,255,255,.38), 0 5px 12px rgba(45,33,56,.18);
}
.fm-card-label {
  position:absolute;
  inset:auto 16px 16px;
  z-index:3;
  padding:7px 12px;
  border:1.5px dashed rgba(255,255,255,.72);
  border-radius:10px;
  background:rgba(45,33,56,.34);
  backdrop-filter:blur(4px);
  color:#fff;
  text-align:center;
  font-family:var(--font-ui);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fm-card-body { padding:20px 22px 22px; }
.fm-real-product-card .fm-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
}
.fm-card-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px; }
.fm-card-row h2 {
  margin:0;
  color:var(--c-ink);
  font-family:var(--font-display);
  font-size:26px;
  font-style:italic;
  font-weight:900;
  line-height:1.05;
  overflow-wrap:break-word;
  hyphens:none;
}
.fm-card-row h2 a {
  color:inherit;
  text-decoration:none;
}
.fm-rating { flex:0 0 auto; padding:5px 10px; border-radius:999px; background:var(--c-cream-soft); color:var(--c-magenta); font-family:var(--font-display); font-style:italic; font-weight:900; font-size:14px; }
.fm-card-body p { margin:0 0 18px; color:var(--c-ink-soft); font-size:14px; line-height:1.45; }
.fm-real-product-card .fm-card-body p { flex:1; }
.fm-card-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:14px; border-top:1px dashed rgba(45,33,56,.15); }
.fm-old { display:block; color:var(--c-ink-soft); font-family:var(--font-ui); font-size:11px; text-decoration:line-through; opacity:.72; }
.fm-price { color:var(--c-ink); font-family:var(--font-display); font-size:20px; font-style:italic; font-weight:900; }
.fm-small-btn,
.fm-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--c-magenta);
  color:var(--c-paper);
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(193,56,100,.3);
}

.fm-cartouche {
  position:relative;
  width:100%;
  max-width:500px;
  margin:0 auto;
  aspect-ratio:1 / .97;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fm-cartouche svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  filter:drop-shadow(0 20px 48px rgba(154,43,78,.34));
}
.fm-cartouche-content {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:78px 60px 66px;
  color:var(--c-paper);
  text-align:center;
}
.fm-cartouche-eyebrow { color:rgba(246,233,198,.88); font-family:var(--font-hand); font-size:21px; font-weight:700; letter-spacing:.04em; }
.fm-cartouche-title {
  margin:2px 0 8px;
  padding-bottom:.08em;
  color:var(--c-cream);
  font-family:var(--font-display);
  font-size:clamp(62px, 8.5vw, 108px);
  font-style:italic;
  font-weight:900;
  line-height:1.06;
  text-shadow:0 3px 0 #B02D59,0 6px 0 #8B2342,0 10px 22px rgba(40,10,20,.44);
}
.fm-divider { display:flex; align-items:center; gap:12px; margin:4px 0 10px; color:var(--c-cream); }
.fm-divider::before, .fm-divider::after { content:""; width:44px; height:1.5px; background:rgba(246,233,198,.68); }
.fm-cartouche-sub {
  display:inline-block;
  padding:9px 22px;
  border-radius:6px;
  background:var(--c-cream);
  color:var(--c-magenta-deep);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:900;
  letter-spacing:.10em;
  box-shadow:0 3px 0 rgba(154,43,78,.28), inset 0 0 0 1.5px rgba(154,43,78,.22);
}
.fm-new {
  position:absolute;
  top:10%;
  right:-4%;
  z-index:3;
  display:grid;
  place-items:center;
  width:116px;
  height:116px;
  border-radius:50%;
  background:var(--c-gold);
  color:var(--c-magenta-deep);
  font-family:var(--font-ui);
  font-size:26px;
  font-weight:900;
  transform:rotate(-8deg);
  box-shadow:0 6px 0 rgba(154,43,78,.35),0 16px 28px rgba(154,43,78,.3),inset 0 -3px 0 rgba(154,43,78,.15);
}

.fm-hero-meta {
  display:grid;
  grid-template-columns:auto minmax(260px, 1fr) auto;
  gap:38px;
  align-items:center;
  margin-top:18px;
  padding:28px 0 0;
  border-top:2px dotted rgba(255,255,255,.5);
  color:var(--c-paper);
}
.fm-volume b { display:block; font-family:var(--font-display); font-size:34px; font-style:italic; line-height:1; }
.fm-volume span { display:block; margin-top:6px; font-size:13px; font-weight:700; letter-spacing:.04em; opacity:.9; }
.fm-hero-meta p { max-width:520px; margin:0; font-size:16px; line-height:1.55; text-shadow:0 1px 2px rgba(45,33,56,.18); }
.fm-cta { min-height:50px; padding:16px 30px; font-size:13px; letter-spacing:.16em; }
.fm-hero-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.fm-hero-badges span {
  display:inline-flex;
  padding:8px 13px;
  border:2px solid #fff;
  border-radius:999px;
  background:var(--pc, var(--c-magenta));
  color:#fff;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.13),0 5px 12px rgba(45,33,56,.16);
}

.fm-marquee {
  position:relative;
  z-index:3;
  overflow:hidden;
  padding:18px 0;
  border-top:5px solid var(--c-magenta);
  border-bottom:5px solid var(--c-magenta);
  background:var(--c-magenta-deep);
  color:var(--c-cream);
}
.fm-marquee-track {
  display:flex;
  gap:56px;
  white-space:nowrap;
  animation:fm-scroll 42s linear infinite;
  font-family:var(--font-ui);
  font-size:20px;
  font-weight:900;
}
.fm-marquee-track span { display:inline-flex; align-items:center; gap:20px; }
.fm-marquee-track i { color:var(--c-butter); font-style:normal; font-size:12px; }
@keyframes fm-scroll { to { transform:translateX(-50%); } }

.fm-section { position:relative; padding:92px 0; background:var(--c-paper); background-image:var(--m-ink); background-size:96px; }
.fm-section-cream { background-color:var(--c-paper); background-image:var(--m-ink), radial-gradient(92% 65% at 50% 0%, var(--c-cream-soft) 0%, transparent 70%); background-size:96px, auto; }
.fm-section-head { max-width:720px; margin:0 auto 52px; text-align:center; }
.fm-eyebrow {
  display:inline-flex;
  padding:9px 20px;
  border:2.5px solid #fff;
  border-radius:999px;
  background:var(--c-magenta);
  color:#fff;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.14),0 5px 12px rgba(193,56,100,.28);
  transform:rotate(-1.5deg);
}
.fm-section-head h2 {
  margin:18px 0 14px;
  color:var(--c-ink);
  font-family:var(--font-display);
  font-size:clamp(36px, 4.8vw, 58px);
  font-style:italic;
  font-weight:900;
  line-height:1.12;
}
.fm-section-head h2::after {
  content:"";
  display:block;
  width:100px;
  height:10px;
  margin:14px auto 0;
  background-image:linear-gradient(45deg,var(--c-magenta) 50%,transparent 50%),linear-gradient(-45deg,var(--c-magenta) 50%,transparent 50%);
  background-size:16px 10px,16px 10px;
  background-position:0 0,8px 0;
  background-repeat:repeat-x;
  opacity:.42;
}
.fm-section-head p { max-width:560px; margin:0 auto; color:var(--c-ink-soft); font-size:17px; line-height:1.55; }

.fm-worlds { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px; }
.fm-world {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:240px;
  overflow:hidden;
  padding:26px;
  border:2.5px solid #fff;
  border-radius:32px;
  color:var(--c-paper);
  box-shadow:0 6px 0 rgba(154,43,78,.12),0 18px 38px rgba(45,33,56,.1);
}
.fm-world::before { content:""; position:absolute; inset:0; background-image:var(--m-stars); background-size:72px; opacity:.72; }
.fm-world::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(45,33,56,.38)); }
.fm-world > * { position:relative; z-index:2; }
.fm-world-1 { background:linear-gradient(158deg,#9B6FE3,#6A4BC4); }
.fm-world-2 { background:linear-gradient(158deg,#F275A6,#D14380); }
.fm-world-3 { background:linear-gradient(158deg,#3FCBB0,#2596AD); }
.fm-world-4 { background:linear-gradient(158deg,#8DBE83,#2D6A4F); }
.fm-world-5 { background:linear-gradient(158deg,#5A4B6E,#21182A); }
.fm-world-6 { background:linear-gradient(158deg,#F0B05A,#C13864); }
.fm-world small { align-self:flex-start; margin-bottom:auto; padding:7px 14px; border-radius:999px; background:var(--c-butter); color:var(--c-magenta-deep); font-family:var(--font-ui); font-size:11px; font-weight:900; text-transform:uppercase; box-shadow:0 3px 0 rgba(154,43,78,.28); }
.fm-world h3 { margin:0 0 4px; color:var(--c-paper); font-family:var(--font-display); font-size:30px; font-style:italic; font-weight:900; line-height:1.05; text-shadow:0 2px 4px rgba(45,33,56,.3); }
.fm-world p { margin:0; font-weight:800; opacity:.92; }

.fm-progress { max-width:430px; margin:-24px auto 40px; text-align:center; }
.fm-progress-bar { height:14px; overflow:hidden; border:2.5px solid #fff; border-radius:999px; background:var(--c-cream-soft); box-shadow:inset 0 2px 4px rgba(45,33,56,.1); }
.fm-progress-fill { width:33%; height:100%; background:linear-gradient(90deg,var(--c-magenta),var(--c-gold)); }
.fm-progress p { margin:12px 0 0; color:var(--c-ink-soft); font-family:var(--font-ui); font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.fm-progress b { color:var(--c-magenta); }
.fm-products { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:26px; align-items:stretch; }
.fm-product-card-small { min-width:0; border:2px solid #fff; border-radius:24px; padding:14px; background:var(--c-paper); box-shadow:0 14px 32px rgba(45,33,56,.08); }
.fm-product-card-small .fm-card-img { border-radius:16px; aspect-ratio:4 / 3.3; }
.fm-product-card-small .fm-card-product-img { padding:20px; }
.fm-product-card-small .fm-card-body { padding:17px 6px 4px; }
.fm-product-card-small .fm-card-row h2 { font-size:22px; }
.fm-product-card-small .fm-patch {
  top:10px;
  right:10px;
  max-width:calc(100% - 20px);
  padding:7px 11px;
  font-size:10px;
}
.fm-product-card-small .fm-price {
  font-size:18px;
  white-space:nowrap;
}

.fm-set {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:center;
  overflow:hidden;
  padding:70px 60px;
  border-radius:36px;
  background:
    radial-gradient(70% 90% at 0% 0%, var(--c-purple), transparent 60%),
    radial-gradient(70% 90% at 100% 0%, var(--c-pink), transparent 60%),
    radial-gradient(70% 90% at 100% 100%, var(--c-teal), transparent 60%),
    radial-gradient(70% 90% at 0% 100%, var(--c-blue), transparent 60%),
    var(--c-mist);
  color:var(--c-paper);
  box-shadow:0 30px 70px rgba(45,33,56,.18);
}
.fm-set h2 { margin:0 0 14px; color:var(--c-paper); font-family:var(--font-display); font-size:clamp(36px, 4vw, 52px); font-style:italic; font-weight:900; line-height:1.12; text-shadow:0 2px 4px rgba(45,33,56,.18); }
.fm-set p { max-width:520px; margin:0 0 26px; font-family:var(--font-display); font-size:17px; font-style:italic; line-height:1.6; text-shadow:0 1px 2px rgba(45,33,56,.15); }
.fm-set-visual { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; justify-items:stretch; width:100%; aspect-ratio:1 / 1.05; padding:30px; border:1.5px dashed rgba(255,255,255,.7); border-radius:24px; background:repeating-linear-gradient(135deg, rgba(255,255,255,.18) 0 14px, rgba(255,255,255,.06) 14px 28px); text-align:center; }
.fm-set-visual b { display:block; font-family:var(--font-display); font-size:26px; font-style:italic; line-height:1.15; }
.fm-set-visual span { display:block; margin-top:12px; font-family:var(--font-ui); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; opacity:.82; }
.fm-mini-products {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  width:100%;
  justify-self:stretch;
}
.fm-mini-product {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:2px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:rgba(255,255,255,.58);
  color:var(--c-magenta-deep);
  box-shadow:inset 0 -3px 0 rgba(154,43,78,.08);
}
.fm-mini-product .fm-card-product-img,
.fm-story-product .fm-card-product-img {
  position:static;
  inset:auto;
  filter:none;
}
.fm-mini-product img {
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  padding:8px;
  border-radius:12px;
  background:#fff;
}
.fm-mini-product span {
  margin:0;
  color:var(--c-magenta-deep);
  font-family:var(--font-ui);
  font-size:10.5px;
  font-weight:900;
  line-height:1.18;
  letter-spacing:0;
  opacity:1;
  text-transform:none;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.fm-features { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:24px; }
.fm-feature { padding:20px 16px; text-align:center; }
.fm-feature b { display:block; color:var(--c-magenta); font-family:var(--font-display); font-size:48px; font-style:italic; font-weight:900; line-height:1; }
.fm-feature h3 { margin:10px 0 6px; font-family:var(--font-display); font-size:20px; font-style:italic; }
.fm-feature p { margin:0; color:var(--c-ink-soft); font-size:14px; line-height:1.5; }

.fm-story { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.fm-story-photo { position:relative; display:grid; place-items:center; min-height:420px; border:1.5px dashed rgba(193,56,100,.35); border-radius:24px; background:repeating-linear-gradient(135deg, rgba(193,56,100,.08) 0 14px, rgba(193,56,100,.02) 14px 28px), var(--c-cream-soft); color:var(--c-magenta); text-align:center; box-shadow:0 24px 56px rgba(45,33,56,.1); }
.fm-story-photo b { font-family:var(--font-display); font-size:18px; font-style:italic; }
.fm-story-photo span { display:block; margin-top:8px; font-family:var(--font-ui); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; opacity:.65; }
.fm-story-product-stack {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  width:100%;
  padding:22px;
}
.fm-story-product {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:2px solid rgba(255,255,255,.84);
  border-radius:18px;
  background:rgba(255,255,255,.68);
  color:var(--c-magenta-deep);
  box-shadow:0 10px 24px rgba(45,33,56,.08);
}
.fm-story-product img {
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  padding:8px;
  border-radius:12px;
  background:#fff;
}
.fm-story-product span {
  margin:0;
  color:var(--c-magenta-deep);
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:900;
  line-height:1.22;
  letter-spacing:0;
  opacity:1;
  text-transform:none;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.fm-story h2 { margin:10px 0 20px; font-family:var(--font-display); font-size:clamp(38px, 4.5vw, 56px); font-style:italic; font-weight:900; line-height:1.12; }
.fm-story p { max-width:560px; margin:0 0 18px; color:var(--c-ink-soft); font-family:var(--font-display); font-size:18px; font-style:italic; line-height:1.6; }
.fm-quote { margin-top:26px; padding:22px 26px 22px 32px; border-left:3px solid var(--c-magenta); border-radius:0 18px 18px 0; background:var(--c-cream-soft); color:var(--c-ink); font-family:var(--font-hand); font-size:28px; font-weight:700; line-height:1.25; }

.fm-footer { padding:54px 0 36px; background:var(--c-magenta-deep); color:rgba(246,233,198,.86); }
.fm-footer-grid { display:grid; grid-template-columns:1.4fr repeat(3, 1fr); gap:34px; }
.fm-footer h2 { margin:0 0 8px; color:var(--c-cream); font-family:var(--font-display); font-size:32px; font-style:italic; }
.fm-footer h3 { margin:0 0 12px; color:var(--c-paper); font-family:var(--font-ui); font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
.fm-footer a { display:block; margin:8px 0; }
.fm-footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:36px; padding-top:20px; border-top:1px dashed rgba(246,233,198,.25); font-size:13px; }

@media (prefers-reduced-motion: reduce) {
  .fm-star, .fm-marquee-track { animation:none; }
}
@media (max-width: 980px) {
  .fm-nav { min-height:72px; }
  .fm-logo img { height:64px; }
  .fm-nav-links { display:none; }
  .fm-home-mobile-menu { display:block; }
  .fm-home-sticky-header .fm-wrap { width:calc(100% - 28px); }
  .fm-home-sticky-header .fm-home-sticky-nav {
    min-height:64px;
    padding:10px 0;
  }
  .fm-home-sticky-header .fm-home-sticky-logo img {
    height:46px;
    max-width:min(210px, 44vw);
  }
  .fm-hero-grid, .fm-hero-meta, .fm-set, .fm-story { grid-template-columns:1fr; }
  .fm-hero-product { justify-content:center; }
  .fm-product-card { max-width:350px; }
  .fm-cartouche { max-width:430px; }
  .fm-worlds, .fm-products { grid-template-columns:1fr 1fr; }
  .fm-features, .fm-footer-grid { grid-template-columns:1fr 1fr; }
  .fm-mini-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .fm-wrap { padding:0 22px; }
  .fm-util { padding:9px 16px; font-size:10px; line-height:1.45; }
  .fm-logo img { height:38px; }
  .fm-home-sticky-header .fm-home-sticky-logo img {
    height:36px;
    max-width:min(166px, 42vw);
  }
  .fm-home-sticky-header .fm-home-sticky-nav { gap:8px; }
  .fm-cart { min-height:38px; padding:9px 10px; font-size:10px; letter-spacing:.04em; }
  .fm-home-nav-actions { gap:7px; }
  .fm-home-mobile-menu summary { min-height:38px; padding:9px 11px; font-size:11px; }
  .fm-cartouche-sub { letter-spacing:.08em; }
  .fm-hero { padding-bottom:26px; }
  .fm-hero-grid { gap:10px; padding-top:6px; }
  .fm-cartouche { order:1; max-width:300px; }
  .fm-hero-product { order:2; padding:4px 0 8px; }
  .fm-product-card { max-width:300px; border-radius:24px; }
  .fm-card-img { aspect-ratio:4 / 2.35; }
  .fm-card-product-img { padding:16px; }
  .fm-card-body { padding:15px 18px 17px; }
  .fm-product-card .fm-card-row { flex-wrap:wrap; }
  .fm-product-card .fm-card-row h2 { flex:1 1 100%; }
  .fm-product-card .fm-rating { margin-left:0; }
  .fm-card-row h2 { font-size:23px; }
  .fm-card-body p { margin-bottom:12px; font-size:13px; line-height:1.35; }
  .fm-card-foot { padding-top:11px; }
  .fm-stamp { top:-10px; left:-8px; width:76px; height:76px; }
  .fm-stamp b { font-size:30px; }
  .fm-stamp span { font-size:8px; }
  .fm-cartouche-content { padding:44px 34px 40px; }
  .fm-cartouche-title { font-size:54px; line-height:1.08; }
  .fm-cartouche-sub { padding:7px 15px; font-size:11px; }
  .fm-new { width:70px; height:70px; right:-8%; font-size:17px; }
  .fm-hero-meta { gap:14px; margin-top:8px; padding-top:18px; text-align:center; }
  .fm-volume b { font-size:30px; }
  .fm-hero-meta p { font-size:15px; }
  .fm-hero-badges { justify-content:center; }
  .fm-section { padding:66px 0; }
  .fm-worlds, .fm-products, .fm-features, .fm-footer-grid { grid-template-columns:1fr; }
  .fm-set { padding:40px 26px; border-radius:28px; }
  .fm-mini-products { grid-template-columns:1fr; }
  .fm-mini-product { flex-direction:row; align-items:center; text-align:left; }
  .fm-mini-product img { width:74px; flex:0 0 74px; }
  .fm-story-product-stack { grid-template-columns:1fr; padding:18px; }
  .fm-story-product { flex-direction:row; align-items:center; text-align:left; }
  .fm-story-product img { width:82px; flex:0 0 82px; }
  .fm-story-photo { min-height:280px; }
  .fm-footer-bottom { flex-direction:column; }
}
