/* Launch / reader-conversion layer.
   Loaded after the core site styles so engagement UI can evolve independently. */

/* Novel purchase state */
.novel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 23px;margin-top:4px}
.novel-actions .button{min-height:44px;padding:9px 17px;font-size:12px}
.novel-release-link{margin-left:2px}
.coming-soon-cta{position:relative;display:inline-grid;place-items:center;min-width:136px;min-height:42px;padding:9px 16px;border:1px solid rgba(183,160,120,.34);color:#d8d2c4;font-size:12px;letter-spacing:.075em;text-transform:uppercase;cursor:default;overflow:hidden;background:transparent}
.coming-soon-cta span{grid-area:1/1;transition:opacity .18s,transform .18s}
.coming-soon-hover{opacity:0;transform:translateY(6px);color:var(--gold)}
.coming-soon-cta:hover .coming-soon-default,.coming-soon-cta:focus-visible .coming-soon-default{opacity:0;transform:translateY(-6px)}
.coming-soon-cta:hover .coming-soon-hover,.coming-soon-cta:focus-visible .coming-soon-hover{opacity:1;transform:none}

/* Post-Vane launch hinge */
.release-section{min-height:690px;border-top:1px solid rgba(163,178,168,.08)}
.release-copy{width:61%;padding-left:64px;padding-right:54px}
.release-copy h2{font-size:clamp(48px,4.7vw,70px);line-height:1.02;margin-bottom:24px}
.release-copy h2 em{font-family:var(--serif);font-size:.72em;font-weight:400;color:#d4c7ae}
.release-copy>p:not(.eyebrow):not(.micro):not(.release-file-status){max-width:680px;font-size:16px;line-height:1.72;color:#c3ccc5}
.release-countdown{width:min(570px,100%);margin:34px 0 30px;padding:18px 0 20px;border-top:1px solid rgba(183,160,120,.28);border-bottom:1px solid rgba(163,178,168,.16)}
.countdown-kicker{font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;color:#9ca9a1!important}
.countdown-kicker strong{color:var(--gold);font-weight:500}
.countdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:15px}
.countdown-grid>span{display:flex;align-items:baseline;gap:9px;min-width:0;padding-right:22px}
.countdown-grid>span+span{padding-left:22px;border-left:1px solid rgba(183,160,120,.18)}
.countdown-grid strong{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1;color:#e6e2d6;font-variant-numeric:tabular-nums}
.countdown-grid small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8f9d95}
.release-countdown.is-released .countdown-grid{opacity:.6}
.release-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:8px}
.release-actions .button{min-height:50px;font-size:12px;gap:30px}
.teaser-pending:disabled{opacity:.56;cursor:not-allowed}
.release-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:17px 26px;margin-top:19px}
.release-file-status{margin-top:16px!important;font-size:13px!important;line-height:1.5!important;color:#8e9b94!important}
.teaser-notify{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(300px,1.1fr);gap:26px;align-items:end;width:min(720px,100%);margin-top:28px;padding:22px 0;border-top:1px solid rgba(183,160,120,.16);border-bottom:1px solid rgba(183,160,120,.12);transition:border-color .25s,background .25s,box-shadow .25s}
.teaser-notify.is-emphasized{border-color:rgba(208,185,143,.55);background:linear-gradient(90deg,rgba(183,160,120,.055),transparent);box-shadow:0 0 0 1px rgba(183,160,120,.035)}
.teaser-notify-copy{min-width:0}
.teaser-notify-copy .eyebrow{display:block;margin-bottom:4px;color:var(--gold);font-size:12px;letter-spacing:.15em}
.teaser-notify-copy strong{display:block;color:#e4e1d6;font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2}
.teaser-notify-copy small{display:block;margin-top:5px;color:#9facA4;font-size:13px;line-height:1.5}
.release-mini-form{min-width:0}
.release-mini-field{display:flex;align-items:center;border-bottom:1px solid rgba(183,160,120,.46);transition:border-color .2s}
.release-mini-field:focus-within{border-color:var(--gold)}
.release-mini-field input{width:100%;min-width:0;border:0;background:transparent;color:var(--paper);padding:0 16px 10px 0;font-family:var(--serif);font-size:20px;outline:none}
.release-mini-field input::placeholder{color:#8d9991}
.release-mini-field button{display:flex;align-items:center;gap:8px;flex:none;padding:0 0 10px 14px;color:var(--gold);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.release-mini-field button .icon{width:17px;height:17px}
.release-form-status{min-height:20px;margin-top:9px;color:var(--gold);font-size:13px;line-height:1.45}
.release-form-status:empty{min-height:0;margin-top:0}
[data-release-form].is-submitting{opacity:.72}
[data-release-form].is-success .release-mini-field,[data-release-form].is-success .email-field{border-color:rgba(153,193,167,.5)}
.release-section .opening-art{width:42%}

/* Release notification replaces the generic "Further transmissions" newsletter. */
.dispatch-section{border-top:1px solid rgba(183,160,120,.11)}
.dispatch-grid{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:10%;padding-top:78px;padding-bottom:76px}
.dispatch-grid h2{font-size:44px;margin-bottom:16px}
.dispatch-grid>div>p:last-child{max-width:620px;font-size:15px;color:#b8c2bb;line-height:1.72}
.newsletter-form{padding-left:42px}
.newsletter-form label{font-size:12px!important}
.release-hint{font-size:12px;line-height:1.55;color:#9ca99e;margin-top:14px}
.newsletter-form .release-form-status{font-size:13px;margin-top:10px}


/* Teaser download choice: email is optional, download is never gated. */
.teaser-dialog{width:min(650px,calc(100% - 34px));overflow:auto;background:linear-gradient(145deg,#101b1d,#081113)}
.teaser-dialog-content{padding:62px 64px 54px}
.teaser-dialog-content>.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--gold)}
.teaser-dialog-content h2{margin:13px 0 17px;font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.08}
.teaser-dialog-content>p{max-width:54ch;color:#b8c2bb;font-size:15px;line-height:1.7}
.teaser-dialog-form{margin-top:30px;padding-top:24px;border-top:1px solid rgba(183,160,120,.22)}
.teaser-dialog-form>label{display:block;margin-bottom:9px;color:#c8c3b7;font-size:13px}
.teaser-dialog-form>label span{color:#89968f;font-weight:400}
.teaser-dialog-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
.teaser-dialog-field input{width:100%;min-width:0;border:0;border-bottom:1px solid rgba(183,160,120,.44);background:transparent;color:var(--paper);padding:10px 0 11px;font-family:var(--serif);font-size:21px;outline:none}
.teaser-dialog-field input:focus{border-color:var(--gold)}
.teaser-dialog-field input::placeholder{color:#839087}
.teaser-dialog-field .button{min-height:46px;padding:9px 15px;font-size:12px;gap:18px;white-space:nowrap}
.teaser-dialog-separator{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin:26px 0 20px;color:#78867e}
.teaser-dialog-separator span{height:1px;background:rgba(163,178,168,.13)}
.teaser-dialog-separator b{font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.14em}
.teaser-direct-download{width:max-content;font-size:13px}
.teaser-dialog-privacy{display:inline-block;margin-top:24px;color:#8e9b94}
.teaser-direct-download[aria-disabled=true]{pointer-events:none;opacity:.45}

/* ARC application */
.arc-dialog{width:min(900px,calc(100% - 34px));overflow:auto;background:linear-gradient(145deg,#101b1d,#081113)}
.arc-form{padding:64px 68px 58px}
.arc-form>.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--gold)}
.arc-form h2{margin:13px 0 18px;font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.08}
.arc-intro{max-width:760px;margin-bottom:30px;color:#b8c2bb;font-size:15px;line-height:1.7}
.arc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}
.arc-form-grid label{display:block;min-width:0}
.arc-form-grid label>span{display:block;margin-bottom:7px;color:#c8c3b7;font-size:13px;letter-spacing:.04em}
.arc-form-grid label>span em{color:#829088;font-style:normal}
.arc-wide{grid-column:1/-1}
.arc-form input[type=text],.arc-form input[type=email],.arc-form input[type=url],.arc-form select,.arc-form textarea{width:100%;border:1px solid rgba(163,178,168,.24);border-radius:0;background:#081315;color:#e3e5dc;padding:11px 12px;font:400 15px/1.45 var(--sans);outline:none}
.arc-form textarea{resize:vertical;min-height:88px}
.arc-form input:focus,.arc-form select:focus,.arc-form textarea:focus{border-color:rgba(208,185,143,.72);box-shadow:0 0 0 1px rgba(208,185,143,.15)}
.arc-form input::placeholder,.arc-form textarea::placeholder{color:#75847c}
.arc-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;align-items:start;margin-top:18px;color:#aeb8b1;font-size:13px;line-height:1.55}
.arc-check input{margin-top:3px;accent-color:#bfa77e}
.arc-submit-row{display:flex;align-items:center;gap:22px;margin-top:28px}
.arc-submit-row .button{flex:none;min-height:48px;font-size:12px;gap:25px}
.arc-submit-row .button:disabled{opacity:.5;cursor:not-allowed}
#arc-hint{max-width:470px;color:#8f9c95;font-size:13px;line-height:1.55}
#arc-status{margin-top:17px;color:var(--gold);font-size:13px;line-height:1.55}
#arc-status:empty{margin:0}
.arc-form.is-submitted #arc-status{padding:14px 16px;border:1px solid rgba(153,193,167,.3);background:rgba(75,110,87,.12);color:#d6e1d8}
.arc-form>.privacy-link{display:inline-block;margin-top:12px}

.author-contact{display:flex;align-items:center;gap:12px;margin-top:18px;color:#aeb9b1;font-size:13px}
.author-contact a,.author-contact button{color:#d8c8a7;text-decoration:underline;text-underline-offset:4px}
.author-contact button{padding:0;background:transparent}
.author-contact span{color:#65736c}

@media(max-width:1200px){
  .release-section{min-height:680px}
  .release-copy{width:64%;padding-left:50px;padding-right:36px}
  .release-section .opening-art{width:44%}
}
@media(max-width:900px){
  .release-copy{width:72%}
  .countdown-grid strong{font-size:34px}
  .dispatch-grid{grid-template-columns:1fr 1fr;gap:7%}
  .newsletter-form{padding-left:22px}
}
@media(max-width:650px){
  .release-section{min-height:900px}
  .release-copy{width:100%;padding:40px 5px 0}
  .release-copy h2{font-size:48px}
  .release-copy>p:not(.eyebrow):not(.micro):not(.release-file-status){font-size:15px}
  .release-countdown{margin-top:26px}
  .countdown-grid strong{font-size:32px}
  .countdown-grid>span{padding-right:12px}
  .countdown-grid>span+span{padding-left:12px}
  .release-actions{align-items:flex-start}
  .release-section .opening-art{top:440px;width:100%}
  .dispatch-grid{grid-template-columns:1fr;gap:39px;padding-block:56px}
  .dispatch-grid h2{font-size:38px}
  .dispatch-grid>div>p:last-child{font-size:14px}
  .newsletter-form{padding-left:0}
  .teaser-dialog-content{padding:54px 24px 40px}
  .teaser-dialog-content h2{font-size:40px}
  .teaser-dialog-field{grid-template-columns:1fr}
  .teaser-dialog-field .button{width:100%;justify-content:space-between}
  .arc-form{padding:56px 24px 42px}
  .arc-form h2{font-size:40px}
  .arc-form-grid{grid-template-columns:1fr}
  .arc-wide{grid-column:auto}
  .arc-submit-row{align-items:flex-start;flex-direction:column;gap:13px}
}
@media(prefers-reduced-motion:reduce){
  .coming-soon-cta span{transition:none}
}
