:root{--navy:#061b33;--gold:#d7c09e;--gold-ink:#6e4b25;--cream:#f5f1e9;--paper:#fff;--muted:#617083;--line:#ded8ce;--serif:"Noto Serif","Noto Sans",Georgia,serif;--sans:"Inter","Noto Sans","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--cream);color:var(--navy);font-family:var(--sans)}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:fixed;left:1rem;top:-5rem;z-index:10;background:#fff;padding:.7rem 1rem}.skip:focus{top:1rem}
.portal{width:100%;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-columns:minmax(420px,46.2%) 1fr}.story{position:relative;height:100%;min-height:0;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vh,62px) clamp(34px,4.2vw,62px)}.story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,18,35,.74),rgba(2,18,35,.48) 38%,rgba(2,18,35,.9)),linear-gradient(90deg,rgba(2,18,35,.62),rgba(2,18,35,.12))}.story-copy,.rules{position:relative;z-index:1}.kicker{margin:0 0 1rem;color:#d9bd86;font-size:.76rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.story h1{max-width:590px;margin:0;font-family:var(--serif);font-size:clamp(2.8rem,4.1vw,4.6rem);font-weight:400;line-height:1.08;letter-spacing:-.025em}.story-copy>p:last-child{margin:1rem 0 0;font-size:1.05rem;color:rgba(255,255,255,.9)}.rules{max-width:540px;padding:22px 26px;background:rgba(4,25,48,.78);border:1px solid rgba(255,255,255,.18);border-radius:14px;backdrop-filter:blur(8px);box-shadow:0 20px 50px rgba(0,0,0,.2)}.rules h2{margin:0 0 .85rem;color:#d9bd86;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.rules ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.rules li{display:grid;grid-template-columns:18px 1fr;gap:.7rem;font-size:.88rem;line-height:1.32;color:rgba(255,255,255,.94)}.rules li:before{content:"✓";color:#d9bd86;font-weight:700}
.access{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;padding:clamp(18px,3.5vh,38px) clamp(28px,5vw,72px)}.card{width:min(100%,470px);max-height:100%;justify-self:center;background:var(--paper);border:1px solid rgba(6,27,51,.09);border-radius:14px;padding:clamp(23px,3.2vh,39px) clamp(28px,3.5vw,44px);box-shadow:0 24px 60px rgba(6,27,51,.12),0 3px 10px rgba(6,27,51,.05)}.logo{display:block;width:min(100%,250px);height:auto;margin:0 auto 10px}.status{width:max-content;max-width:100%;margin:0 auto 15px;padding:.36rem .85rem;border-radius:999px;background:#eee3d2;color:var(--gold-ink);font-size:.61rem;font-weight:700;letter-spacing:.11em;text-align:center;text-transform:uppercase}.card h2{margin:0;font-family:var(--serif);font-size:clamp(2.2rem,3.4vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-.02em}.intro{margin:.48rem 0 1rem;color:var(--muted);font-size:.88rem;line-height:1.38}.field{display:grid;gap:.32rem;margin-top:.66rem}.field label{font-size:.78rem;font-weight:700}.field input,.field select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fbfaf8;padding:0 1.15rem;color:#87919e;font:inherit}.field input:disabled,.field select:disabled{opacity:1;-webkit-text-fill-color:#87919e;cursor:not-allowed}.continue,.portal-choice{width:100%;min-height:46px;margin-top:.9rem;border:0;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:700;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}.continue:disabled{cursor:not-allowed;opacity:1}.links{display:flex;justify-content:space-between;gap:1rem;margin-top:.72rem;font-size:.77rem;color:var(--gold-ink)}.links a{text-decoration:none;border-bottom:1px solid transparent}.links a:hover{border-color:currentColor}.locked{margin:.65rem 0 0;text-align:center;color:var(--muted);font-size:.7rem}.access-footer{width:min(100%,620px);justify-self:center;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding-top:.8rem;color:#75808d;font-size:.72rem}.footer-links{display:flex;gap:1rem}.access-footer a{text-decoration:none}.access-footer a:hover{text-decoration:underline}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1rem}.choice{display:flex;min-height:122px;padding:18px;border:1px solid var(--line);border-radius:12px;flex-direction:column;text-decoration:none;transition:.2s}.choice:hover{border-color:var(--gold-ink);transform:translateY(-2px);box-shadow:0 12px 24px rgba(6,27,51,.08)}.choice b{font-family:var(--serif);font-size:1.25rem;font-weight:400}.choice span{margin-top:.35rem;color:var(--muted);font-size:.78rem;line-height:1.3}.choice em{margin-top:auto;color:var(--gold-ink);font-size:.75rem;font-style:normal;font-weight:700}.back{display:inline-block;margin-bottom:.6rem;color:var(--gold-ink);font-size:.75rem;text-decoration:none}.back:hover{text-decoration:underline}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.compact-form .wide{grid-column:1/-1}
@media(max-height:700px) and (min-width:701px){.story{padding-top:25px;padding-bottom:25px}.story h1{font-size:clamp(2.35rem,3.8vw,3.5rem)}.rules{padding:17px 21px}.rules ul{gap:.4rem}.card{padding-top:19px;padding-bottom:19px}.logo{width:205px;margin-bottom:5px}.status{margin-bottom:9px}.card h2{font-size:2.05rem}.intro{margin-bottom:.55rem}.field{margin-top:.45rem}.field input,.field select{min-height:39px}.continue{min-height:41px;margin-top:.65rem}.locked{margin-top:.45rem}.choice{min-height:102px;padding:14px}}
@media(max-width:700px){.portal{display:block}.story{display:none}.access{width:100%;height:100vh;height:100dvh;padding:14px}.card{padding:20px 22px}.logo{width:210px}.access-footer{padding-top:.55rem}.links{font-size:.73rem}}
@media(max-width:400px), (max-height:610px){.card{padding:16px 19px}.logo{width:180px;margin-bottom:4px}.status{margin-bottom:7px}.card h2{font-size:1.85rem}.intro{margin:.35rem 0 .5rem}.field{margin-top:.38rem}.field input,.field select{min-height:38px}.continue{min-height:40px;margin-top:.55rem}.locked{margin-top:.35rem}.access-footer{font-size:.66rem}.choice{min-height:94px;padding:12px}.choice b{font-size:1.08rem}}
.identity-button{cursor:pointer;font:700 .92rem var(--sans)}.identity-button:hover{filter:brightness(.97)}.auth-notice:empty{display:none}.auth-notice{margin:.8rem 0 0;padding:.65rem .8rem;border:1px solid #d9c49e;border-radius:9px;background:#fbf7ef;color:#6e4b25;font-size:.78rem;line-height:1.35}.callback-page{display:grid;place-items:center;min-height:100vh;background:var(--cream);padding:24px}.callback-card{width:min(100%,460px);padding:42px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(6,27,51,.12)}.callback-card img{width:230px;max-width:100%}.callback-card h1{font:400 1.8rem var(--serif);margin:18px 0 8px}.callback-card p{margin:0;color:var(--muted)}.callback-spinner{width:34px;height:34px;margin:22px auto 0;border:3px solid #e5ded2;border-top-color:var(--navy);border-radius:50%;animation:callback-spin .8s linear infinite}@keyframes callback-spin{to{transform:rotate(360deg)}}
html,body,button,input,select,textarea{font-family:"Inter","Noto Sans","Segoe UI",Arial,sans-serif}.card h2,.story-copy h1,.rules h2{font-family:"Noto Serif","Noto Sans",Georgia,serif}
.card .logo,.callback-card>img{content:url("/assets/aaroma-education-logo-navy.png?v=20260910-1");box-sizing:border-box;width:min(100%,285px);height:auto;padding:0;margin-left:auto;margin-right:auto;background:transparent;border:0;border-radius:0;object-fit:contain}
