/* Shared visual language, sampled from the blue in assets/img/logo.png. */
:root {
  --marine-primary: #053b80;
  --marine-primary-hover: #032957;
  --marine-dark: #053b80;
  --marine-muted: #59677a;
  --bg-marine: #053b80;
  --theme-text: #334155;
  --theme-font: Arial, Helvetica, sans-serif;
  --bs-primary: #053b80;
  --bs-primary-rgb: 5, 59, 128;
  --bs-link-color: #053b80;
  --bs-link-hover-color: #032957;
  --bs-body-color: #334155;
  --bs-body-font-family: Arial, Helvetica, sans-serif;
}
body, h1, h2, h3, h4, h5, h6, p, a, span, li, button, input, select, textarea,
.mc-catalog { font-family: var(--theme-font); }
body { color: var(--theme-text); font-size: 16px; line-height: 1.7; }
h1, h2, h3, h4, h5, h6,
.mc-catalog :is(h1,h2,h3,h4,h5,h6) {
  font-weight: 700; line-height: 1.2; letter-spacing: -.025em;
}
h2, .mc-catalog h2 { font-size: clamp(28px, 3vw, 40px); }
h3, .mc-catalog h3 { font-size: clamp(22px, 2vw, 28px); }
h4, h5 { font-size: 20px; }
.hero-section h1, .hero-sub h1, .mc-hero h1 {
  font-size: clamp(32px, 4.4vw, 60px) !important;
  font-weight: 700 !important; line-height: 1.15;
  letter-spacing: -.03em;
}
.hero-section p, .hero-sub p, .mc-hero p {
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 400 !important; line-height: 1.7;
}
.mc-catalog { --ink: var(--marine-primary); --accent: var(--marine-primary); }
.mc-eyebrow, .promo-slide__badge, h6.tracking-wider {
  font-size: 12px; font-weight: 700; line-height: 1.5;
  letter-spacing: .12em; text-transform: uppercase;
}
.mc-hero .mc-eyebrow, .mc-cta .mc-eyebrow { color: #dbeafe; }
.mc-hero h1 em { color: #fff; }
.mc-card-body p, .mc-overview, .mc-note, .mc-heading p, .mc-heading > span {
  color: var(--marine-muted);
}
.mc-overview, .product-description { font-size: 16px; line-height: 1.7; }
.mc-card-body h3 { font-size: 24px; }
.mc-detail-intro h2, .mc-detail-information h2 { font-size: clamp(24px, 2.5vw, 32px); }
.btn, .mc-button, .promo-slide__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 24px; border: 1px solid transparent;
  border-radius: 4px; font-size: 15px; font-weight: 700; line-height: 1.4;
  letter-spacing: 0; text-decoration: none; box-shadow: none;
  transition: background-color .2s, color .2s, border-color .2s;
}
.btn-primary, .btn-primary-marine, .mc-button {
  background: var(--marine-primary) !important;
  border-color: var(--marine-primary) !important; color: #fff !important;
}
.btn-primary:hover, .btn-primary-marine:hover, .mc-button:hover {
  background: var(--marine-primary-hover) !important;
  border-color: var(--marine-primary-hover) !important; color: #fff !important;
}
.btn-outline-primary, .btn-outline-dark-marine {
  background: transparent; color: var(--marine-primary) !important;
  border-color: var(--marine-primary) !important;
}
.btn-outline-primary:hover, .btn-outline-dark-marine:hover {
  background: var(--marine-primary) !important; color: #fff !important;
  border-color: var(--marine-primary) !important;
}
.btn-light, .btn-outline-light, .promo-slide__btn,
.mc-cta .mc-button {
  background: #fff !important; border-color: #fff !important;
  color: var(--marine-primary) !important;
}
.btn-light:hover, .btn-outline-light:hover, .promo-slide__btn:hover,
.mc-cta .mc-button:hover {
  background: #dbeafe !important; border-color: #dbeafe !important;
  color: var(--marine-primary-hover) !important; transform: none;
}
.btn:focus-visible, .mc-button:focus-visible, .promo-slide__btn:focus-visible,
.mc-catalog a:focus-visible, .mc-catalog button:focus-visible {
  outline: 3px solid #6ea8fe; outline-offset: 4px; box-shadow: none;
}
.mc-card-link, .mc-card-link span, .mc-features li::before, .mc-symbol {
  color: var(--marine-primary);
}
.mc-category:hover, .mc-product:hover,
.mc-thumbnails button[aria-pressed=true] { border-color: var(--marine-primary); }
.mc-cta, .bg-marine-dark, .bg-marine-gradient {
  background: var(--marine-primary) !important;
}
.promo-slide { background: var(--marine-primary) !important; }
.mc-category-art { background: linear-gradient(135deg,#e7eef8,#f3f6fb); }
.mc-product-art, .mc-gallery, .mc-specs tr:nth-child(odd) { background: #eff3f9; }
.mc-placeholder { color: #9bafcc; }
.mc-cta h2, .mc-hero h1, .promo-slide__title { color: #fff; }
.mc-pagination .current { background: var(--marine-primary); color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .btn, .mc-button, .promo-slide__btn { transition: none; }
}

/* Homepage: original image without a tint, with a two-line desktop title. */
.home-hero { background-image: url("img/banner1.jpg"); }
.home-hero h1 { font-size: clamp(30px, 3.7vw, 52px) !important; }
.home-hero h1 > span { display: block; }
@media (min-width: 992px) {
  .home-hero h1 > span { white-space: nowrap; }
}

/* Uniform event thumbnails: fill the frame without distorting photos. */
.event-card-image, .news__img { height: 240px; }
.event-card-image, .news__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.event-card-image { flex-shrink: 0; }
.news__img { overflow: hidden; }
.news__img img { height: 100%; }
@media (max-width: 576px) {
  .event-card-image, .news__img { height: 220px; }
}

/* Extend the catalogue's visual language to the main information pages. */
.marine-pages { background: #f8faf9; color: var(--theme-text); }
.marine-pages--home .promo-slider-section::after,
.marine-pages--home .home-hero::after,
.marine-pages--events .hero-section::after,
.marine-pages--contact .hero-section::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23f8faf9' d='M0,10 C100,50 350,0 500,40 C650,80 850,30 1000,70 V100 H0 Z' /%3E%3C/svg%3E");
}
.marine-pages > .py-5 { padding-block: clamp(48px, 6vw, 80px) !important; }
.marine-pages h2, .marine-pages h3 { color: var(--marine-primary); }
.marine-pages .hero-section:not(.home-hero) {
  height: auto !important; min-height: 390px; padding: 60px 0 125px;
}
.marine-pages .hero-section .container { position: relative; z-index: 3; }
.marine-pages .hero-section::after { pointer-events: none; }
.marine-pages .mc-breadcrumb { color: #e2eaf4; margin-bottom: 30px; }
.marine-page-eyebrow { display: block; margin-bottom: 18px; }
.marine-pages .hero-section:not(.home-hero) .marine-page-eyebrow { color: #dbeafe; }
.marine-pages .hero-section p { max-width: 660px; }
.marine-pages .home-hero { height: 100vh; height: 100dvh; min-height: 100dvh; padding: 90px 0 130px; }
.marine-pages :is(.feature-box,.product-box,.activity-card,.card) {
  border: 1px solid #dde6e5 !important; border-radius: 5px !important;
  box-shadow: none !important; overflow: hidden;
}
.marine-pages .feature-box { margin: 0; padding: 30px 20px; height: 100%; }
.marine-pages .feature-box.mt-lg-4 { margin-top: 0 !important; }
.marine-pages .activity-section .row { row-gap: 24px; }
.marine-pages .product-box {
  display: flex; flex-direction: column; align-items: stretch; text-align: left;
  padding: 26px; color: var(--marine-primary);
  transition: transform .2s, border-color .2s;
}
.marine-pages .product-box > img {
  width: 100%; height: 180px; object-fit: contain; padding: 18px;
  background: linear-gradient(135deg,#e7eef8,#f3f6fb); border-radius: 3px;
}
.marine-pages .product-box h5 { font-size: 22px; line-height: 1.3; margin-bottom: 26px; }
.marine-pages .product-box:hover { transform: translateY(-4px); border-color: var(--marine-primary) !important; }
.marine-pages .product-box:focus-visible { outline: 3px solid #6ea8fe; outline-offset: 4px; }
.marine-pages .product-box .mc-card-link { width: 100%; }
.marine-pages .activity-card { text-align: left !important; }
.marine-pages .activity-card img { width: 100%; height: 200px; object-fit: cover; }
.marine-pages .activity-card h5 { line-height: 1.5; }
.marine-pages--about :is(.rounded-4,.rounded-3),
.marine-pages--contact :is(.rounded-4,.rounded-3) { border-radius: 5px !important; box-shadow: none !important; }
.marine-pages--contact #contactForm {
  padding: clamp(20px,3vw,32px); background: #fff; border: 1px solid #dde6e5; border-radius: 5px;
}
.marine-form-label { display: block; font-size: 13px; font-weight: 700; color: var(--marine-primary); margin-bottom: 7px; }
.marine-pages--contact .form-control {
  background: #f8fafc; border: 1px solid #d5dfe9; border-radius: 3px;
  min-height: 48px; padding: 12px 14px; font-size: 15px;
}
.marine-pages--contact .form-control:focus { background: #fff; border-color: var(--marine-primary); box-shadow: 0 0 0 3px #053b801a; }
.marine-pages--contact .bg-light { background: #eff3f9 !important; border: 1px solid #dde6e5; }
.marine-pages--events .card-title { font-size: 24px; line-height: 1.3; }
.marine-pages--events .card-body { padding: 28px !important; }
@media (max-width: 600px) {
  .marine-pages .hero-section:not(.home-hero) { min-height: 0; padding: 38px 0 105px; }
  .marine-pages .home-hero { padding: 65px 0 110px; }
  .marine-pages .mc-breadcrumb { margin-bottom: 24px; }
  .marine-pages .product-box { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .marine-pages .product-box { transition: none; }
  .marine-pages .product-box:hover { transform: none; }
}

/* Match the homepage contact waves and footer transition to adjacent sections. */
.marine-pages--home .contact-section::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23f8faf9' fill-opacity='0.9' d='M0,224L60,208C120,192,240,160,360,170.7C480,181,600,235,720,229.3C840,224,960,160,1080,154.7C1200,149,1320,203,1380,229.3L1440,256V0H0Z'/%3E%3Cpath fill='%23f8faf9' fill-opacity='0.5' d='M0,160L80,133.3C160,107,320,53,480,64C640,75,800,149,960,165.3C1120,181,1280,139,1360,117.3L1440,96V0H0Z'/%3E%3Cpath fill='%23f8faf9' fill-opacity='0.25' d='M0,96L60,90.7C120,85,240,75,360,69.3C480,64,600,64,720,80C840,96,960,128,1080,149.3C1200,171,1320,181,1380,186.7L1440,192V0H0Z'/%3E%3C/svg%3E");
}
.marine-pages--home .contact-section::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23f8faf9' d='M0,120 V80 C200,20 450,140 720,70 C1000,0 1250,120 1440,80 V120 H0 Z'/%3E%3C/svg%3E");
}
:is(.marine-pages--home, .marine-pages--events, .marine-pages--contact) + footer::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23f8faf9' fill-opacity='0.9' d='M0,224L60,208C120,192,240,160,360,170.7C480,181,600,235,720,229.3C840,224,960,160,1080,154.7C1200,149,1320,203,1380,229.3L1440,256V0H0Z'/%3E%3Cpath fill='%23f8faf9' fill-opacity='0.5' d='M0,160L80,133.3C160,107,320,53,480,64C640,75,800,149,960,165.3C1120,181,1280,139,1360,117.3L1440,96V0H0Z'/%3E%3Cpath fill='%23f8faf9' fill-opacity='0.25' d='M0,96L60,90.7C120,85,240,75,360,69.3C480,64,600,64,720,80C840,96,960,128,1080,149.3C1200,171,1320,181,1380,186.7L1440,192V0H0Z'/%3E%3C/svg%3E");
}
