:root{
  --oxblood:#5b0f1a;
  --oxblood-deep:#3d0b12;
  --ivory:#f8f5f1;
  --paper:#fffdfa;
  --taupe:#d9c9be;
  --black:#0b0b0b;
  --ink:#1b1715;
  --muted:#69605b;
  --line:rgba(61,11,18,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{
  margin:0;
  color:var(--ink);
  background:var(--ivory);
  font-family:Inter,Arial,sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--oxblood);color:white}
.skip-link{
  position:fixed;left:12px;top:12px;z-index:1000;
  transform:translateY(-180%);
  background:white;border:1px solid var(--oxblood);
  padding:10px 14px;
}
.skip-link:focus{transform:none}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.site-header{
  height:74px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  padding:0 50px;
  background:rgba(248,245,241,.97);
  border-bottom:1px solid rgba(11,11,11,.12);
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(16px);
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:38px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nav-left{justify-self:start}
.nav-right{gap:32px}
.desktop-nav a,.nav-action{
  position:relative;
  border:0;
  background:transparent;
  padding:10px 0;
  cursor:pointer;
}
.desktop-nav a:after,.nav-action:after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:5px;
  height:1px;background:var(--oxblood);
  transition:right .2s ease;
}
.desktop-nav a:hover:after,.nav-action:hover:after,
.desktop-nav a:focus-visible:after,.nav-action:focus-visible:after{right:0}

.brand-lockup{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.brand-lockup img{
  width:40px;height:40px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.brand-lockup span{
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:40px;
  line-height:1;
  font-weight:500;
  color:var(--black);
  letter-spacing:-.04em;
}

.header-right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:18px;
}
.header-rule{height:30px;width:1px;background:rgba(11,11,11,.18);margin-left:2px}
.icon-button{
  width:24px;height:34px;padding:0;
  border:0;background:transparent;
  display:grid;place-items:center;cursor:pointer;
}
.icon-button svg{
  width:17px;height:17px;
  fill:none;stroke:var(--black);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
}
.mobile-menu-toggle,.mobile-nav{display:none}

.hero{
  height:568px;
  display:grid;
  grid-template-columns:50% 50%;
  background:var(--ivory);
  border-bottom:1px solid rgba(11,11,11,.11);
}
.hero-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:44px 7vw 38px 6.8vw;
  text-align:center;
}
.hero-copy>*{align-self:center}
.hero-kicker{
  margin:0 0 25px;
  text-transform:uppercase;
  font-size:9px;
  font-weight:500;
  letter-spacing:.43em;
  color:var(--black);
}
.hero h1{
  margin:0;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:clamp(76px,8.8vw,136px);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:400;
  color:var(--oxblood);
}
.hero-rule{
  display:block;
  width:56px;height:1px;
  background:var(--oxblood);
  margin:24px auto 19px;
  opacity:.7;
}
.hero-confidence{
  margin:0;
  text-transform:uppercase;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:12px;
  letter-spacing:.29em;
  color:var(--black);
}
.hero-description{
  margin:19px 0 0;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:18px;
  line-height:1.35;
  color:#322924;
}
.private-access-button{
  margin-top:24px;
  min-width:232px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:0;
  background:var(--oxblood);
  color:#fff;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.2em;
  font-weight:500;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.private-access-button:hover{background:var(--oxblood-deep)}
.private-access-button:active{transform:translateY(1px)}
.private-access-button span:last-child{font-size:18px;line-height:0}
.launch-inline{
  margin-top:30px;
  min-width:360px;
  display:grid;
  grid-template-columns:auto 1px auto;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:14px 20px;
  border-top:1px solid rgba(91,15,26,.28);
  border-bottom:1px solid rgba(91,15,26,.28);
}
.launch-year-lockup{
  display:flex;
  align-items:baseline;
  gap:11px;
  color:var(--oxblood);
}
.launch-word{
  text-transform:uppercase;
  font-size:8px;
  font-weight:600;
  letter-spacing:.3em;
}
.launch-year-lockup strong{
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:26px;
  line-height:1;
  font-weight:400;
  letter-spacing:.04em;
}
.launch-divider{
  width:1px;
  height:30px;
  background:rgba(91,15,26,.28);
}
.enterprise-line{
  margin:0;
  text-transform:uppercase;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:8px;
  line-height:1.5;
  letter-spacing:.23em;
  color:#5f464b;
  text-align:left;
}

.hero-image-wrap{
  position:relative;
  overflow:hidden;
  min-width:0;
  background:#b39b8e;
}
.hero-image{
  width:100%;height:100%;
  object-fit:cover;
  object-position:64% 44%;
  transform:scale(1.12);
  transform-origin:68% 44%;
  filter:saturate(.98) contrast(1.025);
}
.hero-image-wrap:after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),transparent 40%),
    linear-gradient(0deg,rgba(0,0,0,.16),transparent 36%);
  pointer-events:none;
}
.hero-image-caption{
  position:absolute;
  right:6.2%;
  bottom:10%;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  color:#fff;
  text-transform:uppercase;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:9px;
  letter-spacing:.36em;
  line-height:2.45;
  text-shadow:0 1px 9px rgba(0,0,0,.25);
}
.hero-image-caption i{
  width:28px;height:1px;
  background:rgba(255,255,255,.8);
  margin-top:8px;
}

.catalogue{
  height:348px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:white;
  overflow:hidden;
}
.catalogue-card{
  position:relative;
  min-width:0;
  height:348px;
  overflow:hidden;
  border-right:2px solid var(--ivory);
  background:#c9bbae;
}
.catalogue-card:last-child{border-right:0}
.catalogue-card>img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.catalogue-card:hover>img{transform:scale(1.018)}
.catalogue-card:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(248,245,241,.88) 0%,rgba(248,245,241,.58) 23%,rgba(0,0,0,0) 55%,rgba(0,0,0,.12) 100%);
  pointer-events:none;
}
.card-dresses>img{object-position:54% 50%}
.card-coords>img{object-position:53% 38%}
.card-occasion>img{object-position:50% 31%}
.card-essentials>img{object-position:center 52%}

.catalogue-copy{
  position:absolute;
  top:34px;left:28px;
  z-index:2;
  color:var(--black);
}
.catalogue-copy h2{
  margin:0;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:28px;
  line-height:1;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:-.025em;
}
.small-rule{
  display:block;width:27px;height:1px;
  background:rgba(11,11,11,.65);
  margin:17px 0 15px;
}
.catalogue-copy p{
  margin:0;
  text-transform:uppercase;
  font-size:8px;
  font-weight:500;
  line-height:1.85;
  letter-spacing:.28em;
}
.explore{
  position:absolute;
  z-index:2;
  left:30px;bottom:27px;
  color:#fff;
  text-transform:uppercase;
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
  text-shadow:0 1px 7px rgba(0,0,0,.35);
}
.card-coords .explore,.card-essentials .explore{color:var(--black);text-shadow:none}
.explore span{font-size:14px;margin-left:6px}

footer{
  min-height:72px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:38px;
  padding:0 46px;
  background:var(--ivory);
  border-top:1px solid rgba(11,11,11,.08);
}
.footer-brand{
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:16px;
  letter-spacing:.18em;
  color:var(--black);
}
.footer-line{height:1px;background:rgba(11,11,11,.28)}
.footer-note{
  text-transform:uppercase;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:7px;
  letter-spacing:.34em;
  white-space:nowrap;
}
.footer-note span{margin:0 11px;color:rgba(11,11,11,.5)}


.access-modal[hidden]{display:none}
.access-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:24px;
}
.modal-backdrop{
  position:absolute;inset:0;
  border:0;background:rgba(17,9,9,.58);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.modal-panel{
  position:relative;
  z-index:1;
  width:min(570px,calc(100vw - 32px));
  background:var(--ivory);
  color:var(--black);
  padding:54px 54px 48px;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.2);
}
.modal-close{
  position:absolute;right:18px;top:13px;
  border:0;background:transparent;
  font-family:"Bodoni Moda",serif;
  font-size:28px;
  cursor:pointer;
}
.modal-mark{
  width:62px;height:62px;
  margin:0 auto 20px;
  overflow:hidden;
}
.modal-mark img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.modal-kicker{
  margin:0 0 14px;
  color:var(--oxblood);
  text-transform:uppercase;
  font-size:8px;
  font-weight:500;
  letter-spacing:.28em;
}
.modal-panel h2{
  margin:0;
  font-family:"Bodoni Moda",Georgia,serif;
  font-size:52px;
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}
.modal-copy{
  max-width:420px;
  margin:19px auto 30px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
.signup-form{max-width:430px;margin:0 auto}
.field-row{
  display:flex;
  border-bottom:1px solid var(--oxblood);
}
.field-row input{
  min-width:0;flex:1;
  border:0;background:transparent;
  padding:15px 0;
  color:var(--black);
  outline:0;
}
.field-row input::placeholder{color:#8e817a}
.field-row button{
  border:0;background:transparent;
  color:var(--oxblood);
  text-transform:uppercase;
  font-size:8px;
  font-weight:600;
  letter-spacing:.2em;
  cursor:pointer;
  padding-left:15px;
}
.field-row button:disabled{opacity:.5;cursor:wait}
.form-note,.form-status{font-size:10px;line-height:1.55}
.form-note{color:#8a7d76;margin:11px 0 0}
.form-status{min-height:18px;color:var(--oxblood);margin:8px 0 0}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

:focus-visible{outline:2px solid var(--oxblood);outline-offset:4px}

@media(min-width:1500px){
  .site-header{padding-left:3.4vw;padding-right:3.4vw}
  .hero{height:39.2vw;max-height:640px;min-height:568px}
  .catalogue{height:24vw;max-height:420px;min-height:348px}
  .catalogue-card{height:100%}
}

@media(max-width:1040px){
  .site-header{padding:0 28px}
  .desktop-nav{gap:22px;font-size:8px}
  .nav-right{gap:19px}
  .brand-lockup span{font-size:34px}
  .brand-lockup img{width:35px;height:35px}
  .hero h1{font-size:10vw}
  .hero-copy{padding-left:5vw;padding-right:5vw}
}

@media(max-width:820px){
  html{scroll-padding-top:68px}
  .site-header{
    height:68px;
    grid-template-columns:1fr auto;
    padding:0 20px;
  }
  .desktop-nav,.header-right{display:none}
  .brand-lockup{justify-self:start}
  .brand-lockup span{font-size:30px}
  .brand-lockup img{width:31px;height:31px}
  .mobile-menu-toggle{
    display:block;
    justify-self:end;
    border:0;background:transparent;
    padding:9px 0;
    text-transform:uppercase;
    font-size:9px;font-weight:500;letter-spacing:.2em;
    cursor:pointer;
  }
  .mobile-nav{
    position:absolute;
    top:68px;left:0;right:0;
    display:none;
    background:var(--ivory);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:16px 22px 20px;
    z-index:60;
  }
  .mobile-nav.open{display:grid}
  .mobile-nav a,.mobile-nav button{
    width:100%;
    padding:13px 0;
    border:0;border-bottom:1px solid var(--line);
    background:transparent;
    text-align:left;
    text-transform:uppercase;
    font-size:9px;font-weight:500;letter-spacing:.18em;
  }
  .mobile-nav>*:last-child{border-bottom:0}
  .hero{
    height:auto;
    grid-template-columns:1fr;
  }
  .hero-copy{min-height:560px;padding:56px 8vw 48px}
  .hero h1{font-size:20vw}
  .hero-image-wrap{height:640px}
  .catalogue{
    height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalogue-card{height:420px;border-bottom:2px solid var(--ivory)}
  footer{padding:0 24px;gap:20px}
}

@media(max-width:540px){
  .hero-copy{min-height:505px;padding:45px 6vw 40px}
  .hero-kicker{font-size:7px;letter-spacing:.34em;margin-bottom:21px}
  .hero h1{font-size:22vw}
  .hero-confidence{font-size:9px;letter-spacing:.22em}
  .hero-description{font-size:15px}
  .private-access-button{min-width:220px}
  .launch-inline{
    min-width:0;
    width:100%;
    grid-template-columns:1fr;
    gap:10px;
    padding:14px 10px;
  }
  .launch-divider{width:42px;height:1px;justify-self:center}
  .launch-year-lockup{justify-content:center}
  .enterprise-line{font-size:7px;letter-spacing:.18em;line-height:1.5;text-align:center}
  .hero-image-wrap{height:520px}
  .hero-image-caption{right:5%;font-size:7px}
  .catalogue{grid-template-columns:1fr}
  .catalogue-card{height:470px;border-right:0}
  .catalogue-copy{top:28px;left:24px}
  .explore{left:24px;bottom:24px}
  footer{
    grid-template-columns:auto 1fr;
    min-height:86px;
  }
  .footer-note{grid-column:1/-1;justify-self:end;margin-top:-18px;white-space:normal;text-align:right;line-height:1.7}
  .modal-panel{padding:48px 24px 38px}
  .modal-panel h2{font-size:45px}
  .field-row{display:grid;border:0;gap:12px}
  .field-row input{border-bottom:1px solid var(--oxblood)}
  .field-row button{border:1px solid var(--oxblood);padding:13px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}