@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Spectral:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap');

:root{
--page:#F4EFE3;
--ink:#141010;
--orange:#E85B1A;
--teal:#1A7B6E;
--cream:#EDE7D5;
--dark:#1E1612;
--mid:#7A6B5A;
--rule:rgba(20,16,16,.12);
--disp:'Outfit',sans-serif;
--body:'Spectral',serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:hidden}
body{
background:var(--page);color:var(--ink);
font-family:var(--body);font-size:17px;line-height:1.65;
overflow-x:hidden;width:100%;max-width:100%;
font-stretch:normal;-webkit-text-size-adjust:100%;text-size-adjust:100%;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}

.nav{
position:fixed;top:0;left:0;right:0;z-index:100;
background:var(--page);
border-bottom:2px solid var(--ink);
display:flex;align-items:center;justify-content:space-between;
padding:0 48px;height:64px;
}
.nav-logo{font-family:var(--disp);font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.nav-links{display:flex;gap:40px;align-items:center}
.nav-link{
font-family:var(--disp);font-size:13px;font-weight:600;
color:var(--mid);letter-spacing:.08em;text-transform:uppercase;
transition:color .2s;
}
.nav-link:hover{color:var(--ink)}
.nav-cta{
border:2px solid var(--ink);
font-family:var(--disp);font-size:12px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:var(--ink);padding:9px 22px;
transition:background .2s,color .2s;
}
.nav-cta:hover{background:var(--ink);color:var(--page)}

.hero{
padding-top:64px;
background:var(--page);
min-height:100vh;
display:flex;flex-direction:column;
border-bottom:2px solid var(--ink);
}
.hero-top{
flex:1;
display:grid;grid-template-columns:1fr 1fr;
border-bottom:2px solid var(--ink);
}
.hero-left{
padding:64px 56px 64px 48px;
border-right:2px solid var(--ink);
display:flex;flex-direction:column;justify-content:space-between;
}
.hero-eyebrow{
font-family:var(--disp);font-size:12px;font-weight:700;
letter-spacing:.18em;text-transform:uppercase;color:var(--mid);
margin-bottom:40px;
}
.hero-h{
font-family:var(--disp);font-size:clamp(40px,8vw,120px);
font-weight:800;line-height:.92;letter-spacing:-.03em;
color:var(--ink);
max-width:100%;
overflow-wrap:anywhere;word-break:break-word;
}
.hero-h .hl{
display:inline-block;
background:var(--orange);color:var(--page);
padding:0 12px;
}
.hero-h .hl-teal{
display:inline-block;
background:var(--teal);color:var(--page);
padding:0 12px;
}
.hero-desc{
margin-top:40px;
font-size:19px;font-weight:300;font-style:italic;
color:var(--mid);line-height:1.65;
border-top:1px solid var(--rule);padding-top:28px;
max-width:480px;
}
.hero-right{
padding:64px 48px;
display:flex;flex-direction:column;justify-content:flex-end;
gap:40px;
}
.hero-stat-block{
display:flex;flex-direction:column;gap:0;
}
.hero-stat{
padding:24px 0;border-bottom:1px solid var(--rule);
display:flex;align-items:baseline;gap:16px;
}
.hero-stat:first-child{border-top:1px solid var(--rule)}
.hs-num{
font-family:var(--disp);font-size:clamp(28px,4vw,48px);font-weight:800;
color:var(--orange);letter-spacing:-.03em;line-height:1;
flex-shrink:0;min-width:0;width:auto;max-width:100%;
}
.hs-label{
font-size:15px;font-weight:300;color:var(--mid);line-height:1.4;
}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.hero-tag{
border:1.5px solid var(--ink);
font-family:var(--disp);font-size:12px;font-weight:600;
letter-spacing:.08em;text-transform:uppercase;
padding:7px 14px;color:var(--ink);
}
.hero-bottom{
display:grid;grid-template-columns:repeat(3,1fr);
}
.hb-item{
padding:20px 32px;
border-right:2px solid var(--ink);
display:flex;align-items:center;gap:16px;
}
.hb-item:last-child{border-right:none}
.hb-marker{
width:10px;height:10px;border-radius:50%;flex-shrink:0;
}
.hb-text{font-size:14px;font-weight:400;color:var(--mid)}
.hb-text strong{display:block;font-family:var(--disp);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:2px}

.manifesto{
background:var(--dark);
padding:80px 48px;
display:grid;grid-template-columns:200px 1fr;gap:80px;
border-bottom:2px solid var(--ink);
align-items:center;
}
.manifesto-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
color:rgba(255,255,255,.3);
writing-mode:vertical-rl;
transform:rotate(180deg);
white-space:nowrap;
}
.manifesto-q{
font-family:var(--body);font-size:clamp(26px,3vw,42px);
font-style:italic;font-weight:300;
color:#fff;line-height:1.45;
}
.manifesto-q strong{font-style:normal;font-weight:600;color:var(--orange)}

.classes-section{
background:var(--page);
border-bottom:2px solid var(--ink);
}
.classes-header{
padding:56px 48px 40px;
display:flex;align-items:flex-end;justify-content:space-between;
border-bottom:2px solid var(--ink);
}
.sec-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;color:var(--orange);
margin-bottom:10px;
}
.sec-h{
font-family:var(--disp);font-size:clamp(28px,4vw,52px);
font-weight:800;color:var(--ink);line-height:1.05;letter-spacing:-.02em;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.classes-grid{
display:grid;grid-template-columns:repeat(3,1fr);
}
.class-col{
border-right:2px solid var(--ink);
}
.class-col:last-child{border-right:none}
.cc-header{
padding:32px 36px;
border-bottom:2px solid var(--ink);
position:relative;overflow:hidden;
}
.cc-age-num{
font-family:var(--disp);font-size:120px;font-weight:800;
color:rgba(255,255,255,.12);
position:absolute;right:-8px;top:-16px;line-height:1;
pointer-events:none;
}
.cc-tag{
display:inline-block;
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.15em;text-transform:uppercase;
color:var(--page);padding:6px 14px;
margin-bottom:20px;
}
.cc-name{
font-family:var(--disp);font-size:28px;font-weight:800;
color:var(--page);line-height:1;letter-spacing:-.01em;
}
.cc-age-label{
font-size:13px;color:rgba(255,255,255,.6);margin-top:8px;
font-family:var(--disp);letter-spacing:.05em;
}
.cc-body{padding:36px}
.cc-desc{
font-size:16px;font-weight:300;color:var(--ink);line-height:1.75;
margin-bottom:28px;
}
.cc-meta{
display:flex;flex-direction:column;gap:12px;
padding-top:24px;border-top:1px solid var(--rule);
}
.cc-meta-row{
display:flex;align-items:flex-start;gap:12px;
font-size:14px;color:var(--mid);
}
.cc-meta-row strong{
font-family:var(--disp);font-size:12px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:var(--ink);min-width:60px;
}
.cc-subjects{
display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;
}
.cc-subject{
font-family:var(--disp);font-size:11px;font-weight:600;
letter-spacing:.06em;text-transform:uppercase;
border:1.5px solid var(--rule);padding:5px 10px;color:var(--mid);
}

.why-section{
background:var(--cream);
display:grid;grid-template-columns:1fr 1fr;
border-bottom:2px solid var(--ink);
}
.why-left{
padding:80px 48px;
border-right:2px solid var(--ink);
}
.why-right{
padding:80px 48px;
}
.why-h{
font-family:var(--disp);font-size:clamp(32px,4vw,56px);
font-weight:800;color:var(--ink);line-height:1.05;
letter-spacing:-.03em;margin-bottom:32px;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.why-intro{
font-size:18px;font-weight:300;font-style:italic;
color:var(--mid);line-height:1.7;
max-width:480px;
}
.why-points{
display:flex;flex-direction:column;gap:0;
}
.why-point{
padding:28px 0;
border-bottom:1px solid var(--rule);
display:grid;grid-template-columns:32px 1fr;gap:20px;align-items:start;
}
.wp-num{
font-family:var(--disp);font-size:13px;font-weight:700;
color:var(--orange);letter-spacing:.05em;padding-top:3px;
}
.wp-text h4{
font-family:var(--disp);font-size:17px;font-weight:700;
color:var(--ink);margin-bottom:6px;
}
.wp-text p{font-size:15px;font-weight:300;color:var(--mid);line-height:1.65}

.timetable-section{
background:var(--page);
border-bottom:2px solid var(--ink);
overflow-x:auto;
}
.tt-header{
padding:56px 48px 40px;
border-bottom:2px solid var(--ink);
display:flex;align-items:flex-end;justify-content:space-between;
}
.tt-note{
font-size:14px;font-style:italic;color:var(--mid);max-width:300px;text-align:right;line-height:1.5;
}
.tt-table{width:100%;border-collapse:collapse}
.tt-table th{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.15em;text-transform:uppercase;
color:var(--mid);padding:16px 24px;
border-bottom:2px solid var(--ink);
border-right:1px solid var(--rule);
text-align:left;background:var(--cream);
}
.tt-table th:first-child{border-left:none;width:120px}
.tt-table td{
padding:20px 24px;
border-bottom:1px solid var(--rule);
border-right:1px solid var(--rule);
font-size:15px;color:var(--mid);
vertical-align:top;
}
.tt-table td:first-child{
font-family:var(--disp);font-size:13px;font-weight:700;
letter-spacing:.06em;color:var(--ink);
border-right:2px solid var(--ink);
}
.tt-class{
display:block;
font-family:var(--disp);font-size:14px;font-weight:700;
color:var(--ink);margin-bottom:3px;
}
.tt-class-sub{font-size:13px;color:var(--mid)}
.tt-dot{
display:inline-block;width:8px;height:8px;border-radius:50%;
margin-right:6px;vertical-align:middle;
}

.teachers-section{
background:var(--dark);
border-bottom:2px solid var(--orange);
padding:80px 48px;
}
.teachers-header{
display:flex;align-items:flex-end;justify-content:space-between;
margin-bottom:56px;padding-bottom:32px;
border-bottom:1px solid rgba(255,255,255,.1);
}
.teachers-h{
font-family:var(--disp);font-size:clamp(32px,4vw,52px);
font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.02em;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.teachers-sub{
font-size:15px;font-style:italic;color:rgba(255,255,255,.45);
max-width:360px;text-align:right;line-height:1.6;
}
.teachers-list{
display:grid;grid-template-columns:repeat(2,1fr);
gap:0;
}
.teacher-row{
padding:36px 0;
border-bottom:1px solid rgba(255,255,255,.08);
display:grid;grid-template-columns:1fr 1fr;
gap:40px;align-items:start;
}
.teacher-row:last-child{border-bottom:none}
.tr-main{}
.tr-name{
font-family:var(--disp);font-size:28px;font-weight:800;
color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:6px;
}
.tr-role{
font-family:var(--disp);font-size:12px;font-weight:600;
letter-spacing:.1em;text-transform:uppercase;
color:var(--orange);margin-bottom:14px;
}
.tr-bio{
font-size:14px;font-weight:300;color:rgba(255,255,255,.5);
line-height:1.7;
}
.tr-classes{
display:flex;flex-direction:column;gap:8px;margin-top:16px;
}
.tr-class{
font-family:var(--disp);font-size:12px;font-weight:600;
letter-spacing:.08em;text-transform:uppercase;
color:rgba(255,255,255,.3);
padding:7px 14px;border:1px solid rgba(255,255,255,.1);
display:inline-block;width:fit-content;
}

.quotes-section{
background:var(--orange);
border-bottom:2px solid var(--ink);
padding:80px 48px;
}
.quotes-h{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
color:rgba(255,255,255,.5);margin-bottom:48px;
}
.quotes-grid{
display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
}
.quote-item{
padding-top:28px;border-top:1.5px solid rgba(255,255,255,.3);
}
.q-text{
font-family:var(--body);font-size:18px;font-style:italic;font-weight:300;
color:#fff;line-height:1.65;margin-bottom:24px;
}
.q-author{
font-family:var(--disp);font-size:13px;font-weight:700;
letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);
}
.q-child{
font-family:var(--disp);font-size:12px;font-weight:400;
color:rgba(255,255,255,.4);margin-top:4px;
}

.news-section{
background:var(--page);
border-bottom:2px solid var(--ink);
}
.news-header{
padding:56px 48px 40px;
display:flex;align-items:flex-end;justify-content:space-between;
border-bottom:2px solid var(--ink);
}
.news-list{border-collapse:collapse;width:100%}
.news-row{
display:grid;grid-template-columns:120px 1fr 280px;
padding:28px 48px;
border-bottom:1px solid var(--rule);
gap:40px;align-items:baseline;
transition:background .2s;
}
.news-row:hover{background:var(--cream)}
.nr-date{
font-family:var(--disp);font-size:12px;font-weight:600;
letter-spacing:.08em;color:var(--mid);text-transform:uppercase;
}
.nr-title{
font-family:var(--disp);font-size:20px;font-weight:700;
color:var(--ink);letter-spacing:-.01em;line-height:1.2;
}
.nr-title:hover{color:var(--orange)}
.nr-desc{
font-size:14px;font-weight:300;color:var(--mid);
line-height:1.55;font-style:italic;
}

.enroll-section{
background:var(--cream);
border-bottom:2px solid var(--ink);
display:grid;grid-template-columns:1fr 1fr;
}
.enroll-left{
padding:80px 48px;
border-right:2px solid var(--ink);
display:flex;flex-direction:column;justify-content:space-between;
}
.enroll-h{
font-family:var(--disp);font-size:clamp(32px,5vw,64px);
font-weight:800;color:var(--ink);line-height:.95;
letter-spacing:-.03em;margin-bottom:24px;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.enroll-h .hl{background:var(--ink);color:var(--page);padding:0 8px}
.enroll-p{
font-size:17px;font-weight:300;font-style:italic;
color:var(--mid);line-height:1.7;max-width:440px;
}
.enroll-detail{
margin-top:48px;padding-top:32px;
border-top:1px solid var(--rule);
display:flex;flex-direction:column;gap:16px;
}
.ed-row{
display:flex;gap:16px;align-items:baseline;
font-size:15px;color:var(--mid);
}
.ed-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.12em;text-transform:uppercase;
color:var(--ink);min-width:80px;
}
.enroll-right{padding:80px 48px}
.form-h{
font-family:var(--disp);font-size:26px;font-weight:800;
color:var(--ink);letter-spacing:-.01em;margin-bottom:32px;
}
.form-row{margin-bottom:18px}
.form-label{
display:block;font-family:var(--disp);font-size:11px;
font-weight:700;letter-spacing:.12em;text-transform:uppercase;
color:var(--mid);margin-bottom:8px;
}
.form-input{
width:100%;background:transparent;
border:none;border-bottom:2px solid var(--ink);
padding:10px 0;
font-family:var(--body);font-size:16px;color:var(--ink);
outline:none;transition:border-color .2s;
border-radius:0;
}
.form-input::placeholder{color:rgba(20,16,16,.3)}
.form-input:focus{border-color:var(--orange)}
.form-select{
width:100%;background:transparent;
border:none;border-bottom:2px solid var(--ink);
padding:10px 0;
font-family:var(--body);font-size:16px;color:var(--ink);
outline:none;cursor:pointer;appearance:none;
border-radius:0;
}
.form-select option{background:var(--page)}
.form-ta{
width:100%;background:transparent;
border:none;border-bottom:2px solid var(--ink);
padding:10px 0;
font-family:var(--body);font-size:16px;color:var(--ink);
outline:none;resize:none;height:80px;
transition:border-color .2s;border-radius:0;
}
.form-ta:focus{border-color:var(--orange)}
.form-submit{
margin-top:28px;
background:var(--ink);color:var(--page);border:none;
font-family:var(--disp);font-size:13px;font-weight:700;
letter-spacing:.12em;text-transform:uppercase;
padding:16px 40px;cursor:pointer;
transition:background .2s;
}
.form-submit:hover{background:var(--orange)}
.form-submit:disabled{opacity:.65;cursor:default}
.form-status{
margin-top:16px;
font-family:var(--body);font-size:14px;line-height:1.5;
}
.form-status--success{color:var(--teal)}
.form-status--error{color:var(--orange)}
.form-input:invalid:not(:placeholder-shown),
.form-select:invalid:not(:focus){border-bottom-color:var(--orange)}

.footer{background:var(--dark)}
.footer-top{
display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
gap:0;
border-bottom:1px solid rgba(255,255,255,.08);
}
.ft-col{
padding:56px 40px;
border-right:1px solid rgba(255,255,255,.06);
}
.ft-col:last-child{border-right:none}
.ft-brand{
font-family:var(--disp);font-size:38px;font-weight:800;
color:#fff;letter-spacing:-.02em;margin-bottom:12px;
}
.ft-about{
font-size:14px;font-weight:300;color:rgba(255,255,255,.4);
line-height:1.75;margin-bottom:28px;
}
.ft-col-title{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.18em;text-transform:uppercase;
color:rgba(255,255,255,.25);display:block;margin-bottom:20px;
}
.ft-links{display:flex;flex-direction:column;gap:10px}
.ft-link{
font-size:15px;font-weight:300;color:rgba(255,255,255,.55);
transition:color .2s;
}
.ft-link:hover{color:var(--orange)}
.ft-contact p{
font-size:14px;font-weight:300;color:rgba(255,255,255,.4);
margin-bottom:8px;line-height:1.6;
}
.ft-contact a{color:rgba(255,255,255,.5);transition:color .2s}
.ft-contact a:hover{color:var(--orange)}
.footer-bottom{
display:flex;align-items:center;justify-content:space-between;
padding:20px 40px;
}
.ft-copy{
font-family:var(--disp);font-size:12px;font-weight:500;
letter-spacing:.06em;color:rgba(255,255,255,.2);
}
.ft-legal{display:flex;gap:28px}
.ft-legal-link{
font-size:12px;color:rgba(255,255,255,.2);transition:color .2s;
}
.ft-legal-link:hover{color:rgba(255,255,255,.5)}

.photo-strip{
display:grid;grid-template-columns:repeat(4,1fr);
border-bottom:2px solid var(--ink);
}
.ps-item{
position:relative;overflow:hidden;
border-right:2px solid var(--ink);
}
.ps-item:last-child{border-right:none}
.ps-img{
width:100%;aspect-ratio:3/4;object-fit:cover;
display:block;
filter:grayscale(20%);
transition:filter .4s,transform .5s;
}
.ps-item:hover .ps-img{filter:grayscale(0%);transform:scale(1.03)}
.ps-cap{
padding:14px 20px;
border-top:2px solid var(--ink);
display:flex;align-items:baseline;justify-content:space-between;
background:var(--page);
}
.ps-cap-title{
font-family:var(--disp);font-size:13px;font-weight:700;
color:var(--ink);letter-spacing:-.01em;
}
.ps-cap-age{
font-family:var(--disp);font-size:11px;font-weight:600;
letter-spacing:.1em;text-transform:uppercase;color:var(--mid);
}

.studio-spread{
display:grid;grid-template-columns:1fr 1fr;
border-bottom:2px solid var(--ink);
}
.ss-img-col{
position:relative;overflow:hidden;
min-height:480px;
}
.ss-img-col img{
width:100%;height:100%;object-fit:cover;
position:absolute;inset:0;
transition:transform .6s;
}
.studio-spread:hover .ss-img-col img{transform:scale(1.02)}
.ss-img-label{
position:absolute;bottom:0;left:0;right:0;
padding:20px 28px;
background:linear-gradient(to top,rgba(20,16,16,.7) 0%,transparent 100%);
font-family:var(--disp);font-size:12px;font-weight:700;
letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);
}
.ss-text-col{
padding:72px 56px;
background:var(--cream);
display:flex;flex-direction:column;justify-content:center;
border-left:2px solid var(--ink);
}
.ss-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
color:var(--orange);margin-bottom:20px;
}
.ss-q{
font-family:var(--body);font-size:clamp(22px,2.5vw,32px);
font-style:italic;font-weight:300;
color:var(--ink);line-height:1.45;
border-left:3px solid var(--orange);
padding-left:24px;margin-bottom:28px;
}
.ss-body{
font-size:16px;font-weight:300;color:var(--mid);
line-height:1.75;
}
.ss-cta{
display:inline-block;margin-top:32px;
font-family:var(--disp);font-size:12px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:var(--ink);border-bottom:2px solid var(--ink);
padding-bottom:3px;
transition:color .2s,border-color .2s;
}
.ss-cta:hover{color:var(--orange);border-color:var(--orange)}

.work-glimpse{
background:var(--page);
border-bottom:2px solid var(--ink);
}
.wg-header{
padding:48px 48px 36px;
border-bottom:2px solid var(--ink);
display:flex;align-items:flex-end;justify-content:space-between;
}
.wg-grid{
display:grid;grid-template-columns:2fr 1fr 1fr;
grid-template-rows:300px 300px;
}
.wg-item{
overflow:hidden;
border-right:2px solid var(--ink);
border-bottom:2px solid var(--ink);
position:relative;
}
.wg-item:last-child,.wg-item:nth-child(3),.wg-item:nth-child(5){border-right:none}
.wg-item:nth-child(4),.wg-item:nth-child(5){border-bottom:none}
.wg-item:first-child{grid-row:1/3;border-bottom:none}
.wg-item img{
width:100%;height:100%;object-fit:cover;
transition:transform .5s;
}
.wg-item:hover img{transform:scale(1.04)}
.wg-tag{
position:absolute;top:0;left:0;
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:#fff;padding:8px 14px;
}

@media(max-width:1024px){
.photo-strip{grid-template-columns:1fr 1fr}
.ps-item:nth-child(2){border-right:none}
.studio-spread{grid-template-columns:1fr}
.ss-img-col{min-height:300px;position:relative}
.ss-img-col img{position:static;height:300px}
.ss-text-col{border-left:none;border-top:2px solid var(--ink);padding:48px 24px}
.wg-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
.wg-item:first-child{grid-row:auto;grid-column:1/3}
.wg-item{min-height:220px}
.wg-item:nth-child(3),.wg-item:nth-child(5){border-right:none}
.wg-header{padding:40px 24px;flex-direction:column;align-items:flex-start;gap:16px}
}

.page-hero{
padding-top:64px;
background:var(--page);
border-bottom:2px solid var(--ink);
min-height:44vh;
display:flex;align-items:flex-end;
position:relative;overflow:hidden;
}
.ph-giant{
position:absolute;right:-24px;bottom:-24px;
font-family:var(--disp);font-size:clamp(72px,18vw,200px);font-weight:800;
color:rgba(20,16,16,.04);line-height:1;pointer-events:none;
letter-spacing:-.04em;
max-width:90%;
overflow:hidden;
white-space:nowrap;
}
.ph-content{position:relative;z-index:2;padding:64px 48px;width:100%;max-width:100%}
.ph-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
color:var(--orange);margin-bottom:12px;
}
.ph-h{
font-family:var(--disp);font-size:clamp(32px,6vw,88px);
font-weight:800;color:var(--ink);line-height:.95;
letter-spacing:-.03em;
max-width:100%;
overflow-wrap:anywhere;word-break:break-word;
}
.ph-h em{font-style:italic;font-weight:400}

.inner-block{padding:80px 48px}
.ib-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;color:var(--orange);
margin-bottom:12px;
}
.ib-h{
font-family:var(--disp);font-size:clamp(26px,4vw,48px);
font-weight:800;color:var(--ink);line-height:1.05;
letter-spacing:-.02em;
max-width:100%;
overflow-wrap:anywhere;word-break:break-word;
}
.ib-p{
font-size:17px;font-weight:300;color:var(--mid);
line-height:1.8;max-width:660px;margin-top:18px;
}
.ib-p+.ib-p{margin-top:14px}

.split-rule{
display:grid;grid-template-columns:1fr 1fr;
border-bottom:2px solid var(--ink);
}
.sr-left{
padding:80px 48px;
border-right:2px solid var(--ink);
}
.sr-right{
padding:80px 48px;
}

.proj-grid{
display:grid;grid-template-columns:repeat(2,1fr);
gap:0;
}
.proj-item{
position:relative;border:1px solid var(--rule);
overflow:hidden;
}
.proj-img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s;display:block}
.proj-item:hover .proj-img{transform:scale(1.04)}
.proj-cap{
padding:20px 24px;
border-top:1px solid var(--rule);
display:flex;align-items:baseline;justify-content:space-between;
}
.proj-tag-pill{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:#fff;padding:4px 10px;
}
.proj-title{
font-family:var(--disp);font-size:16px;font-weight:700;color:var(--ink);
}
.proj-age{font-size:13px;color:var(--mid)}

.news-list-page{border-top:2px solid var(--ink)}
.nl{
display:grid;grid-template-columns:100px 1fr;
gap:48px;
padding:36px 48px;
border-bottom:1px solid var(--rule);
align-items:baseline;
transition:background .2s;
}
.nl:hover{background:var(--cream)}
.nl-date{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--mid);text-transform:uppercase}
.nl-body{}
.nl-title{
font-family:var(--disp);font-size:26px;font-weight:800;
color:var(--ink);line-height:1.1;letter-spacing:-.01em;
margin-bottom:8px;
}
.nl-desc{font-size:15px;font-weight:300;color:var(--mid);line-height:1.65;max-width:600px}

.contact-split{
display:grid;grid-template-columns:1fr 1.1fr;
border-top:2px solid var(--ink);
}
.ci{
background:var(--dark);padding:80px 48px;
border-right:2px solid var(--orange);
display:flex;flex-direction:column;justify-content:space-between;
}
.ci-h{
font-family:var(--disp);font-size:clamp(28px,4vw,52px);
font-weight:800;color:#fff;line-height:1.05;
letter-spacing:-.03em;margin-bottom:48px;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.ci-h em{font-style:italic;font-weight:400;color:var(--orange)}
.ci-items{display:flex;flex-direction:column;gap:28px}
.ci-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.15em;text-transform:uppercase;
color:rgba(255,255,255,.3);margin-bottom:6px;
}
.ci-val{font-size:16px;font-weight:300;color:rgba(255,255,255,.7);line-height:1.55}
.ci-val a{color:var(--orange)}
.cf{background:var(--page);padding:80px 48px}
.cf-h{
font-family:var(--disp);font-size:26px;font-weight:800;
color:var(--ink);letter-spacing:-.01em;margin-bottom:36px;
}
.cf .form-input,.cf .form-select,.cf .form-ta{border-bottom-color:var(--ink)}
.cf .form-submit{background:var(--orange)}
.cf .form-submit:hover{background:var(--ink)}

.legal-page{
padding:100px 80px;max-width:820px;
}
.lp-label{
font-family:var(--disp);font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;
color:var(--orange);margin-bottom:16px;
}
.lp-h{
font-family:var(--disp);font-size:clamp(36px,7vw,88px);
font-weight:800;color:var(--ink);letter-spacing:-.03em;
line-height:.95;margin-bottom:16px;
max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.lp-updated{
font-size:14px;font-style:italic;color:var(--mid);
margin-bottom:56px;padding-bottom:40px;
border-bottom:2px solid var(--rule);
}
.lp-sec{margin-bottom:44px}
.lp-sec h2{
font-family:var(--disp);font-size:20px;font-weight:800;
color:var(--ink);margin-bottom:12px;letter-spacing:-.01em;
border-left:3px solid var(--orange);padding-left:14px;
}
.lp-sec p{font-size:16px;font-weight:300;color:var(--mid);line-height:1.8;margin-bottom:12px}
.lp-sec ul{padding-left:20px;color:var(--mid);font-size:16px;line-height:2;font-weight:300}

@media(max-width:1024px){
.nav{padding:0 20px}
.hero-top{grid-template-columns:1fr}
.hero-right{padding:40px 24px}
.hero-left{padding:48px 24px}
.hero-bottom{grid-template-columns:1fr}
.hb-item{border-right:none;border-bottom:1px solid var(--rule)}
.manifesto{grid-template-columns:1fr;padding:56px 24px;gap:24px}
.manifesto-label{writing-mode:horizontal-tb;transform:none}
.classes-grid{grid-template-columns:1fr}
.class-col{border-right:none;border-bottom:2px solid var(--ink)}
.classes-header,.tt-header,.news-header{padding:40px 24px;flex-direction:column;align-items:flex-start;gap:20px}
.tt-note{text-align:left}
.why-section{grid-template-columns:1fr}
.why-left{border-right:none;border-bottom:2px solid var(--ink);padding:56px 24px}
.why-right{padding:56px 24px}
.teachers-list{grid-template-columns:1fr}
.quotes-grid{grid-template-columns:1fr}
.news-row{grid-template-columns:1fr;padding:20px 24px;gap:8px}
.enroll-section{grid-template-columns:1fr}
.enroll-left{border-right:none;border-bottom:2px solid var(--ink);padding:56px 24px}
.enroll-right{padding:56px 24px}
.footer-top{grid-template-columns:1fr 1fr}
.ft-col{padding:40px 24px}
.footer-bottom{padding:16px 24px}
.inner-block{padding:56px 24px}
.split-rule{grid-template-columns:1fr}
.sr-left{border-right:none;border-bottom:2px solid var(--ink);padding:56px 24px}
.sr-right{padding:56px 24px}
.proj-grid{grid-template-columns:1fr}
.nl{grid-template-columns:1fr;gap:8px;padding:24px}
.contact-split{grid-template-columns:1fr}
.ci{border-right:none;border-bottom:2px solid var(--orange);padding:56px 24px}
.cf{padding:56px 24px}
.ph-content{padding:48px 24px}
.teachers-section,.quotes-section{padding:56px 24px}
.teacher-row{grid-template-columns:1fr;gap:16px}
.legal-page{padding:80px 24px}
}

@media(max-width:768px){
.nav{
padding:0 16px;height:auto;min-height:64px;
flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px;
}
.nav-logo{font-size:18px;letter-spacing:-.02em}
.nav-links{
gap:12px;flex-wrap:wrap;justify-content:flex-start;width:100%;
}
.nav-link{font-size:11px;letter-spacing:.06em}
.nav-cta{padding:7px 14px;font-size:11px}
.hero{padding-top:96px;min-height:0}
.page-hero{padding-top:96px;min-height:auto}
.hero-h{font-size:clamp(36px,11vw,64px)}
.ph-h{font-size:clamp(28px,9vw,48px);line-height:1.05}
.ph-giant{font-size:clamp(56px,22vw,120px);right:-12px;bottom:-12px;opacity:.9}
.ib-h{font-size:clamp(24px,7vw,36px)}
.sec-h,.why-h,.teachers-h,.enroll-h,.ci-h{font-size:clamp(28px,8vw,40px)}
.manifesto-q{font-size:clamp(20px,5.5vw,28px)}
.tt-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tt-table thead,.tt-table tbody,.tt-table tr{display:table;width:100%;table-layout:fixed}
.hero-stat{flex-wrap:wrap}
.hs-num{font-size:28px}
.cc-age-num{font-size:72px}
.cc-name{font-size:24px}
.nl-title{font-size:20px}
.ft-brand{font-size:28px}
.classes-section,.timetable-section{overflow-x:hidden}
}

@media(max-width:480px){
.nav-links{gap:8px 14px}
.hero-left,.hero-right,.ph-content,.inner-block{padding-left:16px;padding-right:16px}
.hero-h{font-size:clamp(32px,12vw,48px)}
.ph-h{font-size:clamp(26px,10vw,40px)}
.ib-p,.hero-desc{font-size:15px}
}
