/* Fonturi găzduite local (Google Fonts, licență OFL): Gloock, Figtree, DM Mono — subseturi latin + latin-ext */
/* latin-ext */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/DMMono-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/DMMono-latin-400.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;
}
/* latin-ext */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/DMMono-latin-ext-500.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/DMMono-latin-500.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;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Figtree-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Figtree-latin-400.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;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Figtree-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Figtree-latin-400.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;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Figtree-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Figtree-latin-400.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;
}
/* latin-ext */
@font-face {
  font-family: 'Gloock';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Gloock-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Gloock';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Gloock-latin-400.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;
}

/* ===========================================================
   Florăria Theo — galerie de artă florală pe zid de piatră
   =========================================================== */

:root {
  --carbune: #1E1B18;
  --carbune-2: #2A2521;
  --piatra: #E9DFD0;
  --piatra-2: #DFD2BF;
  --hartie: #F4EEE4;
  --ocru: #B98A5A;
  --ocru-line: rgba(185, 138, 90, .55);
  --ocru-ink: #7A5632; /* ocru pentru text mic (contrast AA) */
  --chartreuse: #9DB54A;
  --coral: #E2566E;
  --coral-ink: #A52E48;
  --ink: #26211D;
  --muted: #5E5248;
  --muted-light: #B9AC9C;

  --f-display: "Gloock", "Times New Roman", serif;
  --f-body: "Figtree", "Segoe UI", sans-serif;
  --f-mono: "DM Mono", ui-monospace, monospace;

  --pad: clamp(1.25rem, 4.5vw, 4.5rem);
  --maxw: 1440px;
  --ease: cubic-bezier(.2, .7, .1, 1);
  --ease-slow: cubic-bezier(.16, 1, .3, 1);
  --shadow-long: 28px 38px 60px -28px rgba(70, 48, 26, .38), 6px 10px 18px -10px rgba(70, 48, 26, .22);
  --dock-h: 0px;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--piatra);
  color: var(--ink);
  font: 400 1.0625rem/1.6 var(--f-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
/* textură fină de piatră / hârtie */
body::before {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 60;
  opacity: .32;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--coral); outline-offset: 3px; }
::selection { background: var(--coral); color: var(--carbune); }

.mono { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { color: var(--muted); margin: 0 0 1.4rem; display: flex; align-items: center; gap: .8rem; }
.eyebrow::after { content: ""; height: 1px; width: 3.5rem; background: var(--ocru); }
.h2 {
  font: 400 clamp(2.6rem, 7vw, 6.2rem)/.95 var(--f-display);
  letter-spacing: -.02em;
  margin: 0;
}
.h2 em, .hero__title em { font-style: normal; color: var(--coral-ink); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--carbune); color: var(--piatra); padding: .6rem 1rem; }
.skip:focus { top: 1rem; }

/* etichetă verticală pe marginea secțiunilor */
.vlabel {
  position: absolute;
  left: calc(var(--pad) * .35);
  top: 7rem;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .22em;
  display: flex; align-items: center; gap: .9rem;
}
.vlabel::before { content: ""; width: 1px; height: 4rem; background: var(--ocru); }
.vlabel--light { color: var(--muted-light); }

/* ---------- butoane ---------- */
.btn {
  --bg: transparent; --fg: var(--ink);
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 3.25rem; padding: .85rem 1.6rem;
  border: 1px solid transparent; border-radius: 999px;
  background: var(--bg); color: var(--fg);
  font: 600 .98rem/1 var(--f-body); letter-spacing: .01em;
  text-decoration: none; cursor: pointer;
  transition: transform .5s var(--ease), background-color .3s, color .3s, border-color .3s, box-shadow .5s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }
.btn--coral { --bg: var(--coral); --fg: var(--carbune); box-shadow: 0 14px 30px -16px rgba(226, 86, 110, .9); }
.btn--coral:hover { --bg: #EA6A80; }
.btn--ink { --bg: var(--carbune); --fg: var(--piatra); }
.btn--ink:hover { --bg: #000; }
.btn--ghost { border-color: currentColor; }
.btn--ghost:hover { --bg: var(--ink); --fg: var(--piatra); border-color: var(--ink); }
.btn--sm { min-height: 2.6rem; padding: .6rem 1.15rem; font-size: .88rem; }
.btn[disabled] { opacity: .35; pointer-events: none; }

/* ---------- loader ---------- */
.loader {
  position: fixed; inset: 0; z-index: 90;
  display: grid; place-items: center; align-content: center; gap: 1.2rem;
  background: var(--piatra);
  transition: opacity .55s ease, visibility .55s;
}
.loader__stem { width: 1px; height: 0; background: var(--ocru); animation: stem 1s var(--ease-slow) forwards; }
.loader__name { font: 400 2.2rem/1 var(--f-display); opacity: 0; animation: fade .6s .25s forwards; }
html:not(.is-loading) .loader { opacity: 0; visibility: hidden; }
@keyframes stem { to { height: 4.5rem; } }
@keyframes fade { to { opacity: 1; } }

/* ---------- canvas 3D ---------- */
#scena {
  position: fixed; inset: 0;
  width: 100vw; height: 100vh; height: 100lvh;
  z-index: 0; pointer-events: none;
  opacity: 0; transition: opacity .25s linear;
}
main, .foot { position: relative; z-index: 1; }

/* ---------- header ---------- */
.top {
  position: fixed; inset: 0 0 auto 0; z-index: 40;
  display: flex; align-items: center; gap: 2rem;
  padding: 1rem var(--pad);
  transition: background-color .4s, backdrop-filter .4s, transform .5s var(--ease), color .4s;
}
.top.is-solid { background: rgba(233, 223, 208, .82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.top.is-dark { color: var(--piatra); }
.top.is-dark.is-solid { background: rgba(30, 27, 24, .8); }
.top.is-hidden { transform: translateY(-110%); }
.top__logo { display: flex; align-items: center; gap: .5rem; text-decoration: none; font: 400 1.65rem/1 var(--f-display); }
.top__logo svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }
.top__nav { display: flex; gap: 2rem; margin-left: auto; }
.top__nav a { text-decoration: none; font-size: .95rem; position: relative; }
.top__nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease); }
.top__nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.top__menu { display: none; margin-left: auto; background: none; border: 1px solid currentColor; border-radius: 999px; padding: .5rem 1rem; font-size: .9rem; cursor: pointer; }

.meniu {
  position: fixed; inset: 0; z-index: 39;
  background: var(--carbune); color: var(--piatra);
  display: grid; align-content: center; padding: 6rem var(--pad) 3rem;
}
.meniu[hidden] { display: none; }
.meniu nav { display: grid; gap: .6rem; }
.meniu a { text-decoration: none; font: 400 2.5rem/1.15 var(--f-display); display: flex; align-items: baseline; gap: 1rem; }
.meniu a span { font: 400 .75rem var(--f-mono); color: var(--ocru); }

/* ---------- HERO ---------- */
.hero { position: relative; height: 230vh; }
.hero__sticky {
  position: sticky; top: 0;
  height: 100vh; height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: end;
  padding: 7rem var(--pad) clamp(3rem, 9vh, 6rem);
  max-width: var(--maxw); margin: 0 auto;
}
.hero__eyebrow { color: var(--muted); margin: 0 0 1.6rem; }
.hero__title {
  font: 400 clamp(3.2rem, 9.6vw, 9.5rem)/.9 var(--f-display);
  letter-spacing: -.035em;
  margin: 0;
  max-width: 11ch;
}
.hero__title .line { display: block; overflow: hidden; padding-bottom: .06em; }
.hero__title .line > span { display: inline-block; transform: translateY(105%); }
.hero__title .line--in { padding-left: 1.1em; }
.hero__title .line:last-child > span { color: var(--coral-ink); }
.is-in .hero__title .line > span { transform: none; transition: transform 1.15s var(--ease-slow); }
.is-in .hero__title .line:nth-child(2) > span { transition-delay: .12s; }
.is-in .hero__title .line:nth-child(3) > span { transition-delay: .24s; }
.hero__sub { font-size: clamp(1.05rem, 1.5vw, 1.3rem); max-width: 30ch; margin: 1.8rem 0 2rem 1.1em; color: var(--muted); }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-left: 1.1em; }
.hero__eyebrow, .hero__sub, .hero__cta, .hero__scroll { opacity: 0; transform: translateY(14px); }
.is-in .hero__eyebrow, .is-in .hero__sub, .is-in .hero__cta, .is-in .hero__scroll { opacity: 1; transform: none; transition: opacity .9s .5s, transform 1s .5s var(--ease-slow); }
.is-in .hero__cta { transition-delay: .62s; }
.is-in .hero__scroll { transition-delay: .9s; }
.hero__scroll {
  position: absolute; right: var(--pad); bottom: clamp(3rem, 9vh, 6rem);
  display: flex; align-items: center; gap: .7rem; color: var(--muted); margin: 0;
  writing-mode: vertical-rl;
}
.hero__scroll span { width: 1px; height: 3.5rem; background: linear-gradient(var(--ocru) 50%, transparent 0) 0 0 / 1px 200%; animation: drip 2.2s linear infinite; }
@keyframes drip { to { background-position: 0 -100%; } }

/* poza 01 decupată în arcadă: se vede până pornește scena 3D (apoi se topește), sau rămâne dacă nu e WebGL */
.hero__fallback {
  display: block;
  transition: opacity 1.4s ease, transform 1.6s var(--ease-slow);
  position: absolute; z-index: -1;
  right: 6vw; bottom: 8vh;
  width: min(29vw, 420px);
  filter: drop-shadow(30px 36px 34px rgba(70, 48, 26, .32));
}
.scena-gata:not(.no-3d) .hero__fallback { opacity: 0; transform: scale(.96) translateY(10px); pointer-events: none; }
.hero__fallback img {
  aspect-ratio: 3 / 4.3; object-fit: cover; object-position: 50% 70%;
  border-radius: 999px 999px 6px 6px;
}

/* ---------- MANIFEST ---------- */
.manifest { position: relative; padding: clamp(5rem, 14vh, 10rem) var(--pad) clamp(4rem, 10vh, 7rem); max-width: var(--maxw); margin: 0 auto; }
.manifest__inner { max-width: 60rem; }
.manifest__text {
  font: 400 clamp(2rem, 4.6vw, 4.3rem)/1.06 var(--f-display);
  letter-spacing: -.02em; margin: 0;
}
.manifest__text .w { color: #8A7C6D; transition: color .4s; }
.manifest__text .w.on { color: var(--ink); }
.manifest__note { max-width: 34rem; margin: 2.2rem 0 0 auto; color: var(--muted); font-size: 1.1rem; }
.band {
  list-style: none; margin: clamp(4rem, 10vh, 7rem) 0 0; padding: 1.6rem 0;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem;
  border-top: 1px solid var(--ocru-line); border-bottom: 1px solid var(--ocru-line);
  font: 400 clamp(1.4rem, 2.6vw, 2.3rem)/1.1 var(--f-display);
}
.band li { display: flex; align-items: baseline; gap: .7rem; }
.band .mono { color: var(--ocru-ink); }

/* ---------- GALERIE ---------- */
.gallery {
  position: relative;
  background: var(--piatra);
  padding: clamp(5rem, 12vh, 9rem) var(--pad) clamp(5rem, 12vh, 9rem);
}
.gallery__head { max-width: var(--maxw); margin: 0 auto; display: grid; grid-template-columns: 1fr minmax(0, 26rem); align-items: end; gap: 1rem 3rem; }
.gallery__head .eyebrow { grid-column: 1 / -1; }
.gallery__intro { color: var(--muted); margin: 0; }
.filters {
  max-width: var(--maxw); margin: 3rem auto 3.5rem;
  display: flex; flex-wrap: wrap; gap: .5rem;
}
.pill {
  border: 1px solid rgba(38, 33, 29, .25); background: transparent;
  border-radius: 999px; padding: .55rem 1.1rem; min-height: 2.75rem;
  font-size: .92rem; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s;
}
.pill sup { font: 500 .62rem var(--f-mono); margin-left: .3rem; color: var(--ocru-ink); }
.pill:hover { border-color: var(--ink); }
.pill[aria-pressed="true"] { background: var(--carbune); color: var(--piatra); border-color: var(--carbune); }
.pill[aria-pressed="true"] sup { color: var(--chartreuse); }

.grid {
  max-width: var(--maxw); margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 8px;
  grid-auto-flow: row dense;
  column-gap: clamp(1rem, 2.4vw, 2.5rem);
}
.card { grid-column: span var(--span, 4); align-self: start; margin: 0 0 clamp(2.5rem, 5vw, 4.5rem); transform: translateY(var(--shift, 0)); }
.card[hidden] { display: none; }
.card__btn { all: unset; display: block; width: 100%; cursor: pointer; }
.card__btn:focus-visible { outline: 2px solid var(--coral); outline-offset: 6px; }
.card__pic {
  position: relative; overflow: hidden;
  aspect-ratio: var(--ratio, 3 / 4);
  background: var(--piatra-2);
  box-shadow: var(--shadow-long);
}
.card__pic img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: var(--focus, 50% 50%);
  transition: transform 1.6s var(--ease-slow), opacity .8s ease;
}
.card__pic .alt { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .card__btn:hover .card__pic img { transform: scale(1.06); }
  .card__btn:hover .card__pic .alt { opacity: 1; }
}
.card__cap { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: .4rem 1rem; padding-top: 1.1rem; }
.card__no { color: var(--ocru-ink); }
.card__name { font: 400 clamp(1.25rem, 1.8vw, 1.7rem)/1.1 var(--f-display); margin: 0; }
.card__price { font: 400 .82rem var(--f-mono); color: var(--coral-ink); white-space: nowrap; letter-spacing: .02em; }
.card__price b { font: 400 1.15rem var(--f-display); letter-spacing: 0; font-variant-numeric: oldstyle-nums; }
.card__cat { grid-column: 2 / -1; color: var(--muted); font-size: .66rem; }

/* cardul de couture din galerie: editorial, pe toată lățimea */
.card--couture .card__pic { aspect-ratio: auto; display: grid; grid-template-columns: 1.15fr .85fr 1fr; gap: clamp(.6rem, 1.4vw, 1.2rem); background: none; box-shadow: none; overflow: visible; }
.card--couture .card__pic span { position: relative; overflow: hidden; aspect-ratio: 2 / 3; box-shadow: var(--shadow-long); }
.card--couture .card__pic span:nth-child(2) { margin-top: 18%; }
.card--couture .card__pic span:nth-child(3) { display: grid; place-content: end start; aspect-ratio: auto; box-shadow: none; padding: 0 0 1rem 1rem; overflow: visible; }
.card--couture .card__pic em { font: 400 clamp(2rem, 4vw, 3.8rem)/.95 var(--f-display); font-style: normal; }
.card--couture .card__pic em small { display: block; font: 400 .75rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 1rem; }

/* reveal cu clip-path */
/* (clip-path pe copii: IntersectionObserver ignoră elementele tăiate complet) */
[data-reveal] > * { clip-path: inset(100% 0 0 0); transition: clip-path 1.4s var(--ease-slow); }
[data-reveal].is-shown > * { clip-path: inset(-10% -10% -30% -10%); }
.card[data-reveal] > * { clip-path: inset(0 0 100% 0); }
.card[data-reveal].is-shown > * { clip-path: inset(-10% -10% -30% -10%); }

/* ---------- COUTURE ---------- */
.couture {
  position: relative;
  background: var(--carbune); color: var(--piatra);
  padding: clamp(6rem, 14vh, 10rem) var(--pad);
  overflow: hidden;
}
.couture .eyebrow { color: var(--muted-light); }
.couture .h2 em { color: var(--coral); }
.couture__grid {
  max-width: var(--maxw); margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  gap: clamp(1rem, 2.5vw, 2.5rem);
}
.couture__text { grid-column: 1 / span 5; grid-row: 1; align-self: start; padding-top: 2rem; }
.couture__text p:not(.eyebrow) { color: var(--muted-light); font-size: 1.12rem; max-width: 26rem; margin: 2rem 0 2.4rem; }
.cpic { margin: 0; position: relative; }
.cpic img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; will-change: transform; }
.cpic figcaption { position: absolute; left: 0; bottom: -1.8rem; color: var(--muted-light); }
.cpic--a { grid-column: 7 / span 6; grid-row: 1 / span 2; }
.cpic--b { grid-column: 2 / span 4; grid-row: 2 / span 2; margin-top: 6rem; }
.cpic--c { grid-column: 7 / span 4; grid-row: 3; margin-top: 3rem; }
.cpic--d { grid-column: 11 / span 2; grid-row: 3; margin-top: 12rem; }
.cpic img { overflow: hidden; }

/* ---------- CONFIGURATOR ---------- */
.config { position: relative; padding: clamp(6rem, 14vh, 10rem) var(--pad); background: var(--hartie); }
.config__head { max-width: var(--maxw); margin: 0 auto 3rem; display: grid; grid-template-columns: 1fr minmax(0, 24rem); align-items: end; gap: 1rem 3rem; }
.config__head .eyebrow { grid-column: 1 / -1; }
.config__head > p:last-child { color: var(--muted); margin: 0; }
.config__box {
  position: relative;
  max-width: var(--maxw); margin: 0 auto;
  background: var(--piatra);
  border: 1px solid var(--ocru-line);
  padding: clamp(1.25rem, 3vw, 3rem);
  box-shadow: var(--shadow-long);
}
.config__ref {
  display: flex; align-items: center; gap: 1rem;
  padding: .6rem .6rem .6rem .6rem; margin-bottom: 1.6rem;
  background: var(--hartie); border: 1px solid var(--ocru-line);
  max-width: 30rem;
}
.config__ref img { width: 3.2rem; height: 4rem; object-fit: cover; }
.config__ref p { margin: 0; display: grid; gap: .1rem; flex: 1; }
.config__ref p .mono { font-size: .62rem; color: var(--muted); }
.config__ref strong { font: 400 1.15rem/1.15 var(--f-display); }
.config__ref-x { background: none; border: 0; font-size: 1.6rem; width: 2.75rem; height: 2.75rem; cursor: pointer; color: var(--muted); }

.progress { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
.progress li { font-size: .9rem; color: var(--muted); display: flex; gap: .55rem; align-items: baseline; transition: color .3s; }
.progress li .mono { color: var(--ocru-ink); }
.progress li.is-active, .progress li.is-done { color: var(--ink); }
.progress li.is-active { font-weight: 600; }
.progress li.is-done { cursor: pointer; }
.progress__bar { height: 2px; background: rgba(185, 138, 90, .25); margin: 1rem 0 2.4rem; }
.progress__bar span { display: block; height: 100%; width: 20%; background: var(--coral); transition: width .7s var(--ease-slow); }

.config__body { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: clamp(1.5rem, 3vw, 3.5rem); align-items: start; }
.step { border: 0; margin: 0; padding: 0; min-width: 0; }
.step[hidden] { display: none; }
.step.is-entering { animation: stepIn .7s var(--ease-slow); }
@keyframes stepIn { from { opacity: 0; transform: translateX(24px); } }
.step__q { font: 400 clamp(1.9rem, 3.6vw, 3.1rem)/1 var(--f-display); letter-spacing: -.015em; padding: 0; margin: 0 0 1.8rem; }

.choices { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); }
.choice { position: relative; display: block; cursor: pointer; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice__card {
  display: flex; flex-direction: column; justify-content: space-between; gap: .9rem;
  height: 100%; min-height: 7.5rem;
  padding: 1.1rem 1.15rem;
  background: var(--hartie);
  border: 1px solid rgba(38, 33, 29, .14);
  transition: border-color .3s, background-color .3s, transform .4s var(--ease), box-shadow .4s;
}
.choice:hover .choice__card { border-color: var(--ink); transform: translateY(-2px); }
.choice input:focus-visible + .choice__card { outline: 2px solid var(--coral); outline-offset: 3px; }
.choice input:checked + .choice__card { border-color: var(--carbune); background: var(--carbune); color: var(--piatra); box-shadow: 0 18px 30px -20px rgba(30, 27, 24, .8); }
.choice__no { color: var(--ocru-ink); }
.choice input:checked + .choice__card .choice__no { color: var(--ocru); }
.choice__name { font: 400 1.45rem/1.05 var(--f-display); }
.choice__hint { font-size: .85rem; color: var(--muted); }
.choice input:checked + .choice__card .choice__hint { color: var(--muted-light); }

.choices--buget { grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.choices--buget .choice__name { font-size: 1.7rem; display: block; margin-bottom: .3rem; }
.thumbs { display: flex; gap: .45rem; }
.thumbs figure { margin: 0; flex: 1; min-width: 0; }
.thumbs img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.thumbs figcaption { font-size: .72rem; line-height: 1.25; margin-top: .35rem; color: var(--muted); }
.choice input:checked + .choice__card .thumbs figcaption { color: var(--muted-light); }

.swatch { height: 4.2rem; border-radius: 2px; display: flex; overflow: hidden; }
.swatch i { flex: 1; }
.swatch--surpriza { background: conic-gradient(from 40deg, #E2566E, #F2A541, #9DB54A, #6E8FD6, #F3C6CF, #E2566E); }
.choices--stil .choice__card { padding: .6rem .6rem 1rem; }
.choices--stil img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

/* pas 5 */
.details { display: grid; gap: 1.1rem; max-width: 40rem; }
.seg { display: inline-flex; border: 1px solid var(--ink); border-radius: 999px; padding: 3px; justify-self: start; flex-wrap: wrap; }
.seg label { cursor: pointer; }
.seg input { position: absolute; opacity: 0; }
.seg span { display: block; white-space: nowrap; padding: .6rem 1.1rem; border-radius: 999px; font-size: .95rem; transition: background-color .3s, color .3s; }
.seg input:checked + span { background: var(--carbune); color: var(--piatra); }
.seg input:focus-visible + span { outline: 2px solid var(--coral); }
.field { display: grid; gap: .4rem; }
.field > span { font-size: .85rem; color: var(--muted); }
.field em { font-style: normal; opacity: .8; }
.field input, .field textarea {
  font: inherit; font-size: 1rem; color: var(--ink);
  background: var(--hartie); border: 1px solid rgba(38, 33, 29, .2); border-radius: 0;
  padding: .85rem .95rem; min-height: 3.1rem; width: 100%;
  transition: border-color .3s;
}
.field input:focus, .field textarea:focus { outline: none; border-color: var(--ink); }
.field.is-bad input { border-color: var(--coral-ink); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.details__err { color: var(--coral-ink); margin: 0; min-height: 1.4em; font-size: .92rem; }
.details.is-pickup .field--adresa { display: none; }

.summary { border-left: 1px solid var(--ocru-line); padding-left: 1.5rem; position: sticky; top: 6rem; }
.summary__t { color: var(--muted); margin: 0 0 1rem; }
.summary dl { margin: 0; display: grid; gap: .9rem; }
.summary dt { font: 400 .66rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ocru-ink); }
.summary dd { margin: .15rem 0 0; font: 400 1.1rem/1.2 var(--f-display); }

.config__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--ocru-line); }
.config__nav .js-back { visibility: hidden; }
.config__nav.can-back .js-back { visibility: visible; }

.done {
  position: absolute; inset: 0; z-index: 2;
  background: var(--carbune); color: var(--piatra);
  display: grid; place-content: center; justify-items: center; text-align: center; gap: .6rem;
  padding: 2rem;
  animation: fade .8s ease;
}
.done[hidden] { display: none; }
.done .mono { color: var(--chartreuse); margin: 1rem 0 0; }
.done h3 { font: 400 clamp(2rem, 4.4vw, 3.6rem)/1.02 var(--f-display); margin: 0; max-width: 14ch; }
.done__note { color: var(--muted-light); margin: .6rem 0 1.4rem; }
.done .btn--ghost { color: var(--piatra); }
.done .btn--ghost:hover { --bg: var(--piatra); --fg: var(--carbune); border-color: var(--piatra); }
.done__stem { width: 3.6rem; fill: none; stroke: var(--ocru); stroke-width: 1.5; stroke-linecap: round; }
.done__stem circle { fill: var(--coral); stroke: none; }
.done__stem path { stroke-dasharray: 260; stroke-dashoffset: 260; animation: draw 1.6s .2s var(--ease-slow) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }

/* ---------- CUM LUCRĂM ---------- */
.how { position: relative; height: 340vh; }
.how__sticky {
  position: sticky; top: 0; height: 100vh; height: 100svh;
  display: grid; grid-template-columns: 1fr 1fr; align-items: center;
  max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad);
}
.how__stage { height: 80%; position: relative; }
.how__fallback { display: none; }
.no-3d .how__fallback { display: block; height: 100%; width: auto; aspect-ratio: 3 / 4.3; object-fit: cover; border-radius: 999px 999px 6px 6px; margin: 0 auto; filter: drop-shadow(30px 36px 34px rgba(70, 48, 26, .32)); }
.how__text { position: relative; }
.how__steps { list-style: none; margin: 0; padding: 0; display: grid; }
.how__steps li { grid-area: 1 / 1; opacity: 0; transform: translateY(30px); transition: opacity .7s ease, transform .9s var(--ease-slow); pointer-events: none; }
.how__steps li.is-on { opacity: 1; transform: none; pointer-events: auto; }
.how__steps li.is-past { transform: translateY(-30px); }
.how__n { font: 400 clamp(5rem, 12vw, 10rem)/.8 var(--f-display); color: transparent; -webkit-text-stroke: 1px var(--ocru); display: block; margin-bottom: 1.4rem; }
.how__steps h3 { font: 400 clamp(2.2rem, 4.6vw, 4.2rem)/1 var(--f-display); letter-spacing: -.02em; margin: 0 0 1.2rem; }
.how__steps p { color: var(--muted); font-size: 1.12rem; max-width: 28rem; margin: 0; }
.how__dots { display: flex; gap: .5rem; margin-top: 2.6rem; }
.how__dots span { width: 2.5rem; height: 2px; background: rgba(185, 138, 90, .3); transition: background-color .4s; }
.how__dots span.on { background: var(--coral); }

/* ---------- CONTACT ---------- */
.contact { position: relative; background: var(--piatra-2); padding: clamp(6rem, 14vh, 10rem) var(--pad); }
.contact__grid { max-width: var(--maxw); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.contact__tel { display: inline-block; margin: 2.4rem 0 1.6rem; font: 400 clamp(2.6rem, 6.4vw, 5.6rem)/1 var(--f-display); letter-spacing: -.02em; text-decoration: none; background: linear-gradient(var(--coral), var(--coral)) 0 100% / 0 2px no-repeat; transition: background-size .6s var(--ease-slow); }
.contact__tel:hover { background-size: 100% 2px; }
.contact__btns { display: flex; flex-wrap: wrap; gap: .8rem; }
.contact__info { margin: 3rem 0 0; display: grid; gap: 0; border-top: 1px solid var(--ocru-line); }
.contact__info div { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--ocru-line); }
.contact__info dt { font: 400 .7rem/1.9 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.contact__info dd { margin: 0; }
.contact__map { min-height: 26rem; position: relative; box-shadow: var(--shadow-long); background: var(--piatra); }
.contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.85) sepia(.25) contrast(.95); }

/* ---------- FOOTER ---------- */
.foot { background: var(--carbune); color: var(--muted-light); padding: 2.4rem var(--pad) calc(2.4rem + var(--dock-h)); }
.foot__row { max-width: var(--maxw); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem 2rem; }
.foot__row p { margin: 0; }
.foot__logo { font: 400 1.8rem var(--f-display); color: var(--piatra); }
.foot__credit { font-size: .85rem; }
.foot__credit a { color: var(--piatra); text-decoration-color: var(--ocru); text-underline-offset: 3px; }

/* ---------- dock (mobil) + WhatsApp ---------- */
.dock { display: none; }
.wa-float {
  transition: transform .4s var(--ease), bottom .4s var(--ease), opacity .3s;
  position: fixed; right: 1.25rem; bottom: calc(1.25rem + var(--dock-h)); z-index: 35;
  width: 3.5rem; height: 3.5rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--carbune); color: var(--piatra);
  box-shadow: 0 16px 30px -14px rgba(30, 27, 24, .7);
}
.wa-float:hover { transform: scale(1.07); }
.wa-float svg { width: 1.6rem; height: 1.6rem; fill: var(--chartreuse); }

/* ---------- LIGHTBOX ---------- */
.lb {
  position: fixed; inset: 0; z-index: 70;
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(20rem, 1fr);
  background: var(--carbune); color: var(--piatra);
  animation: fade .4s ease;
}
.lb[hidden] { display: none; }
.lb__media { position: relative; min-height: 0; }
.lb__track { height: 100%; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior: contain; }
.lb__track::-webkit-scrollbar { display: none; }
.lb__track figure { flex: 0 0 100%; margin: 0; scroll-snap-align: center; display: grid; place-items: center; padding: clamp(1rem, 3vw, 3rem); }
.lb__track img { max-width: 100%; max-height: calc(100vh - 6rem); max-height: calc(100svh - 6rem); width: auto; height: auto; object-fit: contain; box-shadow: 0 40px 80px -40px #000; }
.lb__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid rgba(233, 223, 208, .35); background: rgba(30, 27, 24, .5); cursor: pointer; font-size: 1.1rem; }
.lb__arrow:hover { background: var(--piatra); color: var(--carbune); }
.lb__arrow--prev { left: 1rem; }
.lb__arrow--next { right: 1rem; }
.lb__dots { position: absolute; left: 0; right: 0; bottom: 1.2rem; display: flex; justify-content: center; gap: .4rem; }
.lb__dots span { width: 1.8rem; height: 2px; background: rgba(233, 223, 208, .3); }
.lb__dots span.on { background: var(--coral); }
.lb__info { padding: clamp(5rem, 12vh, 8rem) clamp(1.5rem, 4vw, 4rem) 3rem; display: flex; flex-direction: column; gap: 1.2rem; border-left: 1px solid rgba(185, 138, 90, .3); overflow-y: auto; }
.lb__no { color: var(--ocru); margin: 0; }
.lb__info h2 { font: 400 clamp(2.2rem, 3.8vw, 3.6rem)/1 var(--f-display); margin: 0; letter-spacing: -.015em; }
.lb__desc { color: var(--muted-light); margin: 0; font-size: 1.08rem; }
.lb__pret { color: var(--coral); font-size: .85rem; margin: .4rem 0 1rem; }
.lb__pret b { font: 400 1.8rem var(--f-display); letter-spacing: 0; }
.lb__info .btn { align-self: flex-start; }
.lb__close { position: absolute; top: 1rem; right: 1rem; background: none; border: 1px solid rgba(233, 223, 208, .35); border-radius: 999px; padding: .55rem 1rem; cursor: pointer; display: flex; gap: .5rem; align-items: center; font-size: .9rem; }
.lb__close span { font-size: 1.2rem; line-height: 1; }

/* ---------- cursor ---------- */
.cursor { display: none; }
@media (hover: hover) and (pointer: fine) {
  .cursor {
    display: grid; place-items: center;
    position: fixed; left: 0; top: 0; z-index: 80;
    width: 12px; height: 12px; margin: -6px 0 0 -6px;
    border-radius: 50%;
    border: 1px solid var(--ink);
    pointer-events: none;
    transition: width .45s var(--ease-slow), height .45s var(--ease-slow), margin .45s var(--ease-slow), background-color .3s, border-color .3s, opacity .3s;
    opacity: 0;
  }
  .cursor span { font: 500 .7rem var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--carbune); opacity: 0; transition: opacity .3s; }
  .cursor.is-on { opacity: 1; }
  .cursor.is-big { width: 84px; height: 84px; margin: -42px 0 0 -42px; background: var(--piatra); border-color: var(--piatra); }
  .cursor.is-big span { opacity: 1; }
  .cursor.is-dark { border-color: var(--piatra); }
}

/* ===========================================================
   Responsive
   =========================================================== */
@media (max-width: 1100px) {
  .top__nav { gap: 1.3rem; }
  .config__body { grid-template-columns: 1fr; }
  .summary { display: none; }
}

@media (max-width: 900px) {
  :root { --dock-h: 4.6rem; }
  .top { padding: .8rem var(--pad); }
  .top__nav, .top__cta { display: none; }
  .top__menu { display: block; }
  .vlabel { display: none; }

  .hero { height: 200vh; }
  .hero__sticky { align-content: start; padding-top: 6.2rem; padding-bottom: 2rem; }
  .hero__title { font-size: clamp(3rem, 14.5vw, 5.4rem); }
  .hero__sub { margin: 1.2rem 0 1.4rem; max-width: 15.5rem; font-size: 1rem; }
  .hero__title .line--in { padding-left: .55em; }
  .hero__cta { margin-left: 0; gap: .5rem; flex-wrap: nowrap; }
  .hero__cta .btn { min-height: 2.9rem; padding: .7rem 1.05rem; font-size: .9rem; }
  .hero__scroll { display: none; }
  .hero__fallback { width: 46vw; right: 50%; transform: translateX(50%); bottom: 1.5rem; }
  .scena-gata:not(.no-3d) .hero__fallback { transform: translateX(50%) scale(.96); }

  .manifest__note { margin-left: 0; }
  .band { font-size: 1.35rem; flex-direction: column; }

  .gallery__head, .config__head { grid-template-columns: 1fr; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: .9rem; }
  .card { grid-column: span var(--span-m, 1); --shift: 0px; margin-bottom: 2rem; }
  .card__cap { grid-template-columns: 1fr; gap: .2rem; padding-top: .7rem; }
  .card__no { font-size: .62rem; }
  .card__name { font-size: 1.12rem; }
  .card__cat { display: none; }
  .card__price b { font-size: 1rem; }
  .card--couture .card__pic { grid-template-columns: 1fr 1fr; }
  .card--couture .card__pic span:nth-child(3) { grid-column: 1 / -1; padding: 0; }
  .filters { margin: 2rem 0 2rem; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(var(--pad) * -1); padding-right: var(--pad); }
  .filters::-webkit-scrollbar { display: none; }
  .pill { flex: 0 0 auto; }

  .couture__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .couture__text { grid-column: 1 / -1; padding-top: 0; }
  .cpic--a { grid-column: 1 / span 5; grid-row: 2; }
  .cpic--b { grid-column: 3 / span 4; grid-row: 3; margin-top: 1rem; }
  .cpic--c { grid-column: 1 / span 4; grid-row: 4; margin-top: 1rem; }
  .cpic--d { grid-column: 4 / span 3; grid-row: 5; margin-top: -4rem; }

  .config { padding-left: 1rem; padding-right: 1rem; }
  .config__head { padding: 0 calc(var(--pad) - 1rem); }
  .config__box { padding: 1.1rem; }
  .progress li { font-size: 0; gap: 0; }
  .progress li .mono { font-size: .72rem; }
  .progress li.is-active { font-size: .85rem; gap: .4rem; grid-column: span 1; white-space: nowrap; }
  .choices, .choices--buget { grid-template-columns: 1fr 1fr; gap: .6rem; }
  .choices--buget { grid-template-columns: 1fr; }
  .choices--buget .choice__card { flex-direction: row; align-items: center; min-height: 0; }
  .choices--buget .thumbs { width: 7.5rem; flex: 0 0 auto; }
  .choices--buget .thumbs figcaption { display: none; }
  .choice__card { min-height: 6rem; padding: .95rem; }
  .choice__name { font-size: 1.25rem; }
  .field-row { grid-template-columns: 1fr; }
  .config__nav { position: sticky; bottom: 0; z-index: 3; background: var(--piatra); margin: 1.6rem -1.1rem -1.1rem; padding: .8rem 1.1rem calc(.8rem + env(safe-area-inset-bottom)); }
  .config__nav .btn { min-height: 3rem; padding: .7rem 1.2rem; }
  .config__nav .js-send { white-space: nowrap; font-size: .92rem; }
  .choices--buget .thumbs img { aspect-ratio: 1 / 1; }
  body.in-cfg .wa-float { opacity: 0; pointer-events: none; transform: scale(.8); }

  .how { height: 300vh; }
  .how__sticky { grid-template-columns: 1fr; grid-template-rows: 52% 48%; align-items: start; padding-top: 4.5rem; }
  .how__stage { height: 100%; }
  .how__n { font-size: 4.2rem; margin-bottom: .6rem; }
  .how__steps h3 { font-size: 2rem; margin-bottom: .6rem; }
  .how__steps p { font-size: 1rem; }
  .how__dots { margin-top: 1.4rem; }

  .contact__grid { grid-template-columns: 1fr; }
  .contact__info div { grid-template-columns: 6.5rem 1fr; }
  .contact__map { min-height: 20rem; }

  .lb { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto; }
  .lb__track figure { padding: 3.8rem .8rem 2.4rem; }
  .lb__track img { max-height: 62vh; max-height: 62svh; }
  .lb__arrow { display: none; }
  .lb__info { padding: 1.2rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom)); border-left: 0; border-top: 1px solid rgba(185, 138, 90, .3); gap: .6rem; }
  .lb__info h2 { font-size: 1.9rem; }
  .lb__desc { font-size: .95rem; }
  .lb__pret { margin: 0 0 .4rem; }
  .lb__info .btn { align-self: stretch; }

  .dock {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 36;
    padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
    background: rgba(233, 223, 208, .9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--ocru-line);
    transition: transform .5s var(--ease);
  }
  .dock__cta { flex: 1; min-height: 3.1rem; }
  .dock.is-hidden { transform: translateY(110%); }
  body.dock-off .wa-float { bottom: 1.25rem; }
  .wa-float { right: 1rem; width: 3.25rem; height: 3.25rem; }
}

@media (max-width: 380px) {
  .hero__title { font-size: 3.05rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  [data-reveal] > * { clip-path: none !important; }
  .hero__title .line > span, .hero__eyebrow, .hero__sub, .hero__cta { transform: none; opacity: 1; }
}
