/* Kitesurf Nation spots page only. */
main.container:has(.ks-spots-guide) {
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}
.ks-spots-guide {
  --ink:#102a43;
  --ink-soft:#28465d;
  --muted:#627487;
  --blue:#1ea7ea;
  --blue-dark:#0f95d8;
  --navy:#102a43;
  --paper:#fff;
  --bg:#f6f9fb;
  --line:#e4edf2;
  --radius:22px;
  --shadow:0 8px 30px rgba(15,47,68,.06);
  background:var(--bg);
  color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.ks-spots-guide, .ks-spots-guide *, .ks-spots-guide *::before, .ks-spots-guide *::after { box-sizing:border-box; }

.ks-spots-guide { --ink:#102a43;--ink-soft:#28465d;--muted:#627487;--blue:#1ea7ea;--blue-dark:#0f95d8;--navy:#102a43;--paper:#fff;--bg:#f6f9fb;--line:#e4edf2;--radius:22px;--shadow:0 8px 30px rgba(15,47,68,.06) }
.ks-spots-guide *, .ks-spots-guide *::before, .ks-spots-guide *::after { box-sizing:border-box }
.ks-spots-guide { margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased }
.ks-spots-guide a { color:inherit }
.ks-spots-guide a:focus-visible, .ks-spots-guide summary:focus-visible { outline:3px solid #f6aa3d;outline-offset:4px;border-radius:4px }
.ks-spots-guide img { max-width:100% }
.ks-spots-guide .kss-container { max-width:1160px;width:calc(100% - 44px);margin-inline:auto }
.ks-spots-guide .hero { min-height:486px;display:flex;align-items:end;isolation:isolate;position:relative;color:white;background:#173d56;overflow:hidden }
.ks-spots-guide .hero::before { position:absolute;content:"";inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(7,30,50,.88) 0%,rgba(7,30,50,.54) 49%,rgba(7,30,50,.12) 100%),url("/images/spots/hero.webp");background-position:center,center 55%;background-size:cover;background-repeat:no-repeat }
.ks-spots-guide .hero::after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 46%,rgba(8,32,51,.25)) }
.ks-spots-guide .hero-content { padding-block:89px 78px;max-width:1160px }
.ks-spots-guide .eyebrow { text-transform:uppercase;font-size:.73rem;letter-spacing:.18em;font-weight:850 }
.ks-spots-guide .hero .eyebrow { color:#9fe4ff;margin:0 0 16px }
.ks-spots-guide h1, .ks-spots-guide h2, .ks-spots-guide h3, .ks-spots-guide p { margin-top:0 }
.ks-spots-guide h1 { max-width:740px;font-size:clamp(2.75rem,6.3vw,5.25rem);font-weight:860;line-height:1.05;letter-spacing:-.06em;margin-bottom:21px;text-wrap:balance }
.ks-spots-guide .hero-subtitle { max-width:630px;color:#f1f7fb;font-size:clamp(1.04rem,1.9vw,1.25rem);line-height:1.68;margin-bottom:0 }
.ks-spots-guide .spots-content { padding-bottom:72px }
.ks-spots-guide .section-head { text-align:center;max-width:710px;margin:68px auto 28px }
.ks-spots-guide .section-head .eyebrow { color:var(--blue-dark);margin-bottom:9px }
.ks-spots-guide .section-head h2 { font-size:clamp(1.78rem,3.2vw,2.55rem);font-weight:810;letter-spacing:-.045em;line-height:1.23;margin-bottom:12px }
.ks-spots-guide .section-head p { color:var(--muted);font-size:1rem;margin-bottom:0 }
.ks-spots-guide .table-shell { background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden }
.ks-spots-guide .table-scroll { overflow-x:auto;scrollbar-color:#b6d3e2 transparent }
.ks-spots-guide table { width:100%;border-collapse:collapse;text-align:left;min-width:665px }
.ks-spots-guide thead { background:#eef7fc }
.ks-spots-guide th, .ks-spots-guide td { padding:13px 20px;border-bottom:1px solid #ecf0f4;font-size:.9rem }
.ks-spots-guide thead th { color:#36566a;font-size:.72rem;letter-spacing:.075em;text-transform:uppercase;font-weight:850 }
.ks-spots-guide tbody tr:last-child th, .ks-spots-guide tbody tr:last-child td { border-bottom:0 }
.ks-spots-guide tbody tr:hover { background:#f8fcfe }
.ks-spots-guide tbody th { font-weight:750 }
.ks-spots-guide tbody th a { color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:9px }
.ks-spots-guide tbody th a:hover { color:var(--blue-dark) }
.ks-spots-guide .country-flag {
    display: inline-block;
    width: 24px;
    height: 18px;
    object-fit: cover;
    flex: 0 0 auto;
    border-radius: 2px;
    vertical-align: middle;
}
.ks-spots-guide .table-arrow { color:var(--blue-dark);font-size:.9rem;margin-left:2px }
.ks-spots-guide .table-foot { color:var(--muted);font-size:.77rem;border-top:1px solid var(--line);padding:11px 20px;background:#fff }
.ks-spots-guide .spots-head { max-width:700px;margin:78px auto 36px;text-align:center }
.ks-spots-guide .spots-head .eyebrow { color:var(--blue-dark);margin-bottom:10px }
.ks-spots-guide .spots-head h2 { font-weight:810;letter-spacing:-.045em;font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:8px }
.ks-spots-guide .spots-head p { color:var(--muted);margin-bottom:0 }
.ks-spots-guide .spot-list { display:grid;gap:27px }
.ks-spots-guide .spot-card { background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);overflow:hidden;scroll-margin-top:95px }
.ks-spots-guide .spot-photo { margin:0;min-height:400px;position:relative;background:linear-gradient(135deg,#c4e3ee,#75abc2);overflow:hidden }
.ks-spots-guide .spot-photo img { display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;transition:transform .45s ease }
.ks-spots-guide .spot-card:hover .spot-photo img { transform:scale(1.025) }
.ks-spots-guide .spot-photo figcaption { position:absolute;bottom:17px;left:17px;right:17px;width:max-content;max-width:calc(100% - 34px);background:rgba(11,43,63,.76);color:white;padding:7px 12px;border-radius:9px;font-size:.78rem;font-weight:740;backdrop-filter:blur(5px) }
.ks-spots-guide .spot-body { padding:30px 36px 30px }
.ks-spots-guide .spot-kicker { display:flex;align-items:center;gap:7px;color:var(--blue-dark);font-size:.75rem;letter-spacing:.07em;font-weight:800;text-transform:uppercase;margin-bottom:11px }
.ks-spots-guide .spot-number { margin-left:auto;color:#9eabb5;font-size:.75rem;font-variant-numeric:tabular-nums }
.ks-spots-guide .spot-body h2 { font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.18;letter-spacing:-.04em;margin-bottom:13px;font-weight:820;text-wrap:balance }
.ks-spots-guide .spot-intro { color:#465e71;font-size:.96rem;line-height:1.7;margin-bottom:18px }
.ks-spots-guide .spot-facts { margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 19px;border-top:1px solid #e9eef2 }
.ks-spots-guide .spot-facts>div { border-bottom:1px solid #e9eef2;padding:10px 0;min-width:0 }
.ks-spots-guide .spot-facts dt { color:#82929f;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;margin-bottom:3px }
.ks-spots-guide .spot-facts dd { color:#1b3648;font-size:.88rem;font-weight:760;line-height:1.4;margin:0 }
.ks-spots-guide .local-note { background:#f2f8fc;color:#426073;border-left:3px solid #79c7ed;border-radius:0 10px 10px 0;margin:19px 0 0;padding:11px 14px;font-size:.84rem;line-height:1.6 }
.ks-spots-guide .local-note strong { color:#17618a;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em }
.ks-spots-guide .spot-photo[data-spot="safety-bay"] img { object-position:center center }
.ks-spots-guide .spot-photo[data-spot="la-ventana"] img { object-position:center }
.ks-spots-guide .spot-photo[data-spot="brouwersdam"] img { object-position:center }
.ks-spots-guide .spot-photo[data-spot="futtsu"] img { object-position:center }
.ks-spots-guide .share-callout { position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px 40px;border-radius:var(--radius);margin:38px 0;box-shadow:var(--shadow) }
.ks-spots-guide .share-callout .eyebrow { margin-bottom:6px }
.ks-spots-guide .share-callout h2 { font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.18;font-weight:840;letter-spacing:-.04em;margin-bottom:8px }
.ks-spots-guide .share-callout p { margin:0;max-width:555px;font-size:.96rem }
.ks-spots-guide .share-callout-copy { z-index:1 }
.ks-spots-guide .share-callout .btn { z-index:1;white-space:nowrap;flex-shrink:0 }
.ks-spots-guide .share-callout-mid { border:1px solid #c9e7f7;background:linear-gradient(115deg,#eaf7fe,#f7fcff);color:#173d58 }
.ks-spots-guide .share-callout-mid .eyebrow { color:#1581bd }
.ks-spots-guide .share-callout-mid p { color:#456477 }
.ks-spots-guide .callout-deco { font-size:200px;position:absolute;line-height:1;right:20%;top:-81px;opacity:.06;pointer-events:none }
.ks-spots-guide .btn { display:inline-flex;gap:17px;justify-content:center;align-items:center;text-decoration:none;border-radius:999px;padding:13px 22px;font-size:.9rem;font-weight:830;transition:transform .2s,box-shadow .2s,background .2s }
.ks-spots-guide .btn:hover { transform:translateY(-2px);box-shadow:0 6px 20px rgba(15,70,100,.14) }
.ks-spots-guide .btn-primary { background:#1ea7ea;color:white }
.ks-spots-guide .btn-primary:hover { background:#0f95d8 }
.ks-spots-guide .share-callout-end { background:linear-gradient(110deg,#0f344f,#116d98);color:white;margin-top:38px;padding:42px }
.ks-spots-guide .share-callout-end .eyebrow { color:#8de2ff }
.ks-spots-guide .share-callout-end p { color:#d8eff9 }
.ks-spots-guide .share-end-orb { position:absolute;width:320px;height:320px;border:70px solid rgba(255,255,255,.06);border-radius:50%;right:13%;top:-180px;pointer-events:none }
.ks-spots-guide .btn-white { color:#0b587f;background:white }
.ks-spots-guide .btn-white:hover { background:#eaf8ff }
.ks-spots-guide .local-tip { text-align:center;padding:54px 22px 35px;max-width:680px;margin:auto }
.ks-spots-guide .local-tip .eyebrow { color:#1387be;margin-bottom:11px }
.ks-spots-guide .local-tip h2 { font-size:clamp(1.75rem,3vw,2.2rem);line-height:1.2;letter-spacing:-.04em;margin-bottom:10px }
.ks-spots-guide .local-tip p { color:var(--muted);margin-bottom:18px }
.ks-spots-guide .tip-link { font-weight:810;color:#047eb5;text-decoration:none;border-bottom:2px solid #83cfee;padding-bottom:3px }
.ks-spots-guide .tip-link:hover { color:#045781 }
.ks-spots-guide .photo-credits { max-width:970px;margin:25px auto 0;border:1px solid var(--line);border-radius:14px;background:white;padding:0 21px }
.ks-spots-guide .photo-credits summary { padding:18px 0;font-size:.87rem;font-weight:750;cursor:pointer;color:#34546a }
.ks-spots-guide .photo-credits ol { margin:0;padding:0 0 20px 21px;color:#53697b;font-size:.78rem;line-height:1.8;overflow-wrap:anywhere }
.ks-spots-guide .photo-credits a { color:#157eaa }
.ks-spots-guide .credit-info { font-size:.8rem;color:var(--muted);padding-bottom:12px }
.ks-spots-guide .crop-note { color:#7c91a2 }
.ks-spots-guide .photo-credits li span:first-child { font-weight:750;color:#3a5668 }
.ks-spots-guide .article-note { max-width:960px;color:#7c8b96;text-align:center;font-size:.75rem;line-height:1.65;margin:19px auto 0 }
@media (max-width:900px) {
.ks-spots-guide .spot-card { grid-template-columns:40% minmax(0,60%) }
.ks-spots-guide .spot-body { padding:24px }
.ks-spots-guide .spot-photo { min-height:425px }
.ks-spots-guide .spot-facts { gap:0 12px }
}
@media (max-width:700px) {
.ks-spots-guide .kss-container { width:calc(100% - 30px) }
.ks-spots-guide .hero { min-height:400px }
.ks-spots-guide .hero::before { background-image:linear-gradient(90deg,rgba(8,29,47,.86),rgba(8,29,47,.34)),url("/images/spots/hero.webp");background-position:center,center }
.ks-spots-guide .hero-content { padding-block:68px 56px }
.ks-spots-guide h1 { font-size:clamp(2.4rem,9vw,3.55rem) }
.ks-spots-guide .section-head { margin:52px auto 22px }
.ks-spots-guide .spots-head { margin:55px auto 26px }
.ks-spots-guide .spot-card { display:block }
.ks-spots-guide .spot-photo { min-height:0;aspect-ratio:1.58 }
.ks-spots-guide .spot-photo img { position:absolute }
.ks-spots-guide .spot-body { padding:23px 22px 25px }
.ks-spots-guide .spot-body h2 { font-size:1.56rem }
.ks-spots-guide .spot-intro { font-size:.94rem }
.ks-spots-guide .share-callout { display:block;padding:28px 25px }
.ks-spots-guide .share-callout .btn { margin-top:19px }
.ks-spots-guide .share-callout-end { padding:32px 25px }
.ks-spots-guide .photo-credits { padding-inline:16px }
}
@media (max-width:400px) {
.ks-spots-guide .spot-facts dd { font-size:.82rem }
.ks-spots-guide .spot-body h2 { font-size:1.4rem }
.ks-spots-guide .table-shell { margin-inline:-2px }
.ks-spots-guide .spot-photo { aspect-ratio:1.42 }
}
@media (prefers-reduced-motion:reduce) {
.ks-spots-guide *, .ks-spots-guide *::before, .ks-spots-guide *::after { transition-duration:.01ms!important;animation-duration:.01ms!important }
}
