/* A sporty, sunlit evolution of the UX Marine interface. */
:root {
  --accent: #ff4f00;
  --accent-dark: #dd4400;
  --ink: #131511;
  --muted: #555952;
  --line: #dce0d8;
  --mist: #e8faf7;
  --aqua: #55ead7;
  --citrus: #dcff42;
  --sea-ink: #17443e;
  --citrus-ink: #354315;
  --photo-finish: brightness(1.16) saturate(1.28) contrast(1.02);
  --curve: 24px;
  --spring: cubic-bezier(.22,1.35,.45,1);
}
body { background: var(--paper); }
h1,h2,h3 { font-weight: 650; }
em { font-weight: inherit; }
.header {
  height: 78px; margin: 18px var(--gutter); padding-inline: 24px;
  border: 0; border-radius: 100px; background: var(--aqua); gap: 24px;
}
.brand span { font-size: 12px; font-weight: 700; letter-spacing: .07em; }
.brand img { width: 62px; }
.desktop-nav { gap: 28px; margin-right: 14px; }
.desktop-nav a { font-weight: 500; }
.owner-link {
  min-height: 44px; padding: 12px 19px; border-radius: 100px;
  background: var(--ink); color: #fff; gap: 19px;
  transition: transform .3s var(--spring), background .2s;
}
.owner-link:hover { background: var(--accent); color: var(--ink); transform: rotate(-3deg); }
#mobile-nav:not([hidden]) { border-radius: 24px; top: calc(100% + 10px); border: 1px solid var(--line); }
.home-opening { margin-top: 18px; }
.hero-image { border-radius: 28px; overflow: hidden; }
.hero-image>img { height: clamp(590px,49vw,760px); object-position: 50% 48%; }
/* A sunlit finish for photography only; logos and magazine artwork stay exact. */
.hero-image>img,.model-image>img,.principles-photo img,.water-life>img,
.wide-photo img,.model-hero>img,.gallery-item img,.feature-final>img,
.team-image>img,.config-boat img,.owner-page>img,.lightbox>img {
  filter:var(--photo-finish);
}
.team-grid img {filter:brightness(1.1) saturate(1.15);}
.hero-image.changing>img {filter:var(--photo-finish) blur(4px);}
.hero-shade {
  position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(180deg,rgba(0,0,0,.38),transparent 58%,rgba(0,0,0,.36));
}
.opening-type {
  position:absolute; z-index:1; top:42px; left:42px; right:42px;
  display:block; padding:0; color:#fff;
}
.opening-type h1 { max-width:700px; font-size:clamp(64px,7.1vw,96px); letter-spacing:-.04em; line-height:.98; }
.opening-type h1 em { display:block; width:max-content; color:#fff; position:relative; padding-right:15px; }
.opening-type h1 em:after {
  content:''; position:absolute; height:9px; background:var(--accent);
  bottom:-6px; left:2px; right:0; border-radius:100%; transform:rotate(-3deg); z-index:-1;
}
.opening-type p { color:#fff; max-width:31ch; font-size:17px; line-height:1.45; margin-top:25px; }
.hero-wordmark {
  font-size:clamp(44px,6vw,88px); left:38px; bottom:38px;
  font-weight:750; font-style:italic; letter-spacing:-.04em;
  animation: none; text-shadow:0 2px 18px #0004;
}
.hero-cta {
  right:40px; bottom:38px; width:168px; height:168px; padding:30px;
  border-radius:50%; color:var(--ink); background:var(--accent);
  flex-direction:column; transform:rotate(8deg);
  transition:transform .5s var(--spring), background .25s;
}
.hero-cta span {font-size:19px;font-weight:650;line-height:1.12;}
.hero-cta svg {width:29px;height:29px;}
.hero-cta:hover {color:var(--ink);background:#ff6b28;transform:rotate(-7deg) scale(1.04);}
.hero-cta:active {transform:scale(.94);}
.scene-switch {
  position:absolute; z-index:2; right:37px; top:34px; gap:4px;
  padding:5px; background:#fff; border-radius:100px;
}
.scene-switch button {
  padding:11px 17px; min-height:44px; border-radius:100px;
  font-size:12px; font-weight:600; color:var(--ink); transition:background .25s;
}
.scene-switch button:before {display:none;}
.scene-switch button[aria-pressed=true] {background:var(--accent); color:var(--ink);}
.hero-caption {border:0; padding-block:17px; color:var(--muted); font-size:12px;}
.hero-caption>a {display:inline-flex; align-items:center; gap:20px;min-height:44px;font-weight:600;color:var(--ink);}
.hero-caption svg {width:17px;height:17px;}
.intro {padding-block:70px 90px; gap:8%;}
.intro h2 {font-size:clamp(56px,6.5vw,90px);line-height:1;}
.intro h2 em {color:var(--accent);}
.intro .large-copy {font-size:clamp(23px,2.3vw,33px);font-weight:500;line-height:1.3;}
.text-link {border:0; padding:12px 18px; border-radius:100px; background:var(--mist); gap:22px; font-weight:550;}
.text-link:hover {background:var(--accent);color:var(--ink);}
.section-heading h2 {font-size:clamp(36px,4vw,56px);}
.section-heading>span {font-size:14px;}
.range-section {padding-bottom:85px;}
.models-grid {gap:25px;}
.model-card:nth-child(n) {padding:0;}
.model-card {transition:transform .5s var(--spring);}
.model-card:nth-child(2) {margin-top:35px;}
.model-card:nth-child(3) {margin-top:70px;}
.model-image {border-radius:22px; isolation:isolate;}
.model-image>img {height:410px;}
.model-letter {font-weight:750;font-style:italic; font-size:82px;left:21px;bottom:23px;}
.image-link {border-radius:50%;width:44px;height:44px;background:var(--accent);color:var(--ink);}
.model-image:hover>img {transform:scale(1.05);}
@media(hover:hover) { .model-card:hover {transform:translateY(-7px) rotate(-1deg);} }
.model-name {display:block;}
.model-name h3 {font-size:29px;}
.model-name>span {display:block;font-size:12px;margin-top:9px;}
.model-card>p {font-size:14px;margin-block:12px 18px;}
.model-meta {border-top:0;background:var(--aqua);border-radius:100px;padding:5px 12px;gap:12px;}
.model-meta .text-link {background:transparent;gap:9px;min-height:42px;padding:8px 0;}
.model-meta>span {font-size:12px;}
.manifesto {
  border-radius:28px; background:var(--citrus);color:var(--ink);
  padding:60px 55px 38px;position:relative;
}
.manifesto h2 {max-width:1000px;font-size:clamp(42px,5.8vw,82px);line-height:1.06;}
.manifesto h2 em {color:var(--ink);}
.manifesto-bottom {border-top:1px solid #13151140;margin-top:55px;}
.manifesto-bottom p {color:var(--ink);font-size:15px;}
.noordic-mark {font-style:italic;font-weight:750;}
.principles {padding-block:95px;gap:7%;}
.principles-photo img {border-radius:28px;}
.principles-list article {border:0;padding-block:19px;}
.principles-list h3 {font-size:29px;}
.principles-list p {font-size:15px;}
.principles-list article:nth-child(2) h3 {color:var(--accent);}
.water-life {border-radius:28px;overflow:hidden;isolation:isolate;}
.water-life>img {height:650px;}
.water-life>div {
  background:var(--aqua);color:var(--ink);border-radius:0 24px 0 0;
  padding:30px 35px;left:0;bottom:0;min-width:0;
}
.water-life .text-link {background:#fff;}
.water-life h2 {font-size:clamp(35px,4vw,58px);}
.journal-teaser {padding-block:85px;}
.journal-row {border:0;background:var(--citrus);border-radius:24px;padding:30px;}
.journal-row:hover {background:var(--accent);color:var(--ink);}
.contact-band {border:0;border-radius:28px;margin:0 var(--gutter);padding:55px 40px;background:var(--aqua);}
.contact-band h2 {font-style:italic;letter-spacing:-.04em;}
.contact-band .text-link {background:var(--accent);color:var(--ink);min-width:240px;}
.footer {padding-top:55px;}
.footer-top>p {font-style:italic;font-weight:650;}
.footer-bottom {border-color:var(--line);}
.button {border-radius:100px;font-weight:600;transition:transform .3s var(--spring),background .2s;}
.button.primary {background:var(--accent);color:var(--ink);}
.button.primary:hover {background:#ff6b28;color:var(--ink);transform:translateY(-2px);}
.button:active {transform:scale(.97);}
.button.outline:hover {background:var(--accent);color:var(--ink);border-color:transparent;}
.page-opening {padding:48px 40px;margin-block:24px 42px;border-radius:28px;background:var(--citrus);}
.page-opening p {color:var(--citrus-ink);}
.page-opening h1 {font-style:italic;font-weight:700;}
.model-title h1 {font-style:italic;font-weight:700;}
.wide-photo img,.model-hero,.feature-final,.team-image>img {border-radius:28px;overflow:hidden;}
.model-hero .model-letter {font-style:italic;}
.stat-row {background:var(--aqua);border:0;border-radius:20px;margin-top:20px;overflow:hidden;padding-inline:25px;}
.stat-row>div {border:0;}
.stat-row dd {font-weight:650;}
.model-intro h2,.feature-stories h2 {font-style:italic;}
.spec-section {border-radius:28px;background:var(--mist);}
.spec-grid dd {font-weight:550;}
.gallery-item,.gallery-item img {border-radius:22px;}
.gallery-item>svg {border-radius:100px;background:var(--accent);}
.models-grid.two .model-card {margin-top:0;}
.feature-final h2 {border-radius:0 22px 0 0;padding:25px; background:var(--citrus);}
.feature-stories article {border:0;}
.feature-stories article:nth-child(3n+2) h2 {color:var(--accent);}
.press-card img {border-radius:24px;background:var(--aqua);}
.press-card:nth-child(2) img {background:var(--citrus);}
.editorial-statement {background:var(--citrus);color:var(--ink);border-radius:28px;}
.editorial-statement h2 {font-style:italic;}
.editorial-statement p {color:var(--ink);}
.company-stories article {border:0;}
.company-stories h2 {font-style:italic;}
.team-image>div {border-radius:0 24px 0 0;background:var(--citrus);padding:28px;}
.team-image p {color:var(--ink);}
.team-grid img {border-radius:20px;}
.company-close {border:0;}
.configure-opening h1 {font-style:italic;}
.config-boat img {border-radius:24px;}
.colour-choice {border-radius:14px;transition:transform .25s var(--spring),background .2s;}
.colour-choice:has(input:checked) {background:var(--aqua);border-color:var(--accent);}
.colour-choice:hover {transform:translateY(-2px);}
.config-summary {border-radius:24px;background:var(--citrus);--muted:var(--citrus-ink);--line:#a7bd48;}
.config-summary .button.outline {border-color:var(--ink);}
.stat-row {--muted:var(--sea-ink);}
.contact-band p {color:var(--sea-ink);}
.model-meta {color:var(--sea-ink);}
.config-total strong {color:var(--ink);}
.summary-heading h2 {font-style:italic;}
.mobile-config-total {color:var(--ink)!important;}
.owner-page>img {border-radius:28px;}
.owner-page h1 {font-style:italic;}
.lightbox>img {border-radius:20px;}
input {accent-color:var(--ink);}
::selection {background:var(--accent);color:var(--ink);}
@media(max-width:1100px) {
 .desktop-nav {gap:20px;}
 .header {padding-inline:22px;}
 .model-image>img {height:350px;}
 .model-meta {flex-wrap:wrap;border-radius:16px;}
 .model-meta .text-link {width:auto;margin-left:auto;}
 .hero-cta {right:30px;bottom:30px;}
 .scene-switch {right:28px;}
}
@media(max-width:800px) {
 .header {height:72px;margin-top:14px;margin-bottom:14px;padding-inline:20px;gap:15px;}
 .owner-link {padding:10px 16px;gap:12px;}
 .opening-type {left:28px;right:28px;top:35px;}
 .opening-type h1 {font-size:76px;}
 .opening-type p {font-size:16px;max-width:29ch;}
 .hero-image>img {height:650px;object-position:48% center;}
 .scene-switch {top:auto;bottom:30px;left:25px;right:auto;}
 .hero-wordmark {left:28px;bottom:100px;font-size:60px;}
 .hero-cta {width:145px;height:145px;padding:25px;}
 .hero-cta span {font-size:17px;}
 .intro {padding-block:60px 70px;}
 .intro h2 {font-size:65px;}
 .intro .large-copy {font-size:25px;}
 .model-image>img {height:300px;}
 .model-name h3 {font-size:25px;}
 .model-meta>span {font-size:11px;}
 .model-meta .text-link {width:100%;margin-left:0;}
 .manifesto {padding:45px 30px 35px;}
 .manifesto h2 {font-size:54px;}
 .manifesto-bottom p {font-size:14px;}
 .principles {padding-block:70px;}
 .principles-photo img {min-height:810px;}
 .principles-list h3 {font-size:26px;}
 .contact-band {padding:40px 30px;}
 .contact-band .text-link {min-width:0;width:100%;}
 .contact-band h2 {font-size:65px;}
 .contact-band>div {width:45%;}
}
@media(max-width:600px) {
 :root {--gutter:16px;--curve:20px;}
 .header {height:64px;margin:12px var(--gutter);padding-inline:16px;}
 .header .brand span {display:none;}
 .brand img {width:54px;}
 .header-actions {gap:7px;}
 .owner-link {padding:10px 14px;min-height:40px;font-size:12px;}
 .menu-toggle {width:36px;}
 .home-opening {margin-top:12px;}
 .hero-image {border-radius:22px;}
 .hero-image>img {height:620px;object-position:49% 55%;}
 .hero-shade {background:linear-gradient(180deg,#0006,transparent 64%,#0005);}
 .opening-type {top:28px;left:23px;right:20px;gap:0;}
 .opening-type h1 {font-size:clamp(57px,15vw,76px);line-height:.98;}
 .opening-type h1 em:after {height:7px;bottom:-4px;}
 .opening-type p {font-size:15px;max-width:25ch;line-height:1.4;margin-top:22px;}
 .hero-wordmark {font-size:42px;bottom:107px;left:22px;}
 .hero-cta {width:128px;height:128px;bottom:24px;right:22px;padding:23px;}
 .hero-cta span {font-size:15px;}
 .hero-cta svg {width:25px;height:25px;}
 .scene-switch {left:17px;bottom:26px;gap:0;padding:4px;max-width:calc(100% - 170px);}
 .scene-switch button {padding:8px 11px;font-size:11px;line-height:1.15;min-height:44px;}
 .hero-caption {font-size:11px;min-height:64px;gap:10px;padding:9px 3px;}
 .hero-caption>span {max-width:135px;line-height:1.4;}
 .hero-caption>a {font-size:11px;gap:9px;}
 .hero-caption svg {width:15px;}
 .intro {padding-block:40px 55px;gap:24px;}
 .intro h2 {font-size:60px;line-height:1.02;}
 .intro h2 br {display:initial;}
 .intro .large-copy {font-size:25px;}
 .intro p:not(.large-copy) {font-size:15px;}
 .section-heading h2 {font-size:36px;}
 .section-heading>span {font-size:13px;}
 .models-grid {gap:35px;}
 .model-card:nth-child(n) {margin-top:0;}
 .model-image>img {height:390px;}
 .model-letter {font-size:82px;}
 .model-name {display:flex;gap:16px;align-items:center;}
 .model-name h3 {font-size:27px;}
 .model-name>span {font-size:11px;max-width:115px;text-align:right;line-height:1.4;margin:0;white-space:normal;}
 .model-card>p {font-size:14px;}
 .model-meta {border-radius:100px;padding:4px 13px;gap:12px;}
 .model-meta>span {font-size:11px;}
 .model-meta .text-link {width:auto;margin-left:auto;font-size:11px;gap:10px;}
 .range-section {padding-bottom:55px;}
 .manifesto {margin-inline:var(--gutter);padding:35px 24px 30px;border-radius:24px;}
 .manifesto h2 {font-size:42px;line-height:1.05;}
 .manifesto-bottom {margin-top:35px;padding-top:24px;}
 .manifesto-bottom p {font-size:14px;max-width:100%;}
 .principles {padding-block:55px;gap:30px;}
 .principles-photo img {height:430px;min-height:0;border-radius:22px;}
 .principles-list h3 {font-size:28px;}
 .principles-list article {padding-block:18px;}
 .water-life {border-radius:24px;}
 .water-life>img {height:450px;object-position:47% center;}
 .water-life>div {position:static;padding:25px;border-radius:0;background:var(--aqua);}
 .water-life h2 {font-size:39px;}
 .journal-teaser {padding-block:55px;}
 .journal-row {padding:24px;gap:18px;border-radius:20px;}
 .journal-row h3 {font-size:26px;}
 .contact-band {padding:35px 25px;border-radius:24px;}
 .contact-band h2 {font-size:58px;}
 .contact-band>div {width:100%;padding-top:22px;}
 .contact-band .text-link {width:max-content;min-width:230px;}
 .footer {padding-top:40px;}
 .footer-top .brand img {width:65px;}
 .footer-grid {gap:30px 24px;}
 .footer-grid a,.footer-grid address {font-size:12px;}
 .page-opening {padding:30px 24px;margin-block:18px 30px;border-radius:22px;}
 .page-opening h1 {font-size:56px;}
 .wide-photo img,.model-hero,.feature-final,.team-image>img {border-radius:22px;}
 .stat-row {padding-inline:20px;border-radius:18px;}
 .stat-row>div {border:0;}
 .model-intro {padding-block:50px;}
 .model-intro h2 {font-size:41px;}
 .spec-section {margin-inline:var(--gutter);padding:30px 20px;border-radius:22px;}
 .spec-section .section-heading h2 {font-size:30px;}
 .spec-section .button {gap:16px;}
 .gallery {gap:16px;padding-block:40px 55px;}
 .gallery-item,.gallery-item img {border-radius:18px;}
 .feature-stories article {padding-block:25px;}
 .feature-final h2 {padding:23px;font-size:34px;}
 .editorial-statement {margin-inline:var(--gutter);padding:32px 24px;border-radius:24px;}
 .editorial-statement h2 {font-size:43px;}
 .team-image>div {border-radius:0;background:var(--citrus);padding:25px;}
 .team-grid img {border-radius:16px;}
 .config-boat img {border-radius:20px;}
 .config-summary {padding:26px;border-radius:24px;}
 .configure-opening h1 {font-size:58px;}
 .summary-heading h2 {font-size:31px;}
 .colour-choice {border-radius:12px;}
 .mobile-config-total {border-radius:18px 18px 0 0;}
 .owner-page h1 {font-size:62px;}
}
@media(prefers-reduced-motion:reduce) {
 .hero-cta,.model-card,.button,.owner-link {transform:none!important;}
}
/* Preserve strong reading contrast and keep the mobile identity clear of its action. */
.skip { color:var(--ink); }
.opening-type p { text-shadow:0 1px 10px #0008; }
.hero-shade {
  background:radial-gradient(ellipse 70% 80% at 0 0,rgba(0,15,20,.58),transparent 78%),
    linear-gradient(0deg,rgba(0,0,0,.24),transparent 28%);
}
@media(max-width:600px) { .hero-wordmark {bottom:172px;} }
.footer-grid a:hover {color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);}
/* Local scrims keep model names readable on spray, pale hulls, and light water. */
.model-image::after,.model-hero::after {
  content:'';position:absolute;inset:45% 0 0;z-index:0;pointer-events:none;
  background:linear-gradient(transparent,rgba(0,0,0,.62));
}
.model-letter,.image-link {z-index:1;}
