:root{--navy:#091c38;--red:#b92e20;--gold:#d8a759;--ivory:#faf7f0;--paper:#fffdfa;--ink:#152238;--muted:#62666c;--line:#e8ded0;font-family:DM Sans,Noto Sans SC,sans-serif;color:var(--ink);background:var(--ivory)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--ivory)}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{height:86px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 6px 26px #07172d22}.wordmark{border:0;background:none;color:#e1b56d;font:700 38px Libre Baskerville,serif;justify-self:start}.nav{display:flex;align-items:center;gap:35px}.nav button,.language button,.footer-links button{border:0;background:none;color:inherit;padding:8px 0}.nav button{font-size:15px;position:relative}.nav button:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:2px;background:var(--gold);transition:.25s}.nav button:hover:after,.nav button:focus-visible:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center}.language{display:flex;align-items:center;gap:12px}.language span{width:1px;height:18px;background:#ffffff80}.language button{color:#d7dce5}.language button.active{color:#f1c36f;font-weight:600}.menu-button{display:none;border:0;background:none;color:#fff;font-size:26px}.hero{min-height:650px;display:grid;grid-template-columns:1.16fr .84fr;align-items:center;padding:80px max(7vw,40px) 78px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 30%,#fff 0,#faf7f0 48%,#f6f0e7)}.bridge{position:absolute;right:-60px;bottom:-12px;width:min(920px,62vw);opacity:.58;mix-blend-mode:multiply;pointer-events:none}.hero-copy,.portrait-wrap{position:relative;z-index:2}.eyebrow{color:#9b6d2b;font-size:12px;text-transform:uppercase;letter-spacing:.19em;font-weight:600}h1,h2,h3{font-family:Libre Baskerville,Noto Sans SC,serif}h1{margin:20px 0 22px;font-size:clamp(46px,4.55vw,70px);line-height:1.04;letter-spacing:-.032em;color:var(--navy)}h1 span,h1 em{display:block;font-style:normal}h1 em{color:var(--red)}.hero-sub{max-width:660px;font-size:19px;line-height:1.55;color:#3c4652}.hero-actions{display:flex;gap:16px;margin:30px 0 27px}.button{min-height:50px;padding:0 28px;border-radius:7px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;transition:.2s}.button.primary{background:var(--red);color:#fff;box-shadow:0 7px 18px #a42d2130}.button.primary:hover{background:#9f271b;transform:translateY(-2px)}.button.secondary{background:#fffaf3;color:var(--navy);border-color:var(--gold)}.button.secondary:hover{background:#fff;transform:translateY(-2px)}.trust{max-width:620px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4b5360}.trust svg{flex:none;color:var(--gold)}.portrait-wrap{display:flex;align-items:center;justify-content:center;min-width:0}.portrait-ring{width:min(525px,36vw);aspect-ratio:1;padding:13px;border:1px solid #d5af6d66;border-radius:50%;background:#ffffff80;box-shadow:0 22px 70px #0b1b3330}.portrait-ring img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:50%;display:block}.location{position:absolute;right:2%;bottom:4%;background:#fff;padding:13px 18px;border-radius:999px;display:flex;align-items:center;gap:8px;font-size:13px;box-shadow:0 12px 35px #1c26322b}.location svg{color:var(--red)}.section{width:min(1180px,88vw);margin:0 auto}.intro{text-align:center;padding:105px 0 50px}.intro h2,.about h2,.method h2,.contact h2{margin:14px auto 18px;font-size:clamp(34px,4vw,55px);line-height:1.18;letter-spacing:-.035em;color:var(--navy)}.intro h2{max-width:850px}.section-lead{max-width:760px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.7}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:40px 0 110px}.service-card{scroll-margin-top:110px;min-height:480px;padding:32px 28px 28px;background:#fffdfa;border:1px solid var(--line);border-radius:14px;position:relative;box-shadow:0 12px 40px #0d21320c;transition:.25s;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 50px #0d213219;border-color:#dfc698}.service-icon{width:62px;height:62px;border-radius:50%;background:var(--navy);color:#efbf6e;display:grid;place-items:center}.service-card:nth-child(2) .service-icon{background:var(--red)}.card-number{position:absolute;right:28px;top:25px;color:#d9c8af;font:400 28px Libre Baskerville,serif}.service-card h3{margin:25px 0 12px;font-size:25px;color:var(--navy)}.service-card>p:not(.card-number){color:var(--muted);line-height:1.6;margin:0 0 18px}.service-card ul{padding:0;margin:0 0 22px;list-style:none}.service-card li{display:flex;gap:8px;margin:10px 0;font-size:14px;line-height:1.4}.service-card li svg{flex:none;color:var(--gold);margin-top:2px}.service-card>button{margin-top:auto;align-self:flex-start;border:0;background:none;padding:8px 0;display:flex;align-items:center;gap:8px;color:var(--red);font-weight:600}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center;padding:100px 0;border-top:1px solid var(--line)}.about-visual{height:560px;position:relative}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 30%;border-radius:180px 180px 18px 18px;box-shadow:0 20px 50px #10213a22}.quote-icon{position:absolute;right:-25px;bottom:30px;width:80px;height:80px;padding:20px;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 10px 28px #a32c2240}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75}.credentials{display:grid;gap:12px;margin-top:28px}.credentials div{display:flex;align-items:center;gap:10px}.credentials svg{color:var(--gold);flex:none}.method{padding:110px 0;text-align:center}.method h2{max-width:820px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px;text-align:left}.method-grid article{border-top:3px solid var(--gold);padding:28px 25px;background:#fffdfa}.method-grid span{color:var(--red);font-weight:600}.method-grid h3{font-size:23px;margin:18px 0 10px}.method-grid p{color:var(--muted);line-height:1.6;margin:0}.region{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:35px;color:#4b5360}.region svg{color:var(--red)}.contact{scroll-margin-top:95px;background:var(--navy);color:#fff;width:min(1320px,94vw);border-radius:22px;margin-bottom:80px;padding:70px;display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center;position:relative;overflow:hidden}.contact:after{content:"";position:absolute;width:360px;height:360px;border:1px solid #d8a75940;border-radius:50%;left:-180px;bottom:-210px}.contact .eyebrow{color:#e6bd76}.contact h2{color:#fff}.contact-copy>p:not(.eyebrow){color:#d2d8e1;line-height:1.7;font-size:17px}.contact-copy a{color:#f2c77c;display:inline-flex;gap:7px;align-items:center;text-decoration:none;margin-top:18px}form{background:#fffdfa;color:var(--ink);padding:32px;border-radius:14px;display:grid;gap:16px;box-shadow:0 22px 50px #0004;position:relative;z-index:2}form h3{font-size:25px;margin:0 0 3px}label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#49505b}input,select,textarea{width:100%;border:1px solid #dcd5ca;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #dfb56c28}textarea{resize:vertical}form .button{width:100%;margin-top:4px}.success{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;color:#314052}.success svg{color:#3c8a62}.success button{border:1px solid var(--gold);background:#fff;padding:9px 30px;border-radius:6px}footer{background:#07162c;color:#c8ced8;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:center;padding:42px 6vw;font-size:12px}footer strong{display:block;color:#e3b56c;font:700 22px Libre Baskerville,serif;margin-bottom:7px}footer p{text-align:center;max-width:600px;margin:auto;line-height:1.5}.footer-links{justify-self:end;display:flex;gap:22px;color:#fff}@media(max-width:1000px){.site-header{grid-template-columns:1fr auto}.nav{display:none;position:absolute;left:0;right:0;top:86px;padding:24px 6vw 30px;background:var(--navy);flex-direction:column;align-items:flex-start;gap:12px;box-shadow:0 18px 24px #07162c44}.nav.open{display:flex}.menu-button{display:grid;place-items:center;margin-left:17px}.hero{grid-template-columns:1fr .75fr;padding-left:6vw;padding-right:6vw}.portrait-ring{width:min(370px,36vw)}.services{grid-template-columns:1fr}.service-card{min-height:0}.about{gap:50px}.contact{padding:55px 45px;gap:45px}}@media(max-width:720px){.site-header{height:72px;padding:0 20px}.wordmark{font-size:27px}.nav{top:72px}.language{gap:8px;font-size:13px}.hero{min-height:0;display:flex;flex-direction:column;padding:56px 22px 65px;text-align:left}.hero-copy{order:1}h1{font-size:43px}.hero-sub{font-size:16px}.hero-actions{flex-direction:column}.button{width:100%}.trust{align-items:flex-start;font-size:12px}.portrait-wrap{order:0;width:100%;margin-bottom:32px}.portrait-ring{width:74vw;max-width:330px}.location{right:50%;transform:translate(50%);bottom:-11px;white-space:nowrap;font-size:11px;padding:10px 13px}.bridge{width:900px;max-width:none;right:-390px;opacity:.36}.section{width:calc(100% - 40px)}.intro{padding-top:75px}.intro h2,.about h2,.method h2,.contact h2{font-size:34px}.services{padding-bottom:75px}.about{grid-template-columns:1fr;padding:75px 0;gap:45px}.about-visual{height:440px}.quote-icon{right:5px}.method{padding:75px 0}.method-grid{grid-template-columns:1fr}.region{align-items:flex-start;text-align:left}.contact{width:calc(100% - 24px);margin-bottom:0;border-radius:16px 16px 0 0;padding:55px 22px;grid-template-columns:1fr;gap:40px}form{padding:24px 18px}footer{grid-template-columns:1fr;text-align:center;padding:38px 25px}.footer-links{justify-self:center}}.camp{scroll-margin-top:95px;padding:95px 0 110px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr .82fr;gap:34px 55px;align-items:start}.camp-copy h2{margin:14px 0 18px;font-size:clamp(34px,4vw,55px);line-height:1.16;color:var(--navy)}.camp-intro{font-size:18px;line-height:1.65;color:var(--muted)}.camp-facts,.camp-activities{list-style:none;padding:0}.camp-facts{display:grid;gap:10px;margin:25px 0}.camp-facts li{display:flex;align-items:flex-start;gap:9px;font-weight:600}.camp-facts svg{color:var(--gold);flex:none;margin-top:2px}.camp-activities{border-left:3px solid var(--gold);padding-left:22px;display:grid;gap:10px;line-height:1.5}.camp-activities li:before{content:"·";color:var(--red);font-weight:700;margin-right:9px}.camp-teacher{margin-top:24px;color:#4b5360;line-height:1.6}.camp-media{background:#fff;padding:12px;border-radius:14px;box-shadow:0 18px 48px #0d21321c}.camp-media img{display:block;width:100%;height:auto;border-radius:8px}.camp-form{grid-column:1/-1;width:min(760px,100%);margin:10px auto 0;grid-template-columns:1fr 1fr}.camp-form h3,.camp-form .button,.camp-form .success{grid-column:1/-1}.consent{grid-column:1/-1;display:flex;grid-template-columns:none;align-items:flex-start;gap:10px}.consent input{width:auto;margin-top:3px}.camp-success{min-height:180px}@media(max-width:1000px){.camp{grid-template-columns:1fr}.camp-form{grid-column:auto}}@media(max-width:720px){.camp{padding:70px 0}.camp-copy h2{font-size:34px}.camp-form{grid-template-columns:1fr}.camp-form label,.camp-form h3,.camp-form .button{grid-column:1}}.camp-promo{width:min(620px,100%);border:1px solid #d8a75999;border-left:5px solid var(--red);background:#fffdfa;padding:14px 18px;margin:15px 0 4px;border-radius:9px;display:grid;grid-template-columns:1fr auto;text-align:left;gap:3px 18px;box-shadow:0 10px 28px #0d213218;transition:.2s}.camp-promo:hover{transform:translateY(-2px);box-shadow:0 15px 34px #0d213225}.camp-promo span{grid-column:1/-1;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.camp-promo strong{color:var(--navy);font-size:16px}.camp-promo em{font-style:normal;color:var(--red);font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}@media(max-width:720px){.camp-promo{grid-template-columns:1fr}.camp-promo em{margin-top:5px}.hero-copy h1{margin-top:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.camp-archive{grid-column:1/-1;width:min(760px,100%);margin:10px auto 0;padding:28px 30px;background:#fffdfa;border:1px solid #d8a75980;border-radius:14px;display:flex;align-items:flex-start;gap:18px;box-shadow:0 16px 38px #0d213214}.camp-archive>svg{flex:none;color:#3c8a62;margin-top:2px}.camp-archive h3{margin:0 0 8px;color:var(--navy);font-size:24px}.camp-archive p{margin:0 0 18px;color:var(--muted);line-height:1.6}.camp-archive .button{width:auto}@media(max-width:720px){.camp-archive{padding:24px 20px;flex-direction:column}.camp-archive .button{width:100%}}
