@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f4f0e8;--ink:#171717;--orange:#f28c18;--line:#dcd6cb;--muted:#68645e;--serif:'Playfair Display',Georgia,serif;--sans:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{border:0;background:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12}h2{font-size:clamp(36px,4.1vw,59px);letter-spacing:-1.4px}em{color:var(--orange);font-weight:500}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bd690b;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:20px}.brand img{width:177px;height:58px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:10px;line-height:1.5;letter-spacing:1.8px;border-left:1px solid #c9c2b5;padding-left:20px}.nav{display:flex;align-items:center;gap:32px;font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.8px}.nav a:hover{color:#a65300}.nav-cta{border:1px solid #c97c22;padding:11px 18px;display:flex;align-items:center;gap:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:84px 7% 48px 9%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;color:#9d5a0e;text-transform:uppercase;margin-bottom:24px}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:9px}.tiny-line{width:25px;height:1px;background:var(--orange);display:inline-block}.hero h1{font-size:clamp(54px,5.7vw,84px);letter-spacing:-2.8px;line-height:1.04;margin:0 0 30px}.hero-copy>p{font-size:15px;line-height:1.9;max-width:470px;color:#514d47}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button,.outline-button{background:var(--orange);display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;font-weight:700;font-size:11px;letter-spacing:.7px;text-transform:uppercase;border:1px solid var(--orange);line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#e37b08;transform:translateY(-1px)}.outline-button{background:transparent;border-color:var(--line)}.outline-button:hover{border-color:var(--orange)}.text-link{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid #8d8273;padding-bottom:5px}.hero-note{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:47px}.note-dot{width:3px;height:3px;background:var(--orange);border-radius:50%}.hero-photo{position:relative;overflow:hidden;min-height:620px;background:#222}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:50% 40%;filter:saturate(.88)}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 25%,rgba(0,0,0,.65))}.photo-kicker{position:absolute;top:32px;left:38px;color:white;font-size:9px;letter-spacing:2px}.hero-caption{position:absolute;bottom:45px;left:42px;right:38px;color:white;display:flex;align-items:end;justify-content:space-between}.hero-caption>span{font-family:var(--serif);font-size:41px;line-height:1.12}.hero-caption em{color:white}.hero-caption>a{width:54px;height:54px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center}.intro-band{display:grid;grid-template-columns:repeat(4,1fr);background:#252523;color:#fff;padding:29px 5%;border-top:3px solid var(--orange);gap:24px}.intro-band>div+div{border-left:1px solid #ffffff25;padding-left:34px}.intro-band strong{font-family:var(--serif);font-size:25px;font-weight:500;display:block;line-height:1.35}.intro-band small{font-size:13px;font-family:var(--sans);font-weight:400;color:#d6d1c8}.intro-band span{font-size:8px;letter-spacing:1.2px;color:#c9c6c0;display:block;margin-top:8px}.section{padding:82px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{color:var(--muted);font-size:12px;line-height:1.9;max-width:320px}.filter-panel{background:#ebe6dc;padding:24px 28px;border:1px solid #e0d9cc}.filter-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.filter-label{font-size:9px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:9px}.reset{font-size:10px;display:flex;gap:6px;align-items:center;text-decoration:underline}.day-pills{display:flex;gap:9px;margin-bottom:24px}.day-pills button{background:var(--paper);border:1px solid #d7cebf;padding:9px 19px;font-size:11px;min-width:65px}.day-pills button.active{background:var(--ink);color:white;border-color:var(--ink)}.select-row{display:grid;grid-template-columns:1fr 1fr .85fr 1.2fr;gap:17px}.select-row label{font-size:9px;font-weight:600;letter-spacing:.3px;color:#625a4e}.select-wrap,.search-wrap{background:var(--paper);border:1px solid #d9d1c4;display:flex;align-items:center;margin-top:6px;position:relative}.select-wrap select{width:100%;border:0;appearance:none;background:transparent;padding:12px 32px 12px 13px;color:var(--ink);font-size:11px;cursor:pointer}.select-wrap svg{position:absolute;right:12px;pointer-events:none}.search-wrap{padding-left:12px}.search-wrap input{border:0;background:transparent;padding:12px 10px;width:100%;min-width:0;font-size:11px}.results-bar{display:flex;align-items:center;justify-content:space-between;margin:25px 0}.results-bar p{font-size:11px;color:var(--muted)}.results-bar strong{color:var(--ink);font-weight:700}.view-toggle{display:flex;gap:2px}.view-toggle button{padding:8px 12px;display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);border:1px solid transparent}.view-toggle .active{border-color:#bdb4a6;color:var(--ink);background:#ebe6dc}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.class-card{background:#fff;display:flex;flex-direction:column;border:1px solid #e2dcd2;transition:box-shadow .2s,transform .2s}.class-card:hover{box-shadow:0 8px 28px #332b1610;transform:translateY(-3px)}.card-image{display:block;position:relative;aspect-ratio:1.55;width:100%;padding:0;overflow:hidden;background:#ded8cc}.card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.class-card:hover .card-image>img{transform:scale(1.04)}.mode-badge{position:absolute;left:15px;top:15px;background:#f4f0e8ee;padding:5px 8px;display:flex;align-items:center;gap:5px;font-size:8px;font-weight:700;letter-spacing:.6px}.new-badge{position:absolute;right:15px;top:15px;background:var(--orange);padding:5px 8px;font-size:8px;font-weight:700;letter-spacing:.6px}.image-arrow{position:absolute;right:15px;bottom:15px;width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff90;color:white;background:#0003}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.card-form{font-size:8px;text-transform:uppercase;letter-spacing:.8px;color:#a95c07;font-weight:600;margin-bottom:11px}.card-form span{color:#80786a}.card-body h3{font-size:26px;letter-spacing:-.4px}.card-body h3 button{font:inherit;text-align:left;padding:0;line-height:1.18}.faculty{font-size:11px;color:#665d50;margin:9px 0 15px}.description{font-size:11px;line-height:1.85;color:#6c665d;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:22px}.schedule{margin-top:auto;display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.7;color:#4f4c45;border-top:1px solid #eee8de;padding-top:16px;min-height:51px}.schedule svg{flex:none;margin-top:1px}.card-bottom{margin-top:18px;padding-top:15px;border-top:1px solid #eee8de;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:9px;color:#7c7367}.card-bottom strong{color:var(--ink);font-size:16px;font-weight:600}.card-bottom button{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;padding:0;color:var(--ink)}.fee-note{margin-top:25px;font-size:10px;color:#80796e;max-width:900px}.empty{text-align:center;padding:65px 20px;background:#fff}.empty>svg{color:#ab6a1e;margin:0 auto 20px}.empty h3{font-size:30px}.empty p{margin:15px auto 26px;color:var(--muted)}.timetable-day{border:1px solid var(--line);margin-bottom:18px;background:#fff}.timetable-day h3{background:#eae4da;display:flex;justify-content:space-between;padding:15px 22px;font-size:23px}.timetable-day h3 span{font-family:var(--sans);font-size:10px;align-self:center;color:var(--muted)}.time-row{display:grid;grid-template-columns:230px 1fr 80px 30px;width:100%;text-align:left;align-items:center;gap:20px;padding:20px 24px;border-top:1px solid #eee8de}.time-row:hover{background:#fff7e9}.time-row .time{font-size:11px}.time-row strong{font-size:13px}.time-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.time-mode{font-size:10px}.no-day{padding:22px;color:var(--muted);font-size:12px}.unscheduled{padding:25px;background:#eae4da}.unscheduled h3{font-size:24px;margin-bottom:16px}.unscheduled button{border:1px solid #bcb4a6;padding:10px 18px;margin:4px 10px 4px 0;display:inline-flex;align-items:center;gap:18px;font-size:12px}.about-section{display:grid;grid-template-columns:1fr 1fr;background:#e8e1d5}.about-photo{position:relative;min-height:680px}.about-photo img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.75)}.about-photo span{position:absolute;bottom:32px;left:35px;color:white;font-size:10px;letter-spacing:2px;text-shadow:0 1px 5px #000}.about-copy{padding:64px 10%}.about-copy h2{font-size:46px;margin-bottom:24px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#625d54;margin-bottom:26px}.benefit{display:flex;gap:20px;border-top:1px solid #cfc6b7;padding:18px 0}.benefit>span{font-family:var(--serif);font-size:20px;color:#a9600a}.benefit h4{font-size:12px;font-weight:600;margin-bottom:5px}.benefit p{font-size:11px;color:#6b645a;line-height:1.8}.about-copy>.text-link{margin-top:18px}.join-section{text-align:center}.join-section .eyebrow{margin-bottom:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:35px;margin:44px 0 55px}.steps>div{border-top:1px solid #b6a994;padding-top:23px}.steps span{font-size:9px;letter-spacing:1.6px;color:#9e570a;font-weight:700}.steps h3{font-size:28px;margin:15px 0}.steps p{font-size:12px;line-height:1.8;color:var(--muted);max-width:320px}.faq{text-align:left;max-width:880px;margin:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:19px 0;cursor:pointer;font-size:13px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary span{color:#ad640a;font-size:20px}details p{padding:0 35px 23px 0;font-size:12px;color:var(--muted);line-height:1.9}.visit{background:#252523;color:white;display:flex;justify-content:space-between;gap:40px;align-items:center;border-top:3px solid var(--orange)}.visit h2{font-size:48px;margin-bottom:20px}.visit .eyebrow{color:#eda348;margin-bottom:18px}.visit p:not(.eyebrow){font-size:12px;color:#c7c2b9;margin-bottom:22px}.visit .text-link{border-color:#7a7369}.visit-contact{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:13px}.visit-contact .button{color:#171717;margin-bottom:8px}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px}footer>div:first-child strong{font-size:21px;letter-spacing:1px}footer>div:first-child span{display:block;font-size:9px;color:var(--muted)}footer p{font-family:var(--serif);font-size:18px;color:#766951}footer>div:last-child{display:flex;gap:20px;align-items:center}footer>div:last-child span{color:var(--muted)}.class-dialog{padding:0;border:0;width:min(880px,calc(100vw - 36px));max-height:90vh;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 30px 150px #0005}.class-dialog::backdrop{background:#16120dd0;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;background:var(--paper);display:grid;place-items:center;z-index:2}.dialog-photo{height:280px;position:relative;background:#ddd}.dialog-photo img{width:100%;height:100%;object-fit:cover}.dialog-photo span{position:absolute;bottom:16px;left:30px;font-size:9px;letter-spacing:1.2px;color:white;background:#111c;padding:8px 12px}.dialog-copy{padding:34px 42px}.dialog-copy .eyebrow{margin-bottom:13px}.dialog-copy h2{font-size:42px}.detail-faculty{color:#9d5a0e;font-size:13px;margin:12px 0 24px}.dialog-copy>p:not(.eyebrow):not(.detail-faculty):not(.small-text){font-size:13px;color:#625b51}.detail-schedule{margin:27px 0;padding:22px;background:#e9e3d8}.detail-schedule h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.detail-schedule>div{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;gap:20px}.detail-schedule strong{font-weight:500}.detail-schedule small{font-size:9px;color:#756b5b;display:block;margin-top:12px}.detail-fees{display:flex;gap:40px}.detail-fees strong{font-family:var(--serif);font-size:32px;display:block}.detail-fees span{font-size:10px;color:var(--muted)}.small-text{font-size:10px;color:#756b5b;margin:16px 0 24px}.full{width:100%;margin-bottom:10px}.registration-note{display:block;font-size:10px;color:var(--muted);margin-top:10px}.access-page,.error-page{max-width:700px;margin:90px auto;padding:30px}.access-page h1,.error-page h1{font-size:45px;margin:25px 0}.access-page p{margin:20px 0}.access-page .eyebrow{margin-top:45px}
/* Content management */
.admin-shell{background:#f7f5f0;min-height:100vh}.admin-header{height:80px;padding:0 32px;display:flex;justify-content:space-between;align-items:center;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:25}.admin-brand{font-size:20px;font-weight:700;letter-spacing:1px}.admin-brand span{display:block;font-size:8px;color:#94601d;letter-spacing:2px}.admin-header>div{display:flex;gap:25px;align-items:center}.preview-link{display:flex;gap:8px;align-items:center;font-size:11px}.admin-status{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:10px 32px;background:#ede8de}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr)}.admin-sidebar{border-right:1px solid var(--line);padding:25px 18px;background:#efeae1}.side-settings{display:flex;align-items:center;gap:12px;width:100%;padding:13px;font-size:12px;text-align:left}.side-settings.selected{background:#222;color:#fff}.side-title{display:flex;justify-content:space-between;align-items:center;margin:26px 10px 15px;font-size:9px;letter-spacing:1px}.admin-search{display:flex;background:#fff;border:1px solid var(--line);align-items:center;padding:0 10px}.admin-search input{border:0;padding:10px;width:100%;min-width:0;font-size:11px}.class-list{margin:16px 0 24px}.class-list>button{display:block;width:100%;text-align:left;padding:13px;border-bottom:1px solid #ddd5c7;line-height:1.5}.class-list>button.selected{background:#fff;border-left:3px solid var(--orange)}.class-list>button span{font-weight:600;font-size:11px;display:block}.class-list>button small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.class-list i{font-size:8px;font-style:normal;color:#777;display:flex;align-items:center;gap:5px;margin-top:7px}.admin-editor{max-width:1000px;padding:40px 6%;width:100%;margin:auto}.admin-editor h1{font-size:39px;letter-spacing:-1px}.admin-editor .eyebrow{margin-bottom:12px}.admin-help{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 22px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.status-tag{padding:5px 11px;border:1px solid #d2b47d;font-size:9px;white-space:nowrap;background:#fff3d9}.status-tag.hidden{background:#ddd;border-color:#ccc}.editor-section{background:#fff;border:1px solid var(--line);padding:27px;margin:25px 0}.editor-section h3{font-size:24px;margin-bottom:23px}.admin-field{font-size:11px;font-weight:600;display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.admin-field input,.admin-field textarea,.admin-field select,.session-editor input,.session-editor select{width:100%;background:#fcfbf8;border:1px solid #d9d2c7;border-radius:0;padding:10px 12px;font-size:12px;font-weight:400;color:#242424}.admin-field textarea{resize:vertical}.admin-field small{font-weight:400;color:#81766a;font-size:9px}.admin-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.image-edit{display:flex;align-items:center;gap:25px;margin-bottom:25px}.image-edit img{width:180px;height:135px;object-fit:cover}.image-edit p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px}.upload-control{background:#ede7dc;border:1px dashed #b6a78b;padding:15px;display:inline-flex;gap:10px;align-items:center;font-size:11px;cursor:pointer;position:relative}.upload-control input{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer}.admin-image-preview{height:220px;width:100%;object-fit:cover;margin-bottom:18px}.editor-section>.upload-control{margin-bottom:20px}.section-line{display:flex;align-items:center;justify-content:space-between}.section-line h3{margin-bottom:0}.small-button{display:flex;align-items:center;gap:6px;background:#eee7db;font-size:10px;padding:8px 12px}.session-editor{display:grid;grid-template-columns:1.1fr 1fr 1fr 25px;gap:12px;align-items:end;margin-bottom:15px}.session-editor label{font-size:9px;display:flex;flex-direction:column;gap:5px}.session-editor button{height:40px;padding:0}.editor-save{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0}.editor-save>span{font-size:11px;color:var(--muted)}.admin-alert{padding:16px 32px;font-size:12px;display:flex;justify-content:space-between;gap:20px}.admin-alert.error{background:#ffe6dd;color:#902c0e}.admin-alert.success{background:#e1eddb;color:#315b21}.admin-loading{padding:70px;text-align:center}
@media(min-width:1600px){.hero{min-height:700px}.hero-photo{min-height:700px}.hero-copy{padding-left:12%}.section{padding-left:8%;padding-right:8%}}
@media(max-width:1050px){.header{padding:0 3%;height:78px}.brand span{display:none}.nav{gap:20px;font-size:10px}.hero{min-height:530px}.hero-photo{min-height:530px}.hero-copy{padding:55px 7%}.hero h1{font-size:57px}.hero-copy>p{font-size:13px}.hero-actions{gap:18px}.hero .button{padding:14px 15px;font-size:9px}.hero-caption>span{font-size:33px}.hero-note{font-size:7px}.intro-band strong{font-size:21px}.intro-band>div+div{padding-left:20px}.class-grid{gap:20px}.card-body{padding:19px}.card-body h3{font-size:24px}.card-bottom{flex-wrap:wrap;gap:10px}.section-heading h2{font-size:44px}.about-copy{padding:45px 8%}.about-copy h2{font-size:38px}.about-photo{min-height:700px}.select-row{grid-template-columns:1fr 1fr}.hero-caption{left:30px;right:28px}.admin-layout{grid-template-columns:240px 1fr}.admin-editor{padding:35px 5%}}
@media(max-width:760px){.header{height:74px;padding:0 20px}.brand img{width:150px;height:51px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:22px;border-bottom:1px solid var(--line)}.nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.hero{grid-template-columns:1fr}.hero-copy{padding:49px 25px 38px}.hero h1{font-size:clamp(51px,10.2vw,74px);letter-spacing:-2px;margin-bottom:24px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:22px}.hero-copy>p{font-size:13px;max-width:460px}.hero-actions{margin-top:25px;gap:27px}.hero .button{padding:16px 20px;font-size:10px}.hero-note{margin-top:28px;font-size:7px}.hero-photo{min-height:420px}.photo-kicker{top:25px;left:25px;font-size:8px}.hero-caption{bottom:30px;left:25px;right:25px}.hero-caption>span{font-size:36px}.intro-band{grid-template-columns:1fr 1fr;padding:25px;gap:24px 14px}.intro-band>div+div{padding-left:0;border:0}.intro-band>div:nth-child(2n){border-left:1px solid #ffffff20;padding-left:20px}.intro-band strong{font-size:22px}.intro-band span{font-size:7px;letter-spacing:.8px}.intro-band small{font-size:10px}.section{padding:51px 20px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:40px}.section-heading>p{margin-top:17px;font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.7px}.filter-panel{padding:19px 14px}.filter-label{font-size:8px;letter-spacing:.6px;gap:6px}.filter-top{gap:10px}.reset{font-size:9px}.day-pills{gap:5px;flex-wrap:wrap;margin-bottom:19px}.day-pills button{padding:7px 12px;min-width:0;font-size:10px}.select-row{gap:13px 10px}.select-row label{font-size:8px}.select-wrap select,.search-wrap input{font-size:10px;padding-top:11px;padding-bottom:11px}.results-bar{margin:19px 0}.results-bar p{font-size:10px}.view-toggle button{padding:7px 8px;font-size:9px;gap:4px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.card-image{aspect-ratio:1.15}.card-body{padding:16px 13px}.card-body h3{font-size:22px}.card-form{font-size:7px;line-height:1.8;margin-bottom:7px}.faculty{font-size:10px;margin:8px 0 12px}.description{font-size:10px;line-height:1.8;margin-bottom:15px}.schedule{font-size:9px;gap:5px}.card-bottom strong{font-size:15px}.card-bottom button{font-size:9px}.mode-badge{top:9px;left:9px;padding:4px 6px;font-size:7px}.new-badge{right:8px;top:auto;bottom:10px;font-size:7px}.image-arrow{display:none}.about-section{grid-template-columns:1fr}.about-photo{min-height:410px}.about-copy{padding:43px 25px}.about-copy h2{font-size:40px}.about-copy>p:not(.eyebrow){font-size:12px}.join-section h2{font-size:40px}.steps{grid-template-columns:1fr;gap:25px;margin:32px 0 40px}.steps>div{padding-top:20px}.steps h3{font-size:27px;margin:12px 0}.steps p{max-width:100%}.faq summary{font-size:12px}.visit{display:block}.visit h2{font-size:40px}.visit-contact{margin-top:32px}.visit p:not(.eyebrow){line-height:1.8}.visit .button{padding:15px 22px}footer{padding:30px 20px;flex-wrap:wrap}footer>div:last-child{width:100%;justify-content:space-between;font-size:9px;gap:10px}footer p{font-size:15px}.time-row{grid-template-columns:1fr 30px;gap:6px;padding:17px}.time-row .time{grid-column:1;font-size:10px;color:#9b580a}.time-row>span:nth-child(2){grid-column:1}.time-row .time-mode{grid-column:1;font-size:9px}.time-row>svg{grid-column:2;grid-row:2}.timetable-day h3{font-size:23px;padding:14px 17px}.dialog-photo{height:220px}.dialog-copy{padding:27px 22px}.dialog-copy h2{font-size:34px}.detail-schedule{padding:15px}.detail-schedule>div{font-size:10px}.detail-schedule small{font-size:8px}.dialog-photo span{left:18px;font-size:8px}.class-dialog{width:calc(100vw - 24px)}.class-dialog .button,.class-dialog .outline-button{font-size:9px;padding:14px 12px;gap:12px}.admin-header{padding:0 15px}.admin-brand{font-size:16px}.admin-header>div{gap:8px}.admin-header .button{padding:12px 13px;font-size:9px;gap:8px}.preview-link{font-size:9px;gap:3px}.admin-status{padding:10px 15px;font-size:8px}.admin-layout{grid-template-columns:1fr}.admin-sidebar{border:0;padding:18px}.class-list{display:flex;overflow:auto;max-height:135px}.class-list>button{min-width:170px;border:1px solid var(--line)}.admin-sidebar>.outline-button{padding:10px}.side-title{margin-top:18px}.admin-editor{padding:25px 18px}.admin-editor h1{font-size:32px}.editor-section{padding:20px}.admin-fields-two{grid-template-columns:1fr}.image-edit{display:block}.image-edit img{width:100%;height:190px;margin-bottom:16px}.session-editor{grid-template-columns:1fr 1fr 1fr 20px;gap:6px}.session-editor input,.session-editor select{padding:8px 4px;font-size:10px}.editor-save>span{font-size:9px}.editor-save .button{font-size:9px;padding:13px;gap:8px}.access-page{margin:40px auto;padding:25px}.admin-alert{padding:15px}}
@media(max-width:420px){.class-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.6}.card-body{padding:23px}.card-body h3{font-size:27px}.card-form{font-size:8px}.description{font-size:11px}.faculty{font-size:11px}.schedule{font-size:10px}.card-bottom{flex-wrap:nowrap}.card-bottom button{font-size:10px}.hero h1{font-size:51px}.hero-photo{min-height:370px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.auth-card{max-width:620px;margin:7vh auto;padding:36px;background:#fff;border:1px solid #ded8cc}.auth-card h1{font:42px Georgia,serif}.auth-card .admin-field{margin:20px 0}.auth-card p{line-height:1.7}.auth-card input{width:100%;padding:12px}
