:root{--sand:#F3E9D7;--sand-hi:#FAF3E5;--green-deep:#2E3D34;--green-soft:#6F8F7E;--gold:#C9A35A;--gold-2:#B8914A;--ink-muted:#5E6A62;--rule:rgba(46,61,52,.18);--h:"Georgia","Cormorant Garamond",serif;--b:"Calibri","Segoe UI","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1000px 560px at 82% 0,rgba(201,163,90,.16),transparent 60%),var(--sand);color:var(--green-deep);font-family:var(--b)}.portal-nav{align-items:center;background:color-mix(in oklab,var(--sand) 86%,transparent);border-bottom:1px solid var(--rule);display:flex;gap:22px;justify-content:space-between;padding:16px clamp(18px,4vw,42px);position:sticky;top:0;z-index:30}.portal-brand{align-items:center;color:var(--green-deep);display:inline-flex;font-family:var(--h);font-size:24px;font-style:italic;gap:12px;text-decoration:none;white-space:nowrap}.portal-brand span{background:linear-gradient(135deg,#E7C585,var(--gold) 55%,#8E6A2A);border-radius:50%;box-shadow:inset 0 0 0 2px var(--sand),0 0 0 1px var(--gold-2);display:block;height:30px;width:30px}.portal-menu{align-items:center;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:flex-end}.portal-menu a{color:var(--green-deep);font-size:14px;text-decoration:none}.portal-mobile-menu{display:none;position:relative}.portal-mobile-menu summary{align-items:center;background:var(--green-deep);border-radius:999px;cursor:pointer;display:inline-flex;height:44px;justify-content:center;list-style:none;position:relative;width:52px}.portal-mobile-menu summary::-webkit-details-marker{display:none}.portal-mobile-menu summary span{background:var(--sand-hi);border-radius:999px;display:block;height:2px;position:absolute;transition:transform .2s ease,opacity .2s ease;width:22px}.portal-mobile-menu summary span:first-child{transform:translateY(-7px)}.portal-mobile-menu summary span:nth-child(3){transform:translateY(7px)}.portal-mobile-menu[open] summary span:first-child{transform:rotate(45deg)}.portal-mobile-menu[open] summary span:nth-child(2){opacity:0}.portal-mobile-menu[open] summary span:nth-child(3){transform:rotate(-45deg)}.portal-mobile-panel{background:var(--sand-hi);border:1px solid rgba(201,163,90,.35);border-radius:18px;box-shadow:0 24px 46px -30px rgba(46,61,52,.5);display:grid;gap:2px;min-width:min(82vw,280px);padding:10px;position:absolute;right:0;top:calc(100% + 10px);z-index:40}.portal-mobile-panel a{border-radius:12px;color:var(--green-deep);font-size:14px;padding:12px 14px;text-decoration:none}.portal-mobile-panel a:hover{background:rgba(201,163,90,.14)}.course-portal{min-height:100vh;padding:46px 28px 70px}.lesson-grid,.portal-help,.portal-hero,.portal-shell{width:min(1120px,100%);margin:0 auto}.portal-hero,.portal-shell{background:var(--green-deep);color:var(--sand-hi);border-radius:28px;padding:clamp(32px,7vw,72px);box-shadow:0 40px 80px -44px rgba(46,61,52,.55)}.portal-shell{max-width:760px}.portal-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:center}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.28em;margin:0 0 16px;text-transform:uppercase}h1,h2{font-family:var(--h);font-weight:500;line-height:1.05;margin:0}h1{color:var(--sand-hi);font-size:clamp(44px,8vw,78px);max-width:11ch}.lead{color:rgba(243,233,215,.84);font-size:19px;line-height:1.65;max-width:56ch;margin:24px 0 0}.help-text,.notice,.welcome-note{color:rgba(243,233,215,.78);font-size:16px;margin:20px 0 0}.notice{color:#f4c7bc}.portal-card{background:var(--sand-hi);border:1px solid rgba(201,163,90,.38);border-radius:22px;color:var(--green-deep);display:grid;gap:16px;padding:30px}.portal-card span{color:var(--green-soft);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.portal-card strong{font-family:var(--h);font-size:34px;font-style:italic;font-weight:500}.portal-card p{color:var(--ink-muted);font-size:16px;line-height:1.5;margin:-8px 0 0}.course-button{align-items:center;border:0;border-radius:999px;cursor:pointer;display:inline-flex;font-family:var(--b);font-size:15px;justify-content:center;letter-spacing:.08em;padding:16px 26px;text-decoration:none;text-transform:uppercase}.course-button.primary,.course-button.secondary{background:var(--gold);color:#243029}.course-button.outline{background:transparent;border:1px solid rgba(243,233,215,.55);color:var(--sand-hi)}.course-button.secondary{margin-top:8px}.portal-card .course-button.outline{border-color:rgba(46,61,52,.32);color:var(--green-deep)}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.login-form{display:grid;gap:12px;margin-top:28px}.login-form label{color:rgba(243,233,215,.84);font-size:15px}.login-form input{background:var(--sand-hi);border:1px solid rgba(201,163,90,.45);border-radius:14px;color:var(--green-deep);font:18px var(--b);max-width:460px;padding:16px 18px;width:100%}.success-text{color:rgba(243,233,215,.9);font-size:16px;line-height:1.6;margin:20px 0 0}.help-text a{color:var(--gold)}.lesson-grid{display:grid;gap:24px;margin-top:34px}.lesson-card{background:var(--sand-hi);border:1px solid var(--rule);border-radius:22px;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);overflow:hidden}.greeting-card{border-color:rgba(201,163,90,.5);box-shadow:0 28px 56px -44px rgba(46,61,52,.42)}.greeting-card .video-frame{background:radial-gradient(70% 90% at 70% 20%,rgba(201,163,90,.24),transparent 58%),var(--green-deep)}.greeting-card .lesson-number{color:var(--gold-2)}.video-frame{aspect-ratio:16/9;background:#243029;min-height:260px}.video-frame--portrait{align-items:center;aspect-ratio:auto;display:flex;justify-content:center;min-height:620px;padding:28px}.video-frame iframe,.video-placeholder{border:0;height:100%;width:100%}.video-frame--portrait iframe{aspect-ratio:9/16;border-radius:18px;box-shadow:0 24px 50px -34px rgba(0,0,0,.62);height:auto;max-width:350px;overflow:hidden;width:100%}.video-placeholder{align-items:center;color:var(--sand-hi);display:grid;justify-items:center;padding:28px;text-align:center}.video-placeholder span{color:var(--gold);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.video-placeholder strong{font-family:var(--h);font-size:42px;font-style:italic;font-weight:500}.video-placeholder p{color:rgba(243,233,215,.72);margin:0}.lesson-body{align-self:center;padding:34px}.lesson-number{color:var(--green-soft);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.lesson-body h2{color:var(--green-deep);font-size:clamp(34px,5vw,52px);margin-top:10px}.lesson-body p,.portal-help li{color:var(--ink-muted);font-size:17px;line-height:1.65}.portal-help{background:rgba(250,243,229,.7);border:1px solid var(--rule);border-radius:22px;margin-top:34px;padding:34px}.portal-help h2{color:var(--green-deep);font-size:34px}.portal-help ol{margin:18px 0 0;padding-left:24px}@media (max-width:760px){.portal-nav{align-items:center;flex-direction:row;gap:16px;position:static}.portal-menu{display:none}.portal-mobile-menu{display:block}.course-portal{padding:22px 18px 46px}.lesson-card,.portal-hero{grid-template-columns:1fr}.portal-hero,.portal-shell{border-radius:22px;padding:30px 22px}h1{font-size:clamp(40px,13vw,58px)}.lead{font-size:17px}.lesson-body,.portal-card,.portal-help{padding:24px 20px}.course-button{width:100%}.portal-actions{display:grid}.video-frame{min-height:0}.video-frame--portrait{padding:18px}.video-frame--portrait iframe{max-width:300px}.video-placeholder strong{font-size:34px}}