@font-face{font-family:Cormorant;src:url('/assets/fonts/Cormorant_Garamond-0.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/fonts/Cormorant_Garamond-2.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/fonts/Cormorant_Garamond-Italic.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-0.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-2.ttf') format('truetype');font-weight:600 800;font-display:swap}

:root{color-scheme:light;--paper:#f6f2fc;--white:#fffefe;--ink:#443353;--amethyst:#6c4c88;--muted:#746780;--lavender:#b7a1d3;--lilac:#e3d7f0;--gold:#d1bd98;--line:#ded3ec;--surface:#ffffffdb;--tint:#efe7f8;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--radius:24px;--header-height:88px}
*{box-sizing:border-box}html{scroll-padding-top:108px}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 3% 13%,#ddcdf366,transparent 42%),radial-gradient(ellipse at 99% 40%,#eee2ff99,transparent 46%),linear-gradient(145deg,#fbf9fe,#f0e9fa 55%,#fcfaff);font:14px/1.8 var(--sans)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--amethyst);outline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(36px,5.5vw,76px)}h2{font-size:clamp(26px,3.7vw,49px)}h3{font-size:clamp(21px,2.5vw,32px)}p{color:var(--muted)}p+p{margin-top:1.3em}[hidden]{display:none!important}small{font-size:11px}
.shell{width:min(1220px,calc(100% - clamp(32px,6vw,80px)));margin-inline:auto}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;font:600 11px/1.5 var(--sans);color:var(--amethyst);padding:8px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#bbaacf}.text-link:hover{color:#49345d}
.error,.notice{padding:15px 18px;background:#eee8f6;border:1px solid #d3c8df;border-radius:12px;font-size:12px}.error{color:#873e51;background:#fcf0f2;border-color:#e4bcc6}.error:empty,.status:empty{display:none}.status{margin:12px 0;color:var(--amethyst);font-size:12px;white-space:pre-line}.empty{padding:22px 18px;border:1px solid var(--line);border-radius:14px;text-align:center;font-size:12px;color:var(--muted);background:#f7f5fb}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #c7b6d8;border-radius:999px;padding:11px 22px;color:var(--amethyst);font:600 11px/1.5 var(--sans);letter-spacing:.01em;background:#ffffffb5;transition:background .18s,color .18s,border-color .18s}.button:hover{background:#eee7f5;border-color:#947fa8}.button.primary{background:linear-gradient(125deg,#806299,#62467e);border-color:#76568f;color:white}.button.primary:hover{background:#513f65}.button.small{padding:8px 16px;min-height:36px;font-size:10px}.button.danger{color:#873e51;border-color:#c99ca7}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.skip-link{position:fixed;z-index:1000;top:-100px;left:20px;background:white;padding:10px 20px;border-radius:10px}.skip-link:focus{top:15px}.boot-screen{min-height:100svh;display:grid;place-content:center;text-align:center;font:600 45px var(--serif);color:var(--amethyst)}.boot-screen small{display:block;font:400 14px var(--sans);margin-top:10px}
/* The fixed navigation is a sibling of this blurred masthead. */
.site-header{position:sticky;top:0;z-index:70;background:#fcfaffed;backdrop-filter:blur(18px);border-bottom:1px solid #e5dcef}.header-inner{min-height:var(--header-height);width:min(1370px,calc(100% - 56px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand svg{width:36px;height:34px;stroke-width:1.4;color:#887098}.brand strong{font:600 25px/1 var(--serif);letter-spacing:0}.brand small{display:block;font:400 8px/1.5 var(--sans);letter-spacing:.12em;margin-top:6px;color:var(--muted);text-transform:uppercase}.desktop-nav{display:flex;gap:2px;align-items:center;justify-content:center}.desktop-nav a{font-size:11px;font-weight:600;white-space:nowrap;padding:9px 12px;border:1px solid transparent;border-radius:999px;color:#6c5a7b}.desktop-nav a:hover{background:#eee7f7}.desktop-nav a[aria-current=page]{border-color:#cfbcdf;background:linear-gradient(145deg,#fff,#e8dcf4);color:#624578}.header-portal{min-height:37px;padding:9px 17px;font-size:10px;white-space:nowrap;background:linear-gradient(125deg,#806299,#62467e);border-color:#76568f;color:white}.header-portal:hover{background:#513f65;color:white}.menu-toggle{display:none;font-size:11px;font-weight:600;border:1px solid #d9cce5;background:#ffffffc9;border-radius:999px;padding:9px 16px;min-height:39px}.menu-toggle svg{width:15px;height:15px;margin-left:8px;vertical-align:middle}.mobile-nav{display:none}.portal-label-short,.menu-label-short{display:none}
/* A single entrance; the arrangement stays left/right at every width. */
.entrance-page{padding:clamp(12px,2vw,26px) 0}.hero{position:relative;width:min(1380px,calc(100% - clamp(24px,4vw,56px)));margin:auto;aspect-ratio:1.9;min-height:360px;display:flex;align-items:center;overflow:hidden;isolation:isolate;border-radius:clamp(18px,3.5vw,48px) clamp(18px,3.5vw,48px) clamp(50px,12vw,170px) clamp(18px,3.5vw,48px);border:1px solid #fff;background:#e5daf3;box-shadow:inset 0 1px 0 #fff,0 18px 55px #76539112}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fbf8fff7 0%,#f8f1ffe6 26%,#eee2f89e 45%,#e6d9f229 67%,transparent 87%);z-index:-1;pointer-events:none}.hero:before{content:'';position:absolute;inset:clamp(6px,1vw,13px);border:1px solid #ffffff7d;border-radius:inherit;pointer-events:none}.hero-inner{width:100%;padding:clamp(25px,6vw,88px) 7%;position:relative}.hero-copy{width:51%;max-width:620px}.hero-mark{width:clamp(28px,4vw,54px);height:clamp(25px,3.6vw,48px);color:#a18ab7;margin-bottom:clamp(12px,1.7vw,25px)}.hero h1{font-size:clamp(32px,8vw,112px);line-height:1;letter-spacing:-.045em;white-space:nowrap;color:#4a335e}.hero-motto{font:italic clamp(19px,3vw,40px)/1.25 var(--serif);color:#8c70a5;margin-top:clamp(9px,1vw,15px)}.hero-description{font:400 clamp(10px,1.06vw,14px)/1.85 var(--sans);max-width:340px;margin-top:clamp(14px,1.8vw,26px);color:#79668a}.hero .button{margin-top:clamp(17px,2.3vw,34px);min-height:clamp(36px,3.5vw,48px);padding:clamp(9px,1vw,14px) clamp(14px,2.1vw,30px);font-size:clamp(10px,.9vw,12px)}
/* Public visual grids keep their column order and crop anchors on phones. */
.house-page{padding-bottom:clamp(30px,5vw,70px)}.page-heading{padding:clamp(30px,4.8vw,64px) 0 clamp(25px,3vw,42px);text-align:center}.page-heading h1{max-width:1000px;margin:auto;color:#654678}.page-heading p{font-size:13px;max-width:650px;margin:15px auto 0}.page-body{padding-bottom:clamp(25px,4vw,60px)}
.welcome-section,.founder-feature{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(17px,5vw,66px);align-items:center;margin-bottom:clamp(32px,6vw,78px);padding:clamp(16px,3.5vw,45px);background:linear-gradient(135deg,#ffffffc9,#f5edffc2);border:1px solid #fffffff0;border-radius:clamp(20px,4vw,52px)}.welcome-art{padding:clamp(3px,.65vw,8px);border:1px solid #fff;background:linear-gradient(125deg,#fff,#ddcfee 50%,#fff6e8);border-radius:50% 50% 20px 20px / 32% 32% 20px 20px;box-shadow:inset 0 1px 0 #fff,0 10px 30px #8866a316}.welcome-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:inherit}.welcome-copy,.founder-copy{min-width:0}.welcome-copy h2{font-size:clamp(23px,3.6vw,48px);font-style:italic;margin-bottom:clamp(15px,2vw,26px)}.welcome-copy p,.founder-copy p{font:400 clamp(10px,1.03vw,14px)/1.95 var(--sans)}.founder-feature{background:transparent;border:0;padding-inline:clamp(7px,2vw,25px)}.founder-photo{width:100%;aspect-ratio:3/4;object-fit:cover;padding:clamp(4px,.7vw,9px);border:1px solid #dbcde9;border-radius:50% 50% 22px 22px / 30% 30% 22px 22px;background:linear-gradient(140deg,#fff,#dbc9e9 55%,#fff)}.founder-caption{font:600 clamp(9px,1vw,13px)/1.5 var(--sans);margin-top:14px;text-align:center}.founder-caption small{font-size:clamp(8px,.8vw,10px);font-weight:400;color:var(--muted)}.founder-copy h2{font-size:clamp(25px,3.3vw,45px);margin-bottom:clamp(15px,2vw,26px)}
.identity-section{padding:0 0 clamp(35px,6vw,78px)}.identity-section>h2,.explore-section>h2{text-align:center;margin-bottom:clamp(20px,3vw,35px)}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.6vw,20px)}.identity-card{padding:clamp(12px,2.3vw,30px);border:1px solid #ffffffd4;background:linear-gradient(135deg,#ffffffdf,#ede2f5a6);border-radius:clamp(14px,2.5vw,30px);min-width:0}.identity-symbol{width:clamp(28px,3.8vw,48px);height:clamp(28px,3.8vw,48px);display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#fff,#e3d2f0);border:1px solid #fff;color:#9473ad;margin-bottom:clamp(10px,1.5vw,20px)}.identity-symbol svg{width:65%;height:65%}.identity-card h3{font:600 clamp(8px,.8vw,11px)/1.5 var(--sans);color:var(--muted)}.identity-card strong{display:block;font:400 clamp(17px,2.1vw,29px)/1.12 var(--serif);margin:8px 0 12px;color:#74528c;overflow-wrap:anywhere}.identity-card p{font:400 clamp(9px,.95vw,12px)/1.85 var(--sans)}
.explore-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.6vw,20px)}.explore-card{grid-column:span 2;min-width:0;text-align:center;padding:clamp(5px,.7vw,9px) clamp(5px,.7vw,9px) clamp(15px,2vw,26px);background:linear-gradient(140deg,#fff,#f4ecfb);border:1px solid #fff;border-radius:clamp(35px,6vw,85px) clamp(35px,6vw,85px) clamp(14px,2vw,27px) clamp(14px,2vw,27px);overflow:hidden;transition:border-color .2s,transform .2s}.explore-card:nth-last-child(-n+2){grid-column:span 3}.explore-card:hover{border-color:#cbb6df;transform:translateY(-2px)}.explore-image{aspect-ratio:1.55;overflow:hidden;border-radius:clamp(30px,5.5vw,78px) clamp(30px,5.5vw,78px) 10px 10px;margin-bottom:clamp(13px,1.7vw,21px)}.explore-image img{width:100%;height:100%;object-fit:cover}.explore-card:nth-child(2) img{object-position:50% 18%}.explore-card h3{font-size:clamp(18px,2.3vw,32px);margin:0 4px 8px}.explore-card p{font:400 clamp(9px,.95vw,12px)/1.8 var(--sans);margin:0 clamp(3px,1vw,13px)}
/* One room stage; the selected room is always beside its caption. */
.tour-controls{margin-bottom:clamp(18px,2.3vw,30px)}.room-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,1vw,12px)}.room-tabs button{font:600 clamp(9px,.9vw,12px)/1.5 var(--sans);border:1px solid #d9c9e8;padding:clamp(10px,1.1vw,15px) clamp(7px,1.3vw,18px);border-radius:999px;background:#ffffffa3;min-height:42px}.room-tabs button:hover{border-color:#b69acb}.room-tabs button[aria-selected=true]{border-color:#8f71a5;background:linear-gradient(125deg,#9172a8,#6c4c88);color:white}.tour-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border:1px solid #ffffffef;border-radius:clamp(20px,4vw,50px);overflow:hidden;background:linear-gradient(135deg,#fff,#eee3f8);margin-bottom:clamp(30px,5vw,65px)}.tour-stage>img{width:100%;height:100%;aspect-ratio:1.2;object-fit:cover;min-height:clamp(250px,34vw,460px)}.tour-caption{padding:clamp(15px,3vw,40px);min-width:0;align-self:center}.tour-caption h2{font-size:clamp(25px,3.3vw,46px);margin-bottom:clamp(14px,2vw,25px)}.tour-caption p{font:400 clamp(10px,1.03vw,14px)/1.9 var(--sans)}
/* Sculpted pearl portraits preserve exactly 1–2–3–2. */
.people-layout{display:block}.leadership-gallery{max-width:920px;margin:auto;container-type:inline-size}.leadership-intro{max-width:660px;margin:0 auto clamp(25px,4vw,48px);text-align:center;font:400 clamp(11px,1vw,13px)/1.9 var(--sans)}.staff-row{display:flex;justify-content:center;gap:3.8cqw;margin-bottom:clamp(22px,3.6vw,45px)}.person-card{flex:none;min-width:0;width:28cqw;max-width:240px;text-align:center}.staff-row:first-of-type .person-card{width:31cqw;max-width:265px}.portrait{position:relative;width:100%;aspect-ratio:1;isolation:isolate}.portrait-photo{position:absolute;left:23.3%;top:18%;width:53.5%;height:64.1%;overflow:hidden;border-radius:50%;background:#e8dcef}.portrait-photo>img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#b8a0cc;background:radial-gradient(ellipse at 35% 25%,#fff,#e9ddf4 60%,#cbb6df)}.portrait-placeholder svg{width:42%;height:47%;opacity:.8}.portrait-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 3px #74508e0f)}.person-caption{position:relative;width:96%;margin:-3px auto 0;z-index:2}.person-card h3{display:grid;place-items:center;min-height:clamp(50px,5vw,70px);padding:clamp(7px,1vw,13px) clamp(7px,1.2vw,16px);font-size:clamp(14px,2vw,26px);line-height:1.1;overflow-wrap:anywhere;color:#6b4d82;border:1px solid #ded0e9;border-radius:20px 20px 32px 32px / 30% 30% 55% 55%;background:linear-gradient(135deg,#fff 12%,#f6f0fc 50%,#e3d5ef);box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #ba9cc924}.person-card p{font:600 clamp(8px,.85vw,11px)/1.7 var(--sans);color:#9376aa;margin-top:clamp(8px,1vw,13px)}
.directory{margin:clamp(32px,5vw,65px) auto 0;max-width:1060px;padding:clamp(20px,3vw,38px);border:1px solid #fff;border-radius:clamp(20px,3vw,38px);background:#ffffffad}.directory h2{margin-bottom:12px}.directory>p{font-size:clamp(11px,1vw,13px);margin-bottom:20px}.student-controls{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:20px}.student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.5vw,18px)}.student-grid>.empty{grid-column:1/-1}.student-card{text-align:center;min-width:0}.student-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:15px}.student-card h3{font:600 clamp(9px,.95vw,12px)/1.6 var(--sans);margin-top:9px;overflow-wrap:anywhere}.student-placeholder{aspect-ratio:4/5;background:#eee3f6;display:grid;place-items:center;color:#ab8dc0;border-radius:15px}.student-placeholder svg{width:35%}
/* The butterfly centre stays beyond the left edge at every viewport. */
.reputation-feature{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);overflow:hidden;isolation:isolate;border-radius:clamp(24px,5vw,70px);border:1px solid #ffffffeb;background:linear-gradient(120deg,#faf7ff36,#e6d7f3bb 45%,#fcf9ffb3);min-height:clamp(300px,45vw,600px)}.butterfly-image{position:absolute;left:-46%;width:90%;max-width:none;top:clamp(23px,4vw,55px);opacity:.78;pointer-events:none;z-index:-1}.reputation-copy{grid-column:2;align-self:center;padding:clamp(23px,4vw,55px) clamp(17px,3vw,40px) clamp(23px,4vw,55px) clamp(5px,1vw,14px)}.reputation-copy p{font:400 clamp(10px,1.05vw,14px)/1.95 var(--sans);color:#7a638b}.records-section{margin-top:clamp(30px,4vw,55px)}.records-section h2{margin-bottom:clamp(20px,2.5vw,33px)}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vw,20px)}.notice-card{padding:clamp(19px,2.3vw,30px);border:1px solid var(--line);border-radius:22px;background:var(--surface);min-width:0}.notice-card h3{margin:9px 0 13px}.notice-card p{white-space:pre-line;overflow-wrap:anywhere;font-size:12px}.notice-card small{color:var(--amethyst);font-size:10px}.preserve-lines{white-space:pre-line}
/* Rules are real lists, reset per category, with nested sanctions A–C. */
.reading-page{max-width:1000px}.article-section{padding:clamp(20px,3.8vw,46px);margin-bottom:clamp(18px,3vw,36px);border:1px solid #ffffffed;border-radius:clamp(18px,3vw,34px);background:#ffffffb0}.article-section h2{font-size:clamp(25px,3vw,41px);margin-bottom:clamp(20px,2.5vw,30px);line-height:1.15}.article-section h3{font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:28px 0 15px}.article-section p,.charter-intro p,.charter-compliance p{font:400 clamp(12px,1.05vw,14px)/1.95 var(--sans)}.activity+.activity{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.activity h2{margin-top:20px;margin-bottom:15px}.charter-intro{padding:0 clamp(8px,2vw,25px);margin-bottom:clamp(25px,3vw,40px)}.charter-category h2{color:#77518e}.chapter-number{color:#a68bb7;font-style:italic;margin-right:5px}.rule-points{padding-left:1.65em;margin:20px 0 0;font:400 clamp(12px,1.05vw,14px)/1.95 var(--sans);color:var(--muted)}.rule-points li{padding-left:.45em;margin-bottom:1.2em}.rule-points li:last-child{margin-bottom:0}.rule-points li::marker{color:#9275a7;font-weight:600}.charter-subsection{margin-top:30px;padding-top:4px}.charter-subsection+.charter-subsection{border-top:1px solid var(--line);padding-top:10px}.charter-compliance{padding:clamp(21px,3vw,38px);border-left:3px solid #bba0d0;background:#e7d9f280;border-radius:0 22px 22px 0}.table-scroll{overflow:auto;max-width:100%;margin:25px 0;border:1px solid var(--line);border-radius:15px;background:white}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.reading-page table{table-layout:fixed}th,td{padding:clamp(9px,1.3vw,16px);border-bottom:1px solid #e7dfef;vertical-align:top;overflow-wrap:anywhere}tr:last-child>td,tr:last-child>th{border-bottom:0}th{font-weight:600;color:var(--amethyst);background:#f0e9f8}.table-scroll caption{padding:13px 16px;text-align:left;background:#f9f5fe;font-size:11px;color:#8a6e9f}
.portal-page{min-height:75svh;padding:55px 24px 75px;background:linear-gradient(#ede8f4eb,#f6f2fced),url('/assets/chateau.webp') center/cover}.portal-card{max-width:460px;margin:0 auto;padding:34px;background:#fffffff0;border:1px solid #e0d6ed;border-radius:28px;box-shadow:inset 0 1px 0 #fff,0 16px 60px #7550920d;backdrop-filter:blur(18px)}.portal-card>svg{width:38px;height:34px;color:var(--amethyst);margin-bottom:17px}.portal-card h1{font-size:45px;margin:9px 0 17px}.portal-card>p{font-size:12px;line-height:1.85}.portal-card form{margin-top:25px}.portal-card form>.button{width:100%;margin-top:20px}.portal-card .text-link{margin-top:19px}.field{margin:15px 0;min-width:0}.field label,label.field-label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.field input,.field textarea,.field select,input.control,select.control,textarea.control{width:100%;min-height:44px;padding:11px 13px;background:#fcfbfe;border:1px solid #d3c9df;border-radius:10px;color:var(--ink);max-width:100%;font-size:12px}.field textarea{min-height:115px;resize:vertical;line-height:1.85}.field input[type=checkbox]{min-height:0;width:18px;height:18px;accent-color:var(--amethyst)}.field input:focus,.field textarea:focus,.field select:focus,input.control:focus,select.control:focus{border-color:var(--amethyst)}.dashboard{padding-block:20px 70px}.dashboard .page-heading{padding:20px 0 5px;width:100%}.dashboard-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.dashboard-tabs .button{background:var(--surface);border-color:var(--line)}.dashboard-tabs .button[aria-selected=true]{background:var(--amethyst);border-color:var(--amethyst);color:white}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard h2{font-size:37px;margin:26px 0 21px}.dashboard h3{font-size:28px}.record-row{padding:21px 23px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:12px 0}.record-row p{font-size:12px}.record-row>.button{margin-top:12px}.status-badge{display:inline-flex;align-items:center;border:1px solid #d8cce4;border-radius:999px;background:#f2edf8;padding:4px 11px;font-size:10px;color:var(--amethyst)}
/* Categorised editor remains part of the same interface. */
.atelier{padding-block:35px 70px}.atelier-head{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 0 25px}.atelier-head h1{font-size:51px;margin-top:6px}.atelier-head p{font-size:12px;margin-top:12px}.editor-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:27px;margin-top:7px}.editor-nav{position:sticky;top:110px;align-self:start;display:grid;gap:3px;background:#fff9;border:1px solid var(--line);border-radius:17px;padding:10px}.editor-nav button{text-align:left;padding:10px 13px;font-size:11px;border:1px solid transparent;border-radius:9px;color:var(--muted)}.editor-nav button:hover{background:#f1edf6}.editor-nav button[aria-current=true]{border-color:#d8cce4;background:#eee7f6;color:var(--amethyst);font-weight:600}.editor-nav .nav-group{font-size:8px;letter-spacing:.12em;color:var(--amethyst);text-transform:uppercase;margin:15px 13px 7px}.editor-panel{min-width:0}.editor-panel h2{font-size:36px;margin:6px 0 17px}.editor-fields{border:1px solid var(--line);padding:22px 28px;background:var(--surface);border-radius:18px}fieldset{border:1px solid var(--line);border-radius:13px;padding:16px 20px;margin:18px 0;min-width:0}legend{font:600 12px/1.6 var(--sans);padding:0 8px;color:var(--amethyst)}.image-editor{display:flex;gap:16px;align-items:start}.image-editor img{width:110px;height:85px;object-fit:cover;border:1px solid var(--line);border-radius:9px}.image-editor .field{flex:1;margin:0}.image-editor input[type=file]{font-size:10px;margin-top:8px;background:var(--surface)}.save-bar{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:0;background:#f6f2fcf5;border-top:1px solid var(--line);padding:16px 0;z-index:10}.editor-status{font-size:11px;align-self:center;margin-left:5px}.editor-help{font-size:12px;margin-bottom:20px}.file-help{font-size:10px;color:var(--muted)}

.site-footer{border-top:1px solid #e2d7ed;padding:30px 40px 22px;width:min(1300px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 25px;background:#faf7fe88}.site-footer .brand{justify-content:flex-start}.site-footer .brand svg{width:30px;height:28px}.site-footer .brand strong{font-size:24px}.site-footer>p{font:italic 23px/1.4 var(--serif);justify-self:end;color:#a58bb7}.site-footer>small{grid-column:1/-1;font-size:10px;color:var(--muted)}.footer-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;margin-top:8px;font-size:9px;color:var(--muted)}.footer-meta a{font-weight:600;color:var(--amethyst)}.footer-meta a:hover{text-decoration:underline;text-underline-offset:4px}.entrance-footer{display:flex;justify-content:space-between;padding:17px clamp(20px,4vw,50px);font:400 9px/1.7 var(--sans);color:#9d89ab;max-width:1380px;margin:auto}.entrance-footer a{font-weight:600;color:#866a9b}
@media(max-width:1240px){body:has(.mobile-nav.open){overflow:hidden}.desktop-nav{display:none}.menu-toggle{display:inline-flex;align-items:center}.mobile-nav{display:none;position:fixed;inset:var(--header-height) 0 0;background:#f9f5ff;overflow:auto;overscroll-behavior:contain;padding:35px max(35px,10vw);padding-bottom:max(35px,env(safe-area-inset-bottom));z-index:75}.mobile-nav.open{display:block}.mobile-nav a{display:block;font:600 14px/1.6 var(--sans);padding:16px 20px;margin-bottom:6px;border:1px solid transparent;border-radius:999px}.mobile-nav a:hover{background:white;border-color:var(--line)}.mobile-nav a[aria-current=page]{background:linear-gradient(145deg,#fff,#e7dbf4);border-color:#d9c8e8;color:var(--amethyst)}}
@media(max-width:900px){:root{--header-height:78px}.header-inner{width:calc(100% - 40px)}.brand strong{font-size:22px}.brand small{font-size:7px}.editor-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}}
@media(max-width:600px){:root{--header-height:72px}.header-inner{width:calc(100% - 28px);gap:8px}.brand{gap:7px}.brand strong{font-size:20px}.brand small{font-size:6px;letter-spacing:.08em;margin-top:4px}.brand svg{width:28px;height:28px}.header-portal{min-height:34px;padding:8px 12px;font-size:9px}.menu-toggle{font-size:9px;min-height:34px;padding:8px 12px}.menu-toggle svg{display:none}.portal-label-short,.menu-label-short{display:inline}.portal-label-long,.menu-label-long{display:none}.mobile-nav{padding:20px 16px max(20px,env(safe-area-inset-bottom))}.mobile-nav a{font-size:13px;padding:14px 17px}.hero{min-height:350px}.hero-copy{width:54%}.hero-description{font-size:10px;line-height:1.85}.hero .button{font-size:9px}.identity-card{padding:12px 10px}.identity-card strong{font-size:17px}.identity-card p{font-size:9px}.person-card h3{font-size:14px;padding:8px 6px}.person-card p{font-size:8px;letter-spacing:0}.student-controls{grid-template-columns:2fr 1fr}.student-controls .control{font-size:10px;padding-inline:8px}.reading-page th,.reading-page td{font-size:10px}.notice-card p{font-size:11px}.portal-page{padding:30px 16px 50px;min-height:75svh}.portal-card{padding:25px;border-radius:24px}.portal-card h1{font-size:39px}.portal-card>p{font-size:12px}.field input,.field textarea,.field select,input.control,select.control,textarea.control{font-size:12px}.dashboard{padding-top:10px}.dashboard .page-heading{padding:17px 0 7px}.dashboard-tabs{gap:7px}.dashboard-tabs .button{font-size:9px;padding:8px 13px}.dashboard-grid{grid-template-columns:1fr}.dashboard h2{font-size:34px}.record-row{padding:19px}.atelier{padding-top:24px}.atelier-head{display:block;padding-bottom:19px}.atelier-head h1{font-size:42px}.atelier-head p{font-size:11px}.editor-layout{display:block;margin-top:0}.editor-nav{position:static;display:flex;overflow:auto;gap:5px;padding:7px;border-radius:13px;margin-bottom:21px}.editor-nav .nav-group{display:none}.editor-nav button{flex-shrink:0;padding:9px 11px;font-size:10px;border-radius:8px}.editor-panel h2{font-size:32px}.editor-help{font-size:11px}.editor-fields{padding:16px;border-radius:16px}.image-editor{display:block}.image-editor img{width:100%;height:155px;margin-bottom:12px}.save-bar{gap:8px}.editor-status{flex-basis:100%;font-size:10px}fieldset{padding:12px;border-radius:10px}legend{font-size:11px}.site-footer{padding:25px 20px 21px;gap:10px}.site-footer .brand{gap:7px}.site-footer .brand strong{font-size:23px}.site-footer .brand svg{width:25px;height:25px}.site-footer>p{font-size:20px}.site-footer>small{font-size:9px}.footer-meta{font-size:8px;gap:10px;padding-top:12px}.directory .empty{font-size:11px}.reputation-copy p{font-size:10px}}
@media(max-width:370px){.brand strong{font-size:18px}.header-inner{gap:6px}.brand svg{width:25px}.header-portal,.menu-toggle{padding-inline:10px}.hero h1{font-size:31px}.person-card h3{font-size:13px}.site-footer{grid-template-columns:1fr}.site-footer>p{justify-self:start}.site-footer>small,.footer-meta{grid-column:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
