/* Standalone reset and layout formerly supplied by IBeanTrolled's shared CSS. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#FAF4E7;color:#201E1B;overflow-x:hidden;font-family:Inter,Arial,sans-serif}section{min-height:100vh;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px}section[id]{scroll-margin-top:20px}

/* ============================================================
   OCEAN 2 OCEAN â€” page-scoped styles.
   Everything lives under .o2o-page so nothing here can leak
   into or collide with the rest of the IBeanTrolled site.
   ============================================================ */

.o2o-page {
  --o2o-navy-deep:   #0A2436;
  --o2o-navy:        #123B57;
  --o2o-teal:        #1D7A93;
  --o2o-red:         #DF3A2C;
  --o2o-orange:      #F3821F;
  --o2o-gold:        #FBBA25;
  --o2o-cream:       #FAF4E7;
  --o2o-paper:       #F3ECDC;
  --o2o-charcoal:    #201E1B;
  --o2o-forest:      #35603F;
  --o2o-line:        rgba(32,30,27,0.14);

  --o2o-display: "Fraunces", Georgia, serif;
  --o2o-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --o2o-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;

  font-family: var(--o2o-body);
  color: var(--o2o-charcoal);
  background: var(--o2o-cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.o2o-page *, .o2o-page *::before, .o2o-page *::after { box-sizing: border-box; }
.o2o-page img { max-width: 100%; display: block; }
.o2o-page a { color: inherit; text-decoration: none; }
.o2o-page ul { margin: 0; padding: 0; list-style: none; }
.o2o-page h1, .o2o-page h2, .o2o-page h3 { font-family: var(--o2o-display); margin: 0; }
.o2o-page p { margin: 0; }
.o2o-page section { position: relative; }

.o2o-page :focus-visible {
  outline: 3px solid var(--o2o-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

.o2o-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* -------- Mile-marker eyebrow (signature structural device) --------
   The page is a literal route with a real sequence of stops, so a
   marker system carries real meaning here rather than decorating. */
.o2o-marker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--o2o-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--o2o-teal);
  margin-bottom: 18px;
}
.o2o-marker::before {
  content: "";
  width: 42px;
  height: 3px;
  background: linear-gradient(
    90deg,
    #E53935 0%,
    #E53935 25%,
    #F4B400 25%,
    #F4B400 50%,
    #43A047 50%,
    #43A047 75%,
    #1976D2 75%,
    #1976D2 100%
  );
  flex: none;
}
.o2o-marker span.o2o-marker-tag {
  border: 1.5px solid var(--o2o-navy);
  color: var(--o2o-navy);
  border-radius: 4px;
  padding: 3px 8px;
  background: var(--o2o-cream);
}

/* -------- Route spine: a dashed highway line runs the length
   of the page, like the road in the Ocean 2 Ocean artwork. -------- */
.o2o-route-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 6px;
  transform: translateX(-50%);
  background-image: repeating-linear-gradient(
    to bottom,
    var(--o2o-gold) 0px, var(--o2o-gold) 26px,
    transparent 26px, transparent 46px
  );
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 860px) {
  .o2o-route-line { left: 22px; width: 4px; }
}

/* ================= HERO ================= */
.o2o-hero {
  position: relative;
    background:
    radial-gradient(
      120% 100% at 50% 0%,
      #E53935 0%,
      #F4B400 25%,
      #43A047 50%,
      #1976D2 75%,
      #0A2942 100%
    );
  color: #fff;
  padding: 72px 24px 0;
  overflow: hidden;
}
.o2o-hero-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}
.o2o-hero-eyebrow {
  font-family: var(--o2o-mono);
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #FFE7B8;
  margin-bottom: 22px;
}
.o2o-logo {
  width: min(300px, 62vw);
  margin: 0 auto 28px;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(255,255,255,0.12), 0 30px 60px rgba(0,0,0,0.35);
}
.o2o-hero h1 {
  font-size: clamp(2.1rem, 5.2vw, 3.5rem);
  font-weight: 700;
  line-height: 1.08;
  margin-bottom: 20px;
  text-wrap: balance;
}
.o2o-hero-route {
  font-family: var(--o2o-mono);
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  letter-spacing: 0.04em;
  color: #FFE7B8;
  margin-bottom: 18px;
}
.o2o-hero-route .o2o-arrow { color: var(--o2o-gold); padding: 0 8px; }
.o2o-hero p.o2o-hero-sub {
  font-size: 1.08rem;
  max-width: 560px;
  margin: 0 auto 36px;
  color: rgba(255,255,255,0.92);
}
.o2o-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-bottom: 56px;
}

.o2o-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--o2o-body);
  font-weight: 600;
  font-size: 0.95rem;
  padding: 14px 24px;
  border-radius: 999px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  min-height: 48px;
}
.o2o-btn:hover { transform: translateY(-2px); }
.o2o-btn-primary { background: var(--o2o-gold); color: var(--o2o-navy-deep); }
.o2o-btn-primary:hover { box-shadow: 0 10px 22px rgba(251,186,37,0.35); }
.o2o-btn-outline { background: transparent; border-color: rgba(255,255,255,0.6); color: #fff; }
.o2o-btn-outline:hover { background: rgba(255,255,255,0.12); }
.o2o-btn-dark { background: var(--o2o-navy-deep); color: #fff; }
.o2o-btn-dark:hover { box-shadow: 0 10px 22px rgba(10,36,54,0.35); }

/* Hero puzzle buttons */
.o2o-puzzle-btn {
  position: relative;
  width: 150px;
  height: 105px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  color: #000 !important;
  font-family: var(--o2o-display);
  font-weight: 700;
  font-size: 1.25rem;
  -webkit-text-stroke: 1px white;
  paint-order: stroke fill;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  z-index: 1;
}

.o2o-puzzle-btn::before {
  content: "\1F9E9";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 125px;
  line-height: 1;
  z-index: -1;
}

.o2o-puzzle-btn:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: none;
}

/* hero -> body mountain divider */
.o2o-divider-mountains {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -2px;
}

/* ================= THE JOURNEY ================= */
.o2o-journey {
  background: var(--o2o-cream);
  padding: 100px 0 90px;
}
.o2o-journey-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.o2o-journey h2 {
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--o2o-navy);
}
.o2o-journey p { font-size: 1.05rem; margin-bottom: 16px; color: #3a352d; }
.o2o-stat-card {
  background: var(--o2o-navy);
  color: #fff;
  border-radius: 18px;
  padding: 34px 30px;
  position: relative;
  overflow: hidden;
}
.o2o-stat-card::after {
  content: "";
  position: absolute;
  right: -30px; bottom: -30px;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--o2o-orange) 0%, transparent 70%);
  opacity: 0.5;
}
.o2o-stat-row { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.16); position: relative; z-index: 1; }
.o2o-stat-row:last-child { border-bottom: none; }
.o2o-stat-label { font-family: var(--o2o-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #BFD9E6; }
.o2o-stat-value { font-family: var(--o2o-display); font-size: 1.15rem; font-weight: 600; text-align: right; }

/* ================= WHY OCEAN 2 OCEAN ================= */
.o2o-why {
  background: var(--o2o-navy-deep);
  color: #fff;
  padding: 100px 0;
}
.o2o-why .o2o-marker { color: var(--o2o-gold); }
.o2o-why .o2o-marker-tag { border-color: rgba(255,255,255,0.5); color: #fff; background: transparent; }
.o2o-why-inner { max-width: 760px; }
.o2o-why h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 600; margin-bottom: 22px; }
.o2o-why p { font-size: 1.08rem; color: rgba(255,255,255,0.86); margin-bottom: 18px; }
.o2o-placeholder {
  margin-top: 28px;
  border: 1.5px dashed rgba(255,255,255,0.4);
  border-radius: 14px;
  padding: 26px 28px;
  font-family: var(--o2o-mono);
  font-size: 0.92rem;
  color: #FFE7B8;
  background: rgba(255,255,255,0.04);
}

/* ================= MEET JODY & AUTUM ================= */
.o2o-team {
  background: var(--o2o-paper);
  padding: 100px 0;
}
.o2o-team-header { max-width: 640px; margin-bottom: 56px; }
.o2o-team-header h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); color: var(--o2o-navy); font-weight: 600; }
.o2o-team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.o2o-team-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(32,30,27,0.08);
}
.o2o-team-card:nth-child(2) { margin-top: 44px; }
.o2o-team-photo {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.o2o-team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.o2o-team-body { padding: 26px 28px 30px; }
.o2o-team-body h3 { font-size: 1.4rem; color: var(--o2o-navy); margin-bottom: 6px; }
.o2o-team-role { font-family: var(--o2o-mono); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--o2o-orange); margin-bottom: 14px; display: block; }
.o2o-team-body p { color: #5b5346; font-size: 0.98rem; }
.o2o-bio-placeholder {
  border: 1.5px dashed var(--o2o-line);
  border-radius: 10px;
  padding: 14px 16px;
  font-family: var(--o2o-mono);
  font-size: 0.82rem;
  color: #8a7f63;
}

/* ================= FOLLOW ================= */
.o2o-follow {
  background: var(--o2o-teal);
  color: #fff;
  padding: 90px 0;
}
.o2o-follow .o2o-marker { color: #DDF3F9; }
.o2o-follow .o2o-marker-tag { border-color: rgba(255,255,255,0.55); color: #fff; background: transparent; }
.o2o-follow-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.o2o-follow h2 { font-size: clamp(1.6rem, 3.2vw, 2.2rem); font-weight: 600; margin-bottom: 16px; }
.o2o-follow p { color: rgba(255,255,255,0.92); font-size: 1.02rem; margin-bottom: 8px; }
.o2o-social-list { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.o2o-social-btn {
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255,255,255,0.1);
  border: 1.5px solid rgba(255,255,255,0.35);
  border-radius: 12px;
  padding: 16px 20px;
  font-weight: 600;
}
.o2o-social-btn:hover { background: rgba(255,255,255,0.18); }
.o2o-social-status { font-family: var(--o2o-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #DDF3F9; }

/* ================= HOW YOU CAN HELP ================= */
.o2o-help {
  background: var(--o2o-cream);
  padding: 100px 0 60px;
}
.o2o-help-header { max-width: 700px; margin-bottom: 12px; }
.o2o-help h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); color: var(--o2o-navy); font-weight: 600; margin-bottom: 18px; }
.o2o-help-callout {
  font-family: var(--o2o-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.15rem, 2.4vw, 1.5rem);
  color: var(--o2o-red);
  line-height: 1.4;
  padding: 26px 0 40px;
  border-bottom: 2px solid var(--o2o-line);
  margin-bottom: 44px;
}
.o2o-help-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.o2o-help-item {
  background: #fff;
  border: 1.5px solid var(--o2o-line);
  border-top-width: 5px;
  border-radius: 14px;
  padding: 22px 20px;
  font-weight: 500;
  font-size: 0.98rem;
}
.o2o-help-item:nth-child(1) { border-top-color: #1976D2; }
.o2o-help-item:nth-child(2) { border-top-color: #43A047; }
.o2o-help-item:nth-child(3) { border-top-color: #F4B400; }
.o2o-help-item:nth-child(4) { border-top-color: #E53935; }
.o2o-help-item:nth-child(5) { border-top-color: #1976D2; }
.o2o-help-item:nth-child(6) { border-top-color: #43A047; }
.o2o-help-item strong { display: block; font-family: var(--o2o-display); font-size: 1.02rem; color: var(--o2o-navy); margin-bottom: 4px; font-weight: 600; }

/* ================= SPONSORSHIP ================= */
.o2o-sponsor {
  background: var(--o2o-navy);
  color: #fff;
  padding: 100px 0;
}
.o2o-sponsor .o2o-marker { color: var(--o2o-gold); }
.o2o-sponsor .o2o-marker-tag { border-color: rgba(255,255,255,0.5); color: #fff; background: transparent; }
.o2o-sponsor-top { max-width: 720px; margin-bottom: 44px; }
.o2o-sponsor h2 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); font-weight: 600; margin-bottom: 16px; }
.o2o-sponsor-top p { color: rgba(255,255,255,0.86); font-size: 1.05rem; }
.o2o-tag-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.o2o-tag {
  font-family: var(--o2o-mono);
  font-size: 0.82rem;
  border: 1.5px solid rgba(255,255,255,0.4);
  border-radius: 999px;
  padding: 9px 16px;
  color: #FFE7B8;
}
.o2o-sponsor-note {
  color: rgba(255,255,255,0.75);
  font-size: 0.95rem;
  max-width: 640px;
  margin-bottom: 34px;
}

/* ================= MERCH ================= */
.o2o-merch {
  background: var(--o2o-paper);
  padding: 90px 0;
}
.o2o-merch h2 { font-size: clamp(1.6rem, 3.2vw, 2.2rem); color: var(--o2o-navy); font-weight: 600; margin-bottom: 18px; }
.o2o-merch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 28px 0 30px; }
.o2o-merch-item {
  background: #fff;
  border: 1.5px solid var(--o2o-line);
  border-top-width: 5px;
  border-radius: 14px;
  padding: 30px 18px;
  text-align: center;
  font-weight: 600;
  color: var(--o2o-navy);
}
.o2o-merch-item:nth-child(1) { border-top-color: #E53935; }
.o2o-merch-item:nth-child(2) { border-top-color: #F4B400; }
.o2o-merch-item:nth-child(3) { border-top-color: #43A047; }
.o2o-merch-item span { display: block; font-family: var(--o2o-mono); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: #8a7f63; margin-top: 6px; }
.o2o-merch-note {
  display: inline-block;
  font-family: var(--o2o-mono);
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: var(--o2o-gold);
  color: var(--o2o-navy-deep);
  border-radius: 999px;
  padding: 10px 20px;
}

/* ================= JOURNEY MAP ================= */
.o2o-map {
  background: radial-gradient(120% 100% at 50% 100%, #1D7A93 0%, #123B57 45%, #0A2436 100%);
  color: #fff;
  padding: 110px 0;
  text-align: center;
}
.o2o-map .o2o-marker {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  color: var(--o2o-gold);
}
.o2o-map .o2o-marker-tag { border-color: rgba(255,255,255,0.5); color: #fff; background: transparent; }
.o2o-map h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 600; margin-bottom: 18px; }
.o2o-map p { max-width: 560px; margin: 0 auto 40px; color: rgba(255,255,255,0.85); font-size: 1.05rem; }
.o2o-map-panel {
  max-width: 640px;
  margin: 0 auto;
  border: 1.5px solid rgba(255,255,255,0.35);
  border-top: 5px solid #1976D2;
  border-radius: 20px;
  padding: 46px 30px;
  background: rgba(255,255,255,0.08);
  box-shadow: 0 14px 32px rgba(0,0,0,0.18);
}
.o2o-map-route {
  font-family: var(--o2o-mono);
  font-size: clamp(1rem, 2.4vw, 1.3rem);
  letter-spacing: 0.06em;
  color: var(--o2o-gold);
  margin-bottom: 14px;
}
.o2o-map-sub { font-family: var(--o2o-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #BFD9E6; }

/* ================= CONTACT ================= */
.o2o-contact {
  background: var(--o2o-cream);
  padding: 100px 0 70px;
}
.o2o-contact-top { max-width: 640px; margin-bottom: 44px; }
.o2o-contact h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); color: var(--o2o-navy); font-weight: 600; margin-bottom: 14px; }
.o2o-contact-email {
  display: inline-block;
  font-family: var(--o2o-mono);
  font-size: 1.05rem;
  color: var(--o2o-red);
  border-bottom: 2px solid var(--o2o-red);
  padding-bottom: 2px;
  margin-top: 8px;
}
.o2o-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.o2o-contact-item {
  background: #fff;
  border: 1.5px solid var(--o2o-line);
  border-top-width: 5px;
  border-radius: 14px;
  padding: 22px 20px;
}
.o2o-contact-item:nth-child(1) { border-top-color: #E53935; }
.o2o-contact-item:nth-child(2) { border-top-color: #F4B400; }
.o2o-contact-item:nth-child(3) { border-top-color: #43A047; }
.o2o-contact-item:nth-child(4) { border-top-color: #1976D2; }
.o2o-contact-item:nth-child(5) { border-top-color: #E53935; }
.o2o-contact-item strong { display: block; font-family: var(--o2o-display); color: var(--o2o-navy); font-size: 1.02rem; margin-bottom: 6px; }
.o2o-contact-item p { font-size: 0.92rem; color: #5b5346; }

/* ================= IBT RELATIONSHIP + FOOTER ================= */
.o2o-footer {
  background: var(--o2o-navy-deep);
  color: rgba(255,255,255,0.82);
  padding: 28px 20px 24px;
  text-align: center;
  font-family: var(--o2o-body);
}

.o2o-footer-note {
  display: block;
  width: fit-content;
  max-width: 600px;
  margin: 0 auto 12px auto !important;
  padding: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255,255,255,0.82);
  text-align: center !important;
}

.o2o-footer-divider {
  width: 180px;
  height: 3px;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #E53935 0%,
    #F4B400 25%,
    #43A047 50%,
    #1976D2 75%,
    #9C27B0 100%
  );
}

.o2o-footer > p:not(.o2o-footer-note) {
  font-size: 0.78rem;
  margin: 6px auto;
  text-align: center;
}

.o2o-footer-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.o2o-footer-socials a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.o2o-footer-socials a:hover {
  text-decoration: underline;
}

.o2o-footer-legal a {
  color: #FFEB9C;
  text-decoration: none;
}

.o2o-footer-location {
  color: rgba(255,255,255,0.65);
}

.o2o-footer-copyright {
  color: rgba(255,255,255,0.5);
  font-size: 0.72rem !important;
  margin-bottom: 0 !important;
}

/* ================= reveal-on-scroll ================= */
.o2o-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; }
.o2o-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .o2o-reveal { opacity: 1; transform: none; transition: none; }
  .o2o-btn:hover { transform: none; }
}

/* ================= responsive ================= */
@media (max-width: 860px) {
  .o2o-journey-grid,
  .o2o-follow-grid,
  .o2o-team-grid { grid-template-columns: 1fr; gap: 32px; }
  .o2o-team-card:nth-child(2) { margin-top: 0; }
  .o2o-help-grid,
  .o2o-merch-grid,
  .o2o-contact-grid { grid-template-columns: 1fr 1fr; }
  .o2o-journey, .o2o-why, .o2o-team, .o2o-follow, .o2o-help, .o2o-sponsor, .o2o-merch, .o2o-map, .o2o-contact { padding-top: 72px; padding-bottom: 72px; }
}
@media (max-width: 560px) {
  .o2o-help-grid, .o2o-merch-grid, .o2o-contact-grid { grid-template-columns: 1fr; }
  .o2o-hero { padding-top: 56px; }
  .o2o-hero-ctas {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 4px;
}

.o2o-puzzle-btn {
  width: 105px;
  height: 74px;
  flex: 0 0 105px;
  font-size: 0.72rem;
  line-height: 1.05;
}

.o2o-puzzle-btn::before {
  font-size: 92px;
}
  .o2o-btn { justify-content: center; }
}

.o2o-site-nav{background:#0A2436;color:#fff;padding:16px 24px;font:600 14px/1.5 Inter,Arial,sans-serif;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.o2o-site-nav a{color:inherit;text-decoration:none}.o2o-site-brand{font-family:Fraunces,Georgia,serif;font-size:20px}.o2o-site-links{display:flex;flex-wrap:wrap;gap:16px}.o2o-site-toggle{display:none;background:transparent;border:1px solid #fff;color:#fff;border-radius:6px;padding:10px 14px;font:inherit;min-height:44px}.o2o-site-nav a:focus-visible,.o2o-site-toggle:focus-visible{outline:3px solid #FBBA25;outline-offset:4px}@media(max-width:700px){.o2o-site-toggle{display:block}.o2o-site-links{width:100%;display:flex;flex-direction:column}.o2o-site-nav[data-menu-ready] .o2o-site-links:not([data-open]){display:none}.o2o-site-links a{padding:10px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Ocean 2 Ocean's own coastal identity */
.o2o-page{--o2o-cream:#fbf8f0;--o2o-paper:#eef5f4;--o2o-gold:#ffcb40;--o2o-red:#b91e16;--o2o-navy:#12435c;--o2o-navy-deep:#082c40}.o2o-page section{min-height:0;padding-top:80px;padding-bottom:80px}.o2o-site-nav{background:#fff;color:#082c40;border-bottom:1px solid #dbe5e6;padding:12px 4%;gap:20px}.o2o-site-brand{display:flex;align-items:center;gap:10px;flex:none}.o2o-site-brand img{width:58px;height:58px;object-fit:contain}.o2o-site-brand small{display:block;font:500 11px/1.5 Inter,Arial,sans-serif;letter-spacing:.04em}.o2o-site-links{gap:18px;font-size:12px}.o2o-site-toggle{color:#082c40;border-color:#164a60}.o2o-hero{padding:52px 4% 64px;background:linear-gradient(145deg,#edf7fa 0%,#fbf8f0 70%);color:#082c40;border-bottom:6px solid #ffcb40}.o2o-hero-layout{max-width:1360px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}.o2o-cover-wrap{border-radius:18px;overflow:hidden;box-shadow:0 16px 44px #123b5722;border:1px solid #d8e7e8;background:#e5f4fc}.o2o-cover{width:100%;height:auto;display:block}.o2o-hero-inner{text-align:left}.o2o-eyebrow{font:600 11px/1.7 var(--o2o-mono);letter-spacing:.12em;text-transform:uppercase;color:#b91e16;margin-bottom:18px!important}.o2o-hero h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.12}.o2o-hero-route{color:#185970!important;font-size:.86rem!important;margin-top:22px}.o2o-hero p.o2o-hero-sub{color:#395365;font-size:1rem;margin:0 0 28px;max-width:none}.o2o-hero-ctas{justify-content:flex-start;margin:0;gap:10px}.o2o-btn{font-size:.82rem;padding:12px 16px}.o2o-btn-primary{color:#082c40!important}.o2o-btn-outline{border-color:#164a60;color:#164a60}.o2o-btn-outline:hover{background:#dceef3}.o2o-route-line{opacity:.18}.o2o-bio p+p{margin-top:15px}.o2o-contact-email{overflow-wrap:anywhere;max-width:100%}.o2o-footer{padding:48px 5% 26px}.o2o-footer-top{max-width:1120px;margin:0 auto 30px;display:flex;justify-content:space-between;gap:24px;text-align:left;font-size:.9rem;line-height:1.9}.o2o-footer-top strong{font:600 1.5rem Fraunces,Georgia,serif}.o2o-footer-top a{text-decoration:underline;overflow-wrap:anywhere}.o2o-footer-ocean-socials{display:flex;gap:24px;justify-content:center;margin:22px 0}.o2o-footer-copyright{font-size:.75rem}.o2o-page a.o2o-btn{font-weight:700}
@media(max-width:1050px){.o2o-hero-layout{grid-template-columns:1fr;gap:30px;max-width:760px}.o2o-hero-inner{text-align:center}.o2o-hero-ctas{justify-content:center}.o2o-site-links{gap:12px}}@media(max-width:700px){.o2o-site-nav{padding:10px 20px}.o2o-site-brand{font-size:18px}.o2o-site-links{font-size:15px}.o2o-hero{padding:24px 20px 44px}.o2o-hero h1{font-size:2rem}.o2o-page section{padding-top:56px;padding-bottom:56px}.o2o-hero-ctas{flex-wrap:wrap}.o2o-btn{flex:1 1 180px}.o2o-footer-top{flex-direction:column}.o2o-sponsor .o2o-help-grid{grid-template-columns:1fr!important}}
