/* TarotNote V21: question-led readings and mobile stability. */
.v21-mobile-guide{display:none}

.v21-intake{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:24px;background:rgba(4,3,7,.82);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.v21-intake.open{opacity:1;visibility:visible;pointer-events:auto}
.v21-intake-card{width:min(680px,100%);max-height:min(840px,calc(100dvh - 32px));overflow:auto;padding:34px;border:1px solid rgba(226,194,105,.5);border-radius:8px;background:linear-gradient(155deg,rgba(26,16,37,.99),rgba(7,5,10,.99));box-shadow:0 32px 90px rgba(0,0,0,.68)}
.v21-intake-head small{display:block;color:#d9bd70;font:700 11px/1.4 var(--display);letter-spacing:.16em}
.v21-intake-head h2{margin:10px 0 12px;color:#f2eadb;font-size:clamp(27px,5vw,42px);line-height:1.18;letter-spacing:0;text-wrap:balance}
.v21-intake-head p{margin:0 0 24px;color:#bdb3c0;line-height:1.75;text-wrap:pretty}
.v21-intake label{display:block;margin:18px 0 8px;color:#ead9a2;font-weight:700;line-height:1.5}
.v21-intake textarea{display:block;width:100%;min-height:104px;padding:14px 15px;border:1px solid rgba(222,190,103,.36);border-radius:6px;background:#09060e;color:#f3edf4;font:500 16px/1.65 var(--body);resize:vertical;outline:none}
.v21-intake textarea:focus{border-color:#dfc170;box-shadow:0 0 0 3px rgba(223,193,112,.1)}
.v21-intake form>small,.v21-intake section>small{display:block;margin-top:8px;color:#9f94a5;font-size:13px;line-height:1.55}
.v21-intake .rite-btn{width:100%;margin-top:20px}
.v21-intake-status{min-height:24px;margin:14px 0 0;color:#e7b0b8;text-align:center;line-height:1.5}

.v24-card-context{position:fixed;inset:0;z-index:10090;display:grid;place-items:center;padding:24px;background:rgba(4,3,7,.88);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.v24-card-context.open{opacity:1;visibility:visible;pointer-events:auto}
.v24-card-context-card{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:32px;border:1px solid rgba(226,194,105,.48);border-radius:8px;background:linear-gradient(155deg,#1a1025,#07050a);box-shadow:0 32px 90px rgba(0,0,0,.68)}
.v24-card-context header small{display:block;color:#d9bd70;font:700 11px/1.4 var(--display);letter-spacing:.16em}
.v24-card-context header h2{margin:9px 0 11px;color:#f2eadb;font-size:clamp(26px,4.5vw,40px);line-height:1.22;letter-spacing:0;text-wrap:balance}
.v24-card-context header p{margin:0 0 20px;color:#bdb3c0;line-height:1.7;text-wrap:pretty}
#v24CardContextQuestions{display:grid;gap:14px}
#v24CardContextQuestions label{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px;margin:0;color:#ead9a2;font-weight:700;line-height:1.55}
#v24CardContextQuestions label>span{grid-row:1/3;display:grid;place-items:center;align-self:start;width:26px;height:26px;border:1px solid rgba(220,190,107,.46);border-radius:50%;color:#d9bd70;font:700 11px/1 var(--display)}
#v24CardContextQuestions textarea{grid-column:2;display:block;width:100%;min-height:82px;margin-top:8px;padding:12px 13px;border:1px solid rgba(222,190,103,.32);border-radius:6px;background:#09060e;color:#f3edf4;font:500 16px/1.6 var(--body);resize:vertical;outline:none}
#v24CardContextQuestions textarea:focus{border-color:#dfc170;box-shadow:0 0 0 3px rgba(223,193,112,.1)}
#v24CardContextStatus{min-height:22px;margin:11px 0 0;color:#e7b0b8;font-size:13px;line-height:1.5}
.v24-card-context-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px}
.v24-card-context-actions .rite-btn{margin:0}
.v24-card-context-actions .ghost-btn{min-height:48px;white-space:normal}

.v21-password-rules,.v21-password-match{display:block;min-height:20px;margin-top:7px;color:#9f94a5;font-size:12px;line-height:1.55;letter-spacing:0}
.v21-password-rules.valid,.v21-password-match.valid{color:#8fd6be}
.v21-password-rules.invalid,.v21-password-match.error{color:#efacb5}

.v21-result-intake{width:min(780px,100%);margin:20px auto 34px;padding:22px 24px;border-left:3px solid #d7b65b;background:linear-gradient(90deg,rgba(44,29,58,.74),rgba(15,10,22,.5));text-align:left}
.v21-result-intake small{display:block;color:#d9bd70;font:700 11px/1.4 var(--display);letter-spacing:.15em}
.v21-result-intake h2{margin:8px 0 0;color:#f0e6d5;font-size:clamp(21px,3vw,30px);line-height:1.5;letter-spacing:0;text-wrap:pretty}
.v21-result-intake p{display:grid;gap:4px;margin:15px 0 0;color:#c9bdca;line-height:1.7}
.v21-result-intake p b{color:#a9d4c5;font-size:12px;letter-spacing:.06em}

.v21-service-switch{display:none}

#why-arcana .v10-advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#why-arcana .v10-advantage-card:first-child{grid-column:1/-1}
#why-arcana .v21-accuracy-team{width:100%;margin-top:28px;padding:26px 0 0;border-top:1px solid rgba(224,198,126,.24);background:none;overflow:visible}
#why-arcana .v21-accuracy-team::before{display:none}
#why-arcana .v21-accuracy-team>.container{width:100%!important;max-width:none!important}
#why-arcana .v20-reader-heading{grid-template-columns:1fr;gap:10px;margin-bottom:20px;padding-bottom:14px}
#why-arcana .v20-reader-heading h2{font-size:clamp(26px,3vw,38px)}
#why-arcana .v20-reader-grid{gap:12px}
#why-arcana .v20-reader-card{border:0;border-radius:4px;background:transparent;box-shadow:none}
#why-arcana .v20-reader-visual{aspect-ratio:4/5;border:1px solid rgba(221,195,119,.24)}
#why-arcana .v20-reader-visual>img{cursor:zoom-in}
#why-arcana .v20-reader-toggle{max-width:calc(100% - 72px)}
.v21-advantage-points{display:grid;gap:10px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(220,194,117,.18);list-style:none}
.v21-advantage-points li{position:relative;margin:0;padding-left:22px;color:#d2c8d4;font-size:14px;line-height:1.55;text-wrap:pretty}
.v21-advantage-points li::before{content:"";position:absolute;left:1px;top:.63em;width:8px;height:8px;border:1px solid #d7b966;transform:rotate(45deg);box-shadow:0 0 10px rgba(215,185,102,.18)}
.v21-reader-zoom{position:absolute;right:13px;bottom:13px;z-index:3;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(235,213,148,.42);border-radius:4px;background:rgba(8,7,8,.86);color:#eee4cf;box-shadow:0 8px 24px rgba(0,0,0,.34);cursor:pointer}
.v21-reader-zoom:hover,.v21-reader-zoom:focus-visible{border-color:#dcc276;color:#fff8e7;outline:none}
#why-arcana .v20-reader-copy{padding:13px 2px 4px}

.v21-reader-viewer{position:fixed;inset:0;z-index:10120;display:grid;place-items:center;padding:20px;background:rgba(2,2,4,.94);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.v21-reader-viewer.open{opacity:1;visibility:visible;pointer-events:auto}
.v21-reader-viewer>div{position:relative;width:min(1100px,100%);height:min(92dvh,900px);display:grid;place-items:center}
.v21-reader-viewer img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.v21-reader-viewer button{position:absolute;right:0;top:0;z-index:2;width:48px;height:48px;border:1px solid rgba(238,214,147,.48);border-radius:50%;background:rgba(8,6,10,.84);color:#fff;font-size:28px;cursor:pointer}

.v7-projection-panel{min-height:520px;contain:layout paint}
#v7ProjectionQuestion{min-height:3em;text-wrap:balance}
.v7-projection-options{min-height:250px;align-content:start}
.v7-projection-options.is-changing{pointer-events:none}

@media(max-width:980px),(pointer:coarse){
  #view-home>.v113-dashboard,#view-home>.v114-account-pulse,#view-home>.section{content-visibility:visible!important;contain:none!important;contain-intrinsic-size:auto!important}
  .mobile-performance .view.active{animation:none!important;opacity:1!important;transform:none!important}
  .mobile-performance .service-track{will-change:auto!important}
  .service-slide.v18-tap-flare::after{animation:none!important;opacity:0!important}
  .reveal-card{isolation:isolate;contain:layout paint;will-change:transform;transition:transform .52s cubic-bezier(.22,.7,.2,1)!important;filter:none!important}
  .reveal-card .face{transform-style:flat;box-shadow:0 12px 26px rgba(0,0,0,.46)!important}
  .reveal-card.flip-settled{transform:none!important;transition:none!important;will-change:auto!important}
  .reveal-card.flip-settled .face.front{transform:none!important;visibility:visible!important}
  .reveal-card.flip-settled .face.back{display:none!important}
  .result-mini-card,.reveal-card.flipped .card-art-wrap img{animation:none!important}
}

@media(max-width:760px){
  #view-home>.container>.hero{min-height:auto!important;padding-top:22px!important;padding-bottom:10px!important}
  #view-home .hero-copy{display:flex;flex-direction:column}
  #view-home .display-title{font-size:clamp(31px,9.4vw,43px)!important;line-height:1.18!important}
  #view-home .hero-copy>p{font-size:15px!important;line-height:1.72!important;margin-top:14px!important}
  #view-home .v17-beta-banner{margin-top:15px}
  .v21-mobile-guide{display:block;margin:14px 0 12px;padding:15px;border:1px solid rgba(143,205,185,.32);border-radius:6px;background:linear-gradient(135deg,rgba(30,55,54,.62),rgba(18,13,27,.82));box-shadow:0 14px 32px rgba(0,0,0,.2)}
  .v21-mobile-guide>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
  .v21-mobile-guide small{color:#8fd6be;font:700 10px/1.4 var(--display);letter-spacing:.12em}
  .v21-mobile-guide strong{color:#f0e8da;font-size:16px;line-height:1.35;text-align:right}
  .v21-mobile-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
  .v21-mobile-guide li{min-width:0;padding:9px 7px;background:rgba(7,9,12,.42);text-align:center}
  .v21-mobile-guide li b{display:grid;place-items:center;width:23px;height:23px;margin:0 auto 6px;border:1px solid rgba(224,196,116,.45);border-radius:50%;color:#e0c474;font-size:11px}
  .v21-mobile-guide li span{display:block;color:#c8c0c9;font-size:11px;line-height:1.45;overflow-wrap:anywhere}

  #view-home .v9-service-gateway{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:min(78vw,310px);gap:10px!important;width:calc(100% + 22px);margin:10px -11px 16px!important;padding:0 11px 10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:11px;overscroll-behavior-inline:contain;scrollbar-width:none}
  #view-home .v9-service-gateway::-webkit-scrollbar{display:none}
  #view-home .v9-tier-card{scroll-snap-align:start;min-height:218px!important;padding:18px 17px!important;grid-template-rows:auto auto auto minmax(45px,auto) auto auto!important;border-radius:7px!important;animation:none!important;transform:none!important}
  #view-home .v9-tier-card small{padding-top:0!important;font-size:10px!important}
  #view-home .v9-tier-card h3{justify-content:flex-start!important;min-height:38px!important;margin:5px 0!important;font-size:24px!important;text-align:left!important}
  #view-home .v9-tier-card p{display:-webkit-box;min-height:44px!important;margin:4px 0!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px!important;line-height:1.55!important}
  #view-home .v9-tier-card strong.v14-price-pair{justify-self:start!important;align-items:center!important;min-height:58px!important;margin-top:6px!important}
  #view-home .v9-tier-card .v14-price-pair span{font-size:34px!important}
  #view-home .v9-tier-card>i{justify-self:start!important;margin-top:4px!important;font-size:11px!important;text-align:left!important}
  #view-home .v9-recommend{position:absolute!important;right:13px!important;top:13px!important;margin:0!important;font-size:9px!important}

  .v21-service-switch{position:absolute;left:10px;right:10px;top:10px;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border:1px solid rgba(222,190,103,.26);border-radius:7px;background:rgba(8,6,12,.92)}
  .v21-service-switch button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:44px;padding:6px 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:#a99daf}
  .v21-service-switch button b{color:#d0b86f;font:700 11px/1 var(--display)}
  .v21-service-switch button span{min-width:0;overflow:hidden;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
  .v21-service-switch button.active{border-color:rgba(143,214,190,.42);background:rgba(41,74,69,.5);color:#f2ece0}
  #view-services .service-slide{padding-top:92px!important;padding-bottom:90px!important}
  #view-services .service-copy-full h1{margin:8px 0 14px!important;font-size:clamp(34px,10vw,48px)!important}
  #view-services .service-copy-full p{font-size:14px!important;line-height:1.72!important}
  #view-services .service-position{margin-top:16px!important;padding:9px 8px!important;font-size:11px!important;line-height:1.5!important}
  #view-services .v9-service-benefits{grid-template-columns:1fr 1fr!important;gap:6px;margin:14px 0!important}
  #view-services .v9-benefit{padding:8px!important;font-size:11px!important;line-height:1.4!important}
  #view-services .v9-service-price{margin:13px 0!important}
  #view-services .v9-service-price strong{font-size:38px!important}

  .v21-intake{align-items:end;padding:0}
  .v21-intake-card{width:100%;max-height:92dvh;padding:24px 17px calc(22px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:8px 8px 0 0}
  .v21-intake-head h2{font-size:28px}
  .v21-intake-head p{font-size:14px;line-height:1.65}
  .v21-intake textarea{min-height:88px;font-size:16px}
  .v24-card-context{align-items:end;padding:0}
  .v24-card-context-card{width:100%;max-height:94dvh;padding:23px 16px calc(20px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:8px 8px 0 0}
  .v24-card-context header h2{font-size:27px}
  .v24-card-context header p{font-size:14px;line-height:1.6}
  #v24CardContextQuestions{gap:12px}
  #v24CardContextQuestions label{font-size:14px}
  #v24CardContextQuestions textarea{min-height:72px;font-size:16px}
  .v24-card-context-actions{grid-template-columns:1fr}
  .v24-card-context-actions .ghost-btn{order:2}

  .v7-projection-panel{width:100%;min-height:min(620px,88dvh);padding:24px 16px!important;contain:layout paint style}
  #v7ProjectionQuestion{min-height:4.2em;margin-bottom:12px;font-size:23px!important;line-height:1.45!important}
  .v7-projection-options{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-height:252px}
  .v7-projection-options button{min-height:48px!important;padding:10px 12px!important;transform:none!important;transition:border-color .16s ease,background-color .16s ease!important}

  #why-arcana .v10-advantage-grid{grid-template-columns:1fr}
  #why-arcana .v21-accuracy-team{margin-top:22px;padding-top:20px}
  #why-arcana .v20-reader-heading{margin-bottom:14px}
  #why-arcana .v20-reader-heading p{font-size:13px}
  #why-arcana .v20-reader-grid{grid-auto-columns:min(72vw,280px);margin-inline:-15px;padding-inline:15px}
  #why-arcana .v20-reader-copy{padding-bottom:0}
  .v21-advantage-points{gap:8px;margin-top:13px;padding-top:12px}
  .v21-advantage-points li{font-size:12px;line-height:1.5}
  .v21-reader-viewer{padding:8px}
  .v21-reader-viewer>div{height:96dvh}
  .v21-reader-viewer button{right:8px;top:8px}

  body:has(#view-services.active) .v17-feedback-fab,
  body:has(#view-ritual.active) .v17-feedback-fab,
  body:has(#view-result.active) .v17-feedback-fab,
  body:has(.v21-intake.open) .v17-feedback-fab,
  body:has(.v24-card-context.open) .v17-feedback-fab,
  body:has(.v7-projection-wrap.open) .v17-feedback-fab,
  body:has(.v21-reader-viewer.open) .v17-feedback-fab{display:none!important}
}

@media(prefers-reduced-motion:reduce){.v21-intake,.v24-card-context,.v21-reader-viewer{transition:none!important}}
