@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#021925;--deep:#03283a;--blue:#054761;--aqua:#23d8d2;--ice:#dffbfa;--coral:#ff5b4f;--white:#f7ffff;--pad:clamp(24px,6vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:'DM Sans',system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:94px;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;transition:.4s;background:linear-gradient(#031c2dcc,transparent)}.nav.scrolled{height:72px;background:#021925e8;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff18}.brand img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 18px #0007)}.nav.scrolled .brand img{width:54px;height:54px}.nav nav{display:flex;align-items:center;gap:36px;font-size:13px;text-transform:uppercase;letter-spacing:.14em}.nav nav a:not(.nav-cta){position:relative}.nav nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--aqua);transition:.25s}.nav nav a:hover:after{width:100%}.nav-cta{border:1px solid #ffffff66;padding:13px 20px;border-radius:40px}.nav-cta:hover{background:var(--white);color:var(--navy)}.menu{display:none;background:none;border:0;padding:10px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:150px var(--pad) 80px;overflow:hidden;background:linear-gradient(110deg,#031c2d 0%,#073c50 50%,#047a8a 100%)}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,#021925 10%,#03283ad9 45%,#03283a33),url('assets/hero.jpg') center/cover;mix-blend-mode:screen;opacity:.58;transform:scale(1.04)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--navy))}.rays{position:absolute;inset:-20% -20% auto auto;width:80%;height:100%;background:conic-gradient(from 190deg at 50% 0%,transparent 0 14deg,#9fffff12 15deg 25deg,transparent 26deg 45deg,#fff1 46deg 58deg,transparent 59deg);filter:blur(8px);animation:rays 12s ease-in-out infinite alternate}.bubbles,.bubbles:before,.bubbles:after{position:absolute;border:1px solid #c9ffff33;border-radius:50%;content:""}.bubbles{width:18px;height:18px;right:17%;bottom:18%;animation:float 7s infinite}.bubbles:before{width:8px;height:8px;left:46px;top:80px}.bubbles:after{width:32px;height:32px;right:28px;top:150px}.hero-copy{position:relative;z-index:2;max-width:890px}.eyebrow{font:600 11px/1 'Manrope',sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--aqua);margin:0 0 28px}.eyebrow.coral{color:var(--coral)}h1,h2{font-family:'Manrope',sans-serif;letter-spacing:-.055em;line-height:.92;margin:0}h1{font-size:clamp(64px,10vw,148px);font-weight:700}h1 em,h2 em,blockquote em{font-weight:300;font-style:italic;color:var(--aqua)}.lead{font-size:clamp(17px,1.7vw,22px);font-weight:300;line-height:1.6;max-width:650px;color:#d7eff0;margin:32px 0}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border-radius:30px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;transition:.25s}.button.primary{background:var(--coral);box-shadow:0 14px 40px #ff5b4f33}.button.primary:hover{transform:translateY(-3px);box-shadow:0 18px 46px #ff5b4f55}.button.ghost{border:1px solid #ffffff4d}.button.ghost span{font-size:18px;margin-left:16px}.scroll-note{position:absolute;z-index:3;right:var(--pad);bottom:35px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-note span{display:inline-block;width:1px;height:55px;background:linear-gradient(var(--aqua),transparent);margin-bottom:12px}.depth{position:fixed;right:12px;top:50%;z-index:40;writing-mode:vertical-rl;font:600 10px 'Manrope';letter-spacing:.18em;color:#afffff80}.manifesto,.contact{position:relative;padding:clamp(100px,14vw,210px) var(--pad);background:var(--navy);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.6fr);gap:10vw}.section-no{position:absolute;top:70px;left:var(--pad);font:700 10px 'Manrope';color:#ffffff38}.manifesto h2,.section-heading h2,.contact h2{font-size:clamp(50px,7vw,100px)}.manifesto-copy>p:last-child,.contact-intro>p:last-child{font-size:18px;line-height:1.8;color:#aec7cc;max-width:660px;margin:40px 0 0}.facts{align-self:end;border-top:1px solid #ffffff25}.facts article{padding:24px 0;border-bottom:1px solid #ffffff25;display:flex;justify-content:space-between;align-items:end}.facts strong{font:600 14px 'Manrope';letter-spacing:.08em}.facts span{font-size:12px;color:#8faab0}.experiences{padding:120px var(--pad) 160px;background:#e9fafa;color:var(--navy)}.section-heading{margin-bottom:70px}.section-heading .eyebrow{color:#0b6878}.section-heading h2 em{color:#0b7e88}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;overflow:hidden;box-shadow:0 20px 60px #063d4d12;transition:.4s}.card:hover{transform:translateY(-10px)}.card img{width:100%;height:330px;object-fit:cover;filter:saturate(.7) contrast(1.05);transition:.6s}.card:hover img{transform:scale(1.04);filter:saturate(1)}.card>div{padding:28px 30px 35px}.card span{color:var(--coral);font-size:11px;font-weight:700}.card h3{font:700 25px 'Manrope';margin:12px 0}.card p{color:#49646b;line-height:1.65;margin:0}.quote{min-height:75vh;display:grid;place-items:center;text-align:center;padding:100px var(--pad);background:radial-gradient(circle at 50% 70%,#086072,var(--deep) 40%,var(--navy) 78%);position:relative;overflow:hidden}.quote blockquote{position:relative;z-index:1;font:500 clamp(38px,6vw,85px)/1.12 'Manrope';letter-spacing:-.045em;max-width:1150px;margin:0}.bubble-ring{position:absolute;width:470px;height:470px;border:1px solid #9ff6ee1f;border-radius:50%;box-shadow:0 0 100px #22ded333,inset 0 0 80px #22ded31a;animation:pulse 5s infinite}.contact{background:#f5ffff;color:var(--navy)}.contact h2 em{color:#087b84}.contact-card{background:var(--navy);color:white;padding:clamp(28px,4vw,55px);align-self:center;box-shadow:24px 24px 0 var(--aqua)}.person{display:flex;align-items:center;gap:20px}.person img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--aqua)}.person small{color:var(--coral);font-weight:700;letter-spacing:.18em}.person h3{font:700 22px 'Manrope';margin:6px 0 3px}.person p{margin:0;color:#a9c8ce;font-size:13px}.mail{display:block;font:600 clamp(18px,2.3vw,32px)/1.35 'Manrope';margin:45px 0;padding:26px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;overflow-wrap:anywhere}.mail span{float:right;color:var(--aqua)}.socials{display:flex;gap:14px}.socials a{display:flex;align-items:center;gap:10px;border:1px solid #ffffff38;padding:12px 17px;border-radius:40px;font:600 14px 'Manrope'}.socials a:hover{background:var(--coral);border-color:var(--coral)}footer{padding:35px var(--pad);display:grid;grid-template-columns:auto 1fr auto auto;gap:30px;align-items:center;border-top:1px solid #ffffff18;color:#839fa5;font-size:12px}footer img{width:48px;height:48px;object-fit:contain}footer a{color:white}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes float{0%{transform:translateY(0)}100%{transform:translateY(-420px)}}@keyframes rays{to{transform:translateX(-8%) rotate(2deg)}}@keyframes pulse{50%{transform:scale(1.08);opacity:.5}}
@media(max-width:850px){.nav{height:78px}.brand img{width:55px;height:55px}.menu{display:block;z-index:2}.menu span{display:block;width:25px;height:1px;background:white;margin:7px}.nav nav{position:fixed;inset:0;background:#021925;display:flex;flex-direction:column;justify-content:center;font-size:18px;opacity:0;pointer-events:none;transition:.3s}.nav nav.open{opacity:1;pointer-events:auto}.manifesto,.contact{grid-template-columns:1fr;gap:70px}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:.8fr 1fr}.card img{height:100%;min-height:250px}.contact-card{box-shadow:12px 12px 0 var(--aqua)}footer{grid-template-columns:auto 1fr}footer a,footer>span{justify-self:start}}@media(max-width:560px){h1{font-size:clamp(58px,18vw,82px)}.hero{padding-top:120px}.lead{font-size:16px}.button{width:100%}.card{display:block}.card img{height:240px}.socials{flex-direction:column}.contact-card{padding:25px 20px}.person{align-items:flex-start}.person img{width:64px;height:64px}.mail{font-size:17px}.quote{min-height:65vh}.bubble-ring{width:280px;height:280px}footer{display:flex;flex-wrap:wrap}.scroll-note,.depth{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rays,.bubbles,.bubble-ring{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Brand update */
:root{--coral:#25a83b}.nav{height:138px;padding-top:8px;padding-bottom:8px}.brand img{width:136px;height:136px}.nav.scrolled{height:94px}.nav.scrolled .brand img{width:92px;height:92px}.hero{padding-top:190px}.hero-mark{width:clamp(270px,32vw,520px);height:auto;margin:0 0 34px;filter:drop-shadow(0 8px 24px #0008)}.button.primary{box-shadow:0 14px 40px #25a83b38}.button.primary:hover{box-shadow:0 18px 46px #25a83b60}

/* Page-wide bubble stream */
.bubble-field{position:absolute;z-index:8;inset:0;overflow:hidden;pointer-events:none}.page-bubble{position:absolute;display:block;border:1px solid #d8ffff66;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff9 0 5%,#b9ffff22 10%,transparent 58%);box-shadow:inset -2px -3px 8px #63deda22,0 0 12px #55e9e833;opacity:.55;animation:bubbleDrift var(--speed) ease-in infinite;animation-delay:var(--delay)}@keyframes bubbleDrift{0%{transform:translate(0,80px) scale(.75);opacity:0}12%{opacity:.6}50%{transform:translate(var(--sway),-90px) scale(1)}90%{opacity:.42}100%{transform:translate(calc(var(--sway) * -.5),-260px) scale(1.08);opacity:0}}

@media(max-width:850px){.nav{height:106px}.brand img{width:100px;height:100px}.nav.scrolled{height:82px}.nav.scrolled .brand img{width:76px;height:76px}.hero{padding-top:155px}.hero-mark{width:min(76vw,390px);margin-bottom:26px}}
@media(max-width:560px){.nav{height:96px}.brand img{width:88px;height:88px}.hero{padding-top:140px}.hero-mark{width:min(82vw,340px)}}

/* The field follows the entire document, including the footer. */
body{position:relative}.bubble-field{inset:0 auto auto 0;width:100%;height:100%;min-height:100%;overflow:hidden}.page-bubble{z-index:1}
