/* Coastierge guest guide: native controls, restrained movement, shared brand. */
.coast-partners,.coast-guide{--gg-navy:#001626;--gg-sand:#f3f0e8;--gg-copper:#cd9767;--gg-ink:#263d49;font-family:Montserrat,system-ui,sans-serif;color:var(--gg-navy);box-sizing:border-box}
.coast-partners *,.coast-guide *{box-sizing:border-box}
.coast-guide [hidden]{display:none!important}
body .coast-guide-eyebrow{display:block;font:600 10px/1.6 Montserrat,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#71543b}
body .coast-partners{display:flex;align-items:center;gap:clamp(24px,5vw,72px);width:min(100% - 48px,1240px);margin:8px auto 72px;padding:28px 40px;border-block:1px solid #ded9cc;background:linear-gradient(105deg,#f7f5ef,#fff)}
.coast-partners__intro{flex:0 0 240px}
body .coast-partners h2{font:400 clamp(25px,2.3vw,32px)/1.2 'Belgiano Serif',Georgia,serif;letter-spacing:.015em;margin:8px 0 0;color:var(--gg-navy)}
body .coast-partners__logos{flex:1;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px 36px;list-style:none;margin:0;padding:0}
.coast-partners__logos li{display:flex;justify-content:center;align-items:center;flex:0 1 150px;min-height:86px;margin:0;padding:4px}
.coast-partners__logos a{display:flex;justify-content:center;align-items:center;min-height:86px;width:100%;transition:transform .25s ease}
.coast-partners__logos a:hover{transform:translateY(-3px)}
body .coast-partners__logos img{display:block;max-width:150px;max-height:76px;width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none}
body .coast-guide{background:#fff;width:100%;max-width:none;margin:0;padding:0}
body .coast-guide__hero{position:relative;isolation:isolate;overflow:hidden;background:#001626 url('../img/hero-pattern.png') center/740px auto;color:#fff;min-height:480px;display:flex;align-items:center;padding:154px max(24px,calc((100vw - 1240px)/2)) 70px;border-radius:0}
.coast-guide__hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(0,22,38,.97) 20%,rgba(0,22,38,.84) 66%,rgba(0,22,38,.6))}
.coast-guide__hero>div{max-width:830px}
body .coast-guide__hero .coast-guide-eyebrow{color:#dfb18a}
body .coast-guide__hero h1{font:400 clamp(38px,4.4vw,64px)/1.12 'Belgiano Serif',Georgia,serif;color:#fff;letter-spacing:.02em;margin:20px 0 24px;max-width:22ch}
body .coast-guide__hero p{font-size:15px;line-height:1.85;max-width:49ch;color:#edece7;margin:0 0 24px}
body .coast-guide__jump{display:inline-flex;align-items:center;gap:32px;padding:8px 0;color:#fff;border-bottom:1px solid #b68a65;text-decoration:none;font-size:12px;min-height:44px}
.coast-guide__jump span{transition:transform .2s ease}.coast-guide__jump:hover span{transform:translateY(3px)}
body .coast-guide__body{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.6fr);gap:clamp(40px,7vw,110px);width:min(100% - 48px,1240px);margin:0 auto;padding:80px 0 88px;scroll-margin-top:110px}
.coast-guide__aside{align-self:start;position:sticky;top:122px}
body .coast-guide__aside h2,body .coast-guide__contact h2{font:400 clamp(32px,3vw,44px)/1.15 'Belgiano Serif',Georgia,serif;color:var(--gg-navy);letter-spacing:.02em;margin:18px 0 20px}
body .coast-guide__aside p{font-size:13px;line-height:1.9;color:#52616a;max-width:30ch}
body .coast-guide__text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;margin-top:16px;color:var(--gg-navy);text-decoration:none;border-bottom:1px solid #b68a65;font-size:12px;font-weight:600}
.coast-guide__answers{min-width:0}
.coast-guide__controls{margin-bottom:36px}
.coast-guide__controls label{display:block;font-size:12px;font-weight:600;margin:0 0 12px}
body .coast-guide input[type=search]{appearance:none;width:100%;max-width:100%;height:56px;padding:14px 18px;border:1px solid #c8cec9;border-radius:12px;background:#faf9f6;color:var(--gg-navy);font:400 13px/1.5 Montserrat,system-ui,sans-serif;box-shadow:none}
.coast-guide__filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
body .coast-guide__filters button,body .coast-guide__empty button{appearance:none;min-height:42px;padding:10px 15px;border:1px solid #d9dacf;border-radius:999px;background:#fff;color:#344a57;font:500 11px/1.5 Montserrat,system-ui,sans-serif;cursor:pointer;text-transform:none;letter-spacing:0;transition:background-color .2s,color .2s,border-color .2s;box-shadow:none}
body .coast-guide__filters button[aria-pressed=true]{background:var(--gg-navy);color:#fff;border-color:var(--gg-navy)}
body .coast-guide__filters button:hover{border-color:#98683d;background:#f3f0e8;color:var(--gg-navy)}
body .coast-guide__status{font-size:10px;line-height:1.6;color:#596a73;margin:16px 0 0}
.coast-guide__group{margin-bottom:36px}
body .coast-guide__group>h3{font:600 10px/1.6 Montserrat,system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#72553e;margin:0;padding:0 0 15px;border-bottom:1px solid #cfc9bb}
.coast-guide__item{border-bottom:1px solid #e1e3df;margin:0;background:#fff;transition:background-color .2s}
body .coast-guide__item summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:22px 16px 22px 0;list-style:none;cursor:pointer;font:500 14px/1.65 Montserrat,system-ui,sans-serif;color:var(--gg-navy)}
.coast-guide__item summary::-webkit-details-marker{display:none}
.coast-guide__item summary::marker{content:''}
.coast-guide__item[open]{background:#faf9f5}
.coast-guide__item[open] summary,.coast-guide__item summary:hover{color:#81552f}
.coast-guide__plus{width:25px;height:25px;border:1px solid #d2c6b4;border-radius:50%;position:relative;flex:0 0 25px}
.coast-guide__plus:before,.coast-guide__plus:after{content:'';position:absolute;width:9px;height:1px;background:currentColor;left:7px;top:11px;transition:transform .2s}
.coast-guide__plus:after{transform:rotate(90deg)}
.coast-guide__item[open] .coast-guide__plus:after{transform:rotate(0)}
body .coast-guide__answer{padding:0 44px 24px 20px;border-left:2px solid var(--gg-copper);margin:0 16px 22px 0;font-size:13px;line-height:1.95;color:#435864}
body .coast-guide__answer p{margin:0 0 12px;line-height:1.95}.coast-guide__answer p:last-child{margin:0}
body .coast-guide__answer a{color:#78502f;text-decoration:underline;text-underline-offset:3px}
.coast-guide__empty{padding:30px;background:var(--gg-sand);border-radius:14px}
body .coast-guide__empty h3{font:400 28px/1.25 'Belgiano Serif',Georgia,serif;color:var(--gg-navy)}
.coast-guide__empty p{font-size:13px;line-height:1.9}
body .coast-guide__contact{display:flex;justify-content:space-between;align-items:center;gap:40px;width:min(100% - 48px,1240px);margin:0 auto 80px;padding:40px 48px;background:var(--gg-sand);border-top:1px solid #d4c3ac;border-radius:18px}
body .coast-guide__contact h2{margin:10px 0 14px}
body .coast-guide__contact p{font-size:13px;line-height:1.85;max-width:55ch;color:#435864;margin:0}
.coast-guide__contact>a{flex-shrink:0}
.coast-guide :is(a,button,input,summary):focus-visible,.coast-partners a:focus-visible{outline:3px solid #a26b3c!important;outline-offset:4px!important}
@media(max-width:900px){body .coast-partners{padding:24px;gap:24px}.coast-partners__intro{flex-basis:195px}.coast-partners__logos li{flex-basis:112px}body .coast-partners__logos img{max-width:112px;max-height:65px}body .coast-guide__body{grid-template-columns:1fr;gap:30px;padding:48px 0}.coast-guide__aside{position:static}body .coast-guide__aside h2 br{display:none}body .coast-guide__aside p{max-width:55ch}body .coast-guide__contact{padding:32px;flex-wrap:wrap}}
@media(max-width:600px){body .coast-partners{width:calc(100% - 40px);margin-bottom:48px;flex-direction:column;gap:20px;text-align:center;padding:24px 12px}.coast-partners__intro{flex-basis:auto}.coast-partners__logos{gap:16px 20px;width:100%}.coast-partners__logos li{flex-basis:calc(50% - 20px)}body .coast-partners__logos img{max-width:125px;max-height:66px}body .coast-guide__hero{min-height:430px;padding:125px 24px 48px}body .coast-guide__hero h1{font-size:38px}body .coast-guide__hero p{font-size:13px}body .coast-guide__body{width:calc(100% - 40px)}body .coast-guide__item summary{font-size:13px;gap:16px;padding-right:6px}.coast-guide__filters{gap:7px}body .coast-guide__filters button{font-size:10px;padding:10px 12px}body .coast-guide__answer{padding-right:10px;padding-left:14px;margin-right:8px;font-size:12px}body .coast-guide__contact{width:calc(100% - 40px);margin-bottom:48px;padding:28px 24px;gap:24px}.coast-guide__contact>a{width:100%}}
@media(prefers-reduced-motion:reduce){.coast-guide *,.coast-partners *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
