/* WordPress-specific additions for the Culligan Parks theme */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.page-hero.slim{padding:90px 0 70px}
.page-hero .sub{max-width:680px}

/* Coming soon */
.coming-soon{display:grid;grid-template-columns:1fr 1.15fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-s)}
.cs-media{position:relative;min-height:340px}
.cs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cs-badge{position:absolute;top:18px;left:18px;display:inline-flex;gap:6px;align-items:center;background:var(--sun);color:var(--ink);font-weight:700;font-size:.85rem;padding:7px 14px;border-radius:999px}
.cs-body{padding:44px}
.cs-body h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:4px 0 12px}
.cs-body p{color:var(--muted);margin-bottom:12px}
.cs-body .btn .ic-svg{margin-right:2px}
@media (max-width:900px){.coming-soon{grid-template-columns:1fr}.cs-media{min-height:220px}.cs-body{padding:28px}}

.hero-notice{display:flex;align-items:center;gap:18px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px 22px;flex-wrap:wrap}
.hero-notice div{flex:1;min-width:220px}
.hero-notice strong{display:block;font-family:Montserrat,sans-serif;font-size:1.15rem;color:var(--pine)}
.hero-notice small{color:var(--muted);font-size:.92rem}

a.park-tab,a.filter-chip{text-decoration:none}

/* Blog */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-s);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s}
.post-card:hover{transform:translateY(-4px)}
.post-thumb{aspect-ratio:16/10;overflow:hidden}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.post-date{font-size:.8rem;color:var(--gold-2);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.post-body h3{font-size:1.3rem;margin:8px 0 10px}
.post-body p{color:var(--muted);font-size:.95rem;margin-bottom:16px}
.post-body .link-arrow{margin-top:auto}
@media (max-width:1000px){.post-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.post-grid{grid-template-columns:1fr}}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.article{max-width:none}
.article .article-img{border-radius:20px;margin-bottom:26px;width:100%;height:auto}
.article h2{font-size:1.6rem!important}
.article h3{font-size:1.25rem;margin:22px 0 8px}
.article ul,.article ol{margin:0 0 18px 22px;color:#3c4a5e}
.article li{margin-bottom:6px}
.article-side{position:sticky;top:110px;display:grid;gap:18px}
.article-side .spec-card{margin:0}
.side-links{list-style:none;display:grid;gap:8px}
.side-links a{color:var(--pine-2);font-weight:600;text-decoration:none}
.side-links a:hover{text-decoration:underline}
@media (max-width:980px){.article-wrap{grid-template-columns:1fr}.article-side{position:static}}
.prose ul{margin:0 0 18px 22px}
.prose a{color:var(--pine-2)}
.listings > .wrap > .coming-soon:first-child{margin-top:56px}

/* ---------- Section background images – several treatments ----------
   cp_fade('file.jpg', 'variant', 'focal point')
   wash · corner-tr · corner-bl · side-right · side-left · horizon · diagonal · frame-right · mono */
[data-fade]{position:relative;isolation:isolate;overflow:hidden}
[data-fade]::before,[data-fade]::after{content:"";position:absolute;z-index:-1;pointer-events:none}
[data-fade]::before{inset:0;background:var(--fade) var(--fade-pos,center)/cover no-repeat;opacity:.09;filter:saturate(.9)}

/* wash – soft full-width tint that dissolves top and bottom */
[data-fade="wash"]::before{-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}

/* corner – only a corner of the photo shows, melting into the page */
[data-fade="corner-tr"]::before{inset:0 0 auto auto;width:min(62%,860px);height:92%;opacity:.22;
  -webkit-mask-image:radial-gradient(115% 105% at 100% 0%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%);mask-image:radial-gradient(115% 105% at 100% 0%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%)}
[data-fade="corner-bl"]::before{inset:auto auto 0 0;width:min(58%,800px);height:88%;opacity:.2;
  -webkit-mask-image:radial-gradient(115% 105% at 0% 100%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%);mask-image:radial-gradient(115% 105% at 0% 100%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%)}

/* side – photo bleeds in from one edge with a long gradient */
[data-fade="side-right"]::before,[data-fade="side-left"]::before{width:60%;opacity:.2;-webkit-mask-composite:source-in;mask-composite:intersect}
[data-fade="side-right"]::before{inset:0 0 0 auto;
  -webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
[data-fade="side-left"]::before{inset:0 auto 0 0;
  -webkit-mask-image:linear-gradient(270deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
  mask-image:linear-gradient(270deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}

/* horizon – landscape rises from the bottom of the section, with a brand-blue glow */
[data-fade="horizon"]::before{inset:auto 0 0 0;height:78%;opacity:.22;background-position:var(--fade-pos,center bottom);
  -webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 30%,transparent 100%);mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 30%,transparent 100%)}
[data-fade="horizon"]::after{inset:auto 0 0 0;height:40%;background:linear-gradient(0deg,rgba(11,53,102,.07),transparent)}

/* diagonal – photo sweeps in from the bottom-right on an angle */
[data-fade="diagonal"]::before{opacity:.2;
  -webkit-mask-image:linear-gradient(125deg,transparent 35%,rgba(0,0,0,.55) 62%,#000 100%);mask-image:linear-gradient(125deg,transparent 35%,rgba(0,0,0,.55) 62%,#000 100%)}
[data-fade="diagonal"]::after{inset:0;background:linear-gradient(125deg,transparent 55%,rgba(63,154,52,.05) 100%)}

/* frame-right – a crisp angled panel of photo on the right, like a magazine layout */
[data-fade="frame-right"]::before{inset:0 0 0 auto;width:38%;opacity:.3;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
[data-fade="frame-right"]::after{inset:0 0 0 auto;width:38%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(18,113,189,.09),rgba(11,53,102,.03))}

/* mono – black & white wash with a gentle blue tone */
[data-fade="mono"]::before{opacity:.11;filter:grayscale(1) contrast(1.05);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent)}
[data-fade="mono"]::after{inset:0;background:linear-gradient(180deg,rgba(18,113,189,.05),rgba(18,113,189,.09))}

/* Keep content readable on top */
[data-fade] .wrap{position:relative}

@media (max-width:900px){
  [data-fade="corner-tr"]::before,[data-fade="corner-bl"]::before{width:100%;height:55%}
  [data-fade="side-right"]::before,[data-fade="side-left"]::before{width:100%;opacity:.15}
  [data-fade="frame-right"]::before,[data-fade="frame-right"]::after{width:55%;height:45%;bottom:auto;opacity:.22}
  [data-fade="diagonal"]::before{opacity:.15}
}

/* Contact: boxes only */
.contact-main.solo{display:block;background:none;padding:0}
.contact-big.row{grid-template-columns:1fr 1fr;gap:20px}
.contact-big.row a{padding:24px 26px;font-size:1.4rem}
@media (max-width:760px){.contact-big.row{grid-template-columns:1fr}.contact-big.row a{font-size:1.15rem}}

/* Text colours: body text black, banner text white */
:root{--ink:#000;--muted:#000}
body,.prose p,.article ul,.article ol,.muted-p,.card p,.card-body p,.cs-body p,.post-body p,.faq p,.enq-intro p,.split p,.home-card,.spec-card{color:#000}
.hero,.hero p,.page-hero,.page-hero .sub,.breadcrumbs,.breadcrumbs a,.breadcrumbs span,
.explore-band,.explore-band p,.explore-points span,
.band-pine,.band-pine p,.band-pine li,.band-pine .ticks li,.panel p,
.dev-band,.dev-band p,.dev-band li,
.way,.way p{color:#fff}

/* =========================================================
   Atmosphere: gradients, contours and logo hills
   ========================================================= */
:root{--deep:#082a52;--seaglass:#e8f3ef;--haar:#edf4fb}

/* Light "mist" sections: haar-to-seaglass wash with faint contour lines */
.section-mist{background:
  url(img/contour-light.svg) right -180px top -120px/1100px auto no-repeat,
  linear-gradient(170deg,#edf4fb 0%,#f5f9fd 45%,#eaf4ee 100%)}
.section-mist > .wrap{position:relative}
/* contours at low strength */
.section-mist{--contour-o:.06}
.section-mist{background-blend-mode:normal}

/* White sections: a whisper of firth blue from the corner */
.section:not(.section-mist){background:
  radial-gradient(900px 420px at 0% 0%,rgba(18,113,189,.05),transparent 70%),
  radial-gradient(700px 380px at 100% 100%,rgba(63,154,52,.045),transparent 70%),#fff}

/* Stat strips: machair-to-sky band */
.stats,.facts-strip{background:linear-gradient(100deg,#eef7ea 0%,#e9f3fb 60%,#edf4fb 100%);position:relative}
.stats::after,.facts-strip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--pine-3) 60%,var(--sun))}

/* Dark bands: deep loch gradient, glow, contours and the logo's layered hills */
.band-pine,.dev-band{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(800px 500px at 85% 0%,rgba(18,113,189,.55),transparent 65%),
  radial-gradient(700px 420px at 0% 100%,rgba(63,154,52,.22),transparent 60%),
  linear-gradient(160deg,#0b3566 0%,#082a52 100%)}
.band-pine::before,.dev-band::before{content:"";position:absolute;inset:0;z-index:-1;background:url(img/contour-dark.svg) left -200px center/1200px auto no-repeat;opacity:.07}
.band-pine::after,.dev-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:-1;background:url(img/hills-dark.svg) bottom/100% 100% no-repeat}
.band-pine{padding-bottom:150px}

/* Footer: hills rising into the top edge */
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding-top:80px;background:
  radial-gradient(700px 300px at 90% 30%,rgba(18,113,189,.25),transparent 70%),linear-gradient(180deg,#0a3060,#071f3d)}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:url(img/contour-dark.svg) right -300px top -160px/1200px auto no-repeat;opacity:.06}

/* ---------- Homepage park carousel ---------- */
.park-stage-wrap{position:relative;isolation:isolate;padding:100px 0 110px;color:#fff;overflow:hidden;background:
  radial-gradient(900px 520px at 100% 0%,rgba(18,113,189,.5),transparent 65%),
  radial-gradient(700px 500px at 0% 100%,rgba(63,154,52,.2),transparent 60%),
  linear-gradient(170deg,#0b3566,#082a52)}
.park-stage-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background:url(img/contour-dark.svg) right -260px top -80px/1300px auto no-repeat;opacity:.08}
.ps-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.ps-head h2{color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:800;letter-spacing:-.02em;line-height:1}
.ps-head p{color:#fff;opacity:.85;max-width:560px;margin-top:14px;font-size:1.05rem}
.ps-arrows{display:flex;gap:10px;flex:none}
.ps-arrow{width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.ps-arrow:hover{background:#fff;color:var(--pine);border-color:#fff}
.ps-arrow:focus-visible,.ps-tab:focus-visible{outline:3px solid var(--sun);outline-offset:3px}

.park-stage{position:relative;border-radius:30px;overflow:hidden;box-shadow:0 40px 80px rgba(3,15,32,.45);background:#06213f}
.ps-slides{position:relative;height:clamp(580px,70vh,680px)}
.ps-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.ps-slide.is-active{opacity:1;visibility:visible;transition:opacity .9s ease}
.ps-img{position:absolute;inset:0;overflow:hidden}
.ps-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 8s ease-out}
.ps-slide.is-active .ps-img img{transform:scale(1)}
.ps-img::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(6,29,58,.92) 0%,rgba(6,29,58,.72) 34%,rgba(6,29,58,.2) 62%,rgba(6,29,58,0) 80%),
  linear-gradient(0deg,rgba(6,29,58,.75) 0%,transparent 35%)}
.ps-body{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:48px 60px 118px;max-width:640px}
.ps-place{display:flex;align-items:center;gap:8px;color:var(--sun);font-weight:700;font-size:.95rem;margin-bottom:14px}
.ps-body h3{color:#fff;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:800;letter-spacing:-.025em;line-height:.98;margin-bottom:18px}
.ps-summary{color:#fff;font-size:1.04rem;line-height:1.6;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ps-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.ps-chips li{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);font-size:.85rem;font-weight:600;color:#fff;backdrop-filter:blur(6px)}
.ps-slide .btn-ghost{border-color:rgba(255,255,255,.6)}

.ps-tabs{position:absolute;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);background:linear-gradient(0deg,rgba(6,29,58,.55),rgba(6,29,58,.15));backdrop-filter:blur(8px)}
.ps-tab{position:relative;text-align:left;background:none;border:0;color:#fff;padding:20px 28px 22px;cursor:pointer;font-family:var(--sans);opacity:.62;transition:opacity .25s}
.ps-tab + .ps-tab{border-left:1px solid rgba(255,255,255,.14)}
.ps-tab:hover,.ps-tab.is-active{opacity:1}
.ps-tab strong{display:block;font-family:var(--serif);font-weight:800;font-size:1.15rem}
.ps-tab span{font-size:.86rem;opacity:.85}
.ps-progress{position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--sun)}
.ps-tab.is-active .ps-progress{animation:psProgress var(--ps-interval,7000ms) linear forwards}
.ps-paused .ps-tab.is-active .ps-progress{animation-play-state:paused}
.ps-stopped .ps-tab.is-active .ps-progress{animation:none;width:100%}
@keyframes psProgress{from{width:0}to{width:100%}}

@media (max-width:900px){
  .park-stage-wrap{padding:70px 0 80px}
  .ps-head{align-items:flex-start;flex-direction:column}
  .ps-arrows{display:none}
  .ps-slides{height:auto}
  .ps-slide.is-active{position:relative}
  .ps-summary{-webkit-line-clamp:4}
  .ps-tabs{position:relative}
  .ps-img::after{background:linear-gradient(0deg,rgba(6,29,58,.95) 0%,rgba(6,29,58,.8) 45%,rgba(6,29,58,.25) 75%,rgba(6,29,58,.1) 100%)}
  .ps-body{justify-content:flex-end;padding:200px 24px 30px;max-width:none;min-height:560px}
  .ps-body .btn-row .btn{flex:1 1 auto;justify-content:center}
  .ps-tab{padding:16px 14px 18px}
  .ps-tab strong{font-size:1rem}
  .ps-tab span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ps-slide,.ps-slide.is-active{transition:none}
  .ps-img img,.ps-slide.is-active .ps-img img{transform:none;transition:none}
}

/* ---------- Photo carousel (.img-slider) ---------- */
.img-slider{position:relative;min-width:0}
.is-stage{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#0b3566;box-shadow:0 26px 60px rgba(8,30,62,.22);touch-action:pan-y}
.is-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s ease}
.is-slide.is-on{opacity:1}
.img-slider .is-slide img,.split-media .img-slider img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none;transform:scale(1.04);transition:transform 6s ease-out}
.is-slide.is-on img{transform:scale(1)}
.is-stage::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(0deg,rgba(6,29,58,.6),transparent);pointer-events:none}
.is-controls{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:8px}
.is-count{color:#fff;font-weight:600;font-size:.9rem;margin-right:6px;letter-spacing:.02em}
.is-count b{font-family:var(--serif);font-size:1.15rem}
.is-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);background:rgba(6,29,58,.35);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,color .2s}
.is-btn:hover{background:#fff;color:var(--pine)}
.is-btn:focus-visible,.is-thumb:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.is-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding:2px}
.is-thumbs::-webkit-scrollbar{display:none}
.is-thumb{flex:0 0 calc((100% - 50px)/6);min-width:64px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:0;padding:0;cursor:pointer;opacity:.55;transition:opacity .2s,box-shadow .2s;background:none}
.is-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important;box-shadow:none!important;aspect-ratio:auto!important}
.is-thumb:hover{opacity:.9}
.is-thumb.is-on{opacity:1;box-shadow:0 0 0 3px var(--gold)}
.is-dark .is-thumb.is-on{box-shadow:0 0 0 3px var(--sun)}
.is-dark .is-stage{box-shadow:0 30px 70px rgba(2,12,28,.5)}
.dev-media{min-width:0}
@media (max-width:640px){.is-thumb{flex-basis:72px}.is-btn{width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.is-slide{transition:none}.img-slider .is-slide img{transform:none;transition:none}}
