/* v0.2.1: make the AI Classroom truly viewport-wide, without affecting other pages.
   Keep the regular site header/navigation; only the page's shortcode containers are reset.
   A tiny first-party layout script corrects non-centered theme wrapper origins. */
body:has(#crac-root){overflow-x:clip}
body:has(#crac-root) :is(.wp-block-post-content,.entry-content,.wp-block-shortcode,.wp-block-group,.is-layout-constrained):has(#crac-root){max-width:none!important;overflow:visible!important}
body:has(#crac-root) :is(.wp-block-shortcode,.wp-block-html):has(>#crac-root){width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important}
#crac-root{--navy:#0a2639;--ink:#183248;--muted:#647a8e;--blue:#1578ad;--gold:#c99b53;--crac-viewport-shift:0px;color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;width:100vw!important;min-width:100vw!important;max-width:100vw!important;position:relative!important;left:50%!important;right:auto!important;margin:0!important;padding:0!important;transform:translateX(calc(-50% + var(--crac-viewport-shift)))!important;clear:both;background:#f4f8fb;overflow:hidden}
#crac-root *{box-sizing:border-box}#crac-root [hidden]{display:none!important}#crac-root button,#crac-root input{font:inherit}#crac-root button,#crac-root a{cursor:pointer}#crac-root a{text-decoration:none}#crac-root .crac-shell{width:min(1230px,100%);margin:auto;padding:0 clamp(18px,4vw,55px)}
#crac-root .crac-hero{color:white;background:radial-gradient(circle at 95% 30%,#176e82 0%,transparent 40%),linear-gradient(120deg,#071e30,#12394c 80%);padding:clamp(40px,6vw,78px) 0;border-bottom:3px solid var(--gold)}
#crac-root .crac-brand{display:flex;gap:12px;align-items:center;color:#f1c789;font-weight:850;font-size:12px;letter-spacing:.14em;margin-bottom:36px}#crac-root .crac-brand img{width:54px;height:54px;object-fit:contain}
#crac-root .crac-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,5vw,65px);align-items:center}#crac-root .crac-eyebrow,#crac-root .crac-overline{font-size:11px;font-weight:850;color:#cfad75;letter-spacing:.16em}
#crac-root h1{font-size:clamp(36px,5.8vw,76px);line-height:1.06;letter-spacing:-.05em;color:#fff;font-weight:900;margin:15px 0 23px}#crac-root h1 em{font-style:normal;color:#5bdaec}#crac-root .crac-hero p{font-size:clamp(16px,1.7vw,19px);color:#d7eaf0;max-width:650px;margin:0 0 24px}#crac-root .crac-cta{display:inline-flex;align-items:center;border-radius:13px;padding:14px 21px;background:#50cae9;color:#071e30;font-weight:900}
#crac-root .crac-illustration{border:1px solid #598290;background:linear-gradient(155deg,#13384a,#0a2030);border-radius:26px;padding:30px;min-height:365px;box-shadow:0 30px 50px #0003;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}#crac-root .crac-orbit{position:absolute;right:32px;top:12px;font-size:110px;color:#4dd0df;opacity:.22}#crac-root .crac-illustration-title{font-size:clamp(29px,3vw,50px);font-weight:900;color:#f2d3a3;letter-spacing:.09em}#crac-root .crac-illustration-sub{color:#5ddbe6;font-weight:750;letter-spacing:.2em;font-size:12px;margin-bottom:22px}#crac-root .crac-illustration-row{border:1px solid #466a7b;border-radius:12px;padding:11px 15px;margin:5px 0;color:#cde8f0;background:#ffffff0a}
#crac-root .crac-body{padding-top:54px;padding-bottom:65px}#crac-root .crac-section-heading h2{font-size:clamp(28px,3vw,42px);color:var(--navy);margin:8px 0 4px}#crac-root .crac-section-heading p{color:var(--muted);margin:0 0 22px}
#crac-root .crac-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}#crac-root .crac-card,#crac-root .crac-empty{background:white;border:1px solid #d7e5ea;border-radius:22px;padding:24px;box-shadow:0 12px 30px #12394c0a;min-width:0}#crac-root .crac-card h3{font-size:clamp(20px,2vw,27px);color:#132f46;margin:7px 0 10px;line-height:1.24}#crac-root .crac-card p{font-size:14px;color:#62798a;margin:0 0 12px}#crac-root .crac-status{display:inline-flex;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#15768b;background:#e9f7fb;border-radius:80px;padding:6px 11px}#crac-root .crac-card time{display:block;color:#526d7b;font-weight:800;margin:12px 0}#crac-root .crac-card button,#crac-root .crac-question button{border:0;border-radius:10px;padding:10px 18px;background:var(--blue);color:white;font-weight:800}#crac-root .crac-card button:disabled{opacity:.6;cursor:not-allowed}
#crac-root .crac-room{margin-top:28px;border:1px solid #d4e2e8;border-radius:23px;background:white;padding:clamp(18px,3vw,33px)}#crac-root .crac-room-head{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#64798a;font-weight:800}#crac-root .crac-room-head button{background:#edf6fa;border:0;border-radius:12px;padding:9px 14px;color:#0c6286;font-weight:800}#crac-root .crac-room h2{margin:16px 0 7px;color:var(--navy)}#crac-root .crac-room-tip{color:var(--muted)}#crac-root .crac-thread{background:#f4f9fb;border-radius:18px;border:1px solid #dae6ed;min-height:240px;max-height:510px;overflow:auto;padding:16px;display:grid;gap:12px;align-content:start}
#crac-root .crac-bubble{padding:13px 16px;border:1px solid #dce6ee;border-radius:14px;background:white;max-width:92%}#crac-root .crac-bubble.coach{background:#11394d;color:#e6f7fa;border-color:#11394d}#crac-root .crac-bubble small{display:block;font-size:11px;font-weight:900;color:#1d8ea1;margin-bottom:5px}#crac-root .crac-bubble.coach small{color:#e9c28c}#crac-root .crac-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
#crac-root .crac-question{margin-top:15px}#crac-root .crac-question label{display:block;font-size:13px;font-weight:850;margin-bottom:7px}#crac-root .crac-question-row{display:flex;gap:10px}#crac-root .crac-question input{flex:1;min-width:0;border:1px solid #bdd5e0;border-radius:11px;padding:12px;color:var(--ink)}#crac-root .crac-feedback{color:#245d6d;font-size:13px}#crac-root .crac-disclaimer{font-size:12px;color:#647f8f;margin-top:26px}
@media(max-width:760px){#crac-root .crac-hero-grid,#crac-root .crac-list{grid-template-columns:1fr}#crac-root .crac-illustration{min-height:240px}#crac-root .crac-hero{padding:30px 0 46px}#crac-root .crac-card{padding:18px}#crac-root .crac-question-row{flex-direction:column}#crac-root .crac-hero p{font-size:16px}}
/* ChoiceRoyals v0.2 — enrolled library and coaching */
#crac-root .crac-extended{margin-top:58px}
#crac-root .crac-learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
#crac-root .crac-learning-card{background:#fff;padding:clamp(18px,2.4vw,30px);border:1px solid #dce6ed;border-radius:22px;margin-bottom:18px;box-shadow:0 12px 28px #234b6410;min-width:0}
#crac-root .crac-learning-card h3{color:#102f44;font-weight:850;margin:0 0 18px;font-size:clamp(18px,2vw,24px)}
#crac-root .crac-program,#crac-root .crac-booking,#crac-root .crac-source{border:1px solid #dbe9ee;border-radius:14px;padding:15px;margin:0 0 12px;background:#f7fafc}
#crac-root .crac-program strong,#crac-root .crac-booking strong,#crac-root .crac-source strong{display:block;color:#173b52}
#crac-root .crac-program p,#crac-root .crac-source p{font-size:14px;line-height:1.65;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}
#crac-root .crac-help{color:#688095;font-size:13px;line-height:1.6}
#crac-root .crac-booking small{display:block;color:#58738c;text-transform:capitalize;margin:5px 0 9px}
#crac-root .crac-small-button,#crac-root .crac-learning-card button{border:0;border-radius:10px;color:white;background:#157ea9;font-size:13px;font-weight:800;padding:11px 14px;cursor:pointer;margin:4px 5px 4px 0}
#crac-root .crac-learning-card button:hover{background:#0e607f}
#crac-root .crac-learning-card input,#crac-root .crac-learning-card select{width:100%;min-height:45px;border:1px solid #bfd6df;background:#fbfdff;border-radius:10px;padding:10px;font:inherit;font-size:14px;color:#193b4c}
#crac-root .crac-learning-card label{display:block;font-size:13px;font-weight:800;color:#173b52;margin:10px 0}
#crac-root .crac-knowledge form,#crac-root .crac-private-room form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#crac-root .crac-knowledge input,#crac-root .crac-private-room input{flex:2;min-width:210px}
#crac-root .crac-knowledge select{flex:1;min-width:180px}
#crac-root .crac-knowledge button,#crac-root .crac-private-room button{flex:none}
#crac-root .crac-private-thread{min-height:130px;max-height:420px;overflow:auto;background:#f3f8fa;border:1px solid #dce9ee;padding:12px;border-radius:16px;margin:12px 0}
#crac-root .crac-coach-note{background:#e6f8f7;border-color:#b8e3de}
#crac-root .crac-learning-notice{font-size:14px;color:#1b6176;min-height:20px}
@media(max-width:850px){#crac-root .crac-learning-grid{grid-template-columns:1fr}}

/* V0.2.1 — reliable responsive centering and full-width panels */
#crac-root .crac-shell{width:100%!important;max-width:1290px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(16px,4vw,56px)!important;padding-right:clamp(16px,4vw,56px)!important;min-width:0!important}
#crac-root .crac-hero-grid>*{min-width:0}
#crac-root .crac-list,#crac-root .crac-learning-grid{min-width:0;max-width:100%}
#crac-root .crac-card,#crac-root .crac-learning-card{overflow-wrap:anywhere}
@media(max-width:980px){#crac-root .crac-hero-grid{grid-template-columns:1fr!important;gap:27px!important}#crac-root .crac-illustration{min-height:230px!important}}
@media(max-width:760px){#crac-root .crac-list,#crac-root .crac-learning-grid{grid-template-columns:1fr!important}#crac-root .crac-hero{padding:34px 0 42px}#crac-root .crac-brand{margin-bottom:23px}#crac-root .crac-body{padding-top:32px;padding-bottom:46px}#crac-root .crac-extended{margin-top:36px}#crac-root .crac-section-heading h2{font-size:clamp(26px,7vw,36px)}#crac-root .crac-learning-card{padding:18px}#crac-root .crac-question-row{flex-wrap:wrap}}
@media(max-width:420px){#crac-root h1{font-size:clamp(34px,9vw,43px)}#crac-root .crac-brand{font-size:10px;letter-spacing:.09em}#crac-root .crac-brand img{height:42px;width:42px}#crac-root .crac-illustration{padding:20px!important;min-height:205px!important}}

/* v0.2.2 · public launch control & membership gateway */
#crac-root .crac-hero-label{color:#f0c98f;margin:0 0 35px;display:block}
#crac-root.crac-landing{background:#f2f8fb}
#crac-root .crac-soon-screen,#crac-root .crac-access-screen{width:100%;min-height:min(740px,calc(100svh - 120px));padding:clamp(70px,10vw,145px) clamp(20px,5vw,70px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
#crac-root .crac-soon-screen{background:radial-gradient(ellipse at 85% 16%,#155c78 0,transparent 46%),linear-gradient(125deg,#071f33,#153b53 60%,#0a273d);color:white}
#crac-root .crac-soon-shell,#crac-root .crac-access-shell{position:relative;z-index:2;width:min(100%,880px);text-align:center;margin:auto}
#crac-root .crac-soon-badge,#crac-root .crac-access-tag{display:inline-flex;align-items:center;gap:10px;letter-spacing:.16em;font-size:12px;font-weight:800;color:#f1ca92;background:#ffffff12;border:1px solid #ffffff35;padding:10px 18px;border-radius:100px}
#crac-root .crac-soon-shell h1,#crac-root .crac-access-shell h1{font-size:clamp(35px,5.2vw,68px);line-height:1.11;letter-spacing:-.04em;margin:26px auto 19px;max-width:850px;color:#fff}
#crac-root .crac-soon-shell h1 em{font-style:normal;color:#59dbe5}
#crac-root .crac-soon-shell>p,#crac-root .crac-access-shell>p{max-width:630px;color:#d1e3ea;font-size:clamp(16px,1.6vw,20px);line-height:1.73;margin:0 auto 29px}
#crac-root .crac-soon-actions,#crac-root .crac-access-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
#crac-root .crac-access-main,#crac-root .crac-access-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;padding:13px 22px;font-weight:850;font-size:15px;transition:transform .2s;white-space:normal;text-align:center}
#crac-root .crac-access-main{background:#51d1df;color:#082639!important}
#crac-root .crac-access-secondary{background:#ffffff12;color:#fff!important;border:1px solid #ffffff55}
#crac-root .crac-access-main:hover,#crac-root .crac-access-secondary:hover{transform:translateY(-2px)}
#crac-root .crac-soon-foot,#crac-root .crac-access-foot{color:#abcbd8;margin-top:34px;font-size:13px}
#crac-root .crac-soon-decoration{position:absolute;right:-140px;top:35px;height:410px;width:410px;pointer-events:none;opacity:.14}
#crac-root .crac-soon-ring{width:100%;height:100%;border:38px solid #8deefa;border-radius:50%;box-shadow:0 0 0 35px #ffffff08}
#crac-root .crac-soon-center{position:absolute;top:45%;left:30%;text-align:center;letter-spacing:.4em;font-size:20px;font-weight:900;color:#fff}
#crac-root .crac-access-screen{background:radial-gradient(circle at 80% 10%,#2b7f9e 0,transparent 44%),linear-gradient(130deg,#103048,#0b2236);color:white}
#crac-root .crac-access-symbol{font-size:28px;color:#64d5e2;margin-top:15px}
.crac-benefit{border-radius:22px;background:linear-gradient(120deg,#e8f6fc,#fffaf1);border:1px solid #cde4ed;padding:clamp(20px,3vw,36px);margin:26px auto;width:min(100%,1120px);box-shadow:0 12px 28px #194b6212;color:#12354a}
.crac-benefit .crac-benefit-label{color:#11698b;font-size:12px;font-weight:850;letter-spacing:.12em}
.crac-benefit h2{color:#153953;font-size:clamp(23px,3vw,35px);line-height:1.2;margin:8px 0}
.crac-benefit p{color:#526d7e;margin:8px 0 16px;font-size:16px}
.crac-benefit a{color:#126d91;font-weight:850}
@media(max-width:630px){#crac-root .crac-soon-screen,#crac-root .crac-access-screen{min-height:calc(100svh - 150px);padding:70px 18px}#crac-root .crac-soon-actions,#crac-root .crac-access-actions{flex-direction:column}#crac-root .crac-soon-decoration{opacity:.08}#crac-root .crac-access-main,#crac-root .crac-access-secondary{width:100%}}
