@font-face{font-family:Jost;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/jost-latin-variable-v20.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#17333a;--muted:#5f7478;--cream:#f5f1e8;--paper:#fffdf8;--sea:#1d727b;--deep-sea:#124e58;--foam:#d8eeea;--sand:#ddb978;--coral:#e67858;--white:#ffffff;--shadow:0 20px 60px rgba(24, 57, 61, 0.14);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(216,238,234,.85),transparent 28%),radial-gradient(circle at 88% 18%,rgba(221,185,120,.25),transparent 24%),linear-gradient(180deg,var(--cream),#f7f0e3 42%,var(--cream));font-family:Inter,"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:1.02rem;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:24px 5vw}.nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--white);font-family:Jost,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:.02em;text-decoration:none;text-transform:uppercase}.brand-mark{width:36px;height:54px;flex:0 0 auto;background:url(/assets/img/logo.svg) center/contain no-repeat}.nav-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 22px}.nav-link{padding:8px 0 5px;border-bottom:1px solid rgba(255,255,255,.55);color:var(--white);font-family:Jost,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.site-search-button,.site-search-close{display:inline-grid;border:0;background:0 0;cursor:pointer;place-items:center}.site-search-button{width:36px;height:36px;padding:6px;border-radius:50%;color:var(--white)}.site-search-button img{width:20px;height:20px;filter:invert(1)}.site-search-button:hover{background:rgba(255,255,255,.16)}.site-search-button:focus-visible,.site-search-close:focus-visible,.site-search-results a:focus-visible{outline:3px solid var(--sand);outline-offset:3px}.site-search-dialog{width:min(680px,calc(100% - 32px));max-width:none;max-height:min(720px,calc(100% - 32px));padding:0;overflow:visible;border:0;border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);color:var(--ink)}.site-search-dialog::backdrop{background:rgba(10,34,39,.72);backdrop-filter:blur(5px)}.site-search-panel{max-height:min(720px,calc(100vh - 32px));padding:clamp(24px,5vw,44px);overflow-y:auto}.site-search-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.site-search-heading .eyebrow{margin:0 0 4px;color:var(--sea)}.site-search-heading h2{margin:0;font-family:Jost,sans-serif;font-size:clamp(2rem,6vw,3.2rem);line-height:1}.site-search-close{width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:var(--foam);color:var(--ink);font-size:2rem;line-height:1}.site-search-form{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:0 18px;border:2px solid rgba(23,51,58,.18);border-radius:14px;background:var(--white)}.site-search-form:focus-within{border-color:var(--sea);box-shadow:0 0 0 4px rgba(29,114,123,.12)}.site-search-form img{width:21px;height:21px;opacity:.62}.site-search-form input{min-width:0;padding:16px 0;border:0;outline:0;background:0 0;color:var(--ink);font:inherit;font-size:1.05rem}.site-search-status{margin:14px 2px 0;color:var(--muted);font-size:.88rem}.site-search-results{margin:14px 0 0;padding:0;overflow:hidden;border:1px solid rgba(23,51,58,.12);border-radius:14px;background:var(--white);list-style:none}.site-search-results li+li{border-top:1px solid rgba(23,51,58,.1)}.site-search-results a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;text-decoration:none}.site-search-results a.is-active,.site-search-results a:hover{background:var(--foam)}.site-search-result-name{font-family:Jost,sans-serif;font-weight:700}.site-search-result-region{color:var(--muted);font-size:.82rem;text-align:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.hero{position:relative;min-height:760px;overflow:hidden;color:var(--white);background:linear-gradient(90deg,rgba(10,51,59,.86),rgba(10,51,59,.2)),url(/assets/img/beach-notes.webp) center 58%/cover}.beach-hero::after,.hero::after{position:absolute;z-index:1;right:-5%;bottom:-75px;left:-5%;height:145px;border-radius:50% 50% 0 0;background:var(--cream);content:""}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);min-height:710px;align-items:center;max-width:1180px;margin:0 auto;padding:130px 5vw 100px}.hero-copy{max-width:1080px}.hero h1{max-width:none;font-family:Jost,sans-serif;font-size:clamp(2rem,8vw,7.5rem);font-weight:800;letter-spacing:-.065em;text-transform:uppercase;white-space:nowrap}.eyebrow{margin:0 0 18px;color:var(--sand);font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Jost,sans-serif;line-height:1.08}h1{max-width:760px;margin-bottom:26px;font-size:clamp(3.4rem,8vw,7rem);font-weight:500;letter-spacing:-.05em}.hero-lead{max-width:610px;margin-bottom:34px;color:rgba(255,255,255,.88);font-size:clamp(1.05rem,2vw,1.25rem)}.button{display:inline-flex;align-items:center;gap:12px;padding:15px 22px;border-radius:999px;background:var(--coral);color:var(--white);font-weight:800;text-decoration:none;transition:transform 160ms ease,background 160ms ease}.button:hover{transform:translateY(-2px);background:#d96647}.button-arrow{font-size:1.2rem}.quick-facts-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.webcam-actions{margin-bottom:10px}.quick-facts-action{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(23,51,58,.18);border-radius:6px;background:0 0;color:var(--sea);font-family:Jost,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:transform 160ms ease,background 160ms ease}.quick-facts-action:focus-visible,.quick-facts-action:hover{transform:translateY(-2px);background:rgba(23,51,58,.08)}.quick-facts-action img{width:16px;height:16px}.section{max-width:1180px;margin:0 auto;padding:100px 5vw}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.section h2{margin-bottom:20px;font-size:clamp(2.2rem,5vw,4.2rem);font-weight:500;letter-spacing:-.035em}.section-lead{color:var(--muted);font-size:1.08rem}.text-link{color:var(--sea);font-family:Jost,sans-serif;font-weight:800;text-decoration-thickness:2px;text-underline-offset:5px}.principles{display:grid;gap:2px;overflow:hidden;border-radius:var(--radius);background:rgba(29,114,123,.15);box-shadow:var(--shadow)}.principle{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:28px 30px;background:var(--paper)}.principle-number{color:var(--coral);font-family:Georgia,serif;font-size:1.5rem}.principle h3{margin-bottom:4px;font-size:1.25rem}.principle p{margin-bottom:0;color:var(--muted)}.comparison-promo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(32px,5vw,72px);align-items:center;max-width:1280px}.comparison-promo-image{display:block;overflow:hidden;border:10px solid var(--paper);border-radius:var(--radius);background:var(--foam);box-shadow:var(--shadow)}.comparison-promo-image img{width:100%;height:auto;transition:transform 220ms ease}.comparison-promo-image:focus-visible img,.comparison-promo-image:hover img{transform:scale(1.015)}.comparison-promo-image:focus-visible{outline:4px solid var(--coral);outline-offset:4px}.comparison-promo-copy h2{margin:8px 0 14px}.comparison-promo-features{display:grid;gap:8px;margin:22px 0 28px;padding:0;list-style:none}.comparison-promo-features li{position:relative;padding-left:26px}.comparison-promo-features li::before{position:absolute;top:.62em;left:2px;width:9px;height:9px;border-radius:50%;background:var(--coral);content:""}.featured{padding-top:40px}.best-for{padding-top:50px}.best-for-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.best-for-card{position:relative;overflow:hidden;min-height:310px;padding:32px;border:1px solid rgba(23,51,58,.08);border-radius:28px;background:linear-gradient(160deg,rgba(255,253,248,.96),rgba(216,238,234,.72)),var(--paper);box-shadow:0 14px 45px rgba(24,57,61,.1)}.best-for-card::after{position:absolute;right:-36px;bottom:-48px;width:145px;height:145px;border:1px solid rgba(29,114,123,.18);border-radius:50%;content:""}.best-for-icon{display:grid;width:54px;height:54px;margin-bottom:26px;place-items:center;border-radius:50%;background:var(--deep-sea)}.best-for-icon img{display:block;width:28px;height:28px}.best-for-card h3{margin-bottom:12px;font-size:clamp(1.7rem,3vw,2.35rem)}.best-for-card p:not(.eyebrow){color:var(--muted)}.best-for-card a{color:var(--sea);font-weight:800}.charts-directory-hero{background:linear-gradient(100deg,rgba(8,46,52,.94),rgba(29,114,123,.5)),url(/assets/img/beach-notes.webp) center 58%/cover}.charts-directory-hero h1{max-width:none;font-size:clamp(2rem,8vw,6rem);font-weight:800;letter-spacing:-.065em;white-space:nowrap}.chart-hub-intro{padding-bottom:0}.chart-hub-section{padding-top:62px}.chart-hub-temperature-grid{grid-template-columns:repeat(2,1fr)}.chart-hub-card{min-height:350px}.chart-temperature-preview{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px;color:var(--muted);font-family:Jost,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.chart-temperature-preview svg{grid-column:1/-1;width:100%;margin-bottom:4px;overflow:visible}.chart-temperature-preview path{fill:none;stroke:#ef8354;stroke-linecap:round;stroke-width:7}.chart-temperature-preview span:last-child{color:#b84935;text-align:right}.chart-temperature-preview span:first-of-type{color:#176f8f}.chart-grade-preview{display:grid;gap:8px;margin-bottom:32px}.chart-grade-preview span{display:block;height:10px;border-radius:999px}.chart-grade-preview-excellent{width:100%;background:#23825b}.chart-grade-preview-good{width:74%;background:#668d34}.chart-grade-preview-sufficient{width:46%;background:#b37b16}.chart-hub-next{max-width:760px;padding-top:76px;padding-bottom:110px;text-align:center}.chart-hub-next p:not(.eyebrow){margin:0 auto 26px;color:var(--muted)}.coast-map-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;padding-top:52px}.coast-map-copy{max-width:460px}.coast-map{display:block;width:100%;height:auto;border-radius:34px;box-shadow:var(--shadow)}.featured-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.featured-heading h2{margin-bottom:0}.region-card{position:relative;display:flex;min-height:520px;overflow:hidden;align-items:end;border-radius:34px;background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.15)),url(/images/beaches/south-hams/south-hams.webp) center/cover;color:var(--white);box-shadow:var(--shadow)}.featured .region-card+.region-card{margin-top:34px}.north-devon-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/north-devon/north-devon.jpg) center/cover}.south-devon-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/south-devon/goodrington/goodrington.jpg) center/cover}.cornwall-region-card,.north-cornwall-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/north-cornwall/perranporth/perranporth.jpeg) center/cover}.south-cornwall-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/south-cornwall/south-cornwall.jpg) center/cover}.region-card-copy{max-width:650px;padding:64px}.region-card h3{margin-bottom:18px;font-size:clamp(3rem,7vw,5.5rem);font-weight:500}.region-card p:not(.eyebrow){margin-bottom:28px;color:rgba(255,255,255,.82);font-size:1.08rem}.beach-list{display:grid;gap:34px}.beach-card{display:grid;height:auto;min-height:560px;overflow:hidden;grid-template-columns:1.25fr .75fr;border-radius:34px;background:var(--deep-sea);color:var(--white);box-shadow:var(--shadow)}.beach-card-image{min-height:420px;background:linear-gradient(rgba(18,78,88,.08),rgba(18,78,88,.22)),url(/images/beaches/south-hams/bantham/bantham.webp) center/cover}.beach-card-reverse .beach-card-image{order:2}.thurlestone-card{background:#254f68}.thurlestone-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.06),rgba(18,78,88,.22)),url(/images/beaches/south-hams/thurlestone/thurlestone.jpg) center/cover}.bigbury-card{background:#315d53}.bigbury-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.24)),url(/images/beaches/south-hams/bigbury-on-sea/bigbury-on-sea.webp) center/cover}.hope-cove-card{background:#506a79}.hope-cove-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.2)),url(/images/beaches/south-hams/hope-cove/hope-cove.webp) center/cover}.slapton-card{background:#5c625d}.slapton-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.2)),url(/images/beaches/south-hams/slapton-sands/slapton-sands.webp) center/cover}.blackpool-card{background:#28636b}.blackpool-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.18)),url(/images/beaches/south-hams/blackpool-sands/blackpool-sands.jpg) center/cover}.south-sands-card{background:#3d647a}.south-sands-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.2)),url(/images/beaches/south-hams/salcombe-south-sands/south-sands-salcombe.webp) center/cover}.north-sands-card,.north-sands-hero{background-color:#466d72}.north-sands-card .beach-card-image,.north-sands-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/south-hams/salcombe-north-sands/salcombe-north-sands.webp);background-position:center;background-size:cover}.east-portlemouth-card,.east-portlemouth-hero{background-color:#547b79}.east-portlemouth-card .beach-card-image,.east-portlemouth-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/south-hams/east-portlemouth/east-portlemouth.webp);background-position:center;background-size:cover}.soar-mill-card,.soar-mill-hero{background-color:#4f665b}.soar-mill-card .beach-card-image,.soar-mill-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/south-hams/soar-mill-cove/soar-mill-cove.webp);background-position:center;background-size:cover}.mothecombe-card,.mothecombe-hero{background-color:#596f66}.mothecombe-card .beach-card-image,.mothecombe-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/south-hams/mothecombe/mothecombe.webp);background-position:center;background-size:cover}.beesands-card,.beesands-hero{background-color:#59656b}.beesands-card .beach-card-image,.beesands-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/south-hams/beesands/beesands.webp);background-position:center;background-size:cover}.woolacombe-card,.woolacombe-hero{background-color:#1f6b78}.croyde-card,.croyde-hero{background-color:#2c6f63}.saunton-card,.saunton-hero{background-color:#4a6f7c}.putsborough-card,.putsborough-hero{background-color:#3a6a6c}.westward-ho-card,.westward-ho-hero{background-color:#55676d}.combe-martin-card,.combe-martin-hero{background-color:#2f6459}.ilfracombe-card,.ilfracombe-hero{background-color:#34606f}.sandymouth-card,.sandymouth-hero{background-color:#5a6a60}.woolacombe-card .beach-card-image,.woolacombe-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/woolacombe/woolacombe.jpg)}.croyde-card .beach-card-image,.croyde-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/croyde/croyde.jpg)}.saunton-card .beach-card-image,.saunton-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/saunton-sands/saunton-sands.jpg)}.putsborough-card .beach-card-image,.putsborough-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/putsborough/putsborough.jpg)}.westward-ho-card .beach-card-image,.westward-ho-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/westward-ho/westward-ho.jpg)}.combe-martin-card .beach-card-image,.combe-martin-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/combe-martin/combe-martin.jpg)}.ilfracombe-card .beach-card-image,.ilfracombe-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/ilfracombe/ilfracombe.jpg)}.sandymouth-card .beach-card-image,.sandymouth-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-devon/sandymouth/sandymouth.jpg)}.combe-martin-card .beach-card-image,.combe-martin-hero,.croyde-card .beach-card-image,.croyde-hero,.ilfracombe-card .beach-card-image,.ilfracombe-hero,.putsborough-card .beach-card-image,.putsborough-hero,.sandymouth-card .beach-card-image,.sandymouth-hero,.saunton-card .beach-card-image,.saunton-hero,.westward-ho-card .beach-card-image,.westward-ho-hero,.woolacombe-card .beach-card-image,.woolacombe-hero{background-position:center;background-size:cover}.fistral-card,.fistral-hero{background-color:#14606c}.fistral-card .beach-card-image,.fistral-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/fistral/fistral.jpg)}.watergate-bay-card,.watergate-bay-hero{background-color:#1b5f6b}.watergate-bay-card .beach-card-image,.watergate-bay-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/watergate-bay/watergate-bay.jpg)}.polzeath-card,.polzeath-hero{background-color:#236a63}.polzeath-card .beach-card-image,.polzeath-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/polzeath/polzeath.jpg)}.constantine-bay-card,.constantine-bay-hero{background-color:#2c6a5e}.constantine-bay-card .beach-card-image,.constantine-bay-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/constantine-bay/constantine-bay.jpg)}.bude-card,.bude-hero{background-color:#3a6673}.bude-card .beach-card-image,.bude-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/bude/bude.jpg)}.perranporth-card,.perranporth-hero{background-color:#45707a}.perranporth-card .beach-card-image,.perranporth-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/perranporth/perranporth.jpeg)}.porthtowan-card,.porthtowan-hero{background-color:#33606a}.porthtowan-card .beach-card-image,.porthtowan-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/porthtowan/porthtowan.jpg)}.harlyn-bay-card,.harlyn-bay-hero{background-color:#2f7076}.harlyn-bay-card .beach-card-image,.harlyn-bay-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/harlyn-bay/harlyn.jpg)}.mawgan-porth-card,.mawgan-porth-hero{background-color:#3d6c63}.mawgan-porth-card .beach-card-image,.mawgan-porth-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/mawgan-porth/magwan-porth.jpg)}.trevone-bay-card,.trevone-bay-hero{background-color:#4a6f70}.trevone-bay-card .beach-card-image,.trevone-bay-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/trevone-bay/trevone.jpg)}.towan-card,.towan-hero{background-color:#1a5c5c}.towan-card .beach-card-image,.towan-hero{background-image:linear-gradient(90deg,rgba(8,46,52,.82),rgba(8,46,52,.12)),url(/images/beaches/north-cornwall/towan/towan.jpg)}.bude-card .beach-card-image,.bude-hero,.constantine-bay-card .beach-card-image,.constantine-bay-hero,.fistral-card .beach-card-image,.fistral-hero,.harlyn-bay-card .beach-card-image,.harlyn-bay-hero,.mawgan-porth-card .beach-card-image,.mawgan-porth-hero,.perranporth-card .beach-card-image,.perranporth-hero,.polzeath-card .beach-card-image,.polzeath-hero,.porthtowan-card .beach-card-image,.porthtowan-hero,.towan-card .beach-card-image,.towan-hero,.trevone-bay-card .beach-card-image,.trevone-bay-hero,.watergate-bay-card .beach-card-image,.watergate-bay-hero{background-position:center;background-size:cover}.kynance-cove-card .beach-card-image,.kynance-cove-hero{background-image:url(/images/beaches/south-cornwall/kynance-cove/kynance-cove.jpg)}.porthcurno-card .beach-card-image,.porthcurno-hero{background-image:url(/images/beaches/south-cornwall/porthcurno/porthcurno.jpg)}.praa-sands-card .beach-card-image,.praa-sands-hero{background-image:url(/images/beaches/south-cornwall/praa-sands/praa-sands.jpg)}.readymoney-cove-card .beach-card-image,.readymoney-cove-hero{background-image:url(/images/beaches/south-cornwall/readymoney-cove/readymoney-cove.jpg)}.maenporth-card .beach-card-image,.maenporth-hero{background-image:url(/images/beaches/south-cornwall/maenporth/maenporth.jpg)}.swanpool-beach-card .beach-card-image,.swanpool-beach-hero{background-image:url(/images/beaches/south-cornwall/swanpool-beach/swanpool-beach.jpg)}.coverack-card .beach-card-image,.coverack-hero{background-image:url(/images/beaches/south-cornwall/coverack/coverack-beach.jpg)}.polkerris-card .beach-card-image,.polkerris-hero{background-image:url(/images/beaches/south-cornwall/polkerris/polkerris.jpg)}.poldhu-cove-card .beach-card-image,.poldhu-cove-hero{background-image:url(/images/beaches/south-cornwall/poldhu-cove/poldhu-cove.jpg)}.coverack-card .beach-card-image,.kynance-cove-card .beach-card-image,.maenporth-card .beach-card-image,.poldhu-cove-card .beach-card-image,.polkerris-card .beach-card-image,.porthcurno-card .beach-card-image,.praa-sands-card .beach-card-image,.readymoney-cove-card .beach-card-image,.swanpool-beach-card .beach-card-image{background-position:center;background-size:cover}.beach-card-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:56px}.beach-card-copy h3{margin-bottom:18px;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:500}.bigbury-card .beach-card-copy h3,.north-sands-card .beach-card-copy h3,.south-sands-card .beach-card-copy h3{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1}.beach-card-copy p{margin-bottom:28px;color:rgba(255,255,255,.78)}.card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:0 0 28px}.card-facts div{padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08)}.card-facts dt{color:var(--sand);font-family:Jost,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.card-facts dd{margin:3px 0 0;color:rgba(255,255,255,.86);font-size:.9rem;line-height:1.3}.filter-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 34px;padding:18px;border:1px solid rgba(23,51,58,.08);border-radius:22px;background:rgba(255,253,248,.72);box-shadow:0 12px 35px rgba(24,57,61,.08)}.filter-panel span{margin-right:4px;color:var(--muted);font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.filter-chip{padding:10px 14px;border:1px solid rgba(29,114,123,.2);border-radius:999px;background:var(--paper);color:var(--deep-sea);cursor:pointer;font:inherit;font-family:Jost,sans-serif;font-size:.84rem;font-weight:800}.filter-chip.is-active,.filter-chip:hover{border-color:var(--deep-sea);background:var(--deep-sea);color:var(--white)}.beach-card[hidden]{display:none}.site-footer{overflow:hidden;padding:58px 5vw 18px;border-top:1px solid rgba(23,51,58,.18);background:var(--cream);color:var(--muted)}.site-footer::after{display:block;margin:72px auto 0;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:clamp(3.25rem,12.5vw,12rem);font-weight:800;letter-spacing:-.065em;line-height:.78;text-align:center;text-transform:uppercase;white-space:nowrap;content:"BEACH NOTES"}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:36px;align-items:start;max-width:1180px;margin:0 auto}.footer-brand{display:inline-block;margin-bottom:10px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:1.35rem;font-weight:800;text-decoration:none;text-transform:uppercase}.footer-inner p{margin-bottom:0}.footer-affiliations{display:flex;gap:18px;align-items:center;margin-top:16px}.footer-cornwall-flag-link,.footer-devon-flag-link{display:inline-flex}.footer-cornwall-flag,.footer-devon-flag{width:60px;height:auto;border:1px solid rgba(23,51,58,.18);border-radius:3px;box-shadow:0 5px 14px rgba(24,57,61,.12)}.footer-environment-agency{display:inline-flex}.footer-environment-agency img{width:130px;height:auto}.footer-links{display:grid;gap:8px}.footer-links a{color:var(--deep-sea);font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px}.footer-logo{display:flex;width:75px;height:120px;align-items:center;justify-self:end;justify-content:center;border-radius:28px;background:var(--deep-sea);box-shadow:0 14px 34px rgba(24,57,61,.14);transition:transform 160ms ease}.footer-logo:hover{transform:translateY(-3px)}.footer-logo img{display:block;width:92px;height:138px}.not-found-hero{width:100%;min-height:100vh;min-height:100svh;overflow:hidden;color:var(--white);background:linear-gradient(90deg,rgba(8,46,52,.88),rgba(8,46,52,.28)),url(/assets/img/404.webp) center/cover}.not-found-content{display:flex;min-height:100vh;min-height:100svh;flex-direction:column;justify-content:flex-end;max-width:1180px;margin:0 auto;padding:150px 5vw 84px}.not-found-code{margin:0;color:rgba(255,255,255,.92);font-family:Jost,sans-serif;font-size:clamp(10rem,30vw,24rem);font-weight:800;letter-spacing:-.08em;line-height:.7}.not-found-message{max-width:620px;margin-top:56px}.not-found-message h1{margin-bottom:14px;font-size:clamp(1.2rem,3vw,2.5rem);text-transform:uppercase;white-space:nowrap}.not-found-message>p:not(.eyebrow){margin-bottom:28px;color:rgba(255,255,255,.82);font-size:1.08rem}.directory-hero{position:relative;min-height:520px;overflow:hidden;color:var(--white);background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/assets/img/beach-notes.webp) center 58%/cover}main:has(>.beach-hero),main:has(>.directory-hero),main:has(>.hero){background:var(--cream)}.directory-hero::after{position:absolute;right:-5%;bottom:-75px;left:-5%;height:145px;border-radius:50% 50% 0 0;background:var(--cream);content:""}.directory-hero-content{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:175px 5vw 130px}.directory-hero h1{margin-bottom:18px;text-transform:uppercase}.about-directory-hero h1,.north-cornwall-directory-hero h1,.north-devon-directory-hero h1,.regions-directory-hero h1,.south-cornwall-directory-hero h1,.south-hams-directory-hero h1{max-width:none;font-size:clamp(2rem,8vw,6rem);font-weight:800;letter-spacing:-.065em;white-space:nowrap}.about-intro{align-items:start}.about-story{max-width:680px}.about-lead{color:var(--deep-sea);font-size:1.3rem;font-weight:700}.about-letter p,.about-story p:not(.eyebrow){font-size:1.08rem}.about-letter{padding-top:20px}.about-letter>div{width:100%;padding:clamp(32px,6vw,70px);border-radius:34px;background:var(--foam)}.about-letter h2{margin-bottom:24px}.about-letter .button{margin-top:10px}.south-hams-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/assets/img/south-hams.webp) center/cover}.south-devon-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/images/beaches/south-devon/goodrington/goodrington.jpg) center/cover}.directory-intro{max-width:760px;padding-bottom:46px}.directory-hero.landing-directory-hero{isolation:isolate;background:var(--deep-sea)}.directory-hero.landing-directory-hero::before{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2));content:"";pointer-events:none}.directory-hero.landing-directory-hero::after{z-index:1}.landing-directory-hero .directory-hero-content{z-index:2}.landing-hero-image{position:absolute;z-index:0;width:100%;height:100%;inset:0;object-fit:cover}.comparison-beach-heading picture,.landing-beach-image picture{display:block;width:100%;height:100%}.comparison-directory{display:grid;gap:28px}.comparison-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:18px;align-items:end;padding:24px;border:1px solid rgba(18,78,88,.14);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.comparison-field{display:grid;gap:8px}.comparison-field label{font-family:Jost,sans-serif;font-weight:700}.comparison-field select{width:100%;min-height:52px;padding:10px 42px 10px 14px;border:2px solid rgba(18,78,88,.25);border-radius:12px;color:var(--ink);background:var(--white);font:inherit}.comparison-field select:focus{border-color:var(--sea);outline:3px solid rgba(29,114,123,.18)}.comparison-versus{padding-bottom:12px;color:var(--sea);font-family:Jost,sans-serif;font-weight:800}.comparison-submit{min-height:52px;border:0;cursor:pointer;white-space:nowrap}.comparison-status{min-height:1.65em;margin:-12px 0 0;color:var(--muted)}.comparison-table-wrap{overflow-x:auto;border:1px solid rgba(18,78,88,.14);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed}.comparison-table caption{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}.comparison-table td,.comparison-table th{padding:20px;border-right:1px solid rgba(18,78,88,.12);border-bottom:1px solid rgba(18,78,88,.12);text-align:left;vertical-align:top}.comparison-table td:last-child,.comparison-table th:last-child{border-right:0}.comparison-table tbody tr:last-child td,.comparison-table tbody tr:last-child th{border-bottom:0}.comparison-table thead th{background:var(--foam)}.comparison-table tbody th,.comparison-table thead th:first-child{width:19%;color:var(--deep-sea);font-family:Jost,sans-serif;font-weight:700}.comparison-table tbody tr:nth-child(even){background:rgba(216,238,234,.25)}.comparison-availability{display:inline-flex;gap:8px;align-items:center;margin-bottom:8px;font-family:Jost,sans-serif;font-size:.86rem;font-weight:700}.comparison-availability--available{color:#197044}.comparison-availability--unavailable{color:#b23b35}.comparison-availability-icon{width:24px;height:24px;flex:0 0 auto;padding:4px;border-radius:50%;background:currentColor;fill:none;stroke:var(--white);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.comparison-feature-detail{display:block}.comparison-beach-heading{display:grid;gap:12px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800;text-decoration:none}.comparison-beach-heading:focus-visible span,.comparison-beach-heading:hover span{text-decoration:underline}.comparison-beach-heading img{width:100%;aspect-ratio:3/2;border-radius:14px;object-fit:cover}.comparison-note{margin:0;padding:18px 22px;border-left:4px solid var(--coral);background:rgba(255,253,248,.8)}@media (max-width:760px){.comparison-form{grid-template-columns:1fr}.comparison-versus{display:none}.comparison-table{min-width:0;font-size:.88rem}.comparison-table td,.comparison-table th{padding:12px 8px;overflow-wrap:anywhere}.comparison-table tbody th,.comparison-table thead th:first-child{width:32%}.comparison-beach-heading{gap:8px;font-size:.95rem}.comparison-beach-heading img{width:72px;max-width:100%;border-radius:8px}.comparison-availability{margin-bottom:0}.comparison-availability>span{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}.comparison-feature-detail{display:none}}.landing-directory-intro{padding-bottom:44px}.directory-hero.landing-directory-hero h1{max-width:1050px;font-size:clamp(2.5rem,7vw,5.5rem);white-space:normal;text-wrap:balance}.dog-directory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0}.dog-directory-summary div{padding:22px;border:1px solid rgba(23,51,58,.1);border-radius:18px;background:var(--foam)}.dog-directory-summary dt{margin-bottom:4px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:2rem;font-weight:800}.dog-directory-summary dd{margin:0;color:var(--muted)}.landing-rules-notice{max-width:900px}.town-beaches-intro{padding-bottom:24px}.town-beaches-section{padding-top:32px}.town-beach-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.town-beach-card{display:flex;min-height:100%;padding:clamp(28px,4vw,42px);flex-direction:column;border:1px solid rgba(23,51,58,.1);border-radius:24px;background:var(--white);box-shadow:0 14px 36px rgba(24,57,61,.1)}.town-beach-card h3{margin-bottom:14px;font-size:clamp(1.8rem,3vw,2.5rem)}.town-beach-summary{color:var(--deep-sea);font-weight:700}.town-beach-card .landing-beach-details{margin-bottom:24px}.town-beach-card .button{align-self:flex-start;margin-top:auto}.landing-beach-group{padding-top:44px}.dog-directory-callout,.dog-region-link{color:var(--sea);font-family:Jost,sans-serif;font-weight:800}.dog-directory-callout{display:inline-block}.directory-callouts{display:flex;gap:10px 28px;margin-bottom:34px;flex-wrap:wrap}.landing-beach-list{display:grid;gap:28px}.landing-beach-card{display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr);overflow:hidden;border:1px solid rgba(23,51,58,.1);border-radius:28px;background:var(--white);box-shadow:0 14px 36px rgba(24,57,61,.1)}.landing-beach-image{min-height:100%;background:var(--foam)}.landing-beach-image img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.landing-beach-copy{padding:clamp(28px,5vw,52px)}.landing-beach-copy h3{margin-bottom:14px;font-size:clamp(2rem,4vw,3.2rem)}.landing-beach-copy h3 a{color:var(--deep-sea);text-decoration:none}.landing-access-label{display:inline-flex;margin-bottom:14px;padding:7px 11px;border-radius:999px;color:var(--deep-sea);background:#d9eee8;font-family:Jost,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dog-access-restricted .landing-access-label,.dog-access-seasonal .landing-access-label{background:#ffe4d7}.dog-access-partial .landing-access-label{background:#f7e9b7}.landing-rule-summary{max-width:760px;color:var(--deep-sea);font-size:1.08rem;font-weight:700}.landing-beach-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin:28px 0 0}.landing-beach-details div{padding-top:16px;border-top:1px solid rgba(23,51,58,.12)}.landing-beach-details dt{margin-bottom:6px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.landing-beach-details dd{margin:0;color:var(--muted)}.dog-rules-source,.landing-beach-details a{color:var(--sea);font-weight:800}.landing-beach-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.water-quality-report-hero .landing-hero-image{filter:saturate(.92)}.directory-hero.water-quality-report-hero::before{background:linear-gradient(90deg,rgba(9,50,45,.94),rgba(10,68,60,.35)),linear-gradient(0deg,rgba(8,46,52,.22),transparent 55%)}.water-quality-report-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(36px,8vw,110px);align-items:center}.water-quality-summary-copy{max-width:760px}.water-quality-summary-copy h2{max-width:680px}.water-quality-score{display:grid;width:clamp(210px,24vw,300px);aspect-ratio:1;padding:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:var(--white);background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.2),transparent 28%),#176b4d;box-shadow:0 22px 60px rgba(18,78,67,.23),inset 0 0 0 12px rgba(255,255,255,.1);text-align:center;place-content:center}.water-quality-score strong{font-family:Jost,sans-serif;font-size:clamp(4.5rem,9vw,7rem);line-height:.82}.water-quality-score strong span{font-size:.35em}.water-quality-score>span{margin-top:18px;font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.water-quality-report-section{padding-top:24px}.water-quality-report-shell{padding:clamp(26px,5vw,64px);border:1px solid rgba(23,51,58,.1);border-radius:34px;background:rgba(255,253,248,.9);box-shadow:var(--shadow)}.water-quality-report-heading{display:flex;gap:32px;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.water-quality-report-heading h2{max-width:760px;margin-bottom:0}.water-quality-legend{display:flex;max-width:330px;flex-wrap:wrap;gap:8px;justify-content:flex-end}.water-quality-legend span{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:.76rem;font-weight:700}.water-quality-legend span::before{width:10px;height:10px;border-radius:50%;background:currentColor;content:""}.water-quality-legend--excellent{color:#176b4d!important}.water-quality-legend--good{color:#72a856!important}.water-quality-legend--sufficient{color:#d6a544!important}.water-quality-legend--poor{color:#cf604b!important}.water-quality-legend--not-classified{color:#8c9996!important}.water-quality-legend--closed{color:#687b80!important}.water-quality-results{display:grid;gap:12px;margin:0;padding:0;list-style:none}.water-quality-result{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:center;padding:20px 22px;border:1px solid rgba(23,51,58,.08);border-radius:18px;background:var(--white);transition:box-shadow 180ms ease,transform 180ms ease}.water-quality-result:hover{box-shadow:0 12px 30px rgba(24,57,61,.1);transform:translateY(-2px)}.water-quality-rank{color:rgba(23,51,58,.38);font-family:Jost,sans-serif;font-size:1.2rem;font-weight:800}.water-quality-result-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.water-quality-result-heading h3{margin:0;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.1}.water-quality-result-heading h3 a{color:var(--deep-sea);text-decoration:none}.water-quality-result-heading h3 a:focus-visible,.water-quality-result-heading h3 a:hover,.water-quality-result-links a:focus-visible,.water-quality-result-links a:hover{text-decoration:underline}.water-quality-site-name{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.water-quality-grade{flex:0 0 auto;padding:5px 10px;border-radius:999px;color:var(--white);background:#176b4d;font-family:Jost,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.water-quality-bar{height:10px;margin-top:16px;overflow:hidden;border-radius:999px;background:#e6ece7}.water-quality-bar-fill{display:block;width:100%;height:100%;border-radius:inherit;background:#176b4d}.water-quality-result--good .water-quality-bar-fill,.water-quality-result--good .water-quality-grade{background:#72a856}.water-quality-result--good .water-quality-bar-fill{width:78%}.water-quality-result--sufficient .water-quality-bar-fill,.water-quality-result--sufficient .water-quality-grade{background:#d6a544}.water-quality-result--sufficient .water-quality-bar-fill{width:56%}.water-quality-result--poor .water-quality-bar-fill,.water-quality-result--poor .water-quality-grade{background:#cf604b}.water-quality-result--poor .water-quality-bar-fill{width:34%}.water-quality-result--closed .water-quality-bar-fill,.water-quality-result--closed .water-quality-grade{background:#687b80}.water-quality-result--closed .water-quality-bar-fill{width:18%}.water-quality-history{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:520px;margin-top:13px}.water-quality-history-year{display:grid;gap:4px;padding:5px 2px 4px;border-radius:7px;color:var(--muted);background:rgba(23,107,77,.07);font-family:Jost,sans-serif;font-size:.62rem;font-weight:700;text-align:center}.water-quality-history-dot{width:100%;height:4px;border-radius:999px;background:#176b4d}.water-quality-history-year--good{background:rgba(114,168,86,.12)}.water-quality-history-year--good .water-quality-history-dot{background:#72a856}.water-quality-history-year--sufficient{background:rgba(214,165,68,.12)}.water-quality-history-year--sufficient .water-quality-history-dot{background:#d6a544}.water-quality-history-year--poor{background:rgba(207,96,75,.12)}.water-quality-history-year--poor .water-quality-history-dot{background:#cf604b}.water-quality-history-year--not-classified{background:#edf0ed}.water-quality-history-year--closed{background:rgba(104,123,128,.12)}.water-quality-history-year--closed .water-quality-history-dot{background:#687b80}.water-quality-history-year--not-classified .water-quality-history-dot{background:repeating-linear-gradient(135deg,#c7cfcc 0,#c7cfcc 4px,#edf0ed 4px,#edf0ed 8px)}.water-quality-history-year:last-child{color:var(--deep-sea);font-weight:800}.water-quality-result-links{display:flex;gap:18px;margin-top:10px}.water-quality-result-links a{color:var(--sea);font-family:Jost,sans-serif;font-size:.76rem;font-weight:800}.water-quality-report-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:38px;padding-top:26px;border-top:1px solid rgba(23,51,58,.12);color:var(--muted);font-size:.86rem}.water-quality-report-source p{margin:0}.water-quality-report-source a{color:var(--sea);font-weight:800}.directory-hero.sea-temperature-cycle-hero::before{background:linear-gradient(90deg,rgba(8,46,58,.94),rgba(15,91,94,.3)),linear-gradient(0deg,rgba(9,69,76,.25),transparent 58%)}.sea-temperature-cycle-hero .landing-hero-image{filter:saturate(.8) contrast(1.04)}.sea-temperature-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(36px,8vw,110px);align-items:center}.sea-temperature-intro-copy{max-width:760px}.sea-temperature-rise{display:grid;width:clamp(210px,24vw,290px);aspect-ratio:1;padding:28px;border-radius:50%;color:var(--white);background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.24),transparent 29%),linear-gradient(145deg,#4cabc3,#14766f);box-shadow:0 24px 64px rgba(24,104,111,.24),inset 0 0 0 12px rgba(255,255,255,.1);text-align:center;place-content:center}.sea-temperature-rise strong{font-family:Jost,sans-serif;font-size:clamp(4rem,8vw,5rem);line-height:.9}.sea-temperature-rise span{margin-top:16px;font-family:Jost,sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sea-temperature-rise small{max-width:170px;margin:9px auto 0;color:rgba(255,255,255,.82);font-size:.68rem;line-height:1.35}.sea-temperature-cycle-section{padding-top:24px}.sea-temperature-cycle-shell{padding:clamp(24px,5vw,62px);overflow:hidden;border:1px solid rgba(23,51,58,.1);border-radius:34px;background:radial-gradient(circle at 86% 8%,rgba(91,188,176,.16),transparent 28%),rgba(255,253,248,.94);box-shadow:var(--shadow)}.sea-temperature-cycle-heading{max-width:700px}.sea-temperature-cycle-heading h2{margin-bottom:12px}.sea-temperature-cycle-heading h2+p{color:var(--muted)}.sea-temperature-scale{display:grid;grid-template-columns:auto minmax(120px,230px) auto;gap:10px;align-items:center;width:fit-content;margin-top:20px;color:var(--muted);font-family:Jost,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sea-temperature-scale i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,#297da8,#2596a2 44%,#e0a044 74%,#ed7446)}.sea-temperature-chart{margin:34px 0 0;padding:clamp(12px,3vw,26px);border:1px solid rgba(23,105,113,.1);border-radius:26px;background:linear-gradient(180deg,rgba(224,244,244,.72),rgba(255,255,255,.9))}.sea-temperature-chart svg{display:block;width:100%;height:auto}.sea-temperature-grid line{stroke:rgba(23,51,58,.12);stroke-dasharray:4 8}.sea-temperature-grid text,.sea-temperature-month-label{fill:#617b80;font-family:Jost,sans-serif;font-size:14px;font-weight:700}.sea-temperature-area{fill:url(#sea-temperature-area-gradient)}.sea-temperature-line{fill:none;stroke:url(#sea-temperature-line-gradient);stroke-linecap:round;stroke-linejoin:round;stroke-width:8}.sea-temperature-markers circle{fill:var(--paper);stroke-width:4}.sea-temperature-marker--cool{stroke:#297da8}.sea-temperature-marker--mild{stroke:#2596a2}.sea-temperature-marker--warm{stroke:#e77942}.sea-temperature-chart figcaption{max-width:760px;margin:4px auto 0;color:var(--muted);font-size:.8rem;text-align:center}.sea-temperature-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;margin:22px 0 0;padding:0;list-style:none}.sea-temperature-months li{display:grid;gap:2px;padding:10px 4px;border-radius:12px;color:var(--deep-sea);background:rgba(216,238,234,.58);text-align:center}.sea-temperature-months .sea-temperature-month--cool{background:rgba(87,165,200,.16)}.sea-temperature-months .sea-temperature-month--mild{background:rgba(65,166,166,.14)}.sea-temperature-months .sea-temperature-month--warm{background:rgba(232,139,66,.16)}.sea-temperature-months span{color:var(--muted);font-family:Jost,sans-serif;font-size:.66rem;font-weight:800;text-transform:uppercase}.sea-temperature-months strong{font-family:Jost,sans-serif;font-size:.86rem}.sea-temperature-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px;padding-top:26px;border-top:1px solid rgba(23,51,58,.12);color:var(--muted);font-size:.86rem}.sea-temperature-source p{margin:0}.sea-temperature-source a{color:var(--sea);font-weight:800}.sea-temperature-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.data-story-next{padding-top:34px}.data-story-next .featured-heading .section-lead{max-width:520px}.data-story-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.data-story-guide-card{overflow:hidden;border:1px solid rgba(23,51,58,.1);border-radius:24px;background:var(--white);box-shadow:0 14px 36px rgba(24,57,61,.1)}.data-story-guide-image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--foam)}.data-story-guide-image picture{display:block;width:100%;height:100%}.data-story-guide-image img{width:100%;height:100%;object-fit:cover;transition:transform 220ms ease}.data-story-guide-image:focus-visible img,.data-story-guide-image:hover img{transform:scale(1.035)}.data-story-guide-copy{padding:24px}.data-story-guide-copy h3{margin-bottom:12px;font-size:clamp(1.55rem,3vw,2.2rem)}.data-story-guide-copy h3 a{color:var(--deep-sea);text-decoration:none}.data-story-guide-copy>p:not(.eyebrow){color:var(--muted);font-size:.92rem}.data-story-guide-link,.data-story-related-links a{color:var(--sea);font-family:Jost,sans-serif;font-weight:800}.data-story-guide-link{display:inline-block;margin-top:8px}.data-story-guide-copy h3 a:focus-visible,.data-story-guide-copy h3 a:hover,.data-story-guide-link:focus-visible,.data-story-guide-link:hover,.data-story-related-links a:focus-visible,.data-story-related-links a:hover{text-decoration:underline}.data-story-related{display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr);gap:clamp(32px,7vw,90px);align-items:center;padding-top:36px}.data-story-related-copy{max-width:600px}.data-story-related-copy h2{margin-bottom:14px}.data-story-related-copy p:last-child{color:var(--muted)}.data-story-related-links{display:flex;gap:10px;flex-wrap:wrap}.data-story-related-links a{display:inline-flex;min-height:46px;padding:10px 15px;align-items:center;border:1px solid rgba(29,114,123,.18);border-radius:999px;background:rgba(216,238,234,.55);font-size:.82rem;text-decoration:none}.data-story-next>.data-story-related-links{margin-top:28px}.water-quality-explainer{padding-top:34px}.water-quality-explainer-heading{max-width:780px}.water-quality-explainer-heading h2{margin-bottom:14px}.water-quality-explainer-heading>p:last-child{color:var(--muted)}.water-quality-meaning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 0}.water-quality-meaning-grid div{padding:22px;border:1px solid rgba(23,51,58,.09);border-top:6px solid #176b4d;border-radius:18px;background:var(--white);box-shadow:0 10px 28px rgba(24,57,61,.08)}.water-quality-meaning-grid dt{margin-bottom:8px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:1.2rem;font-weight:800}.water-quality-meaning-grid dd{margin:0;color:var(--muted);font-size:.9rem}.water-quality-meaning-grid .water-quality-meaning--good{border-top-color:#72a856}.water-quality-meaning-grid .water-quality-meaning--sufficient{border-top-color:#d6a544}.water-quality-meaning-grid .water-quality-meaning--poor{border-top-color:#cf604b}.water-quality-method-link{margin:22px 0 0}.water-quality-method-link a{color:var(--sea);font-weight:800}.water-quality-faq{padding-top:34px}.water-quality-faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.water-quality-faq-list article{padding:clamp(24px,4vw,34px);border:1px solid rgba(23,51,58,.09);border-radius:22px;background:linear-gradient(155deg,rgba(255,253,248,.98),rgba(216,238,234,.5))}.water-quality-faq-list h3{margin-bottom:12px;font-size:clamp(1.25rem,2.3vw,1.65rem)}.water-quality-faq-list p{margin:0;color:var(--muted);font-size:.92rem}.beach-hero{position:relative;min-height:620px;overflow:hidden;color:var(--white)}.beach-hero::before{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15));content:""}.beach-hero-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.beach-hero-content{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:185px 5vw 140px}.beach-hero h1{margin-bottom:12px;font-family:Jost,sans-serif;font-weight:500;text-transform:uppercase}.beach-hero .hero-lead{max-width:720px}.bantham-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/bantham/bantham.webp) center/cover}.thurlestone-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/thurlestone/thurlestone.jpg) center/cover}.bigbury-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/bigbury-on-sea/bigbury-on-sea.webp) center/cover}.hope-cove-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/hope-cove/hope-cove.webp) center/cover}.slapton-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/slapton-sands/slapton-sands.webp) center/cover}.blackpool-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/blackpool-sands/blackpool-sands.jpg) center/cover}.south-sands-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/salcombe-south-sands/south-sands-salcombe.webp) center/cover}.north-sands-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/salcombe-north-sands/salcombe-north-sands.webp) center/cover}.east-portlemouth-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/east-portlemouth/east-portlemouth.webp) center/cover}.soar-mill-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/soar-mill-cove/soar-mill-cove.webp) center/cover}.mothecombe-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/mothecombe/mothecombe.webp) center/cover}.beesands-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-hams/beesands/beesands.webp) center/cover}.goodrington-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-devon/goodrington/goodrington.jpg) center/cover}.broadsands-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-devon/broadsands/broadsands.jpg) center/cover}.elberry-cove-hero{background:linear-gradient(90deg,rgba(8,46,52,.85),rgba(8,46,52,.15)),url(/images/beaches/south-devon/elberry-cove/elberry-cove.jpg) center/cover}.goodrington-card .beach-card-image{background:url(/images/beaches/south-devon/goodrington/goodrington.jpg) center/cover}.broadsands-card .beach-card-image{background:url(/images/beaches/south-devon/broadsands/broadsands.jpg) center/cover}.elberry-cove-card .beach-card-image{background:url(/images/beaches/south-devon/elberry-cove/elberry-cove.jpg) center/cover}.north-devon-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/images/beaches/north-devon/north-devon.jpg) center/cover}.north-cornwall-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/images/beaches/north-cornwall/perranporth/perranporth.jpeg) center/cover}.south-cornwall-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/images/beaches/south-cornwall/south-cornwall.jpg) center/cover}.cornwall-directory-hero{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.2)),url(/images/beaches/north-cornwall/perranporth/perranporth.jpeg) center/cover}.beach-guide-hero{background-image:none}.breadcrumbs{margin-bottom:28px;color:rgba(255,255,255,.78);font-size:.9rem}.breadcrumbs a{text-decoration:none}.beach-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}.article section{padding:28px 0 46px;border-bottom:1px solid rgba(23,51,58,.12)}.article section:first-child{padding-top:0}.article h2{margin-bottom:22px;font-size:clamp(2rem,4vw,3rem)}.article h3{margin-bottom:8px;font-size:1.25rem}.article a{color:var(--sea);font-weight:700}.article ul{padding-left:22px}.article li{margin-bottom:12px}.beach-map{overflow:hidden;margin-top:28px;border:1px solid rgba(23,51,58,.1);border-radius:22px;background:var(--paper);box-shadow:0 14px 34px rgba(24,57,61,.1)}.beach-map iframe{display:block;width:100%;height:360px;border:0}.beach-map a{display:block;padding:14px 18px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.notice{margin:26px 0 0;padding:22px 24px;border-left:4px solid var(--coral);border-radius:0 14px 14px 0;background:#fff5ed}.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px;border-radius:24px;background:rgba(29,114,123,.08)}.snapshot-grid-with-overflows{grid-template-columns:repeat(2,1fr)}.snapshot-card{position:relative;overflow:hidden;min-height:142px;padding:24px 20px 20px;border-radius:18px;background:var(--foam);box-shadow:0 8px 24px rgba(24,57,61,.08)}.snapshot-card::before{position:absolute;right:18px;bottom:14px;color:rgba(18,78,88,.16);font-family:Georgia,serif;font-size:3.4rem;line-height:1;content:"≈"}.snapshot-label{display:block;margin-bottom:18px;color:var(--deep-sea);font-family:Jost,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.snapshot-card strong{display:block;font-family:Georgia,serif;font-size:1.3rem}.snapshot-card small{color:var(--muted)}.tide-widget [data-tide-following],.tide-widget [data-tide-next],.tide-widget [data-tide-source]{display:block}.tide-widget [data-tide-following]{margin-top:2px}.tide-widget [data-tide-source]{margin-top:8px;font-size:.65rem;line-height:1.25}.tide-widget-error{background:#fff1ec}.water-quality-widget{position:relative;overflow:hidden;transition:background 180ms ease}.water-quality-widget::after{position:absolute;top:18px;right:18px;width:10px;height:10px;border-radius:50%;background:var(--sea);box-shadow:0 0 0 5px rgba(29,114,123,.12);content:""}.water-quality-widget small{display:block;margin-top:4px}.water-quality-widget a{display:inline-block;margin-top:7px;font-size:.78rem}.water-quality-excellent{background:#d7eee3}.water-quality-excellent::after{background:#23825b;box-shadow:0 0 0 5px rgba(35,130,91,.14)}.water-quality-good{background:#e2edcf}.water-quality-good::after{background:#668d34;box-shadow:0 0 0 5px rgba(102,141,52,.14)}.water-quality-sufficient{background:#f5e5bd}.water-quality-sufficient::after{background:#b37b16;box-shadow:0 0 0 5px rgba(179,123,22,.14)}.water-quality-error,.water-quality-poor{background:#f4d7d0}.water-quality-unmonitored{background:#e8e4db}.water-quality-unmonitored::after{background:#7b7468;box-shadow:0 0 0 5px rgba(123,116,104,.14)}.water-quality-error::after,.water-quality-poor::after{background:#b84935;box-shadow:0 0 0 5px rgba(184,73,53,.14)}.storm-overflow-widget{position:relative;overflow:hidden;transition:background 180ms ease}.storm-overflow-widget::after{position:absolute;top:18px;right:18px;width:10px;height:10px;border-radius:50%;background:#7b7468;box-shadow:0 0 0 5px rgba(123,116,104,.14);content:""}.storm-overflow-widget small{display:block;margin-top:4px}.storm-overflow-widget a{display:inline-block;margin-top:7px;font-size:.78rem}.storm-overflow-clear{background:#d7eee3}.storm-overflow-clear::after{background:#23825b;box-shadow:0 0 0 5px rgba(35,130,91,.14)}.storm-overflow-error,.storm-overflow-partial{background:#f5e5bd}.storm-overflow-error::after,.storm-overflow-partial::after{background:#b37b16;box-shadow:0 0 0 5px rgba(179,123,22,.14)}.storm-overflow-active{background:#f4d7d0}.storm-overflow-active::after{background:#b84935;box-shadow:0 0 0 5px rgba(184,73,53,.14)}.sidebar{position:sticky;top:24px}.byline,.quick-facts,.trust-panel{margin-bottom:22px;padding:28px;border-radius:22px;background:var(--paper);box-shadow:0 12px 35px rgba(24,57,61,.09)}.byline h2,.quick-facts h2,.trust-panel h2{margin-bottom:20px;font-size:1.55rem}.fact{padding:14px 0;border-top:1px solid rgba(23,51,58,.1)}.fact span{display:block;color:var(--muted);font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.fact strong{font-size:1rem}.byline p{margin-bottom:4px;color:var(--muted);font-size:.92rem}.byline-author{display:flex;align-items:center;gap:12px;margin-bottom:4px}.byline-author p{margin-bottom:0}.byline-avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;border:2px solid rgba(23,51,58,.1);object-fit:cover;background:var(--foam)}.trust-panel{border:1px solid rgba(230,120,88,.18);background:linear-gradient(150deg,rgba(255,245,237,.96),rgba(255,253,248,.98))}.trust-panel p{margin-bottom:0;color:var(--muted);font-size:.94rem}.guide-nav{position:sticky;z-index:4;top:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 28px;padding:14px;border:1px solid rgba(23,51,58,.08);border-radius:18px;background:rgba(255,253,248,.92);box-shadow:0 10px 30px rgba(24,57,61,.08);backdrop-filter:blur(12px)}.guide-nav span{margin-right:4px;color:var(--muted);font-family:Jost,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.guide-nav a{padding:7px 10px;border-radius:999px;background:var(--foam);color:var(--deep-sea);font-family:Jost,sans-serif;font-size:.78rem;font-weight:800;text-decoration:none}.place-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.place{padding:24px;border:1px solid rgba(23,51,58,.1);border-radius:18px;background:var(--paper)}.place h3 a{color:var(--deep-sea);text-decoration-thickness:1px;text-underline-offset:4px}.place p{margin-bottom:0;color:var(--muted)}.faq-item{padding:20px 0;border-top:1px solid rgba(23,51,58,.1)}.faq-item h3{font-family:Jost,sans-serif;font-size:1.05rem}.nearby-list{display:flex;flex-wrap:wrap;gap:10px;padding:0!important;list-style:none}.nearby-list li{padding:8px 14px;border-radius:999px;background:var(--foam)}@media print{@page{margin:14mm}*,::after,::before{box-shadow:none!important;text-shadow:none!important}body{background:#fff;color:#111;font-size:11pt}a{color:#111;text-decoration:underline}.beach-map iframe,.guide-nav,.quick-facts-actions,.site-footer,.site-header{display:none!important}.beach-hero{min-height:0;padding:0 0 18px;background:#fff!important;color:#111}.beach-hero-content,.section{max-width:none;padding:0}.breadcrumbs,.byline p,.eyebrow,.hero-lead,.place p,.snapshot-card small,.trust-panel p{color:#333}.beach-hero h1,h1{color:#111;font-size:30pt;white-space:normal}.section h2{font-size:20pt}.beach-layout,.place-list,.snapshot-grid{display:block}.article section,.byline,.faq-item,.place,.quick-facts,.snapshot-card{break-inside:avoid}.article section{margin-bottom:20px}.beach-map,.byline,.notice,.place,.quick-facts,.snapshot-card{margin-bottom:12px;border:1px solid #bbb;border-radius:0;background:#fff!important}.snapshot-card::before,.storm-overflow-widget::after,.water-quality-widget::after{content:none}.sidebar{position:static}}@media (max-width:820px){.region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.15)),url(/images/beaches/south-hams/south-hams-mobile.jpg) center/cover}.north-devon-directory-hero,.north-devon-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/north-devon/north-devon-mobile.jpg) center/cover}.south-devon-directory-hero,.south-devon-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/south-devon/goodrington/goodrington-mobile.jpg) center/cover}.cornwall-directory-hero,.cornwall-region-card,.north-cornwall-directory-hero,.north-cornwall-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/north-cornwall/perranporth/perranporth-mobile.jpg) center/cover}.south-cornwall-directory-hero,.south-cornwall-region-card{background:linear-gradient(90deg,rgba(8,46,52,.9),rgba(8,46,52,.18)),url(/images/beaches/south-cornwall/south-cornwall-mobile.jpg) center/cover}.bantham-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.08),rgba(18,78,88,.22)),url(/images/beaches/south-hams/bantham/bantham-mobile.jpg) center/cover}.thurlestone-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.06),rgba(18,78,88,.22)),url(/images/beaches/south-hams/thurlestone/thurlestone-mobile.jpg) center/cover}.bigbury-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.24)),url(/images/beaches/south-hams/bigbury-on-sea/bigbury-on-sea-mobile.jpg) center/cover}.hope-cove-card .beach-card-image,.slapton-card .beach-card-image,.south-sands-card .beach-card-image{background-image:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.2)),var(--mobile-beach-image)}.hope-cove-card{--mobile-beach-image:url("/images/beaches/south-hams/hope-cove/hope-cove-mobile.jpg")}.slapton-card{--mobile-beach-image:url("/images/beaches/south-hams/slapton-sands/slapton-sands-mobile.jpg")}.south-sands-card{--mobile-beach-image:url("/images/beaches/south-hams/salcombe-south-sands/south-sands-salcombe-mobile.jpg")}.blackpool-card .beach-card-image{background:linear-gradient(rgba(18,78,88,.05),rgba(18,78,88,.18)),url(/images/beaches/south-hams/blackpool-sands/blackpool-sands-mobile.jpg) center/cover}.beesands-card,.bude-card,.combe-martin-card,.constantine-bay-card,.croyde-card,.east-portlemouth-card,.fistral-card,.harlyn-bay-card,.ilfracombe-card,.mawgan-porth-card,.mothecombe-card,.north-sands-card,.perranporth-card,.polzeath-card,.porthtowan-card,.putsborough-card,.sandymouth-card,.saunton-card,.soar-mill-card,.towan-card,.trevone-bay-card,.watergate-bay-card,.westward-ho-card,.woolacombe-card{--mobile-card-overlay:linear-gradient(90deg, rgba(8, 46, 52, 0.82), rgba(8, 46, 52, 0.12))}.beesands-card .beach-card-image,.bude-card .beach-card-image,.combe-martin-card .beach-card-image,.constantine-bay-card .beach-card-image,.croyde-card .beach-card-image,.east-portlemouth-card .beach-card-image,.fistral-card .beach-card-image,.harlyn-bay-card .beach-card-image,.ilfracombe-card .beach-card-image,.mawgan-porth-card .beach-card-image,.mothecombe-card .beach-card-image,.north-sands-card .beach-card-image,.perranporth-card .beach-card-image,.polzeath-card .beach-card-image,.porthtowan-card .beach-card-image,.putsborough-card .beach-card-image,.sandymouth-card .beach-card-image,.saunton-card .beach-card-image,.soar-mill-card .beach-card-image,.towan-card .beach-card-image,.trevone-bay-card .beach-card-image,.watergate-bay-card .beach-card-image,.westward-ho-card .beach-card-image,.woolacombe-card .beach-card-image{background-image:var(--mobile-card-overlay),var(--mobile-beach-image)}.north-sands-card{--mobile-beach-image:url("/images/beaches/south-hams/salcombe-north-sands/salcombe-north-sands-mobile.jpg")}.east-portlemouth-card{--mobile-beach-image:url("/images/beaches/south-hams/east-portlemouth/east-portlemouth-mobile.jpg")}.soar-mill-card{--mobile-beach-image:url("/images/beaches/south-hams/soar-mill-cove/soar-mill-cove-mobile.jpg")}.mothecombe-card{--mobile-beach-image:url("/images/beaches/south-hams/mothecombe/mothecombe-mobile.jpg")}.beesands-card{--mobile-beach-image:url("/images/beaches/south-hams/beesands/beesands-mobile.jpg")}.woolacombe-card{--mobile-beach-image:url("/images/beaches/north-devon/woolacombe/woolacombe-mobile.jpg")}.croyde-card{--mobile-beach-image:url("/images/beaches/north-devon/croyde/croyde-mobile.jpg")}.saunton-card{--mobile-beach-image:url("/images/beaches/north-devon/saunton-sands/saunton-sands-mobile.jpg")}.putsborough-card{--mobile-beach-image:url("/images/beaches/north-devon/putsborough/putsborough-mobile.jpg")}.westward-ho-card{--mobile-beach-image:url("/images/beaches/north-devon/westward-ho/westward-ho-mobile.jpg")}.combe-martin-card{--mobile-beach-image:url("/images/beaches/north-devon/combe-martin/combe-martin-mobile.jpg")}.ilfracombe-card{--mobile-beach-image:url("/images/beaches/north-devon/ilfracombe/ilfracombe-mobile.jpg")}.sandymouth-card{--mobile-beach-image:url("/images/beaches/north-devon/sandymouth/sandymouth-mobile.jpg")}.fistral-card{--mobile-beach-image:url("/images/beaches/north-cornwall/fistral/fistral-mobile.jpg")}.watergate-bay-card{--mobile-beach-image:url("/images/beaches/north-cornwall/watergate-bay/watergate-bay-mobile.jpg")}.polzeath-card{--mobile-beach-image:url("/images/beaches/north-cornwall/polzeath/polzeath-mobile.jpg")}.constantine-bay-card{--mobile-beach-image:url("/images/beaches/north-cornwall/constantine-bay/constantine-bay-mobile.jpg")}.bude-card{--mobile-beach-image:url("/images/beaches/north-cornwall/bude/bude-mobile.jpg")}.perranporth-card{--mobile-beach-image:url("/images/beaches/north-cornwall/perranporth/perranporth-mobile.jpg")}.porthtowan-card{--mobile-beach-image:url("/images/beaches/north-cornwall/porthtowan/porthtowan-mobile.jpg")}.harlyn-bay-card{--mobile-beach-image:url("/images/beaches/north-cornwall/harlyn-bay/harlyn-mobile.jpg")}.mawgan-porth-card{--mobile-beach-image:url("/images/beaches/north-cornwall/mawgan-porth/magwan-porth-mobile.jpg")}.trevone-bay-card{--mobile-beach-image:url("/images/beaches/north-cornwall/trevone-bay/trevone-mobile.jpg")}.towan-card{--mobile-beach-image:url("/images/beaches/north-cornwall/towan/towan-mobile.jpg")}.kynance-cove-card{--mobile-beach-image:url("/images/beaches/south-cornwall/kynance-cove/kynance-cove-mobile.jpg")}.porthcurno-card{--mobile-beach-image:url("/images/beaches/south-cornwall/porthcurno/porthcurno-mobile.jpg")}.praa-sands-card{--mobile-beach-image:url("/images/beaches/south-cornwall/praa-sands/praa-sands-mobile.jpg")}.readymoney-cove-card{--mobile-beach-image:url("/images/beaches/south-cornwall/readymoney-cove/readymoney-cove-mobile.jpg")}.maenporth-card{--mobile-beach-image:url("/images/beaches/south-cornwall/maenporth/maenporth-mobile.jpg")}.swanpool-beach-card{--mobile-beach-image:url("/images/beaches/south-cornwall/swanpool-beach/swanpool-beach-mobile.jpg")}.coverack-card{--mobile-beach-image:url("/images/beaches/south-cornwall/coverack/coverack-beach-mobile.jpg")}.polkerris-card{--mobile-beach-image:url("/images/beaches/south-cornwall/polkerris/polkerris-mobile.jpg")}.poldhu-cove-card{--mobile-beach-image:url("/images/beaches/south-cornwall/poldhu-cove/poldhu-cove-mobile.jpg")}.coverack-card .beach-card-image,.kynance-cove-card .beach-card-image,.maenporth-card .beach-card-image,.poldhu-cove-card .beach-card-image,.polkerris-card .beach-card-image,.porthcurno-card .beach-card-image,.praa-sands-card .beach-card-image,.readymoney-cove-card .beach-card-image,.swanpool-beach-card .beach-card-image{background-image:var(--mobile-beach-image)}.hero{min-height:680px}.beach-card,.beach-layout,.best-for-grid,.chart-hub-temperature-grid,.coast-map-section,.comparison-promo,.intro-grid,.landing-beach-card{grid-template-columns:1fr}.water-quality-report-intro{grid-template-columns:1fr}.sea-temperature-intro{grid-template-columns:1fr}.water-quality-score{width:min(260px,72vw)}.sea-temperature-rise{width:min(250px,70vw)}.dog-directory-summary,.landing-beach-details{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-beach-image img{min-height:280px;max-height:380px}.hero-content{grid-template-columns:1fr}.intro-grid{gap:45px}.beach-card-copy{padding:38px 30px}.beach-card{height:auto}.region-card-copy{padding:42px 30px}.beach-card-reverse .beach-card-image{order:0}.beach-layout{gap:34px}.sidebar{position:static}.snapshot-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-logo{justify-self:start}.site-footer::after{margin-top:52px}.not-found-content{padding-bottom:64px}.not-found-message{margin-top:42px}.dog-region-link{display:inline-block;margin-top:16px}}@media (max-width:560px){.site-header{padding-top:18px}.nav{align-items:flex-start;gap:14px}.brand{font-size:1rem}.brand-mark{width:30px;height:45px}.nav-links{max-width:180px;gap:3px 12px}.nav-link{padding:0 0 2px;font-size:.68rem}.site-search-button{width:30px;height:30px;padding:5px}.site-search-panel{padding:24px 20px}.site-search-results a{align-items:flex-start;flex-direction:column;gap:2px}.site-search-result-region{text-align:left}.hero-content{padding-right:24px;padding-left:24px}h1{font-size:3.6rem}.directory-hero h1{font-size:clamp(2.25rem,12vw,3.6rem);white-space:normal}.section{padding:72px 24px}.featured-heading{display:block}.sea-temperature-directory-grid{grid-template-columns:1fr}.water-quality-report-heading{display:block}.water-quality-legend{margin-top:22px;justify-content:flex-start}.water-quality-result{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:18px 14px}.water-quality-result-heading{gap:10px}.water-quality-result-links{gap:8px 14px;flex-wrap:wrap}.water-quality-history{gap:5px}.water-quality-report-source{grid-template-columns:1fr}.sea-temperature-months{grid-template-columns:repeat(6,minmax(0,1fr))}.sea-temperature-source{grid-template-columns:1fr}.sea-temperature-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-story-guide-grid{grid-template-columns:1fr}.data-story-related{grid-template-columns:1fr}.water-quality-faq-list,.water-quality-meaning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dog-directory-summary,.landing-beach-details{grid-template-columns:1fr}.water-quality-faq-list,.water-quality-meaning-grid{grid-template-columns:1fr}.landing-beach-copy{padding:26px 22px 30px}.landing-beach-actions{align-items:flex-start;flex-direction:column}.best-for-card{min-height:auto;padding:26px}.card-facts{grid-template-columns:1fr}.filter-panel{padding:14px}.place-list{grid-template-columns:1fr}}