@charset "UTF-8";
:root { --navy:#062f4b; --deep:#05253d; --cyan:#1095AD; --cyan-dark:#007F95; --orange:#FF801C; --ink:#17364a; --muted:#738793; --line:#dce8ed; --pale:#f3fafc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
a { color:inherit; text-decoration:none; }
button,select,input { font:inherit; }
.site-header { background:rgba(255,255,255,.98); height:70px; position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(220,232,237,.7); }
.header-inner { max-width:1280px; height:100%; margin:auto; padding:0 32px; display:flex; align-items:center; gap:34px; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand img { display:block; width:190px; height:auto; }
nav.gnav { display:flex; align-items:center; justify-content:flex-end; flex:1; gap:25px; font-size:12px; font-weight:700; }
nav.gnav a:hover { color:var(--cyan-dark); }
.header-actions { display:flex; align-items:center; flex:0 0 auto; margin-left:0; }
.menu { display:none; }

.hero { min-height:570px; background-size:cover; background-position:center; color:white; display:flex; align-items:center; }
.hero-inner { width:min(1120px,calc(100% - 64px)); margin:auto; padding:65px 0 46px; }
.eyebrow { font-size:13px; font-weight:700; letter-spacing:.08em; margin:0 0 20px; color:#caedf2; }
.hero h1 { margin:0; font-size:48px; line-height:1.35; letter-spacing:.02em; font-weight:800; text-shadow:0 2px 18px rgba(0,0,0,.2); }
.hero h1 em { color:#5fd1e1; font-style:normal; }
.hero-copy { margin:20px 0 30px; font-size:14px; line-height:1.9; color:#e0f1f4; }
.search-panel { display:grid; grid-template-columns:1.2fr 1.1fr .85fr auto; align-items:stretch; background:rgba(255,255,255,.98); padding:9px; border-radius:14px; max-width:1030px; color:var(--ink); box-shadow:0 18px 40px rgba(0,26,45,.28); }
.search-panel label { padding:7px 20px; border-right:1px solid var(--line); }
.search-panel label span { display:block; color:#7a9ca7; font-size:10px; font-weight:700; margin-bottom:7px; }
.search-panel select,.search-panel input { width:100%; border:0; outline:0; background:transparent; color:#365463; font-size:13px; font-weight:700; }
.search-panel button { border:0; border-radius:10px; color:white; background:var(--orange); padding:0 28px; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 7px 16px rgba(255,128,28,.25); }
.keywords { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:15px; font-size:10px; }
.keywords a { border:1px solid rgba(255,255,255,.55); background:rgba(1,27,47,.35); border-radius:999px; padding:5px 11px; }

.stats { background:linear-gradient(100deg,var(--cyan-dark),var(--cyan)); color:#fff; }
.stats-inner { max-width:1120px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.stat { min-height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid rgba(255,255,255,.22); }
.stat:first-child { border-left:1px solid rgba(255,255,255,.22); }
.stat strong { font-size:30px; letter-spacing:-.5px; }
.stat strong small { font-size:12px; margin-left:4px; }
.stat > span { opacity:.85; font-size:11px; margin-top:7px; }

.content { max-width:1160px; margin:auto; padding:0 20px; }
.page-section { padding:50px 0; border-bottom:1px solid var(--line); }
.section-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.section-title h2,.finder h2 { margin:0; font-size:21px; line-height:1; padding-left:13px; border-left:5px solid var(--cyan-dark); }
.section-title a { color:var(--cyan-dark); font-size:12px; font-weight:800; }
.region-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:10px; }
.region-card { display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden; text-align:center; background:white; transition:.2s; padding:14px 8px 12px; }
.region-card:hover,.boat-card:hover,.trip-card:hover,.article-card:hover,.catch-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(21,82,105,.12); }
.region-card b { display:block; margin:0 2px 4px; font-size:12px; }
.region-card span { display:block; color:#71909e; font-size:10px; }
.tabs { display:flex; gap:7px; margin:-8px 0 20px; flex-wrap:wrap; }
.tabs button { border:1px solid #bdced5; color:#526d79; background:white; border-radius:4px; padding:9px 19px; font-size:11px; font-weight:700; cursor:pointer; }
.tabs .active { color:#fff; background:var(--cyan-dark); border-color:var(--cyan-dark); }
.card-grid,.catch-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.boat-card,.trip-card,.catch-card { border:1px solid var(--line); border-radius:9px; overflow:hidden; background:#fff; transition:.2s; }
.card-image { height:185px; background-size:cover; background-position:center; position:relative; }
.card-image > button { position:absolute; right:10px; top:10px; width:34px; height:34px; background:white; border:0; border-radius:50%; font-size:20px; color:#78919e; cursor:pointer; }
.rank { position:absolute; left:10px; top:10px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#7e9aaa; color:white; font-size:11px; font-weight:800; border:2px solid rgba(255,255,255,.7); }
.rank-1 { background:#d6a330; }.rank-2 { background:#96a6ad; }.rank-3 { background:#b7794e; }
.card-body { padding:15px; }
.card-body h3 { font-size:17px; margin:0 0 9px; }
.card-body p { margin:4px 0; color:#5f7884; font-size:11px; line-height:1.5; }
.tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:11px; }
.tags span { border:1px solid rgba(16,149,173,.28); color:var(--cyan-dark); background:rgba(16,149,173,.05); border-radius:4px; font-size:9px; padding:4px 6px; }
.available { position:absolute; left:10px; top:10px; padding:5px 8px; border-radius:4px; background:white; color:var(--cyan-dark); font-size:9px; font-weight:800; }
.trip-card .card-image > b { position:absolute; left:10px; top:42px; color:white; background:var(--orange); padding:6px 9px; border-radius:4px; font-size:11px; }
.trip-card .card-body > strong { display:block; color:var(--orange); font-size:11px; margin-top:8px; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.article-card { border:1px solid var(--line); border-radius:9px; overflow:hidden; transition:.2s; }
.article-card img { display:block; width:100%; height:220px; object-fit:cover; }
.article-card div { padding:14px; }
.article-card h3 { margin:0 0 7px; font-size:15px; }
.article-card p,.catch-card p { margin:0; color:#79909b; font-size:10px; }
.catch-card img { display:block; width:100%; height:160px; object-fit:cover; }
.catch-card div { padding:13px; }
.catch-card h3 { margin:0 0 5px; font-size:14px; }
.finder-section { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:50px 0; border-bottom:1px solid var(--line); }
.finder { border:1px solid #bcdce5; background:var(--pale); border-radius:8px; padding:22px; }
.finder h2 { font-size:17px; margin-bottom:17px; }
.finder > div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.finder a { text-align:center; border:1px solid #b8cbd2; background:#fff; padding:10px 5px; border-radius:4px; font-size:11px; font-weight:700; }
.finder p { color:#53879a; font-size:10px; margin:13px 0 0; }
.news-list { border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.news-list a { min-height:50px; display:grid; grid-template-columns:120px 1fr 20px; align-items:center; border-bottom:1px solid var(--line); padding:0 18px; font-size:11px; }
.news-list a:last-child { border:0; }
.news-list time { color:#668491; }.news-list b { font-size:12px; }.news-list span { color:#588093; font-size:20px; }
.captain-cta { min-height:230px; background-size:cover; background-position:center; display:grid; place-items:center; padding:40px 20px; }
.captain-cta > div { text-align:center; width:min(720px,100%); padding:28px; border-radius:15px; background:rgba(255,255,255,.88); box-shadow:0 12px 35px rgba(7,68,91,.12); }
.captain-cta h2 { margin:0 0 9px; font-size:22px; }.captain-cta p { margin:0 0 20px; color:#66818d; font-size:12px; }
.captain-cta a { display:inline-block; color:white; background:var(--orange); padding:13px 40px; border-radius:7px; font-size:12px; font-weight:800; }
footer { background:var(--deep); color:#e1edf1; padding:55px 25px 24px; }
.footer-grid { max-width:1100px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.footer-grid h3 { font-size:12px; margin:0 0 15px; color:white; }.footer-grid a { display:block; color:#9db2bd; font-size:11px; margin:10px 0; }
.copyright { max-width:1100px; margin:40px auto 0; padding-top:22px; text-align:center; border-top:1px solid rgba(255,255,255,.08); color:#6d8996; font-size:10px; }

@media (max-width:900px) {
  .site-header { height:62px; }.header-inner { padding:0 18px; }.brand img { width:145px; } nav.gnav { display:none; }.header-actions { margin-left:auto; }.menu { display:block !important; border:0 !important; padding:8px !important; font-size:20px !important; }
  .hero { min-height:auto; }.hero-inner { width:calc(100% - 36px); padding:46px 0 34px; }.hero h1 { font-size:32px; }.hero-copy { font-size:12px; }.search-panel { grid-template-columns:1fr; gap:0; }.search-panel label { border-right:0; border-bottom:1px solid var(--line); padding:12px; }.search-panel button { min-height:52px; margin-top:8px; }.keywords span { width:100%; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }.stat { min-height:88px; }.stat strong { font-size:23px; }.region-grid { grid-template-columns:repeat(4,1fr); }.card-grid,.catch-grid { grid-template-columns:repeat(2,1fr); }.article-grid { grid-template-columns:1fr; }.article-card { display:grid; grid-template-columns:42% 1fr; }.article-card img { height:160px; }.finder-section { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .content { padding:0 16px; }.page-section { padding:38px 0; }.section-title h2 { font-size:18px; }.region-grid { display:flex; overflow-x:auto; padding-bottom:8px; }.region-card { min-width:112px; }.card-grid,.catch-grid { display:flex; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x mandatory; }.boat-card,.trip-card,.catch-card { min-width:78vw; scroll-snap-align:start; }.card-image { height:190px; }.finder > div { grid-template-columns:repeat(2,1fr); }.news-list a { grid-template-columns:80px 1fr 14px; padding:0 10px; }.news-list b { font-size:10px; }.footer-grid { grid-template-columns:repeat(2,1fr); gap:28px; }.captain-cta h2 { font-size:18px; }
}

/* ===== WF bridge: page wrapper ===== */
.page {
  max-width: none;
  margin: 0;
  background: #fff;
  min-height: auto;
  border: none;
  display: flex;
  flex-direction: column;
}
.page-scroll { flex: 1; min-height: 0; }
main { display: block; }

/* ===== WF bridge: tab panels ===== */
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }
.tabs button.active {
  color: #fff;
  background: var(--cyan-dark);
  border-color: var(--cyan-dark);
}

/* ===== WF bridge: trip card link + favorite ===== */
.trip-card { position: relative; }
.trip-card-link { display: block; color: inherit; }
.trip-card-link:hover { color: inherit; }
.trip-favorite-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  height: 34px;
  background: white;
  border: 0;
  border-radius: 50%;
  font-size: 20px;
  color: #78919e;
  cursor: pointer;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.trip-favorite-btn.is-active {
  color: var(--orange);
  background: #fff8f3;
}
.favorite-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}
.card-image > .favorite-btn,
.boat-card .favorite-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  height: 34px;
  background: white;
  border: 0;
  border-radius: 50%;
  font-size: 20px;
  color: #78919e;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.card-image > .favorite-btn.is-active,
.trip-favorite-btn.is-active {
  color: var(--orange);
  background: #fff8f3;
}

/* ===== WF bridge: search form (wf_trip_search_form) ===== */
.search-panel-wrap { max-width: 1030px; }
.hero .wf-trip-search.is-fv {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  background: rgba(255,255,255,.98);
  padding: 9px;
  border-radius: 14px;
  max-width: 1030px;
  color: var(--ink);
  box-shadow: 0 18px 40px rgba(0,26,45,.28);
  margin: 0;
}
.hero .wf-trip-search.is-fv .search-fields {
  display: grid;
  grid-template-columns: 1.2fr 1.1fr .85fr;
  gap: 0;
  margin: 0;
}
.hero .wf-trip-search.is-fv .search-field {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  padding: 7px 20px;
  font-size: 13px;
  font-weight: 700;
  color: #365463;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.hero .wf-trip-search.is-fv .search-field .wf-area-trigger-label,
.hero .wf-trip-search.is-fv .search-field .wf-target-trigger-label,
.hero .d1-search.is-fv .d1-search-field .wf-area-trigger-label,
.hero .d1-search.is-fv .d1-search-field .wf-target-trigger-label {
  display: block;
  color: #365463;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 0;
  text-align: left;
}
.hero .d1-search.is-fv .d1-field-label {
  display: block;
  color: #7a9ca7;
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 7px;
  text-align: left;
}
.hero .d1-search.is-fv .d1-search-field {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  padding: 7px 20px;
  font-size: 13px;
  font-weight: 700;
  color: #365463;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.hero .d1-search.is-fv .d1-date-field-wrap {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  padding: 7px 20px;
}
.hero .d1-search.is-fv .d1-date-field-wrap .wf-date-field {
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
  color: #365463;
  width: 100%;
}
.hero .wf-trip-search.is-fv .wf-date-field {
  border: 0;
  background: transparent;
  padding: 7px 20px;
  font-size: 13px;
  font-weight: 700;
  color: #365463;
  text-align: left;
  width: 100%;
}
.hero .wf-trip-search.is-fv .search-fields .wf-date-field {
  position: relative;
}
.hero .wf-trip-search.is-fv .search-fields .wf-date-field::placeholder {
  color: #365463;
  font-weight: 700;
}
.hero .wf-trip-search.is-fv .search-btn {
  border: 0;
  border-radius: 10px;
  color: white;
  background: var(--orange);
  padding: 0 28px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(255,128,28,.25);
  width: auto;
  min-width: 120px;
}
.hero .wf-trip-search.is-fv .wf-area-trigger,
.hero .wf-trip-search.is-fv .wf-target-trigger,
.hero .wf-trip-search.is-fv .wf-date-field {
  border: 0 !important;
  background: transparent !important;
}

/* ===== WF bridge: hamburger / drawer ===== */
.site-header .wf-menu-btn {
  display: none;
  border: 0;
  background: transparent;
  padding: 8px;
  font-size: 20px;
  cursor: pointer;
  color: var(--ink);
  line-height: 1;
  width: auto;
  height: auto;
}
.site-header .wf-drawer {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  z-index: 60;
}
.site-header .wf-drawer.is-open { display: block; }
.site-header .wf-drawer-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 12px 18px 18px;
  max-width: 1280px;
  margin: 0 auto;
}
.site-header .wf-drawer-link {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
}
.site-header .wf-drawer-link:last-child { border-bottom: 0; }
.site-header .wf-drawer-link.is-current { color: var(--cyan-dark); }
.site-header { position: sticky; }
.header-inner { position: relative; }

/* ===== WF bridge: quick access (SP) ===== */
html.wf-mode-sp .wf-quick-access {
  display: flex;
  flex-shrink: 0;
  border-top: 1px solid var(--line);
  background: #fff;
}
html.wf-mode-sp .wf-quick-access-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.35rem 0.15rem;
  border-right: 1px solid var(--line);
  text-decoration: none;
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  background: var(--pale);
}
html.wf-mode-sp .wf-quick-access-item:last-child { border-right: none; }
html.wf-mode-sp .wf-quick-access-item.is-current {
  background: var(--cyan-dark);
  color: #fff;
}

/* ===== WF bridge: SP mode layout (430px frame) ===== */
html.wf-mode-sp {
  height: 100%;
}
html.wf-mode-sp body {
  background: #dfe4ea;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
html.wf-mode-sp .page {
  max-width: 430px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  flex: 1;
  min-height: 0 !important;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
html.wf-mode-sp .page-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.wf-mode-sp .site-header { height: 62px; }
html.wf-mode-sp .header-inner { padding: 0 18px; }
html.wf-mode-sp .brand img { width: 145px; }
html.wf-mode-sp nav.gnav { display: none; }
html.wf-mode-sp .header-actions { margin-left: auto; }
html.wf-mode-sp .site-header .wf-menu-btn { display: block !important; }
html.wf-mode-sp .hero { min-height: auto; }
html.wf-mode-sp .hero-inner { width: calc(100% - 36px); padding: 46px 0 34px; }
html.wf-mode-sp .hero h1 { font-size: 32px; }
html.wf-mode-sp .hero-copy { font-size: 12px; }
html.wf-mode-sp .hero .wf-trip-search.is-fv {
  grid-template-columns: 1fr;
  gap: 0;
}
html.wf-mode-sp .hero .wf-trip-search.is-fv .search-fields {
  grid-template-columns: 1fr;
}
html.wf-mode-sp .hero .wf-trip-search.is-fv .search-field {
  border-right: 0;
  border-bottom: 1px solid var(--line);
  padding: 12px;
}
html.wf-mode-sp .hero .wf-trip-search.is-fv .search-btn {
  min-height: 52px;
  margin-top: 8px;
  width: 100%;
}
html.wf-mode-sp .keywords span { width: 100%; }
html.wf-mode-sp .stats-inner { grid-template-columns: repeat(2, 1fr); }
html.wf-mode-sp .stat { min-height: 88px; border-left: 0 !important; }
html.wf-mode-sp .stat strong { font-size: 23px; }
html.wf-mode-sp .region-grid { grid-template-columns: repeat(4, 1fr); }
html.wf-mode-sp .card-grid,
html.wf-mode-sp .catch-grid { grid-template-columns: repeat(2, 1fr); }
html.wf-mode-sp .article-grid { grid-template-columns: 1fr; }
html.wf-mode-sp .article-card { display: grid; grid-template-columns: 42% 1fr; }
html.wf-mode-sp .article-card img { height: 160px; }
html.wf-mode-sp .finder-section { grid-template-columns: 1fr; }
html.wf-mode-sp .content { padding: 0 16px; }
html.wf-mode-sp .page-section { padding: 38px 0; }
html.wf-mode-sp .section-title h2 { font-size: 18px; }
html.wf-mode-sp .region-grid {
  display: flex;
  overflow-x: auto;
  padding-bottom: 8px;
}
html.wf-mode-sp .region-card { min-width: 112px; }
html.wf-mode-sp .card-grid,
html.wf-mode-sp .catch-grid {
  display: flex;
  overflow-x: auto;
  padding-bottom: 12px;
  scroll-snap-type: x mandatory;
}
html.wf-mode-sp .boat-card,
html.wf-mode-sp .trip-card,
html.wf-mode-sp .catch-card {
  min-width: min(320px, calc(100% - 32px));
  max-width: calc(100% - 32px);
  scroll-snap-align: start;
}
html.wf-mode-sp .card-image { height: 190px; }
html.wf-mode-sp .finder > div { grid-template-columns: repeat(2, 1fr); }
html.wf-mode-sp .news-list a { grid-template-columns: 80px 1fr 14px; padding: 0 10px; }
html.wf-mode-sp .news-list b { font-size: 10px; }
html.wf-mode-sp .stats-inner { grid-template-columns: repeat(2, 1fr) !important; }
html.wf-mode-sp .footer-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 28px;
  padding: 36px 18px 28px;
}
html.wf-mode-sp .captain-cta {
  min-height: auto;
  padding: 36px 18px;
}
html.wf-mode-sp .captain-cta h2 { font-size: 18px; }
html.wf-mode-sp .captain-cta p { font-size: 12px; }
html.wf-mode-sp .captain-cta a {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  box-sizing: border-box;
}
html.wf-mode-sp .wf-quick-access-item.is-current {
  background: var(--cyan-dark) !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  nav.gnav { display: none; }
  .header-inner { padding: 0 18px; }
  .header-actions { margin-left: auto; }
  .site-header .wf-menu-btn { display: block !important; }
  .hero .wf-trip-search.is-fv { grid-template-columns: 1fr; }
  .hero .wf-trip-search.is-fv .search-fields { grid-template-columns: 1fr; }
  .hero .wf-trip-search.is-fv .search-field {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 12px;
  }
  .hero .wf-trip-search.is-fv .search-btn {
    min-height: 52px;
    margin-top: 8px;
    width: 100%;
  }
  .content { padding: 0 16px; }
  .page-section { padding: 38px 0; }
  .section-title h2 { font-size: 18px; }
  .region-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 8px;
  }
  .region-card { min-width: 112px; }
  .card-grid,
  .catch-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
  }
  .boat-card,
  .trip-card,
  .catch-card {
    min-width: min(320px, calc(100% - 32px));
    max-width: calc(100% - 32px);
    scroll-snap-align: start;
  }
  .card-image { height: 190px; }
  .article-grid { grid-template-columns: 1fr; }
  .article-card {
    display: grid;
    grid-template-columns: 42% 1fr;
  }
  .article-card img { height: 160px; }
  .finder > div { grid-template-columns: repeat(2, 1fr); }
  .news-list a { grid-template-columns: 80px 1fr 14px; padding: 0 10px; }
  .news-list b { font-size: 10px; }
  .stats-inner { grid-template-columns: repeat(2, 1fr) !important; }
  .footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px;
    padding: 36px 18px 28px;
  }
  .captain-cta {
    min-height: auto;
    padding: 36px 18px;
  }
  .captain-cta h2 { font-size: 18px; }
  .captain-cta p { font-size: 12px; }
  .captain-cta a {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* Modals — design-1 (TOP search) */
.wf-area-modal-backdrop { background: rgba(6, 47, 75, 0.55); }
.wf-area-modal-panel {
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 60px rgba(0, 26, 45, 0.28);
  overflow: hidden;
}
.wf-area-modal-head { border-bottom: 1px solid var(--line) !important; }
.wf-area-modal-head h2 { font-size: 16px !important; color: var(--ink); }
.wf-area-modal-close { border: 1px solid var(--line) !important; border-radius: 50% !important; }
.wf-area-modal-steps { background: var(--pale) !important; border-bottom: 1px solid var(--line) !important; }
.wf-area-step.is-active { border-color: var(--cyan-dark) !important; color: var(--cyan-dark) !important; }
.wf-area-choice { border: 1px solid var(--line) !important; border-radius: 8px !important; cursor: pointer; font-family: inherit; }
.wf-area-choice.is-selected { background: rgba(16, 149, 173, 0.08) !important; border-color: var(--cyan-dark) !important; }
.wf-area-modal-apply { background: var(--orange) !important; border: 0 !important; border-radius: 8px !important; color: #fff !important; }
.wf-area-modal-back { border: 1px solid var(--line) !important; border-radius: 8px !important; }
