/* photo mood cards (open a short list below, like the guide cards) */
.svc-page .mood-grid{grid-template-columns:repeat(4,1fr)}
.svc-page .g-card.mood{position:relative;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.1rem;color:#fff;background:#0b3f47;border:0;overflow:hidden;text-align:left}
.svc-page .g-card.mood img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc-page .g-card.mood::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,47,53,.1) 0%,rgba(7,47,53,.35) 35%,rgba(7,47,53,.92) 100%)}
.svc-page .g-card.mood>*:not(img){position:relative;z-index:2}
.svc-page .g-card.mood b{font:900 1.2rem/1.05 var(--font-poster);text-transform:uppercase;color:#fff}
.svc-page .g-card.mood p{color:#e6eef0;font:400 .86rem/1.35 var(--font-body);margin:.35rem 0 0}
.svc-page .g-card.mood i{color:#f5c9b8;margin-top:.55rem}
.svc-page .g-card.mood:hover img{transform:scale(1.04)}
.svc-page .g-card.mood.on{outline:4px solid var(--clay);outline-offset:-4px}
.svc-page .g-card.mood.on::after{content:'';position:absolute;left:50%;bottom:-1px;z-index:3;border:10px solid transparent;border-bottom-color:#fff;transform:translateX(-50%)}
/* adventure */
.svc-page .xa-cta{display:flex;gap:.7rem;margin-top:1.6rem;flex-wrap:wrap}
.svc-page .cta-btn.ghost{background:transparent;border:2px solid #fff;color:#fff}
.svc-page .xa-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.svc-page .xa-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .15s}
.svc-page .xa-card:hover{border-color:var(--teal)}
.svc-page .xa-card__im{aspect-ratio:16/9;background:#0b3f47 center/cover no-repeat}
.svc-page .xa-card__im--map{display:flex;align-items:flex-end;padding:.8rem;background:linear-gradient(135deg,#0b3f47,#3f6f7a)}
.svc-page .xa-card__im--map span{font:800 .72rem/1 var(--font-poster);letter-spacing:.16em;text-transform:uppercase;color:#cfe0e3}
.svc-page .xa-card__b{padding:1rem 1.05rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.svc-page .xa-card__b small{font:700 .7rem/1.2 var(--font-poster);letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}
.svc-page .xa-card__b b{font:900 1.05rem/1.1 var(--font-poster);text-transform:uppercase}
.svc-page .xa-card__b p{font:400 .88rem/1.45 var(--font-body);margin:0;color:#3c4d51;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.svc-page .xa-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:auto;padding-top:.4rem}
.svc-page .xa-tags span{font:700 .64rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;padding:.35rem .5rem;border:1px solid var(--line);color:#3c4d51}
.svc-page .xa-tags .pm{background:var(--clay);border-color:var(--clay);color:#fff}
.svc-page .xa-tags .fr{background:var(--teal);border-color:var(--teal);color:#fff}
.svc-page .xa-permit{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start}
.svc-page .xa-permit p{font:400 1.05rem/1.6 var(--font-body);margin:0;color:#e6eef0}
.svc-page .xa-permit ul{margin:0;padding:0;list-style:none;columns:2;column-gap:1.2rem}
.svc-page .xa-permit li{break-inside:avoid;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
.svc-page .xa-permit a{color:#fff;font:600 .92rem var(--font-body);text-decoration:none}
.svc-page .xa-season{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.svc-page .xa-season>div{background:#fff;border:1px solid var(--line);padding:1.1rem 1.2rem}
.svc-page .xa-season h3{font:900 1.05rem/1 var(--font-poster);text-transform:uppercase;margin:0 0 .6rem;display:flex;justify-content:space-between}
.svc-page .xa-season h3 em{font-style:normal;color:var(--clay)}
.svc-page .xa-areas{margin:0 0 1.2rem}
.svc-page .xa-areas em{font-style:normal;color:var(--clay);margin-left:.25rem}
.svc-page .xa-band{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:2rem;margin:2.5rem 0 2rem;color:#fff;text-decoration:none;background:#0b3f47 center/cover no-repeat;overflow:hidden}
.svc-page .xa-band::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,47,53,.9),rgba(7,47,53,.35))}
.svc-page .xa-band>*{position:relative}
.svc-page .xa-band span{font:800 .74rem/1 var(--font-poster);letter-spacing:.2em;text-transform:uppercase;color:#f5c9b8}
.svc-page .xa-band b{font:900 clamp(1.5rem,3vw,2.3rem)/1.05 var(--font-poster);text-transform:uppercase;margin-top:.6rem;max-width:760px}
.svc-page .xa-band b em{font-family:var(--font-accent);font-weight:400;text-transform:none;color:var(--lake-light,#a9c4cb)}
.svc-page .pub-strip .oc em{color:var(--teal)}
/* type page */
.svc-page .eh--short{min-height:420px}
.svc-page .tp-towns button{font:700 .78rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line);padding:.55rem .7rem;margin-right:.35rem;cursor:pointer;color:var(--ink)}
.svc-page .tp-towns button em{font-style:normal;color:var(--clay);margin-left:.2rem}
.svc-page .tp-towns button.on{background:var(--teal);border-color:var(--teal);color:#fff}.svc-page .tp-towns button.on em{color:#f5c9b8}
.svc-page .tp-open{margin-left:auto;font:700 .78rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;display:flex;gap:.4rem;align-items:center;white-space:nowrap}
.svc-page .tp-town{margin:0 0 2.2rem}
.svc-page .tp-town h3{font:900 1.3rem/1 var(--font-poster);text-transform:uppercase;margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:2px solid var(--ink)}
.svc-page .tp-town h3 em{font-style:normal;color:var(--clay);font-size:.9rem;margin-left:.3rem}
.svc-page .tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.svc-page .sd-card__r{font:600 .8rem var(--font-body);color:#3c4d51;margin-top:auto}
.svc-page .tp-map .map{grid-column:1/-1}
.svc-page .tp-rel{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.svc-page .mood-grid{grid-template-columns:repeat(2,1fr)}.svc-page .xa-cards,.svc-page .tp-grid{grid-template-columns:1fr 1fr}.svc-page .xa-permit{grid-template-columns:1fr}}
@media (max-width:640px){.svc-page .g-card.mood{min-height:150px;padding:.85rem}.svc-page .g-card.mood p{display:none}.svc-page .g-card.mood b{font-size:1rem}.svc-page .xa-cards,.svc-page .tp-grid,.svc-page .xa-season{grid-template-columns:1fr}.svc-page .xa-permit ul{columns:1}.svc-page .tp-rel{grid-template-columns:1fr 1fr}.svc-page .tp-towns .sd-bar__in{flex-wrap:nowrap;overflow-x:auto}.svc-page .tp-open{margin-left:.6rem}}

.svc-page .g-card.mood{justify-content:flex-end!important}
.svc-page .xa-card__im{position:relative}
.svc-page .xa-card__im i{position:absolute;right:.4rem;bottom:.35rem;font:400 .62rem var(--font-body);font-style:normal;color:#fff;background:rgba(0,0,0,.45);padding:.15rem .35rem;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-page .xa-card__im--map{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.35rem}
.svc-page .xa-card__im--map em{font:700 .62rem/1 var(--font-poster);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:#f5c9b8;border:1px solid rgba(245,201,184,.5);padding:.3rem .45rem}
.svc-page .tp-grid .sd-card__logo{height:120px}
.svc-page .tp-grid .sd-card__logo.init{background:#e8f0f1}
.svc-page .tp-grid .sd-card__logo.init .sd-card__init{color:var(--teal)}
@media (max-width:640px){.svc-page .tp-grid{grid-template-columns:1fr 1fr;gap:.55rem}.svc-page .tp-grid .sd-card__logo{height:84px}.svc-page .tp-grid .sd-card p{display:none}.svc-page .tp-grid .sd-card__b{padding:.6rem .65rem}}
/* logos in slim rows: whole logo, fitted */
.svc-page .row .lg--fit{background-size:contain!important;background-repeat:no-repeat;background-position:center;background-color:#fff;background-origin:content-box;padding:4px}
.svc-page .row .lg--fit.dark{background-color:var(--teal)}
/* day planner */
.svc-page .day-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:1.2rem}
.svc-page .day-head .sv-h{margin:0}
.svc-page .day-towns{display:flex;gap:0;border-bottom:2px solid var(--ink);margin-bottom:1.3rem;overflow-x:auto;scrollbar-width:none}
.svc-page .day-towns::-webkit-scrollbar{display:none}
.svc-page .day-towns button{flex:none;font:800 .8rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;background:none;border:0;padding:.9rem 1.1rem;cursor:pointer;color:#3c4d51;border-bottom:4px solid transparent;margin-bottom:-2px}
.svc-page .day-towns button:hover{color:var(--ink)}
.svc-page .day-towns button.on{color:var(--ink);border-bottom-color:var(--clay)}
.svc-page .day{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
.svc-page .day--line::before{content:'';position:absolute;left:12%;right:12%;top:-.65rem;border-top:2px dashed var(--line)}
.svc-page .dc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line)}
.svc-page .dc__im{position:relative;aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;padding:.9rem;background:#0b3f47 center/cover no-repeat;color:#fff}
.svc-page .dc__im::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,47,53,.05) 30%,rgba(7,47,53,.85))}
.svc-page .dc__im>*{position:relative}
.svc-page .dc__im b{font:900 1.25rem/1 var(--font-poster);text-transform:uppercase}
.svc-page .dc__step{position:absolute!important;top:.7rem;left:.7rem;display:flex;align-items:center;gap:.45rem;font:800 .68rem/1 var(--font-poster);letter-spacing:.16em;text-transform:uppercase;background:#fff;color:var(--ink);padding:.35rem .55rem .35rem .35rem}
.svc-page .dc__step i{font-style:normal;display:grid;place-items:center;width:1.25rem;height:1.25rem;background:var(--clay);color:#fff;letter-spacing:0}
.svc-page .dc__b{padding:.95rem 1rem 1rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.svc-page .dc__nm{font:700 1.05rem/1.25 var(--font-body);color:var(--ink);text-decoration:none}
.svc-page .dc__nm:hover{color:var(--teal);text-decoration:underline}
.svc-page .dc__meta{font:500 .84rem var(--font-body);color:#3c4d51}
.svc-page .dc__meta .far{color:var(--clay);font-weight:700}
.svc-page .dc__hrs{font:700 .72rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;color:#2e7d4f}
.svc-page .dc__act{display:flex;gap:.4rem;margin-top:auto;padding-top:.6rem;flex-wrap:wrap}
.svc-page .dc__act a{font:800 .68rem/1 var(--font-poster);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.55rem .65rem;border:1px solid var(--line);color:var(--ink)}
.svc-page .dc__act a:first-child{background:var(--teal);border-color:var(--teal);color:#fff}
@media (max-width:1000px){.svc-page .day{grid-template-columns:1fr 1fr}.svc-page .day--line::before{display:none}.svc-page .day-head{grid-template-columns:1fr;gap:.6rem}}
@media (max-width:640px){.svc-page .day{grid-template-columns:1fr;gap:.6rem}.svc-page .dc{flex-direction:row}.svc-page .dc__im{aspect-ratio:auto;width:120px;flex:none;padding:.6rem}.svc-page .dc__im b{font-size:.85rem}.svc-page .dc__step{top:.45rem;left:.45rem;padding:.2rem;font-size:0;gap:0}.svc-page .dc__step i{font-size:.7rem}.svc-page .dc__b{padding:.7rem .8rem}}
/* type page filter bar */
.svc-page .tp-bar{position:sticky;top:var(--masthead-h,72px);z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(11,63,71,.06)}
.svc-page .tp-bar__in{max-width:1280px;margin:0 auto;padding:0 var(--gutter,1.25rem);display:flex;align-items:center;gap:1.5rem}
.svc-page .tp-bar .day-towns{flex:1;min-width:0;border-bottom:0;margin:0}
.svc-page .tp-bar .day-towns button{padding:1.15rem 1rem 1rem;margin-bottom:0}
.svc-page .tp-bar .day-towns button em{font-style:normal;color:var(--clay);margin-left:.3rem}
.svc-page .tp-open{display:flex;align-items:center;gap:.6rem;font:800 .78rem/1 var(--font-poster);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;margin:0}
.svc-page .tp-open input{position:absolute;opacity:0;width:1px;height:1px}
.svc-page .tp-sw{position:relative;width:40px;height:22px;background:#c9d3d4;transition:background .2s}
.svc-page .tp-sw::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;transition:left .2s}
.svc-page .tp-open input:checked+.tp-sw{background:#2e7d4f}
.svc-page .tp-open input:checked+.tp-sw::after{left:21px}
.svc-page .tp-open input:focus-visible+.tp-sw{outline:2px solid var(--teal);outline-offset:2px}
.svc-page .credits{font:400 .75rem/1.5 var(--font-body);color:#6a7a7e;margin:1rem 0 2rem}
@media (max-width:640px){.svc-page .tp-bar__in{flex-wrap:wrap;gap:0}.svc-page .tp-bar .day-towns{flex-basis:100%}.svc-page .tp-bar .day-towns button{padding:.95rem .7rem .85rem}.svc-page .tp-open{padding:.6rem 0 .7rem;border-top:1px solid var(--line);flex-basis:100%}}
.svc-page .day-head>p{font:400 1rem/1.55 var(--font-body);margin:0;color:#3c4d51}
.svc-page .day-head .sv-eye{font:800 .74rem/1 var(--font-poster);letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin:0 0 .7rem}
.svc-page .row{grid-template-columns:64px 1fr auto}
.svc-page .row .lg{width:64px}
.svc-page .t2 .row{grid-template-columns:52px 1fr}.svc-page .t2 .row .lg{width:52px}
.svc-page .tp-bar .day-towns button.on{background:none;border-color:transparent;border-bottom-color:var(--clay);color:var(--ink)}
.svc-page .tp-bar .day-towns button.on em{color:var(--clay)}
.svc-page .tp-bar .day-towns button{border:0;border-bottom:4px solid transparent;margin-right:0}
@media (max-width:760px){.svc-page .day-towns{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:2rem}}
/* logos in the open-now strip */
.svc-page .open-strip .oc--lg{display:flex;gap:.8rem;align-items:center;flex-basis:290px;text-decoration:none;color:var(--ink)}
.svc-page .oc__lg{flex:none;width:64px;height:64px;border:1px solid var(--line);background:#fff center/contain no-repeat;background-origin:content-box;padding:5px;display:grid;place-items:center;font:900 1.3rem var(--font-poster);color:var(--teal)}
.svc-page .oc__lg.dark{background-color:var(--teal);border-color:var(--teal)}
.svc-page .oc__lg--i{background:#e8f0f1}
.svc-page .oc__t{min-width:0}
.svc-page .open-strip .oc--lg .oc__t>span{display:block}
@media (max-width:640px){.svc-page .open-strip .oc--lg{flex-basis:260px}.svc-page .oc__lg{width:52px;height:52px}}
.svc-page .open-strip .oc .oc__lg{font:900 1.4rem/1 var(--font-poster);color:var(--teal)}

/* day planner cards: a kind per card, places as rows */
.svc-page .dc__b{gap:0;padding:.35rem 1rem .9rem}
.svc-page .dl{position:relative;display:grid;grid-template-columns:44px 1fr auto;gap:.7rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}
.svc-page .dl:hover .dl__t a{color:var(--teal);text-decoration:underline}
.svc-page .dl__lg{width:44px;height:44px;border:1px solid var(--line);background:#fff center/contain no-repeat;background-origin:content-box;padding:3px;display:grid;place-items:center;font:900 1rem var(--font-poster);color:var(--teal)}
.svc-page .dl__lg.dark{background-color:var(--teal);border-color:var(--teal)}
.svc-page .dl__lg--i{background:#e8f0f1}
.svc-page .dl__t{min-width:0;display:flex;flex-direction:column;gap:.15rem}
.svc-page .dl__t a{font:700 .93rem/1.2 var(--font-body);color:var(--ink);text-decoration:none}
.svc-page .dl__t a::after{content:'';position:absolute;inset:0}
.svc-page .dl__t small{font:500 .78rem/1.3 var(--font-body);color:#2e7d4f}
.svc-page .dl__t small .cl{color:var(--clay)}
.svc-page .dl__call{position:relative;z-index:1;font:800 .64rem/1 var(--font-poster);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.5rem .55rem;background:var(--teal);color:#fff}
.svc-page .dc__far{margin:.55rem 0 0;font:700 .78rem/1.3 var(--font-body);color:var(--clay)}
.svc-page .dc__all{display:block;margin-top:auto;padding-top:.75rem;font:800 .7rem/1 var(--font-poster);letter-spacing:.12em;text-transform:uppercase;color:var(--clay);text-decoration:none}
.svc-page .dc__all:hover{text-decoration:underline}
.svc-page .dc__all--n{color:#6a7a7e}
@media (max-width:640px){.svc-page .dc{flex-direction:column}.svc-page .dc__im{width:auto;aspect-ratio:auto;height:88px;padding:.7rem}.svc-page .dc__im b{font-size:1rem}.svc-page .dc__step{font-size:.62rem;gap:.4rem;padding:.25rem .45rem .25rem .25rem}.svc-page .dc__b{padding:.2rem .85rem .8rem}}

/* adventure: icon tile when a place has no photo yet */
.svc-page .xa-card__im--icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(135deg,#0b3f47,#3f6f7a);color:#cfe0e3}
.svc-page .xa-card__im--icon span{font:800 .68rem/1 var(--font-poster);letter-spacing:.16em;text-transform:uppercase;color:#cfe0e3}
/* adventure: permits as cards */
.svc-page .xa-permit{display:block;max-width:820px}
.svc-page .xa-pms{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.4rem}
.svc-page .xa-pm{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);text-decoration:none;color:#fff;transition:background .15s}
.svc-page .xa-pm:hover{background:rgba(255,255,255,.12)}
.svc-page .xa-pm b{font:800 .95rem/1.2 var(--font-body)}
.svc-page .xa-pm span{font:400 .86rem/1.45 var(--font-body);color:#d7e5e8}
/* adventure: season lists */
.svc-page .xa-s{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.svc-page .xa-s:last-child{border-bottom:0}
.svc-page .xa-s b{font:700 .95rem/1.25 var(--font-body)}
.svc-page .xa-s small{font:500 .8rem var(--font-body);color:#3c4d51}
.svc-page .xa-s:hover b{color:var(--teal);text-decoration:underline}
.svc-page .xa-season>div{border-top:4px solid #2e7d4f}
.svc-page .xa-season>.xa-season--off{border-top-color:#c9d3d4}
/* adventure: area filter chips */
.svc-page .xa-areas .sv-chip{font:700 .74rem/1 var(--font-poster);letter-spacing:.08em;text-transform:uppercase;padding:.55rem .7rem;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.svc-page .xa-areas .sv-chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.svc-page .xa-areas .sv-chip.on em{color:#f5c9b8}
.svc-page .xa-card[hidden]{display:none}
/* type page: places without a logo, as rows under the logo cards */
.svc-page .tp-list{margin-top:.6rem}
@media (max-width:640px){.svc-page .xa-pms{grid-template-columns:1fr}}
