@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173d3e;--deep:#102f31;--deep2:#0b2628;--mint:#b7dccb;--mint-bright:#c7f0d8;--sand:#f4f0e8;--paper:#faf8f3;--text:#244446;--muted:#627b7a;--line:rgba(24,65,65,.17);--white:#fff;--radius:22px}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:94px}

body{margin:0;background:var(--paper);color:var(--text);font-family:'Manrope',Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}

body.menu-open,body.lightbox-open{overflow:hidden}

a{color:inherit;text-decoration:none}

img{display:block;max-width:100%}

button,input{font:inherit}

button{cursor:pointer}

::selection{background:#bce8d0;color:#103b37}

:focus-visible{outline:3px solid #9be2bd;outline-offset:3px}

.skip-link{position:fixed;z-index:1000;top:-60px;left:16px;padding:10px 16px;background:#fff;color:var(--ink)}
.skip-link:focus{top:12px}

.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}

.section{padding:130px 0}

.section h2{margin:0;color:var(--ink);font-size:clamp(39px,5.2vw,76px);font-weight:500;letter-spacing:-.064em;line-height:1.08}

h1,h2,h3,p{overflow-wrap:break-word}

h2 em,h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.075em}

.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 28px;color:#44726e;font-size:11px;font-weight:800;letter-spacing:.24em;line-height:1.3;text-transform:uppercase}

.eyebrow-line{width:28px;height:1px;background:currentColor;flex:none}
.eyebrow.light{color:#c6e7dc}

.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:48px}
.section-heading>p{max-width:375px;margin:0 0 8px;color:#5b7574;font-size:17px}
.section-heading h2{max-width:800px}

.source-note{margin:24px 0 0;color:#78908c;font-size:12px;line-height:1.6}
.light-note{color:#b2c5c0}

.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:15px 24px;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:800;letter-spacing:.11em;line-height:1.2;text-align:center;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.button:hover{transform:translateY(-3px)}
.button span{font-size:19px;font-weight:400;line-height:1}

.button-primary{background:var(--mint-bright);color:#123b37}
.button-primary:hover{background:#fff}

.button-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.button-ghost:hover{background:rgba(255,255,255,.14)}

.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#275b54}

.text-link{display:inline-flex;gap:18px;align-items:center;padding-bottom:9px;border-bottom:1px solid #5f9588;color:#22574e;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:gap .25s ease}
.text-link:hover{gap:25px}
.text-link span{font-size:18px;font-weight:400}


.site-header{position:absolute;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:30px;height:100px;padding:0 max(32px,calc((100vw - 1240px)/2));transition:background .3s ease,box-shadow .3s ease,height .3s ease}
.site-header.is-scrolled{position:fixed;height:78px;background:rgba(250,248,243,.97);box-shadow:0 5px 24px rgba(4,30,29,.08);backdrop-filter:blur(18px)}

.brand{display:flex;align-items:center;justify-content:center;flex:none;width:154px;height:68px;padding:9px 14px;border-radius:3px;background:rgba(255,255,255,.95)}
.brand img{width:128px;height:auto}
.is-scrolled .brand{width:142px;height:60px;background:transparent;padding:2px 5px}

.nav{display:flex;align-items:center;gap:31px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em}
.nav>a:not(.nav-cta){padding:15px 0;transition:color .2s}
.nav>a:not(.nav-cta):hover{color:var(--mint-bright)}
.is-scrolled .nav{color:var(--ink)}
.is-scrolled .nav>a:not(.nav-cta):hover{color:#548e77}
.nav-cta{padding:12px 18px;border:1px solid rgba(255,255,255,.7);text-align:center;text-transform:uppercase;transition:background .2s,color .2s}
.nav-cta:hover{background:#fff;color:var(--ink)}
.is-scrolled .nav-cta{border-color:var(--ink)}
.is-scrolled .nav-cta:hover{background:var(--ink);color:#fff}

.menu-toggle{display:none}


.hero{position:relative;display:flex;align-items:center;min-height:min(880px,100svh);min-height:750px;overflow:hidden;background:#244847;color:#fff}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media{background-image:url('/assets/gallery-01.webp');background-position:center 52%;background-size:cover;transform:scale(1.015);animation:hero-in 1.3s ease-out both}
@keyframes hero-in{from{transform:scale(1.08);filter:brightness(.8)}
to{transform:scale(1.015);filter:brightness(1)}
}
.hero-shade{background:linear-gradient(90deg,rgba(7,35,37,.88) 0%,rgba(7,36,38,.72) 36%,rgba(9,38,40,.22) 75%,rgba(7,35,37,.12) 100%),linear-gradient(0deg,rgba(7,35,37,.56),transparent 28%)}
.hero-content{position:relative;z-index:2;padding-top:98px;padding-bottom:95px}
.hero .eyebrow{margin-bottom:30px}
.hero h1{max-width:850px;margin:0;color:#fff;font-size:clamp(66px,8.2vw,123px);font-weight:500;letter-spacing:-.085em;line-height:.98}
.hero h1 em{color:#c8e9d6}
.hero-lede{max-width:565px;margin:32px 0 35px;color:#f1f6f1;font-size:18px;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-bottom{position:absolute;z-index:2;bottom:28px;left:50%;display:flex;justify-content:space-between;align-items:center;transform:translateX(-50%);color:#d2e5dd;font-size:10px;font-weight:700;letter-spacing:.19em}
.hero-bottom a{transition:color .2s}
.hero-bottom a:hover{color:#fff}
.hero-bottom a span{margin-left:10px;font-size:16px}

.facts{background:#cce2d7}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:36px;padding-bottom:36px}
.facts-grid>div{display:flex;align-items:baseline;gap:13px;padding:13px 18px 13px 32px;border-left:1px solid rgba(21,72,66,.22)}
.facts-grid>div:first-child{padding-left:0;border-left:0}
.facts strong{color:#174a43;font-size:clamp(32px,3.8vw,54px);font-weight:500;letter-spacing:-.06em;line-height:1}
.facts strong small{font-size:20px}
.facts span{color:#486b62;font-size:12px;font-weight:700;letter-spacing:.04em}

.intro{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:11%}
.section-copy h2{margin-bottom:30px}
.section-copy p{max-width:520px;color:#617875}
.section-copy .lead{color:#294b49;font-size:21px;line-height:1.6}
.section-copy .text-link{margin-top:20px}
.intro-visual{position:relative;min-height:560px}
.intro-visual:before{position:absolute;top:-25px;right:-25px;bottom:25px;left:25px;border:1px solid #a7c8b7;content:''}
.intro-visual img{position:relative;width:100%;height:560px;object-fit:cover}
.image-caption{position:absolute;right:0;bottom:0;padding:13px 18px;background:#fff;color:#375d57;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.image-caption b{margin:0 6px;color:#9abaaa}

.section-dark{background:var(--deep);color:#fff}
.heading-light h2{color:#fff}
.heading-light h2 em{color:#b9e3cf}
.heading-light>p{color:#b2cac5}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-card{position:relative;min-height:470px;overflow:hidden;background:#214846}
.feature-card img{width:100%;height:470px;object-fit:cover;transition:transform .6s ease}
.feature-card:hover img{transform:scale(1.05)}
.feature-card:after{position:absolute;inset:20% 0 0;background:linear-gradient(0deg,rgba(4,29,31,.95),rgba(4,29,31,.03));content:''}
.feature-content{position:absolute;z-index:2;right:24px;bottom:24px;left:24px}
.feature-content span{color:#bbdfd0;font-size:10px;font-weight:800;letter-spacing:.18em}
.feature-content h3{margin:12px 0 7px;color:#fff;font-size:23px;font-weight:500;letter-spacing:-.045em;line-height:1.2}
.feature-content p{margin:0;color:#d6e7df;font-size:13px;line-height:1.6}

