/* Final-iteration shared tokens and accessibility layer. */
:root{
  --jf-canvas:var(--bg,#fffaf4);--jf-canvas-2:var(--bg2,#f4f7ff);
  --jf-panel:var(--surface,#fff);--jf-panel-2:var(--surface2,#f8fbff);
  --jf-text:var(--ink,#071d33);--jf-muted:var(--muted,#65738a);
  --jf-border:var(--line,#dfe8f5);--jf-accent:var(--accent,#635bff);
  --jf-accent-2:var(--accent2,#ff6fae);--jf-focus:#0ea5e9;
  --jf-ease:cubic-bezier(.16,1,.3,1);--jf-depth-shadow:0 28px 80px color-mix(in srgb,var(--jf-text) 16%,transparent);
}
[data-theme="daybreak"]{--jf-focus:#5b4cf0}
[data-theme="mist"]{--jf-focus:#006edb}
[data-theme="orchard"]{--jf-focus:#08763f}
[data-theme="midnight"]{
  --bg:#050912;--bg2:#0a1423;--surface:#0d1928;--surface2:#12243a;
  --ink:#f4f9ff;--muted:#b8c7d9;--line:#34516d;--accent:#5de8ed;--accent2:#a98bff;
  --jf-focus:#8ffaff;color-scheme:dark;
}
html{background:var(--bg);scroll-padding-top:92px}
body{color:var(--jf-text);transition:background-color .35s var(--jf-ease),color .25s ease}
body,main,.panel,.card,.priceCard,.detailPanel,.checkoutPanel,input,textarea,select,button{color:var(--jf-text)}
p,.sub,.lead,small,label,.hint{color:var(--jf-muted)}
input,textarea,select{background:var(--jf-panel);border-color:var(--jf-border);color:var(--jf-text)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--jf-muted) 82%,transparent)}
button:disabled,[aria-disabled="true"]{opacity:.62}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--jf-focus)!important;outline-offset:3px}
.themeControl{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap}
.themeControl small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.74}
.themeDrawer{position:fixed;z-index:1000;top:76px;right:18px;width:min(390px,calc(100vw - 32px));padding:22px;border:1px solid var(--jf-border);border-radius:20px;background:color-mix(in srgb,var(--jf-panel) 94%,transparent);color:var(--jf-text);box-shadow:var(--jf-depth-shadow);backdrop-filter:blur(22px);transform:translate3d(calc(100% + 40px),0,0);visibility:hidden;opacity:0;transition:transform .42s var(--jf-ease),opacity .24s ease,visibility 0s linear .42s}
.themeDrawer.open{transform:translate3d(0,0,0);visibility:visible;opacity:1;transition-delay:0s}
.themeDrawerHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.themeDrawerHead small{display:block;margin-bottom:4px;letter-spacing:.15em}.themeDrawerHead b{display:block;font-size:19px}.themeDrawer p{font-size:13px;margin:10px 0 16px}.themeGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.themeGrid button{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--jf-border);border-radius:12px;background:var(--jf-panel-2);color:var(--jf-text);text-align:left}.themeGrid button[aria-pressed="true"]{border-color:var(--jf-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--jf-accent) 24%,transparent)}.themeGrid button span{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--jf-accent),var(--jf-accent-2));box-shadow:0 0 16px color-mix(in srgb,var(--jf-accent) 48%,transparent)}
[data-theme="midnight"] .identityOutcome,[data-theme="midnight"] .expansionBand,[data-theme="midnight"] .paymentGuard,[data-theme="midnight"] .calcNote{background:linear-gradient(135deg,#102941,#141d35)!important;border-color:#355979!important;color:#f5fbff!important}
[data-theme="midnight"] .identityOutcome *,[data-theme="midnight"] .expansionBand *,[data-theme="midnight"] .paymentGuard *{color:inherit!important}
[data-theme="midnight"] .card,[data-theme="midnight"] .priceCard,[data-theme="midnight"] .detailPanel,[data-theme="midnight"] .checkoutPanel,[data-theme="midnight"] .panel{background:color-mix(in srgb,var(--surface) 94%,#000)!important;border-color:var(--line)!important}
[data-theme="midnight"] .btn.ghost,[data-theme="midnight"] .miniBtn{background:#14243a;color:#f4f9ff;border-color:#44617d}
[data-theme="midnight"] option{background:#0d1928;color:#f4f9ff}

.motionStage{position:relative;min-height:150vh;margin:30px 0 0}.motionSticky{position:sticky;top:82px;min-height:calc(100vh - 100px);display:grid;place-items:center;overflow:hidden;border-block:1px solid var(--jf-border);background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--jf-accent) 17%,transparent),transparent 32%)}
.neuralCore{--scene-progress:0;position:relative;width:min(58vw,480px);aspect-ratio:1;display:grid;place-items:center;transform:perspective(1000px) rotateX(calc((.5 - var(--scene-progress)) * 8deg)) scale(calc(.76 + var(--scene-progress) * .62));transition:transform .08s linear;filter:drop-shadow(0 0 32px color-mix(in srgb,var(--jf-accent) 30%,transparent))}
.neuralCore>span{position:relative;z-index:3;display:grid;place-items:center;width:29%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff,var(--jf-accent) 18%,color-mix(in srgb,var(--jf-accent) 38%,#07111d) 58%,#03060d 76%);color:#031018;font-weight:900;letter-spacing:.12em;box-shadow:0 0 50px color-mix(in srgb,var(--jf-accent) 46%,transparent),inset 0 0 24px #fff8}
.neuralCore i,.neuralCore b{position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--jf-accent) 64%,transparent);border-radius:45% 55% 51% 49%/57% 43% 57% 43%;animation:jfOrbit 18s linear infinite}.neuralCore b{inset:22%;animation-direction:reverse;animation-duration:12s;border-style:dashed}.neuralCore:before,.neuralCore:after{content:"";position:absolute;inset:4%;border-radius:50%;background:repeating-conic-gradient(from 12deg,color-mix(in srgb,var(--jf-accent) 68%,transparent) 0 1deg,transparent 1deg 15deg);mask:radial-gradient(circle,transparent 52%,#000 53% 54%,transparent 55%);opacity:.5;animation:jfOrbit 34s linear infinite}.neuralCore:after{inset:30%;animation-direction:reverse;animation-duration:21s;opacity:.75}
.motionCopy{position:absolute;z-index:4;max-width:470px;padding:24px;opacity:clamp(0,calc((var(--scene-progress) - .55) * 4),1);transform:translateY(calc((1 - var(--scene-progress)) * 52px));right:max(5vw,24px);bottom:12%;background:color-mix(in srgb,var(--jf-panel) 86%,transparent);border:1px solid var(--jf-border);border-radius:20px;backdrop-filter:blur(18px)}
@keyframes jfOrbit{to{transform:rotate(360deg)}}

.singlePlan{grid-template-columns:minmax(0,760px);justify-content:center}.builderShell{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:32px;padding-block:48px 80px}.builderRail{position:sticky;top:100px;align-self:start;padding:28px;border:1px solid var(--jf-border);border-radius:24px;background:color-mix(in srgb,var(--jf-panel) 88%,transparent);overflow:hidden}.builderRail h1{font-size:clamp(34px,4vw,58px)}.builderRail ol{list-style:none;padding:0;margin:28px 0;display:grid;gap:10px}.builderRail li{padding:10px 12px;border-left:2px solid var(--jf-border);color:var(--jf-muted)}.builderRail li.active{border-color:var(--jf-accent);color:var(--jf-text);background:color-mix(in srgb,var(--jf-accent) 9%,transparent)}.builderCore{width:150px;aspect-ratio:1;margin:28px auto 0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--jf-accent) 58%,transparent);border-radius:50%;box-shadow:0 0 50px color-mix(in srgb,var(--jf-accent) 19%,transparent);position:relative}.builderCore i{position:absolute;inset:14px;border:1px dashed var(--jf-accent);border-radius:50%;animation:jfOrbit 22s linear infinite}.builderCore span{font-weight:900;letter-spacing:.12em}.builderPanel{min-width:0;padding:34px;border:1px solid var(--jf-border);border-radius:24px;background:var(--jf-panel)}.builderStep{animation:jfStepIn .55s var(--jf-ease)}.builderStep[hidden]{display:none}.builderStep h2{font-size:clamp(32px,4vw,54px);margin-block:12px}.builderStep>label{display:grid;gap:8px;margin:20px 0}.builderStep input,.builderStep textarea,.builderStep select{width:100%;padding:13px 14px;border:1px solid var(--jf-border);border-radius:12px}.builderStep textarea{min-height:110px;resize:vertical}.tutorialGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.tutorialGrid article{padding:18px;border:1px solid var(--jf-border);border-radius:16px;background:var(--jf-panel-2)}.reviewCard{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--jf-border);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--jf-accent) 12%,var(--jf-panel)),var(--jf-panel-2))}.reviewOrb{width:58px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--jf-accent);color:#07121e;font-weight:900}.screenActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.bookingShell{align-items:start}.bookingShell form label{display:grid;gap:7px;margin:15px 0}.bookingShell input,.bookingShell textarea,.bookingShell select{width:100%;padding:12px 13px;border:1px solid var(--jf-border);border-radius:11px}.bookingShell textarea{min-height:95px}.consentRow{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important}.consentRow input{width:20px!important;margin-top:4px}.processList{list-style:none;padding:0;display:grid;gap:16px}.processList li{display:grid;grid-template-columns:30px 1fr;gap:10px}.processList b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--jf-accent);color:#06131e}.dashboardReplica{display:grid;grid-template-columns:210px 1fr;overflow:hidden;border:1px solid var(--jf-border);border-radius:24px;background:#07111e;color:#f1f8ff;box-shadow:0 36px 100px #0007}.dashboardReplica>aside{display:flex;flex-direction:column;gap:7px;padding:24px;border-right:1px solid #26425d;background:#091522}.dashboardReplica>aside b{margin-bottom:18px;color:#72edf0}.dashboardReplica>aside span{padding:10px;border-radius:9px;color:#a9bdd2}.dashboardReplica>aside .active{background:#12304a;color:#fff}.dashboardReplica>div{padding:26px}.dashboardReplica header{display:flex;justify-content:space-between;gap:20px;align-items:start}.dashboardReplica h3{font-size:clamp(24px,3vw,40px);margin:5px 0;color:#fff}.dashboardReplica em{font-style:normal;color:#9eb4c9}.replicaMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.replicaMetrics article{padding:17px;border:1px solid #2b4b65;border-radius:14px;background:#0d1d2d}.replicaMetrics strong{display:block;font-size:30px;color:#7af2ef}.replicaMetrics span,.replicaMetrics small{display:block;color:#abc0d4}.replicaQueue{display:grid;gap:10px}.replicaQueue article{display:grid;grid-template-columns:12px 1fr auto;gap:13px;align-items:center;padding:16px;border:1px solid #29445c;border-radius:13px;background:#0a1827}.replicaQueue i{width:8px;height:8px;border-radius:50%;background:#6cebed;box-shadow:0 0 14px #6cebed}.replicaQueue small{display:block;color:#9fb5c9}.replicaQueue>article>span{color:#78eef1}.reviewReserve{margin-top:18px;padding:24px;border:1px dashed var(--jf-border);border-radius:18px;background:var(--jf-panel-2)}
.futureHubHead{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:28px;align-items:center}.voiceDock{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:20px;padding:22px;border:1px solid #2f6076;border-radius:22px;background:radial-gradient(circle at 20% 45%,#1d637055,transparent 42%),#091727;box-shadow:0 0 50px #28dbe818;color:#f4fbff}.voiceDock p,.voiceDock small{color:#a9c5d8}.voiceDock strong{display:block;font-size:20px}.voiceDockCore{position:relative;width:100px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #5fe9ef88;border-radius:50%;box-shadow:0 0 30px #4feaf022,inset 0 0 26px #4feaf01c}.voiceDockCore i,.voiceDockCore b{position:absolute;inset:10px;border:1px dashed #70f4f0aa;border-radius:50%;animation:jfOrbit 16s linear infinite}.voiceDockCore b{inset:24px;animation-direction:reverse;animation-duration:9s}.voiceDockCore span{font-weight:900;color:#85f5f0}.futureHubGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.futureHubGrid .panel{background:linear-gradient(145deg,#0c1a2b,#101f31)!important;border-color:#2c4f68!important;color:#f2f8ff!important}.futureHubGrid .panel p,.futureHubGrid .panel pre{color:#b4c7d9!important}.personalHubBody{background:radial-gradient(circle at 50% -10%,#18465f,transparent 38%),#050b14!important;color:#f4f9ff}.personalHubBody>header{background:#07111dcc;border-color:#29445c;backdrop-filter:blur(18px)}.personalHubBody main{max-width:1500px}.providerConsent{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:14px 0!important}.providerConsent input{width:18px!important;flex:0 0 auto;margin-top:4px}
.simulationBar{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:11px 18px;border-bottom:1px solid var(--jf-border);background:color-mix(in srgb,var(--jf-accent) 10%,var(--jf-panel));color:var(--jf-muted);font-size:14px;line-height:1.45;text-align:center}.simulationBar b{color:var(--jf-text);white-space:nowrap}
@keyframes jfStepIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

@media(max-width:760px){.themeControl{position:fixed;right:12px;bottom:12px;z-index:900;box-shadow:var(--jf-depth-shadow)}.themeDrawer{top:auto;bottom:70px;right:12px}.themeGrid{grid-template-columns:1fr}.motionStage{min-height:115vh}.motionSticky{top:0;min-height:100svh}.neuralCore{width:min(92vw,390px)}.motionCopy{left:16px;right:16px;bottom:6%;padding:18px}.builderShell{grid-template-columns:1fr;padding-top:20px}.builderRail{position:relative;top:0}.builderPanel{padding:22px}.tutorialGrid{grid-template-columns:1fr}.dashboardReplica{grid-template-columns:1fr}.dashboardReplica>aside{display:none}.dashboardReplica>div{padding:18px}.replicaMetrics{grid-template-columns:1fr}.replicaQueue article{grid-template-columns:10px 1fr}.replicaQueue>article>span{grid-column:2}.bookingShell .fieldGrid{grid-template-columns:1fr}.futureHubHead{grid-template-columns:minmax(0,1fr)!important}.futureHubGrid{grid-template-columns:minmax(0,1fr)!important}.voiceDock{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:16px}.voiceDockCore{width:70px}.personalHubBody main{min-width:0}.personalHubBody pre{white-space:pre-wrap;overflow-wrap:anywhere}}
@media(max-width:760px){.simulationBar{align-items:flex-start;gap:4px;padding:9px 14px;font-size:12px}.simulationBar b{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.motionStage{min-height:auto}.motionSticky{position:relative;min-height:620px}.neuralCore{transform:none!important}.motionCopy{opacity:1!important;transform:none!important}}
