:root{--ink:#202252;--forest:#2c2e70;--green:#0ca9e2;--sage:#e8f7fc;--cream:#f7f8fc;--sand:#8edcf3;--white:#fff;--muted:#626985;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--cream);font-size:16px}a{text-decoration:none}.skip-link{position:fixed;top:-100px;left:1rem;z-index:2000;background:#fff;padding:.75rem 1rem;color:var(--ink)}.skip-link:focus{top:1rem}.navbar{padding:1rem 0;background:rgba(246,242,233,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,36,31,.08)}.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--ink)}.navbar-brand>span:last-child{display:flex;flex-direction:column;line-height:.95;letter-spacing:.15em;font-size:.92rem}.navbar-brand small{font-size:.48rem;letter-spacing:.28em;margin-top:.35rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--forest);border-radius:50%;font-family:var(--serif);font-size:1.35rem}.nav-link{color:var(--ink);font-weight:600;font-size:.88rem;padding:.65rem .8rem!important}.nav-link.active,.nav-link:hover{color:var(--green)}.btn{border-radius:999px;padding:.72rem 1.25rem;font-weight:600}.btn-brand{background:var(--forest);border-color:var(--forest);color:#fff}.btn-brand:hover{background:#0c2d24;border-color:#0c2d24;color:#fff}.business-menu{width:min(780px,calc(100vw - 2rem));border:0;border-radius:18px;box-shadow:0 20px 60px rgba(20,50,40,.16)}.menu-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:.4rem 1rem}.dropdown-item{display:flex;justify-content:space-between;gap:.75rem;border-radius:8px;font-size:.86rem;padding:.48rem 1rem}.dropdown-item:hover{background:var(--sage)}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;padding:10rem 0 6rem;color:#fff;background:radial-gradient(circle at 75% 35%,rgba(213,181,130,.24),transparent 28%),linear-gradient(135deg,#183b31 0%,#0e2821 65%,#081b16 100%)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:linear-gradient(30deg,transparent 48%,rgba(255,255,255,.12) 49%,transparent 50%);background-size:70px 70px}.hero-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14)}.orb-one{width:520px;height:520px;right:-80px;top:90px}.orb-two{width:260px;height:260px;right:180px;top:220px}.hero h1,.page-hero h1,.contact-hero h1{font-family:var(--serif);font-size:clamp(3.4rem,8vw,7.3rem);line-height:.93;letter-spacing:-.04em;margin:.6rem 0 2rem}.hero h1 em,.page-hero h1 em,.contact-hero h1 em{font-weight:600;color:var(--sand)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--green);margin-bottom:1rem}.eyebrow.light{color:#c8d9d2}.hero-copy{font-size:1.2rem;max-width:580px;color:#d7e2dd;margin-bottom:2rem}.hero-stat{display:flex;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.28);padding-top:1.3rem}.hero-stat strong{font-family:var(--serif);font-size:3.5rem}.hero-stat span{color:#c8d9d2}.section-pad{padding:7rem 0}.intro h2,.business h2,.timeline-section h2,.contact-info h2,.section-pad h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.04;letter-spacing:-.03em}.lead-copy{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.6}.text-link{display:inline-flex;gap:.6rem;color:var(--green);font-weight:700;border-bottom:1px solid #9ab2a8;padding-bottom:.25rem}.business{background:#e6ebe4}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem}.section-heading p{max-width:260px;color:var(--muted)}.business-card{position:relative;min-height:300px;padding:2rem;background:#f7f5ef;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;border-radius:4px;transition:.3s ease}.business-card:hover{background:var(--forest);color:#fff;transform:translateY(-6px)}.card-no{font-size:.75rem;letter-spacing:.15em}.business-card h3{font-family:var(--serif);font-size:2.2rem}.business-card p{color:var(--muted);max-width:270px}.business-card:hover p{color:#c7d6d0}.card-arrow{position:absolute;right:2rem;top:1.7rem;font-size:1.5rem}.cta-section{background:#e6ebe4;padding:0 0 7rem}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:4rem;border-radius:6px;background:var(--green);color:#fff}.cta-panel h2{font:3.4rem var(--serif);margin:0}.page-hero,.contact-hero{padding:12rem 0 6rem;background:var(--forest);color:#fff}.page-hero p,.contact-hero p{max-width:580px;font-size:1.2rem;color:#cbd8d3}.story-copy p:not(.lead-copy){color:var(--muted);font-size:1.05rem;line-height:1.8}.timeline-section{background:#e6ebe4}.timeline{border-top:1px solid #9db0a8}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid #b4c2bc}.timeline-item>span{font:2rem var(--serif);color:var(--green)}.timeline-item h3{font:1.65rem var(--serif)}.timeline-item p{color:var(--muted);margin:0}.mission-grid{display:grid;grid-template-columns:1fr 1fr}.mission-card{padding:2rem;border-top:1px solid #bac6c0}.mission-card:nth-child(odd){border-right:1px solid #bac6c0}.mission-card span{color:var(--green);font-size:.75rem}.mission-card h3{font:1.7rem var(--serif);margin-top:1rem}.mission-card p{color:var(--muted)}.values{background:var(--sand);padding:7rem 0}.values blockquote{font:clamp(2.5rem,5vw,5rem)/1.12 var(--serif);max-width:1050px;margin:0}.contact-hero{padding-bottom:5rem}.contact-info{position:sticky;top:120px}.contact-info address,.contact-info>a,.contact-info>span{display:block;color:var(--muted);line-height:1.8}.contact-form{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 20px 60px rgba(24,52,42,.08)}.contact-form label{font-weight:600;margin-bottom:.55rem}.form-control{background:#f7f5ef;border:1px solid #d8ddd9;border-radius:4px;padding:.85rem 1rem}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(30,89,72,.12)}.form-note{color:var(--muted)}.site-footer{background:#0d241e;color:#b9c9c3}.footer-brand{font:1.35rem var(--serif);color:#fff;letter-spacing:.08em}.footer-brand span{display:block;font:600 .55rem var(--sans);letter-spacing:.3em}.footer-label{color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.8rem}.site-footer .col-lg-3 a{display:block;color:#b9c9c3;padding:.25rem 0}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.5rem;font-size:.82rem}
@media(max-width:991.98px){.navbar-collapse{background:var(--cream);padding:1rem 0 1.5rem;max-height:calc(100vh - 74px);overflow:auto}.business-menu{width:100%;box-shadow:none;background:#e9eee8}.hero{min-height:680px}.orb-one{right:-280px}.section-pad{padding:5rem 0}.contact-info{position:static}.section-heading{align-items:start}.cta-panel{padding:3rem}}
@media(max-width:575.98px){.hero{min-height:720px;padding-bottom:4rem}.hero h1,.page-hero h1,.contact-hero h1{font-size:3.4rem}.hero-stat{margin-top:1.5rem}.section-pad{padding:4rem 0}.section-heading,.cta-panel{flex-direction:column;align-items:flex-start}.business-card{min-height:250px}.timeline-item{grid-template-columns:1fr;gap:.5rem}.mission-grid{grid-template-columns:1fr}.mission-card:nth-child(odd){border-right:0}.contact-form{padding:1.4rem}.footer-bottom{flex-direction:column;gap:.5rem}}
html,body{overflow-x:hidden}
.navbar-toggler{min-width:44px;min-height:44px}
.navbar{background:rgba(255,255,255,.94);border-bottom-color:rgba(44,46,112,.1)}
.navbar-brand img{display:block;width:190px;height:auto}
.btn-brand{background:#2c2e70;border-color:#2c2e70}.btn-brand:hover{background:#202252;border-color:#202252}
.hero{background:radial-gradient(circle at 76% 34%,rgba(12,169,226,.3),transparent 28%),linear-gradient(135deg,#34377d 0%,#24265f 62%,#191b48 100%)}
.hero h1 em,.page-hero h1 em,.contact-hero h1 em{color:#72d5f3}.eyebrow.light{color:#aee7f8}.hero-copy,.hero-stat span,.page-hero p,.contact-hero p{color:#d9eaf5}
.business,.timeline-section,.cta-section{background:#eef7fb}.business-card{background:#fff}.business-card:hover{background:#2c2e70}.cta-panel{background:linear-gradient(115deg,#0ca9e2,#2c2e70)}
.page-hero,.contact-hero{background:linear-gradient(135deg,#34377d,#202252)}.values{background:linear-gradient(120deg,#bdeefa,#8edcf3)}
.text-link{border-bottom-color:#8ad8ef}.form-control{background:#f7f8fc}.form-control:focus{box-shadow:0 0 0 .2rem rgba(12,169,226,.14)}
.site-footer{background:#202252;color:#cfd2e7}.site-footer .col-lg-3 a{color:#cfd2e7}.footer-brand img{display:block;width:220px;height:auto}
@media(max-width:575.98px){.navbar-brand img{width:160px}.footer-brand img{width:190px}}

/* Accessible, age-friendly type scale */
body{font-size:17px;line-height:1.7}
.nav-link{font-size:.96rem}
.menu-label,.eyebrow,.footer-label{font-size:.8rem}
.dropdown-item{font-size:.94rem;line-height:1.45;padding:.58rem 1rem}
.hero h1,.page-hero h1,.contact-hero h1{font-size:clamp(3rem,6.2vw,5.8rem);line-height:1}
.hero-copy,.page-hero p,.contact-hero p{font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.65}
.intro h2,.business h2,.timeline-section h2,.contact-info h2,.section-pad h2{font-size:clamp(2.25rem,4vw,3.65rem);line-height:1.12}
.lead-copy{font-size:clamp(1.15rem,1.7vw,1.38rem);line-height:1.7}
.business-card h3{font-size:2rem}.business-card p,.story-copy p:not(.lead-copy),.mission-card p,.timeline-item p{font-size:1rem;line-height:1.7}
.cta-panel h2{font-size:clamp(2.3rem,4vw,3.3rem)}
.values blockquote{font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.2}
.contact-form label{font-size:1rem}.form-control{font-size:1rem;min-height:48px}.contact-form textarea.form-control{min-height:150px}
.site-footer{font-size:1rem}.footer-bottom{font-size:.9rem}
@media(max-width:575.98px){body{font-size:16px;line-height:1.65}.hero h1,.page-hero h1,.contact-hero h1{font-size:clamp(2.7rem,13vw,3.25rem)}.hero-copy{font-size:1.08rem}.intro h2,.business h2,.timeline-section h2,.contact-info h2,.section-pad h2{font-size:2.35rem}.business-card h3{font-size:1.85rem}.btn{font-size:1rem;min-height:46px}.nav-link{font-size:1rem;padding:.72rem .8rem!important}}
.founder-portrait{position:relative;margin:2.5rem 0 0;max-width:420px;padding:0 1.25rem 1.25rem 0}
.founder-portrait:after{content:"";position:absolute;right:0;bottom:0;width:72%;height:72%;z-index:-1;background:#0ca9e2}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:350/394;object-fit:cover;object-position:center;border-radius:4px}
.founder-portrait figcaption{position:absolute;right:0;bottom:0;min-width:210px;padding:1rem 1.25rem;background:#2c2e70;color:#fff;box-shadow:0 12px 30px rgba(32,34,82,.2)}
.founder-portrait figcaption strong,.founder-portrait figcaption span{display:block}.founder-portrait figcaption strong{font:1.35rem var(--serif)}.founder-portrait figcaption span{margin-top:.15rem;color:#bdeefa;font-size:.86rem}
.founder-quote{display:flex;gap:1rem;margin-top:2.5rem;padding:1.5rem 0;border-top:1px solid #cbd3e0;border-bottom:1px solid #cbd3e0;color:#2c2e70}
.founder-quote>span{font:3.5rem/1 var(--serif);color:#0ca9e2}.founder-quote p{margin:0;font:1.35rem/1.5 var(--serif)}
@media(max-width:575.98px){.founder-portrait{padding:0 .8rem .8rem 0}.founder-portrait figcaption{min-width:185px;padding:.8rem 1rem}.founder-quote p{font-size:1.2rem}}
.philosophy-hero{padding-bottom:4.5rem}.philosophy-hero h1{margin-bottom:0}
.philosophy-content{background:linear-gradient(180deg,#f7f8fc 0%,#eef7fb 100%)}
.vision-panel,.mission-panel{height:100%;padding:clamp(1.6rem,3vw,3rem);background:#fff;border:1px solid rgba(44,46,112,.1);box-shadow:0 18px 55px rgba(44,46,112,.08)}
.vision-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#2c2e70,#202252);color:#fff}
.vision-panel:after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border:50px solid rgba(12,169,226,.22);border-radius:50%}
.philosophy-label{position:relative;z-index:1;display:flex;align-items:center;gap:1rem;padding-bottom:1.35rem;margin-bottom:1.6rem;border-bottom:1px solid #d8deea}
.vision-panel .philosophy-label{border-color:rgba(255,255,255,.24)}.philosophy-label>span{color:#0ca9e2;font-size:.78rem;font-weight:700;letter-spacing:.14em}
.philosophy-label h2{margin:0;font-size:clamp(2rem,3vw,3rem)}
.vision-panel>p{position:relative;z-index:1;margin:0;font:clamp(1.25rem,2vw,1.6rem)/1.65 var(--serif);color:#eef8fc}
.mission-list{border-top:1px solid #d8deea}
.mission-list-item{display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;padding:1.15rem 0;border-bottom:1px solid #d8deea}
.mission-list-item span{padding-top:.18rem;color:#0ca9e2;font-size:.78rem;font-weight:700;letter-spacing:.12em}
.mission-list-item p{margin:0;color:#202252;font-size:1.05rem;line-height:1.55}
@media(max-width:575.98px){.vision-panel,.mission-panel{padding:1.4rem}.vision-panel>p{font-size:1.2rem}.mission-list-item{grid-template-columns:38px 1fr;gap:.65rem;padding:1rem 0}.mission-list-item p{font-size:1rem}}
.whatsapp-cta{display:inline-flex;align-items:center;justify-content:center;gap:.7rem}.whatsapp-cta svg{width:1.55rem;height:1.55rem;color:#25d366;flex:0 0 auto}.whatsapp-cta:hover svg{color:#1fb657}
.page-hero-copy{max-width:580px;font-size:1.2rem;line-height:1.7;color:#cbd8d3}.page-hero-copy p{margin:0}.page-hero-copy p+p{margin-top:.75rem}.page-hero-copy ul,.page-hero-copy ol{padding-left:1.4rem;margin-bottom:0}
.philosophy-rich-copy p:last-child,.philosophy-additional-content p:last-child{margin-bottom:0}.philosophy-additional-content{padding:2rem;border-top:1px solid #bac6c0;background:rgba(255,255,255,.45)}
.vision-panel>.philosophy-rich-copy{position:relative;z-index:1;margin:0;font:clamp(1.25rem,2vw,1.6rem)/1.65 var(--serif);color:#eef8fc}.vision-panel>.philosophy-rich-copy>div,.vision-panel>.philosophy-rich-copy>p{margin:0}.vision-panel>.philosophy-rich-copy>div:empty,.vision-panel>.philosophy-rich-copy>div:has(>br:only-child){display:none}@media(max-width:575.98px){.vision-panel>.philosophy-rich-copy{font-size:1.2rem}}
.map-section{background:#eef7fb}.map-frame{height:460px;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(32,34,82,.12)}.map-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:767.98px){.map-frame{height:350px}.map-section .section-heading{align-items:flex-start;flex-direction:column}}
.contact-section{padding-bottom:3rem}.contact-section+.map-section{padding-top:3rem}@media(max-width:767.98px){.contact-section{padding-bottom:2rem}.contact-section+.map-section{padding-top:2rem}}
