:root {
--gw-ocean: #0b3553;
--gw-sea: #1d6fa3;
--gw-sand: #d9c7a2;
--gw-offwhite: #f7f6f2;
--gw-accent: #e36b4c;
--gw-text: #12222f;
--gw-muted: #5f7483;
--gw-white: #ffffff;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
color: var(--gw-text);
background: var(--gw-offwhite);
font-family: "Inter", Arial, sans-serif;
line-height: 1.6;
text-rendering: optimizeLegibility;
overflow-x: hidden;
}
img,
video {
max-width: 100%;
}
a {
color: inherit;
}
.gw-container {
width: min(1200px, 92%);
margin: 0 auto;
}
.gw-header {
position: sticky;
top: 0;
z-index: 20;
background: rgba(7, 28, 45, 0.88);
backdrop-filter: blur(6px);
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.gw-header-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 72px;
}
.gw-brand {
display: inline-flex;
flex-direction: column;
align-items: flex-start;
gap: 4px;
text-decoration: none;
position: relative;
padding: 4px 0 6px;
}
.gw-brand-main {
display: block;
color: #ffffff;
font-size: 1.02rem;
font-weight: 900;
letter-spacing: 0.09em;
line-height: 1.05;
text-transform: uppercase;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.gw-brand-sub {
display: block;
color: #f0b3a2;
font-size: 0.67rem;
font-weight: 700;
letter-spacing: 0.14em;
line-height: 1;
text-transform: none;
opacity: 1;
}
.gw-brand::after {
content: "";
margin-top: 4px;
width: 92px;
height: 7px;
border-radius: 999px;
background:
radial-gradient(circle at 10% 50%, #e36b4c 0 18%, transparent 19%),
radial-gradient(circle at 35% 50%, #e36b4c 0 18%, transparent 19%),
radial-gradient(circle at 60% 50%, #e36b4c 0 18%, transparent 19%),
radial-gradient(circle at 85% 50%, #e36b4c 0 18%, transparent 19%),
linear-gradient(180deg, rgba(227, 107, 76, 0.24), rgba(227, 107, 76, 0));
}
.gw-brand:hover .gw-brand-sub {
color: #ffd5c9;
}
.gw-nav {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 18px;
}
.gw-nav-toggle {
display: none;
width: 40px;
height: 40px;
border: 1px solid rgba(255, 255, 255, 0.26);
border-radius: 10px;
background: rgba(255, 255, 255, 0.08);
align-items: center;
justify-content: center;
flex-direction: column;
gap: 4px;
padding: 0;
cursor: pointer;
}
.gw-nav-toggle span {
display: block;
width: 18px;
height: 2px;
border-radius: 99px;
background: #e6f2fb;
}
.gw-nav li {
position: relative;
}
.gw-nav a {
color: #e6f2fb;
text-decoration: none;
font-size: 0.92rem;
letter-spacing: 0.02em;
transition: opacity 0.2s ease, color 0.2s ease;
}
.gw-nav a:hover {
opacity: 0.82;
color: #fff;
}
.gw-nav .menu-item-has-children > a::after {
content: "▾";
margin-left: 6px;
font-size: 0.8em;
opacity: 0.8;
}
.gw-nav .sub-menu {
list-style: none;
margin: 0;
padding: 8px 0;
position: absolute;
left: 0;
top: calc(100% + 8px);
min-width: 260px;
background: #fff;
border: 1px solid #dfe8ef;
border-radius: 10px;
box-shadow: 0 14px 32px rgba(10, 28, 45, 0.16);
opacity: 0;
visibility: hidden;
transform: translateY(6px);
transition: all 0.18s ease;
z-index: 30;
}
.gw-nav .sub-menu a {
color: var(--gw-ocean);
padding: 8px 14px;
display: block;
font-size: 0.9rem;
}
.gw-nav .sub-menu a:hover {
background: #f4f8fb;
opacity: 1;
}
.gw-nav li:hover > .sub-menu,
.gw-nav li:focus-within > .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.gw-hero {
position: relative;
min-height: 82vh;
display: grid;
place-items: center;
color: #fff;
text-align: center;
overflow: hidden;
}
.gw-hero::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(rgba(4, 16, 27, 0.45), rgba(4, 16, 27, 0.78));
}
.gw-hero video,
.gw-hero img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.gw-hero-content {
position: relative;
z-index: 1;
max-width: 760px;
padding: 24px;
}
.gw-kicker {
display: inline-block;
margin: 0 0 10px;
padding: 6px 12px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.18);
font-size: 0.8rem;
letter-spacing: 0.09em;
text-transform: uppercase;
font-weight: 600;
}
.gw-hero h1 {
margin: 0 0 12px;
font-size: clamp(2rem, 5vw, 4.1rem);
line-height: 1.1;
text-wrap: balance;
}
.gw-hero p {
margin: 0 auto;
max-width: 700px;
color: rgba(255, 255, 255, 0.92);
font-size: clamp(1rem, 1.4vw, 1.12rem);
}
.gw-btns {
display: flex;
justify-content: center;
gap: 12px;
flex-wrap: wrap;
margin-top: 20px;
}
.gw-btn {
display: inline-block;
padding: 12px 20px;
border-radius: 999px;
text-decoration: none;
font-family: inherit;
font-size: 0.96rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.01em;
text-align: center;
border: 1px solid transparent;
cursor: pointer;
transition: transform 0.2s ease, opacity 0.2s ease;
}
.gw-btn:hover {
transform: translateY(-1px);
opacity: 0.95;
}
.gw-btn-primary {
background: var(--gw-accent);
color: #fff;
}
.gw-btn-secondary {
border: 1px solid #fff;
color: #fff;
}
.gw-section {
padding: 82px 0;
}
.gw-page-main {
min-height: 55vh;
}
.gw-page-hero {
position: relative;
background: linear-gradient(120deg, #0e3958, #1d6fa3);
color: #fff;
padding: 72px 0 62px;
overflow: hidden;
}
.gw-page-hero h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.1rem);
}
.gw-page-hero-bg {
position: absolute;
inset: 0;
background-position: center;
background-size: cover;
opacity: 0.42;
}
.gw-page-hero::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, rgba(9, 36, 56, 0.68), rgba(16, 56, 86, 0.5));
}
.gw-page-hero-content {
position: relative;
z-index: 2;
}
.gw-two-col {
display: grid;
grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr);
gap: 22px;
align-items: start;
}
.gw-prose {
padding: 26px;
}
.gw-prose p {
margin: 0 0 14px;
overflow-wrap: anywhere;
}
.gw-prose ul,
.gw-prose ol {
margin: 0 0 14px;
padding-left: 20px;
}
.gw-prose h2,
.gw-prose h3,
.gw-prose h4 {
margin: 16px 0 8px;
}
.gw-prose-tour {
padding: 0;
background: transparent;
border: 0;
box-shadow: none;
}
.gw-prose-tour h2 {
margin: 0 0 18px;
padding-bottom: 14px;
border-bottom: 1px solid #d6e4ee;
font-size: clamp(1.8rem, 2.8vw, 2.35rem);
line-height: 1.2;
letter-spacing: 0.01em;
color: #0a3857;
text-wrap: balance;
}
.gw-prose-tour h3 {
margin: 42px 0 12px;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
color: #0f4063;
font-size: clamp(1.2rem, 1.9vw, 1.55rem);
line-height: 1.3;
position: relative;
}
.gw-prose-tour h3::before {
content: "";
display: block;
width: 62px;
height: 2px;
margin-bottom: 12px;
border-radius: 999px;
background: linear-gradient(90deg, #1d6fa3, rgba(29, 111, 163, 0.2));
}
.gw-prose-tour h4 {
margin: 22px 0 10px;
color: #1d5578;
font-size: 1.06rem;
letter-spacing: 0.01em;
}
.gw-prose-tour p {
margin: 0 0 16px;
color: #264354;
line-height: 1.8;
max-width: 74ch;
overflow-wrap: anywhere;
}
.gw-prose-tour > p:first-of-type {
font-size: 1.14rem;
color: #1a3a4f;
}
.gw-prose-tour ul,
.gw-prose-tour ol {
margin: 0 0 20px;
padding: 0 0 0 24px;
border: 0;
border-radius: 0;
background: transparent;
max-width: 74ch;
}
.gw-prose-tour li {
margin-bottom: 10px;
color: #294456;
}
.gw-prose-tour li:last-child {
margin-bottom: 0;
}
.gw-prose-tour a {
color: #0e5888;
font-weight: 600;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}
.gw-prose-tour a[href^="tel:"],
.gw-prose-tour a[href^="mailto:"] {
color: #0d3f62;
}
.gw-prose-tour blockquote {
margin: 20px 0;
padding: 16px 20px;
border-left: 4px solid #e36b4c;
border-radius: 10px;
background: #fff8f5;
}
.gw-prose-tour table {
width: 100%;
margin: 16px 0 24px;
border-collapse: separate;
border-spacing: 0;
border: 1px solid #d3e0eb;
border-radius: 14px;
overflow: hidden;
background: #fff;
box-shadow: 0 10px 26px rgba(11, 41, 64, 0.08);
table-layout: fixed;
}
.gw-prose-tour thead th {
background: linear-gradient(180deg, #0f456a, #0d3f61);
color: #eaf5fe;
font-weight: 700;
font-size: 0.9rem;
letter-spacing: 0.02em;
text-transform: uppercase;
border: 0;
padding: 12px 14px;
text-align: center;
vertical-align: middle;
}
.gw-prose-tour tbody td {
border: 0;
border-bottom: 1px solid #e4edf4;
padding: 12px 14px;
color: #244356;
font-weight: 500;
text-align: center;
vertical-align: middle;
line-height: 1.35;
}
.gw-prose-tour tbody tr:nth-child(even) td {
background: #f7fbff;
}
.gw-prose-tour tbody tr:hover td {
background: #edf6fd;
}
.gw-prose-tour tbody tr:last-child td {
border-bottom: 0;
}
.gw-prose-tour tbody td:first-child {
font-weight: 700;
color: #123c5b;
text-align: left;
}
.gw-prose-tour thead th:first-child {
text-align: left;
}
.gw-tour-bottom-cta {
margin-top: 0;
border: 1px solid #d5e2ec;
border-radius: 16px;
padding: 24px;
background:
radial-gradient(circle at 90% 12%, rgba(29, 111, 163, 0.16), transparent 32%),
linear-gradient(180deg, #ffffff 0%, #f4f9fd 100%);
box-shadow: 0 12px 28px rgba(13, 44, 67, 0.08);
}
.gw-tour-bottom-cta h3 {
margin: 0 0 10px;
font-size: 1.22rem;
}
.gw-tour-bottom-cta p {
margin: 0 0 12px;
}
.gw-tour-bottom-cta p:last-child {
margin-bottom: 0;
}
.gw-tour-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) 330px;
gap: 32px;
align-items: start;
}
.gw-tour-rail {
position: sticky;
top: 88px;
}
.gw-tour-rail-media {
margin-top: 16px;
}
.gw-tour-rail-video {
width: 100%;
display: block;
aspect-ratio: 16 / 10;
object-fit: cover;
border-radius: 14px;
border: 1px solid #d7e3ec;
box-shadow: 0 10px 24px rgba(15, 41, 62, 0.12);
background: #071c2d;
}
.gw-tour-lead-form-wrap {
margin-top: 16px;
border: 1px solid #d7e3ec;
border-radius: 14px;
box-shadow: 0 10px 24px rgba(15, 41, 62, 0.08);
}
.gw-tour-lead-form-wrap h4 {
margin: 0 0 6px;
color: #0f4063;
font-size: 1.03rem;
}
.gw-tour-lead-form-wrap p {
margin: 0 0 12px;
color: #476073;
font-size: 0.92rem;
line-height: 1.5;
}
.gw-tour-lead-form {
display: grid;
gap: 8px;
}
.gw-tour-lead-form label {
font-weight: 600;
color: #204f70;
font-size: 0.85rem;
}
.gw-tour-lead-form input {
width: 100%;
border: 1px solid #ccdbe7;
border-radius: 10px;
padding: 9px 11px;
font: inherit;
color: var(--gw-text);
background: #fff;
}
.gw-tour-lead-form input:focus {
outline: 2px solid rgba(29, 111, 163, 0.28);
border-color: #7aa7c8;
}
.gw-tour-lead-form .gw-btn {
margin-top: 6px;
width: 100%;
text-align: center;
}
.gw-tour-rail .gw-btn {
width: 100%;
text-align: center;
}
@media (max-width: 1100px) {
.gw-header-inner {
gap: 12px;
}
.gw-brand-main {
font-size: 0.92rem;
letter-spacing: 0.07em;
}
.gw-brand-sub {
font-size: 0.62rem;
letter-spacing: 0.1em;
}
.gw-tour-layout {
grid-template-columns: minmax(0, 1fr) 300px;
gap: 24px;
}
}
.gw-inline-media {
margin: 0 0 16px;
}
.gw-inline-media img {
width: 100%;
border-radius: 12px;
display: block;
}
.gw-photo-grid {
margin-top: 18px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.gw-photo-grid img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 10px;
display: block;
}
.gw-lightbox-trigger {
cursor: zoom-in;
}
body.gw-lightbox-open {
overflow: hidden;
}
.gw-lightbox {
position: fixed;
inset: 0;
background: rgba(6, 18, 29, 0.84);
display: grid;
place-items: center;
padding: 24px;
z-index: 1200;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease;
}
.gw-lightbox.is-open {
opacity: 1;
visibility: visible;
}
.gw-lightbox-dialog {
position: relative;
max-width: min(1100px, 95vw);
max-height: 90vh;
}
.gw-lightbox-image {
max-width: 100%;
max-height: 90vh;
display: block;
border-radius: 12px;
box-shadow: 0 20px 46px rgba(0, 0, 0, 0.42);
}
.gw-lightbox-close {
position: absolute;
top: -12px;
right: -12px;
width: 36px;
height: 36px;
border: 0;
border-radius: 999px;
background: #fff;
color: #123b59;
font-size: 1.45rem;
line-height: 1;
cursor: pointer;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}
.gw-clip-grid {
margin-top: 16px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.gw-clip-grid video {
width: 100%;
border-radius: 10px;
background: #000;
}
.gw-side-cta {
position: sticky;
top: 94px;
padding: 22px;
}
.gw-side-cta h3 {
margin: 0 0 8px;
}
.gw-btn-dark {
color: var(--gw-ocean);
border-color: #c7d8e4;
}
.gw-section-alt {
background: #eef3f5;
}
.gw-section-title {
margin: 0 0 24px;
font-size: clamp(1.5rem, 2.5vw, 2rem);
letter-spacing: 0.01em;
}
.gw-section-title::after {
content: "";
display: block;
width: 72px;
height: 3px;
border-radius: 99px;
margin-top: 10px;
background: linear-gradient(90deg, var(--gw-sea), var(--gw-accent));
}
.gw-section-intro {
margin: 0 0 20px;
max-width: 820px;
color: var(--gw-muted);
font-size: 1.02rem;
}
.gw-grid-3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}
.gw-card {
background: #fff;
border-radius: 14px;
padding: 20px;
box-shadow: 0 10px 30px rgba(13, 38, 60, 0.08);
border: 1px solid #e8eef2;
transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.gw-card:hover {
transform: translateY(-2px);
box-shadow: 0 16px 38px rgba(10, 34, 55, 0.12);
}
.gw-card p {
margin: 0.4rem 0 0.2rem;
color: var(--gw-muted);
}
.gw-card h3 {
margin: 0;
font-size: 1.1rem;
line-height: 1.3;
}
.gw-card-trust {
text-align: center;
padding: 26px;
}
.gw-feature-card {
padding: 22px;
}
.gw-feature-icon {
margin: 0 0 10px;
font-size: 1.4rem;
line-height: 1;
}
.gw-season-panel {
padding: 4px 0 0;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.gw-season-panel h2 {
margin: 0 0 12px;
font-size: clamp(1.5rem, 2.4vw, 2.1rem);
line-height: 1.2;
color: var(--gw-ocean);
padding-bottom: 12px;
border-bottom: 1px solid #d6e4ee;
}
.gw-season-panel h3 {
margin-top: 16px;
font-size: 1.15rem;
}
.gw-season-panel p {
margin: 0 0 12px;
color: var(--gw-muted);
font-size: 1rem;
}
.gw-season-panel ul {
margin: 0 0 14px;
padding-left: 20px;
}
.gw-season-panel li {
margin-bottom: 8px;
}
.gw-season-panel a {
color: var(--gw-sea);
font-weight: 700;
text-decoration: none;
}
.gw-season-panel a:hover {
text-decoration: underline;
}
.gw-season-lead {
max-width: 920px;
font-size: 1.05rem;
}
.gw-season-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin-top: 16px;
}
.gw-season-col {
border: 0;
border-left: 3px solid #d2e3ef;
border-radius: 0;
padding: 2px 0 2px 12px;
background: transparent;
}
.gw-season-col h3 {
margin: 0 0 8px;
font-size: 1rem;
color: var(--gw-ocean);
}
.gw-season-col ul {
margin: 0;
padding-left: 18px;
}
.gw-season-meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 16px;
}
.gw-chip {
display: inline-block;
padding: 6px 10px;
border-radius: 999px;
background: #e8f1f7;
color: #124b73;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.gw-season-actions {
margin-top: 18px;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.gw-link {
display: inline-block;
margin-top: 12px;
color: var(--gw-sea);
font-weight: 700;
text-decoration: none;
letter-spacing: 0.01em;
}
.gw-link:hover {
text-decoration: underline;
}
.gw-tour-thumb {
width: 100%;
height: 170px;
object-fit: cover;
border-radius: 10px;
display: block;
margin-bottom: 10px;
}
.gw-card .gw-photo-grid {
margin-top: 18px;
}
.gw-contact-form {
margin-top: 16px;
}
.gw-contact-section {
background: transparent;
}
.gw-contact-layout {
gap: 26px;
}
.gw-contact-card {
padding: 0;
}
.gw-contact-intro {
margin: 0 0 18px;
padding: 0 0 14px;
border-bottom: 1px solid #d7e5ef;
border-radius: 0;
background: transparent;
}
.gw-contact-eyebrow {
margin: 0 0 8px;
font-size: 0.76rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1c628f;
font-weight: 800;
}
.gw-contact-intro h2 {
margin: 0 0 8px;
font-size: clamp(1.35rem, 2.2vw, 1.8rem);
line-height: 1.3;
color: #0e3f62;
}
.gw-contact-intro p {
margin: 0 0 10px;
color: #355a70;
}
.gw-contact-quick-links {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.gw-contact-quick-links a {
text-decoration: none;
padding: 0;
border-radius: 0;
border: 0;
background: transparent;
color: #0f4b73;
font-weight: 700;
font-size: 0.88rem;
}
.gw-contact-quick-links a:hover {
text-decoration: underline;
}
.gw-contact-content {
margin-top: 12px;
}
.gw-contact-form-premium {
margin-top: 18px;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.gw-schedule-banner {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
margin: 0 0 18px;
}
.gw-schedule-topline {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0 0 14px;
}
.gw-schedule-topline span {
padding: 5px 10px;
border-radius: 999px;
background: #0e3958;
color: #e5f3ff;
font-size: 0.75rem;
letter-spacing: 0.06em;
text-transform: uppercase;
font-weight: 700;
}
.gw-schedule-stat {
border: 1px solid #d8e6f0;
background: linear-gradient(180deg, #f7fbff, #eef5fb);
border-radius: 12px;
padding: 12px 14px;
}
.gw-schedule-stat-k {
margin: 0;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #4b6b82;
font-weight: 700;
}
.gw-schedule-stat-v {
margin: 4px 0 0;
color: var(--gw-ocean);
font-weight: 800;
font-size: 1.03rem;
}
.gw-schedule-doc h2 {
margin-top: 0;
font-size: clamp(1.4rem, 2.2vw, 1.9rem);
color: var(--gw-ocean);
background: linear-gradient(90deg, rgba(29,111,163,0.15), transparent);
padding: 8px 10px;
border-radius: 8px;
}
.gw-schedule-doc h3 {
margin-top: 22px;
padding-top: 14px;
border-top: 1px solid #e3edf4;
font-size: 1.2rem;
color: #0f4063;
position: relative;
}
.gw-schedule-doc h3::before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 44px;
height: 3px;
border-radius: 99px;
background: linear-gradient(90deg, #1d6fa3, #e36b4c);
}
.gw-schedule-doc h4 {
margin-top: 16px;
color: #245676;
}
.gw-schedule-doc p {
margin: 0 0 11px;
color: #355366;
}
.gw-schedule-doc a[href^="tel:"],
.gw-schedule-doc a[href^="mailto:"],
.gw-inline-cta {
display: inline;
padding: 0;
border-radius: 0;
background: transparent;
color: #0f4063 !important;
font-weight: 700;
text-decoration: none;
border: 0;
margin: 0;
}
.gw-schedule-doc a[href^="tel:"]:hover,
.gw-schedule-doc a[href^="mailto:"]:hover,
.gw-inline-cta:hover {
text-decoration: underline;
}
.gw-schedule-doc > p {
padding-left: 10px;
border-left: 3px solid #d9e8f2;
}
.gw-schedule-doc table {
margin: 14px 0 18px;
border-collapse: separate;
border-spacing: 0;
border: 1px solid #d7e3ec;
border-radius: 12px;
overflow: hidden;
width: 100%;
display: table;
}
.gw-schedule-doc th {
background: linear-gradient(180deg, #eaf3fa, #dfeef9);
color: #0d3d5d;
font-weight: 800;
}
.gw-schedule-doc td,
.gw-schedule-doc th {
border: 0;
border-bottom: 1px solid #e5edf3;
padding: 10px 12px;
text-align: left;
}
.gw-schedule-doc tr:last-child td {
border-bottom: 0;
}
.gw-schedule-doc tbody tr:nth-child(even) td {
background: #fbfdff;
}
.gw-schedule-doc tbody tr:hover td {
background: #eef6fc;
}
.gw-schedule-mobile-cards {
display: none;
margin: 10px 0 18px;
gap: 10px;
}
.gw-schedule-mobile-card {
border: 1px solid #d7e3ec;
border-radius: 12px;
background: #ffffff;
box-shadow: 0 8px 18px rgba(12, 39, 59, 0.08);
padding: 10px 12px;
}
.gw-schedule-mobile-row {
padding: 8px 0;
border-bottom: 1px solid #e8eff5;
}
.gw-schedule-mobile-row:last-child {
border-bottom: 0;
}
.gw-schedule-mobile-label {
margin: 0 0 4px;
font-size: 0.72rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #4b6b82;
font-weight: 800;
}
.gw-schedule-mobile-value {
color: #173f5f;
font-weight: 600;
line-height: 1.4;
}
.gw-form-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.gw-contact-form label {
display: block;
margin-bottom: 6px;
font-weight: 600;
color: var(--gw-ocean);
}
.gw-contact-form input,
.gw-contact-form textarea {
width: 100%;
border: 1px solid #ccdbe7;
border-radius: 10px;
padding: 10px 12px;
font: inherit;
color: var(--gw-text);
background: #fff;
}
.gw-contact-form input:focus,
.gw-contact-form textarea:focus {
outline: 2px solid rgba(29, 111, 163, 0.28);
border-color: #7aa7c8;
}
.gw-contact-form-premium button.gw-btn {
min-width: 210px;
}
.gw-form-notice {
margin: 0 0 12px;
padding: 10px 12px;
border-radius: 10px;
font-weight: 600;
}
.gw-form-notice-success {
background: #eaf8ef;
color: #166534;
border: 1px solid #b7e6c4;
}
.gw-form-notice-error {
background: #fdecec;
color: #991b1b;
border: 1px solid #f2b8b8;
}
.gw-contact-side {
border: 0;
box-shadow: none;
background: transparent;
padding: 0;
}
.gw-contact-side-meta {
margin-top: 14px;
padding-top: 12px;
border-top: 1px solid #deebf4;
}
.gw-contact-side-meta p {
margin: 0 0 8px;
color: #36586e;
font-size: 0.92rem;
}
.gw-about-section {
background: transparent;
}
.gw-about-layout {
gap: 30px;
}
.gw-about-prose {
padding: 0;
}
.gw-about-eyebrow {
margin: 0 0 10px;
font-size: 0.76rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1c628f;
font-weight: 800;
}
.gw-about-prose h2 {
margin: 0 0 16px;
padding-bottom: 12px;
border-bottom: 1px solid #d7e5ef;
color: #0d3f62;
}
.gw-about-prose h3 {
margin: 34px 0 10px;
color: #0f4063;
font-size: clamp(1.2rem, 1.9vw, 1.5rem);
}
.gw-about-prose h3::before {
content: "";
display: block;
width: 56px;
height: 2px;
margin-bottom: 10px;
border-radius: 999px;
background: linear-gradient(90deg, #1d6fa3, rgba(29, 111, 163, 0.2));
}
.gw-about-prose p,
.gw-about-prose ul,
.gw-about-prose ol {
max-width: 74ch;
}
.gw-about-prose .gw-inline-media {
margin: 0 0 16px;
}
.gw-about-prose .gw-inline-media img {
border-radius: 14px;
box-shadow: 0 10px 28px rgba(14, 42, 63, 0.12);
}
.gw-about-side {
padding: 0;
border: 0;
box-shadow: none;
background: transparent;
}
.gw-about-side .gw-btn {
width: 100%;
text-align: center;
}
.gw-about-side-meta {
margin-top: 14px;
padding-top: 12px;
border-top: 1px solid #deebf4;
}
.gw-about-side-meta p {
margin: 0 0 9px;
color: #36586e;
}
.gw-quote-by {
margin-top: 12px;
font-size: 0.88rem;
font-weight: 600;
color: var(--gw-ocean);
}
.gw-cta-panel {
border-radius: 20px;
background: linear-gradient(115deg, var(--gw-ocean), #124b73);
color: var(--gw-white);
padding: 44px 30px;
text-align: center;
border: 1px solid rgba(255, 255, 255, 0.08);
}
.gw-cta-panel h2 {
margin: 0 0 10px;
font-size: clamp(1.5rem, 2.8vw, 2.2rem);
}
.gw-cta-panel p {
margin: 0 auto;
max-width: 760px;
color: rgba(255, 255, 255, 0.9);
}
.gw-cta-panel .gw-btn-secondary {
background: transparent;
}
main .gw-card h1,
main .gw-card h2 {
margin: 0 0 8px;
}
main .gw-card table {
width: 100%;
border-collapse: collapse;
margin-top: 12px;
display: block;
overflow-x: auto;
}
main .gw-card th,
main .gw-card td {
border: 1px solid #d7e0e7;
padding: 8px 10px;
text-align: left;
background: #fff;
}
main .gw-card th {
background: #f3f7fa;
font-weight: 700;
}
.gw-footer {
background: var(--gw-ocean);
color: #e7f1f8;
padding: 40px 0;
margin-top: 60px;
text-align: left;
font-size: 0.95rem;
}
.gw-footer-grid {
display: grid;
grid-template-columns: 1.4fr 1fr 1.2fr;
gap: 26px;
}
.gw-footer-brand {
margin: 0 0 8px;
font-weight: 800;
letter-spacing: 0.08em;
font-size: 0.9rem;
}
.gw-footer-heading {
margin: 0 0 10px;
font-size: 0.95rem;
font-weight: 700;
}
.gw-footer-links {
margin: 0;
padding: 0;
list-style: none;
}
.gw-footer-links li {
margin: 0 0 8px;
color: #d2e7f7;
}
.gw-footer a {
color: #dff0fd;
text-decoration: none;
}
.gw-footer a:hover {
text-decoration: underline;
}
.gw-contact-cta {
display: inline-block;
padding: 4px 10px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.14);
border: 1px solid rgba(255, 255, 255, 0.2);
font-weight: 700;
}
.gw-contact-cta:hover {
background: rgba(255, 255, 255, 0.2);
text-decoration: none !important;
}
.gw-footer-legal {
margin-top: 24px;
padding-top: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
display: flex;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
.gw-footer-legal p {
margin: 0;
color: #d2e7f7;
}
@media (max-width: 900px) {
.gw-header-inner {
flex-wrap: wrap;
padding: 10px 0;
align-items: center;
}
.gw-nav-toggle {
display: inline-flex;
margin-left: auto;
order: 2;
}
.gw-site-nav {
width: 100%;
display: none;
order: 3;
flex-basis: 100%;
}
.gw-header.nav-open .gw-site-nav {
display: block;
}
.gw-nav {
width: 100%;
justify-content: flex-start;
flex-wrap: wrap;
gap: 12px;
overflow: visible;
padding: 8px 0 4px;
}
.gw-nav > li {
width: 100%;
}
.gw-header .gw-btn {
display: none;
}
.gw-nav .sub-menu {
position: static;
opacity: 1;
visibility: visible;
transform: none;
min-width: 100%;
margin-top: 6px;
border-radius: 8px;
max-height: none;
overflow: visible;
display: none;
}
.gw-nav .menu-item-has-children.submenu-open > .sub-menu {
display: block;
}
.gw-nav .sub-menu li {
width: auto;
}
.gw-grid-3 {
grid-template-columns: 1fr;
}
.gw-two-col {
grid-template-columns: 1fr;
}
.gw-tour-layout {
grid-template-columns: 1fr;
gap: 20px;
}
.gw-tour-rail {
position: static;
}
.gw-tour-rail-video {
max-width: 100%;
}
.gw-tour-rail-video {
aspect-ratio: 16 / 9;
}
.gw-form-grid {
grid-template-columns: 1fr;
}
.gw-schedule-banner {
grid-template-columns: 1fr;
}
.gw-schedule-topline {
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.gw-schedule-topline span {
font-size: 0.7rem;
padding: 4px 9px;
}
.gw-photo-grid {
grid-template-columns: repeat(2, 1fr);
}
.gw-photo-grid img,
.gw-tour-thumb {
height: 150px;
}
.gw-clip-grid {
grid-template-columns: 1fr;
}
.gw-side-cta {
position: static;
}
.gw-section {
padding: 64px 0;
}
.gw-season-grid {
grid-template-columns: 1fr;
}
.gw-prose-tour p,
.gw-prose-tour ul,
.gw-prose-tour ol,
.gw-about-prose p,
.gw-about-prose ul,
.gw-about-prose ol {
max-width: 100%;
}
.gw-prose-tour table {
font-size: 0.92rem;
}
.gw-schedule-doc table,
main .gw-card table {
display: none;
width: 100%;
-webkit-overflow-scrolling: touch;
}
.gw-schedule-doc {
overflow: visible;
}
.gw-schedule-mobile-cards {
display: grid;
}
.gw-schedule-doc > p {
overflow-wrap: anywhere;
}
.gw-schedule-stat-v {
font-size: 0.98rem;
line-height: 1.3;
}
.gw-footer-grid {
grid-template-columns: 1fr;
gap: 18px;
}
}
@media (max-width: 560px) {
.gw-page-hero {
padding: 56px 0 48px;
}
.gw-header-inner {
gap: 10px;
min-height: 64px;
flex-wrap: wrap;
}
.gw-brand {
width: auto;
align-items: flex-start;
text-align: left;
flex: 1 1 auto;
min-width: 0;
order: 1;
}
.gw-brand-main {
font-size: 0.82rem;
letter-spacing: 0.05em;
}
.gw-brand-sub {
font-size: 0.58rem;
letter-spacing: 0.08em;
}
.gw-brand::after {
width: 70px;
height: 6px;
}
.gw-nav-toggle {
margin-left: auto;
flex: 0 0 auto;
}
.gw-site-nav {
margin-top: 6px;
}
.gw-nav {
gap: 10px;
}
.gw-nav a {
font-size: 0.88rem;
}
.gw-nav .sub-menu {
min-width: 200px;
}
.gw-prose-tour h2 {
font-size: 1.55rem;
}
.gw-prose-tour h3 {
margin-top: 30px;
}
.gw-prose-tour h4 {
margin-top: 18px;
}
.gw-prose-tour table {
display: block;
overflow-x: auto;
white-space: nowrap;
border-radius: 12px;
font-size: 0.86rem;
-webkit-overflow-scrolling: touch;
}
.gw-schedule-doc table {
min-width: 0;
font-size: 0.84rem;
}
.gw-schedule-doc th,
.gw-schedule-doc td {
padding: 8px 10px;
}
.gw-lightbox {
padding: 12px;
}
.gw-lightbox-close {
top: -10px;
right: -6px;
width: 32px;
height: 32px;
font-size: 1.2rem;
}
.gw-photo-grid {
grid-template-columns: 1fr;
}
.gw-photo-grid img,
.gw-tour-thumb {
height: 190px;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation: none !important;
transition: none !important;
scroll-behavior: auto !important;
}
}