@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap";:root{--ink:#071923;--ink-2:#0c2835;--teal:#0f94a2;--teal-light:#69d2d6;--amber:#ffb22e;--paper:#f3f6f5;--muted:#9eb0b5;--line:#07192324;--header-height:96px;--max:1180px}*{box-sizing:border-box}html,body,#app{height:100%}body{min-width:320px;color:var(--ink);background:var(--paper);margin:0;font:16px DM Sans,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{background:var(--ink);height:100%}.content-panel{inset:var(--header-height) 0 0;scroll-behavior:smooth;background:var(--paper);position:fixed;overflow:hidden auto}.content-panel main{min-height:calc(100vh - var(--header-height))}.site-header{z-index:50;height:var(--header-height);padding:0 max(32px,calc((100vw - var(--max))/2));color:#fff;background:var(--ink);border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.brand img{object-fit:contain;filter:brightness(0)invert();width:225px;height:72px;display:block}nav{color:#d4e3e5;align-items:center;gap:27px;font-size:.9rem;display:flex}nav a{padding:10px 0}nav a:hover,nav a.router-link-active{color:#fff}nav a.router-link-active:not(.nav-cta){box-shadow:inset 0 -2px var(--teal-light)}.nav-cta{border:1px solid #ffffff80;border-radius:999px;margin-left:4px;padding:12px 18px}.nav-cta:hover{color:var(--ink);background:#fff}.menu-button{color:#fff;background:0 0;border:0;padding:8px;display:none}.menu-button>span:not(.sr-only){background:currentColor;width:25px;height:1px;margin:6px;display:block}h1,h2,h3{letter-spacing:-.045em;margin:0;font-family:Manrope,sans-serif;font-weight:500;line-height:1}h1{font-size:clamp(3.35rem,6.5vw,6.4rem)}h1 em{color:var(--teal-light);font-style:normal}h2{font-size:clamp(2.6rem,4.5vw,4.7rem)}.section-pad{padding:clamp(80px,9vw,125px) max(32px,calc((100vw - var(--max))/2))}.section-label,.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:.18em;margin:0 0 24px;font-size:.75rem;font-weight:600}.section-label.light{color:#c4f2f0}.button{cursor:pointer;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:26px;padding:17px 21px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.62;cursor:wait;transform:none}.button-primary{color:var(--ink);background:var(--amber)}.button-primary:hover{background:#ffc45b}.button-light{color:var(--ink);background:#fff}.inline-link{color:var(--teal);border-bottom:1px solid;margin-top:22px;font-weight:600;display:inline-block}.hero{min-height:calc(100vh - var(--header-height));padding:clamp(80px,10vw,145px) max(32px,calc((100vw - var(--max))/2));color:#fff;background:radial-gradient(circle at 80% 40%,#104656 0,#0a2936 33%,var(--ink) 72%);grid-template-columns:1.08fr .92fr;align-items:center;gap:65px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #69d2d638;border-radius:50%;width:52vw;height:52vw;position:absolute;bottom:-34vw;right:-22vw;box-shadow:0 0 0 80px #69d2d606,0 0 0 160px #69d2d606}.hero-grid{opacity:.1;background-image:linear-gradient(#ffffff26 1px,#0000 1px),linear-gradient(90deg,#ffffff26 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 75%);mask-image:linear-gradient(90deg,#000,#0000 75%)}.hero-copy,.carousel{z-index:1;position:relative}.eyebrow{color:var(--teal-light);align-items:center;gap:12px;display:flex}.eyebrow span{background:var(--amber);width:38px;height:2px}.hero-intro{color:#bdcdd1;max-width:590px;margin:32px 0 0;font-size:1.18rem;line-height:1.65}.hero-actions{align-items:center;gap:30px;margin-top:42px;display:flex}.text-link{color:#e2edef;border-bottom:1px solid #ffffff59;padding:10px 0}.carousel{min-width:0}.carousel-stage{aspect-ratio:4/3;background:#0b303d;border:1px solid #69d2d647;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000047}.carousel-slide{opacity:0;transition:opacity .7s;position:absolute;inset:0}.carousel-slide.active{opacity:1}.carousel-slide img{object-fit:cover;width:100%;height:100%}.carousel-slide img.missing{display:none}.carousel-placeholder{color:#c8e6e7;background:linear-gradient(145deg,#0b3543,#0c202a);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.carousel-placeholder:before{content:"";border:1px solid #69d2d62b;position:absolute;inset:12%}.carousel-placeholder span{color:var(--amber);letter-spacing:.2em;font-size:.75rem}.carousel-placeholder p{margin:12px 0 8px;font:500 clamp(2rem,4vw,3.5rem) Manrope,sans-serif}.carousel-placeholder small{color:#7fa2a8;text-transform:uppercase;letter-spacing:.15em}.carousel-slide img:not(.missing)+.carousel-placeholder{display:none}.carousel-caption{text-transform:uppercase;letter-spacing:.14em;text-shadow:0 1px 8px #000;gap:12px;font-size:.68rem;display:flex;position:absolute;bottom:20px;left:22px}.carousel-caption span{color:var(--amber)}.carousel-arrow{z-index:3;color:#fff;cursor:pointer;background:#071923ad;border:1px solid #ffffff40;width:42px;height:42px;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow.previous{left:12px}.carousel-arrow.next{right:12px}.carousel-dots{justify-content:center;gap:9px;margin-top:18px;display:flex}.carousel-dots button{cursor:pointer;background:#ffffff40;border:0;width:28px;height:3px;padding:0}.carousel-dots button.active{background:var(--amber)}.home-intro{grid-template-columns:.55fr 1fr;align-items:start;gap:28px 80px;display:grid}.home-intro>p:not(.section-label),.home-intro>.inline-link{grid-column:2;max-width:620px}.home-intro>p:not(.section-label){color:#526970;margin:0;font-size:1.2rem;line-height:1.7}.home-intro h2{grid-column:2}.page-section,.services-page{min-height:calc(100vh - var(--header-height))}.page-section{grid-template-columns:.9fr 1.1fr;gap:100px;display:grid}.page-heading h1,.services-page h1{color:var(--ink)}.page-heading h1 em,.services-page h1 em{color:var(--teal)}.studio-copy{padding-top:38px}.studio-copy>p{color:#526970;line-height:1.8}.studio-copy .lead{color:var(--ink);margin-top:0;font-size:1.5rem;line-height:1.5}.details{border-top:1px solid var(--line);margin:48px 0}.details div{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:25px;padding:20px 0;display:grid}.details span{color:#6e8288}.section-heading{grid-template-columns:1.25fr .75fr;align-items:end;gap:90px;display:grid}.section-heading>p{color:#526970;margin:0 0 5px;line-height:1.75}.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:78px 0 48px;display:grid}.service-card{border-right:1px solid var(--line);min-height:310px;padding:28px 34px 20px 0}.service-card+.service-card{padding-left:34px}.service-card:last-child{border-right:0}.service-card>span{color:var(--teal);font-size:.76rem}.service-card h2{margin-top:75px;font-size:2.15rem}.service-card p{color:#526970;line-height:1.7}.contact-page{min-height:calc(100vh - var(--header-height));color:#fff;background:var(--teal);grid-template-columns:.9fr 1.1fr;gap:90px;display:grid;position:relative;overflow:hidden}.contact-page:after{content:"";border:90px solid #ffffff14;border-radius:50%;width:650px;height:650px;position:absolute;top:-40%;right:-13%}.contact-copy,.contact-form{z-index:1;position:relative}.contact-copy h1 em{color:#d3f7f5}.contact-copy>p:not(.section-label){color:#d9f5f3;margin:28px 0;font-size:1.12rem;line-height:1.65}.contact-copy>a{border-bottom:1px solid #fff9}.contact-form{color:var(--ink);background:#fff;align-content:start;padding:36px;display:grid;box-shadow:0 28px 70px #022e3540}.contact-form label{margin:0 0 8px;font-weight:600}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);background:#f2f6f5;border:1px solid #b9c9c9;border-radius:2px;margin:0 0 22px;padding:13px 14px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal);outline:3px solid #0f94a238}.contact-form textarea{resize:vertical}.contact-form .button{background:var(--ink);color:#fff;justify-self:start}.form-message{margin:20px 0 0;line-height:1.5}.form-message.success{color:#176a4b}.form-message.error{color:#a12727}.site-footer{min-height:145px;padding:30px max(32px,calc((100vw - var(--max))/2));color:#9bb0b4;background:var(--ink);justify-content:space-between;align-items:center;gap:24px;font-size:.8rem;display:flex}.site-footer img{object-fit:contain;filter:brightness(0)invert();width:190px;height:68px}.site-footer a:last-child{color:#fff}.page-enter-active,.page-leave-active{transition:opacity .18s}.page-enter-from,.page-leave-to{opacity:0}@media (width<=950px){:root{--header-height:82px}.site-header{padding:0 22px}.brand img{width:190px;height:62px}.menu-button{display:block}nav{color:#d4e3e5;background:#0b2632;border-top:1px solid #ffffff1f;flex-direction:column;align-items:stretch;gap:12px;padding:26px;display:none;position:absolute;top:82px;left:0;right:0;box-shadow:0 20px 35px #00000040}nav.open{display:flex}nav a{padding:10px}nav a.router-link-active:not(.nav-cta){box-shadow:none;color:var(--teal-light)}.nav-cta{text-align:center;margin:4px 0 0}.hero{grid-template-columns:1fr;gap:65px;min-height:auto}.carousel{width:min(100%,650px)}.page-section,.section-heading,.contact-page{grid-template-columns:1fr;gap:42px}.studio-copy{padding-top:0}.section-heading>p{max-width:620px}}@media (width<=650px){.hero,.section-pad{padding-left:22px;padding-right:22px}.hero-actions{flex-direction:column;align-items:stretch}.text-link{align-self:flex-start}.home-intro{grid-template-columns:1fr}.home-intro>*{grid-column:1!important}.details div{grid-template-columns:1fr;gap:7px}.service-grid{grid-template-columns:1fr;margin-top:55px}.service-card,.service-card+.service-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:28px 0 35px}.service-card h2{margin-top:35px}.contact-form{padding:25px 20px}.site-footer{text-align:center;flex-direction:column;padding-top:42px;padding-bottom:42px}}@media (prefers-reduced-motion:reduce){.content-panel{scroll-behavior:auto}*{transition:none!important}}
