/* ══════════════════════════════════════════════════════════════════════════
   OCEAN WORLD 2027 — shared site chrome
   Base reset, sticky navigation, compact footer, contact form, utility pages.
   Section styles for the landing page follow below this file in site.css.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --ink:#0A2830; --ink-2:#0C3139; --ink-3:#08222A;
  --teal:#0D8891; --teal-d:#0A6B73; --foam:#8DB6BB; --amber:#EE962A;
  --paper:#F2F6F6;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --nav-h:64px;
  --wrap:1180px;
}

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

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
}

body{
  margin:0;
  background:var(--ink);
  color:#E7EFF0;
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-wrap:break-word;
}

/* anything targeted by an anchor clears the sticky header */
[id]{ scroll-margin-top:calc(var(--nav-h) + 14px); }

a{ color:inherit; }

::selection{ background:var(--amber); color:#12252B; }

:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:3px;
  border-radius:3px;
}

/* ─── skip link ─────────────────────────────────────────────────────────── */
.ow-skip{
  position:absolute; left:12px; top:-60px; z-index:2000;
  background:var(--amber); color:#12252B;
  font:600 14px/1 var(--body);
  padding:12px 18px; border-radius:8px; text-decoration:none;
  transition:top .18s ease;
}
.ow-skip:focus{ top:12px; }

.ow-vh{
  position:absolute!important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ═══ STICKY NAVIGATION ═════════════════════════════════════════════════ */
.ow-nav{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  height:var(--nav-h);
  display:flex; align-items:center;
  background:transparent;
  transition:background .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}
.ow-nav::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(8,34,42,.80), rgba(8,34,42,0));
  opacity:1; transition:opacity .32s ease;
}
.ow-nav.is-solid{
  background:rgba(9,35,43,.92);
  box-shadow:0 1px 0 rgba(141,182,187,.16), 0 10px 30px rgba(0,0,0,.28);
}
@supports (backdrop-filter:blur(10px)){
  .ow-nav.is-solid{ background:rgba(9,35,43,.78); backdrop-filter:blur(14px) saturate(1.2); }
}
.ow-nav.is-solid::after{ opacity:0; }

.ow-nav__in{
  width:100%; max-width:var(--wrap);
  margin:0 auto; padding:0 clamp(16px,3.4vw,32px);
  display:flex; align-items:center; gap:18px;
}

.ow-nav__brand{
  display:inline-flex; align-items:center; gap:11px;
  text-decoration:none; color:#fff; margin-right:auto;
  flex:0 0 auto;
}
.ow-nav__mark{ display:block; width:30px; height:30px; flex:0 0 30px; }
.ow-nav__mark svg{ display:block; width:100%; height:100%; }
.ow-nav__name{
  font-family:var(--disp);
  font-size:20px; letter-spacing:.055em; text-transform:uppercase;
  font-weight:600; line-height:1; white-space:nowrap; padding-top:2px;
}
.ow-nav__name b{ color:var(--amber); font-weight:700; }

.ow-nav__menu{ display:flex; align-items:center; gap:clamp(4px,1.5vw,10px); }
.ow-nav__menu a{
  position:relative;
  font-size:14px; font-weight:500; letter-spacing:.012em;
  color:#CFE0E2; text-decoration:none;
  padding:9px 11px; border-radius:8px; white-space:nowrap;
  transition:color .2s ease, background .2s ease;
}
.ow-nav__menu a::after{
  content:''; position:absolute; left:11px; right:11px; bottom:4px; height:2px;
  background:var(--amber); border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .26s ease;
}
.ow-nav__menu a:hover{ color:#fff; }
.ow-nav__menu a:hover::after,
.ow-nav__menu a.is-current::after{ transform:scaleX(1); }
.ow-nav__menu a.is-current{ color:#fff; }

.ow-nav__cta{
  background:var(--amber); color:#12252B!important;
  font-weight:700!important; padding:10px 18px!important;
  border-radius:999px!important; margin-left:8px;
  box-shadow:0 6px 18px rgba(238,150,42,.30);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.ow-nav__cta::after{ display:none!important; }
.ow-nav__cta:hover{
  transform:translateY(-2px); filter:brightness(1.06);
  box-shadow:0 10px 26px rgba(238,150,42,.42);
}

/* burger */
.ow-nav__burger{
  display:none;
  width:44px; height:40px; padding:0;
  background:transparent; border:1px solid rgba(141,182,187,.34);
  border-radius:9px; cursor:pointer;
}
.ow-nav__burger span{
  display:block; width:19px; height:2px; margin:4px auto;
  background:#DCE9EA; border-radius:2px;
  transition:transform .26s ease, opacity .2s ease;
}
.ow-nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.ow-nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.ow-nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

@media (max-width:860px){
  .ow-nav__burger{ display:block; }
  .ow-nav__menu{
    position:fixed; inset:var(--nav-h) 0 auto 0;
    flex-direction:column; align-items:stretch; gap:2px;
    background:rgba(8,32,40,.98);
    padding:14px clamp(16px,4vw,26px) 22px;
    border-top:1px solid rgba(141,182,187,.18);
    box-shadow:0 24px 50px rgba(0,0,0,.42);
    transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:transform .26s ease, opacity .22s ease;
    max-height:calc(100vh - var(--nav-h)); overflow-y:auto;
  }
  @supports (backdrop-filter:blur(10px)){
    .ow-nav__menu{ background:rgba(8,32,40,.90); backdrop-filter:blur(16px); }
  }
  .ow-nav__menu.is-open{ transform:none; opacity:1; pointer-events:auto; }
  .ow-nav__menu a{
    font-size:16px; padding:14px 12px;
    border-bottom:1px solid rgba(141,182,187,.12);
  }
  .ow-nav__menu a::after{ display:none; }
  .ow-nav__menu a.is-current{ color:var(--amber); }
  .ow-nav__cta{
    margin:14px 0 0!important; text-align:center;
    padding:15px 18px!important; font-size:16px!important;
  }
  body.ow-nav-open{ overflow:hidden; }
}
@media (prefers-reduced-motion:reduce){
  .ow-nav,.ow-nav::after,.ow-nav__menu,.ow-nav__cta,.ow-nav__menu a::after{ transition:none; }
}

/* ═══ INNER PAGE SHELL (contact, thanks, 404) ═══════════════════════════ */
.ow-page{
  --pad:clamp(28px,5vw,60px);
  position:relative;
  padding:calc(var(--nav-h) + clamp(46px,7vw,86px)) 0 clamp(50px,7vw,80px);
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(13,136,145,.22), transparent 62%),
    radial-gradient(760px 520px at 92% 6%, rgba(238,150,42,.10), transparent 60%),
    linear-gradient(180deg, #0B2C34 0%, var(--ink) 46%, #092530 100%);
  overflow:hidden;
}
.ow-page__wrap{
  position:relative; z-index:2;
  max-width:var(--wrap); margin:0 auto;
  padding:0 clamp(16px,3.4vw,32px);
}
.ow-page__eyebrow{
  margin:0 0 12px;
  font:600 12px/1.2 var(--body);
  letter-spacing:.20em; text-transform:uppercase; color:var(--foam);
}
.ow-page h1{
  margin:0 0 16px;
  font-family:var(--disp); font-weight:700;
  font-size:clamp(38px,6.4vw,72px); line-height:.98;
  letter-spacing:-.005em; text-transform:uppercase; color:#fff;
}
.ow-page h1 b{ color:var(--amber); font-weight:700; }
.ow-page__lede{
  margin:0 0 clamp(30px,4.4vw,46px);
  max-width:62ch;
  font-size:clamp(16px,1.65vw,19px); line-height:1.66; color:#C7DADD;
}
.ow-page__rule{
  width:64px; height:3px; background:var(--amber);
  border:0; border-radius:3px; margin:0 0 22px;
}

/* two-column layout: form + aside */
.ow-cols{
  display:grid; gap:clamp(26px,3.6vw,44px);
  grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  align-items:start;
}
@media (max-width:900px){ .ow-cols{ grid-template-columns:1fr; } }

.ow-card{
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  border:1px solid rgba(141,182,187,.20);
  border-radius:18px;
  padding:clamp(22px,3vw,34px);
}
.ow-card h2{
  margin:0 0 6px;
  font-family:var(--disp); font-weight:600;
  font-size:clamp(22px,2.5vw,28px); line-height:1.08;
  letter-spacing:.005em; text-transform:uppercase; color:#fff;
}
.ow-card p{ margin:0 0 14px; font-size:15px; line-height:1.62; color:#BDD2D5; }
.ow-card p:last-child{ margin-bottom:0; }

/* ═══ FORM ═════════════════════════════════════════════════════════════ */
.ow-form{ margin:0; }
.ow-form__grid{
  display:grid; gap:16px 18px;
  grid-template-columns:1fr 1fr;
}
@media (max-width:620px){ .ow-form__grid{ grid-template-columns:1fr; } }
.ow-f{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.ow-f--full{ grid-column:1/-1; }
.ow-f label{
  font:600 12px/1.3 var(--body);
  letter-spacing:.10em; text-transform:uppercase; color:var(--foam);
}
.ow-f label .ow-req{ color:var(--amber); margin-left:2px; }
.ow-f input,
.ow-f select,
.ow-f textarea{
  width:100%;
  font:400 15px/1.5 var(--body); color:#EAF2F3;
  background:rgba(6,26,32,.62);
  border:1px solid rgba(141,182,187,.26);
  border-radius:11px;
  padding:13px 14px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  appearance:none;
}
.ow-f textarea{ min-height:150px; resize:vertical; }
.ow-f select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%238DB6BB' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  padding-right:42px;
  cursor:pointer;
}
.ow-f input::placeholder,
.ow-f textarea::placeholder{ color:#7C9498; }
.ow-f input:hover,.ow-f select:hover,.ow-f textarea:hover{ border-color:rgba(141,182,187,.42); }
.ow-f input:focus,.ow-f select:focus,.ow-f textarea:focus{
  outline:none;
  border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(238,150,42,.20);
  background:rgba(6,26,32,.82);
}
.ow-f__err{
  font:500 12.5px/1.4 var(--body); color:#FFB0A0;
  min-height:0; display:none;
}
.ow-f.is-bad input,.ow-f.is-bad select,.ow-f.is-bad textarea{
  border-color:#E2745C; box-shadow:0 0 0 3px rgba(226,116,92,.16);
}
.ow-f.is-bad .ow-f__err{ display:block; }

.ow-form__note{
  margin:18px 0 0;
  font-size:13px; line-height:1.6; color:#93AEB2;
}
.ow-form__note a{ color:var(--foam); }

.ow-form__actions{
  margin-top:22px;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.ow-submit{
  display:inline-flex; align-items:center; gap:10px;
  font:700 15px/1 var(--body); letter-spacing:.01em;
  color:#12252B; background:var(--amber);
  border:0; border-radius:999px; padding:16px 30px; cursor:pointer;
  box-shadow:0 8px 24px rgba(238,150,42,.30);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.ow-submit:hover{ transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 12px 30px rgba(238,150,42,.42); }
.ow-submit:active{ transform:translateY(0); }
.ow-submit svg{ width:16px; height:16px; }
.ow-submit[disabled]{ opacity:.6; cursor:progress; transform:none; }

/* honeypot — must stay in the DOM but never be seen or focusable */
.ow-hp{
  position:absolute!important; left:-9999px!important;
  width:1px; height:1px; overflow:hidden;
}

/* aside contact card */
.ow-side__mail{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--disp); font-size:clamp(17px,1.9vw,21px);
  letter-spacing:.01em; color:#fff; text-decoration:none;
  border-bottom:2px solid rgba(238,150,42,.55);
  padding-bottom:3px; word-break:break-all;
  transition:border-color .2s ease, color .2s ease;
}
.ow-side__mail:hover{ border-color:var(--amber); color:var(--amber); }
.ow-side__mail svg{ width:18px; height:18px; flex:0 0 18px; }

.ow-side__cta{
  display:inline-flex; align-items:center; gap:9px;
  margin-top:6px;
  font:700 14px/1 var(--body); color:#12252B; background:var(--amber);
  text-decoration:none; border-radius:999px; padding:14px 24px;
  transition:transform .2s ease, filter .2s ease;
}
.ow-side__cta:hover{ transform:translateY(-2px); filter:brightness(1.06); }

.ow-side__meta{
  margin:18px 0 0; padding-top:18px;
  border-top:1px solid rgba(141,182,187,.18);
  font-size:13.5px; line-height:1.62; color:#9FB8BC;
}

/* ═══ THANK YOU / 404 ═══════════════════════════════════════════════════ */
.ow-mid{
  min-height:calc(100vh - var(--nav-h) - 150px);
  display:flex; flex-direction:column; justify-content:center;
}
.ow-mid__actions{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:8px;
}
.ow-btn2{
  display:inline-flex; align-items:center; gap:9px;
  font:700 14.5px/1 var(--body); text-decoration:none;
  border-radius:999px; padding:15px 27px;
  transition:transform .2s ease, filter .2s ease, background .2s ease, border-color .2s ease;
}
.ow-btn2--solid{ background:var(--amber); color:#12252B; box-shadow:0 8px 22px rgba(238,150,42,.28); }
.ow-btn2--solid:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.ow-btn2--ghost{ background:transparent; color:#E7EFF0; border:1.5px solid rgba(141,182,187,.42); }
.ow-btn2--ghost:hover{ transform:translateY(-2px); border-color:var(--foam); background:rgba(141,182,187,.10); }

.ow-big{
  font-family:var(--disp); font-weight:700;
  font-size:clamp(84px,17vw,190px); line-height:.84;
  color:transparent;
  -webkit-text-stroke:2px rgba(141,182,187,.42);
  margin:0 0 6px; letter-spacing:.01em;
}

/* ═══ COMPACT FOOTER (inner pages) ═════════════════════════════════════ */
.ow-foot2{
  background:var(--ink-3);
  border-top:1px solid rgba(141,182,187,.16);
  padding:clamp(28px,4vw,42px) 0;
}
.ow-foot2__in{
  max-width:var(--wrap); margin:0 auto;
  padding:0 clamp(16px,3.4vw,32px);
  display:flex; align-items:center; justify-content:space-between;
  gap:18px 26px; flex-wrap:wrap;
}
.ow-foot2__brand{
  font-family:var(--disp); font-size:17px; letter-spacing:.06em;
  text-transform:uppercase; color:#DCE9EA; text-decoration:none;
}
.ow-foot2__brand b{ color:var(--amber); }
.ow-foot2__links{ display:flex; gap:6px 4px; flex-wrap:wrap; }
.ow-foot2__links a{
  font-size:13.5px; color:#9FB8BC; text-decoration:none;
  padding:6px 10px; border-radius:7px;
  transition:color .2s ease, background .2s ease;
}
.ow-foot2__links a:hover{ color:#fff; background:rgba(141,182,187,.10); }
.ow-foot2__fine{
  flex:1 1 100%; margin:6px 0 0;
  font-size:12.5px; line-height:1.6; color:#7E979B;
}


/* ═══════════ SECTION STYLES (from the nine page blocks) ═══════════ */

/* ══ 01-hero ══════════════════════════════════════ */
  .ow-hero{
    /* file: assets/img/ — swap the url() below to change it */
    --ow-hero-img: url("../img/hero-whale-breach.jpg");
    /* file: assets/img/ — swap the url() below to change it */
    --ow-logo-3165: url("../img/oman3165-logo.png");
  }

.ow-hero{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  min-height:min(100vh,860px); min-height:min(100svh,860px); display:flex; align-items:flex-end;
  overflow:hidden; isolation:isolate; background:var(--ink);
  font-family:var(--body); color:#fff; -webkit-font-smoothing:antialiased;
}
.ow-hero *,.ow-hero *::before,.ow-hero *::after{box-sizing:border-box;}

/* ─── layered background ─── */
.ow-hero__bg{
  position:absolute; inset:-8% 0 -8% 0; z-index:0;
  background-image:var(--ow-hero-img);
  background-size:cover; background-position:center 40%;
  background-color:#08222a;
  will-change:transform; transform:translate3d(0,0,0);
}
.ow-hero__bg::after{ /* fallback tint so it never looks broken */
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 70% 10%, rgba(13,136,145,.45) 0%, rgba(10,40,48,0) 60%);
  mix-blend-mode:screen;
}
.ow-hero__scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(10,40,48,.72) 0%, rgba(10,40,48,.30) 32%, rgba(10,40,48,.80) 74%, #0A2830 100%),
    linear-gradient(96deg, rgba(10,40,48,.85) 0%, rgba(10,40,48,.15) 62%);
}
.ow-hero__grain{
  position:absolute; inset:0; z-index:2; opacity:.16; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ─── content ─── */
.ow-hero__inner{
  position:relative; z-index:4; width:100%;
  max-width:1240px; margin:0 auto; padding:clamp(90px,13vh,150px) 6vw clamp(96px,14vh,160px);
}
.ow-hero__eyebrow{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--body); font-size:clamp(10px,1.5vw,12.5px); font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--foam);
  margin:0 0 clamp(18px,3vh,30px);
}
.ow-hero__eyebrow::before{content:""; width:clamp(28px,5vw,54px); height:1px; background:var(--amber);}

.ow-hero__title{
  font-family:var(--disp); font-weight:700; margin:0;
  font-size:clamp(58px,13.5vw,182px); line-height:.84;
  letter-spacing:-.015em; text-transform:uppercase;
}
.ow-hero__title span{display:block;}
.ow-hero__title .l2{color:var(--foam);}
.ow-hero__year{
  display:flex; align-items:center; gap:clamp(14px,2.4vw,26px);
  margin:clamp(20px,3.4vh,34px) 0 clamp(22px,3.4vh,32px);
}
.ow-hero__year b{
  font-family:var(--disp); font-weight:600; color:var(--amber);
  font-size:clamp(30px,5.4vw,64px); line-height:1; letter-spacing:.30em;
}
.ow-hero__year i{flex:1; height:1px; background:linear-gradient(90deg,rgba(238,150,42,.9),rgba(141,182,187,0)); max-width:340px;}

.ow-hero__lede{
  font-size:clamp(17px,2.15vw,25px); line-height:1.5; font-weight:400;
  color:rgba(255,255,255,.93); max-width:22em; margin:0 0 clamp(26px,4vh,38px);
}
.ow-hero__lede em{font-style:normal; color:var(--amber);}

.ow-hero__meta{
  display:flex; flex-wrap:wrap; gap:clamp(10px,1.6vw,14px);
  margin:0 0 clamp(30px,4.6vh,42px);
}
.ow-hero__chip{
  display:inline-flex; align-items:center; gap:.55em;
  padding:.62em 1.05em; border:1px solid rgba(141,182,187,.42);
  border-radius:100px; background:rgba(10,40,48,.42);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  font-size:clamp(11.5px,1.55vw,14px); font-weight:500; letter-spacing:.03em;
  color:#fff; white-space:nowrap;
}
.ow-hero__chip svg{width:1.05em; height:1.05em; flex:none; stroke:var(--amber);}

.ow-hero__ctas{display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
.ow-btn{
  --b:var(--amber);
  display:inline-flex; align-items:center; gap:.65em;
  font-family:var(--body); font-size:clamp(13px,1.7vw,15px); font-weight:600;
  letter-spacing:.055em; text-transform:uppercase; text-decoration:none;
  padding:1.02em 1.75em; border-radius:100px; border:1.5px solid var(--b);
  background:var(--b); color:#0A2830 !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s, background .28s, color .28s;
  box-shadow:0 8px 26px -10px rgba(238,150,42,.75);
}
.ow-btn:hover{transform:translateY(-3px); box-shadow:0 16px 34px -12px rgba(238,150,42,.85); color:#0A2830 !important;}
.ow-btn svg{width:1.05em;height:1.05em;flex:none;}
.ow-btn--ghost{
  background:transparent; color:#fff !important; border-color:rgba(255,255,255,.5); box-shadow:none;
}
.ow-btn--ghost:hover{background:rgba(255,255,255,.1); border-color:#fff; color:#fff !important; box-shadow:none;}

/* ─── Oman 3165 badge ─── */
.ow-hero__badge{
  position:absolute; z-index:5; top:clamp(20px,3.4vw,38px); right:clamp(20px,5vw,52px);
  display:flex; align-items:center; gap:12px;
  padding:10px 16px 10px 10px; border-radius:14px;
  background:rgba(10,40,48,.55); border:1px solid rgba(141,182,187,.3);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.ow-hero__badge i{
  width:44px; height:44px; flex:none; border-radius:8px; display:block;
  background-image:var(--ow-logo-3165); background-size:cover; background-position:center;
  background-color:#1668B0;
}
.ow-hero__badge span{
  font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  line-height:1.45; color:var(--foam);
}
.ow-hero__badge span b{display:block; color:#fff; letter-spacing:.1em;}

/* ─── wave divider ─── */
.ow-hero__wave{position:absolute; left:0; right:0; bottom:-2px; z-index:6; line-height:0; pointer-events:none;}
.ow-hero__wave svg{display:block; width:220%; height:clamp(52px,7vw,104px);}
.ow-hero__wave .w1{fill:rgba(13,136,145,.30); animation:ow-drift 26s linear infinite;}
.ow-hero__wave .w2{fill:rgba(141,182,187,.20); animation:ow-drift 17s linear infinite reverse;}
.ow-hero__wave .w3{fill:#0C3139; animation:ow-drift 34s linear infinite;}
.ow-hero__wave>div{position:absolute; inset:auto 0 0 0;}
@keyframes ow-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── scroll cue ─── */
.ow-hero__cue{
  position:absolute; z-index:7; bottom:clamp(96px,12vw,132px); right:clamp(22px,5vw,54px);
  writing-mode:vertical-rl; font-size:10.5px; font-weight:600; letter-spacing:.28em;
  text-transform:uppercase; color:rgba(255,255,255,.6);
  display:flex; align-items:center; gap:12px;
}
.ow-hero__cue::after{content:""; width:1px; height:56px; background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0)); animation:ow-cue 2.4s ease-in-out infinite;}
@keyframes ow-cue{0%,100%{transform:scaleY(.35);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* ─── entrance animation ─── */
.ow-hero [data-r]{opacity:0; transform:translateY(26px); }
.ow-hero.is-in [data-r]{opacity:1; transform:none; transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}
.ow-hero.is-in [data-r="1"]{transition-delay:.05s}
.ow-hero.is-in [data-r="2"]{transition-delay:.18s}
.ow-hero.is-in [data-r="3"]{transition-delay:.31s}
.ow-hero.is-in [data-r="4"]{transition-delay:.44s}
.ow-hero.is-in [data-r="5"]{transition-delay:.57s}
.ow-hero.is-in [data-r="6"]{transition-delay:.70s}

@media (max-width:760px){
  .ow-hero{min-height:auto;}
  .ow-hero__inner{padding:120px 7vw 110px;}
  .ow-hero__badge{top:auto; bottom:auto; right:auto; left:7vw; top:22px; padding:8px 13px 8px 8px;}
  .ow-hero__badge i{width:36px;height:36px;}
  .ow-hero__cue{display:none;}
  .ow-hero__lede{max-width:100%;}
  .ow-btn{width:100%; justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .ow-hero [data-r]{opacity:1 !important; transform:none !important;}
  .ow-hero__wave .w1,.ow-hero__wave .w2,.ow-hero__wave .w3,.ow-hero__cue::after{animation:none !important;}
  .ow-hero__bg{transform:none !important;}
}

/* ══ 02-more-than-a-concert ══════════════════════════════════════ */

.ow-intro{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:var(--ink-2); color:#fff; font-family:var(--body);
  padding:clamp(66px,9vw,124px) 6vw clamp(70px,9vw,116px);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
}
.ow-intro *,.ow-intro *::before,.ow-intro *::after{box-sizing:border-box;}
.ow-intro::before{ /* soft depth glow */
  content:""; position:absolute; z-index:0; width:70vw; height:70vw; max-width:900px; max-height:900px;
  right:-18vw; top:-24vw; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(13,136,145,.30) 0%, rgba(13,136,145,0) 68%);
}
.ow-intro__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}

.ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 22px;
  font-size:clamp(10px,1.4vw,12px); font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--foam);
}
.ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}

.ow-intro__grid{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(34px,5.5vw,80px); align-items:start;
}
.ow-intro h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(38px,6.6vw,88px); line-height:.92; letter-spacing:-.01em;
  margin:0 0 clamp(20px,2.8vw,30px); color:#fff;
}
.ow-intro h2 b{color:var(--amber); font-weight:700;}
.ow-intro p{font-size:clamp(16px,1.75vw,19.5px); line-height:1.62; color:rgba(255,255,255,.85); margin:0 0 1.15em; max-width:34em;}
.ow-intro .ow-intro__pull{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(19px,2.5vw,27px); line-height:1.22; letter-spacing:.005em;
  color:var(--foam); margin:clamp(22px,3vw,32px) 0 0; padding-left:20px;
  border-left:2px solid var(--amber); max-width:24em;
}

/* ─── pillars ─── */
.ow-pillars{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,1.6vw,18px);}
.ow-pillar{
  padding:clamp(20px,2.4vw,28px); border-radius:16px;
  background:linear-gradient(158deg, rgba(255,255,255,.075) 0%, rgba(255,255,255,.028) 100%);
  border:1px solid rgba(141,182,187,.20);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s, background .4s;
}
.ow-pillar:hover{transform:translateY(-6px); border-color:rgba(238,150,42,.55); background:linear-gradient(158deg, rgba(238,150,42,.10) 0%, rgba(255,255,255,.03) 100%);}
.ow-pillar__ic{
  width:clamp(42px,4.4vw,52px); height:clamp(42px,4.4vw,52px); border-radius:12px;
  display:grid; place-items:center; margin-bottom:clamp(14px,1.8vw,20px);
  background:rgba(238,150,42,.13); border:1px solid rgba(238,150,42,.34);
}
.ow-pillar__ic svg{width:56%; height:56%; stroke:var(--amber); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.ow-pillar h3{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(17px,2vw,22px); letter-spacing:.055em; line-height:1.1;
  margin:0 0 .5em; color:#fff;
}
.ow-pillar p{font-size:clamp(13.5px,1.5vw,15.5px); line-height:1.52; color:rgba(255,255,255,.72); margin:0; max-width:none;}

/* ─── who we run under ─── */
.ow-auspices{
  margin-top:clamp(40px,5.5vw,64px); padding:clamp(22px,3vw,32px) clamp(22px,3.4vw,38px);
  border:1px solid rgba(141,182,187,.26); border-left:3px solid var(--amber);
  border-radius:4px; background:rgba(13,136,145,.07);
}
.ow-auspices__t{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  letter-spacing:.1em; font-size:clamp(15px,2vw,19px); color:#fff; margin:0 0 .7em;
}
.ow-auspices__t b{color:var(--amber); font-weight:700;}
.ow-auspices__l{list-style:none; margin:0; padding:0; display:grid; gap:.5em;}
.ow-auspices__l li{
  font-size:clamp(14px,1.6vw,16.5px); line-height:1.55; color:var(--foam);
  padding-left:1.15em; position:relative;
}
.ow-auspices__l li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:.5em; height:1px; background:var(--amber);
}
.ow-auspices__l a{
  color:#fff; font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(238,150,42,.55); transition:border-color .2s, color .2s;
}
.ow-auspices__l a:hover{color:var(--amber); border-bottom-color:var(--amber);}

/* ─── stat strip ─── */
.ow-stats{
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:end;
  gap:clamp(14px,2.4vw,30px); margin-top:clamp(48px,6.5vw,84px);
  padding-top:clamp(34px,4.4vw,52px); border-top:1px solid rgba(141,182,187,.24);
}
.ow-stat b{
  display:block; font-family:var(--disp); font-weight:700; color:var(--amber);
  font-size:clamp(38px,5.4vw,68px); line-height:.92; letter-spacing:-.02em;
}
/* a word, not a number, sits a size down so the real figures still lead */
.ow-stat b.ow-stat--word{font-size:clamp(30px,4.2vw,52px); color:var(--foam);}
/* the deck says "up to 500", so the number must not be presented as settled */
.ow-stat i{
  display:block; font-style:normal; font-family:var(--disp); font-weight:600;
  font-size:clamp(11px,1.2vw,12.5px); letter-spacing:.18em; text-transform:uppercase;
  color:rgba(141,182,187,.75); margin-bottom:.35em;
}
.ow-stat span{
  display:block; margin-top:.7em; font-size:clamp(11px,1.2vw,12.5px); font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--foam); line-height:1.45;
}
.ow-stats__note{
  margin:clamp(24px,3vw,34px) 0 0; max-width:64ch;
  font-size:clamp(14px,1.6vw,16px); line-height:1.65; color:var(--foam);
}

/* ─── reveal ─── */
.ow-intro [data-ow-rv]{opacity:0; transform:translateY(30px);}
.ow-intro [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .85s cubic-bezier(.2,.8,.2,1), transform .85s cubic-bezier(.2,.8,.2,1);}

@media (max-width:1080px){
  .ow-stats{grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 20px;}
}
@media (max-width:940px){
  .ow-intro__grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .ow-stats{grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px;}
}
@media (max-width:560px){
  .ow-pillars{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .ow-intro [data-ow-rv]{opacity:1 !important; transform:none !important;}
}

/* ══ 03-how-to-participate ══════════════════════════════════════ */

.ow-part{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --teal-d:#0A6B73; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:#F2F6F6; color:var(--ink); font-family:var(--body);
  padding:0 6vw clamp(74px,9.5vw,124px); overflow:hidden; isolation:isolate;
  -webkit-font-smoothing:antialiased;
}
.ow-part *,.ow-part *::before,.ow-part *::after{box-sizing:border-box;}

/* wave that carries the dark section above into this light one */
.ow-part__wave{position:relative; left:-6vw; width:var(--ow-vw,100vw); line-height:0; margin-bottom:clamp(52px,7vw,96px);}
.ow-part__wave svg{display:block; width:100%; height:clamp(48px,6.5vw,96px);}
.ow-part__wave path{fill:#0C3139;}

.ow-part__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}
.ow-part__head{max-width:44em; margin:0 0 clamp(38px,5vw,60px);}
.ow-part .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 20px;
  font-size:clamp(10px,1.4vw,12px); font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--teal-d);
}
.ow-part .ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}
.ow-part h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(36px,6.2vw,82px); line-height:.93; letter-spacing:-.01em;
  margin:0 0 clamp(16px,2vw,22px); color:var(--ink);
}
.ow-part h2 b{color:var(--teal); font-weight:700;}
.ow-part__head p{font-size:clamp(16px,1.75vw,19.5px); line-height:1.6; color:rgba(10,40,48,.72); margin:0;}

/* ─── cards ─── */
.ow-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.9vw,22px);}
.ow-card{
  position:relative; display:flex; flex-direction:column;
  padding:clamp(24px,2.8vw,34px); border-radius:18px; background:#fff;
  border:1px solid rgba(10,40,48,.09); text-decoration:none; color:inherit;
  box-shadow:0 2px 4px rgba(10,40,48,.04);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s, border-color .42s;
  overflow:hidden;
}
.ow-card::after{ /* hover wash, not an edge stripe */
  content:""; position:absolute; inset:0; z-index:0; opacity:0;
  background:radial-gradient(110% 80% at 88% 0%, rgba(13,136,145,.10) 0%, rgba(13,136,145,0) 62%);
  transition:opacity .42s;
}
.ow-card:hover{transform:translateY(-8px); box-shadow:0 26px 46px -22px rgba(10,40,48,.32); border-color:rgba(13,136,145,.4);}
.ow-card:hover::after{opacity:1;}
.ow-card>*{position:relative; z-index:1;}
.ow-card__no{
  font-family:var(--disp); font-weight:600; font-size:clamp(12px,1.4vw,13.5px);
  letter-spacing:.2em; text-transform:uppercase; color:var(--amber); margin:0 0 clamp(16px,2vw,22px);
}
.ow-card__ic{
  width:clamp(48px,5vw,60px); height:clamp(48px,5vw,60px); border-radius:14px;
  display:grid; place-items:center; margin:0 0 clamp(16px,2vw,22px);
  background:rgba(13,136,145,.09); border:1px solid rgba(13,136,145,.22);
  transition:background .42s, border-color .42s, transform .42s cubic-bezier(.2,.8,.2,1);
}
.ow-card:hover .ow-card__ic{background:var(--amber); border-color:var(--amber); transform:rotate(-6deg) scale(1.06);}
.ow-card__ic svg{width:54%; height:54%; fill:none; stroke:var(--teal); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:stroke .42s;}
.ow-card:hover .ow-card__ic svg{stroke:#fff;}
.ow-card h3{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(20px,2.3vw,26px); letter-spacing:.04em; line-height:1.08;
  margin:0 0 .55em; color:var(--ink);
}
.ow-card p{font-size:clamp(14px,1.55vw,16px); line-height:1.55; color:rgba(10,40,48,.68); margin:0 0 clamp(18px,2.2vw,26px);}
.ow-card__more{
  margin-top:auto; display:inline-flex; align-items:center; gap:.5em;
  font-size:clamp(11.5px,1.35vw,13px); font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--teal-d);
}
.ow-card__more svg{width:1.1em; height:1.1em; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; transition:transform .35s;}
.ow-card:hover .ow-card__more{color:var(--amber);}
.ow-card:hover .ow-card__more svg{transform:translateX(5px);}

/* the open-ended seventh card: spans the whole row and is drawn as an outline
   rather than a solid card, so it reads as "and whatever else you think of"
   instead of as option 07 in a closed list of seven */
.ow-card--open{
  grid-column:1 / -1; background:transparent; border:1.5px dashed rgba(13,136,145,.42);
  box-shadow:none; flex-direction:row; align-items:center; flex-wrap:wrap;
  gap:clamp(14px,2.4vw,28px); padding:clamp(22px,2.6vw,30px) clamp(24px,2.8vw,34px);
}
.ow-card--open:hover{border-style:solid; border-color:var(--amber); box-shadow:0 18px 38px -24px rgba(10,40,48,.28);}
.ow-card--open .ow-card__ic{margin:0; flex:none;}
.ow-card--open__t{flex:1 1 18em; min-width:0;}
.ow-card--open h3{margin:0 0 .35em;}
.ow-card--open p{margin:0;}
.ow-card--open .ow-card__more{margin:0; flex:none;}

.ow-part__foot{
  margin-top:clamp(38px,5vw,60px); display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(14px,2.4vw,28px);
}
.ow-part__foot p{margin:0; font-size:clamp(14px,1.6vw,16.5px); line-height:1.5; color:rgba(10,40,48,.66); max-width:32em;}
.ow-btn{
  display:inline-flex; align-items:center; gap:.65em; font-family:var(--body);
  font-size:clamp(13px,1.6vw,14.5px); font-weight:600; letter-spacing:.055em;
  text-transform:uppercase; text-decoration:none; padding:1.02em 1.7em;
  border-radius:100px; border:1.5px solid var(--amber); background:var(--amber);
  color:#0A2830 !important; box-shadow:0 8px 24px -12px rgba(238,150,42,.9);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
}
.ow-btn:hover{transform:translateY(-3px); box-shadow:0 16px 32px -14px rgba(238,150,42,1); color:#0A2830 !important;}
.ow-btn svg{width:1.05em; height:1.05em; flex:none;}

.ow-part [data-ow-rv]{opacity:0; transform:translateY(30px);}
.ow-part [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}

@media (max-width:1000px){.ow-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){
  .ow-cards{grid-template-columns:1fr;}
  .ow-part__foot .ow-btn{width:100%; justify-content:center;}
}
@media (prefers-reduced-motion:reduce){.ow-part [data-ow-rv]{opacity:1 !important; transform:none !important;}}

/* ══ 04-option1-choir ══════════════════════════════════════ */
  .ow-choir{
    /* Duotoned to disguise the source: the only usable photo in the deck is
       322x360px. Replace with a real high-res concert photo when you have
       one - see build_assets.py for the treatment. */
    --ow-choir-img: url("../img/choir-audience-duotone.jpg");
  }

.ow-choir{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:var(--ink); color:#fff; font-family:var(--body);
  padding:clamp(70px,9.5vw,128px) 6vw clamp(74px,9.5vw,128px);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
}
.ow-choir *,.ow-choir *::before,.ow-choir *::after{box-sizing:border-box;}
.ow-choir::before{
  content:""; position:absolute; z-index:0; inset:auto auto -30vw -22vw;
  width:80vw; height:80vw; max-width:1000px; max-height:1000px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(13,136,145,.26) 0%, rgba(13,136,145,0) 66%);
}
.ow-choir__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}

.ow-choir__grid{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(36px,5.5vw,78px); align-items:start;}

.ow-choir .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 18px;
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--amber);
}
.ow-choir .ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}
.ow-choir h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(36px,6vw,78px); line-height:.92; letter-spacing:-.01em; margin:0 0 clamp(18px,2.4vw,26px);
}
.ow-choir h2 b{color:var(--foam); font-weight:700;}
.ow-choir__lede{font-size:clamp(16px,1.75vw,19px); line-height:1.6; color:rgba(255,255,255,.82); margin:0 0 clamp(26px,3.4vw,38px); max-width:30em;}

/* ─── listen card ─── */
.ow-listen{
  display:flex; align-items:center; gap:clamp(16px,2.2vw,24px);
  padding:clamp(16px,2vw,22px); border-radius:18px; text-decoration:none; color:inherit;
  background:linear-gradient(150deg, rgba(238,150,42,.16) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(238,150,42,.4);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s, box-shadow .4s;
}
.ow-listen:hover{transform:translateY(-5px); border-color:var(--amber); box-shadow:0 22px 42px -22px rgba(238,150,42,.6); color:inherit;}
.ow-listen__play{
  position:relative; flex:none; width:clamp(52px,5.6vw,64px); height:clamp(52px,5.6vw,64px);
  border-radius:50%; display:grid; place-items:center; background:var(--amber);
}
.ow-listen__play::before{
  content:""; position:absolute; inset:0; border-radius:50%; border:2px solid rgba(238,150,42,.7);
  animation:ow-pulse 2.6s ease-out infinite;
}
@keyframes ow-pulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.75);opacity:0}}
.ow-listen__play svg{width:38%; height:38%; fill:#0A2830; margin-left:2px;}
.ow-listen__tx b{
  display:block; font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(17px,2vw,22px); letter-spacing:.05em; line-height:1.15; color:#fff;
}
.ow-listen__tx span{display:block; margin-top:.35em; font-size:clamp(12.5px,1.45vw,14px); color:var(--foam); line-height:1.45;}

/* ─── photo ─── */
.ow-choir__photo{
  margin:clamp(26px,3.4vw,38px) 0 0; border-radius:18px; overflow:hidden;
  aspect-ratio:16/10; max-width:520px; position:relative;
  background:linear-gradient(150deg,#0D8891 0%,#0A2830 100%);
  border:1px solid rgba(141,182,187,.22);
}
.ow-choir__photo i{
  position:absolute; inset:0; display:block; background-image:var(--ow-choir-img);
  background-size:cover; background-position:center;
  animation:ow-kb 22s ease-in-out infinite alternate;
}
@keyframes ow-kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.ow-choir__photo figcaption{
  position:absolute; z-index:2; inset:auto 0 0 0; padding:16px 18px;
  background:linear-gradient(transparent, rgba(10,40,48,.9));
  font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--foam);
}

/* ─── spec rows ─── */
.ow-specs{display:grid; gap:clamp(10px,1.3vw,14px);}
.ow-spec{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(16px,2vw,22px);
  align-items:start; padding:clamp(18px,2.2vw,24px) clamp(18px,2.2vw,26px);
  border-radius:16px; background:rgba(255,255,255,.055);
  border:1px solid rgba(141,182,187,.18);
  transition:background .38s, border-color .38s, transform .38s cubic-bezier(.2,.8,.2,1);
}
.ow-spec:hover{background:rgba(255,255,255,.09); border-color:rgba(238,150,42,.45); transform:translateX(6px);}
.ow-spec__ic{
  width:clamp(38px,4vw,46px); height:clamp(38px,4vw,46px); border-radius:11px; flex:none;
  display:grid; place-items:center; background:rgba(238,150,42,.13); border:1px solid rgba(238,150,42,.34);
}
.ow-spec__ic svg{width:54%; height:54%; fill:none; stroke:var(--amber); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.ow-spec dt{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(13px,1.5vw,15px); letter-spacing:.17em; color:var(--foam); margin:0 0 .45em;
}
.ow-spec dd{margin:0; font-size:clamp(15px,1.7vw,18px); line-height:1.5; color:#fff; font-weight:500;}
.ow-spec dd em{display:block; font-style:normal; margin-top:.35em; font-size:clamp(13px,1.45vw,15px); font-weight:400; color:rgba(255,255,255,.68);}
.ow-roles{list-style:none; margin:.7em 0 0; padding:0; display:grid; gap:.55em;}
.ow-roles li{
  position:relative; padding-left:1.1em; font-size:clamp(13px,1.45vw,15px);
  line-height:1.5; font-weight:400; color:rgba(255,255,255,.72);
}
.ow-roles li::before{content:""; position:absolute; left:0; top:.62em; width:5px; height:5px; border-radius:50%; background:var(--amber);}
.ow-roles b{color:#fff; font-weight:600;}
.ow-roles__flag{color:var(--amber) !important;}

.ow-choir [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-choir [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}

@media (max-width:960px){
  .ow-choir__grid{grid-template-columns:1fr;}
  .ow-choir__photo{max-width:none;}
}
@media (max-width:520px){
  .ow-spec{grid-template-columns:1fr; gap:14px;}
  .ow-spec:hover{transform:none;}
  .ow-listen{flex-direction:column; align-items:flex-start; text-align:left;}
}
@media (prefers-reduced-motion:reduce){
  .ow-choir [data-ow-rv]{opacity:1 !important; transform:none !important;}
  .ow-choir__photo i, .ow-listen__play::before{animation:none !important;}
}

/* ══ 05-options-2-4-schools ══════════════════════════════════════ */

.ow-schools{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --teal-d:#0A6B73; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:#fff; color:var(--ink); font-family:var(--body);
  padding:clamp(70px,9.5vw,128px) 6vw clamp(74px,9.5vw,128px);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
}
.ow-schools *,.ow-schools *::before,.ow-schools *::after{box-sizing:border-box;}
.ow-schools__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}

.ow-schools .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 18px;
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--teal-d);
}
.ow-schools .ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}
.ow-schools h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(36px,6vw,78px); line-height:.92; letter-spacing:-.01em; margin:0 0 clamp(16px,2vw,22px);
}
.ow-schools h2 b{color:var(--teal); font-weight:700;}
.ow-schools__lede{font-size:clamp(16px,1.75vw,19.5px); line-height:1.6; color:rgba(10,40,48,.72); margin:0 0 clamp(34px,4.6vw,52px); max-width:40em;}

/* ─── tabs ─── */
.ow-tabs{
  display:flex; gap:6px; padding:6px; margin:0 0 clamp(26px,3.4vw,38px);
  background:#EFF4F4; border-radius:100px; width:max-content; max-width:100%;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.ow-tabs::-webkit-scrollbar{display:none;}
.ow-tab{
  flex:none; appearance:none; border:0; cursor:pointer; background:transparent;
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(13px,1.6vw,15.5px); letter-spacing:.11em; color:rgba(10,40,48,.6);
  padding:.95em 1.5em; border-radius:100px; white-space:nowrap;
  transition:background .3s, color .3s, box-shadow .3s;
}
.ow-tab:hover{color:var(--ink);}
.ow-tab[aria-selected="true"]{background:var(--ink); color:#fff; box-shadow:0 8px 20px -12px rgba(10,40,48,.9);}
.ow-tab small{display:block; font-family:var(--body); font-size:9.5px; letter-spacing:.18em; opacity:.7; margin-bottom:2px;}

/* ─── panels ─── */
.ow-panel[hidden]{display:none;}
.ow-panel{animation:ow-fade .55s cubic-bezier(.2,.8,.2,1) both;}
@keyframes ow-fade{from{opacity:0; transform:translateY(16px)}to{opacity:1; transform:none}}
.ow-panel__top{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:clamp(20px,3.4vw,48px); align-items:start; margin:0 0 clamp(24px,3.2vw,36px);
}
.ow-panel h3{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(26px,3.9vw,46px); line-height:.98; letter-spacing:-.005em; margin:0; color:var(--ink);
}
.ow-panel__top p{font-size:clamp(15px,1.7vw,18px); line-height:1.58; color:rgba(10,40,48,.7); margin:0;}
.ow-panel__top p b{color:var(--ink);}

.ow-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,18px);}
.ow-tile{
  padding:clamp(20px,2.4vw,28px); border-radius:16px; background:#F5F9F9;
  border:1px solid rgba(10,40,48,.075);
  transition:background .38s, border-color .38s, transform .38s cubic-bezier(.2,.8,.2,1);
}
.ow-tile:hover{background:#fff; border-color:rgba(13,136,145,.4); transform:translateY(-6px); box-shadow:0 22px 40px -24px rgba(10,40,48,.3);}
.ow-tile__ic{
  width:clamp(38px,4vw,44px); height:clamp(38px,4vw,44px); border-radius:11px;
  display:grid; place-items:center; margin-bottom:clamp(13px,1.7vw,17px);
  background:rgba(13,136,145,.1); border:1px solid rgba(13,136,145,.24);
  transition:background .38s, border-color .38s;
}
.ow-tile:hover .ow-tile__ic{background:rgba(238,150,42,.16); border-color:rgba(238,150,42,.5);}
.ow-tile__ic svg{width:54%; height:54%; fill:none; stroke:var(--teal); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:stroke .38s;}
.ow-tile:hover .ow-tile__ic svg{stroke:var(--amber);}
.ow-tile h4{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(17px,1.95vw,21px); letter-spacing:.05em; line-height:1.1; margin:0 0 .5em; color:var(--ink);
}
.ow-tile p{font-size:clamp(13.5px,1.5vw,15.5px); line-height:1.5; color:rgba(10,40,48,.66); margin:0;}

.ow-note{
  margin:clamp(26px,3.4vw,38px) 0 0; padding:clamp(18px,2.2vw,24px) clamp(20px,2.4vw,28px);
  border-radius:16px; background:var(--ink); color:#fff;
  display:flex; flex-wrap:wrap; align-items:center; gap:clamp(14px,2vw,22px);
}
.ow-note svg{width:clamp(26px,3vw,32px); height:clamp(26px,3vw,32px); flex:none; fill:none; stroke:var(--amber); stroke-width:1.7; stroke-linecap:round;}
.ow-note p{margin:0; font-size:clamp(14px,1.6vw,16.5px); line-height:1.5; color:rgba(255,255,255,.88); flex:1 1 18em;}
.ow-note p b{color:var(--amber);}

.ow-schools [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-schools [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}

@media (max-width:900px){
  .ow-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ow-panel__top{grid-template-columns:1fr;}
  .ow-tabs{width:100%;}
}
@media (max-width:560px){.ow-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){
  .ow-schools [data-ow-rv]{opacity:1 !important; transform:none !important;}
  .ow-panel{animation:none !important;}
}

/* ══ 06-options-5-6-partners ══════════════════════════════════════ */
  .ow-partners{
    /* file: assets/img/ — swap the url() below to change it */
    --ow-map-img: url("../img/oman3165-expedition-map.jpg");
    /* file: assets/img/ — swap the url() below to change it */
    --ow-logo-3165: url("../img/oman3165-logo.png");
  }

.ow-partners{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:var(--ink-2); color:#fff; font-family:var(--body);
  padding:clamp(70px,9.5vw,128px) 6vw clamp(74px,9.5vw,128px);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
}
.ow-partners *,.ow-partners *::before,.ow-partners *::after{box-sizing:border-box;}
.ow-partners::before{
  content:""; position:absolute; z-index:0; inset:-20vw -22vw auto auto;
  width:80vw; height:80vw; max-width:1000px; max-height:1000px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(13,136,145,.24) 0%, rgba(13,136,145,0) 66%);
}
.ow-partners__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}

.ow-partners .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 18px;
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--amber);
}
.ow-partners .ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}
.ow-partners h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(34px,5.6vw,72px); line-height:.93; letter-spacing:-.01em; margin:0 0 clamp(16px,2vw,22px);
}
.ow-partners h2 b{color:var(--foam); font-weight:700;}
.ow-partners__lede{font-size:clamp(16px,1.75vw,19px); line-height:1.6; color:rgba(255,255,255,.82); margin:0; max-width:34em;}

/* ─── universities ─── */
.ow-uni{display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:clamp(32px,5vw,72px); align-items:start;}
.ow-checks{list-style:none; margin:clamp(28px,3.6vw,40px) 0 0; padding:0; display:grid; gap:clamp(10px,1.2vw,13px);}
.ow-checks li{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start;
  font-size:clamp(15px,1.7vw,17.5px); line-height:1.48; color:rgba(255,255,255,.9);
  padding:clamp(13px,1.6vw,17px) clamp(15px,1.8vw,20px); border-radius:13px;
  background:rgba(255,255,255,.05); border:1px solid rgba(141,182,187,.16);
  transition:background .35s, border-color .35s, transform .35s cubic-bezier(.2,.8,.2,1);
}
.ow-checks li:hover{background:rgba(255,255,255,.085); border-color:rgba(238,150,42,.42); transform:translateX(6px);}
.ow-checks svg{width:20px; height:20px; margin-top:2px; flex:none; fill:none; stroke:var(--amber); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}

.ow-unicard{
  padding:clamp(24px,2.8vw,34px); border-radius:20px;
  background:linear-gradient(158deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(141,182,187,.22);
}
.ow-unicard>p{
  font-family:var(--disp); font-weight:600; text-transform:uppercase; letter-spacing:.2em;
  font-size:clamp(12px,1.4vw,13.5px); color:var(--foam); margin:0 0 clamp(18px,2.2vw,24px);
}
.ow-unilist{list-style:none; margin:0; padding:0; display:grid; gap:2px;}
.ow-unilist li{
  display:flex; align-items:center; gap:14px; padding:clamp(13px,1.6vw,17px) 0;
  border-top:1px solid rgba(141,182,187,.16);
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(15px,1.85vw,20px); letter-spacing:.045em; line-height:1.16; color:#fff;
}
.ow-unilist li:first-child{border-top:0;}
.ow-unilist li::before{
  content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--amber);
}
.ow-unicard small{
  display:block; margin-top:clamp(18px,2.2vw,24px); font-size:12.5px; line-height:1.55;
  color:rgba(141,182,187,.85);
}

/* ─── divider ─── */
.ow-partners__rule{
  height:1px; margin:clamp(52px,7vw,92px) 0; border:0;
  background:linear-gradient(90deg, rgba(141,182,187,0), rgba(141,182,187,.4) 30%, rgba(141,182,187,.4) 70%, rgba(141,182,187,0));
}

/* ─── sponsor grid ─── */
.ow-sponsors{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,18px); margin-top:clamp(32px,4.2vw,48px);}
.ow-sp{
  padding:clamp(22px,2.6vw,30px); border-radius:16px;
  background:rgba(255,255,255,.055); border:1px solid rgba(141,182,187,.18);
  transition:background .38s, border-color .38s, transform .38s cubic-bezier(.2,.8,.2,1);
}
.ow-sp:hover{background:rgba(238,150,42,.1); border-color:rgba(238,150,42,.5); transform:translateY(-6px);}
.ow-sp__ic{
  width:clamp(40px,4.2vw,48px); height:clamp(40px,4.2vw,48px); border-radius:12px;
  display:grid; place-items:center; margin-bottom:clamp(14px,1.8vw,18px);
  background:rgba(238,150,42,.13); border:1px solid rgba(238,150,42,.34);
}
.ow-sp__ic svg{width:54%; height:54%; fill:none; stroke:var(--amber); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.ow-sp h3{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(17px,1.95vw,21px); letter-spacing:.05em; line-height:1.1; margin:0 0 .5em; color:#fff;
}
.ow-sp p{font-size:clamp(13.5px,1.5vw,15.5px); line-height:1.5; color:rgba(255,255,255,.7); margin:0;}

/* ─── what a sponsor gets back ─── */
.ow-give{
  margin-top:clamp(30px,4vw,46px); display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(26px,4vw,56px);
  padding:clamp(26px,3.2vw,40px); border-radius:20px;
  background:linear-gradient(158deg, rgba(238,150,42,.13) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(238,150,42,.3);
}
.ow-give h3{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(24px,3.2vw,38px); line-height:1; letter-spacing:-.005em; margin:0 0 .55em; color:#fff;
}
.ow-give__hd p{font-size:clamp(14.5px,1.6vw,16.5px); line-height:1.58; color:rgba(255,255,255,.78); margin:0;}
.ow-give__l{list-style:none; margin:0; padding:0; display:grid; gap:clamp(11px,1.4vw,15px);}
.ow-give__l li{
  position:relative; padding-left:1.9em;
  font-size:clamp(14px,1.55vw,16px); line-height:1.5; color:rgba(255,255,255,.74);
}
.ow-give__l li::before{
  content:""; position:absolute; left:0; top:.42em; width:.85em; height:.45em;
  border-left:2px solid var(--amber); border-bottom:2px solid var(--amber);
  transform:rotate(-45deg);
}
.ow-give__l b{display:block; color:#fff; font-weight:600; font-family:var(--disp);
  text-transform:uppercase; letter-spacing:.06em; font-size:clamp(14.5px,1.65vw,17px); margin-bottom:.15em;}

/* ─── confirmed supporters ─── */
.ow-backers{margin-top:clamp(40px,5vw,64px); text-align:center;}
.ow-backers__hd{
  font-family:var(--disp); font-weight:600; text-transform:uppercase; letter-spacing:.24em;
  font-size:clamp(11px,1.35vw,13px); color:var(--foam); margin:0 0 clamp(18px,2.4vw,26px);
}
.ow-backers__row{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch;
  gap:clamp(12px,1.6vw,18px);
}
.ow-backer{
  display:grid; place-items:center; text-decoration:none; color:inherit;
  min-width:clamp(150px,17vw,210px); min-height:clamp(84px,9vw,108px);
  padding:clamp(16px,2vw,22px) clamp(20px,2.4vw,28px); border-radius:14px;
  background:rgba(255,255,255,.06); border:1px solid rgba(141,182,187,.2);
  transition:background .38s, border-color .38s, transform .38s cubic-bezier(.2,.8,.2,1);
}
.ow-backer:hover{background:rgba(255,255,255,.1); border-color:rgba(238,150,42,.5); transform:translateY(-5px); color:inherit;}
.ow-backer img{display:block; max-width:100%; max-height:clamp(58px,6.4vw,74px); width:auto; height:auto;}
/* Supplied logos come on a light background, and this one is navy and red, so it
   would vanish against the dark section. It sits on a light tile instead. The
   colour must match TILE in build_logos.py or you can see the edge of the PNG.
   Logo tiles also drop the wordmark tiles' min-width, because a squarish logo
   stranded in the middle of a wide box looks like a mistake. */
.ow-backer--logo{
  background:#F4F7F7; border-color:rgba(244,247,247,.9); min-width:0;
  padding:clamp(15px,1.9vw,21px) clamp(24px,2.8vw,32px);
}
.ow-backer--logo:hover{background:#F4F7F7; border-color:var(--amber);}
.ow-backer__wm{
  font-family:var(--disp); font-weight:500; text-transform:uppercase;
  font-size:clamp(17px,2vw,23px); letter-spacing:.09em; line-height:1.1; color:#fff;
}
.ow-backer__wm b{font-weight:700; color:var(--foam);}
.ow-backer--open{background:transparent; border-style:dashed; border-color:rgba(141,182,187,.34);}
.ow-backer--open .ow-backer__wm{font-size:clamp(13px,1.5vw,15px); letter-spacing:.16em; color:rgba(255,255,255,.6);}
.ow-backer--open .ow-backer__wm b{color:var(--amber);}
.ow-backers small{
  display:block; margin:clamp(18px,2.4vw,26px) auto 0; max-width:52em;
  font-size:12.5px; line-height:1.6; color:rgba(141,182,187,.8);
}

/* ─── Oman 3165 callout ─── */
.ow-3165{
  margin-top:clamp(46px,6vw,78px); display:grid; grid-template-columns:minmax(0,1fr) clamp(180px,24vw,300px);
  gap:clamp(24px,4vw,52px); align-items:center;
  padding:clamp(26px,3.2vw,40px); border-radius:22px;
  background:linear-gradient(150deg, rgba(22,104,176,.20) 0%, rgba(255,255,255,.035) 100%);
  border:1px solid rgba(141,182,187,.24);
}
.ow-3165__logo{
  width:clamp(54px,6vw,68px); height:clamp(54px,6vw,68px); border-radius:12px; display:block;
  background-image:var(--ow-logo-3165); background-size:cover; background-position:center;
  background-color:#1668B0; margin-bottom:clamp(16px,2vw,22px);
}
.ow-3165 h3{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(24px,3.4vw,40px); line-height:1; letter-spacing:-.005em; margin:0 0 .5em; color:#fff;
}
.ow-3165 p{font-size:clamp(14.5px,1.65vw,17px); line-height:1.56; color:rgba(255,255,255,.82); margin:0; max-width:36em;}
.ow-3165__link{margin-top:1.1em !important;}
.ow-3165__link a{
  display:inline-flex; align-items:center; gap:.5em; text-decoration:none;
  font-family:var(--body); font-size:clamp(12px,1.4vw,13.5px); font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--amber);
  border-bottom:1px solid rgba(238,150,42,.4); padding-bottom:.25em;
  transition:color .3s, border-color .3s;
}
.ow-3165__link a:hover{color:#fff; border-color:#fff;}
.ow-3165__link svg{width:1.1em; height:1.1em; flex:none; transition:transform .3s;}
.ow-3165__link a:hover svg{transform:translateX(4px);}
.ow-3165__map{
  border-radius:14px; overflow:hidden; aspect-ratio:3/4; background:#0A2830;
  background-image:var(--ow-map-img); background-size:cover; background-position:center;
  border:1px solid rgba(141,182,187,.28);
  box-shadow:0 24px 44px -26px rgba(0,0,0,.8);
}

.ow-partners [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-partners [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}

@media (max-width:960px){
  .ow-uni{grid-template-columns:1fr;}
  .ow-sponsors{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ow-give{grid-template-columns:1fr;}
  .ow-3165{grid-template-columns:1fr;}
  .ow-3165__map{aspect-ratio:16/10; max-width:420px;}
}
@media (max-width:560px){
  .ow-sponsors{grid-template-columns:1fr;}
  .ow-checks li:hover{transform:none;}
}
@media (prefers-reduced-motion:reduce){.ow-partners [data-ow-rv]{opacity:1 !important; transform:none !important;}}

/* ══ 07-the-journey ══════════════════════════════════════ */

.ow-journey{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --teal-d:#0A6B73; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:#F2F6F6; color:var(--ink); font-family:var(--body);
  padding:clamp(70px,9.5vw,128px) 6vw clamp(74px,9.5vw,128px);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
}
.ow-journey *,.ow-journey *::before,.ow-journey *::after{box-sizing:border-box;}
.ow-journey__inner{position:relative; z-index:1; max-width:1100px; margin:0 auto;}

.ow-journey .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 18px;
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--teal-d);
}
.ow-journey .ow-eyebrow::before{content:""; width:clamp(24px,4vw,44px); height:1px; background:var(--amber);}
.ow-journey h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(36px,6vw,78px); line-height:.92; letter-spacing:-.01em; margin:0 0 clamp(16px,2vw,22px);
}
.ow-journey h2 b{color:var(--teal); font-weight:700;}
.ow-journey__lede{font-size:clamp(16px,1.75vw,19.5px); line-height:1.6; color:rgba(10,40,48,.72); margin:0 0 clamp(46px,6vw,76px); max-width:38em;}

/* ─── timeline ─── */
.ow-tl{
  position:relative;
  --node:clamp(44px,5.4vw,68px);      /* node diameter */
  --gutter:clamp(64px,7.4vw,96px);    /* space reserved left of each card */
  padding-left:var(--gutter);
}
.ow-tl__rail{
  position:absolute; left:calc(var(--node) / 2 - 1px); top:8px; bottom:8px; width:2px;
  background:rgba(10,40,48,.13); border-radius:2px; overflow:hidden;
}
.ow-tl__fill{
  position:absolute; inset:0 0 auto 0; height:0;
  background:linear-gradient(180deg, var(--teal), var(--amber));
  transition:height .18s linear;
}
.ow-step{position:relative; padding-bottom:clamp(34px,4.4vw,54px);}
.ow-step:last-child{padding-bottom:0;}
.ow-step__node{
  position:absolute; left:calc(var(--gutter) * -1); top:2px;
  width:var(--node); height:var(--node); border-radius:50%;
  display:grid; place-items:center; background:#F2F6F6;
  border:2px solid rgba(10,40,48,.14);
  font-family:var(--disp); font-weight:700; font-size:clamp(16px,2.1vw,24px);
  color:rgba(10,40,48,.35); line-height:1;
  transition:border-color .5s, color .5s, background .5s, transform .5s cubic-bezier(.2,.8,.2,1);
}
.ow-step.is-on .ow-step__node{
  background:var(--ink); border-color:var(--amber); color:var(--amber); transform:scale(1.06);
}
.ow-step.is-last.is-on .ow-step__node{background:var(--amber); border-color:var(--amber); color:var(--ink);}
.ow-step__body{
  padding:clamp(20px,2.4vw,28px) clamp(22px,2.6vw,32px); border-radius:18px;
  background:#fff; border:1px solid rgba(10,40,48,.08);
  transition:box-shadow .5s, transform .5s cubic-bezier(.2,.8,.2,1), border-color .5s;
}
.ow-step.is-on .ow-step__body{box-shadow:0 22px 44px -30px rgba(10,40,48,.42); border-color:rgba(13,136,145,.28);}
.ow-step__date{
  display:inline-block; font-family:var(--body); font-size:clamp(10.5px,1.3vw,12px); font-weight:600;
  letter-spacing:.19em; text-transform:uppercase; color:var(--teal-d); margin:0 0 .85em;
  padding:.45em .9em; border-radius:100px; background:rgba(13,136,145,.09);
}
.ow-step.is-last .ow-step__date{color:#0A2830; background:rgba(238,150,42,.24);}
.ow-step h3{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(22px,3.1vw,36px); line-height:1.02; letter-spacing:-.004em; margin:0 0 .42em; color:var(--ink);
}
.ow-step p{font-size:clamp(14.5px,1.65vw,17px); line-height:1.55; color:rgba(10,40,48,.68); margin:0; max-width:38em;}

.ow-journey__cta{
  margin-top:clamp(44px,5.6vw,72px); display:flex; flex-wrap:wrap; align-items:center; gap:clamp(14px,2.4vw,26px);
}
.ow-journey__cta p{margin:0; font-size:clamp(14px,1.6vw,16.5px); line-height:1.5; color:rgba(10,40,48,.68); max-width:30em;}
.ow-btn{
  display:inline-flex; align-items:center; gap:.65em; font-family:var(--body);
  font-size:clamp(13px,1.6vw,14.5px); font-weight:600; letter-spacing:.055em;
  text-transform:uppercase; text-decoration:none; padding:1.02em 1.7em;
  border-radius:100px; border:1.5px solid var(--amber); background:var(--amber);
  color:#0A2830 !important; box-shadow:0 8px 24px -12px rgba(238,150,42,.9);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
}
.ow-btn:hover{transform:translateY(-3px); box-shadow:0 16px 32px -14px rgba(238,150,42,1); color:#0A2830 !important;}
.ow-btn svg{width:1.05em; height:1.05em; flex:none;}

.ow-journey [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-journey [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}

@media (max-width:600px){
  .ow-tl{--node:36px; --gutter:52px;}
  .ow-step__node{font-size:15px;}
  .ow-journey__cta .ow-btn{width:100%; justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .ow-journey [data-ow-rv]{opacity:1 !important; transform:none !important;}
  .ow-tl__fill{transition:none;}
}

/* ══ 08-why-this-matters ══════════════════════════════════════ */
  .ow-why{
    /* file: assets/img/ — swap the url() below to change it */
    --ow-why-img: url("../img/expedition-kayak-sunset.jpg");
    /* file: assets/img/ — swap the url() below to change it */
    --ow-inset-img: url("../img/coastline-plastic.jpg");
  }

.ow-why{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:var(--ink); color:#fff; font-family:var(--body);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
  min-height:min(94vh,820px); min-height:min(94svh,820px); display:flex; align-items:center;
}
.ow-why *,.ow-why *::before,.ow-why *::after{box-sizing:border-box;}

.ow-why__bg{
  position:absolute; inset:-10% 0; z-index:0;
  background-image:var(--ow-why-img); background-size:cover; background-position:center 55%;
  background-color:#12313a; will-change:transform; transform:translate3d(0,0,0);
}
.ow-why__scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(10,40,48,.93) 0%, rgba(10,40,48,.68) 44%, rgba(10,40,48,.28) 78%),
    linear-gradient(180deg, rgba(10,40,48,.55) 0%, rgba(10,40,48,.1) 40%, rgba(10,40,48,.72) 100%);
}

.ow-why__inner{
  position:relative; z-index:3; width:100%; max-width:1240px; margin:0 auto;
  padding:clamp(84px,11vw,140px) 6vw;
  display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);
  gap:clamp(34px,5.5vw,74px); align-items:center;
}

.ow-why .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 clamp(22px,3vw,32px);
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--amber);
}
.ow-why .ow-eyebrow::before{content:""; width:clamp(24px,4vw,48px); height:1px; background:var(--amber);}

.ow-why h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(38px,7vw,96px); line-height:.9; letter-spacing:-.012em;
  margin:0 0 clamp(26px,3.6vw,42px);
}
.ow-why h2 b{color:var(--foam); font-weight:700;}

.ow-lines{margin:0; padding:0; list-style:none; max-width:26em;}
.ow-lines li{
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(21px,3.1vw,40px); line-height:1.12; letter-spacing:.002em;
  color:#fff; padding:clamp(13px,1.7vw,20px) 0;
  border-top:1px solid rgba(141,182,187,.26);
}
.ow-lines li:first-child{border-top:0; padding-top:0;}
.ow-lines li em{font-style:normal; color:var(--amber);}
.ow-lines li span{
  display:block; margin-top:.55em; font-family:var(--body); font-weight:400;
  text-transform:none; letter-spacing:0; font-size:clamp(14.5px,1.65vw,17px);
  line-height:1.55; color:rgba(255,255,255,.76);
}

/* ─── inset ─── */
.ow-why__inset{
  margin:0; border-radius:20px; overflow:hidden; position:relative; aspect-ratio:4/5;
  background:linear-gradient(150deg,#0D8891,#0A2830);
  border:1px solid rgba(141,182,187,.26);
  box-shadow:0 30px 60px -32px rgba(0,0,0,.85);
}
.ow-why__inset i{
  position:absolute; inset:0; display:block;
  background-image:var(--ow-inset-img); background-size:cover; background-position:center;
  animation:ow-kb2 24s ease-in-out infinite alternate;
}
@keyframes ow-kb2{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.ow-why__inset figcaption{
  position:absolute; z-index:2; inset:auto 0 0 0; padding:clamp(18px,2.4vw,26px);
  background:linear-gradient(transparent, rgba(10,40,48,.94) 62%);
  font-size:clamp(13px,1.5vw,15px); line-height:1.5; color:rgba(255,255,255,.9);
}
.ow-why__inset figcaption b{
  display:block; font-family:var(--disp); font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; font-size:clamp(11px,1.3vw,12.5px); color:var(--amber); margin-bottom:.6em;
}

.ow-why [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-why [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}

@media (max-width:960px){
  .ow-why__inner{grid-template-columns:1fr;}
  .ow-why__inset{aspect-ratio:16/10; max-width:520px;}
  .ow-lines{max-width:none;}
}
@media (prefers-reduced-motion:reduce){
  .ow-why [data-ow-rv]{opacity:1 !important; transform:none !important;}
  .ow-why__bg{transform:none !important;}
  .ow-why__inset i{animation:none !important;}
}

/* ══ 09-register-footer ══════════════════════════════════════ */
  .ow-reg{
    /* file: assets/img/ — swap the url() below to change it */
    --ow-qr-img: url("../img/register-qr.png");
    /* file: assets/img/ — swap the url() below to change it */
    --ow-logo-3165: url("../img/oman3165-logo.png");
  }

.ow-reg{
  --ink:#0A2830; --ink-2:#0C3139; --teal:#0D8891; --foam:#8DB6BB; --amber:#EE962A;
  --disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  position:relative; left:50%; width:var(--ow-vw,100vw); margin-left:calc(var(--ow-vw,100vw) / -2);
  background:var(--ink); color:#fff; font-family:var(--body);
  overflow:hidden; isolation:isolate; -webkit-font-smoothing:antialiased;
  padding:clamp(74px,10vw,132px) 6vw clamp(34px,4vw,48px);
}
.ow-reg *,.ow-reg *::before,.ow-reg *::after{box-sizing:border-box;}
.ow-reg::before{
  content:""; position:absolute; z-index:0; inset:-26vw -18vw auto auto;
  width:80vw; height:80vw; max-width:1050px; max-height:1050px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(13,136,145,.34) 0%, rgba(13,136,145,0) 64%);
}
.ow-reg::after{
  content:""; position:absolute; z-index:0; inset:auto auto -30vw -20vw;
  width:70vw; height:70vw; max-width:860px; max-height:860px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(238,150,42,.20) 0%, rgba(238,150,42,0) 64%);
}
.ow-reg__inner{position:relative; z-index:1; max-width:1240px; margin:0 auto;}

.ow-reg .ow-eyebrow{
  display:inline-flex; align-items:center; gap:.7em; margin:0 0 20px;
  font-family:var(--disp); font-size:clamp(12px,1.5vw,14px); font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--amber);
}
.ow-reg .ow-eyebrow::before{content:""; width:clamp(24px,4vw,48px); height:1px; background:var(--amber);}

.ow-reg h2{
  font-family:var(--disp); font-weight:700; text-transform:uppercase;
  font-size:clamp(40px,7.6vw,110px); line-height:.87; letter-spacing:-.015em; margin:0 0 clamp(20px,2.6vw,30px);
}
.ow-reg h2 b{color:var(--foam); font-weight:700;}
.ow-reg h2 i{font-style:normal; color:var(--amber);}
.ow-reg__lede{font-size:clamp(17px,2vw,22px); line-height:1.55; color:rgba(255,255,255,.86); margin:0 0 clamp(30px,4vw,44px); max-width:26em;}

.ow-reg__grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px,5vw,74px); align-items:start;}

/* ─── involvement pills ─── */
.ow-pills{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 clamp(32px,4.2vw,46px); padding:0; list-style:none;}
.ow-pills li{
  display:inline-flex; align-items:center; gap:.55em;
  padding:.72em 1.15em; border-radius:100px;
  border:1px solid rgba(141,182,187,.38); background:rgba(255,255,255,.05);
  font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(13px,1.55vw,15.5px); letter-spacing:.08em; color:#fff;
  transition:background .32s, border-color .32s, transform .32s cubic-bezier(.2,.8,.2,1);
}
.ow-pills li:hover{background:rgba(238,150,42,.16); border-color:var(--amber); transform:translateY(-3px);}
.ow-pills li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--amber); flex:none;}
.ow-pills__open{border-style:dashed !important; background:transparent !important; color:rgba(255,255,255,.78) !important;}
.ow-pills__open::before{background:transparent !important; border:1px solid var(--amber); box-sizing:border-box;}

/* ─── CTA row ─── */
.ow-reg__ctas{display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin:0 0 clamp(30px,4vw,42px);}
.ow-btn{
  display:inline-flex; align-items:center; gap:.65em; font-family:var(--body);
  font-size:clamp(13.5px,1.7vw,15.5px); font-weight:600; letter-spacing:.055em;
  text-transform:uppercase; text-decoration:none; padding:1.15em 2em;
  border-radius:100px; border:1.5px solid var(--amber); background:var(--amber);
  color:#0A2830 !important; box-shadow:0 10px 30px -12px rgba(238,150,42,.95);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
}
.ow-btn:hover{transform:translateY(-3px); box-shadow:0 20px 40px -14px rgba(238,150,42,1); color:#0A2830 !important;}
.ow-btn svg{width:1.1em; height:1.1em; flex:none;}
.ow-btn--ghost{background:transparent; color:#fff !important; border-color:rgba(255,255,255,.5); box-shadow:none;}
.ow-btn--ghost:hover{background:rgba(255,255,255,.1); border-color:#fff; color:#fff !important; box-shadow:none;}

.ow-reg__where{display:flex; flex-wrap:wrap; gap:clamp(12px,2vw,20px);}
.ow-reg__where span{
  display:inline-flex; align-items:center; gap:.55em;
  font-size:clamp(13px,1.55vw,15px); font-weight:500; color:var(--foam);
}
.ow-reg__where svg{width:1.15em; height:1.15em; flex:none; fill:none; stroke:var(--amber); stroke-width:1.8; stroke-linecap:round;}

/* ─── QR card ─── */
.ow-qr{
  padding:clamp(22px,2.8vw,32px); border-radius:22px; text-align:center;
  background:linear-gradient(158deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.035) 100%);
  border:1px solid rgba(141,182,187,.26);
}
.ow-qr a{
  display:block; width:100%; max-width:280px; margin:0 auto clamp(18px,2.2vw,24px);
  aspect-ratio:1; border-radius:14px; background:#fff;
  background-image:var(--ow-qr-img); background-size:88% 88%; background-position:center; background-repeat:no-repeat;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
  box-shadow:0 14px 34px -18px rgba(0,0,0,.7);
}
.ow-qr a:hover{transform:scale(1.035) rotate(-1.2deg); box-shadow:0 22px 44px -18px rgba(0,0,0,.8);}
.ow-qr p{
  margin:0; font-family:var(--disp); font-weight:600; text-transform:uppercase;
  font-size:clamp(14px,1.7vw,17px); letter-spacing:.15em; line-height:1.4; color:#fff;
}
.ow-qr p span{display:block; margin-top:.6em; font-family:var(--body); font-weight:400; text-transform:none; letter-spacing:0; font-size:13px; color:var(--foam);}

/* ─── footer ─── */
.ow-foot{
  margin-top:clamp(52px,7vw,92px); padding-top:clamp(28px,3.4vw,40px);
  border-top:1px solid rgba(141,182,187,.22);
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(20px,3vw,42px); align-items:center;
}
.ow-foot__logo{
  width:clamp(46px,5vw,58px); height:clamp(46px,5vw,58px); border-radius:11px; display:block; flex:none;
  background-image:var(--ow-logo-3165); background-size:cover; background-position:center; background-color:#1668B0;
}
.ow-foot__mid p{margin:0; font-size:clamp(12.5px,1.45vw,14px); line-height:1.6; color:rgba(255,255,255,.66);}
.ow-foot__mid p b{color:#fff; font-weight:600;}
.ow-foot__mid a{color:var(--amber) !important; text-decoration:none; border-bottom:1px solid rgba(238,150,42,.4);}
.ow-foot__mid a:hover{border-bottom-color:var(--amber); color:var(--amber) !important;}
.ow-foot__top{
  display:inline-flex; align-items:center; gap:.6em; text-decoration:none;
  font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--foam) !important; white-space:nowrap;
}
.ow-foot__top svg{width:1.2em; height:1.2em; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; transition:transform .3s;}
.ow-foot__top:hover svg{transform:translateY(-3px);}

.ow-reg [data-ow-rv]{opacity:0; transform:translateY(28px);}
.ow-reg [data-ow-rv].is-in{opacity:1; transform:none; transition:opacity .85s cubic-bezier(.2,.8,.2,1), transform .85s cubic-bezier(.2,.8,.2,1);}

@media (max-width:960px){
  .ow-reg__grid{grid-template-columns:1fr;}
  .ow-qr{max-width:380px;}
  .ow-foot{grid-template-columns:auto minmax(0,1fr); }
  .ow-foot__top{grid-column:1/-1;}
}
@media (max-width:560px){
  .ow-reg__ctas .ow-btn{width:100%; justify-content:center;}
  .ow-qr{max-width:none;}
}
@media (prefers-reduced-motion:reduce){.ow-reg [data-ow-rv]{opacity:1 !important; transform:none !important;}}

/* ═══════════ NO-JAVASCRIPT FALLBACK ═══════════
   Everything that JS fades in must be visible if JS never runs. */
html:not(.ow-js) [data-ow-rv],
html:not(.ow-js) [data-r],
html:not(.ow-js) [data-ow-rv].is-in,
html:not(.ow-js) [data-r].is-on{
  opacity:1!important; transform:none!important; visibility:visible!important;
}
