/* A personal email reading within the existing Nebula Sanctuary. */
.tarot-invitation { display:flex; align-items:center; gap:35px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:radial-gradient(ellipse at 12% 50%,#8852c32b,transparent 60%); }
.tarot-invitation-symbol { color:#efcc8d; font-family:var(--serif); font-size:83px; line-height:1; position:relative; min-width:90px; text-align:center; text-shadow:0 0 28px #b279ee60; }
.tarot-invitation-symbol span { position:absolute; top:0; right:0; font-size:33px; }
.tarot-invitation h2 { font-size:43px; line-height:1.1; margin:14px 0 16px; }
.tarot-invitation p { max-width:485px; margin-bottom:0; font-size:12px; color:#c7bed8; }
.tarot-invitation > .button { margin-left:auto; flex-shrink:0; }
.tarot-free { display:inline-block; border:1px solid #d9b98066; background:#d6b3790c; padding:10px 17px; color:#f0d5a6; font-size:12px; margin-top:7px; }
.tarot-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(30px,5vw,70px); align-items:start; padding-top:15px; }
.tarot-welcome { grid-column:1; grid-row:1; }
.tarot-form-panel { grid-column:2; grid-row:1; }
.tarot-welcome h2 { font-size:37px; line-height:1.12; margin:16px 0 24px; }
.tarot-card-art { position:relative; height:245px; max-width:320px; margin:0 auto 25px; }
.tarot-card-art::before { content:''; position:absolute; inset:12% 5% 3%; border-radius:50%; border:1px solid #b598e926; transform:rotate(-17deg); box-shadow:0 0 70px #925de82b; }
.tarot-back { position:absolute; top:24px; left:calc(50% - 61px); width:122px; height:193px; border:1px solid #d7b77e8f; border-radius:8px; background:radial-gradient(circle at 50% 40%,#5a3573,#211535 63%,#121024); box-shadow:0 12px 35px #03000b99,inset 0 0 0 6px #211535,inset 0 0 0 7px #bea06d55; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#e6c58b; }
.tarot-back > span { font-size:55px; text-shadow:0 0 22px #e0b5ff70; }
.tarot-back small { font-size:6px; letter-spacing:1.7px; margin-top:12px; }
.tarot-back-left { transform:translateX(-72px) rotate(-19deg); }
.tarot-back-right { transform:translateX(72px) rotate(19deg); }
.tarot-back-center { transform:translateY(-8px); }
.tarot-steps { list-style:none; counter-reset:reading-step; padding:0; margin:0; }
.tarot-steps li { counter-increment:reading-step; position:relative; padding:0 0 22px 32px; }
.tarot-steps li::before { content:counter(reading-step,decimal-leading-zero); position:absolute; left:0; top:0; color:#cba7f0; font-size:10px; line-height:1.8; }
.tarot-steps strong { display:block; color:#e5d5ef; font-size:12px; font-weight:500; margin-bottom:6px; }
.tarot-steps li > span { display:block; color:#bcb0cd; font-size:12px; line-height:1.8; }
.tarot-offer-note { border-top:1px solid var(--border); padding-top:20px; font-size:12px; color:#c5bad3; }
.tarot-direct { font-size:11px; color:#bcb0cd; line-height:1.9; }
.tarot-direct a { color:#e7c995; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.tarot-form-panel { border:1px solid #bd98e04d; padding:clamp(24px,3vw,39px); background:radial-gradient(ellipse at 100% 0,#75439320,transparent 55%),#120d2294; box-shadow:0 15px 60px #02000d35; min-width:0; }
.tarot-form-panel h2 { font-size:41px; line-height:1.08; margin:15px 0; }
.tarot-panel-intro { font-size:12px; color:#c4b7d3; }
.tarot-form-panel .form-stack { gap:22px; }
.tarot-form-panel .form-stack label,.tarot-reading-options legend { font-size:12px; color:#dcd0e8; line-height:1.7; }
.tarot-form-panel input,.tarot-form-panel select,.tarot-form-panel textarea { font-size:16px; color:#eee7f4; background-color:#0e0a1a; border-color:#baa0cf55; padding:12px; }
.tarot-form-panel textarea { line-height:1.7; }
.tarot-form-panel input::placeholder,.tarot-form-panel textarea::placeholder { color:#9689a7; }
.tarot-reading-options { border:0; padding:0; margin:0; min-width:0; }
.tarot-reading-options legend { margin-bottom:11px; padding:0; }
.tarot-form-panel label.tarot-reading-option { display:flex; align-items:center; gap:12px; padding:15px; margin-top:9px; border:1px solid #bca1da35; cursor:pointer; background:#1d123024; }
.tarot-form-panel label.tarot-reading-option:has(input:checked) { border-color:#e5c38caa; background:linear-gradient(115deg,#bd91e71c,#d2b07610); }
.tarot-reading-option input { accent-color:#e5c38c; width:17px; height:17px; margin:0!important; flex-shrink:0; }
.tarot-reading-option strong { display:block; font-size:13px; color:#ead9f4; font-weight:500; }
.tarot-reading-option small { display:block; font-size:11px; color:#bdb0cc; margin-top:3px; }
.tarot-reading-option .tarot-option-mark { margin-left:auto; font-family:var(--serif); color:#d8bb87; font-size:26px; padding-left:5px; }
.tarot-field-row { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; }
.tarot-email-note { color:#b9acca; font-size:11px; line-height:1.85; margin:0; overflow-wrap:anywhere; }
.tarot-email-note strong { font-weight:400; color:#d7c4ea; }
.tarot-review { border-top:1px solid #d7b57e55; margin-top:30px; padding-top:27px; }
.tarot-review h3 { font-size:33px; line-height:1.1; margin:14px 0; }
.tarot-review > p { font-size:12px; color:#c4b7d3; }
.tarot-review-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin:22px 0 15px; }
.tarot-preview-label { display:block; font-size:11px; color:#c9b7da; margin:18px 0 16px; }
.tarot-preview-label textarea { margin-top:8px; min-height:200px; resize:vertical; font-size:12px; }
.tarot-form-panel .form-error { color:#f0b5a2; }
@media (max-width:1000px) {
  .tarot-layout { grid-template-columns:1fr; }
  .tarot-form-panel { grid-column:1; grid-row:1; max-width:700px; width:100%; margin-inline:auto; }
  .tarot-welcome { grid-column:1; grid-row:2; max-width:650px; margin-inline:auto; }
  .tarot-card-art { float:right; width:250px; height:235px; margin:0 0 20px 30px; }
  .tarot-welcome > .eyebrow { padding-top:10px; }
  .tarot-welcome h2 { font-size:34px; }
  .tarot-offer-note { clear:both; }
  .tarot-invitation { flex-wrap:wrap; gap:25px; }
  .tarot-invitation > .button { margin-left:125px; }
}
@media (max-width:580px) {
  .tarot-invitation { gap:20px; }
  .tarot-invitation-symbol { min-width:55px; font-size:58px; }
  .tarot-invitation-symbol span { font-size:24px; }
  .tarot-invitation > div:nth-child(2) { flex:1; min-width:0; }
  .tarot-invitation h2 { font-size:34px; }
  .tarot-invitation .eyebrow { font-size:7px; letter-spacing:1.3px; }
  .tarot-invitation > .button { margin-left:75px; }
  .tarot-layout { padding-top:0; }
  .tarot-card-art { float:none; width:100%; margin:0 auto 20px; }
  .tarot-form-panel { padding:23px 19px; }
  .tarot-form-panel h2 { font-size:36px; }
  .tarot-field-row { grid-template-columns:1fr; }
  .tarot-form-panel .button { white-space:normal; }
}
