:root{
  --midnight:#1E1B45;
  --ink:#FFFFFF;
  --lilac:#A996F5;
  --gold:#FFC24B;
  --gold-deep:#9A6B0C;

  --font-display:"Anton","Impact","Arial Narrow",sans-serif;
  --font-body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;

  --nav-h:108px;
  --gutter:clamp(20px, 4vw, 56px);
  --ease-out:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
[hidden]{display:none !important;}
body{
  font-family:var(--font-body);
  background:#F4F2EC;
  color:#1E1B45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden;}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px;}

.nav{
  position:fixed;
  inset:0 0 auto 0;
  z-index:50;
  color:var(--ink);
  background:rgba(30,27,69,0);
  transition:background-color .35s ease, box-shadow .35s ease;
}
.nav.is-stuck{
  background:rgba(30,27,69,.94);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 30px -20px rgba(0,0,0,.7);
}
.nav.is-stuck .nav__inner{height:76px;}
.nav.is-stuck .logo{font-size:23px;}

section[id]{scroll-margin-top:76px;}
.nav__inner{
  max-width:1440px;
  margin:0 auto;
  height:var(--nav-h);
  transition:height .35s var(--ease-out);
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  gap:clamp(20px, 3vw, 48px);
}

.logo{
  transition:font-size .35s var(--ease-out);
  display:grid;
  justify-content:start;
  align-content:center;
  font-size:28px;
  flex-shrink:0;
  text-decoration:none;
  color:var(--ink);
  line-height:1;
}

.logo,.nav__end{flex:1 1 0;}
.nav__end{display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.logo__top{
  font-family:var(--font-display);
  font-size:.38em;
  letter-spacing:.24em;
  text-transform:uppercase;
  white-space:nowrap;
  margin-bottom:.3em;
}
.logo__bottom{
  font-family:var(--font-display);
  font-size:1.5em;
  letter-spacing:.02em;
  text-transform:uppercase;
  white-space:nowrap;
  transform:skewX(-10deg);
  transform-origin:0 100%;
}
.logo__dot{
  display:inline-block;
  border-radius:50%;
  background:var(--gold);
}
.logo__bottom .logo__dot{width:.28em;height:.28em;margin-left:.06em;transform:skewX(10deg);}


.nav__back{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-family:var(--font-display);
  font-size:16px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  padding:10px 0;
  transition:color .2s ease;
}
.nav__back svg{width:16px;height:12px;flex:none;color:var(--gold);transition:transform .25s var(--ease-out);}
.nav__back:hover{color:var(--ink);}
.nav:not(.is-stuck) .nav__back{
  padding:10px 18px;
  margin-right:-18px;
  border-radius:999px;
  background:rgba(21,17,47,.6);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.nav__back:hover svg{transform:translateX(-4px);}

.nav__links{
  display:flex;
  align-items:center;
  gap:clamp(22px, 2.8vw, 44px);
  list-style:none;
  margin:0;
  padding:0;
}
.nav__link{
  position:relative;
  display:inline-block;
  font-family:var(--font-display);
  font-weight:400;
  font-size:16px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  padding:8px 0;
  white-space:nowrap;
  transition:color .2s ease;
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:2px;
  height:2px;
  border-radius:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease-out);
}
.nav__link:hover{color:var(--ink);}
.nav__link:hover::after{transform:scaleX(1);transform-origin:left;}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
  text-decoration:none;
  padding:15px 26px;
  border-radius:999px;
  white-space:nowrap;
  cursor:pointer;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease,
             transform .6s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;

  transform:translate(var(--mx,0px), var(--my,0px));
}
.btn.is-magnetic{transition-duration:.2s, .2s, .2s, .15s, .25s;}
.btn__arrow{
  display:inline-block;
  transition:transform .3s var(--ease-out);
}
.btn:hover .btn__arrow{transform:translateX(4px);}
.btn--gold{
  background:var(--gold);
  border:2px solid var(--gold);
  color:#241B00;
  box-shadow:0 10px 30px -10px rgba(255,194,75,.55);
}
.btn--gold:hover{
  background:#FFD27A;
  border-color:#FFD27A;
  box-shadow:0 16px 36px -12px rgba(255,194,75,.7);
}
.btn--line{
  background:transparent;
  color:var(--gold);
  border:2px solid var(--gold);
}
.btn--line:hover{background:var(--gold);color:#241B00;}
.btn--ghost{
  background:rgba(255,255,255,.04);
  color:var(--ink);
  border:2px solid rgba(255,255,255,.38);
}
.btn--ghost:hover{border-color:var(--ink);background:rgba(255,255,255,.1);}

.btn--dark{
  background:var(--midnight);
  border:2px solid var(--midnight);
  color:var(--ink);
  box-shadow:0 10px 30px -12px rgba(30,27,69,.5);
}
.btn--dark:hover{background:#2E2966;border-color:#2E2966;box-shadow:0 16px 36px -14px rgba(30,27,69,.6);}
.btn--dark .btn__arrow{color:var(--gold);}
.btn--nav{font-size:16px;padding:13px 24px;}

.nav__toggle{
  display:none;
  position:relative;
  width:44px;
  height:44px;
  margin-right:-10px;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  color:var(--ink);
}
.nav__toggle span{
  position:absolute;
  left:11px;
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .35s var(--ease-out), top .35s var(--ease-out);
}
.nav__toggle span:nth-child(1){top:17px;}
.nav__toggle span:nth-child(2){top:25px;}
.nav__toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg);}
.nav__toggle[aria-expanded="true"] span:nth-child(2){top:21px;transform:rotate(-45deg);}

.menu{
  position:fixed;
  inset:0;
  z-index:40;
  background:var(--midnight);
  color:var(--ink);
  padding:calc(var(--nav-h) + 24px) var(--gutter) 36px;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease, visibility 0s linear .3s;
}
.menu.is-open{opacity:1;visibility:visible;transition:opacity .3s ease;}
.menu__list{list-style:none;margin:0;padding:0;}
.menu__list li{
  border-bottom:1px solid rgba(255,255,255,.1);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .4s ease, transform .5s var(--ease-out);
}
.menu.is-open .menu__list li{opacity:1;transform:none;}
.menu.is-open .menu__list li:nth-child(2){transition-delay:.05s;}
.menu.is-open .menu__list li:nth-child(3){transition-delay:.1s;}
.menu.is-open .menu__list li:nth-child(4){transition-delay:.15s;}
.menu__link{
  display:flex;
  align-items:baseline;
  gap:16px;
  padding:18px 0;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(30px, 8vw, 44px);
  letter-spacing:.005em;
  line-height:1;
  color:var(--ink);
  text-decoration:none;
}
.menu__link:hover{color:var(--gold);}
.menu__foot{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.menu__foot .btn{width:100%;}
.menu__social{
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  text-align:center;
}
.menu__social:hover{color:var(--gold);}

@media (max-width:1080px){
  :root{--nav-h:80px;}
  .nav__links{display:none;}
  .nav__toggle{display:block;}
  .logo{font-size:25px;}
  .btn--nav{font-size:15px;padding:11px 20px;}
  .nav__inner{gap:12px;}

  body.menu-open .nav{background:var(--midnight);}
  body.menu-open .nav .btn{visibility:hidden;}
  .nav.is-stuck .nav__inner{height:64px;}
  .nav.is-stuck .logo{font-size:21px;}
  section[id]{scroll-margin-top:64px;}
}
@media (min-width:1081px){
  .menu{display:none;}
}

@media (max-width:600px){
  :root{--nav-h:72px;}
  .nav .btn--nav{display:none;}
  .logo{font-size:23px;}

  .nav.is-stuck .btn--nav{display:inline-flex;font-size:14px;padding:9px 16px;}
  .nav.is-stuck .nav__inner{height:60px;}
  .nav.is-stuck .logo{font-size:19px;}
  section[id]{scroll-margin-top:60px;}
}

@media (max-width:359px){
  .hero__ctas{flex-wrap:nowrap;gap:10px;}
  .hero__ctas .btn{padding:13px 12px;font-size:14px;gap:8px;}
}

.hero{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--midnight);
  color:var(--ink);
  isolation:isolate;
}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden;}

.hero__media{
  scale:calc(1.04 - var(--push, 0) * .04);
  transform-origin:66% 40%;
  filter:brightness(calc(1 - var(--push, 0) * .55));
}

.hero__img{
  position:absolute;
  top:0;
  left:0;
  width:min(132%, calc(100% + 560px));
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  transform-origin:66% 50%;
  animation:heroZoom 2.4s var(--ease-out) both;
}
@keyframes heroZoom{from{transform:scale(1.08);}to{transform:scale(1);}}

.hero__scrim{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(30,27,69,.97) 0%, rgba(30,27,69,.9) 32%, rgba(30,27,69,.35) 58%, rgba(30,27,69,0) 78%),
    linear-gradient(180deg, rgba(30,27,69,.75) 0%, rgba(30,27,69,0) 28%);
}

.hero__scrim::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.14;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero__inner{
  flex:1;
  width:100%;
  max-width:1440px;
  margin:0 auto;

  padding:calc(var(--nav-h) + 24px) var(--gutter) 24px;
  display:flex;
  flex-direction:column;
}
.hero__content{
  margin:auto 0;
  max-width:min(660px, 50vw);
}

.hero__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;

  font-size:clamp(34px, min(7.4vw, 12.5vh), 118px);
  line-height:1;
  letter-spacing:.005em;
  margin:0 0 clamp(12px, 1.8vh, 18px);
  text-wrap:balance;
}
.hero__title .line{display:block;}

.hero__sub{
  font-family:var(--font-body);
  font-weight:400;
  font-size:clamp(15px, 1.3vw, 19px);
  line-height:1.6;
  color:rgba(255,255,255,.84);
  margin:0 0 clamp(20px, 2.8vh, 28px);
  max-width:42ch;
}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;}

.reveal{animation:rise .9s var(--ease-out) both;}
.reveal--2{animation-delay:.2s;}
.reveal--3{animation-delay:.3s;}
.reveal--4{animation-delay:.42s;}
@keyframes rise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

@media (min-aspect-ratio:11/10) and (max-height:560px){
  .hero__inner{padding:calc(var(--nav-h) + 8px) var(--gutter) 20px;}
  .hero__title{margin-bottom:8px;}
  .hero__sub{font-size:14px;line-height:1.5;margin-bottom:14px;}
  .btn{padding:11px 20px;font-size:14px;}
}

@media (max-aspect-ratio:11/10){
  .hero{
    display:grid;
    grid-template-rows:minmax(260px, 1fr) auto auto;
  }
  .hero__inner,.hero__content{display:contents;}
  .hero__media{
    grid-row:1;
    grid-column:1;
    position:relative;
    inset:auto;
    z-index:0;
    scale:1;
  }
  .hero__img{left:0;width:100%;object-position:40% 60%;scale:1.35;transform-origin:50% 52%;}
  .hero__scrim{
    display:block;
    grid-row:1;
    grid-column:1;
    position:relative;
    inset:auto;
    z-index:0;
    margin-bottom:-8px;
    background:linear-gradient(180deg, rgba(30,27,69,.6) 0%, rgba(30,27,69,0) 22%, rgba(30,27,69,0) 58%, var(--midnight) calc(100% - 8px));
  }
  .hero__scrim::after{display:none;}
  .hero__lead{
    grid-row:2;
    grid-column:1;
    position:relative;
    z-index:1;
    margin-top:calc(-1 * clamp(36px, 7vh, 80px));
    padding:0 var(--gutter);
  }
  .hero__tail{
    grid-row:3;
    grid-column:1;
    position:relative;
    z-index:1;
    padding:0 var(--gutter) clamp(24px, 4vh, 44px);
  }
  .hero__title{font-size:clamp(44px, min(13vw, 8vh), 84px);max-width:6.4em;}
  .hero__sub{font-size:16px;margin-bottom:clamp(18px, 2.6vh, 26px);color:var(--ink);}
  .hero__ctas .btn{flex:1 1 auto;}
}

@media (max-aspect-ratio:11/10) and (min-width:600px){
  .hero__title{font-size:clamp(56px, min(9.6vw, 7vh), 96px);max-width:none;line-height:1;}
  .hero__title .line{display:inline;}
  .hero__title .line:nth-child(2)::after{content:"\A";white-space:pre;}
  .hero__lead{max-width:1100px;box-sizing:border-box;}
  .hero__sub{font-size:18px;}
  .hero__ctas .btn{flex:none;}
}

@media (prefers-reduced-motion:reduce){
  .hero__img,.reveal{animation:none;}
  .hero__media{scale:none;filter:none;}
  .menu,.menu__list li,.nav,.nav__inner{transition:none;}
  .logo{transition:none;}
}

.does{
  background:#F4F2EC;
  padding:clamp(80px, 9vw, 140px) var(--gutter);
}
.does__inner{max-width:1440px;margin:0 auto;}
.does__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px 48px;
  flex-wrap:wrap;
  margin-bottom:clamp(36px, 4.5vw, 64px);
}
.does__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(44px, 6.4vw, 96px);
  line-height:1;
  letter-spacing:.005em;
  color:var(--midnight);
  margin:0;
}

.does__foot{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 28px;
  margin-top:clamp(36px, 4vw, 56px);
}
.does__alt{margin:0;font-size:17px;color:#4A4470;}
.does__alt a{color:var(--midnight);font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px;}
.does__alt a:hover{text-decoration-color:var(--midnight);}

.does__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(16px, 2vw, 32px);
  padding-bottom:clamp(24px, 3vw, 48px);
}
.card{
  --tilt:0deg;
  --drop:0px;
  display:flex;
  flex-direction:column;
  min-height:clamp(280px, 24vw, 340px);
  padding:30px 28px;
  border:2px solid rgba(30,27,69,.16);
  border-radius:16px;
  background:#FBFAF7;
  color:var(--midnight);
  text-decoration:none;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  rotate:var(--tilt);
  translate:0 var(--drop);
  transition:background-color .25s ease, border-color .25s ease, box-shadow .3s ease,
             rotate .45s var(--ease-out), transform .45s var(--ease-out);
}
.card:nth-child(1){--tilt:-2.4deg;--drop:0px;}
.card:nth-child(2){--tilt:1.8deg; --drop:clamp(20px, 3vw, 48px);}
.card:nth-child(3){--tilt:-1.2deg;--drop:clamp(8px, 1vw, 16px);}
.card:nth-child(4){--tilt:2.6deg; --drop:clamp(26px, 3.6vw, 56px);}

.card__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(24px, 2vw, 32px);
  line-height:1.02;
  letter-spacing:.005em;
  margin:0 0 14px;
  transition:color .25s ease;
}
.card__text{
  font-size:16px;
  line-height:1.55;
  color:#514B78;
  margin:0 0 26px;
  transition:color .25s ease;
}
.card__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  font-weight:700;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--midnight);
  transition:color .25s ease;
}
.card__cta::after{
  content:"\2192";
  font-size:17px;
  line-height:1;
  transition:transform .25s ease;
}

.card.is-active,
.card:hover,
.card:focus-visible{
  rotate:0deg;
  transform:translateY(-10px) scale(1.02);
  background:var(--midnight);
  border-color:var(--midnight);
  box-shadow:0 24px 40px -18px rgba(30,27,69,.5);
  outline:none;
}
.card:focus-visible{outline:3px solid var(--lilac);outline-offset:3px;}
.card.is-active .card__title,
.card:hover .card__title,
.card:focus-visible .card__title{color:var(--ink);}
.card.is-active .card__text,
.card:hover .card__text,
.card:focus-visible .card__text{color:#D5CFF0;}
.card.is-active .card__cta,
.card:hover .card__cta,
.card:focus-visible .card__cta{color:var(--gold);}
.card.is-active .card__cta::after,
.card:hover .card__cta::after,
.card:focus-visible .card__cta::after{transform:translateX(5px);}

.card__photo{
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  scale:1.08;
  transition:opacity .45s ease, scale .9s var(--ease-out);
}
.card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg, rgba(30,27,69,.55) 0%, rgba(30,27,69,.72) 45%, rgba(30,27,69,.95) 100%);
  opacity:0;
  transition:opacity .45s ease;
}
.card.is-active .card__photo,
.card:hover .card__photo,
.card:focus-visible .card__photo{opacity:1;scale:1;}
.card.is-active::after,
.card:hover::after,
.card:focus-visible::after{opacity:1;}

.js .card{opacity:0;transform:translateY(60px) rotate(-8deg);}
.js .card.is-in{opacity:1;transform:none;transition:background-color .25s ease, border-color .25s ease, box-shadow .3s ease,
             rotate .45s var(--ease-out), transform .45s var(--ease-out), opacity .5s ease;}
.js .card.is-dealing{transition:opacity .5s ease, transform .8s cubic-bezier(.34,1.4,.64,1);}
.js .card:nth-child(2).is-dealing{transition-delay:.1s;}
.js .card:nth-child(3).is-dealing{transition-delay:.2s;}
.js .card:nth-child(4).is-dealing{transition-delay:.3s;}
.js .card.is-in.is-active,
.js .card.is-in:hover,
.js .card.is-in:focus-visible{transform:translateY(-10px) scale(1.02);}

@media (max-width:1080px){
  .does__grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:24px 20px;}
  .card{min-height:0;}
  .card:nth-child(1){--tilt:-2deg;--drop:0px;}
  .card:nth-child(2){--tilt:1.6deg;--drop:28px;}
  .card:nth-child(3){--tilt:1.2deg;--drop:0px;}
  .card:nth-child(4){--tilt:-1.8deg;--drop:28px;}
}

@media (max-width:620px){
  .does__grid{grid-template-columns:minmax(0, 1fr);gap:18px;padding:0 6px 12px;}
  .card{padding:26px 24px;}
  .card__text{margin-bottom:20px;}
  .card:nth-child(odd){--tilt:-1.4deg;--drop:0px;margin-right:18px;}
  .card:nth-child(even){--tilt:1.4deg;--drop:0px;margin-left:18px;}
}
@media (prefers-reduced-motion:reduce){
  .card,.card__cta::after{transition:background-color .2s ease, color .2s ease;}
  .card:hover,.card:focus-visible,.card.is-active,
  .js .card.is-in:hover,.js .card.is-in:focus-visible,.js .card.is-in.is-active{transform:none;}
  .card:hover .card__cta::after{transform:none;}
  .card__photo{transition:opacity .2s ease;scale:1;}
  .js .card{opacity:1;transform:none;}
}

@media (hover:none), (max-width:1080px){
  .js .card,
  .js .card.is-in,
  .js .card.is-dealing{opacity:1;transform:none;transition:background-color .6s ease, border-color .6s ease, box-shadow .6s ease;}
  .card.is-active,
  .js .card.is-in.is-active{rotate:var(--tilt);transform:none;}
  .card__title,.card__text,.card__cta{transition-duration:.6s;}
  .card__photo{scale:1;transition:opacity .6s ease;}
  .card::after{transition:opacity .6s ease;}
}

.meet{
  position:relative;
  overflow:hidden;
  background:var(--midnight);
  color:var(--ink);
  padding:clamp(88px, 10vw, 160px) var(--gutter);
}
.meet__inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);
  gap:clamp(48px, 7vw, 120px);
  align-items:center;
}

.meet__figure{
  position:relative;
  margin:0;
  rotate:-2.5deg;
  transition:rotate .6s var(--ease-out), transform .6s var(--ease-out);
}
.meet__figure:hover{rotate:0deg;transform:scale(1.01);}
.meet__frame{
  display:block;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 0 0 10px #F4F2EC, 0 40px 70px -30px rgba(0,0,0,.7);
}
.meet__img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:46% 40%;
  filter:url(#duotoneWarm);
  transition:transform 1.2s var(--ease-out);
}
.meet__figure:hover .meet__img{transform:scale(1.04);}

.meet__copy{max-width:600px;}
.meet__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(44px, 6vw, 92px);
  line-height:1;
  letter-spacing:.005em;
  margin:0 0 clamp(22px, 2.4vw, 32px);
}
.meet__text{
  font-size:clamp(17px, 1.35vw, 20px);
  line-height:1.65;
  color:rgba(255,255,255,.8);
  margin:0;
  max-width:40ch;
}
.meet__sign{
  display:flex;
  align-items:center;
  gap:16px;
  margin:clamp(28px, 3vw, 40px) 0 clamp(28px, 3vw, 40px);
  padding-top:clamp(24px, 2.6vw, 32px);
  border-top:1px solid rgba(255,255,255,.14);
}
.meet__name{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(22px, 1.8vw, 28px);
  letter-spacing:.005em;
  line-height:1.1;
  margin:0;
}
.meet__role{
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  margin:6px 0 0;
}

.js .meet__figure{opacity:0;transform:translateY(40px) rotate(-6deg);}
.js .meet__copy > *{opacity:0;translate:0 24px;}
.js .meet.is-in .meet__figure{
  opacity:1;transform:none;
  transition:opacity .7s ease, transform 1s cubic-bezier(.34,1.3,.64,1), rotate .6s var(--ease-out);
}
.js .meet.is-in .meet__figure:hover{transform:scale(1.01);}
.js .meet.is-in .meet__copy > *{opacity:1;translate:0 0;transition:opacity .7s ease, translate .9s var(--ease-out);}
.js .meet.is-in .meet__copy > :nth-child(2){transition-delay:.1s;}
.js .meet.is-in .meet__copy > :nth-child(3){transition-delay:.2s;}
.js .meet.is-in .meet__copy > :nth-child(4){transition-delay:.3s;}

@media (hover:none), (max-width:1080px){
  .js .meet__figure,
  .js .meet.is-in .meet__figure,
  .js .meet__copy > *,
  .js .meet.is-in .meet__copy > *{opacity:1;transform:none;translate:none;transition:none;}
}

@media (max-width:900px){
  .meet__inner{grid-template-columns:minmax(0, 1fr);gap:clamp(56px, 10vw, 80px);}
  .meet__figure{max-width:520px;width:100%;justify-self:center;}
  .meet__copy{max-width:none;}
}
@media (max-width:600px){
  .meet__frame{box-shadow:0 0 0 7px #F4F2EC, 0 30px 50px -24px rgba(0,0,0,.7);}
  .meet .btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .meet__figure,.meet__img{transition:none;}
  .meet__figure:hover .meet__img{transform:none;}
  .js .meet__figure,.js .meet__copy > *{opacity:1;transform:none;translate:none;}
}

.says{
  background:#ECE7F7;
  padding:clamp(88px, 10vw, 160px) var(--gutter);
}
.says__inner{max-width:1440px;margin:0 auto;}
.says__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(44px, 6.4vw, 96px);
  line-height:1;
  letter-spacing:.005em;
  color:var(--midnight);
  margin:0 0 clamp(44px, 5vw, 72px);
  max-width:9em;
}

.says__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(32px, 4.5vw, 80px);
  align-items:start;
}
.quote{
  display:flex;
  flex-direction:column;
  margin:0;
  rotate:-1.6deg;
}
.quote:nth-child(2){rotate:1.2deg;margin-top:clamp(40px, 5.5vw, 90px);}
.quote:nth-child(3){rotate:-.8deg;margin-top:clamp(14px, 2vw, 34px);}

.quote__bubble{margin:0;}
.quote__mark{
  display:block;
  height:.42em;
  margin-bottom:14px;
  font-family:"DM Serif Display",Georgia,serif;
  font-weight:400;
  font-size:150px;
  line-height:.85;
  color:var(--gold-deep);
}
.quote__text{
  margin:0;
  font-family:var(--font-body);
  font-weight:600;
  font-size:clamp(21px, 1.9vw, 29px);
  line-height:1.28;
  letter-spacing:-.02em;
  color:var(--midnight);
}

.quote__by{
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:clamp(24px, 2.6vw, 34px);
}
.quote__avatar{
  flex:none;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:20px;
  background:var(--midnight);
  color:var(--gold);
}
.quote:nth-child(2) .quote__avatar{background:var(--gold);color:var(--midnight);}
.quote:nth-child(3) .quote__avatar{background:var(--lilac);color:var(--midnight);}
.quote__name{
  font-weight:700;
  font-size:16px;
  color:var(--midnight);
}

.says__cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:22px 40px;
  margin-top:clamp(64px, 7vw, 110px);
  padding:clamp(40px, 5vw, 76px) clamp(28px, 4.5vw, 72px);
  border-radius:clamp(22px, 2vw, 32px);
  background:var(--midnight);
  box-shadow:0 30px 60px -30px rgba(30,27,69,.55);
}

.says__cta-photo{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 45%;
}
.says__cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, rgba(21,17,47,.92) 0%, rgba(21,17,47,.72) 55%, rgba(21,17,47,.45) 100%);
}
.says__cta-text{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(30px, 3.6vw, 56px);
  line-height:1;
  letter-spacing:.005em;
  color:var(--ink);
  text-wrap:balance;
  max-width:12em;
}

.js .quote{opacity:0;transform:translateY(80px) rotate(-6deg);}
.js .quote.is-in{
  opacity:1;transform:none;
  transition:opacity .5s ease, transform .9s cubic-bezier(.34,1.4,.64,1);
}
.js .quote.is-in:nth-child(2){transition-delay:.15s;}
.js .quote.is-in:nth-child(3){transition-delay:.3s;}

@media (max-width:900px){
  .says__grid{grid-template-columns:minmax(0, 1fr);gap:clamp(44px, 9vw, 64px);}
  .quote:nth-child(n){margin-top:0;}
  .quote:nth-child(1){rotate:-1.4deg;margin-right:8%;}
  .quote:nth-child(2){rotate:1.2deg;margin-left:8%;}
  .quote:nth-child(3){rotate:-.8deg;margin-right:4%;}
  .quote__mark{font-size:120px;}
  .quote__by{padding-top:20px;}

  .js .quote.is-in:nth-child(n){transition-delay:0s;}
}
@media (prefers-reduced-motion:reduce){
  .js .quote,.js .quote:nth-child(n){opacity:1;transform:none;}
}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth;}
}

.insta{
  background:var(--midnight);
  color:var(--ink);
  padding:clamp(88px, 10vw, 160px) var(--gutter);
}
.insta__inner{max-width:1440px;margin:0 auto;}

.insta__copy{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:"glyph handle btn";
  column-gap:clamp(14px, 1.6vw, 22px);
  align-items:center;
  margin-bottom:clamp(32px, 4vw, 56px);
}
.insta__copy .insta__glyph{grid-area:glyph;}
.insta__copy .insta__handle{grid-area:handle;}
.insta__copy .btn{grid-area:btn;}
.insta__glyph{
  display:block;
  width:clamp(32px, 3.4vw, 52px);
  height:auto;
  aspect-ratio:1;
  color:var(--gold);
}
.insta__handle{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(34px, 4.4vw, 68px);
  line-height:.95;
  letter-spacing:.005em;
  overflow-wrap:anywhere;
}
.insta__handle a{color:var(--ink);text-decoration:none;transition:color .2s ease;}
.insta__handle a:hover{color:var(--gold);}
.insta .btn svg{width:18px;height:18px;}

.insta__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(8px, 1vw, 14px);
  list-style:none;
  margin:0;
  padding:0;
}
.insta__post{
  position:relative;
  display:block;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:clamp(10px, 1vw, 16px);
  background:
    radial-gradient(circle at 30% 20%, rgba(169,150,245,.22), transparent 60%),
    #2A2660;
}
.insta__post::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:30%;
  height:30%;
  opacity:.35;
  background:currentColor;
  color:var(--lilac);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='2.6' y='2.6' width='18.8' height='18.8' rx='5.4'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='2.6' y='2.6' width='18.8' height='18.8' rx='5.4'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}
.insta__post img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease-out);
}

.insta__post::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(30,27,69,.45)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC24B' stroke-width='.9' stroke-opacity='.85'%3E%3Crect x='2.6' y='2.6' width='18.8' height='18.8' rx='5.4'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='17.5' cy='6.5' r='.7' fill='%23FFC24B' fill-opacity='.85' stroke='none'/%3E%3C/svg%3E")
    center / 20% no-repeat;
  opacity:0;
  transition:opacity .35s ease;
}
.insta__post:hover::after,.insta__post:focus-visible::after{opacity:1;}
.insta__post:hover img,.insta__post:focus-visible img{transform:scale(1.07);}

.js .insta__grid li{opacity:0;scale:.9;}
.js .insta.is-in .insta__grid li{opacity:1;scale:1;transition:opacity .5s ease, scale .7s cubic-bezier(.34,1.4,.64,1);}
.js .insta.is-in .insta__grid li:nth-child(2){transition-delay:.06s;}
.js .insta.is-in .insta__grid li:nth-child(3){transition-delay:.12s;}
.js .insta.is-in .insta__grid li:nth-child(4){transition-delay:.18s;}

@media (max-width:900px){
  .insta__copy{
    grid-template-columns:auto minmax(0, 1fr);
    grid-template-areas:"glyph handle" "btn btn";
    row-gap:24px;
  }
  .insta__glyph{width:clamp(26px, 7vw, 44px);}
  .insta__copy .btn{justify-self:start;}
  .insta__handle{font-size:clamp(30px, 8.6vw, 56px);}
  .insta__grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:560px){
  .insta__copy .btn{justify-self:stretch;}
}
@media (prefers-reduced-motion:reduce){
  .insta__post img,.insta__post::after{transition:none;}
  .insta__post:hover img{transform:none;}
  .js .insta__grid li{opacity:1;scale:none;}
}

.foot{
  position:relative;
  overflow:hidden;
  background:#15112F;
  color:var(--ink);
  padding:clamp(72px, 8vw, 120px) var(--gutter) 0;
}
.foot__inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap:clamp(36px, 5vw, 80px);
  padding-bottom:clamp(48px, 6vw, 80px);
}

.foot__heading{
  margin:0 0 18px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--lilac);
}
.foot__list{list-style:none;margin:0;padding:0;}
.foot__list li{margin-bottom:12px;}
.foot__contact .foot__link{white-space:nowrap;}
.foot__link{
  font-size:16px;
  font-weight:600;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  transition:color .2s ease;
}
.foot__link:hover{color:var(--gold);}
.foot__heading a{color:inherit;text-decoration:none;transition:color .2s ease;}
.foot__heading a:hover{color:var(--gold);}

.foot__social{display:flex;gap:10px;}
.foot__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  color:var(--ink);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);
  transition:background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .25s var(--ease-out);
}
.foot__icon svg{width:20px;height:20px;}
.foot__icon:hover{
  background:var(--gold);
  color:var(--midnight);
  box-shadow:inset 0 0 0 1.5px var(--gold);
  transform:translateY(-3px);
}

.foot__bar{
  max-width:1440px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px 24px;
  padding:24px 0;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:14px;
  color:rgba(255,255,255,.55);
}
.foot__top{
  color:rgba(255,255,255,.75);
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}
.foot__top:hover{color:var(--gold);}

@media (max-width:1000px){
  .foot__inner{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .foot__brand{grid-column:1 / -1;}
}

@media (max-width:600px){
  .foot__inner{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-areas:"brand brand" "nav follow" "contact contact";
    gap:36px 24px;
  }
  .foot__brand{grid-area:brand;}
  .foot__nav{grid-area:nav;}
  .foot__follow{grid-area:follow;}
  .foot__contact{grid-area:contact;}
}

.page-hero{
  background:var(--midnight);
  color:var(--ink);
  padding:calc(var(--nav-h) + clamp(48px, 7vw, 110px)) var(--gutter) clamp(56px, 7vw, 100px);
}
.page-hero__inner{max-width:1440px;margin:0 auto;}
.page-hero--404{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;}
.page-hero--404 .page-hero__inner{width:100%;}
.page-hero__title{
  margin:0 0 clamp(16px, 2vw, 24px);
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(56px, 9vw, 136px);
  line-height:.96;
  letter-spacing:.005em;
}
.page-hero__intro{
  margin:0 0 clamp(28px, 3.4vw, 44px);
  max-width:46ch;
  font-size:clamp(17px, 1.4vw, 20px);
  line-height:1.6;
  color:rgba(255,255,255,.8);
}


.page-hero--photo{
  position:relative;
  overflow:hidden;
  min-height:min(86vh, 860px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.page-hero--photo .page-hero__inner{position:relative;z-index:1;width:100%;}

.page-hero__photo{
  position:absolute;
  top:0;
  left:0;
  width:min(135%, calc(100% + 600px));
  height:100%;
  object-fit:cover;
  object-position:50% 40%;
}
.page-hero--photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(30,27,69,.75) 0%, rgba(30,27,69,0) 28%),
    linear-gradient(90deg, rgba(30,27,69,.97) 0%, rgba(30,27,69,.9) 32%, rgba(30,27,69,.35) 58%, rgba(30,27,69,0) 78%);
}
.page-hero--photo .page-hero__inner{z-index:2;}

@media (max-aspect-ratio:11/10){
  .page-hero--photo{
    min-height:0;
    padding-top:calc(var(--nav-h) + min(52vw, 42vh));
  }

  .page-hero__photo{
    left:50%;
    width:150%;
    margin-left:-75%;
    height:calc(var(--nav-h) + min(62vw, 50vh));
    object-position:50% 45%;
  }
  .page-hero--photo::before{
    height:calc(var(--nav-h) + min(62vw, 50vh) + 2px);
    bottom:auto;
    background:
      linear-gradient(180deg, rgba(30,27,69,.7) 0%, rgba(30,27,69,0) 30%, rgba(30,27,69,0) 55%, var(--midnight) 100%);
  }
}

.page-hero--sofa .page-hero__photo{left:0;width:100%;object-position:70% 40%;scale:1.25;transform-origin:30% 100%;}
@media (max-aspect-ratio:11/10){
  .page-hero--sofa .page-hero__photo{margin-left:0;object-position:66% 35%;}
}
.page-hero--scroll{padding-bottom:calc(clamp(40px, 6vw, 90px) + 56px);}
.page-hero--scroll .page-hero__intro{margin-bottom:0;}
@media (max-aspect-ratio:11/10) and (max-height:600px){
  .page-hero--scroll{padding-top:calc(var(--nav-h) + min(44vw, 34vh));}
}
.page-hero__scroll{
  position:absolute;
  left:50%;
  bottom:clamp(20px, 3vh, 36px);
  z-index:2;
  width:56px;
  height:56px;
  margin-left:-28px;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.85);
  transition:color .2s ease;
}
.page-hero__scroll svg{width:34px;height:34px;}
.page-hero__scroll:hover{color:var(--gold);}

.service{
  background:#F4F2EC;
  color:var(--midnight);
  padding:clamp(80px, 9vw, 140px) var(--gutter);
}
.service--dark{background:var(--midnight);color:var(--ink);}
.service__inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
  gap:clamp(48px, 7vw, 120px);
  align-items:center;
}
.service--flip .service__copy{order:2;}

.service__title{
  margin:0 0 clamp(16px, 2vw, 22px);
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(44px, 6vw, 92px);
  line-height:1;
  letter-spacing:.005em;
}
.service__lead{
  margin:0 0 16px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:clamp(20px, 1.8vw, 26px);
  line-height:1.3;
  letter-spacing:-.015em;
}
.service__text{
  margin:0 0 clamp(24px, 2.8vw, 34px);
  max-width:46ch;
  font-size:clamp(16px, 1.25vw, 18px);
  line-height:1.65;
  color:#4A4470;
}
.service--dark .service__text{color:rgba(255,255,255,.78);}

.service__list{margin:0 0 clamp(28px, 3.2vw, 40px);}
.service__list-title{
  margin:0 0 12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6B5FB0;
}
.service--dark .service__list-title{color:var(--lilac);}
.service__list ul{list-style:none;margin:0;padding:0;}
.service__list li{
  position:relative;
  padding:10px 0 10px 30px;
  border-bottom:1px solid rgba(30,27,69,.12);
  font-size:16px;
  font-weight:600;
}
.service--dark .service__list li{border-color:rgba(255,255,255,.12);}
.service__list li::before{
  content:"\2605";
  position:absolute;
  left:0;
  top:10px;
  color:var(--gold-deep);
}
.service--dark .service__list li::before{color:var(--gold);}

.service__figure{margin:0;rotate:2deg;transition:rotate .6s var(--ease-out);}
.service--flip .service__figure{rotate:-2deg;}
.service__figure:hover{rotate:0deg;}
.service__img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 0 0 10px #FFFFFF, 0 40px 70px -30px rgba(30,27,69,.55);
}
.service--dark .service__img{box-shadow:0 0 0 10px #F4F2EC, 0 40px 70px -30px rgba(0,0,0,.7);}

@media (hover:hover) and (min-width:1081px){
  .js .service__figure,.js .service__copy{opacity:0;translate:0 40px;}
  .js .service.is-in .service__figure,
  .js .service.is-in .service__copy{opacity:1;translate:0 0;transition:opacity .7s ease, translate .9s var(--ease-out), rotate .6s var(--ease-out);}
  .js .service.is-in .service__figure{transition-delay:.12s;}
}

.page-cta{
  background:#ECE7F7;
  padding:clamp(80px, 9vw, 140px) var(--gutter);
}
.page-cta__inner{max-width:1440px;margin:0 auto;}
.page-cta .says__cta{margin-top:0;}
.says__cta-copy{max-width:36em;}
.says__cta-sub{margin:14px 0 0;font-size:clamp(16px, 1.3vw, 18px);line-height:1.55;color:rgba(255,255,255,.85);}

@media (max-width:900px){
  .service__inner{grid-template-columns:minmax(0, 1fr);gap:clamp(40px, 8vw, 64px);}
  .service--flip .service__copy{order:0;}
  .service__figure{order:-1;max-width:560px;width:100%;justify-self:center;}
}
@media (max-width:560px){
  .service .btn{width:100%;}
  .service__img{box-shadow:0 0 0 7px #FFFFFF, 0 30px 50px -24px rgba(30,27,69,.55);}
  .service--dark .service__img{box-shadow:0 0 0 7px #F4F2EC, 0 30px 50px -24px rgba(0,0,0,.7);}
}
@media (prefers-reduced-motion:reduce){
  .service__figure{transition:none;}
  .js .service__figure,.js .service__copy{opacity:1;translate:none;}
}

.page-hero--book{padding-bottom:clamp(96px, 11vw, 160px);}
@media (min-aspect-ratio:1101/1000){
  .page-hero--book.page-hero--photo{min-height:min(72vh, 720px);}
  .page-hero--book .page-hero__photo{width:100%;object-position:50% 45%;}
  .page-hero--book.page-hero--photo::before{
    background:
      linear-gradient(180deg, rgba(30,27,69,.35) 0%, rgba(30,27,69,0) 14%),
      linear-gradient(90deg,
        rgba(30,27,69,.97) 0,
        rgba(30,27,69,.93) calc(max(var(--gutter), (100% - 1440px) / 2 + var(--gutter)) + 520px),
        rgba(30,27,69,.4) calc(max(var(--gutter), (100% - 1440px) / 2 + var(--gutter)) + 740px),
        rgba(30,27,69,0) calc(max(var(--gutter), (100% - 1440px) / 2 + var(--gutter)) + 900px));
  }
}
.book__inner{position:relative;z-index:3;}

.book{
  background:#F4F2EC;
  padding:0 var(--gutter) clamp(80px, 9vw, 130px);
}
.book__honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.book__inner{max-width:640px;margin:0 auto;display:flow-root;}

.book__form{
  margin-top:calc(-1 * clamp(64px, 8vw, 110px));
  padding:clamp(28px, 4vw, 48px);
  border-radius:clamp(22px, 2vw, 30px);
  background:#FFFFFF;
  box-shadow:0 40px 80px -40px rgba(30,27,69,.45);
  display:grid;
  gap:22px;
}
.field{display:grid;gap:8px;}
.field__label{font-size:14px;font-weight:700;color:var(--midnight);}
.field__label em{font-style:normal;font-weight:500;color:#6B5FB0;}
.field__req{color:#C2410C;}
.book__req-note{margin:-8px 0 0;font-size:13px;color:#6B5FB0;}

.book__form input,
.book__form textarea{
  width:100%;
  min-height:52px;
  padding:13px 16px;
  border:1.5px solid rgba(30,27,69,.18);
  border-radius:14px;
  background:#FBFAF7;
  color:var(--midnight);
  font:inherit;
  font-size:16px;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.book__form textarea{resize:vertical;line-height:1.5;}
.book__form input:focus,
.book__form textarea:focus{
  outline:none;
  border-color:var(--midnight);
  background:#FFFFFF;
  box-shadow:0 0 0 4px rgba(255,194,75,.45);
}

.book__form.was-sent :invalid{border-color:#C2410C;}

.book__submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;}
.book__submit .btn{border:0;font-size:16px;padding:16px 32px;}
.book__status{margin:0;font-size:15px;font-weight:600;color:#6B5FB0;}
.book__status.is-error{color:#C2410C;}

.book__alt{margin:24px 0 0;text-align:center;font-size:16px;color:#4A4470;}
.book__alt a{color:var(--midnight);font-weight:700;text-underline-offset:4px;}
.book__alt a:hover{color:#6B5FB0;}

.book__thanks{
  margin-top:calc(-1 * clamp(64px, 8vw, 110px));
  padding:clamp(40px, 6vw, 72px);
  border-radius:clamp(22px, 2vw, 30px);
  background:#FFFFFF;
  box-shadow:0 40px 80px -40px rgba(30,27,69,.45);
  text-align:center;
}
.book__thanks-title{
  margin:0 0 12px;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:400;
  font-size:clamp(30px, 3vw, 42px);
  letter-spacing:.005em;
  color:var(--midnight);
}
.book__thanks p{margin:0 0 28px;font-size:18px;color:#4A4470;}
.book__thanks:focus{outline:none;}

@media (max-width:600px){
  .book__submit .btn{width:100%;}
}
