:root{
  --navy:#0E2230;      /* deep Atlantic */
  --navy-2:#132C3D;
  --midnight:#091720;  /* footer */
  --paper:#F7F6F3;
  --white:#FFFFFF;
  --sand:#E9E4DA;      /* warm stone band */
  --gold:#B08D57;      /* brass: buttons, rules */
  --gold-2:#C9A874;
  --text:#14212A;
  --muted:#4F5D66;
  --line:rgba(20,33,42,.14);
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --sans:"Jost","Avenir Next","Helvetica Neue",system-ui,sans-serif;
  box-sizing:border-box;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px));background:var(--midnight)}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-weight:400;font-size:1.125rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}
.img{background:var(--navy-2) var(--src) center/cover no-repeat}

/* Header: transparent over hero, solid on scroll */
.site{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:background .35s ease,box-shadow .35s ease}
.site.solid{background:rgba(14,34,48,.97);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.site .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:1.5rem}
.logo{font-family:var(--display);font-weight:500;font-size:1.6rem;letter-spacing:.01em;text-decoration:none}
.menu{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);list-style:none;margin:0;padding:0;font-size:.98rem}
.menu a{text-decoration:none;opacity:.9;padding:.35rem 0;border-bottom:1px solid transparent}
.menu a:hover,.menu a[aria-current]{opacity:1;border-color:var(--gold-2)}
.menu .btn{padding:.6rem 1.15rem;border:1px solid var(--gold-2);border-radius:2px;opacity:1}
.menu .btn:hover{background:var(--gold);border-color:var(--gold)}
.toggle{display:none;background:none;border:0;color:#fff;font:inherit;font-size:1rem;cursor:pointer;padding:.5rem 0}
@media(max-width:980px){
  .toggle{display:block}
  .menu{position:fixed;inset:calc(84px + env(safe-area-inset-top,0px)) 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:var(--navy);padding:.5rem clamp(1.25rem,5vw,3rem) 1.5rem;display:none}
  .menu.open{display:flex}
  .menu li{width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu a{display:block;padding:1rem 0;border:0}
  .menu .btn{display:inline-block;margin-top:1rem;border:1px solid var(--gold-2)}
  .menu li:last-child{border:0}
}

/* Buttons */
.btn-gold,.btn-line{display:inline-block;font-family:var(--sans);font-weight:500;font-size:1rem;letter-spacing:.02em;text-decoration:none;padding:.95rem 1.6rem;border-radius:2px;transition:background .2s,color .2s,border-color .2s}
.btn-gold{background:var(--gold);color:#fff;border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2)}
.btn-line{border:1px solid currentColor}
.btn-line:hover{background:#fff;color:var(--navy);border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero .img{position:absolute;inset:0;transform:scale(1.04)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,23,32,.55) 0%,rgba(9,23,32,.1) 35%,rgba(9,23,32,.82) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(4rem,12vh,8rem)}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(3rem,7.4vw,6.4rem);line-height:1.02;letter-spacing:-.01em;margin:0;max-width:14ch}
.hero .sub{font-size:clamp(1.15rem,1.7vw,1.35rem);max-width:40ch;margin:1.6rem 0 0;color:rgba(255,255,255,.9)}
.hero.page{min-height:68vh;min-height:68svh}
.hero.page h1{font-size:clamp(2.8rem,6.5vw,5.4rem)}
@media (prefers-reduced-motion:no-preference){
  .hero .img{animation:settle 2.4s cubic-bezier(.2,.7,.2,1) forwards}
  @keyframes settle{to{transform:scale(1)}}
}

/* Section scaffolding */
section{padding:clamp(5rem,10vw,8rem) 0}
.label{font-size:.95rem;font-weight:500;color:var(--gold);margin:0 0 1rem;display:flex;align-items:center;gap:.8rem}
.label::before{content:"";width:32px;height:1px;background:var(--gold)}
h2{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.08;letter-spacing:-.005em;margin:0 0 1.5rem;color:var(--navy)}
h3{font-family:var(--display);font-weight:500;font-size:1.6rem;line-height:1.2;margin:0 0 .75rem;color:var(--navy)}
.lede{font-family:var(--display);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.5;margin:0 0 1.5rem;max-width:36ch;color:var(--text)}
p{margin:0 0 1.1rem;max-width:62ch}
.muted{color:var(--muted)}
.two{display:grid;gap:3rem}
@media(min-width:960px){.two{grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:start}.two.center{align-items:center}}
.link{font-weight:500;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.15rem;color:var(--navy)}
.link:hover{color:var(--gold)}

/* Dark variant */
.dark{background:var(--navy);color:rgba(255,255,255,.86)}
.dark h2,.dark h3,.dark .lede{color:#fff}
.dark .muted{color:rgba(255,255,255,.65)}
.dark .link{color:#fff}
.sand{background:var(--sand)}
.white{background:var(--white)}

/* Facts row */
.facts{display:grid;gap:2rem;margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--line)}
@media(min-width:760px){.facts{grid-template-columns:repeat(3,1fr)}}
.facts strong{display:block;font-family:var(--display);font-weight:500;font-size:1.45rem;color:var(--navy);margin-bottom:.35rem}
.facts span{color:var(--muted);font-size:1rem}

/* Pillars: image tiles */
.tiles{display:grid;gap:1.25rem;margin-top:3.5rem}
@media(min-width:900px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;display:flex;align-items:flex-end;min-height:520px;color:#fff;text-decoration:none;overflow:hidden;border-radius:2px}
.tile .img{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,23,32,0) 35%,rgba(9,23,32,.88) 100%)}
.tile .t{position:relative;z-index:1;padding:2rem}
.tile h3{color:#fff;font-size:1.9rem;margin-bottom:.5rem}
.tile p{margin:0 0 1.2rem;color:rgba(255,255,255,.85);font-size:1rem}
.tile .more{font-weight:500;font-size:.95rem;border-bottom:1px solid var(--gold-2);padding-bottom:.1rem}
.tile:hover .img{transform:scale(1.04)}

/* Story */
.portrait{margin:0;position:relative;isolation:isolate}
.portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.portrait::before{content:"";position:absolute;inset:1.5rem -1.5rem -1.5rem 1.5rem;border:1px solid var(--gold);z-index:-1}
@media(max-width:959px){.portrait::before{inset:1rem -.75rem -1rem .75rem}}

/* Benefits grid */
.benefits{display:grid;gap:2.75rem clamp(2rem,5vw,4.5rem);margin-top:3.5rem}
@media(min-width:760px){.benefits{grid-template-columns:1fr 1fr}}
.benefits > div{padding-top:1.5rem;border-top:1px solid var(--gold)}
.benefits p{margin:0;color:var(--muted)}
.dark .benefits p{color:rgba(255,255,255,.72)}
.risk{margin-top:3.5rem;padding:1.5rem 1.75rem;border-left:2px solid var(--gold);background:rgba(255,255,255,.55);font-size:1rem;color:var(--muted);max-width:none}

/* Full image band */
.band{height:clamp(340px,60vh,620px)}

/* Contact */
.contact{text-align:center}
.contact h2{margin-left:auto;margin-right:auto}
.contact .lede{margin:0 auto 2.5rem}
.contact .mail{display:block;font-family:var(--display);font-size:clamp(1.8rem,4.5vw,3rem);color:#fff;text-decoration:none;margin-bottom:2.5rem}
.contact .mail:hover{color:var(--gold-2)}

/* Footer */
footer{background:var(--midnight);color:rgba(255,255,255,.62);font-size:.98rem;padding:4.5rem 0 2rem}
.fgrid{display:grid;gap:2.5rem}
@media(min-width:860px){.fgrid{grid-template-columns:2fr 1fr 1fr}}
footer .logo{color:#fff;display:inline-block;margin-bottom:.8rem}
footer h4{font-family:var(--sans);font-weight:500;font-size:.98rem;color:#fff;margin:0 0 1rem}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:.5rem}
footer a{text-decoration:none}
footer a:hover{color:var(--gold-2)}
.legal{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.88rem;color:rgba(255,255,255,.5)}
.legal p{max-width:78ch;margin:0}
/* Sturdier hairlines at display sizes so headings hold up over photographs */
.hero h1,h2,.tile h3,.contact .mail{font-variation-settings:"opsz" 30}
