:root{
  /* Core */
  --bg:#F3EFEA;
  --surface: rgba(255,255,255,.58);
  --surface2: rgba(255,255,255,.38);

  --text:#1C1C1C;
  --muted:rgba(28,28,28,.60);
  --muted2:rgba(28,28,28,.46);
  --line:rgba(28,28,28,.12);
  --line2:rgba(28,28,28,.18);

  /* Boutique accents */
  --sand:#D8CFC4;
  --gold:#C2A86D;

  /* Lavender (premium ink) */
  --lavender:#8E7AB5;
  --lavenderSoft: rgba(142,122,181,.10);
  --lavenderInk: rgba(142,122,181,.85);
  --lavenderLine: rgba(142,122,181,.45);

  /* Geometry – PAPER (eckig) */
  --radius:0px;
  --radius2:0px;

  /* Typography */
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Motion */
  --ease: cubic-bezier(.2,.8,.2,1);
  --shadowSoft: 0 18px 50px rgba(0,0,0,.06);

  /* Optical centering (Typo-Trick) */
  --optical-x: -6px;
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-weight:400;
  position:relative;
  text-rendering:optimizeLegibility;
}

/* Paper texture + atelier grid wash */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(1200px 820px at 50% 14%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(980px 680px at 72% 24%, var(--lavenderSoft), transparent 62%),
    radial-gradient(920px 640px at 22% 22%, rgba(255,255,255,.38), transparent 64%),
    repeating-linear-gradient(0deg, rgba(28,28,28,.014) 0, rgba(28,28,28,.014) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(90deg, rgba(28,28,28,.010) 0, rgba(28,28,28,.010) 1px, transparent 1px, transparent 12px);
  opacity:.70;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}

.u-container{max-width:1120px; margin:0 auto; padding:0 28px}

/* Better keyboard focus */
:focus-visible{
  outline: 2px solid rgba(142,122,181,.70);
  outline-offset: 3px;
}

strong,b{ font-weight:500; }

/* Skip link */
.u-skip{
  position:absolute;
  left:-9999px;
  top:10px;
  z-index:9999;
  background:#fff;
  color:#111;
  padding:10px 12px;
  border:1px solid rgba(28,28,28,.18);
}
.u-skip:focus{ left:10px; }

/* =========================
   FLOATING ATELIER NAV
   ========================= */

.u-header{
  position:sticky;
  top:14px;
  z-index:40;
  width:min(1240px, calc(100% - 28px));
  margin:0 auto;
  border:1px solid rgba(28,28,28,.08);
  background:rgba(243,239,234,.78);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  box-shadow:
    0 12px 34px rgba(0,0,0,.05),
    inset 0 1px 0 rgba(255,255,255,.40);
  border-radius:999px;
}

.u-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:88px;
  height:auto;
  gap:18px;
  padding:0 24px;
}

/* Brand logo */
.u-brand-logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.u-brand-logo img{
  height:78px;
  width:auto;
  object-fit:contain;
  filter:none;
}

/* Desktop nav */
.u-nav{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.u-nav a{
  position:relative;
  padding:10px 14px;
  border-radius:999px;
  color: rgba(28,28,28,.76);
  transition:
    color .18s var(--ease),
    background .18s var(--ease),
    border-color .18s var(--ease),
    opacity .18s var(--ease);
}

.u-nav a:hover{
  color: rgba(28,28,28,.95);
  background: rgba(255,255,255,.34);
}

.u-nav a.is-active{
  background: rgba(142,122,181,.08);
  color: rgba(28,28,28,.92);
}

.u-nav a.is-active::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background: linear-gradient(
    90deg,
    rgba(142,122,181,0),
    rgba(142,122,181,.72),
    rgba(142,122,181,0)
  );
  filter:none;
}

/* Hidden checkbox but accessible */
.u-nav-toggle{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Burger hidden on desktop */
.u-nav-burger{
  display:none;
}

/* Mobile */
@media (max-width: 860px){
  .u-header{
    top:10px;
    width:calc(100% - 16px);
    border-radius:22px;
  }

  .u-header__inner{
    min-height:84px;
    padding:0 14px;
    gap:12px;
  }

  .u-brand-logo img{
    height:68px;
  }

  /* Burger visible */
  .u-nav-burger{
    display:inline-flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    border:1px solid rgba(142,122,181,.22);
    border-radius:999px;
    background: rgba(255,255,255,.22);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.30),
      0 8px 20px rgba(0,0,0,.04);
    transition:
      background .18s var(--ease),
      border-color .18s var(--ease),
      box-shadow .18s var(--ease),
      transform .18s var(--ease);
  }

  .u-nav-burger:hover{
    background: rgba(142,122,181,.08);
    border-color: rgba(142,122,181,.38);
    transform: translateY(-1px);
  }

  .u-nav-burger span{
    display:block;
    width:18px;
    height:1.8px;
    border-radius:999px;
    background: var(--lavenderInk);
    transition:
      transform .22s var(--ease),
      opacity .18s var(--ease),
      background .18s var(--ease);
  }

  /* Burger -> X */
  #u-nav-toggle:checked + .u-nav-burger span:nth-child(1){
    transform: translateY(6.8px) rotate(45deg);
  }
  #u-nav-toggle:checked + .u-nav-burger span:nth-child(2){
    opacity:0;
  }
  #u-nav-toggle:checked + .u-nav-burger span:nth-child(3){
    transform: translateY(-6.8px) rotate(-45deg);
  }

  /* Mobile nav drawer */
  .u-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:14px;
    right:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:14px;
    background: rgba(243,239,234,.96);
    border:1px solid rgba(142,122,181,.16);
    border-radius:20px;
    box-shadow:
      0 18px 44px rgba(0,0,0,.08),
      inset 0 1px 0 rgba(255,255,255,.36);
    backdrop-filter: blur(16px) saturate(120%);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
  }

  #u-nav-toggle:checked ~ .u-nav{
    display:flex;
  }

  .u-nav a{
    display:block;
    width:100%;
    padding:13px 14px;
    font-size:10px;
    letter-spacing:.20em;
    border-radius:14px;
    border:1px solid rgba(142,122,181,.14);
    background: rgba(255,255,255,.26);
  }

  .u-nav a:hover{
    background: rgba(142,122,181,.08);
    border-color: rgba(142,122,181,.26);
  }

  .u-nav a.is-active{
    background: rgba(142,122,181,.10);
    border-color: rgba(142,122,181,.34);
    color: rgba(28,28,28,.92);
  }

  .u-nav a.is-active::after{
    display:none;
  }
}

@media (max-width: 420px){
  .u-brand-logo img{ height:62px; }

  .u-nav-burger{
    width:42px;
    height:42px;
  }

  .u-nav-burger span{
    width:17px;
  }
}

/* =========================
   TYPE HELPERS
   ========================= */

.u-kicker{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted);
}

.u-kicker--line{
  display:inline-flex;
  align-items:center;
  gap:12px;
}

.u-kicker--line::after{
  content:"";
  width:56px;
  height:1px;
  background: linear-gradient(90deg, rgba(194,168,109,.20), var(--lavenderInk), rgba(194,168,109,.12));
  opacity:.95;
}

.u-h2{
  margin:0 0 14px;
  font-size:26px;
  line-height:1.18;
  letter-spacing:-.015em;
}

.u-h2--serif{
  font-family:var(--serif);
  font-weight:500;
}

.u-h3{
  margin:10px 0 6px;
  font-family:var(--serif);
  font-size:26px;
  line-height:1.12;
  letter-spacing:-.015em;
  font-weight:500;
}

.u-text{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.72;
}

.u-text--muted{
  color: rgba(28,28,28,.62);
  line-height:1.7;
}

.u-divider{
  border:0;
  height:1px;
  margin:22px 0;
  background: linear-gradient(90deg, transparent, rgba(28,28,28,.22), transparent);
}

.u-link{
  border-bottom:1px solid rgba(142,122,181,.35);
}
.u-link:hover{
  border-bottom-color: rgba(142,122,181,.70);
}

/* =========================
   BUTTONS — ONE SOURCE OF TRUTH
   ========================= */

.u-btn,
button.u-btn,
a.u-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 26px;
  border-radius:999px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  line-height:1;
  background: rgba(255,255,255,.44);
  color: rgba(28,28,28,.92);
  border:1px solid var(--lavenderLine);
  box-shadow:
    0 10px 24px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.06);
  transition:
    transform .18s var(--ease),
    background .18s var(--ease),
    border-color .18s var(--ease),
    box-shadow .18s var(--ease),
    opacity .18s var(--ease);
  position:relative;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.u-btn:hover,
button.u-btn:hover,
a.u-btn:hover{
  transform:translateY(-1px);
  background: rgba(142,122,181,.08);
  border-color: rgba(142,122,181,.62);
  box-shadow:
    0 14px 34px rgba(0,0,0,.14),
    0 0 0 1px rgba(142,122,181,.16),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.u-btn:active,
button.u-btn:active,
a.u-btn:active{
  transform:translateY(0px);
}

.u-btn--primary,
button.u-btn--primary,
a.u-btn--primary{
  background: rgba(255,255,255,.52);
  border-color: rgba(142,122,181,.72);
}

.u-btn--secondary,
button.u-btn--secondary,
a.u-btn--secondary{
  background:transparent;
  border:1.5px solid rgba(142,122,181,.22);
  color: rgba(28,28,28,.78);
}

.u-btn--secondary:hover,
button.u-btn--secondary:hover,
a.u-btn--secondary:hover{
  border-color: rgba(142,122,181,.55);
  background: rgba(142,122,181,.06);
}

/* Legacy aliases */
.u-btn--etsy,
.u-btn--etsy-large,
.u-btn--ghost{}

/* Silk wave only when class is added */
.u-btn--silk{
  overflow:hidden;
  transform:translateZ(0);
}

.u-btn--silk::before{
  content:"";
  position:absolute;
  top:-25%;
  left:-140%;
  width:120%;
  height:170%;
  pointer-events:none;
  background: radial-gradient(
    60% 50% at 35% 50%,
    rgba(142,122,181,.00) 0%,
    rgba(142,122,181,.10) 35%,
    rgba(142,122,181,.22) 48%,
    rgba(142,122,181,.10) 62%,
    rgba(142,122,181,.00) 78%
  );
  transform:skewX(-18deg);
  filter:blur(0.6px);
  opacity:.90;
  transition:left 1.15s cubic-bezier(.18,.72,.22,1);
}

.u-btn--silk::after{
  content:"";
  position:absolute;
  top:-20%;
  left:-160%;
  width:90%;
  height:160%;
  pointer-events:none;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 45%,
    rgba(255,255,255,.26) 50%,
    rgba(255,255,255,.10) 55%,
    rgba(255,255,255,0) 100%
  );
  transform:skewX(-18deg);
  opacity:.50;
  filter:blur(0.35px);
  transition:left 1.35s cubic-bezier(.18,.72,.22,1);
}

.u-btn--silk:hover::before{ left:140%; }
.u-btn--silk:hover::after{ left:150%; }

/* Fallback submit button */
.u-form button[type="submit"]:not(.u-btn),
.u-book button[type="submit"]:not(.u-btn),
.v201-phase2__form button[type="submit"]:not(.u-btn),
.u-form input[type="submit"],
.u-book input[type="submit"]{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 26px;
  border-radius:999px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  line-height:1;
  background: rgba(255,255,255,.52);
  color: rgba(28,28,28,.92);
  border:1px solid rgba(142,122,181,.72);
  box-shadow:
    0 10px 24px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.06);
  cursor:pointer;
  transition:
    transform .18s var(--ease),
    background .18s var(--ease),
    border-color .18s var(--ease),
    box-shadow .18s var(--ease);
}

.u-form button[type="submit"]:not(.u-btn):hover,
.u-book button[type="submit"]:not(.u-btn):hover,
.v201-phase2__form button[type="submit"]:not(.u-btn):hover,
.u-form input[type="submit"]:hover,
.u-book input[type="submit"]:hover{
  transform:translateY(-1px);
  background: rgba(142,122,181,.08);
  border-color: rgba(142,122,181,.62);
  box-shadow:
    0 14px 34px rgba(0,0,0,.14),
    0 0 0 1px rgba(142,122,181,.16),
    inset 0 1px 0 rgba(255,255,255,.16);
}

/* =========================
   ASHINA HERO COMPOSITION
   ========================= */

.u-hero--v301{
  min-height:calc(100vh - 112px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 0 64px;
  text-align:center;
  position:relative;
}

.u-hero--v301 .u-hero__inner{
  width:100%;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:0;
  position:relative;
  z-index:1;
}

.u-hero--v301 .u-hero__lockup{
  display:grid;
  justify-items:center;
  gap:6px;
  position:relative;
  z-index:1;
}

/* Logo etwas kleiner, damit es sauberer wirkt */
.u-hero--v301 .u-hero__logo{
  width:min(820px, 82vw);
  height:auto;
  display:block;
  margin:0 auto;
  transform:translateX(var(--optical-x));
  filter: drop-shadow(0 24px 34px rgba(0,0,0,.08));
}

/* Subtext direkt unter Logo */
.u-hero--v301 .u-hero__subtext{
  margin:0;
  margin-top:-4px;
  font-size:11px;
  letter-spacing:.38em;
  text-transform:uppercase;
  color: rgba(28,28,28,.54);
  line-height:1.15;
}

/* Hairline optional */
.u-hero--v301 .u-hero__hairline{
  width:min(180px, 42vw);
  height:1px;
  margin-top:8px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(142,122,181,.44),
    transparent
  );
  opacity:.95;
}

.u-hero--v301 .u-hero__cta{
  margin-top:26px;
  position:relative;
  z-index:1;
}

/* Hero Bühne */
.u-hero--v301::before{
  content:"";
  position:absolute;
  inset:8% 10% auto 10%;
  height:56%;
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.52) 0%,
      rgba(255,255,255,.16) 48%,
      rgba(255,255,255,0) 72%
    );
  filter:blur(22px);
  opacity:.9;
}

.u-hero--v301::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-46%);
  width:min(920px, 86vw);
  height:min(520px, 58vh);
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.34) 0%,
      rgba(255,255,255,.12) 42%,
      rgba(255,255,255,0) 72%
    );
  filter:blur(24px);
  opacity:.82;
  z-index:0;
}

@media (min-width: 1400px){
  .u-hero--v301 .u-hero__logo{
    width:840px;
  }
}

@media (max-width: 860px){
  .u-hero--v301{
    min-height:calc(100vh - 156px);
    padding:28px 0 42px;
  }

  .u-hero--v301 .u-hero__logo{
    width:min(470px, 80vw);
    transform:translateX(-4px);
  }

  .u-hero--v301 .u-hero__subtext{
    margin-top:-2px;
    font-size:10px;
    letter-spacing:.28em;
  }

  .u-hero--v301 .u-hero__hairline{
    width:min(160px, 56vw);
    margin-top:7px;
  }

  .u-hero--v301 .u-hero__cta{
    margin-top:22px;
  }

  .u-hero--v301::after{
    width:min(640px, 94vw);
    height:min(360px, 42vh);
    transform: translate(-50%,-44%);
    filter:blur(18px);
    opacity:.72;
  }
}

@media (max-width: 480px){
  .u-hero--v301 .u-hero__logo{
    width:min(420px, 78vw);
  }

  .u-hero--v301 .u-hero__subtext{
    font-size:9.5px;
    letter-spacing:.22em;
  }

  .u-hero--v301 .u-hero__cta{
    margin-top:20px;
  }
}

/* =========================
   HERO (Atelier commercial) — falls genutzt
   ========================= */

.u-hero-commercial{
  padding:118px 0 86px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.u-hero-commercial::after{
  content:"";
  display:block;
  width:min(980px, 86vw);
  height:18px;
  margin:54px auto 0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 18px;
  opacity:.72;
  background-image:url("data:image/svg+xml,%3Csvg%20width%3D%22980%22%20height%3D%2218%22%20viewBox%3D%220%200%20980%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M10%2010%20C140%206%20240%2013%20370%209%20C520%204%20610%2014%20750%209%20C850%206%20910%2011%20970%208%22%20stroke%3D%22%238E7AB5%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E");
}

.u-hero-commercial__title{
  font-family: var(--serif);
  font-size:70px;
  font-weight:500;
  line-height:1.06;
  margin:18px 0 14px;
  letter-spacing:-.02em;
}

.u-hero-commercial__title span{
  display:block;
  font-family: var(--sans);
  font-size:14px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color: rgba(28,28,28,.65);
  margin-top:12px;
}

.u-hero-commercial__lead{
  max-width:720px;
  margin:0 auto;
  font-size:18px;
  color: rgba(28,28,28,.76);
}

.u-cta-group{
  margin-top:30px;
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.u-atelier-note{
  margin-top:16px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color: rgba(28,28,28,.48);
}
.u-atelier-note span{ color: rgba(142,122,181,.72); }

.u-seal-image{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:26px auto 0;
  width:min(240px, 72vw);
  max-width:320px;
  opacity:.98;
  filter: drop-shadow(0 22px 34px rgba(0,0,0,.10));
}
.u-seal-image img{ width:100%; height:auto; }

/* =========================
   PAGES / BOOK
   ========================= */

.u-page{ padding:92px 0 120px; }

.u-page-hero{
  text-align:center;
  padding:92px 0 70px;
  border-bottom:1px solid rgba(28,28,28,.12);
  margin-bottom:56px;
}

.u-page-hero__title{
  font-family:var(--serif);
  font-size:58px;
  font-weight:500;
  letter-spacing:-.015em;
  max-width:620px;
  margin:10px auto;
}

.u-page-hero__lead{
  max-width:640px;
  margin:0 auto;
  color: rgba(28,28,28,.70);
}

.u-book{
  max-width:920px;
  margin:0 auto;
  padding:54px 52px;
  background: rgba(255,255,255,.50);
  border:1px solid rgba(28,28,28,.14);
  box-shadow: 0 30px 70px rgba(0,0,0,.08);
  position:relative;
  text-align:left;
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s cubic-bezier(.2,.8,.2,1),
    border-color .45s cubic-bezier(.2,.8,.2,1);
}

.u-book::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(255,255,255,.70), transparent 60%),
    linear-gradient(90deg, rgba(0,0,0,.06), transparent 20%, transparent 80%, rgba(0,0,0,.05));
}

.u-book::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:10px;
  bottom:10px;
  pointer-events:none;
  border-left:1px solid rgba(28,28,28,.08);
  border-right:1px solid rgba(28,28,28,.06);
  opacity:.75;
}

.u-book > *{ position:relative; }

.u-book:hover{
  transform:translateY(-2px);
  box-shadow:
    0 26px 70px rgba(0,0,0,.08),
    0 2px 0 rgba(255,255,255,.55) inset;
  border-color: rgba(142,122,181,.18);
}

.u-book-divider{
  height:1px;
  margin:26px 0;
  background: linear-gradient(90deg, transparent, rgba(142,122,181,.42), transparent);
  opacity:.9;
}

.u-book-footnote{
  margin-top:26px;
  font-size:10.5px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color: rgba(28,28,28,.46);
  opacity:.85;
}

.u-bullets{
  margin:0 0 10px;
  padding-left:18px;
}
.u-bullets li{ margin:8px 0; }

.u-book p{ margin-bottom:16px; }
.u-book h2{ margin-top:8px; }

/* =========================
   COLLECTIONS / EDITIONS
   ========================= */

.u-editions{
  max-width:980px;
  margin:18px auto 0;
}

.u-card{
  margin:16px 0;
  padding:18px 18px;
  border:1px solid rgba(28,28,28,.12);
  background: rgba(255,255,255,.42);
  box-shadow: 0 18px 50px rgba(0,0,0,.06);
  text-align:left;
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s cubic-bezier(.2,.8,.2,1),
    border-color .45s cubic-bezier(.2,.8,.2,1);
}

.u-card *{ text-align:left; }
.u-card .u-btn{ align-self:flex-start; }

.u-card:hover{
  transform:translateY(-2px);
  box-shadow:
    0 26px 70px rgba(0,0,0,.08),
    0 2px 0 rgba(255,255,255,.55) inset;
  border-color: rgba(142,122,181,.18);
}

.u-collection-list{
  display:grid;
  gap:18px;
  max-width:760px;
  position:relative;
}

.u-collection-list::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(142,122,181,.18),
    transparent
  );
}

.u-collection-item{
  border:1px solid rgba(28,28,28,.12);
  background: rgba(255,255,255,.42);
  box-shadow: 0 18px 50px rgba(0,0,0,.06);
  padding:22px 22px;
  text-align:left;
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s cubic-bezier(.2,.8,.2,1),
    border-color .45s cubic-bezier(.2,.8,.2,1);
}

.u-collection-item:hover{
  transform:translateY(-2px);
  box-shadow:
    0 26px 70px rgba(0,0,0,.08),
    0 2px 0 rgba(255,255,255,.55) inset;
  border-color: rgba(142,122,181,.18);
}

.u-collection-id{
  font-size:11.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color: rgba(28,28,28,.52);
  display:inline-flex;
  align-items:center;
  gap:12px;
}

.u-collection-id::after{
  content:"";
  width:56px;
  height:1px;
  background: linear-gradient(90deg, rgba(194,168,109,.20), var(--lavenderInk), rgba(194,168,109,.12));
  opacity:.95;
}

.u-collection-title{
  margin:10px 0 6px;
  font-family: var(--serif);
  font-size:26px;
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.01em;
}

.u-collection-meta{
  margin:0 0 14px;
  color: rgba(28,28,28,.62);
}

/* =========================
   FORMS (Contact + Waitlist)
   ========================= */

.u-form{ margin-top:12px; }
.u-form-row{ margin:14px 0; }

.u-label{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(28,28,28,.62);
  margin:0 0 8px;
}

.u-input,
.u-textarea,
.v201-phase2__form input{
  width:min(520px, 100%);
  border:1px solid rgba(28,28,28,.16);
  background: rgba(255,255,255,.55);
  padding:12px 14px;
  font-family:var(--sans);
  font-size:14px;
  outline:none;
  transition:
    border-color .22s var(--ease),
    box-shadow .22s var(--ease),
    background .22s var(--ease);
}

.u-textarea{
  min-height:140px;
  resize:vertical;
}

.u-input:focus,
.u-textarea:focus,
.v201-phase2__form input:focus{
  border-color: rgba(142,122,181,.65);
  box-shadow: 0 0 0 6px rgba(142,122,181,.12);
  background: rgba(255,255,255,.70);
}

.u-form-actions{ margin-top:16px; }

/* =========================
   v201 Phase II
   ========================= */

.v201-phase2{
  padding:84px 0 110px;
  text-align:center;
}

.v201-phase2__inner{
  max-width:820px;
  margin:0 auto;
  position:relative;
}

.v201-phase2__lead{
  margin:10px auto 22px;
  max-width:78ch;
}

.v201-phase2__form{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 auto 14px;
}

.v201-phase2__note{
  max-width:70ch;
  margin:14px auto 0;
}

/* =========================
   v202-seal (Atelier List bottom seal)
   ========================= */

.v202-seal{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:34px auto 0;
  width:min(240px, 72vw);
  max-width:320px;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  opacity:.98;
  filter: drop-shadow(0 22px 34px rgba(0,0,0,.10));
}

.v202-seal img{
  width:100%;
  height:auto;
  display:block;
}

.v202-seal--bottom{
  margin:46px auto 0;
}

/* =========================
   FOOTER
   ========================= */

.u-footer{
  border-top:1px solid var(--line);
  padding:22px 0;
}

.u-footer__inner{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:var(--muted2);
}

.u-footer__right{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.u-footer__tag{
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(28,28,28,.46);
}

.u-footer__links a{
  border-bottom:1px solid rgba(142,122,181,.25);
}

.u-footer__links a:hover{
  border-bottom-color: rgba(142,122,181,.60);
}

/* =========================
   MICRO TYPOGRAPHY
   ========================= */

.u-page-hero__title,
.u-h2--serif,
.u-h3{
  letter-spacing:-0.015em;
}

/* =========================
   MOBILE TUNING
   ========================= */

@media (max-width: 740px){
  .u-container{ padding:0 18px; }

  .u-book{
    padding:34px 22px;
  }

  .u-hero-commercial{
    padding:92px 0 64px;
  }

  .u-hero-commercial__title{
    font-size:48px;
  }

  .u-hero-commercial__lead{
    font-size:16px;
  }

  .u-seal-image{
    width:min(180px, 78vw);
  }

  .u-collection-item{
    padding:16px 16px;
  }

  .u-collection-title{
    font-size:22px;
  }

  .u-hero--v301::before{
    inset:12% 4% auto 4%;
    height:44%;
    filter:blur(18px);
    opacity:.65;
  }

  .u-book:hover,
  .u-card:hover,
  .u-collection-item:hover{
    transform:none;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; scroll-behavior:auto !important; }
  .u-btn--silk::before,
  .u-btn--silk::after{ display:none !important; }
}