:root{--c-header: #afc6d4;--c-cta: #afc6d4;--c-dark-bg: #182831;--c-light-bg: #e8f0f5;--c-text-light: #ffffff;--c-text-dark: #002946;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--header-h: 84px;--layout-max-width: 1120px;--layout-padding-x: clamp(16px, 4vw, 32px);--shadow-sm: 0 6px 18px rgba(0, 0, 0, .18);--shadow-md: 0 18px 40px rgba(0, 0, 0, .22);scroll-padding-top:var(--header-h)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--c-text-dark);background:#f5f9fb;line-height:1.6;overflow-x:hidden}body.is-menu-open{overflow:hidden;touch-action:none}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--layout-max-width),calc(100% - 2 * var(--layout-padding-x)));margin:0 auto}.section{padding:clamp(56px,7vw,96px) 0}.section-dark{background:var(--c-dark-bg);color:var(--c-text-light)}.section-light{background:var(--c-light-bg)}.section-lead h2{margin:0 0 10px;font-size:clamp(1.7rem,2.2vw + 1.1rem,2.5rem)}.lead-sub{margin:0;opacity:.9;max-width:72ch}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 18px;border:1px solid transparent;cursor:pointer;font-weight:700;letter-spacing:.02em}.btn-primary{background:var(--c-cta);color:#052233}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{border-color:#ffffff73;background:#ffffff14;color:var(--c-text-light)}.btn-secondary:hover{background:#ffffff24}:focus-visible{outline:3px solid rgba(175,198,212,.65);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.site-header{position:fixed;inset:0 0 auto 0;height:var(--header-h);z-index:1000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:10px var(--layout-padding-x);background:#0a12188c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(-110%);transition:transform .26s ease}.site-header.is-visible{transform:translateY(0)}.compact-brand img{height:44px;width:auto}@media (min-width: 768px){.compact-brand img{height:58px}}@media (min-width: 1200px){.compact-brand img{height:64px}}.site-nav ul{list-style:none;display:flex;justify-content:center;gap:22px;margin:0;padding:0}.site-nav a{color:#ffffffe0;font-weight:700;letter-spacing:.15em;font-size:.82rem}.site-nav a:hover{color:#fff}.site-cta{white-space:nowrap}.mobile-menu-btn{display:none;background:transparent;border:none;color:#fff;padding:8px;border-radius:10px}.menu-icon{width:28px;height:22px;display:inline-block;position:relative}.menu-line{position:absolute;left:0;right:0;height:2px;background:#ffffffeb;border-radius:2px;transform-origin:center;transition:transform .16s ease,opacity .16s ease,top .16s ease}.menu-line.line-1{top:3px}.menu-line.line-2{top:10px}.menu-line.line-3{top:17px}.menu-icon.is-open .menu-line.line-1{top:10px;transform:rotate(45deg)}.menu-icon.is-open .menu-line.line-2{opacity:0}.menu-icon.is-open .menu-line.line-3{top:10px;transform:rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:2000;isolation:isolate}.mobile-menu-panel{position:fixed;top:var(--header-h);left:0;right:0;bottom:auto;z-index:2001;width:100%;max-height:calc(100dvh - var(--header-h));overflow:auto;background:#0a1218f7;padding:16px var(--layout-padding-x) 18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow-md);border-bottom-left-radius:18px;border-bottom-right-radius:18px}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between}.mobile-menu-title{color:#ffffffe6;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mobile-menu-close{background:transparent;border:none;color:#fff;font-size:28px;line-height:1;padding:4px 8px}.mobile-menu-links{list-style:none;padding:0;margin:0;display:grid;gap:12px}.mobile-menu-links a{display:block;padding:10px 4px;color:#fff;font-weight:800;font-size:1.1rem}.mobile-menu-links a:active{opacity:.9}.mobile-menu-cta{width:100%;margin-top:14px}.hero{position:relative;min-height:100dvh;display:flex;align-items:center;color:#fff;padding:calc(var(--header-h) + 44px) 0 86px;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/underwater_background.svg) center / cover no-repeat;filter:brightness(.9) saturate(1.05);transform:scale(1.04)}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#000a1273,#000c14e0)}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(22px,5vw,64px)}.hero-inner--stacked{grid-template-columns:1fr;text-align:left}.hero-logo{width:min(400px,800px);margin:0 0 14px;opacity:.95;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35));align-items:center}.hero-mark{display:none}@media (min-width: 1200px){.hero-logo{width:800px;align-items:center;margin:0 auto}}.hero-kicker{font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:.86;margin:0 0 12px}.hero-copy h1{font-size:clamp(1rem,3vw + 1.2rem,1.8rem);line-height:1.1;margin:0 0 12px}.hero-sub{margin:0 0 22px;max-width:56ch;opacity:.9;font-size:1.05rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-mark img{width:min(420px,100%);margin-left:auto;opacity:.9}@media (max-width: 767px){.hero-inner{grid-template-columns:1fr}.hero-mark{display:none}.hero{padding-top:calc(var(--header-h) + 28px);padding-bottom:86px}}.hero-scroll-hint{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:2;border:1px solid rgba(255,255,255,.22);background:#0000002e;color:#ffffffeb;border-radius:999px;padding:10px 14px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .14s ease,background .14s ease}.hero-scroll-hint:hover{background:#00000047;transform:translate(-50%) translateY(-1px)}.hero-scroll-hint__label{font-weight:800;letter-spacing:.04em;font-size:.92rem}.hero-scroll-hint__chevron{display:inline-block;font-size:1.6rem;line-height:1;animation:heroBop 1.4s ease-in-out infinite}@keyframes heroBop{0%,to{transform:translateY(-2px)}50%{transform:translateY(2px)}}@media (prefers-reduced-motion: reduce){.hero-scroll-hint__chevron{animation:none}}.mission-grid{margin-top:28px;display:grid;grid-template-columns:1fr;gap:clamp(18px,4vw,46px);align-items:stretch}@media (min-width: 1200px){.mission-grid{grid-template-columns:3fr 2fr}}.mission-main{display:grid;gap:16px}.mission-headline{margin:0}.mission-body{max-width:65ch;display:grid;gap:12px}.mission-body p{margin:0;opacity:.9}.definition-shell{width:min(680px,100%);justify-self:start;padding:14px;border-radius:calc(var(--radius-lg) + 4px);background:#00000029;border:1px solid rgba(255,255,255,.1)}.definition-strip--mission{width:100%;margin:0}.definition-title{display:block;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.definition-pron{display:block;font-weight:500;letter-spacing:.02em;opacity:.85}.definition-body p{font-size:.95rem}.definition-tag{font-size:1.1rem;border-radius:999px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff26;border:1px solid rgba(255,255,255,.2)}.about-me--mission{width:100%;display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.about-me-title{margin:0}.about-headshot--lg{width:180px;height:180px;justify-self:start;border-radius:50%;object-fit:cover;align-items:center;margin:0 auto}.about-me-copy p{margin:0 0 10px;opacity:.9}.about-me-copy p:last-child{margin-bottom:0}@media (min-width: 768px) and (max-width: 1199px){.about-headshot--lg{width:160px;height:160px}}@media (max-width: 767px){.about-headshot--lg{width:150px;height:150px;justify-self:start}.about-me--mission{text-align:left}}.solutions-grid{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.solution-card{background:#ffffffe6;border-radius:var(--radius-lg);padding:18px;border:1px solid rgba(0,0,0,.12);box-shadow:var(--shadow-sm)}.solution-card p{margin:10px 0 0;color:#000000c2}.solution-head{display:flex;align-items:center;gap:12px}.solution-head h3{margin:0;font-size:1.02rem}.solution-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#afc6d48c;color:#052233;flex:0 0 auto}.solution-icon-svg{width:22px;height:22px}@media (min-width: 768px){.solution-card{transition:transform .16s ease,box-shadow .16s ease}.solution-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}@media (min-width: 1200px){.solutions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.solution-card{padding:22px}}@media (min-width: 768px) and (max-width: 1199px){.solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.solution-card{padding:20px}}@media (max-width: 767px){.solutions-grid{grid-template-columns:1fr}}.solutions-mobile{margin-top:18px;display:grid;gap:14px}.solutions-mobile .solution-card{padding:14px;transform:none;opacity:1;box-shadow:var(--shadow-sm)}.solutions-mobile .solution-card{opacity:.08;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease}.solutions-mobile .solution-card.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.solutions-mobile .solution-card{opacity:1;transform:none;transition:none}}.projects-grid{margin-top:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.project-card{border-radius:var(--radius-lg);overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 #0000;min-height:280px;opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease}.project-card.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.project-card{opacity:1;transform:none;transition:none}}.project-card-link{height:100%;width:100%;display:grid;position:relative;text-align:left;background:transparent;border:0;padding:0;color:inherit;cursor:pointer}.project-card-link:focus-visible{outline:2px solid rgba(175,198,212,.65);outline-offset:4px;border-radius:var(--radius-lg)}.project-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(.65);transform:scale(1.02);transition:transform .28s ease,filter .28s ease}.project-inner{position:relative;z-index:1;padding:18px;display:grid;grid-template-rows:auto 1fr}.project-title{margin:0;font-size:1.2rem;letter-spacing:.02em}.project-overlay{margin-top:auto;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.project-desc{margin:0 0 12px;opacity:.92}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag{font-size:.78rem;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#0000002e}.project-cta{width:max-content}.project-cta.is-disabled{opacity:.8}.project-card.is-open .project-overlay{opacity:1;transform:translateY(0)}.project-card.is-open .project-bg{transform:scale(1.06);filter:brightness(.55)}.project-hint{display:block;margin-top:10px;font-size:.85rem;font-weight:700;opacity:.82}.project-card:hover .project-overlay,.project-card:focus-within .project-overlay{opacity:1;transform:translateY(0)}.project-card:hover .project-bg,.project-card:focus-within .project-bg{transform:scale(1.06);filter:brightness(.55)}@media (max-width: 1199px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767px){.projects-grid{grid-template-columns:1fr}}.site-footer{background:#06151d;color:#fff;padding:40px 0 34px}.footer-inner{display:grid;gap:18px;justify-items:center;text-align:center}.footer-brand{background:transparent;border:0;padding:0;cursor:pointer}.footer-brand:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:6px;border-radius:18px}.footer-brand img{width:132px;height:auto}@media (min-width: 768px){.footer-brand img{width:170px}}@media (min-width: 1200px){.footer-brand img{width:190px}}.footer-tagline{margin:0;opacity:.9;max-width:60ch}.footer-sep{width:min(520px,92%);border:0;height:1px;background:#ffffff1f;margin:6px 0}.footer-grid{width:100%;display:grid;grid-template-columns:1fr;gap:18px;align-items:center;justify-items:center}.footer-contact{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.footer-link{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;display:grid;place-items:center;cursor:pointer;color:#fff}.footer-link:hover{background:#ffffff1f}.footer-icon{width:22px;height:22px}.footer-cta{width:min(360px,100%)}.footer-bottom{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;opacity:.9}.to-top{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f;color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,background .12s ease}.to-top:hover{transform:translateY(-1px);background:#ffffff1f}@media (max-width: 767px){.footer-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}}.contact-form{width:min(720px,100%);display:grid;gap:14px;text-align:left}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px}.field label{font-weight:800;opacity:.9;letter-spacing:.02em}.field input,.field textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;font:inherit}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(175,198,212,.55);outline-offset:2px}.field--full{grid-column:1 / -1}.field.hp{display:none}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.form-status{margin:0;font-weight:700;opacity:.95}.form-status.ok{color:#a5ffd6f2}.form-status.err{color:#ffbcbcf2}.form-status a{color:#fff;text-decoration:underline}@media (max-width: 767px){.contact-form-grid{grid-template-columns:1fr}}@media (max-width: 767px){.site-nav{display:none}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;justify-self:end}}@media (min-width: 768px) and (max-width: 1199px){.hero-logo{width:min(720px,100%);margin-bottom:18px}.hero-copy h1{font-size:clamp(1.4rem,1.8vw + 1.2rem,2.2rem)}.hero-sub{font-size:1.12rem}}
