/* Maritime direction: cinematic coastal landscape, fine rules, generous typography. */
:root{--ink:#142e38;--muted:#64767a;--paper:#f0f1eb;--line:#cdd3cd;--accent:#a9b8a6}
body{background:var(--paper)}h1,h2{letter-spacing:-.045em}em{font-style:normal;color:inherit;font-weight:300}.eyebrow{font-size:10px;letter-spacing:.19em}header{height:108px;padding:20px 5.2%;background:transparent;backdrop-filter:none;border-bottom:1px solid #142e3826;gap:32px}header .brand{font-size:12px;letter-spacing:.08em}header .brand small{font-size:9px}header .brand img{width:45px;height:56px}nav{font-size:12px;gap:25px}.join{font-size:11px;padding:11px 18px;border-radius:0;gap:28px}.is-home header{color:#fff;border-color:#ffffff28}.is-home header .brand img{filter:brightness(0) invert(1)}.is-home header .join{border-color:#ffffff75}.is-home header a:hover{color:#dbe7dd}.is-home header .join:hover{background:white;color:#142e38}.is-home footer{margin-top:0}
.ocean-story{position:relative;background:#061e2d;color:#f8f8f2;isolation:isolate}.ocean-stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden;z-index:-1;background:linear-gradient(180deg,#e7edf1 0%,#dde5ea 55%,#cfd9e0 100%)}.scene-fallback{opacity:1;background:linear-gradient(180deg,#e7edf1 0%,#d3dde4 60%,#b9c7d0 100%)}#scene{display:block;width:100%;height:100%;touch-action:pan-y;opacity:0;transition:opacity .85s ease-out}#scene[data-scene=ready]{opacity:1}.ocean-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0c283335,transparent 30%,#00172318 55%,#00142085)}.chapter{min-height:100svh;position:relative;padding:130px 8% 75px}.opening{height:100svh;min-height:720px;padding:0 5.2%}.hero-meta{position:absolute;left:5.2%;right:5.2%;top:140px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;opacity:.76}.hero-title{position:absolute;left:0;right:0;top:42%;text-align:center;pointer-events:none}.hero-title .eyebrow{margin-bottom:20px;font-size:10px;letter-spacing:.23em}.hero-title h1{font-size:clamp(64px,7.6vw,125px);line-height:1.02;font-weight:400;letter-spacing:-.045em;margin:0;text-shadow:0 3px 35px #01152122}.hero-title h1 br{display:none}.hero-title h1 em{margin-left:.16em;font-weight:300}.hero-description{font-size:13px;line-height:1.8;letter-spacing:.015em;margin:27px 0 0;opacity:.88}.hero-baseline{position:absolute;bottom:44px;left:5.2%;right:5.2%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em}.discover{display:flex;align-items:center;gap:17px}.round-arrow{height:43px;width:43px;border:1px solid #ffffff55;border-radius:50%;display:inline-grid;place-items:center;font-size:18px;font-weight:400;transition:background .3s,transform .3s}.discover:hover .round-arrow{background:#ffffff25;transform:translateY(4px)}.location-label{display:flex;align-items:center;gap:10px}.location-label i{width:5px;height:5px;border-radius:50%;background:#b8d4c2}.chapter-count{font-variant-numeric:tabular-nums}.chapter-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.chapter-top .eyebrow{margin:0}.tiny{font-size:9px;letter-spacing:.18em;opacity:.6}.purpose{padding-top:130px}.purpose-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:11%;align-items:start}.purpose h2,.possibilities h2{font-size:clamp(46px,5.2vw,80px);line-height:1.12;font-weight:400}.purpose h2 em,.possibilities h2 em{color:#b7c8cb}.purpose-copy{padding-top:85px;max-width:430px}.purpose-copy p:first-child{font-size:24px;line-height:1.45;color:white}.purpose-copy p{font-size:15px;line-height:1.9;color:#b4c6cc}.ocean-story .text-link{color:#fff;border-color:#ffffff65;margin-top:15px;font-size:12px;gap:40px}.ocean-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;border-top:1px solid #ffffff30;margin-top:65px;padding-top:27px}.ocean-stats strong{font-family:Manrope,sans-serif;display:block;font-size:47px;line-height:1.4;font-weight:300;letter-spacing:-.04em}.ocean-stats span{font-size:11px;color:#b4c6cc;letter-spacing:.03em}.possibilities{padding-top:110px;min-height:105svh}.possibilities h2{max-width:1000px}.possibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:90px}.possibility-grid>a{border-top:1px solid #ffffff45;padding-top:23px;transition:transform .3s}.possibility-grid>a:hover{color:white;transform:translateY(-7px)}.card-index{font-size:9px;letter-spacing:.15em;display:flex;justify-content:space-between}.card-index b{font-size:19px;font-weight:400}.possibility-grid h3{font-size:28px;font-weight:400;line-height:1.25;letter-spacing:-.03em;margin:34px 0 20px}.possibility-grid p{font-size:13px;line-height:1.8;color:#b4c6cc;max-width:290px}.scene-controls{position:absolute;bottom:22px;right:5.2%;display:flex;align-items:center;gap:8px}.scene-controls button{background:transparent;color:white;border:1px solid #ffffff45;width:auto;height:30px;border-radius:20px;padding:0 11px;font-size:10px}.scene-controls button span{margin-left:9px}.scene-status{font-size:8px;letter-spacing:.13em;opacity:.6;margin-left:8px}.gatherings{padding:105px 8% 80px}.section-head{margin-bottom:48px}.section-head h2{font-size:clamp(40px,4.5vw,68px);line-height:1.1}.section-head h2 em{color:#76847d}.text-link{font-size:12px;gap:35px}.gathering-feature{display:grid;grid-template-columns:1.18fr 1fr;background:#e3e7df;overflow:hidden}.gathering-image{position:relative;overflow:hidden;min-height:420px}.gathering-image img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .9s}.gathering-feature:hover .gathering-image img{transform:scale(1.035)}.image-label{position:absolute;bottom:20px;left:23px;color:#fff;font-size:8px;letter-spacing:.16em;text-shadow:0 1px 10px #000}.gathering-copy{padding:40px 42px}.event-kicker{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;gap:15px}.gathering-copy h3{font-family:Manrope,sans-serif;font-size:36px;font-weight:400;line-height:1.2;letter-spacing:-.045em;margin:53px 0 20px}.gathering-copy p{font-size:14px;line-height:1.8;color:#5c716e;max-width:370px}.event-place{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:9px;letter-spacing:.13em}.event-place .round-arrow{border-color:#7e90877a}.gathering-note{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:21px 0;font-size:11px;color:#64767a}.gathering-note a{color:var(--ink)}.belong{padding:45px 8% 115px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.belong-image{height:590px;overflow:hidden}.belong-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68)}.belong-copy h2{font-size:clamp(35px,3.6vw,53px);line-height:1.15}.belong-copy h2 em{color:#76847d}.values-list{margin:36px 0 24px}.values-list details{border-top:1px solid var(--line);padding:17px 0}.values-list summary{display:flex;align-items:center;gap:22px;cursor:pointer;font-size:20px;list-style:none}.values-list summary::-webkit-details-marker{display:none}.values-list summary>span{font-size:9px;color:#76847d}.values-list summary>b{margin-left:auto;font-size:19px;font-weight:300}.values-list details[open] summary>b{transform:rotate(45deg)}.values-list p{padding:17px 20px 0 35px;margin:0;color:#64767a;font-size:13px;line-height:1.8}.membership-invite{text-align:center;position:relative;overflow:hidden;background:#ced8d0;padding:110px 7% 70px}.membership-invite:before,.membership-invite:after{content:'';position:absolute;border:1px solid #9cafa34d;border-radius:50%;width:650px;height:650px;top:-100px;left:-430px;pointer-events:none}.membership-invite:after{left:auto;right:-430px;top:70px}.membership-invite h2{font-size:clamp(40px,5.2vw,80px);line-height:1.1}.membership-invite h2 em{color:#637d70}.membership-invite .button{border-radius:0;font-size:12px;padding:15px 25px;gap:75px}.invite-coordinates{display:block;margin-top:75px;font-size:8px;letter-spacing:.2em;color:#637d70}footer{background:#0b2530;padding:64px 8% 23px}.footer-top p{font-size:clamp(40px,4.5vw,67px)}.footer-top{padding-bottom:38px}.circle-link{width:70px;height:70px;font-size:28px}.footer-grid{gap:25px}.footer-grid .brand{font-size:12px}.footer-grid>div{font-size:12px}.footer-bottom{font-size:10px}.page{padding-top:170px}.page-heading h1{font-weight:300}.price-card{background:#e0e6de;border-color:var(--line)}.price-card .button{border-radius:0}.filters button{border-radius:0}.chip{border-radius:0}.event-row h2{font-size:26px}.news-grid img{filter:saturate(.8)}
@media(min-width:1700px){.chapter{padding-left:12%;padding-right:12%}.hero-title{top:43%}}
@media(max-width:1100px){nav{gap:16px}.hero-title h1{font-size:8vw}.purpose-grid{gap:6%}.purpose-copy{padding-top:45px}.gathering-copy{padding:30px}.gathering-copy h3{font-size:30px}.belong{gap:6%}.belong-image{height:520px}.footer-grid{grid-template-columns:1fr 1.5fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:720px){header{height:87px;padding:15px 6%}header .brand img{width:39px;height:48px}.is-home nav{background:#102d38;color:white;top:87px}.is-home nav a:hover{color:#d4e6da}.is-home .menu-toggle{color:white}.hero-meta{top:115px;left:6%;right:6%;font-size:8px}.hero-meta span:last-child{display:none}.opening{min-height:690px}.hero-title{top:38%;padding:0 5%}.hero-title .eyebrow{font-size:8px;letter-spacing:.18em;max-width:260px;margin:0 auto 24px}.hero-title h1{font-size:clamp(55px,12.7vw,89px);line-height:1.04}.hero-title h1 br{display:block}.hero-title h1 em{margin-left:0}.hero-description{font-size:11px;margin-top:25px}.hero-baseline{left:6%;right:6%;bottom:32px;font-size:8px}.location-label{display:none}.round-arrow{height:36px;width:36px}.chapter:not(.opening){padding:82px 7% 70px;min-height:100svh}.chapter-top{margin-bottom:42px}.tiny{display:none}.purpose-grid{display:block}.purpose h2,.possibilities h2{font-size:43px}.purpose-copy{padding-top:10px;max-width:360px}.purpose-copy p:first-child{font-size:19px}.purpose-copy p{font-size:13px}.ocean-stats{margin-top:42px;gap:15px}.ocean-stats strong{font-size:34px}.ocean-stats span{font-size:9px;line-height:1.5;display:block}.possibility-grid{margin-top:35px;grid-template-columns:1fr;gap:27px}.possibility-grid>a{display:grid;grid-template-columns:1fr 1.5fr;column-gap:25px;padding-top:18px}.card-index{grid-column:1/-1}.possibility-grid h3{font-size:21px;margin:17px 0 0}.possibility-grid p{font-size:11px;margin:17px 0 0}.possibilities h2{font-size:38px}.scene-controls{right:7%;bottom:15px}.scene-status{font-size:7px}.gatherings{padding:65px 6% 40px}.section-head h2{font-size:42px}.gathering-feature{display:block}.gathering-image{min-height:280px}.gathering-copy{padding:27px}.gathering-copy h3{margin:30px 0 17px;font-size:30px}.event-kicker{font-size:8px}.gathering-copy p{font-size:13px}.gathering-note{font-size:10px;gap:20px;line-height:1.7}.gathering-note>span{max-width:180px}.gathering-note>a{max-width:100px}.belong{padding:25px 6% 65px;display:flex;flex-direction:column;gap:40px;align-items:stretch}.belong-image{height:360px}.belong-copy h2{font-size:40px}.membership-invite{padding:70px 6% 50px}.membership-invite h2{font-size:42px}.invite-coordinates{font-size:7px;margin-top:50px}footer{padding:50px 6% 22px}.footer-top p{font-size:39px}.circle-link{width:52px;height:52px;flex-shrink:0}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:last-child{display:flex}.footer-grid .brand{font-size:11px}.footer-grid>div{font-size:11px;overflow-wrap:anywhere}.footer-bottom{font-size:9px}.page{padding-top:135px}.page-heading h1{font-size:53px}.contact-big{font-size:24px}.content-layout{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-reveal{opacity:1;transform:none}}

.scene-controls{position:fixed;right:5.2%;bottom:20px;z-index:6;pointer-events:none}.scene-controls[hidden]{display:none}.scene-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hero-baseline .chapter-count{visibility:hidden}
.ocean-story{overflow:clip}.gatherings,.belong{position:relative;background:var(--paper)}

.button{border-radius:0}.student-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:25px 0 55px}.student-feature>img{width:100%;max-height:460px;object-fit:cover}.student-feature h2{font-size:42px;line-height:1.15}.student-feature p,.student-benefits p{color:var(--muted);font-size:15px}.student-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;padding:40px 0}.student-benefits article{border-top:1px solid var(--line);padding-top:28px}.student-benefits h2{font-size:31px;letter-spacing:-.04em}.student-feature .button{margin-top:15px}@media(max-width:720px){.student-feature{grid-template-columns:1fr;gap:30px}.student-feature h2{font-size:35px}.student-benefits{grid-template-columns:1fr;gap:25px}.student-benefits h2{font-size:29px}.student-feature .button{gap:20px}.possibility-grid{column-gap:18px}.possibility-grid h3{font-size:19px}}
/* A continuous camera journey with space for the ocean and vessel. */
.sea-transition{height:55svh;pointer-events:none}.purpose{min-height:100svh}.vessel-chapter{min-height:110svh;display:flex;justify-content:flex-end;align-items:flex-start;padding-top:14svh}.vessel-copy{width:36%;max-width:470px}.vessel-copy h2{font-size:clamp(43px,4.2vw,66px);line-height:1.1;font-weight:300}.vessel-copy h2 em{color:#b7c8cb}.vessel-copy p{font-size:16px;line-height:1.85;color:#c5d1d4}.possibilities{min-height:120svh;display:flex;flex-direction:column}.possibility-grid{margin-top:auto;padding-top:42svh}.closing-chapter{height:95svh;display:flex;flex-direction:column;justify-content:space-between;padding-top:8svh;padding-bottom:10svh}.closing-copy{display:flex;justify-content:space-between;align-items:flex-start}.closing-copy .eyebrow{max-width:250px;line-height:1.8}.closing-copy h2{font-size:clamp(40px,4.5vw,70px);font-weight:300;line-height:1.1;margin:0}.closing-chapter>.text-link{align-self:flex-end}.ocean-story.is-still .sea-transition{height:20svh}
@media(max-width:720px){.sea-transition{height:45svh}.chapter.vessel-chapter{min-height:115svh;padding-top:8svh}.vessel-copy{width:100%;max-width:360px}.vessel-copy h2{font-size:43px}.vessel-copy p{font-size:13px;max-width:300px}.chapter.possibilities{min-height:135svh}.possibility-grid{padding-top:37svh;margin-top:auto}.chapter.closing-chapter{height:100svh;min-height:100svh;padding-top:7svh;padding-bottom:11svh}.closing-copy{display:block}.closing-copy .eyebrow{font-size:8px}.closing-copy h2{font-size:45px;margin-top:22px}.closing-chapter>.text-link{align-self:flex-start}.ocean-shade{background:linear-gradient(180deg,#0c283326,transparent 30%,#00142038)}}

/* Editorial layouts for The Club, Students and Journal. */
.about-page,.student-page-v2,.journal-page{padding-bottom:0}.about-page .page-heading,.student-page-v2 .page-heading,.journal-page .page-heading{margin-bottom:0}.about-intro{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;padding:78px 0 105px;align-items:end}.about-intro h2{font-size:clamp(40px,4.6vw,68px);line-height:1.08;margin:0}.about-intro h2 em,.about-history h2 em,.about-map h2 em,.about-people h2 em,.student-hero-card h2 em,.student-partner h2 em{color:#748a7c}.about-intro>p{max-width:500px;margin:0;color:var(--muted);font-size:20px;line-height:1.65}.about-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.about-history article{padding:50px 12% 62px 0;border-bottom:1px solid var(--line)}.about-history article:nth-of-type(even){padding-left:12%;padding-right:0;border-left:1px solid var(--line)}.about-history h2{font-size:clamp(32px,3.1vw,48px);line-height:1.14}.about-history p{color:var(--muted);font-size:15px;line-height:1.8}.about-history>img{width:100%;min-height:410px;height:100%;object-fit:cover;border-bottom:1px solid var(--line);filter:saturate(.78)}.about-history .about-norway{background:#d9e1d7;padding-left:12%}.about-map{margin:100px 0;min-height:470px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:65px 8%;color:#fff;background:linear-gradient(110deg,#0c2b36eF,#173f48bf),url('/assets/source-7003f1ced69c.jpg') center/cover}.about-map h2{font-size:clamp(44px,5.3vw,78px);line-height:1.05;margin:0 0 20px}.about-map h2 em{color:#d3e1d3}.about-map p{max-width:360px;color:#deeaeb}.about-map .button{margin-top:20px;border-color:#fff;background:#fff;color:var(--ink)}.about-partners{padding:0 0 95px;display:grid;grid-template-columns:.8fr 1.6fr;gap:10%;align-items:start}.about-partners h2{font-size:clamp(38px,4vw,56px);line-height:1.1}.about-partners .partner-grid{margin:0;grid-template-columns:repeat(3,1fr);gap:10px}.about-partners .partner-grid .source-image{height:125px;padding:25px;background:#fbfcf8;border:1px solid #e0e3dc}.about-people{padding:90px 0;background:#e2e8e1;margin:0 -8%;padding-left:8%;padding-right:8%}.about-people-head{display:flex;justify-content:space-between;align-items:flex-end;max-width:750px;margin-bottom:70px}.about-people h2{font-size:clamp(43px,5vw,70px);line-height:1.05;margin:0}.team-group{border-top:1px solid #9eaca222;padding:28px 0 55px}.team-group>h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 27px}.team-group .people{grid-template-columns:repeat(5,1fr);gap:22px;margin:0}.team-group .person img{aspect-ratio:1/1.13;filter:saturate(.72)}.team-group .person h4{font-size:15px;font-weight:500;line-height:1.25;margin:11px 0 0}.team-group .person p{font-size:11px;margin:4px 0;color:var(--muted)}.about-cta{background:#183945;color:#f4f4ef;margin:0 -8%;padding:100px 8%;text-align:center}.about-cta h2{font-size:clamp(42px,5vw,72px);line-height:1.06;margin:0 0 35px}.about-cta .button{background:#f4f4ef;color:var(--ink);border-color:#f4f4ef}
.student-hero-card{display:grid;grid-template-columns:1.15fr .85fr;background:#dce4dd;min-height:490px}.student-hero-card>img{width:100%;height:100%;min-height:490px;object-fit:cover;filter:saturate(.83)}.student-hero-card>div{padding:62px 14%;display:flex;flex-direction:column;justify-content:center}.student-hero-card h2{font-size:clamp(38px,4.2vw,62px);line-height:1.07;margin:0 0 25px}.student-hero-card p{font-size:16px;line-height:1.75;color:#55706e}.student-hero-card .button{width:max-content;margin-top:15px}.student-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;padding:70px 0 95px}.student-paths article{border-top:1px solid var(--line);padding-top:23px}.student-paths span{font-size:11px;letter-spacing:.16em;color:#71877e}.student-paths h3{font-size:27px;font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:30px 0 14px}.student-paths p{color:var(--muted);font-size:14px;line-height:1.75}.student-story{border-top:1px solid var(--line)}.student-story-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:90px 0;border-bottom:1px solid var(--line);align-items:start}.student-story-section:nth-child(even) .student-story-copy{order:2}.student-story-section:nth-child(even) figure{order:1}.student-story-section h2{font-size:clamp(34px,3.5vw,52px);line-height:1.12;margin:0 0 30px}.student-story-section p{max-width:650px;color:var(--muted);font-size:16px;line-height:1.8}.student-story-section p.lead{font-size:20px;color:var(--ink);line-height:1.55}.student-story-section p.quote{font-family:Manrope,sans-serif;color:var(--ink);font-size:19px;line-height:1.55;border-left:2px solid #9eb0a2;padding-left:22px;margin:28px 0}.student-story-section figure{margin:0;position:sticky;top:30px}.student-story-section figure img{width:100%;max-height:590px;object-fit:cover;aspect-ratio:4/5;filter:saturate(.8)}.student-join{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:95px 0}.student-join h2{font-size:clamp(42px,4.7vw,67px);line-height:1.07;margin:0}.student-join p{color:var(--muted);font-size:16px;line-height:1.8}.student-join .button{margin-top:15px}.student-partner{background:#cbd8cc;margin:0 -8%;padding:105px 26% 105px 8%;position:relative}.student-partner:after{content:'↗';position:absolute;right:9%;top:50%;font-size:100px;font-weight:300;color:#77917f}.student-partner h2{font-size:clamp(45px,5.4vw,78px);line-height:1.04;margin:0 0 25px}.student-partner p{font-size:17px;line-height:1.75;max-width:500px;color:#4d6961}.student-partner .button{margin-top:13px}
.journal-page{padding-bottom:95px}.journal-grid{padding:58px 0 75px}.journal-feature>a{display:grid;grid-template-columns:1.18fr .82fr;background:#e0e6df;min-height:440px}.journal-feature img{width:100%;height:100%;object-fit:cover;min-height:440px;filter:saturate(.78)}.journal-feature a>div{display:flex;flex-direction:column;justify-content:center;padding:48px 12%}.journal-feature h2{font-size:clamp(33px,3.5vw,52px);line-height:1.1;margin:0 0 20px}.journal-feature p{color:var(--muted);font-size:15px;line-height:1.7}.journal-feature .text-link{margin-top:12px;width:max-content}.journal-divider{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.journal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:62px 28px;padding:55px 0}.journal-card{border-bottom:1px solid var(--line);padding-bottom:25px}.journal-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.78);transition:transform .5s}.journal-card a:hover img{transform:scale(1.02)}.journal-card a{display:block;overflow:hidden}.journal-card a>div{padding-top:22px}.journal-card .eyebrow{margin-bottom:15px}.journal-card h2{font-family:Manrope,sans-serif;font-size:25px;line-height:1.2;margin:0 0 13px}.journal-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.journal-card .text-link{margin-top:20px;font-size:12px}.journal-card .text-link b{font-size:18px;font-weight:400}.is-story .page{max-width:1180px;margin:auto;padding-top:165px}.is-story .page-heading{max-width:970px;margin:0 auto 48px;display:block}.is-story .page-heading h1{font-size:clamp(42px,5.3vw,80px);max-width:940px;line-height:1.06}.is-story .page-heading .eyebrow:after{content:'ARTICLE';margin-left:12px;color:#83928b}.is-story .article-content{max-width:760px;margin:auto}.is-story .article-content p{font-size:18px;line-height:1.85;color:#526a6f;margin:0 0 25px}.is-story .article-content p:first-of-type{font-size:23px;line-height:1.55;color:var(--ink);margin-bottom:40px}.is-story .article-content .source-image{display:block;width:min(100%,1000px);max-width:1000px;max-height:none;aspect-ratio:16/10;object-fit:cover;margin:55px auto;transform:translateX(min(0px,calc((760px - 100vw + 160px)/2)))}.is-story .article-content .source-link{margin:5px 0 35px}.is-story .text-link[href='/blog/']{display:flex;max-width:760px;margin:55px auto 0}
@media(max-width:900px){.about-intro,.about-partners,.student-story-section,.student-join{gap:6%}.team-group .people{grid-template-columns:repeat(4,1fr)}.student-hero-card>div{padding:45px 9%}.journal-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.about-intro,.about-history,.about-partners,.student-hero-card,.student-paths,.student-story-section,.student-join,.journal-feature>a{grid-template-columns:1fr}.about-intro{padding:55px 0 65px;gap:25px}.about-intro>p{font-size:16px}.about-history article,.about-history article:nth-of-type(even){padding:42px 0;border-left:0}.about-history>img{min-height:270px}.about-history .about-norway{padding:42px 7%;margin:0 -7%}.about-map{margin:65px 0;min-height:390px;padding:45px 8%}.about-partners{padding-bottom:60px}.about-partners .partner-grid{margin-top:10px;grid-template-columns:repeat(2,1fr)}.about-partners .partner-grid .source-image{height:100px;padding:18px}.about-people{padding-top:65px;padding-bottom:50px}.about-people-head{display:block;margin-bottom:50px}.about-people h2{margin-top:18px}.team-group .people{grid-template-columns:repeat(2,1fr);gap:20px 14px}.about-cta{padding-top:70px;padding-bottom:70px}.student-hero-card>img{min-height:300px;max-height:370px}.student-hero-card>div{padding:43px 8%}.student-paths{gap:28px;padding:55px 0 65px}.student-paths h3{margin:18px 0 10px}.student-story-section{padding:62px 0;gap:35px}.student-story-section:nth-child(even) .student-story-copy,.student-story-section:nth-child(even) figure{order:initial}.student-story-section p{font-size:15px}.student-story-section p.lead{font-size:18px}.student-story-section figure{position:static}.student-story-section figure img{aspect-ratio:4/3;max-height:400px}.student-join{padding:65px 0;gap:25px}.student-partner{padding:70px 17% 70px 8%}.student-partner:after{font-size:60px;right:6%}.journal-page{padding-bottom:55px}.journal-grid{padding:45px 0}.journal-feature>a{min-height:0}.journal-feature img{min-height:280px}.journal-feature a>div{padding:33px 8%}.journal-divider{font-size:8px}.journal-list{grid-template-columns:1fr;gap:45px;padding:42px 0}.journal-card h2{font-size:25px}.is-story .page{padding-top:135px}.is-story .page-heading{margin-bottom:35px}.is-story .article-content p{font-size:16px;line-height:1.8}.is-story .article-content p:first-of-type{font-size:20px}.is-story .article-content .source-image{margin:40px 0;aspect-ratio:4/3;transform:none}.is-story .text-link[href='/blog/']{margin-top:38px}}

/* Individual journal stories: source pages arrive as unstructured blocks, so
   give prose, images, quotations and member offers a consistent hierarchy. */
.is-story .article-content{padding-bottom:12px}.is-story .story-byline{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:#71827d!important;margin:0 0 35px!important}.is-story .story-figure{width:min(1000px,calc(100% + 300px));margin:42px 50% 52px;transform:translateX(-50%)}.is-story .story-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.82)}.is-story .story-figure figcaption{max-width:760px;margin:10px auto 0;color:#71827d;font-size:11px;line-height:1.55}.is-story .article-content h2{font-size:clamp(30px,3.2vw,45px);line-height:1.13;margin:78px 0 25px;letter-spacing:-.045em}.is-story .article-content h3{font-size:22px;line-height:1.25;margin:52px 0 18px;letter-spacing:-.025em}.is-story .article-content blockquote{font-family:Manrope,sans-serif;font-weight:300;font-size:clamp(23px,2.25vw,32px);letter-spacing:-.035em;line-height:1.35;color:var(--ink);padding:4px 0 4px 28px;margin:35px -7% 40px;border-left:2px solid #8da195}.is-story .article-content .answer{font-size:17px;color:#536a6d;border-top:1px solid var(--line);padding-top:23px;margin-top:30px}.is-story .story-list{padding:25px 30px 22px;margin:32px 0 48px;background:#e0e7df;list-style:none}.is-story .story-list li{position:relative;padding:10px 0 10px 24px;color:#40595d;font-size:16px;line-height:1.55;border-bottom:1px solid #b8c7ba}.is-story .story-list li:last-child{border-bottom:0}.is-story .story-list li:before{content:'↗';position:absolute;left:0;color:#607a6c}.is-story .story-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--ink);padding:7px 0;margin:4px 0 25px;font-size:14px}.is-story .story-link span{font-size:18px}.is-story .article-content .lead+blockquote{margin-top:12px}.is-story .article-content .story-figure+ h2{margin-top:70px}
@media(max-width:720px){.is-story .story-figure{width:100%;margin:35px 0 40px;transform:none}.is-story .story-figure img{aspect-ratio:4/3}.is-story .article-content h2{font-size:31px;margin-top:58px}.is-story .article-content h3{font-size:20px;margin-top:42px}.is-story .article-content blockquote{font-size:23px;margin:30px 0 35px;padding-left:20px}.is-story .story-list{padding:18px 20px}.is-story .story-list li{font-size:15px}}

/* The opening content fades itself in as the page arrives, rather than being
   simply present. This is a CSS animation and not a class the script
   toggles, so it does not depend on the scene loading, on WebGL working, or
   on JavaScript running at all - the words are always going to appear. Only
   the direct children animate, so anything inside them keeps its own
   opacity: the hero meta line stays at its designed 0.76. */
@keyframes scene-content-in{from{opacity:0}to{opacity:1}}
.ocean-story>*:not(.ocean-stage),.scene-controls{animation:scene-content-in 1s ease-out .2s both}

/* The header stays with the visitor instead of scrolling away with the page,
   and tucks itself out of sight while they are reading downward. Fixed rather
   than absolute: absolute means it is only ever at the very top, so there is
   nothing to bring back. It is outside the flow either way, so the layout is
   unchanged. */
header{position:fixed;transition:transform .45s cubic-bezier(.4,0,.2,1),background-color .3s ease,color .3s ease,border-color .3s ease}
header.is-tucked{transform:translateY(-100%)}

/* Legibility over the section currently passing beneath it. The home page sets
   white header text and every other page dark ink, while the sections travel
   from near-white paper to the almost black footer - so on any page one of
   those pairings ends up unreadable. app.js measures the contrast under the
   header and asks for this state when it falls too low: a dark fill with the
   text, logo, underline and outlines turned white, which answers both cases. */
/* The colour the header text would have with no fill, kept in a custom
   property so app.js can read it even while the fill state is applied or
   its transition is still running. */
header{--header-ink:var(--ink)}
.is-home header{--header-ink:#fff}
header.needs-fill{background:#0d2731f2;backdrop-filter:blur(14px);border-bottom-color:#ffffff21;color:#fff}
header.needs-fill nav a[aria-current=page]:after{background:#fff}
header.needs-fill a:hover{color:#dbe7dd}
header.needs-fill .menu-toggle{color:#fff}
header.needs-fill .join{border-color:#ffffff75;color:#fff}
header.needs-fill .join:hover{background:#fff;color:#142e38}

/* Mobile pass for the editorial pages. The home journey deliberately keeps
   its own responsive treatment; these rules only cover the pages rebuilt as
   reading and information screens. */
@media(max-width:760px){
  .about-page,.student-page-v2,.journal-page,.is-story .page{padding-left:6%;padding-right:6%}
  .about-page .page-heading,.student-page-v2 .page-heading,.journal-page .page-heading,.is-story .page-heading{padding-bottom:28px}
  .about-page .page-heading h1,.student-page-v2 .page-heading h1,.journal-page .page-heading h1{font-size:clamp(43px,13vw,58px);line-height:1.02}
  .about-page .page-heading p,.student-page-v2 .page-heading p,.journal-page .page-heading p{font-size:15px;line-height:1.6;max-width:31ch}
  .about-intro{padding:48px 0 58px}.about-intro h2{font-size:clamp(35px,10vw,48px)}.about-intro>p{font-size:16px;line-height:1.65}
  .about-history h2{font-size:31px}.about-history p{font-size:15px;line-height:1.75}.about-history>img{min-height:250px;max-height:350px}.about-map{min-height:340px;padding:42px 8%;background-position:center}.about-map h2{font-size:clamp(38px,11vw,52px)}.about-map p{font-size:15px}.about-map .button{width:100%;min-height:48px}
  .about-partners{gap:25px}.about-partners h2{font-size:37px;margin:0}.about-partners .partner-grid{gap:8px}.about-partners .partner-grid .source-image{height:88px;padding:14px}.about-people{margin-left:-6%;margin-right:-6%;padding-left:6%;padding-right:6%}.about-people-head{margin-bottom:38px}.about-people h2{font-size:42px}.team-group{padding:23px 0 38px}.team-group>h3{font-size:11px;line-height:1.5}.team-group .person h4{font-size:14px;overflow-wrap:anywhere}.team-group .person p{font-size:10px}.about-cta{margin-left:-6%;margin-right:-6%;padding:64px 6%}.about-cta h2{font-size:44px}.about-cta .button{min-height:48px;width:min(100%,290px)}
  .student-hero-card{margin-left:-1px;margin-right:-1px}.student-hero-card>img{min-height:260px;height:260px;max-height:none}.student-hero-card>div{padding:35px 8% 40px}.student-hero-card h2{font-size:clamp(35px,10vw,47px);margin-bottom:18px}.student-hero-card p{font-size:15px;line-height:1.65}.student-hero-card .button{width:100%;min-height:50px;margin-top:10px}.student-paths{padding:48px 0 55px}.student-paths article{padding-top:17px}.student-paths h3{font-size:24px}.student-paths p{font-size:14px}.student-story-section{padding:52px 0}.student-story-section h2{font-size:31px;margin-bottom:22px}.student-story-section p{font-size:15px;line-height:1.72}.student-story-section p.lead{font-size:18px}.student-story-section p.quote{font-size:18px;padding-left:17px}.student-story-section figure img{width:100%;aspect-ratio:16/10;max-height:none}.student-join{padding:55px 0}.student-join h2{font-size:43px}.student-join p{font-size:15px;line-height:1.72}.student-join .button{width:100%;min-height:50px}.student-partner{margin-left:-6%;margin-right:-6%;padding:62px 15% 62px 6%}.student-partner h2{font-size:44px}.student-partner p{font-size:15px;line-height:1.7}.student-partner .button{min-height:50px;width:100%;gap:12px}.student-partner:after{right:5%;top:auto;bottom:26px;font-size:44px}
  .journal-grid{padding:38px 0 46px}.journal-feature img{min-height:235px;height:235px}.journal-feature a>div{padding:30px 8% 34px}.journal-feature h2{font-size:clamp(31px,9vw,43px);margin-bottom:14px}.journal-feature p{font-size:14px}.journal-feature .text-link{min-height:42px;align-items:center}.journal-divider{padding:13px 0;font-size:8px;letter-spacing:.12em}.journal-list{padding:36px 0;gap:38px}.journal-card{padding-bottom:21px}.journal-card img{aspect-ratio:16/10}.journal-card a>div{padding-top:17px}.journal-card h2{font-size:24px}.journal-card p{font-size:14px}.journal-card .text-link{min-height:42px;align-items:center}
  .is-story .page{padding-top:118px}.is-story .page-heading{margin-bottom:29px}.is-story .page-heading h1{font-size:clamp(37px,11vw,47px);line-height:1.04;overflow-wrap:anywhere}.is-story .page-heading .eyebrow{font-size:9px;letter-spacing:.15em}.is-story .article-content{max-width:none}.is-story .story-byline{font-size:10px!important;margin-bottom:27px!important}.is-story .article-content p{font-size:16px;line-height:1.78;margin-bottom:22px}.is-story .article-content p:first-of-type{font-size:19px;line-height:1.52;margin-bottom:31px}.is-story .story-figure{margin:30px 0 34px}.is-story .story-figure img{aspect-ratio:4/3}.is-story .story-figure figcaption{font-size:10px;padding-right:3px}.is-story .article-content h2{font-size:30px;line-height:1.14;margin:50px 0 20px}.is-story .article-content h3{font-size:20px;margin:40px 0 15px}.is-story .article-content blockquote{font-size:22px;line-height:1.38;margin:27px 0 31px;padding-left:17px}.is-story .article-content .answer{font-size:16px;padding-top:18px;margin-top:24px}.is-story .story-list{margin:25px 0 37px;padding:14px 18px}.is-story .story-list li{font-size:15px;padding:9px 0 9px 22px}.is-story .story-link{display:flex;justify-content:space-between;gap:12px;min-height:46px;align-items:center;margin-bottom:19px}.is-story .text-link[href='/blog/']{min-height:46px;margin-top:31px;align-items:center}
}
@media(max-width:390px){
  .about-page .page-heading h1,.student-page-v2 .page-heading h1,.journal-page .page-heading h1{font-size:42px}.about-intro h2{font-size:35px}.about-map{padding-left:7%;padding-right:7%}.about-map h2,.student-join h2,.student-partner h2,.about-cta h2{font-size:39px}.team-group .people{gap:16px 10px}.student-paths h3{font-size:22px}.is-story .page-heading h1{font-size:37px}.is-story .article-content h2{font-size:28px}.is-story .article-content blockquote{font-size:21px}
}

/* The crest now carries its own transparency, so a dark header only has to
   tint it rather than reconstruct it from luminance - which is what used to
   leave a pale fringe around every anti-aliased line. */
header .brand img{object-fit:contain;mix-blend-mode:normal;filter:none;transition:filter .3s ease}
.is-home header .brand img,header.needs-fill .brand img{filter:brightness(0) invert(1)}

/* Page-to-page transition.
   The site is a set of separate documents, so the browser's own behaviour is a
   cut: it keeps the old page on screen until the new one is parsed, then
   replaces it in one frame. Where two pages differ in colour that lands as a
   flash, which is what made moving around feel abrupt. The two halves are split
   between the pages - app.js fades the outgoing one, this fades the arriving
   one in - and the paper colour behind them both keeps the moment in between
   quiet instead of white.

   The fade-in is an animation rather than a transition on purpose: it needs no
   JavaScript to start, so a page still appears if a script fails. It is also
   why the reduced-motion rule further up leaves the page at full opacity - with
   `animation:none` there is nothing to hold it invisible. */
html{background:var(--paper)}
@keyframes page-in{from{opacity:0}to{opacity:1}}
html{animation:page-in .38s ease-out both}
html.is-leaving{opacity:0;transition:opacity .2s ease-in;pointer-events:none}
