@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Poppins:wght@400;500;600;700&family=Questrial&display=swap');
:root{--navy:#1d2d50;--dark:#15223d;--gold:#d8b64e;--gold-light:#f2d77b;--ink:#25354e;--muted:#657080;--line:#dedfe5;--paper:#f7f8fa;--red:#a42932;--body:'Questrial',Arial,sans-serif;--heading:'Poppins',Arial,sans-serif;--display:'Bree Serif',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:128px}body{margin:0;color:var(--ink);font:18px/1.65 var(--body);background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #996e12;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{line-height:1.22}h2{font:400 clamp(1.9rem,3vw,2.55rem)/1.25 var(--display);color:var(--navy)}h3{font:600 1.1rem/1.4 var(--heading)}.container{max-width:1200px;margin:auto;padding:0 28px}.narrow{max-width:850px}.section{padding:78px 0}.center{text-align:center}.eyebrow{display:block;font:600 .8rem/1.6 var(--heading);letter-spacing:.16em;text-transform:uppercase;color:#806116;margin-bottom:12px}.subtitle{color:var(--muted);margin:15px auto 38px;max-width:640px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 25px;border:1px solid transparent;border-radius:6px;font:600 .9rem/1.5 var(--heading);transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--dark)}.gold:hover{background:var(--gold-light)}.red{background:var(--red);color:white}.navy{background:var(--navy);color:white}.outline{border-color:var(--line);background:white;color:var(--navy)}.button:disabled{cursor:wait;opacity:.6;transform:none}.skip{position:absolute;left:10px;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}
.header{position:sticky;top:0;background:white;border-bottom:3px solid var(--gold);z-index:20}.header-inner{height:118px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px}.brand img{height:102px;width:102px;object-fit:contain}.brand-text{display:flex;flex-direction:column;max-width:180px;font:600 .83rem/1.35 var(--heading)}.brand-text small{font-size:.7rem;letter-spacing:.13em;font-weight:400;margin-top:5px}.nav{display:flex;align-items:center;gap:26px}.nav a{font:500 .875rem/1.4 var(--heading)}.nav a:hover,.nav .active{color:var(--red)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 14px;border-radius:5px;font-size:22px}.hero{position:relative;background:repeating-linear-gradient(-55deg,transparent 0,transparent 80px,#d8b64e09 80px,#d8b64e09 81px),radial-gradient(ellipse at 80% 0,#b69b4130,transparent 60%),linear-gradient(135deg,#263a60,var(--dark));color:white;padding:47px 0 66px;border-bottom:3px solid var(--gold);text-align:center}.breadcrumb{font-size:.875rem;color:#d5daE4;display:flex;gap:12px;justify-content:center;margin-bottom:22px}.breadcrumb span:last-child{color:var(--gold-light)}.hero h1{font:400 clamp(2.15rem,4vw,3.3rem)/1.2 var(--display);margin-bottom:15px}.hero p{max-width:710px;margin:auto;color:#e0e4ed;font-size:1.2rem}.hero .button{margin-top:25px}.hero .levels{font-size:.83rem;margin-top:20px;color:#d9dfeb;letter-spacing:.06em}.admission-form{max-width:710px;margin:0 auto}.notice{padding:20px 24px;background:#f3f5f8;border-left:3px solid var(--gold);border-radius:4px;font-size:1rem;margin-bottom:32px}.notice strong{display:block;font-family:var(--heading);font-size:.9rem;margin-bottom:5px}.notice p{color:var(--muted)}fieldset{min-width:0;margin:0 0 32px;padding:24px 28px 8px;border:1px solid var(--line);border-radius:8px}legend{font:600 1.12rem/1.5 var(--heading);padding:0 9px;color:var(--navy)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.field{margin-bottom:22px;min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font:500 .9rem/1.5 var(--heading);margin-bottom:8px}.req{color:var(--red)}input,select,textarea{width:100%;border:2px solid var(--line);border-radius:7px;padding:12px 14px;background:white;color:var(--ink);min-height:50px;font-size:1rem}input:focus,select:focus,textarea:focus{outline:none;border-color:#b69032;box-shadow:0 0 0 3px #d8b64e24}input:disabled{background:#f4f5f7}textarea{resize:vertical;min-height:96px}.hint{font-size:.875rem;line-height:1.5;color:var(--muted);margin:6px 0 0}.block-hint{margin:0 0 22px;border-bottom:1px dashed var(--line);padding-bottom:15px}.check{display:flex;align-items:flex-start;gap:12px;font-size:1rem;margin-bottom:20px}.check input{width:20px;height:20px;min-height:20px;margin-top:4px;flex-shrink:0;accent-color:var(--navy)}.check a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.signature{border:2px dashed #c6cbd4;background:#fbfcfe;border-radius:7px;position:relative}.signature canvas{display:block;width:100%;height:170px;touch-action:none}.signature-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.signature-tools button{border:0;background:transparent;text-decoration:underline;color:var(--navy);font-size:.875rem}.signature-tools span{font-size:.8rem;color:var(--muted)}.submit-button{width:100%;padding:17px}.form-message{padding:18px;border-radius:6px;margin-bottom:18px;background:#fdf2e4;color:#6c4710;border:1px solid #e6c88d;white-space:pre-line}.form-message.success{background:#eaf5ee;color:#28583b;border-color:#afd2bd}[hidden]{display:none!important}.privacy-note{font-size:.875rem;text-align:center;color:var(--muted);margin:14px 0}.muted-section{background:var(--paper)}.map{width:100%;height:360px;border:0;border-radius:10px;background:#eef0f4}.visit-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:24px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.feature{padding:28px 25px;border:1px solid var(--line);border-radius:10px;background:white}.feature-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f1d8;color:#856210;margin-bottom:18px}.feature-icon svg{width:22px;height:22px}.feature p{color:var(--muted);font-size:1rem;margin-top:10px}.school-copy{max-width:810px;margin:25px auto 35px;text-align:center;color:var(--muted)}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photos figure{margin:0}.photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px}.photos figcaption{font-size:.875rem;margin-top:10px;color:var(--muted)}.gallery-link{display:inline-block;margin-top:30px;border-bottom:1px solid #ad8832;color:#75570c;font:500 .9rem var(--heading)}.costs{background:var(--navy);color:white;padding:55px 0;text-align:center}.costs h2{color:white}.costs p{color:#d6dceb;margin:15px 0 23px}.costs small{display:block;font-size:1rem;margin-top:16px}.faq{max-width:810px;margin:0 auto}.faq details{border:1px solid var(--line);border-radius:7px;margin-bottom:13px;background:white}.faq summary{padding:20px 23px;cursor:pointer;font:500 1rem/1.5 var(--heading);list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::after{content:'+';font-size:22px;color:#8a6715}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 23px 22px;color:var(--muted);font-size:1rem}.faq a{text-decoration:underline}.footer{background:var(--dark);color:#d8dfec;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:60px}.footer .brand img{height:115px;width:115px}.footer h3{color:var(--gold-light);font-size:1rem;margin-bottom:18px}.footer p,.footer a{font-size:1rem}.footer nav{display:grid;gap:7px}.footer address{font-style:normal;font-size:1rem;overflow-wrap:anywhere}.footer address a{display:block;margin-top:10px}.motto{margin-top:15px;max-width:330px;font-style:italic}.footer-bottom{border-top:1px solid #ffffff22;padding-top:20px;margin-top:36px;font-size:.875rem;display:flex;justify-content:space-between;gap:20px}.whatsapp{position:fixed;right:24px;bottom:24px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#128c4d;color:white;box-shadow:0 4px 18px #0003;z-index:25}.whatsapp:hover{background:#086f38}.whatsapp svg{width:32px;height:32px}.back-top{position:fixed;right:34px;bottom:93px;width:38px;height:38px;background:white;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center;z-index:25}.privacy-content{max-width:820px;margin:auto;font-size:1rem}.privacy-content h3{margin:28px 0 10px}.privacy-content a{text-decoration:underline}
@media(min-width:1500px){.hero{padding:60px 0 75px}}@media(max-width:1080px){.brand-text{display:none}.nav{gap:18px}.header-inner{gap:16px}}@media(max-width:800px){html{scroll-padding-top:95px}.header-inner{height:90px}.brand img{width:78px;height:78px}.brand-text{display:flex;font-size:.72rem;max-width:160px}.brand-text small{font-size:.64rem}.header-cta{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:90px;left:0;right:0;background:white;border-bottom:3px solid var(--gold);padding:20px 28px;box-shadow:0 8px 12px #0001}.nav.open{display:grid;gap:0}.nav a{padding:12px 0}.hero{padding:35px 0 45px}.hero p{font-size:1.05rem}.section{padding:55px 0}.features{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.photos{gap:12px}.footer-bottom{flex-direction:column;gap:6px}}@media(max-width:560px){body{font-size:16px}.container{padding:0 20px}.hero h1{font-size:2.25rem}.hero .button{padding:14px 20px;font-size:.83rem}.breadcrumb{margin-bottom:18px}.grid{grid-template-columns:1fr;gap:0}fieldset{padding:20px 17px 3px}legend{font-size:1rem}.notice{padding:18px}.features,.photos,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.photos{gap:23px}.photos img{aspect-ratio:1.2}.feature{padding:24px}.subtitle{margin-bottom:30px}.signature-tools{align-items:flex-start}.signature-tools span{max-width:160px}.visit-actions .button{width:100%}.footer-bottom{padding-right:50px}.whatsapp{right:16px;bottom:16px}.back-top{right:26px;bottom:83px}.map{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Motion is progressive enhancement; content stays visible without JavaScript. */
.header{transition:box-shadow .3s ease}.header-inner,.brand img{transition:height .3s ease,width .3s ease}.header.is-scrolled{box-shadow:0 4px 24px #15223d14}.header.is-scrolled .header-inner{height:88px}.header.is-scrolled .brand img{height:74px;width:74px}
.nav a{position:relative}.nav a::after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}
.feature{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.feature:hover{transform:translateY(-5px);box-shadow:0 14px 32px #15223d0e;border-color:#cbb779}.photos img{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}.photos figure:hover img{transform:translateY(-4px) scale(1.012);box-shadow:0 12px 28px #15223d20}
.button{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.button:hover{box-shadow:0 6px 16px #15223d1a}.button:active{transform:translateY(0)}input,select,textarea{transition:border-color .2s,box-shadow .2s}.whatsapp{transition:transform .25s,background .25s}.whatsapp:hover{transform:scale(1.08)}
.submit-button[aria-busy=true]::before{content:'';height:18px;width:18px;border:2px solid #ffffff66;border-top-color:white;border-radius:50%;animation:campestre-spin .75s linear infinite}.form-message.success{border-left:4px solid #3e885c}.faq details[open]{border-color:#c9b36c}.faq summary::after{transition:transform .2s}.faq details[open] summary::after{transform:rotate(180deg)}@keyframes campestre-spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.header.is-scrolled .header-inner{height:78px}.header.is-scrolled .brand img{height:67px;width:67px}.header.is-scrolled .nav{top:78px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.feature:hover,.photos figure:hover img,.button:hover,.whatsapp:hover{transform:none}}
