/* country-welcome-v1.css
   Shared styling for the per-country welcome pages: /ca, /au, /uk.
   Each page sets --cw-accent + --cw-accent-soft inline at the root so the
   same components carry a different signature color per country without
   forking the stylesheet. All form-control resets are scoped under
   .cw-root so the site-wide main select/input rules can't reach in.
   Mobile-first, px font sizes per CLAUDE.md, no rem. */

.cw-root{
  --cw-accent:#0B7C66;
  --cw-accent-soft:#e6f4f0;
  --cw-accent-deep:#08624f;
  --cw-flag:#D52B1E;
  --cw-ink:#1f2937;
  --cw-ink-soft:#4b5563;
  --cw-muted:#6b7280;
  --cw-line:#e5e7eb;
  --cw-bg:#ffffff;
  --cw-bg-sand:#fbf8f3;
  --cw-bg-tint:#f4f8f7;
  --cw-good:#16a34a;
  --cw-warn:#d97706;
  --cw-stop:#dc2626;
  --cw-shadow:0 8px 24px rgba(15,23,42,0.06);
  --cw-shadow-lift:0 12px 32px rgba(15,23,42,0.10);
  color:var(--cw-ink);
}

/* Block any site-wide form rules from reaching widgets inside .cw-root. */
.cw-root input[type='text'],
.cw-root input[type='search'],
.cw-root input[type='email'],
.cw-root input[type='number'],
.cw-root select,
.cw-root textarea{
  height:auto;margin:0;background:none;background-color:transparent;
  border:none;border-radius:0;padding:0;font-size:inherit;
  font-family:inherit;color:inherit;line-height:1.4;box-shadow:none;width:auto;
}

/* --- Hero text stack (sits inside the homepage-style video container) --- */
.cw-hero-stack{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:24px 24px 22% 24px;color:#fff;pointer-events:none;
}
.cw-hero-welcome{
  font-size:34px;font-weight:600;margin:8px 0 10px;
  text-shadow:0 2px 8px rgba(0,0,0,0.45);color:#fff;letter-spacing:-0.5px;
}
.cw-hero-sub{
  font-size:18px;font-weight:400;line-height:1.6;margin:0;max-width:680px;
  text-shadow:0 1px 4px rgba(0,0,0,0.45);opacity:0.95;color:#fff;
}
@media (max-width:768px){
  .cw-hero-welcome{font-size:24px;}
  .cw-hero-sub{font-size:15px;}
}

/* --- Section wrapper (re-usable canvas) --- */
.cw-section{max-width:1040px;margin:0 auto;padding:48px 24px;}
.cw-section--narrow{max-width:880px;}
.cw-section--sand{background:var(--cw-bg-sand);max-width:none;padding-left:24px;padding-right:24px;}
.cw-section--tint{background:var(--cw-bg-tint);max-width:none;padding-left:24px;padding-right:24px;}
.cw-section--sand-inner,
.cw-section--tint-inner{max-width:1040px;margin:0 auto;}
.cw-section h2{
  font-size:28px;font-weight:700;margin:0 0 8px;color:var(--cw-ink);
  letter-spacing:-0.3px;
}
.cw-section h2 .cw-accent-bar{
  display:inline-block;width:36px;height:4px;background:var(--cw-accent);
  border-radius:2px;vertical-align:middle;margin-right:12px;
}
.cw-section .cw-eyebrow{
  display:block;font-size:13px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;color:var(--cw-accent);margin-bottom:6px;
}
.cw-section > p{font-size:17px;line-height:1.75;margin:0 0 14px;color:var(--cw-ink-soft);}
.cw-section a:not(.cw-cta):not(.cw-island-card):not(.cw-tool-card):not(.cw-flight-card):not(.cw-quick-card):not(.cw-hub-card):not(.cw-share-btn):not(.cw-eyebrow-handle):not(.cw-share-cta-link){
  color:var(--cw-accent-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px;
}

/* --- Quick-fact strip (above-the-fold hook) --- */
.cw-quickfacts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;margin-top:22px;
}
.cw-quick-card{
  display:block;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;
  padding:20px 18px;text-align:center;transition:transform .15s ease, box-shadow .15s ease;
}
.cw-quick-card:hover{transform:translateY(-2px);box-shadow:var(--cw-shadow);text-decoration:none;color:inherit;}
.cw-quick-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;background:var(--cw-accent-soft);
  color:var(--cw-accent-deep);font-size:20px;margin-bottom:10px;
}
.cw-quick-stat{font-size:22px;font-weight:700;color:var(--cw-ink);margin:0 0 4px;line-height:1.2;}
.cw-quick-label{font-size:13px;color:var(--cw-muted);margin:0;line-height:1.4;}

/* --- Founder trust block --- */
.cw-trust{
  display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:36px;
  align-items:center;background:#fff;border:1px solid var(--cw-line);
  border-radius:16px;padding:32px;box-shadow:var(--cw-shadow);
}
.cw-trust-photo img{display:block;width:100%;height:auto;border-radius:12px;}
.cw-trust-caption{margin:12px 0 0;text-align:center;font-size:13px;font-weight:600;letter-spacing:0.5px;color:var(--cw-muted);}
.cw-trust-text h2{margin-top:0;}
.cw-trust-text p{font-size:17px;line-height:1.8;color:var(--cw-ink);margin:0 0 14px;}
.cw-trust-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-top:22px;padding-top:22px;border-top:1px solid var(--cw-line);
}
.cw-trust-stat{text-align:center;}
.cw-trust-stat strong{display:block;font-size:24px;font-weight:700;color:var(--cw-accent);line-height:1.2;}
.cw-trust-stat span{display:block;font-size:13px;color:var(--cw-muted);margin-top:4px;line-height:1.4;}
@media (max-width:768px){
  .cw-trust{grid-template-columns:1fr;gap:24px;padding:24px;}
  .cw-trust-photo{max-width:320px;margin:0 auto;}
}

/* --- Flight grid --- */
.cw-flights-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;margin-top:24px;
}
.cw-flight-card{
  display:block;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;
  padding:22px;transition:transform .15s ease, box-shadow .15s ease;position:relative;overflow:hidden;
}
.cw-flight-card:hover{transform:translateY(-2px);box-shadow:var(--cw-shadow);text-decoration:none;color:inherit;}
.cw-flight-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cw-accent);
}
.cw-flight-pill{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;margin-bottom:10px;
}
.cw-flight-pill--direct{background:#dcfce7;color:#166534;}
.cw-flight-pill--onestop{background:#fef3c7;color:#92400e;}
.cw-flight-pill--seasonal{background:#dbeafe;color:#1e40af;}
.cw-flight-city{font-size:22px;font-weight:700;color:var(--cw-ink);margin:0 0 4px;line-height:1.2;}
.cw-flight-code{font-size:13px;color:var(--cw-muted);margin:0 0 14px;letter-spacing:0.5px;}
.cw-flight-time{font-size:16px;font-weight:600;color:var(--cw-accent-deep);margin:0 0 6px;}
.cw-flight-meta{font-size:14px;color:var(--cw-ink-soft);margin:0;line-height:1.5;}

/* --- Three-up doc compare --- */
.cw-doc-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;margin-top:20px;
}
.cw-doc-card{
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;padding:22px;
  position:relative;
}
.cw-doc-card--required{border-top:4px solid var(--cw-stop);}
.cw-doc-card--optional{border-top:4px solid var(--cw-warn);}
.cw-doc-card--bonus{border-top:4px solid var(--cw-good);}
.cw-doc-status{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.8px;
  text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:10px;
}
.cw-doc-card--required .cw-doc-status{background:#fee2e2;color:#991b1b;}
.cw-doc-card--optional .cw-doc-status{background:#fef3c7;color:#92400e;}
.cw-doc-card--bonus .cw-doc-status{background:#dcfce7;color:#166534;}
.cw-doc-title{font-size:18px;font-weight:700;margin:0 0 6px;color:var(--cw-ink);}
.cw-doc-card p{font-size:15px;line-height:1.6;color:var(--cw-ink-soft);margin:0 0 8px;}
.cw-doc-card p:last-child{margin-bottom:0;}

/* --- Currency widget --- */
.cw-currency{
  background:linear-gradient(135deg,var(--cw-accent-soft) 0%,#fff 100%);
  border:1px solid var(--cw-line);border-radius:16px;padding:28px;margin-top:20px;
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;
}
.cw-currency-rate{text-align:center;}
.cw-currency-rate strong{display:block;font-size:36px;font-weight:800;color:var(--cw-accent-deep);line-height:1;}
.cw-currency-rate span{display:block;font-size:13px;color:var(--cw-muted);margin-top:6px;letter-spacing:0.5px;}
.cw-currency-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
.cw-currency-eg{background:#fff;border-radius:10px;padding:12px 14px;border:1px solid var(--cw-line);}
.cw-currency-eg strong{display:block;font-size:18px;font-weight:700;color:var(--cw-ink);line-height:1.2;}
.cw-currency-eg span{display:block;font-size:13px;color:var(--cw-muted);margin-top:3px;}
@media (max-width:640px){
  .cw-currency{grid-template-columns:1fr;gap:18px;padding:22px;text-align:center;}
}

/* --- Tipping scale --- */
.cw-tip-scale{
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;
  padding:24px;margin-top:18px;
}
.cw-tip-row{
  display:grid;grid-template-columns:140px 1fr 70px;gap:14px;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--cw-line);
}
.cw-tip-row:last-child{border-bottom:none;}
.cw-tip-label{font-size:15px;font-weight:600;color:var(--cw-ink);}
.cw-tip-bar{height:10px;border-radius:999px;background:var(--cw-line);position:relative;overflow:hidden;}
.cw-tip-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--cw-accent) 0%,var(--cw-accent-deep) 100%);border-radius:999px;}
.cw-tip-value{font-size:15px;font-weight:700;color:var(--cw-accent-deep);text-align:right;}
@media (max-width:540px){
  .cw-tip-row{grid-template-columns:1fr;gap:6px;}
  .cw-tip-value{text-align:left;}
}

/* --- Attention callout (insurance, urgent) --- */
.cw-attention{
  display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;
  background:#fff7ed;border:1px solid #fed7aa;border-left:6px solid var(--cw-warn);
  border-radius:14px;padding:26px;margin-top:18px;box-shadow:var(--cw-shadow);
}
.cw-attention-icon{
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;background:var(--cw-warn);color:#fff;
  font-size:26px;flex-shrink:0;
}
.cw-attention h3{font-size:20px;font-weight:700;margin:0 0 8px;color:#7c2d12;}
.cw-attention p{font-size:16px;line-height:1.7;margin:0 0 10px;color:#7c2d12;}
.cw-attention .cw-attention-cta{
  display:inline-block;background:var(--cw-warn);color:#fff;font-weight:600;
  padding:10px 20px;border-radius:8px;text-decoration:none;font-size:15px;margin-top:6px;
}
.cw-attention .cw-attention-cta:hover{background:#b45309;text-decoration:none;color:#fff;}
@media (max-width:640px){
  .cw-attention{grid-template-columns:1fr;padding:22px;}
  .cw-attention-icon{margin:0 auto;}
}

/* --- Mini info cards (driving, phones) --- */
.cw-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:18px;}
.cw-mini-card{
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;padding:22px;
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
}
.cw-mini-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:10px;background:var(--cw-accent-soft);
  color:var(--cw-accent-deep);font-size:20px;flex-shrink:0;
}
.cw-mini-card h3{font-size:17px;font-weight:700;margin:0 0 6px;color:var(--cw-ink);}
.cw-mini-card p{font-size:15px;line-height:1.6;margin:0;color:var(--cw-ink-soft);}

/* --- Month-by-month grid --- */
.cw-months-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:18px;}
.cw-month{
  background:#fff;border:1px solid var(--cw-line);border-radius:10px;padding:12px 8px;
  text-align:center;cursor:default;transition:transform .15s ease;
}
.cw-month-name{font-size:13px;font-weight:700;color:var(--cw-ink);margin:0 0 6px;}
.cw-month-tag{font-size:11px;font-weight:600;letter-spacing:0.4px;text-transform:uppercase;display:block;}
.cw-month--peak{background:#fef3c7;border-color:#fde68a;}
.cw-month--peak .cw-month-tag{color:#92400e;}
.cw-month--shoulder{background:#dcfce7;border-color:#bbf7d0;}
.cw-month--shoulder .cw-month-tag{color:#166534;}
.cw-month--value{background:var(--cw-accent-soft);border-color:var(--cw-accent-soft);}
.cw-month--value .cw-month-tag{color:var(--cw-accent-deep);}
.cw-month--low{background:#f3f4f6;border-color:#e5e7eb;}
.cw-month--low .cw-month-tag{color:#6b7280;}
.cw-month-note{font-size:11px;color:var(--cw-muted);margin-top:4px;line-height:1.3;display:block;}
@media (max-width:640px){.cw-months-grid{grid-template-columns:repeat(3,1fr);}}

.cw-months-legend{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
  margin-top:14px;font-size:13px;color:var(--cw-ink-soft);
}
.cw-months-legend span{display:inline-flex;align-items:center;gap:6px;}
.cw-months-legend i{display:inline-block;width:14px;height:14px;border-radius:3px;}

/* --- Customs allowance tier cards --- */
.cw-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;}
.cw-tier{
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;padding:22px;
  text-align:center;position:relative;overflow:hidden;
}
.cw-tier::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cw-accent);}
.cw-tier-window{font-size:13px;font-weight:600;color:var(--cw-muted);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 6px;}
.cw-tier-amount{font-size:32px;font-weight:800;color:var(--cw-accent-deep);margin:0 0 8px;line-height:1;}
.cw-tier-detail{font-size:14px;color:var(--cw-ink-soft);margin:0;line-height:1.5;}

/* --- OK / Seized side-by-side --- */
.cw-ok-seized{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;}
.cw-ok, .cw-seized{
  background:#fff;border:1px solid var(--cw-line);border-radius:14px;padding:22px;
}
.cw-ok{border-top:4px solid var(--cw-good);}
.cw-seized{border-top:4px solid var(--cw-stop);}
.cw-ok h3, .cw-seized h3{font-size:16px;font-weight:700;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.cw-ok h3{color:#166534;}
.cw-seized h3{color:#991b1b;}
.cw-ok ul, .cw-seized ul{margin:0;padding:0;list-style:none;}
.cw-ok li, .cw-seized li{
  font-size:14px;line-height:1.6;padding:6px 0 6px 24px;color:var(--cw-ink-soft);
  position:relative;border-bottom:1px solid #f3f4f6;
}
.cw-ok li:last-child, .cw-seized li:last-child{border-bottom:none;}
.cw-ok li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--cw-good);font-weight:700;}
.cw-seized li::before{content:"✕";position:absolute;left:0;top:6px;color:var(--cw-stop);font-weight:700;}
@media (max-width:640px){.cw-ok-seized{grid-template-columns:1fr;}}

/* --- Islands grid --- */
.cw-islands{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:22px;}
.cw-island-card{
  display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid var(--cw-line);border-radius:14px;padding:22px;
  transition:transform .15s ease, box-shadow .15s ease;position:relative;overflow:hidden;
}
.cw-island-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cw-island-color,var(--cw-accent));}
.cw-island-card:hover{transform:translateY(-2px);box-shadow:var(--cw-shadow);text-decoration:none;color:inherit;}
.cw-island-card[data-island="oahu"]{--cw-island-color:#F27A24;}
.cw-island-card[data-island="maui"]{--cw-island-color:#1866B4;}
.cw-island-card[data-island="big-island"]{--cw-island-color:#c3232f;}
.cw-island-card[data-island="kauai"]{--cw-island-color:#1D9771;}
.cw-island-name{font-size:20px;font-weight:700;color:var(--cw-ink);margin:0 0 4px;}
.cw-island-tag{font-size:12px;color:var(--cw-muted);margin:0 0 10px;letter-spacing:0.5px;text-transform:uppercase;}
.cw-island-card p{font-size:14px;line-height:1.6;color:var(--cw-ink-soft);margin:0;}

/* --- Tools grid --- */
.cw-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:22px;}
.cw-tool-card{
  display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid var(--cw-line);border-radius:12px;padding:18px 20px;
  transition:border-color .15s ease, transform .15s ease;
}
.cw-tool-card:hover{border-color:var(--cw-accent);transform:translateY(-1px);text-decoration:none;color:inherit;}
.cw-tool-title{font-size:15px;font-weight:600;color:var(--cw-accent-deep);margin:0 0 3px;}
.cw-tool-desc{font-size:13px;color:var(--cw-muted);margin:0;line-height:1.4;}

/* --- FAQ accordion (native details/summary) --- */
.cw-faq{margin-top:20px;}
.cw-faq details{
  background:#fff;border:1px solid var(--cw-line);border-radius:12px;
  margin-bottom:10px;overflow:hidden;
}
.cw-faq summary{
  cursor:pointer;list-style:none;padding:18px 22px;font-size:16px;font-weight:600;
  color:var(--cw-ink);position:relative;padding-right:46px;line-height:1.4;
}
.cw-faq summary::-webkit-details-marker{display:none;}
.cw-faq summary::after{
  content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-size:24px;font-weight:400;color:var(--cw-accent);line-height:1;
  transition:transform .15s ease;
}
.cw-faq details[open] summary::after{content:"−";}
.cw-faq details[open] summary{border-bottom:1px solid var(--cw-line);}
.cw-faq .cw-faq-answer{padding:16px 22px 22px;font-size:15px;line-height:1.7;color:var(--cw-ink-soft);}
.cw-faq .cw-faq-answer p{font-size:15px;line-height:1.7;margin:0 0 10px;color:var(--cw-ink-soft);}
.cw-faq .cw-faq-answer p:last-child{margin-bottom:0;}
.cw-faq .cw-faq-answer a{color:var(--cw-accent-deep);font-weight:600;text-decoration:underline;}

/* --- CTA row + Signoff --- */
.cw-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.cw-cta{
  display:inline-block;padding:14px 28px;border-radius:10px;font-size:16px;font-weight:600;
  text-decoration:none;transition:transform .15s ease, opacity .15s ease;
}
.cw-cta-primary{background:var(--cw-accent);color:#fff;}
.cw-cta-primary:hover{background:var(--cw-accent-deep);color:#fff;text-decoration:none;transform:translateY(-1px);}
.cw-cta-ghost{background:#fff;color:var(--cw-accent-deep);border:1px solid var(--cw-line);}
.cw-cta-ghost:hover{border-color:var(--cw-accent);color:var(--cw-accent-deep);text-decoration:none;}

.cw-signoff{
  text-align:center;font-size:17px;color:var(--cw-ink-soft);
  padding:36px 24px 12px;max-width:760px;margin:0 auto;
}
.cw-signoff strong{color:var(--cw-accent-deep);font-weight:600;}

/* --- Print: keep readable, drop interactive chrome --- */
@media print{
  .cw-cta-row, .cw-faq summary::after{display:none;}
  .cw-faq details{break-inside:avoid;}
  .cw-faq details[open] .cw-faq-answer, .cw-faq .cw-faq-answer{display:block;}
}

/* --- Hub-page compare table ---
   Only used by /visiting-from/. Scoped so it doesn't fight existing global
   table styles. Mobile-first: horizontal scroll on narrow screens. */
.cw-hub-compare-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--cw-line);border-radius:14px;background:#fff;}
.cw-hub-compare{
  width:100%;border-collapse:collapse;font-size:15px;min-width:640px;
  color:var(--cw-ink);
}
.cw-hub-compare thead th{
  background:var(--cw-accent-soft);color:var(--cw-accent-deep);
  font-weight:700;text-align:left;padding:14px 16px;font-size:14px;
  letter-spacing:0.3px;border-bottom:1px solid var(--cw-line);
}
.cw-hub-compare thead th a{color:var(--cw-accent-deep);text-decoration:none;}
.cw-hub-compare thead th a:hover{text-decoration:underline;}
.cw-hub-compare tbody th{
  text-align:left;font-weight:600;padding:14px 16px;background:#fafafa;
  border-bottom:1px solid var(--cw-line);font-size:14px;color:var(--cw-ink);
  white-space:nowrap;
}
.cw-hub-compare tbody td{
  padding:14px 16px;border-bottom:1px solid var(--cw-line);vertical-align:middle;
  color:var(--cw-ink-soft);
}
.cw-hub-compare tbody tr:last-child th,
.cw-hub-compare tbody tr:last-child td{border-bottom:none;}
.cw-hub-pill{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.4px;
  padding:3px 10px;border-radius:999px;
}
.cw-hub-pill--yes{background:#fef3c7;color:#92400e;}
.cw-hub-pill--no{background:#dcfce7;color:#166534;}

/* --- Hub-page country cards (richer than the generic .cw-island-card)
   Used by /visiting-from to highlight the four country guides.
   Big stat front-and-center, country-flag accent stripe, hover lift. */
.cw-hub-countries{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;
}
@media (max-width:1024px){.cw-hub-countries{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.cw-hub-countries{grid-template-columns:1fr;}}

.cw-hub-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--cw-line);border-radius:16px;
  padding:0;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;
}
.cw-hub-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:var(--cw-country-color,var(--cw-accent));
}
.cw-hub-card:hover{
  transform:translateY(-3px);box-shadow:var(--cw-shadow-lift);
  border-color:var(--cw-country-color,var(--cw-accent));
  text-decoration:none;color:inherit;
}
.cw-hub-card--ca{--cw-country-color:#D52B1E;}
.cw-hub-card--au{--cw-country-color:#00843D;}
.cw-hub-card--uk{--cw-country-color:#012169;}
.cw-hub-card--de{--cw-country-color:#000000;}
.cw-hub-card--fr{--cw-country-color:#0055A4;}
.cw-hub-card--it{--cw-country-color:#008C45;}
.cw-hub-card--nl{--cw-country-color:#FF6900;}
.cw-hub-card--jp{--cw-country-color:#BC002D;}
.cw-hub-card--sg{--cw-country-color:#ED2939;}
.cw-hub-card--ch{--cw-country-color:#DA291C;}
.cw-hub-card--br{--cw-country-color:#009C3B;}
.cw-hub-card--ro{--cw-country-color:#002B7F;}

.cw-hub-card-top{padding:22px 22px 14px;}
.cw-hub-card-flag{font-size:56px;line-height:1;margin:0 0 12px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}
.cw-hub-card-name{
  font-size:20px;font-weight:700;color:var(--cw-ink);margin:0 0 2px;letter-spacing:-0.3px;
}
.cw-hub-card-name-sub{font-size:13px;color:var(--cw-muted);margin:0 0 0;}

.cw-hub-card-stat{
  padding:14px 22px;background:linear-gradient(180deg,#fafbfd 0%,#fff 100%);
  border-top:1px solid var(--cw-line);border-bottom:1px solid var(--cw-line);
}
.cw-hub-card-stat-num{
  font-size:28px;font-weight:800;color:var(--cw-country-color,var(--cw-accent-deep));
  line-height:1.1;margin:0;letter-spacing:-0.5px;
}
.cw-hub-card-stat-label{
  font-size:13px;color:var(--cw-muted);margin:4px 0 0;line-height:1.4;
}

.cw-hub-card-body{
  padding:16px 22px 14px;font-size:14px;line-height:1.6;color:var(--cw-ink-soft);
  flex:1;margin:0;
}

.cw-hub-card-cta{
  padding:0 22px 18px;font-size:14px;font-weight:600;
  color:var(--cw-country-color,var(--cw-accent-deep));
  display:flex;align-items:center;gap:6px;
}
.cw-hub-card:hover .cw-hub-card-cta{gap:10px;}
.cw-hub-card-cta::after{content:"→";transition:transform .18s ease;}

/* Mini-strip showing what the hub serves (above the country cards) */
.cw-hub-mini-strip{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin:0 auto 18px;max-width:760px;
}
.cw-hub-mini-strip span{
  font-size:13px;color:var(--cw-muted);padding:6px 14px;
  background:#fff;border:1px solid var(--cw-line);border-radius:999px;
}
.cw-hub-mini-strip strong{color:var(--cw-ink);font-weight:700;}

/* --- Country greeting strip (above the quick-facts on /ca, /au, /uk, /jp)
   Simple visual reinforcement that the page is written for that country
   cohort. Big flag + a short warm caption. */
.cw-greeting{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:34px 24px 12px;
}
.cw-greeting-flag{
  font-size:80px;line-height:1;margin:0 0 10px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
.cw-greeting-text{
  font-size:17px;font-weight:500;color:var(--cw-ink-soft);margin:0;font-style:italic;
}
@media (max-width:640px){
  .cw-greeting{padding:28px 22px 10px;}
  .cw-greeting-flag{font-size:60px;}
  .cw-greeting-text{font-size:15px;}
}

/* --- Country symbol watermark in each country page's hero
   Centered, partially transparent so the photo behind shows through.
   Scales down on smaller screens; deliberately larger than a flag. */
.cw-hero-symbol{
  display:block;width:auto;height:auto;
  max-width:340px;max-height:200px;
  margin:0 auto 18px;opacity:0.78;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,0.3));
  pointer-events:none;
}
@media (max-width:1024px){
  .cw-hero-symbol{max-width:280px;max-height:170px;}
}
@media (max-width:768px){
  .cw-hero-symbol{max-width:220px;max-height:140px;margin-bottom:14px;}
}
@media (max-width:480px){
  .cw-hero-symbol{max-width:180px;max-height:120px;}
}

/* --- Founder-favorites photo gallery (bottom of each country page)
   Mirrors the homepage "Places we keep coming back to" pattern. 8 photos,
   auto-fit grid, captions, lazy-loaded, served via Cloudflare resizer. */
.cw-gallery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;margin-top:22px;
}
.cw-gallery figure{margin:0;transition:transform .18s ease;}
.cw-gallery figure:hover{transform:translateY(-3px);}
.cw-gallery-img{
  aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:#f6f7f8;
  box-shadow:0 4px 16px rgba(15,23,42,0.06);
  transition:box-shadow .18s ease;
}
.cw-gallery figure:hover .cw-gallery-img{box-shadow:var(--cw-shadow-lift);}
.cw-gallery-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  border-radius:0;  /* defeat global img radius from 04-08-25-v1.css */
}
.cw-gallery figcaption{
  font-size:13px;color:var(--cw-muted);margin:8px 0 0;
  font-style:italic;text-align:center;
}

/* --- Eyebrow handle link (e.g. "Seit 2002 unterwegs · @hawaii_guide")
   Inherits the eyebrow's color + uppercase + letter-spacing; the only
   override is the underline so it reads as tappable. */
.cw-eyebrow .cw-eyebrow-handle{
  color:inherit;text-decoration:underline;text-underline-offset:2px;
  font-weight:inherit;
}

/* --- "Share yours" social CTA panel (under each gallery)
   Amber-accent card that invites readers to tag @hawaii_guide on their
   own Hawaiʻi photos. Reads as part of the gallery, not a banner. */
.cw-share-cta{
  margin-top:32px;padding:24px 28px;
  background:#fffbeb;border:1px solid #fde68a;border-radius:10px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:18px;box-sizing:border-box;
}
.cw-share-cta-text{flex:1 1 320px;min-width:280px;}
.cw-share-cta-eyebrow{
  display:block;font-size:13px;text-transform:uppercase;letter-spacing:0.08em;
  color:#92400e;margin-bottom:6px;font-weight:600;
}
.cw-share-cta-line{
  margin:0 !important;font-size:17px;color:#1f2937;line-height:1.45 !important;
}
.cw-share-cta-line .cw-share-cta-link{
  color:#c2410c;font-weight:600;text-decoration:none;
}
.cw-share-cta-line .cw-share-cta-link:hover{text-decoration:underline;}
.cw-share-buttons{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;}
.cw-share-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:8px;
  text-decoration:none;font-size:14px;font-weight:600;
  border:1px solid #e5e7eb;background:#fff;color:#1f2937;
  transition:transform .12s ease, box-shadow .12s ease;
}
.cw-share-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(15,23,42,0.08);text-decoration:none;}
.cw-share-btn--primary{background:#c2410c;color:#fff;border-color:#c2410c;padding:10px 16px;}
.cw-share-btn--primary:hover{color:#fff;}
@media (max-width:560px){
  .cw-share-cta{padding:20px 18px;}
  .cw-share-cta-line{font-size:16px !important;}
  .cw-share-buttons{width:100%;}
  .cw-share-btn{flex:1 1 0;justify-content:center;}
}

/* --- Welcome lei graphic on /visiting-from
   U-shape plumeria lei centered above the intro paragraph. The lei
   itself is a welcome symbol — visual anchor for the international hub.
   Scales smoothly across breakpoints. */
.cw-intro-lei{
  display:block;width:auto;height:auto;
  max-width:260px;max-height:170px;
  margin:0 auto 14px;
  filter:drop-shadow(0 3px 10px rgba(15,23,42,0.08));
}
@media (max-width:768px){
  .cw-intro-lei{max-width:220px;max-height:145px;margin-bottom:12px;}
}
@media (max-width:480px){
  .cw-intro-lei{max-width:180px;max-height:115px;}
}
