:root{--wine:#3d0818;--velvet:#68172d;--cream:#f7f1e8;--ink:#38262c;--rose:#c6a0a5;--muted:#77636a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:var(--rose);color:var(--wine)}[hidden]{display:none!important}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:12px 20px;background:var(--cream);transform:translateY(-160%)}.skip-link:focus{transform:none}.section-wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}.display-heading{font:400 clamp(46px,5.5vw,76px)/.98 var(--serif);letter-spacing:-.035em;color:var(--wine)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 32px;font-size:13px;line-height:1.5;font-weight:600;border-radius:3px;text-align:center;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-cream{background:var(--cream);color:var(--wine)}.button-cream:hover{background:#e9d8d0}.text-link{display:inline-block;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;color:var(--wine)}.text-link:hover{color:var(--velvet)}
.site-header {
  --header-inset: clamp(24px, 4.4vw, 56px);
  position: absolute;
  z-index: 30;
  inset: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  padding: 24px var(--header-inset);
  color: var(--cream);
}
.menu-toggle {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}
.menu-icon { display: grid; gap: 5px; }
.menu-icon span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child { transform: translateY(6.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child { transform: translateY(-6.5px) rotate(-45deg); }
.main-nav {
  display: none;
  position: absolute;
  inset: calc(100% - 14px) var(--header-inset) auto auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  background: var(--wine);
  font-size: 14px;
}
.main-nav.is-open { display: flex; }
.main-nav > a:not(.nav-join) { opacity: .85; transition: opacity .2s; }
.main-nav > a:hover { opacity: 1; }
.nav-join { padding: 11px 22px; background: #f7f1e815; border-radius: 3px; }
.nav-join:hover { background: #f7f1e82b; }
@media (max-width: 760px) {
  .site-header { --header-inset: 14px; padding-block: 17px; }
  .site-header:has(.is-open) { position: fixed; }
  .main-nav {
    position: fixed;
    inset: 0;
    overflow-y: auto;
    padding: 105px 28px 45px;
    gap: 24px;
    font: 34px/1.2 var(--serif);
  }
  .main-nav .nav-join {
    margin-top: 10px;
    padding: 17px 24px;
    background: var(--cream);
    color: var(--wine);
    font: 13px var(--sans);
  }
}
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--cream);
  background-color: var(--wine);
  background-image:
    linear-gradient(180deg, #18070d24 0%, #18070d66 28%, #18070d55 48%, #18070d00 77%),
    url('assets/hero-editorial.jpg');
  background-position: center, center 29%;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-content {
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100svh;
  padding-block: 86px;
}
.hero-copy {
  width: 100%;
  text-align: center;
  text-shadow: 0 2px 20px #18070db3;
}
.hero-kind {
  margin-bottom: 17px;
  font-size: 13px;
  color: #e2c6ce;
}
.hero h1 {
  font: 400 clamp(96px, 14vw, 154px)/.72 var(--serif);
  letter-spacing: -.075em;
  padding-inline-start: .075em;
}
.hero h2 {
  margin-top: 19px;
  font: 400 clamp(31px, 4.1vw, 56px)/1.04 var(--serif);
  letter-spacing: -.03em;
}
.hero-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 24px;
}
.explore-link {
  display: grid;
  place-items: center;
  min-height: 44px;
  font-size: 11px;
  text-underline-offset: 5px;
  text-decoration: underline;
  text-decoration-color: #c79ca7;
}
@media (max-width: 760px) {
  .hero { background-position: center, center 50%; }
  .hero-kind { font-size: 11px; }
  .hero h1 { font-size: clamp(102px, 29vw, 137px); }
}
.curtains{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}.curtain{position:absolute;inset-block:0;width:51%;background:url('assets/curtains.jpg') left center/200% 100%;will-change:transform}.curtain-left{left:0;transform:translateX(-95%);box-shadow:14px 0 25px #21050e77}.curtain-right{right:0;background-position:right center;transform:translateX(95%);box-shadow:-14px 0 25px #21050e77}.js .curtain-left{animation:open-left 2.5s cubic-bezier(.55,0,.16,1) .15s both}.js .curtain-right{animation:open-right 2.5s cubic-bezier(.55,0,.16,1) .15s both}.js .site-header{animation:fade-in .8s ease 1.8s both}@keyframes open-left{from{transform:translateX(0)}to{transform:translateX(-95%)}}@keyframes open-right{from{transform:translateX(0)}to{transform:translateX(95%)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
.welcome {
  padding-block: clamp(52px, 7vw, 102px);
  background: radial-gradient(ellipse at 50% 40%, #602134 0%, #350b16 75%);
  color: var(--wine);
  overflow: hidden;
}
.welcome-invitation {
  --arch: clamp(86px, 14vw, 148px);
  position: relative;
  isolation: isolate;
  width: min(100%, 630px);
  margin-inline: auto;
  padding: clamp(99px, 13vw, 142px) clamp(16px, 6.5vw, 64px) clamp(105px, 26vw, 162px);
  overflow: hidden;
  border-radius: 50% 50% 0 0 / var(--arch) var(--arch) 0 0;
  background: radial-gradient(ellipse at 48% 35%, #fff9ee 0%, #f0e3d1 95%);
  box-shadow: 0 16px 42px #20061055;
  text-align: center;
}
.welcome-seal {
  position: absolute;
  top: clamp(18px, 2.8vw, 32px);
  left: 50%;
  width: clamp(60px, 9vw, 84px);
  height: auto;
  transform: translateX(-50%);
  filter: drop-shadow(0 5px 5px #420b1a38);
}
.welcome-kicker {
  margin-bottom: 17px;
  color: #784657;
  font-size: 13px;
  font-weight: 600;
}
.welcome .display-heading {
  max-width: 10em;
  margin-inline: auto;
  font-size: clamp(40px, 6vw, 68px);
  line-height: .96;
  text-wrap: balance;
}
.welcome-lead {
  max-width: 37ch;
  margin: 20px auto 0;
  color: #543740;
  font-size: 15px;
  line-height: 1.65;
}
.welcome-cta {
  gap: 12px;
  margin-top: 23px;
  padding-inline: 20px;
  background: var(--wine);
  color: var(--cream);
}
.welcome-cta:hover { background: var(--velvet); }
.welcome-cta span { font-size: 16px; }
.welcome-lace {
  position: absolute;
  inset: auto 0 0;
  height: clamp(75px, 23vw, 150px);
  background: url('assets/welcome-lace.png') center / 100% auto no-repeat;
  pointer-events: none;
}
@media (max-width: 480px) {
  .welcome .display-heading { font-size: clamp(34px, 9.7vw, 46px); }
  .welcome-kicker { margin-bottom: 14px; font-size: 11px; }
  .welcome-lead { margin-top: 17px; font-size: 14px; }
  .welcome-cta { min-height: 49px; margin-top: 19px; padding-inline: 13px; font-size: 12px; }
}
.formats{background:#56152a;padding:84px 0 96px}.section-heading{text-align:center;margin-bottom:46px}.formats .display-heading{color:var(--cream);font-size:clamp(44px,5.1vw,70px);line-height:1.06}.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;max-width:1120px;margin-inline:auto}.format-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:12px;background:var(--cream);color:var(--wine);transform:none;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.format-card:hover{transform:translateY(-8px)}.card-art{position:relative;aspect-ratio:1;overflow:hidden;background:#281018}.card-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.format-card:hover .card-art img{transform:scale(1.045)}.stories-card .card-art img{object-position:50% 52%}.card-copy{flex:1;padding:28px 16px 25px;text-align:center}.card-copy h3{font:32px/1.08 var(--serif);letter-spacing:-.025em;margin-bottom:14px}.card-copy p{font-size:13px;line-height:1.8;color:var(--muted);max-width:300px;margin-inline:auto}

.author {
  display: grid;
  grid-template:
    "portrait heading" auto
    "portrait copy" auto
    / minmax(0, .74fr) minmax(0, 1fr);
  gap: 22px clamp(34px, 6vw, 90px);
  max-width: 930px;
  padding-block: clamp(68px, 8.5vw, 112px);
}
.author-heading {
  grid-area: heading;
  align-self: end;
}
.author-heading > p {
  margin-bottom: 13px;
  color: #784657;
  font-size: 13px;
  font-weight: 600;
}
.author-heading .display-heading {
  font-size: clamp(46px, 6vw, 83px);
}
.author-portrait {
  grid-area: portrait;
  position: relative;
  align-self: center;
  justify-self: center;
  width: min(100%, 270px);
  filter: drop-shadow(0 6px 10px #40201536);
}
.author-photo {
  position: absolute;
  /* The photo extends just underneath the frame's transparent opening. */
  inset: 13.4% auto auto 15.75%;
  width: 68.5%;
  height: 72%;
  object-fit: cover;
  object-position: 50% 32%;
}
.author-frame {
  position: relative;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.author-copy { grid-area: copy; }
.author-lead {
  max-width: 36ch;
  color: var(--wine);
  font: 500 clamp(25px, 2.45vw, 32px)/1.18 var(--serif);
}
.author-experience {
  margin-top: 18px;
  color: var(--muted);
  font-size: 13px;
}
.author-experience strong { color: var(--wine); }
.author-cta { margin-top: 19px; }
.author-cta span { margin-left: 4px; }

.join {
  background: radial-gradient(ellipse at 45% 0%, #622037 0%, transparent 67%), var(--wine);
  color: var(--cream);
}
.join-layout {
  max-width: 1050px;
  padding-block: clamp(72px, 8.5vw, 112px);
}
.join-heading {
  margin-bottom: clamp(33px, 4.75vw, 61px);
  text-align: center;
}
.join-heading > p {
  margin-bottom: 14px;
  color: #efd2bf;
  font-size: 13px;
  font-weight: 600;
}
.join .display-heading {
  margin-inline: auto;
  color: var(--cream);
  font-size: clamp(46px, 6.25vw, 84px);
  text-wrap: balance;
}
.join-steps {
  --step-size: 45px;
  --step-gap: clamp(21px, 4vw, 58px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--step-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.join-step { position: relative; }
.join-step-number {
  display: grid;
  place-items: center;
  width: var(--step-size);
  height: var(--step-size);
  margin-bottom: 18px;
  border: 1px solid #cfaa82;
  border-radius: 50%;
  color: #f2d6b0;
  font: 500 21px/1 var(--serif);
}
.join-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: calc(var(--step-size) / 2);
  left: var(--step-size);
  width: calc(100% + var(--step-gap) - var(--step-size));
  height: 1px;
  background: #cfaa8273;
}
.join-step h3 { font: 500 clamp(27px, 3vw, 37px)/1.04 var(--serif); }
.join-step p {
  max-width: 34ch;
  margin-top: 9px;
  color: #e8cfd7;
  font-size: 14px;
  line-height: 1.6;
}
.join-actions {
  margin-top: clamp(32px, 4.8vw, 60px);
  text-align: center;
}
.join-actions .button { gap: 12px; }
@media (max-width: 760px) {
  .author {
    grid-template: "heading portrait" "copy copy" / minmax(0, 1fr) minmax(94px, 33%);
    align-items: center;
    gap: 24px 12px;
    padding-block: 58px 64px;
  }
  .author-heading { align-self: center; }
  .author-heading > p { margin-bottom: 10px; font-size: 11px; }
  .author-heading .display-heading { font-size: clamp(32px, 9.4vw, 65px); }
  .author-portrait { width: min(100%, 164px); }
  .author-lead { font-size: clamp(24px, 6.2vw, 30px); }
  .author-experience { margin-top: 14px; }
  .join-steps {
    --step-size: 38px;
    --step-gap: 25px;
    grid-template-columns: minmax(0, 1fr);
    max-width: 460px;
    margin-inline: auto;
  }
  .join-step {
    display: grid;
    grid-template-columns: var(--step-size) minmax(0, 1fr);
    align-items: start;
    gap: 14px;
  }
  .join-step-number { margin-bottom: 0; font-size: 19px; }
  .join-step:not(:last-child)::after {
    top: var(--step-size);
    left: calc(var(--step-size) / 2);
    width: 1px;
    height: calc(100% + var(--step-gap) - var(--step-size));
  }
  .join-step h3 { margin-top: 3px; }
  .join-step p { margin-top: 7px; }
}
.faq {
  padding-block: clamp(67px, 8.5vw, 114px);
  background: #ead9cd;
  color: var(--wine);
}
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, .64fr) minmax(0, 1.36fr);
  gap: clamp(28px, 5vw, 74px);
  max-width: 1080px;
  align-items: start;
}
.faq-heading { padding-top: 20px; }
.faq-seal {
  width: clamp(53px, 6vw, 73px);
  height: auto;
  margin-bottom: 20px;
  transform: rotate(-9deg);
  filter: drop-shadow(0 5px 6px #4c102739);
}
.faq .display-heading {
  max-width: 7em;
  font-size: clamp(53px, 6.7vw, 86px);
  text-wrap: balance;
}
.faq-paper {
  min-width: 0;
  background: #fbf4e8;
  box-shadow: 0 14px 35px #51281e14;
}
.faq-list { padding: clamp(13px, 2.8vw, 35px); }
.faq-list details + details { border-top: 1px solid #82455a2b; }
.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  min-height: 52px;
  padding: 13px clamp(9px, 1.6vw, 17px);
  list-style: none;
  color: var(--wine);
  font: 600 clamp(24px, 2.6vw, 33px)/1.1 var(--serif);
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline-offset: -2px; }
.faq-list summary:hover, .faq-list details[open] { background: #f1e3d8; }
.faq-list details > p {
  max-width: 59ch;
  padding: 0 17px 17px;
  color: #5e4149;
  font-size: 14px;
  line-height: 1.6;
}
.faq-list p a { text-decoration: underline; text-underline-offset: 3px; }
.toggle-mark {
  position: relative;
  flex: 0 0 18px;
  height: 18px;
  color: #78283e;
}
.toggle-mark::before, .toggle-mark::after {
  content: '';
  position: absolute;
  inset: 8px 1px auto;
  height: 1px;
  background: currentColor;
}
.toggle-mark::after { transform: rotate(90deg); transition: transform .2s; }
details[open] .toggle-mark::after { transform: rotate(0); }
.faq-lace {
  height: 74px;
  background: url('assets/welcome-lace.png') center / 392px auto repeat-x;
  opacity: .8;
}
.faq + .site-footer { padding-top: 28px; }
@media (max-width: 760px) {
  .faq { padding-block: 59px 65px; }
  .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .faq-heading {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0;
  }
  .faq .display-heading {
    margin-right: auto;
    font-size: clamp(43px, 10.8vw, 65px);
  }
  .faq-seal { margin: 0; }
  .faq-list summary { padding-block: 12px; }
  .faq-list details > p { padding-inline: 9px; font-size: 13px; }
  .faq-lace { height: 59px; background-size: 334px auto; }
}
.site-footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:35px;align-items:center;padding-bottom:36px;font-size:10px;color:var(--muted)}.footer-brand{font:54px/1 var(--serif);letter-spacing:-.06em;color:var(--wine)}.site-footer>a:not(.footer-brand){text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.section-wrap{width:calc(100% - 80px)}.hero-actions .button{padding-inline:23px}.explore-link{font-size:10px}.format-grid{gap:22px}.card-copy{padding:24px 22px}.card-copy h3{font-size:30px}.card-art{height:auto}}
@media(max-width:760px){html{scroll-padding-top:22px}.section-wrap{width:calc(100% - 44px)}.hero-actions .button{min-height:49px;font-size:11px;padding:14px 21px}.explore-link{font-size:10px}.curtain-left{transform:translateX(-98%)}.curtain-right{transform:translateX(98%)}@keyframes open-left{from{transform:translateX(0)}to{transform:translateX(-98%)}}@keyframes open-right{from{transform:translateX(0)}to{transform:translateX(98%)}}.formats{padding:64px 0 70px}.section-heading{margin-bottom:32px}.formats .display-heading{font-size:45px;max-width:330px;margin-inline:auto}.format-grid{grid-template-columns:1fr;gap:25px;max-width:430px;margin-inline:auto}.format-card{width:100%;margin:0;padding:12px}.card-art{height:auto;aspect-ratio:6/5}.card-copy{padding:26px 15px 23px}.card-copy h3{font-size:32px}.card-copy p{font-size:13px;max-width:330px}.site-footer{grid-template-columns:auto 1fr;gap:23px;padding-bottom:28px}.site-footer p,.site-footer>span{text-align:right}.footer-brand{font-size:48px}}
@media(min-width:540px) and (max-width:760px){.format-grid{max-width:470px}.card-art{height:auto}}
@media(max-width:360px){.hero-actions .button{padding-inline:16px}.explore-link{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}}
