:root{--bg:#09090b;--surface:#151419;--surface-raised:#211e24;--text:#f7f3e8;--muted:#b8b1a7;--crimson:#b91c35;--crimson-hover:#d12845;--gold:#c6a15b;--line:#ffffff1f;--focus:#f8d477;--radius-sm:12px;--radius-lg:28px;--gutter:clamp(20px, 5vw, 72px);--max-width:1100px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-width:320px;margin:0}body,button,a{color:var(--text)}a{text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.app-shell{flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.app-shell--contract,.app-shell--course-content{height:100dvh;min-height:0}.app-shell--course-content .site-footer{display:none}.page-width{width:min(var(--max-width), calc(100% - 2 * var(--gutter)));margin-inline:auto}.site-header{display:none}.site-header__inner{width:min(var(--max-width), calc(100% - 2 * var(--gutter)));justify-content:space-between;align-items:center;gap:28px;height:100%;margin-inline:auto;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand__mark{width:30px;height:30px;color:var(--text);background:var(--crimson);border-radius:8px;place-items:center;font-family:Georgia,serif;font-size:20px;font-style:italic;display:grid}.site-nav{gap:8px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--muted);align-items:center;padding:0 13px;font-size:14px;transition:color .2s;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.site-nav a[aria-current=page]{font-weight:700}.home-page{flex:1}.hero{width:min(var(--max-width), calc(100% - 2 * var(--gutter)));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);isolation:isolate;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;height:min(72vh,720px);margin:34px auto 0;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;opacity:.96;position:absolute;inset:0}.hero--welcome:before{background:radial-gradient(circle at 80% 45%,#b91c3580,#0000 32%),radial-gradient(circle at 63% 85%,#c6a15b3d,#0000 30%),linear-gradient(120deg,#171419,#2a141c)}.hero--calendar:before{background:radial-gradient(circle at 78% 40%,#c6a15b52,#0000 38%),linear-gradient(120deg,#151419,#182a2c)}.hero--growth:before{background:radial-gradient(circle at 75% 45%,#6d5cae52,#0000 36%),linear-gradient(120deg,#171419,#211c30)}.hero--whatsapp{--whatsapp-green:#25d366;--whatsapp-deep:#0b3b2b;--whatsapp-mid:#128c52}.hero--whatsapp:before{background:radial-gradient(circle at 78% 45%, #25d3666b, transparent 34%), radial-gradient(circle at 68% 86%, #128c525c, transparent 36%), linear-gradient(120deg, #071f18, var(--whatsapp-deep))}.hero__copy{max-width:640px;padding:clamp(44px,7vw,92px);transition:opacity .22s,transform .22s}.eyebrow{color:var(--gold);letter-spacing:.22em;margin:0 0 18px;font-size:11px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.065em;margin-bottom:22px;font-size:clamp(42px,6vw,78px);line-height:.98}h2{letter-spacing:-.04em}.hero__description{max-width:510px;color:var(--muted);margin-bottom:32px;font-size:clamp(16px,1.7vw,19px);line-height:1.6}.hero__copy .eyebrow{white-space:nowrap;text-overflow:ellipsis;height:1lh;overflow:hidden}.hero__copy h1,.hero__copy .hero__description{height:3lh;overflow:hidden}.button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:14px;font-weight:800;display:inline-flex}.button--primary{color:#fff9ef;background:var(--crimson);transition:background .2s,transform .2s;box-shadow:0 12px 30px #b91c353d}.button--primary:hover{background:var(--crimson-hover);transform:translateY(-2px)}.button--quiet{border:1px solid var(--line);color:var(--muted)}.button--download{border:1px solid var(--crimson);color:#fff9ef;background:var(--crimson);box-shadow:0 8px 20px #b91c353d}.button--download:hover,.button--download:focus-visible{border-color:var(--crimson-hover);color:#fff;background:var(--crimson-hover)}.button--quiet:hover{color:var(--text);border-color:var(--gold)}.hero-edge{z-index:3;opacity:0;cursor:pointer;justify-content:center;align-items:center;width:60px;transition:opacity .3s,background .3s;display:flex;position:absolute;top:0;bottom:0}.hero-edge:hover,.hero-edge:focus-visible{opacity:1}.hero-edge--left{background:linear-gradient(90deg,#09090b80,#0000);left:0}.hero-edge--right{background:linear-gradient(270deg,#09090b80,#0000);right:0}.hero-edge__arrow{width:36px;height:36px;color:var(--gold);background:#09090b7a;border:1px solid #f8d47780;border-radius:50%;place-items:center;font-size:28px;line-height:1;display:grid}.hero__art{place-items:center;height:100%;min-height:460px;transition:opacity .22s,transform .22s;display:grid;position:relative;overflow:hidden}.hero__art-symbol{aspect-ratio:1;z-index:1;background:linear-gradient(135deg, var(--crimson), #d66a54 50%, var(--gold));border-radius:42% 58% 60% 40%;width:min(14vw,170px);animation:4s ease-in-out infinite float-symbol;position:relative;transform:rotate(28deg);box-shadow:0 30px 80px #b91c3566}.hero--calendar .hero__art-symbol{background:repeating-linear-gradient(90deg, #f7f3e84d 0 1px, transparent 1px 25%), repeating-linear-gradient(0deg, #f7f3e84d 0 1px, transparent 1px 25%), linear-gradient(135deg, var(--gold), #386b68);border-radius:10px;animation:4s ease-in-out infinite pulse-symbol;transform:rotate(-12deg)}.hero--growth .hero__art-symbol{border:20px solid var(--gold);box-shadow:45px 18px 0 -1px #6d5cae, -34px 28px 0 -5px var(--crimson);background:0 0;border-radius:50%;animation:5s ease-in-out infinite orbit-symbol;transform:rotate(12deg)}.hero--whatsapp .hero__art{filter:drop-shadow(0 0 48px #25d36633)}.whatsapp-art-icon{z-index:1;aspect-ratio:1;filter:drop-shadow(0 28px 36px #25d36647);width:min(14vw,170px);animation:4.5s ease-in-out infinite whatsapp-float;position:relative}.hero--transitioning .hero__copy,.hero--transitioning .hero__art{opacity:0;transform:translateY(8px)}.hero__timer{z-index:4;background:0 0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:18px;right:18px}.hero__timer-ring{border:1px solid #ffffffb8;border-color:#ffffffb8 #ffffff38 #0000 #0000;border-radius:50%;animation:5s linear infinite spin-timer;position:absolute;inset:0}.home-nav{flex-wrap:wrap;justify-content:center;gap:12px;padding-block:40px;display:flex}.button--nav{border:1px solid var(--line);color:var(--muted);background:#ffffff0d;transition:color .2s,border-color .2s,background .2s,transform .2s}.button--nav:hover,.button--nav[aria-current=page]{border-color:var(--gold);color:var(--text);background:#c6a15b1f;transform:translateY(-2px)}.announcement-page{min-height:calc(100vh - 70px);padding-block:80px 110px}.markdown-article{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);width:100%;max-width:760px;margin-inline:auto;padding:clamp(28px,6vw,64px);line-height:1.75}.markdown-article h1{margin-bottom:22px;font-size:clamp(36px,6vw,64px)}.markdown-article h2{margin:42px 0 12px;font-size:clamp(24px,4vw,34px)}.markdown-article h1,.markdown-article h2{border-bottom:1px solid var(--line);padding-bottom:.35em}.markdown-article p{color:var(--muted)}.markdown-article ul,.markdown-article ol{color:var(--muted);gap:8px;padding-left:22px;display:grid}.markdown-article ol ol{list-style-type:lower-alpha}.markdown-article blockquote{border-left:3px solid var(--gold);color:var(--text);background:#ffffff0a;margin:28px 0;padding:16px 20px}.markdown-article a{color:var(--gold);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.markdown-article code{color:var(--text);background:#ffffff1a;border-radius:5px;padding:2px 6px}.markdown-table-wrap{margin:28px 0;overflow-x:auto}.markdown-table{border-collapse:collapse;width:100%;color:var(--muted);font-size:14px;line-height:1.4}.markdown-table th,.markdown-table td{border:1px solid var(--line);text-align:left;padding:11px 14px}.markdown-table th{color:var(--text);background:#c6a15b1f;font-weight:800}.markdown-table tbody tr:nth-child(2n){background:#ffffff09}.announcement-back{width:fit-content;margin:28px auto 0;display:flex}.contract-page{flex-direction:column;flex:1;min-height:0;padding-block:clamp(40px,7vw,80px) 60px;display:flex;overflow:hidden}.contract-actions{flex-wrap:wrap;flex-shrink:0;gap:12px;margin-bottom:20px;display:flex}.contract-layout{flex:1;grid-template-columns:minmax(180px,280px) 8px minmax(0,1fr);align-items:stretch;gap:0;min-height:0;display:grid;position:relative}.contract-toc{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;min-height:0;padding:20px;display:flex;overflow:hidden}.contract-toc__title{margin:0}.contract-toc__list{flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.contract-toc__item{min-width:0}.contract-toc__button{width:100%;color:var(--muted);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.35;transition:color .2s,background .2s;display:block}.contract-toc__item--level-1 .contract-toc__button{font-weight:800}.contract-toc__item--level-3{padding-left:16px}.contract-toc__button:hover,.contract-toc__button--active,.contract-toc__button[aria-current=location]{color:var(--gold);background:#c6a15b1f}.contract-article{overscroll-behavior:contain;max-width:none;min-height:0;margin-inline:0;padding-bottom:calc(clamp(28px,6vw,64px) + 96px);overflow-y:auto}.contract-toc__header{justify-content:center;align-items:center;margin-bottom:14px;display:flex}.contract-layout__toggle-zone{z-index:3;grid-column:2;place-items:center;min-width:0;display:grid;position:relative}.contract-toc__toggle{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--surface);cursor:pointer;opacity:.45;border-radius:8px;place-items:center;transition:opacity .15s,color .2s,border-color .2s,background .2s;display:grid}.contract-toc__toggle:hover,.contract-toc__toggle:focus-visible{opacity:1;color:var(--gold);border-color:var(--gold);background:#c6a15b1f}.contract-toc-onboarding{z-index:4;width:190px;color:var(--text);background:var(--surface-raised);text-align:center;border:1px solid #c6a15b80;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.35;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-100% - 26px));box-shadow:0 10px 28px #0000004d}.contract-toc-onboarding:after{content:"";background:var(--surface-raised);border-bottom:1px solid #c6a15b80;border-right:1px solid #c6a15b80;width:16px;height:16px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.contract-layout--toc-hidden{grid-template-columns:minmax(0,1fr)}.contract-toc--hidden{display:none}.contract-layout--toc-hidden .contract-layout__toggle-zone{background:#c6a15b1f;border:1px solid #c6a15b59;border-left:0;border-radius:0 12px 12px 0;grid-column:auto;width:44px;height:64px;position:absolute;inset:50% auto auto 0;transform:translateY(-50%)}.contract-layout--toc-hidden .contract-toc__toggle{opacity:1}@media (width<=768px){.contract-layout{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;gap:8px}.contract-toc-hint{grid-row:1;place-items:center;display:grid}.contract-toc-cta{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--muted);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;transition:border-color .2s,color .2s,background .2s;display:flex}.contract-toc-cta:hover,.contract-toc-cta:focus-visible{border-color:var(--gold);color:var(--gold);background:#c6a15b14}.contract-toc-cta__title{color:var(--gold);letter-spacing:.14em;font-size:13px;font-weight:800}.contract-toc-cta__hint{color:var(--muted);font-size:11px}.contract-toc-cta__arrow{margin-top:2px;font-size:10px;transition:transform .2s}.contract-toc-hint--open .contract-toc-cta__arrow{transform:rotate(180deg)}.contract-toc{grid-row:2;min-height:0;padding:14px}.contract-toc__header{display:none}.contract-toc__list{gap:2px;padding-bottom:4px;display:flex;overflow-x:auto}.contract-toc__item{flex:none}.contract-toc__item--level-3{padding-left:0}.contract-toc__button{padding:5px 8px}.contract-toc--hidden{background:0 0;border:0;height:0;min-height:0;padding:0;display:block;overflow:hidden}.contract-toc--hidden .contract-toc__list,.contract-layout__toggle-zone{display:none}.contract-article{grid-row:3;padding:16px 16px 112px}}.contract-download-dialog{z-index:20;place-items:start center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.contract-download-dialog__backdrop{cursor:default;background:#09090bc7;border:0;width:100%;position:absolute;inset:0}.contract-download-dialog__panel{border-radius:var(--radius-lg);background:linear-gradient(145deg,#29232a,#171419 70%);border:1px solid #f8d4773d;width:min(100%,480px);max-height:calc(100dvh - 48px);margin-block:auto;padding:32px;position:relative;overflow-y:auto;box-shadow:0 28px 90px #0000008c}.contract-download-dialog__icon{color:#fff9ef;background:var(--crimson);border-radius:14px;place-items:center;width:44px;height:44px;margin-bottom:22px;font-size:25px;font-weight:700;display:grid}.contract-download-dialog__panel .eyebrow{margin-bottom:10px}.contract-download-dialog__panel h2{margin-bottom:12px;font-size:clamp(25px,4vw,34px)}.contract-download-dialog__description{max-width:390px;color:var(--muted);margin-bottom:26px;line-height:1.6}.contract-download-dialog__label{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:800;display:block}.contract-download-dialog__input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--text);font:inherit;background:#ffffff12;border-radius:10px;outline:0;padding:0 14px}.contract-download-dialog__input::placeholder{color:#837d77}.contract-download-dialog__input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c6a15b2e}.contract-download-dialog__input[aria-invalid=true]{border-color:var(--crimson-hover)}.contract-download-dialog__error{color:#ff9eaa;margin:8px 0 0;font-size:13px}.contract-download-dialog__actions{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.contract-download-dialog__actions .button--quiet{color:var(--text);background:#ffffff14;border-color:#ffffff3d}.contract-download-dialog__actions .button--quiet:hover,.contract-download-dialog__actions .button--quiet:focus-visible{border-color:var(--gold);color:var(--text);background:#c6a15b24}.contract-download-dialog__actions .button{min-height:44px}.contract-article h1,.contract-article h2,.contract-article h3{scroll-margin-top:24px}.contract-article h3{margin:34px 0 12px;font-size:clamp(18px,3vw,24px)}.course-content-page{flex-direction:column;flex:1;min-height:0;padding-block:clamp(18px,3vw,32px) 18px;display:flex;overflow:hidden}.course-content__actions,.course-content__heading,.course-week-selector{flex-shrink:0}.course-content__actions,.course-content__heading{margin-bottom:12px}.course-content__heading .eyebrow{margin-bottom:6px}.course-content__heading h1{margin-bottom:0;font-size:clamp(28px,4vw,44px)}.course-week-selector{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;margin-bottom:10px;display:grid}.course-week-selector__arrow{flex-shrink:0}.course-week-selector__list{overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:thin;touch-action:pan-x;gap:6px;min-width:0;padding:3px 2px 6px;display:flex;overflow-x:auto}.course-week-card{border:1px solid var(--line);min-height:56px;color:var(--muted);text-align:center;cursor:pointer;scroll-snap-align:center;background:#ffffff0b;border-radius:10px;flex-direction:column;flex:0 0 clamp(132px,16vw,180px);justify-content:center;align-items:center;gap:4px;padding:8px 10px;transition:border-color .2s,background .2s,color .2s,transform .2s;display:flex}.course-week-card:hover,.course-week-card:focus-visible{border-color:var(--gold);color:var(--text);background:#c6a15b1f;transform:translateY(-1px)}.course-week-card--active{border-color:var(--gold);color:var(--text);box-shadow:inset 0 -2px 0 var(--gold);background:#c6a15b2e}.course-week-card__number{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.course-week-card__title{font-size:12px;font-weight:700;line-height:1.2}.course-week-pane{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(155deg, var(--surface-raised), #17151b);flex:1;min-height:0;padding:14px clamp(12px,2vw,22px) 48px;animation:.2s both course-pane-enter;overflow-y:auto}.course-week-pane__header{border-bottom:1px solid var(--line);padding-bottom:12px}.course-week-pane__header .eyebrow{margin-bottom:5px}.course-week-pane__header h2{margin-bottom:0;font-size:clamp(22px,3vw,32px)}.course-category{border-bottom:1px solid var(--line);padding-block:12px}.course-category:last-child{border-bottom:0}.course-category h3{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:12px}.course-content__empty{color:var(--muted);margin:0;font-size:13px}.course-cards{gap:6px;display:grid}.course-card{border:1px solid var(--line);background:#ffffff09;border-radius:10px;padding:11px 12px}.course-card--expired{border-color:#d1284573}.course-card h4{margin:0 0 5px;font-size:15px}.course-card p{color:var(--muted);margin-bottom:7px;line-height:1.4}.course-card__status-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.course-card__status-row h4{min-width:0}.course-card__badge{color:#ffb4be;background:#b91c3533;border-radius:999px;flex-shrink:0;padding:3px 6px;font-size:10px;font-weight:800}.course-card__meta{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;color:var(--gold)!important}.course-card__actions{flex-wrap:wrap;gap:6px;display:flex}.course-content__link{min-height:34px;color:var(--gold);border:1px solid #c6a15b80;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.course-content__link:hover{color:var(--text);border-color:var(--gold);background:#c6a15b1f}.course-content__unavailable{color:var(--muted);font-size:12px;font-style:italic;display:inline-block}@keyframes course-pane-enter{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page-section{flex:1;padding-block:clamp(40px,7vw,80px) 60px}.page-intro{max-width:700px;margin-bottom:54px}.page-intro h1{font-size:clamp(42px,7vw,72px)}.lead{max-width:620px;color:var(--muted);margin-bottom:0;font-size:16px;line-height:1.65}.class-selector{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.class-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;padding:12px;transition:border-color .2s,transform .2s,background .2s}.class-card:hover{border-color:var(--accent);background:var(--surface-raised);transform:translateY(-7px)}.class-card__tile{aspect-ratio:1;color:#fff;background:var(--accent);letter-spacing:-.08em;border-radius:9px;place-items:center;margin-bottom:16px;font-size:clamp(25px,4vw,42px);font-weight:800;display:grid}.class-card__name,.class-card__action{display:block}.class-card__name{font-weight:800}.class-card__action{color:var(--muted);margin-top:7px;font-size:12px}.class-card__action span{color:var(--gold)}.class-card--RA{--accent:#b91c35}.class-card--RB{--accent:#c56c2f}.class-card--RC{--accent:#c6a15b}.class-card--RD{--accent:#3e7c78}.class-card--RE{--accent:#6d5cae}.calendar-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px;display:flex}.calendar-heading .page-intro{margin-bottom:0}.calendar-heading .lead{text-align:right}.calendar-layout{grid-template-columns:minmax(0,.8fr) minmax(300px,1.6fr);align-items:start;gap:24px;display:grid}.calendar-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:clamp(14px,3vw,28px)}.month-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.month-toolbar h2{margin:0;font-size:clamp(18px,2.5vw,26px)}.round-button{border:1px solid var(--line);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff14;border-radius:50%;place-items:center;font-size:18px;transition:background .2s,border-color .2s,color .2s;display:inline-grid}.round-button:hover,.round-button:focus-visible{border-color:var(--gold);color:var(--gold);background:#ffffff29}.round-button:active{background:#c6a15b38}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:8px;font-size:10px;font-weight:800}.calendar-day{aspect-ratio:.85;min-width:0;color:var(--text);cursor:pointer;background:#ffffff0b;border:1px solid #0000;border-radius:8px;font-size:13px;position:relative}.calendar-day:hover:not(:disabled):not(.is-selected){border-color:var(--gold);background:#c6a15b24}.calendar-day.is-outside{opacity:.2;cursor:not-allowed}.calendar-day.is-selected{border-color:var(--crimson);background:var(--crimson);font-weight:800}.calendar-day.is-past{opacity:.35;background:0 0}.calendar-day.is-today{border-color:var(--gold);background:#c6a15b2e;font-weight:800}.calendar-day.is-today.is-selected{border-color:var(--crimson);background:var(--crimson)}.event-marker{background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px;right:6px}.calendar-day.is-selected .event-marker{background:var(--text)}.todo-panel{height:var(--calendar-height,auto);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(155deg, var(--surface-raised), #17151b);flex-direction:column;min-height:0;padding:clamp(18px,3vw,32px);display:flex;overflow:hidden}.todo-panel__heading{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;flex-shrink:0;margin:0 0 16px;font-size:13px;font-weight:800}.todo-scroll{scroll-behavior:smooth;flex:1;min-height:0;padding-right:8px;overflow-y:auto}.todo-date-group{margin-bottom:20px;scroll-margin-top:8px}.todo-date-group--past{opacity:.4}.todo-date-group--today{border-left:2px solid var(--gold);padding-left:10px}.todo-date-group h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.todo-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.todo-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff08;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;line-height:1.4;transition:background .2s,border-color .2s;display:flex}.todo-item:hover{border-color:var(--gold);background:#ffffff0f}.todo-item--past{opacity:.35}.todo-item--today{border-color:var(--gold);background:#c6a15b1a}.todo-item--today .todo-item__time{color:var(--text);font-weight:800}.todo-item__title{flex:1;min-width:0}.todo-item__time{color:var(--gold);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:700}.empty-state{color:var(--muted);margin-top:40px;line-height:1.6}.info-page{flex:1}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.info-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:250px;padding:28px}.info-card__number{color:var(--gold);letter-spacing:.14em;font-size:12px;font-weight:800}.info-card h2{margin-top:70px;margin-bottom:12px;font-size:23px}.info-card p{color:var(--muted);margin-bottom:0;line-height:1.6}.site-footer{width:min(var(--max-width), calc(100% - 2 * var(--gutter)));border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:auto auto 0;padding-block:28px;font-size:12px}.site-footer a{vertical-align:middle;min-width:44px;min-height:44px;color:var(--gold);text-underline-offset:3px;justify-content:center;align-items:center;padding-inline:4px;text-decoration:underline;transition:color .2s;display:inline-flex}.site-footer a:hover{color:var(--text)}@keyframes whatsapp-float{0%,to{transform:translateY(5px)rotate(-3deg)}50%{transform:translateY(-14px)rotate(3deg)}}@keyframes float-symbol{0%,to{transform:rotate(28deg)translate(0,0)}50%{transform:rotate(34deg)translateY(-14px)}}@keyframes pulse-symbol{0%,to{transform:rotate(-12deg)scale(1)}50%{transform:rotate(-7deg)scale(1.08)}}@keyframes orbit-symbol{0%,to{transform:rotate(12deg)translate(0)}50%{transform:rotate(20deg)translate(10px,-10px)}}@keyframes spin-timer{to{transform:rotate(360deg)}}@media (width<=768px){.site-header{height:auto}.site-header__inner{flex-direction:column;align-items:flex-start;gap:8px;min-height:72px;padding-block:12px}.site-nav{flex-wrap:wrap;gap:0}.contract-layout{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;gap:8px}.contract-page{padding-bottom:20px}.contract-toc-hint{grid-row:1;place-items:center;display:grid}.contract-toc-cta{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--muted);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;transition:border-color .2s,color .2s,background .2s;display:flex}.contract-toc-cta:hover,.contract-toc-cta:focus-visible{border-color:var(--gold);color:var(--gold);background:#c6a15b14}.contract-toc-cta__title{color:var(--gold);letter-spacing:.14em;font-size:13px;font-weight:800}.contract-toc-cta__hint{color:var(--muted);font-size:11px}.contract-toc-cta__arrow{margin-top:2px;font-size:10px;transition:transform .2s}.contract-toc-hint--open .contract-toc-cta__arrow{transform:rotate(180deg)}.contract-toc{grid-row:2;min-height:0;padding:14px}.contract-toc__header{display:none}.contract-toc__list{gap:2px;padding-bottom:4px;display:flex;overflow-x:auto}.contract-toc__item{flex:none}.contract-toc__item--level-3{padding-left:0}.contract-toc__button{min-height:44px;padding:5px 8px}.contract-toc--hidden{background:0 0;border:0;height:0;min-height:0;padding:0;display:block;overflow:hidden}.contract-toc--hidden .contract-toc__list,.contract-layout__toggle-zone{display:none}.contract-article{grid-row:3;padding:16px 16px 112px}.course-content-page{width:min(var(--max-width), calc(100% - 2 * var(--gutter)));padding-block:14px 12px}.course-content__actions,.course-content__heading{margin-bottom:8px}.course-content__heading h1{font-size:clamp(26px,8vw,38px)}.course-week-selector{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;margin-bottom:6px}.course-week-selector__arrow{width:44px;height:44px}.course-week-card__title{font-size:11px}.course-week-selector__list{gap:5px;padding:2px 1px 4px}.course-week-card{flex-basis:142px;min-height:52px;padding:7px 8px}.course-week-pane{border-radius:var(--radius-sm);padding:11px 10px 40px}.course-week-pane__header{padding-bottom:10px}.course-category{padding-block:9px}.course-card{padding:9px 10px}.course-card__status-row{display:block}.course-card__badge{margin-bottom:5px;display:inline-block}.course-card__actions{flex-direction:column;align-items:stretch;gap:5px}.course-content__link{text-align:center;width:fit-content;max-width:100%;min-height:44px}.hero{grid-template-rows:auto 160px;grid-template-columns:minmax(0,1fr);align-items:stretch;height:auto;min-height:0;margin-top:20px}.hero__copy{z-index:2;max-width:none;min-height:440px;padding:40px 32px 24px;position:relative}.hero__copy h1{height:auto;font-size:clamp(34px,11vw,52px);line-height:1;overflow:visible}.hero__copy .hero__description{height:auto;font-size:16px;overflow:visible}.hero__art{height:160px;min-height:0}.hero__art-symbol,.whatsapp-art-icon{width:110px}.hero-edge{opacity:1;background:0 0;width:44px;height:44px;top:auto;bottom:12px}.hero-edge--left{left:12px}.hero-edge--right{right:62px}.calendar-selection-page{padding-block:28px 48px}.calendar-selection-page .page-intro{margin-bottom:28px}.calendar-selection-page .page-intro h1{font-size:clamp(36px,11vw,52px)}.class-selector{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.class-card{padding:10px}.class-card__tile{aspect-ratio:16/10;margin-bottom:12px;font-size:clamp(28px,9vw,40px)}.calendar-page{padding-block:28px 48px}.calendar-heading{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:24px}.calendar-heading .button{width:fit-content}.calendar-heading .page-intro{max-width:none}.calendar-heading .page-intro h1{font-size:clamp(34px,10vw,48px)}.calendar-heading .lead{text-align:left}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:16px}.calendar-panel{border-radius:var(--radius-sm);min-width:0;padding:12px}.month-toolbar{margin-bottom:12px}.month-toolbar h2{text-align:center;font-size:18px}.round-button{flex:0 0 44px;width:44px;height:44px}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-weekdays{font-size:12px}.calendar-day{aspect-ratio:auto;border-radius:6px;height:clamp(44px,8vw,64px);min-height:44px;font-size:12px}.event-marker{bottom:4px;right:4px}.todo-panel{border-radius:var(--radius-sm);height:clamp(360px,60dvh,480px);padding:14px}.todo-scroll{overscroll-behavior:contain;padding-right:4px}.todo-item{padding:8px 10px;font-size:13px}.todo-item__time{font-size:12px}.todo-item__title{overflow-wrap:anywhere}.markdown-article{padding:22px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero__art-symbol,.whatsapp-art-icon,.hero__timer-ring{animation:none!important}.hero--transitioning .hero__copy,.hero--transitioning .hero__art{opacity:1;transition-duration:.01ms;transform:translate(0,0)}}
