/* Coastal Signal: editorial reading surfaces, inky depth, sea-glass teal signal, no generic card grid. */
:root{--ink:#111d2b;--ink-2:#1b2b3b;--paper:#f3efe5;--sand:#dfd6c5;--mist:#dce5e3;--signal:#3ac7b8;--teal-dark:#07675f;--line:rgba(17,29,43,.16);--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6} h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.04;letter-spacing:-.035em} h1{font-size:clamp(3rem,7.5vw,7.4rem)}h2{font-size:clamp(2.15rem,4.5vw,4.5rem)}h3{font-size:clamp(1.65rem,2.4vw,2.6rem)}a{color:inherit;text-underline-offset:4px}.site-header{background:var(--ink);border-bottom:1px solid rgba(255,255,255,.12)}.navbar{min-height:76px}.brand{font-family:Georgia,"Times New Roman",serif;color:#fff;text-decoration:none;font-size:1.55rem;letter-spacing:-.04em;display:inline-flex;align-items:center;gap:.65rem}.brand:hover{color:#fff}.brand-mark{display:inline-block;width:21px;height:21px;border:2px solid var(--signal);transform:rotate(45deg);position:relative}.brand-mark:after{content:"";position:absolute;width:2px;height:29px;background:var(--signal);left:8px;top:-6px}.nav-link{color:rgba(255,255,255,.75)!important;font-size:.83rem;text-transform:uppercase;letter-spacing:.1em}.nav-link:hover,.nav-link.active{color:#fff!important}.nav-cta{border:1px solid rgba(58,199,184,.65);padding:.52rem .78rem!important}.hero-section{color:#fff;min-height:690px;background:linear-gradient(90deg,rgba(10,21,33,.98) 0%,rgba(10,21,33,.9) 42%,rgba(10,21,33,.18) 75%),url("../images/hero.jpg") center/cover no-repeat}.hero-inner{position:relative}.min-vh-75{min-height:614px}.hero-copy{padding-bottom:7.5rem}.hero-copy h1{max-width:700px;margin-bottom:1.5rem}.hero-copy .lead{max-width:580px;color:#d7e4e3;font-size:1.22rem}.eyebrow,.card-kicker,.footer-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:1.1rem}.text-teal{color:var(--teal-dark)}.btn{border-radius:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;padding:.78rem 1.1rem;transition:transform 160ms var(--ease),background 160ms var(--ease),color 160ms var(--ease)}.btn:active{transform:scale(.97)}.btn-signal{background:var(--signal);color:var(--ink);border-color:var(--signal)}.btn-signal:hover{background:#72e2d5;color:var(--ink);border-color:#72e2d5}.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-ink:hover{background:var(--ink-2);color:#fff}.hero-meta{padding-bottom:7.5rem}.signal-chip{border-left:2px solid var(--signal);padding:1rem 0 1rem 1.25rem;margin-left:auto;max-width:180px}.signal-chip span,.signal-chip small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#c9d7d4}.signal-chip strong{display:block;font-family:Georgia,serif;font-size:1.3rem;margin:.3rem 0}.feature-wrap{padding:8rem 0;background:var(--paper)}.section-head{margin-bottom:3rem}.section-head p{font-size:1.06rem;color:#4b5660}.text-link{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.feature-card{background:#fff;box-shadow:0 25px 45px rgba(17,29,43,.1)}.feature-image{display:block;width:100%;height:100%;min-height:370px;object-fit:cover}.feature-copy{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.feature-copy p:not(.card-kicker){color:#53616b;margin:1.2rem 0 2rem}.signal-strip{padding:5rem 0;background:var(--ink);color:#fff}.signal-strip h3{font-size:1.65rem;max-width:245px}.signal-strip .eyebrow{color:var(--signal)}.newsletter-section{padding:7rem 0;background:var(--mist)}.form-panel .form-control{border-radius:0;border-color:var(--ink);padding:.85rem 1rem;background:#fff}.form-panel .form-control:focus,.contact-form .form-control:focus,.contact-form .form-select:focus{box-shadow:0 0 0 .2rem rgba(58,199,184,.25);border-color:var(--teal-dark)}.form-status{min-height:1.5rem;margin:.8rem 0 0;color:var(--teal-dark);font-size:.9rem;font-weight:700}.site-footer{padding:4.5rem 0 0;background:#0b1520;color:#d3ddd9}.site-footer .brand-footer{margin-bottom:1rem}.site-footer a:not(.brand){display:block;text-decoration:none;color:#d3ddd9;margin:.4rem 0}.site-footer a:not(.brand):hover{color:var(--signal)}.site-footer p{max-width:360px}.footer-label{color:var(--signal)}.footer-bottom{margin-top:3rem;border-top:1px solid rgba(255,255,255,.12);padding:1.4rem 0;font-size:.78rem;color:#91a19e}.cookie-banner{display:none;position:fixed;z-index:1050;right:1rem;bottom:1rem;max-width:450px;background:var(--ink);color:#fff;padding:1rem 1rem 1rem 1.25rem;box-shadow:0 15px 40px rgba(0,0,0,.3);align-items:center;gap:1rem}.cookie-banner.is-visible{display:flex}.cookie-banner p{font-size:.82rem;margin:0}.cookie-banner a{color:var(--signal)}.cookie-banner .btn{white-space:nowrap}.page-intro{background:var(--ink);color:#fff;padding:6.5rem 0 7rem}.page-intro .intro-copy{max-width:680px;font-size:1.14rem;color:#c2d0ce;margin-top:1.5rem}.reviews-section{padding:6rem 0}.review-lead{height:100%;min-height:570px;position:relative;overflow:hidden;background:var(--ink)}.review-lead img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.6}.review-overlay{position:absolute;inset:auto 0 0;color:#fff;padding:3rem;background:linear-gradient(transparent,rgba(11,21,32,.98) 45%)}.review-overlay h2{font-size:3.2rem;max-width:540px}.review-overlay p:not(.card-kicker){max-width:480px;color:#d1dddb}.review-overlay .card-kicker{color:var(--signal)}.review-entry{padding:1.75rem 1.5rem;border-top:1px solid var(--line)}.review-entry:last-child{border-bottom:1px solid var(--line)}.review-entry h3{font-size:1.8rem}.review-entry p:last-child{color:#59646c;margin-bottom:0}.location-section{padding:5rem 0;background:var(--sand)}.location-section p:not(.eyebrow){max-width:620px;font-size:1.1rem}.notes-section{padding:6rem 0}.note-card{min-height:330px;padding:2rem;background:#fff;border-top:5px solid var(--ink);display:flex;flex-direction:column}.note-card span{font-family:Georgia,serif;color:var(--teal-dark);font-size:2rem;margin-bottom:auto}.note-card h2{font-size:2.1rem}.note-card p{color:#5b666d;margin:1rem 0 0}.teal-card{background:var(--signal);border-color:var(--signal)}.teal-card span{color:var(--ink)}.teal-card p{color:#173a3b}.image-note{padding:7rem 0;background:var(--sand)}.image-note img{min-height:330px;width:100%;object-fit:cover;filter:saturate(.8)}.contact-section{padding:7rem 0;background:var(--paper)}.contact-section h1{font-size:clamp(3rem,6vw,5.9rem)}.contact-section>p{font-size:1.14rem}.contact-address{border-left:2px solid var(--signal);padding:1rem 0 0 1.2rem;margin-top:2.8rem}.contact-form{padding:2.5rem;background:#fff;box-shadow:0 20px 45px rgba(17,29,43,.08)}.contact-form label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.contact-form .form-control,.contact-form .form-select{border-radius:0;border-color:#9aabaa;padding:.78rem;background:#fff}.policy-page{max-width:900px;padding-top:6rem;padding-bottom:7rem}.policy-page h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:1rem}.policy-page h2{font-size:2rem;margin-top:2.8rem}.policy-page p{font-size:1.03rem;max-width:760px}.policy-date{color:#61706f;font-size:.86rem!important}.policy-page a{color:var(--teal-dark);font-weight:700}.navbar-toggler{border-radius:0;border-color:rgba(255,255,255,.45)}
@media (max-width:991.98px){.hero-section{min-height:600px;background:linear-gradient(90deg,rgba(10,21,33,.96),rgba(10,21,33,.55)),url("../images/hero.jpg") center/cover no-repeat}.hero-copy{padding:6rem 0 2rem}.hero-meta{padding:0 0 3rem}.signal-chip{margin-left:0}.feature-wrap,.newsletter-section{padding:5rem 0}.feature-image{min-height:280px}.review-overlay h2{font-size:2.5rem}.cookie-banner{left:1rem;right:1rem;max-width:none}.nav-cta{display:inline-block;margin:.7rem 0}}
@media (max-width:575.98px){.hero-copy .lead{font-size:1.05rem}.feature-copy{padding:2rem}.newsletter-section .input-group{display:block}.newsletter-section .btn{margin-top:.7rem;width:100%}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-banner>div{display:flex;gap:.5rem}.review-overlay{padding:2rem}.review-overlay h2{font-size:2.2rem}.contact-form{padding:1.4rem}.page-intro{padding:4.5rem 0}.policy-page{padding-top:4rem}}
@media (prefers-reduced-motion:no-preference){.feature-card,.note-card,.contact-form{animation:rise .55s var(--ease) both}.feature-image,.review-lead img{transition:transform .55s var(--ease)}.feature-card:hover .feature-image,.review-lead:hover img{transform:scale(1.025)}@keyframes rise{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}}
