@font-face{font-family:'Crimson Pro';src:url('assets/CrimsonPro-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cabinet Grotesk';src:url('assets/CabinetGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cabinet Grotesk';src:url('assets/CabinetGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url('assets/Jost-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{
  color-scheme:dark;--paper:#091a29;--surface:#102639;--ink:#edf2ef;--muted:#b2c2cb;--rule:#344959;
  --accent:#9accc4;--accent-text:#9accc4;--red:#eb333f;--navy:#091a29;--line:#73968f;
  --font-body:'Cabinet Grotesk',Arial,sans-serif;--font-display:'Crimson Pro',Georgia,serif;
  --type-display:clamp(60px,7.5vw,112px);--type-heading:clamp(44px,4.9vw,72px);--type-body:18px;--type-label:14px;
  --gutter:clamp(32px,6.5vw,104px);--max:1440px;--ease:cubic-bezier(.22,1,.36,1);
}
[data-theme=light]{color-scheme:light;--paper:#ecf0eb;--surface:#dfe7e1;--ink:#132e3c;--muted:#4d6571;--rule:#b9c9c4;--accent:#2d7978;--accent-text:#246765;--line:#477d78}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:#9accc4;color:#091a29}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg,img{display:block}img{max-width:100%}h1,h2,h3,h4,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em;line-height:1.02}h2,h3{font-size:var(--type-heading);text-wrap:balance}h4{font-size:var(--type-body);font-weight:500;line-height:1.4}p{color:var(--muted)}
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:12px 20px;z-index:100}.skip-link:focus{transform:translateY(0)}.text-link{text-decoration:underline;text-underline-offset:6px}
.icon-button{display:grid;place-items:center;width:44px;height:44px;background:none;padding:0}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:56px;background:var(--accent);color:var(--paper);padding:16px 24px;font-size:var(--type-label);font-weight:500;line-height:1.5;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:var(--paper)}.button svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.4;fill:none;transition:transform .2s var(--ease)}.button:hover svg{transform:translateX(3px)}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:104px;display:flex;align-items:center;gap:40px;padding:0 var(--gutter);color:#edf2ef;transition:background .25s,border-color .25s;border-bottom:1px solid transparent}.site-header.is-scrolled,.legal-page .site-header{background:var(--paper);border-bottom-color:var(--rule);color:var(--ink)}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand img{width:46px;height:46px}.brand>span{font-family:Jost,Arial,sans-serif;font-size:21px;line-height:1.1;font-weight:500;letter-spacing:.135em}.brand small{display:block;font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.36em;margin-top:7px}
.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:var(--type-label)}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.footer-legal a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:24px}.header-contact{font-size:var(--type-label);font-weight:500;border:1px solid #a9cac0;padding:12px 18px;white-space:nowrap;display:flex;gap:24px;align-items:center;background:rgba(9,26,41,.18)}.header-contact:hover{background:#9accc4;color:#091a29}.header-contact span{font-size:inherit}.theme-moon{display:none}[data-theme=light] .theme-moon{display:block}[data-theme=light] .theme-sun{display:none}.menu-toggle,.mobile-nav{display:none}

.contact-form{position:relative;z-index:6;padding-top:4px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{margin-bottom:24px}.field label{font-size:var(--type-label);font-weight:500;display:block;margin-bottom:12px;line-height:1.6}.field label>span{color:var(--muted);font-weight:400;margin-left:2px}.field input,.field textarea{display:block;width:100%;border:1px solid var(--rule);background:var(--surface);border-radius:0;color:var(--ink);font-size:var(--type-body);padding:14px;line-height:1.5;transition:border-color .2s;caret-color:var(--accent)}.field input{min-height:54px}.field textarea{min-height:168px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.8}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field input:user-invalid,.field textarea:user-invalid{border-color:#eb7277}.form-footer{display:flex;gap:24px;align-items:center;justify-content:space-between}.form-footer>p{font-size:var(--type-label);max-width:260px}.form-footer a{text-decoration:underline;text-underline-offset:3px}.form-submit{flex-shrink:0;position:relative;gap:24px}.form-arrival{left:-20px;top:50%}.form-submit[aria-busy=true]{opacity:.7}.preview-note{font-size:var(--type-label);margin-top:20px;color:var(--muted)}.form-status{font-size:var(--type-body);margin-top:20px;color:var(--accent);max-width:520px}.form-status:empty{display:none}.form-status[data-state=error]{color:#f29b9e}[data-theme=light] .form-status[data-state=error]{color:#9d202c}.honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer{display:flex;align-items:center;gap:48px;min-height:180px;padding-block:40px;border-top:1px solid var(--rule)}.site-footer>p,.footer-meta{font-size:var(--type-label);line-height:1.7}.footer-meta{margin-left:auto;color:var(--muted)}.footer-legal{display:flex;gap:24px;margin-top:8px}.back-top{font-size:var(--type-body);display:grid;place-items:center;width:44px;height:44px;color:var(--accent)}.legal-page .site-header{position:sticky}.legal-page main{overflow:visible}.legal-page .site-header a{color:var(--ink)}

main{position:relative;isolation:isolate;overflow:clip}
/* These sections receive focus after an in-page link; controls keep their own focus rings. */
.hero[tabindex="-1"]:focus,.benefit-journey[tabindex="-1"]:focus,.team[tabindex="-1"]:focus,.contact[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}
.journey-line{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;transition:opacity .8s ease}
.journey-line svg{width:100%;height:100%;overflow:visible}
#journey-base{vector-effect:non-scaling-stroke;stroke:var(--line);stroke-width:.9;stroke-opacity:.28;stroke-dasharray:2 8;stroke-linecap:round;stroke-linejoin:round}
#journey-glow{position:absolute;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;background:radial-gradient(circle,rgba(166,230,209,.045),rgba(145,224,210,.014) 40%,transparent 70%);border-radius:50%;mix-blend-mode:screen;opacity:0;transition:opacity .7s ease;will-change:transform}
main.route-ready #journey-glow{opacity:1}
main.film-pending .journey-line,main.film-playing .journey-line{opacity:0}
.video-journey .journey-line{opacity:0}
.video-journey main.film-complete .journey-line,.video-journey main.film-fallback .journey-line{opacity:1}
@media(prefers-reduced-motion:reduce){.video-journey .journey-line{opacity:1}}
.hero{position:relative;min-height:860px;height:100svh;max-height:1100px;color:#edf2ef}
.hero-landscape{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#091a29}
.hero-landscape img,.hero-landscape video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.hero-landscape video[hidden]{display:none}
.hero-landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,21,33,.36),rgba(5,21,33,.14) 32%,rgba(5,21,33,.12) 68%,var(--paper) 100%),linear-gradient(90deg,rgba(5,21,33,.56),rgba(5,21,33,.08) 75%)}
.video-journey .hero-landscape img,.video-journey .hero-landscape video{inset:auto 0 0;height:66%;object-position:65% 0%;mask-image:linear-gradient(to bottom,transparent,black 18%)}
.video-journey .hero-landscape:after{background:linear-gradient(180deg,rgba(9,26,41,.08) 44%,rgba(9,26,41,.04) 64%,var(--paper) 100%),radial-gradient(ellipse at 22% 52%,rgba(9,26,41,.7),rgba(9,26,41,.32) 32%,transparent 62%)}
.hero-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-start;padding-top:clamp(184px,22vh,240px);padding-bottom:140px;z-index:5;pointer-events:none}
.hero-inner a,.hero-inner button{pointer-events:auto}
.hero-context{font-size:var(--type-label);color:#e0ece9;margin-bottom:28px;letter-spacing:.025em}
.hero h1{font-size:var(--type-display);line-height:.98;max-width:1120px;letter-spacing:-.03em}
.hero-foot{margin-top:28px;max-width:500px}
.hero-foot>p{color:#e1eceb;font-size:var(--type-body);line-height:1.6}
.hero-links{display:flex;align-items:center;gap:36px;margin-top:28px;pointer-events:auto}
.follow-link,.film-toggle{display:inline-flex;align-items:center;gap:14px;font-size:var(--type-label);line-height:1.5;min-height:44px;color:#edf2ef}
.follow-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.follow-link:hover svg{transform:translateY(2px)}
.film-toggle{background:none;padding:0;gap:10px}
.film-toggle[hidden]{display:none}
.film-toggle span{border-bottom:1px solid rgba(220,237,230,.6);padding-bottom:3px}
.film-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1}
.film-toggle:hover{color:#bce0d7}
.film-toggle[aria-pressed=true] svg{fill:currentColor;stroke:none;clip-path:polygon(28% 15%,43% 15%,43% 85%,28% 85%,28% 15%,58% 15%,73% 15%,73% 85%,58% 85%,58% 15%);background:currentColor}
.benefit-journey{padding-top:152px;padding-bottom:136px;position:relative}
.benefit-stop{position:relative;margin-bottom:172px}
.benefit-stop:last-child{margin-bottom:0}
.benefit-copy{position:relative;z-index:5;width:58%;max-width:650px}
.benefit-stop:nth-child(odd) .benefit-copy{margin-left:auto}
.benefit-stop:nth-child(even) .benefit-copy{margin-left:5%}
.benefit-copy h2{max-width:650px}
.benefit-copy p{max-width:560px;margin-top:28px}
.team{position:relative;padding-top:80px;padding-bottom:176px}
.team-heading{position:relative;z-index:5;margin-left:5%;margin-bottom:64px;max-width:780px}
.team-heading>p{max-width:600px;margin-top:28px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-left:5%}
.person{position:relative;z-index:5;min-width:0}
.portrait{position:relative;width:min(100%,360px);aspect-ratio:1;overflow:hidden;border-radius:50%;mask:url('assets/portrait-cut.svg') center/contain no-repeat}
.portrait img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.portrait{filter:saturate(.74) brightness(.80) contrast(.96)}
.person-copy{max-width:480px;padding-top:28px}
.person-education{font-size:var(--type-label);line-height:1.5;margin-top:16px}
.person-role{color:var(--accent);font-size:var(--type-label);line-height:1.5;margin-bottom:12px}
.person h3{font-family:var(--font-body);font-size:var(--type-body);font-weight:500;letter-spacing:0;line-height:1.5;margin-bottom:16px}
.contact{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:96px;padding-top:56px;padding-bottom:128px}
.contact-intro{position:relative;z-index:5;margin-left:10%;align-self:start}
.contact-intro>p{margin-top:28px;max-width:360px}

/* Four separate coastlines are destinations on the route, not a continuous texture. */
.terrain{position:absolute;pointer-events:none;z-index:-1;left:50%;top:calc(var(--type-heading) * 1.02);width:760px;height:418px;transform:translate(-50%,-50%);background:var(--accent);opacity:.075;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.geography-island{mask-image:url('assets/geography-island.svg')}
.geography-archipelago{mask-image:url('assets/geography-archipelago.svg')}
.geography-peninsula{mask-image:url('assets/geography-peninsula.svg')}
.geography-bay{mask-image:url('assets/geography-bay.svg')}
[data-theme=light] .terrain{opacity:.065}
[data-theme=light] #journey-glow{mix-blend-mode:multiply;background:radial-gradient(circle,rgba(67,132,118,.05),rgba(67,132,118,.015) 40%,transparent 70%)}

@media(max-width:1180px){
 :root{--gutter:48px;--type-display:8vw;--type-heading:56px}
 .site-header{gap:24px;height:92px}.desktop-nav{gap:20px}.header-actions{gap:12px}.header-contact{gap:16px;padding:10px 14px}
 .hero{min-height:820px}.hero-inner{padding-top:192px}
 .benefit-copy{width:60%}.benefit-stop{margin-bottom:144px}
 .contact{gap:64px}.contact-intro{margin-left:0}.form-footer{align-items:flex-start;flex-direction:column}.form-footer>p{max-width:none}.site-footer{gap:28px}
}
@media(max-width:960px){
 :root{--gutter:36px;--type-display:8.6vw;--type-heading:48px;--type-body:17px}
 .header-contact{display:none}.desktop-nav{gap:24px}
 .hero{min-height:800px}.hero-inner{padding-top:184px}.hero-foot{max-width:450px}
 .benefit-journey{padding-top:128px;padding-bottom:112px}.benefit-copy{width:65%}.benefit-stop{margin-bottom:136px}
 .people{gap:8%;padding-left:2%}.team-heading{margin-left:2%}.team{padding-bottom:144px}
 .contact{gap:40px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{flex-wrap:wrap}.site-footer>p{max-width:220px}.footer-meta{margin-left:0}.back-top{margin-left:auto}
}
@media(max-width:620px){
 :root{--gutter:30px;--type-display:56px;--type-heading:44px;--type-body:17px;--type-label:14px}
 html{scroll-padding-top:104px}.site-header{height:80px;padding-inline:24px;gap:16px}.brand{gap:12px}.brand img{width:38px;height:38px}.brand>span{font-size:18px}.brand small{font-size:9px;margin-top:6px}
 .desktop-nav{display:none}.header-actions{margin-left:auto;gap:4px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
 .menu-toggle>span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:79px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule);padding:16px var(--gutter) 24px}.mobile-nav a{font-size:var(--type-body);line-height:1.5;padding:16px 0;border-bottom:1px solid var(--rule)}.mobile-nav a:last-child{border:0;color:var(--accent)}.mobile-nav a span{float:right}
 .hero{height:1000px;min-height:1000px;max-height:none}.hero-inner{padding-top:156px;padding-bottom:160px}.hero-context{max-width:270px;line-height:1.5;margin-bottom:24px}.hero h1{max-width:460px;line-height:.98}.hero-foot{margin-top:24px;max-width:380px}.hero-foot>p{line-height:1.6}.hero-links{gap:24px;margin-top:24px;flex-wrap:wrap}
 .hero-landscape img,.hero-landscape video{inset:auto 0 0;height:460px;object-position:58% 50%;mask-image:linear-gradient(to bottom,transparent,black 20%)}
 .hero-landscape:after{background:linear-gradient(180deg,#091a29 0%,#091a29 44%,rgba(9,26,41,.28) 60%,rgba(9,26,41,.04) 77%,var(--paper) 100%)}
 .video-journey .hero-landscape img,.video-journey .hero-landscape video{height:390px;object-position:75% 0%;mask-image:linear-gradient(to bottom,transparent,black 22%)}
 .video-journey .hero-landscape:after{background:linear-gradient(180deg,transparent 58%,rgba(9,26,41,.3) 68%,rgba(9,26,41,.04) 82%,var(--paper) 100%)}
 .benefit-journey{padding-top:72px;padding-bottom:80px}.benefit-copy{width:100%}.benefit-stop:nth-child(n) .benefit-copy{margin-left:0}.benefit-stop:nth-child(even) .benefit-copy{padding-left:0}.benefit-stop{margin-bottom:112px}.benefit-copy p{margin-top:24px}.benefit-copy h2{font-size:var(--type-heading)}
 .team{padding-top:24px;padding-bottom:104px}.team-heading{margin-left:0;margin-bottom:44px}.people{display:block;padding-left:0}.person+.person{margin-top:56px}.portrait{max-width:330px}.person-copy{padding-top:24px}.person-role{margin-bottom:8px}.person h3{margin-bottom:16px}
 .contact{display:block;padding-top:24px;padding-bottom:88px}.contact-intro{margin-left:0}.contact-intro>p{margin-top:24px;max-width:360px}.contact-form{padding-top:40px}.field{margin-bottom:24px}.field input,.field textarea{padding:14px}.form-footer{gap:24px}.form-footer>p{max-width:310px}.preview-note{margin-top:20px;max-width:320px}
 .site-footer{display:grid;grid-template-columns:1fr 44px;gap:24px;padding-block:32px;min-height:0}.site-footer .brand,.site-footer>p,.footer-meta{grid-column:1}.footer-meta{margin:0}.back-top{grid-column:2;grid-row:1}.legal-page .site-header{height:80px}
 .terrain{width:480px;height:300px;opacity:.065}
 #journey-glow{width:400px;height:400px;margin:-200px 0 0 -200px}
}
@media(max-width:360px){:root{--gutter:26px;--type-display:48px;--type-heading:40px;--type-body:16px}.site-header{padding-inline:20px}.brand{gap:9px}.brand img{width:34px;height:34px}.brand>span{font-size:16px}.header-actions{gap:0}.icon-button{width:38px}.hero{height:1000px;min-height:1000px}.hero-inner{padding-top:140px}.hero-links{gap:18px}.film-toggle,.follow-link{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}#journey-glow{display:none}}
@media print{.site-header{position:static;background:var(--paper);color:var(--ink)}.theme-toggle,.menu-toggle,.journey-line,.hero-links,.contact-form{display:none}.hero{height:740px;min-height:740px}.hero-inner{padding-top:100px}.hero h1{font-size:var(--type-heading)}.benefit-stop,.person{break-inside:avoid}.benefit-journey,.team,.contact{padding-block:40px}.benefit-stop{margin-bottom:48px}.hero-landscape{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* A continuous ocean blend for the short-film hero. Media size, object-position and route geometry are unchanged. */
:root[data-theme="dark"] { --paper: #0a1c2d; }
.video-journey main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1600px;
  z-index: -1;
  pointer-events: none;
  background: url("assets/field-film-intro-end.jpg") left top / 520% auto no-repeat;
  opacity: .10;
  mask-image: linear-gradient(180deg, #000 0%, #000 40%, transparent 100%);
}
.video-journey .hero-landscape { background: transparent; }
/* Keep one image layer visible through the translucent ocean blend. */
.video-journey .hero-landscape:has(video:not([hidden])) img { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  /* Do not flash the final still before the opening frame. Only one scene is exposed. */
  .video-journey .hero-landscape img { opacity: 0; }
  .video-journey .hero-landscape video {
    opacity: 0;
    transition: opacity 1.6s cubic-bezier(.45,0,.55,1);
  }
  .video-journey main.film-visible .hero-landscape video { opacity: 1; }
  .video-journey main.film-fallback .hero-landscape img {
    opacity: 1;
    transition: opacity .8s ease-out;
  }
}
.video-journey .hero-landscape img,
.video-journey .hero-landscape video {
  mask-image: linear-gradient(180deg,
    transparent 0%, rgba(0,0,0,.03) 4%, rgba(0,0,0,.16) 10%,
    rgba(0,0,0,.42) 18%, rgba(0,0,0,.72) 26%, rgba(0,0,0,.9) 34%,
    rgba(0,0,0,.92) 42%, rgba(0,0,0,.82) 54%, rgba(0,0,0,.6) 68%,
    rgba(0,0,0,.3) 82%, rgba(0,0,0,.09) 92%, rgba(0,0,0,.015) 98%, transparent 100%);
}
.video-journey .hero-landscape::after {
  background: radial-gradient(ellipse at 22% 52%,
    rgba(10,28,45,.65), rgba(10,28,45,.43) 30%,
    rgba(10,28,45,.16) 55%, transparent 80%);
}
@media (max-width: 620px) {
  .video-journey main::before { height: 1550px; opacity: .085; }
  .video-journey .hero-landscape::after {
    background: linear-gradient(180deg, transparent 56%,
      rgba(10,28,45,.16) 68%, rgba(10,28,45,.03) 82%, transparent 100%);
  }
}
:root[data-theme="light"] .video-journey main::before { opacity: .025; }
:root[data-theme="light"] .video-journey .hero-landscape { background: #0a1c2d; }
:root[data-theme="light"] .video-journey .hero-landscape::after {
  background: linear-gradient(180deg, transparent 45%, rgba(236,240,235,.04) 70%,
    rgba(236,240,235,.22) 82%, var(--paper) 100%),
    radial-gradient(ellipse at 22% 52%, rgba(10,28,45,.65),
      rgba(10,28,45,.43) 30%, rgba(10,28,45,.16) 55%, transparent 80%);
}
.contact-verification{margin-top:1.25rem;min-height:65px}
