/* ============================================================
   Suzan Azeem, European line with traditional cloth
   Palette sampled from the atelier photography.
   ============================================================ */

:root{
  /* colour */
  --paper:#F6F1E9;      /* warm ivory ground */
  --cream:#EFE6D8;      /* raised panel */
  --linen:#E3D7C3;      /* hairline fills */
  --sand:#CDB99C;       /* mid neutral */
  --taupe:#9C8A74;      /* shadowed cloth */
  --ink:#241C15;        /* espresso text */
  --ink-2:#5C4C3D;      /* secondary text */
  --ink-3:#8B7A68;      /* tertiary / captions */
  --rust:#A2542A;       /* brocade terracotta, accent */
  --copper:#7E3F1C;     /* deep brocade */
  --gold:#B8944F;       /* gold thread */
  --rule:rgba(36,28,21,.16);
  --rule-soft:rgba(36,28,21,.09);

  /* type */
  --serif:"Cormorant Garamond",Cormorant,Georgia,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;

  /* spacious scale */
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:40px;
  --s-5:56px; --s-6:72px; --s-7:96px; --s-8:124px;

  /* motion */
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-io:cubic-bezier(.62,.05,.2,1);
  --t-fast:.28s; --t-mid:.6s; --t-slow:1.1s;

  --pad:clamp(20px,5vw,88px);
  --maxw:1680px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button,input{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:400; }
p{ margin:0; }
ul,ol,dl,dd{ margin:0; padding:0; list-style:none; }

::selection{ background:var(--rust); color:var(--paper); }

:focus-visible{
  outline:1.5px solid var(--rust);
  outline-offset:4px;
}

/* ── film grain ───────────────────────────────────────────── */
.grain{
  position:fixed; inset:-120px; z-index:9998; pointer-events:none;
  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='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  animation:grainShift 7s steps(6) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0)} 16%{transform:translate(-3%,2%)}
  33%{transform:translate(2%,-3%)} 50%{transform:translate(-2%,-2%)}
  66%{transform:translate(3%,1%)} 83%{transform:translate(-1%,3%)}
  100%{transform:translate(0,0)}
}

/* ── scroll progress ──────────────────────────────────────── */
.progress{
  position:fixed; top:0; left:0; right:0; height:1px; z-index:9997;
  background:var(--rule-soft);
}
.progress span{
  display:block; height:100%; width:0%;
  background:var(--rust);
  transform-origin:left;
}

/* ── intro curtain ────────────────────────────────────────── */
.curtain{
  position:fixed; inset:0; z-index:9990;
  background:var(--paper);
  display:grid; place-items:center;
  transition:transform 1s var(--e-io);
}
.curtain.is-done{ transform:translateY(-101%); }
.curtain__inner{
  display:flex; align-items:baseline; gap:var(--s-3);
  opacity:0; animation:curtainIn .9s var(--e-out) .1s forwards;
}
.curtain__mark{
  font-family:var(--serif); font-size:clamp(44px,7vw,84px);
  letter-spacing:.06em; line-height:1;
}
.curtain__count{
  font-family:var(--sans); font-size:12px; font-weight:300;
  letter-spacing:.2em; color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}
@keyframes curtainIn{ from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

/* ── header ───────────────────────────────────────────────── */
.head{
  position:fixed; top:0; left:0; right:0; z-index:900;
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-4);
  padding:clamp(18px,2.4vw,32px) var(--pad);
  transition:padding var(--t-mid) var(--e-out),background var(--t-mid) var(--e-out);
}
.head::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:rgba(246,241,233,.86);
  backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);
  border-bottom:1px solid var(--rule-soft);
  opacity:0; transition:opacity var(--t-mid) var(--e-out);
}
.head.is-stuck{ padding-top:14px; padding-bottom:14px; }
.head.is-stuck::after{ opacity:1; }
.head.is-hidden{ transform:translateY(-100%); transition:transform .5s var(--e-io); }

.head__brand{
  font-family:var(--serif); font-size:clamp(17px,1.5vw,21px);
  letter-spacing:.16em; text-transform:uppercase; white-space:nowrap;
}
.head__nav{ display:flex; gap:clamp(18px,2.4vw,38px); }
.head__nav .ln{ font-size:12px; }

/* link with sweeping rule */
.ln{
  position:relative; display:inline-block;
  font-family:var(--sans); font-size:12px; font-weight:300;
  letter-spacing:.2em; text-transform:uppercase;
  padding-bottom:3px; cursor:pointer;
}
.ln::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--e-out);
}
.ln:hover::after,.ln:focus-visible::after{ transform:scaleX(1); transform-origin:left; }
.ln--alt{ color:var(--ink-2); }
.ln--alt::after{ background:var(--rust); }

.head__menu{
  display:none; width:44px; height:44px; padding:0;
  background:none; border:0; cursor:pointer;
  position:relative;
}
.head__menu span{
  position:absolute; left:11px; width:22px; height:1px; background:var(--ink);
  transition:transform .45s var(--e-out),opacity .3s;
}
.head__menu span:first-child{ top:20px; }
.head__menu span:last-child{ top:25px; }
.head__menu[aria-expanded="true"] span:first-child{ transform:translateY(2.5px) rotate(45deg); }
.head__menu[aria-expanded="true"] span:last-child{ transform:translateY(-2.5px) rotate(-45deg); }

/* ── mobile overlay ───────────────────────────────────────── */
.overlay{
  position:fixed; inset:0; z-index:880;
  background:var(--paper);
  display:flex; flex-direction:column; justify-content:center;
  padding:var(--pad);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .8s var(--e-io);
}
.overlay.is-open{ clip-path:inset(0 0 0 0); }
.overlay__nav{ display:flex; flex-direction:column; gap:var(--s-1); }
.overlay__nav a{
  font-family:var(--serif); font-size:clamp(34px,10vw,60px);
  line-height:1.16; overflow:hidden; display:block;
}
.overlay__nav a span{
  display:block; transform:translateY(105%);
  transition:transform .7s var(--e-out);
}
.overlay.is-open .overlay__nav a span{ transform:none; }
.overlay.is-open .overlay__nav a:nth-child(1) span{ transition-delay:.12s; }
.overlay.is-open .overlay__nav a:nth-child(2) span{ transition-delay:.19s; }
.overlay.is-open .overlay__nav a:nth-child(3) span{ transition-delay:.26s; }
.overlay.is-open .overlay__nav a:nth-child(4) span{ transition-delay:.33s; }
.overlay.is-open .overlay__nav a:nth-child(5) span{ transition-delay:.40s; }
.overlay__foot{
  margin-top:var(--s-5); padding-top:var(--s-3);
  border-top:1px solid var(--rule);
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
}

/* ── shared type ──────────────────────────────────────────── */
.eyebrow{
  font-family:var(--sans); font-size:11px; font-weight:400;
  letter-spacing:.28em; text-transform:uppercase; color:var(--ink-3);
}
.sectitle{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(38px,6.4vw,92px);
  line-height:1.02; letter-spacing:-.005em;
  margin-top:var(--s-3);
}
.sectitle--sm{ font-size:clamp(28px,3.6vw,52px); }
.statement{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(26px,4.1vw,58px);
  line-height:1.2; letter-spacing:-.004em;
  max-width:20ch;
}

/* split-word reveal */
[data-split] .sw{ display:inline-block; overflow:hidden; vertical-align:top; }
[data-split] .sw i{
  display:inline-block; font-style:inherit;
  transform:translateY(102%); opacity:0;
  transition:transform .95s var(--e-out),opacity .7s var(--e-out);
}
[data-split].is-in .sw i{ transform:none; opacity:1; }

/* generic reveal */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .9s var(--e-out),transform .9s var(--e-out); }
.reveal.is-in{ opacity:1; transform:none; }

/* image wipe */
.wipe{ overflow:hidden; position:relative; background:var(--linen); }
.wipe img{
  width:100%; height:100%; object-fit:cover;
  clip-path:inset(0 0 100% 0);
  transform:scale(1.14);
  transition:clip-path 1.35s var(--e-io),transform 1.9s var(--e-io);
}
.wipe.is-in img{ clip-path:inset(0 0 0 0); transform:scale(1); }

/* ── buttons ──────────────────────────────────────────────── */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 var(--s-4);
  border:1px solid var(--ink); background:none;
  font-family:var(--sans); font-size:11.5px; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  overflow:hidden; cursor:pointer;
  transition:color .5s var(--e-out),border-color .5s var(--e-out);
  will-change:transform;
}
.btn span{ position:relative; z-index:2; }
.btn::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:var(--ink);
  transform:translateY(101%);
  transition:transform .6s var(--e-io);
}
.btn:hover,.btn:focus-visible{ color:var(--paper); }
.btn:hover::before,.btn:focus-visible::before{ transform:translateY(0); }
.btn:active{ transform:scale(.985); }

/* ── hero ─────────────────────────────────────────────────── */
.hero{
  position:relative;
  display:grid; grid-template-columns:1fr 42vw;
  gap:clamp(28px,5vw,80px); align-items:center;
  min-height:auto;
  padding:calc(var(--s-8) * 1.05) var(--pad) var(--s-6);
  max-width:var(--maxw); margin-inline:auto;
}
.hero__type{ max-width:34rem; }
.hero__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(60px,10.4vw,178px);
  line-height:.88; letter-spacing:-.02em;
  margin:var(--s-3) 0 var(--s-4);
}
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .w{
  display:block; transform:translateY(104%);
  transition:transform 1.25s var(--e-out);
}
.hero__title em{ font-style:italic; color:var(--copper); }
body.is-ready .hero__title .w{ transform:none; }
body.is-ready .hero__title .line:nth-child(2) .w{ transition-delay:.11s; }

.hero__lede{
  font-size:clamp(15px,1.15vw,17.5px); color:var(--ink-2);
  max-width:42ch; transition-delay:.2s;
}
.hero__actions{
  display:flex; align-items:center; gap:var(--s-4);
  flex-wrap:wrap; margin-top:var(--s-4); transition-delay:.3s;
}
.hero__facts{
  display:flex; gap:clamp(24px,3.4vw,56px); flex-wrap:wrap;
  margin-top:var(--s-6); padding-top:var(--s-3);
  border-top:1px solid var(--rule); transition-delay:.4s;
}
.hero__facts dt{
  font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
}
.hero__facts dd{
  font-family:var(--serif); font-size:clamp(30px,2.9vw,44px);
  line-height:1.1; margin-top:2px; font-variant-numeric:tabular-nums;
}

.hero__media{ margin:0; position:relative; }
.hero__media .wipe{ aspect-ratio:1348/1800; }
.hero__media figcaption{
  margin-top:var(--s-2);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3);
  display:flex; gap:10px; align-items:baseline;
}
.hero__media figcaption i{ font-style:normal; color:var(--rust); }


/* ── marquee ──────────────────────────────────────────────── */
.marquee{
  border-block:1px solid var(--rule);
  padding:var(--s-3) 0; overflow:hidden;
  background:var(--cream);
}
.marquee__track{
  display:flex; align-items:center; gap:var(--s-4);
  width:max-content;
  animation:slide 46s linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__track span{
  font-family:var(--serif); font-size:clamp(22px,2.8vw,42px);
  font-style:italic; font-weight:300; white-space:nowrap; color:var(--ink);
}
.marquee__track i{ color:var(--rust); font-size:13px; font-style:normal; }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* ── manifesto ────────────────────────────────────────────── */
.manifesto{
  max-width:var(--maxw); margin-inline:auto;
  padding:var(--s-8) var(--pad);
}
.manifesto .statement{ margin:var(--s-3) 0 0; max-width:24ch; }
.manifesto__body{
  max-width:64ch; margin-left:auto; margin-top:var(--s-4);
  padding-top:var(--s-3); border-top:1px solid var(--rule);
  display:grid; gap:var(--s-3);
}
.manifesto__body p{ color:var(--ink-2); font-size:15.5px; }
.manifesto__body p:nth-child(2){ transition-delay:.1s; }
.sig{
  font-family:var(--serif); font-style:italic;
  font-size:19px; color:var(--ink) !important;
  transition-delay:.2s;
}

/* ── section heads ────────────────────────────────────────── */
.sechead{
  max-width:var(--maxw); margin-inline:auto;
  padding:0 var(--pad) var(--s-5);
}
.sechead--split{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:var(--s-5); flex-wrap:wrap;
}
.sechead__note{
  max-width:34ch; color:var(--ink-2); font-size:14.5px;
  padding-bottom:6px;
}

/* ── craft grid ───────────────────────────────────────────── */
.atelier{ padding:var(--s-8) 0; }
.craft{
  max-width:var(--maxw); margin-inline:auto; padding:0 var(--pad);
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(20px,3vw,48px) clamp(16px,2.2vw,36px);
  align-items:end;
}
.craft__item{ margin:0; }
.craft__item .wipe{ aspect-ratio:3/4; }
.craft__item figcaption{
  margin-top:12px; font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-3);
  display:flex; gap:10px;
}
.craft__item figcaption i{ font-style:normal; color:var(--rust); }
.craft__item--a{ grid-column:1/span 5; }
.craft__text{ grid-column:7/span 5; padding-bottom:var(--s-4); }
.craft__text h3{
  font-family:var(--serif); font-size:clamp(24px,2.6vw,38px);
  line-height:1.14; margin-bottom:var(--s-2);
}
.craft__text p{ color:var(--ink-2); max-width:38ch; }
.craft__item--b{ grid-column:1/span 4; }
.craft__item--c{ grid-column:6/span 5; }

/* ── looks / the cuts ─────────────────────────────────────── */
.collection{ padding:var(--s-8) 0; }
.looks{
  max-width:var(--maxw); margin-inline:auto; padding:0 var(--pad);
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(28px,3.4vw,64px) clamp(16px,2.2vw,36px);
}
.look{ position:relative; }
.look:nth-child(3n+2){ margin-top:clamp(20px,3.4vw,56px); }
.look__img{ aspect-ratio:3/4; }
.look__img img{ transition:clip-path 1.35s var(--e-io),transform 1.6s var(--e-out); }
.look:hover .look__img img{ transform:scale(1.045); }
.look__meta{
  display:grid; grid-template-columns:1fr auto; align-items:baseline;
  column-gap:var(--s-2);
  margin-top:var(--s-2); padding-top:12px;
  border-top:1px solid var(--rule-soft);
  transition:border-color .5s var(--e-out);
}
.look:hover .look__meta{ border-color:var(--rust); }
.look__meta h3{
  font-family:var(--serif); font-size:clamp(21px,1.8vw,28px);
  line-height:1.2; grid-column:1;
}
.look__meta p{
  grid-column:1; font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-3); margin-top:3px;
}
.look__meta span{
  grid-column:2; grid-row:1/span 2;
  font-size:11px; letter-spacing:.16em; color:var(--ink-3);
  font-variant-numeric:tabular-nums;
  transition:color .4s var(--e-out),transform .5s var(--e-out);
}
.look:hover .look__meta span{ color:var(--rust); transform:translateX(-3px); }

/* ── campaign ─────────────────────────────────────────────── */
.campaign{
  position:relative; margin:var(--s-6) 0;
  min-height:min(64svh,620px);
  display:grid; place-items:center;
  overflow:hidden;
}
.campaign__img{ position:absolute; inset:-12% 0; }
.campaign__img img{
  width:100%; height:100%; object-fit:cover; object-position:50% 42%;
}
.campaign::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(36,28,21,.34),rgba(36,28,21,.5));
}
.campaign__quote{
  position:relative; z-index:2; margin:0;
  max-width:min(24ch,86vw); text-align:center; color:var(--paper);
  padding:0 var(--pad);
}
.campaign__quote p{
  font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:clamp(28px,4.4vw,66px); line-height:1.14;
}
.campaign__quote cite{
  display:block; margin-top:var(--s-3);
  font-family:var(--sans); font-style:normal; font-size:11px;
  letter-spacing:.28em; text-transform:uppercase; opacity:.82;
}

/* ── detail band ──────────────────────────────────────────── */
.materials{ padding:var(--s-8) 0; }
.detail{
  max-width:var(--maxw); margin-inline:auto; padding:0 var(--pad);
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:clamp(32px,6vw,110px); align-items:center;
}
.detail__img{ margin:0; aspect-ratio:1195/1800; }
.detail__body h3{ margin:var(--s-2) 0 var(--s-3); }
.detail__body > p.reveal{ color:var(--ink-2); max-width:44ch; font-size:15.5px; }
.specs{ margin-top:var(--s-5); border-top:1px solid var(--rule); }
.specs li{
  display:flex; justify-content:space-between; align-items:baseline; gap:var(--s-3);
  padding:var(--s-2) 0; border-bottom:1px solid var(--rule-soft);
}
.specs span{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
.specs b{ font-family:var(--serif); font-weight:400; font-size:20px; }
.specs li:nth-child(2){ transition-delay:.08s; }
.specs li:nth-child(3){ transition-delay:.16s; }

/* ── appointment ──────────────────────────────────────────── */
.appt{
  max-width:var(--maxw); margin-inline:auto;
  padding:var(--s-8) var(--pad);
}
.appt__lede{
  margin:var(--s-3) 0 0; max-width:46ch;
  color:var(--ink-2); font-size:15.5px;
}
.appt__type{ max-width:62ch; }
.appt__contact{ margin-top:var(--s-3); }
.appt__contact .ln{ font-size:13px; }

/* ── launch register (inverted band) ──────────────────────── */
.launch{
  background:var(--ink); color:var(--paper);
  padding:var(--s-7) var(--pad);
  margin-top:var(--s-6);
}
.launch__inner{ max-width:64ch; margin-inline:auto; text-align:center; }
.launch .eyebrow{ color:var(--gold); }
.launch__title{
  font-family:var(--serif); font-weight:300; text-wrap:balance;
  font-size:clamp(34px,5.2vw,74px); line-height:1.04;
  margin:var(--s-3) 0 var(--s-3);
}
.launch__lede{
  color:rgba(246,241,233,.74); font-size:15.5px;
  max-width:48ch; margin-inline:auto;
}
.launch__fine{
  margin-top:var(--s-3); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(246,241,233,.42);
}

.register{ margin-top:var(--s-5); }
.register[hidden]{ display:none; }

/* honeypot: off-screen, never focusable by a person */
.hp{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
.sr-only{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* input + button as a single hairline unit */
.regbox{
  display:flex; align-items:stretch;
  max-width:520px; margin-inline:auto;
  border:1px solid rgba(246,241,233,.26);
  background:rgba(246,241,233,.03);
  transition:border-color .5s var(--e-out),background .5s var(--e-out);
}
.regbox:focus-within{
  border-color:var(--gold);
  background:rgba(246,241,233,.06);
}
.regbox.is-bad{ border-color:#C4703F; }

.regbox input{
  flex:1 1 auto; min-width:0;
  background:none; border:0; outline:none;
  color:var(--paper);
  padding:0 var(--s-3); min-height:62px;
  font-family:var(--sans); font-size:15px; font-weight:300;
  letter-spacing:.02em;
}
.regbox input::placeholder{ color:rgba(246,241,233,.4); }
.regbox input:-webkit-autofill{
  -webkit-text-fill-color:var(--paper);
  -webkit-box-shadow:0 0 0 60px #2C231B inset;
}

.regbox__go{
  position:relative; flex:0 0 auto; overflow:hidden;
  border:0; border-left:1px solid rgba(246,241,233,.26);
  background:none; color:var(--paper);
  padding:0 var(--s-4); min-height:62px;
  font-family:var(--sans); font-size:11px; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  white-space:nowrap; cursor:pointer;
  transition:color .45s var(--e-out),border-color .5s var(--e-out);
}
.regbox__go span{ position:relative; z-index:2; }
.regbox__go::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:var(--paper);
  transform:translateY(101%);
  transition:transform .55s var(--e-io);
}
.regbox__go:hover,.regbox__go:focus-visible{ color:var(--ink); }
.regbox__go:hover::before,.regbox__go:focus-visible::before{ transform:translateY(0); }
.regbox__go:focus-visible{ outline:1.5px solid var(--gold); outline-offset:-4px; }
.regbox:focus-within .regbox__go{ border-left-color:var(--gold); }

@media (max-width:520px){
  .regbox{ flex-direction:column; }
  .regbox__go{
    border-left:0; border-top:1px solid rgba(246,241,233,.26);
    padding:var(--s-2) var(--s-4); min-height:54px;
  }
  .regbox:focus-within .regbox__go{ border-top-color:var(--gold); }
}

.register__msg{
  min-height:20px; margin-top:14px;
  font-size:12px; letter-spacing:.1em; color:#E0A177;
  opacity:0; transform:translateY(-4px);
  transition:opacity .35s,transform .35s var(--e-out);
}
.register__msg.is-on{ opacity:1; transform:none; }

.register__done{
  display:flex; flex-direction:column; align-items:center; gap:var(--s-2);
  margin-top:var(--s-5);
  animation:doneIn .7s var(--e-out) both;
}
.register__done[hidden]{ display:none; }
.register__done p{ font-size:15px; color:rgba(246,241,233,.74); }
.register__done b{
  display:block; font-family:var(--serif); font-weight:400;
  font-size:24px; color:var(--paper); margin-bottom:4px;
}
.register__done span{ font-size:13px; letter-spacing:.06em; }
@keyframes doneIn{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }

.tick{ color:var(--gold); }
.tick path{
  stroke-dasharray:34; stroke-dashoffset:34;
  animation:draw .7s var(--e-out) .12s forwards;
}
.tick circle{
  stroke-dasharray:126; stroke-dashoffset:126;
  animation:draw 1s var(--e-out) forwards;
}
@keyframes draw{ to{ stroke-dashoffset:0; } }

.ln--light{
  background:none; border:0; padding:0 0 3px;
  color:rgba(246,241,233,.6);
}
.ln--light:hover{ color:var(--paper); }

/* ── footer ───────────────────────────────────────────────── */
.foot{
  border-top:1px solid var(--rule);
  padding:var(--s-6) var(--pad) var(--s-3);
  max-width:var(--maxw); margin-inline:auto;
}
.foot__top{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:var(--s-5); align-items:start;
}
.foot__mark{
  font-family:var(--serif); font-size:clamp(30px,4.4vw,64px);
  line-height:1; letter-spacing:.02em;
}
.foot__cols{
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-3);
}
.foot__cols h4{
  font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:10px;
}
.foot__cols p{ font-size:14px; color:var(--ink-2); line-height:1.75; }
.foot__bar{
  display:flex; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap;
  margin-top:var(--s-6); padding-top:var(--s-2);
  border-top:1px solid var(--rule-soft);
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
}

/* ── responsive ───────────────────────────────────────────── */
@media (max-width:1100px){
  .hero{ grid-template-columns:1fr; min-height:auto; padding-top:var(--s-8); }
  .hero__media{ max-width:520px; }
  .looks{ grid-template-columns:repeat(2,1fr); }
  .look:nth-child(3n+2){ margin-top:0; }
  .look:nth-child(2n){ margin-top:clamp(24px,5vw,64px); }
  .craft__item--a{ grid-column:1/span 7; }
  .craft__text{ grid-column:1/span 9; padding-bottom:0; }
  .craft__item--b{ grid-column:1/span 6; }
  .craft__item--c{ grid-column:7/span 6; }
  .detail{ grid-template-columns:1fr; }
  .detail__img{ max-width:460px; }
  .foot__top{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .head__nav{ display:none; }
  .head__menu{ display:block; }
  .foot__cols{ grid-template-columns:repeat(2,1fr); gap:var(--s-4); }
}
@media (max-width:560px){
  :root{ --s-8:76px; --s-7:60px; --s-6:48px; }
  .looks{ grid-template-columns:1fr; gap:var(--s-5); }
  .look:nth-child(2n){ margin-top:0; }
  .craft{ grid-template-columns:1fr; }
  .craft__item--a,.craft__item--b,.craft__item--c,
  .craft__text{ grid-column:1/-1; }
  .hero__facts{ gap:var(--s-3); }
  .hero__facts > div{ flex:1 1 40%; }
}

/* ── reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .grain{ animation:none; }
  .marquee__track{ animation:none; }
  .reveal{ opacity:1; transform:none; }
  .wipe img{ clip-path:none; transform:none; }
  [data-split] .sw i{ transform:none; opacity:1; }
  .hero__title .w{ transform:none; }
}
