:root{--navy:#123e52;--deep:#0c3042;--ink:#1c3036;--muted:#5c6b6e;--cream:#f8f5ee;--sand:#eee6d7;--coral:#ef7758;--line:#d7dedc;--white:#fff;--display:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,7.3vw,7.6rem)}h2{font-size:clamp(2.8rem,4.8vw,5rem)}h3{line-height:1.2}h1 em,h2 em{font-weight:400}section[id]{scroll-margin-top:82px}.wrap{width:min(1220px,calc(100% - 56px));margin-inline:auto}.section{padding-block:112px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:12px;background:var(--white);z-index:1000;padding:10px}.skip-link:focus{top:10px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#bd6048;margin-bottom:22px}.eyebrow.light{color:#ffccab}.announcement{min-height:33px;background:var(--deep);color:#e7efe9;text-align:center;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px}.announcement span{font-size:1.1rem;color:var(--coral)}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--cream);height:84px;padding-inline:max(28px,calc((100vw - 1220px)/2));box-shadow:0 1px 0 rgba(18,62,82,.08)}.brand{display:inline-flex;align-items:center;gap:3px;color:var(--navy);text-decoration:none;line-height:1}.brand-eight{font-family:var(--display);font-size:3.25rem;letter-spacing:-.1em;line-height:.9}.brand-words{font-size:1.05rem;letter-spacing:.055em;font-weight:800;padding-top:5px}.brand-words small{display:block;font-size:.43rem;letter-spacing:.27em;margin-top:5px}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,36px);font-size:.83rem;font-weight:700}.site-nav a{text-decoration:none;white-space:nowrap}.site-nav a:hover,.text-link:hover{color:#a34732}.site-nav .nav-book{background:var(--coral);color:var(--deep);padding:13px 18px;border-radius:3px}.site-nav .nav-book:hover{background:#f48c6f;color:var(--deep)}.menu-toggle{display:none}
.hero{height:min(750px,calc(100vh - 117px));min-height:620px;position:relative;overflow:hidden;background:var(--navy);color:var(--white)}.hero-image{position:absolute;inset:0;background:url('assets/Pic-1-scaled.jpg') center 56%/cover no-repeat;transform:scale(1.01)}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,40,56,.93) 0%,rgba(7,40,56,.67) 43%,rgba(7,40,56,.08) 100%)}.hero-content{position:relative;z-index:2;padding-top:clamp(88px,12vh,150px)}.hero h1{max-width:880px;margin-bottom:25px}.hero h1 em{color:#ffe1ba}.hero-lead{max-width:490px;font-size:1.22rem;line-height:1.55;color:#e6f1ef;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:33px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:15px 22px;border:0;border-radius:3px;text-decoration:none;font-size:.84rem;font-weight:800;line-height:1.3;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-coral{background:var(--coral);color:var(--deep)}.button-coral:hover{background:#f59477}.button-navy{background:var(--navy);color:var(--white)}.button-cream{background:var(--cream);color:var(--deep)}.text-link{display:inline-flex;align-items:center;gap:18px;text-decoration:none;font-size:.84rem;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}.light-link{color:var(--white)}.hero-note{margin-top:42px;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#dce5df}.hero-photo-credit{position:absolute;z-index:2;right:30px;bottom:24px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--white)}.quick-facts{background:#f0e9dd;border-bottom:1px solid #e2d6c4}.facts-inner{display:grid;grid-template-columns:repeat(4,1fr);min-height:93px;align-items:center}.facts-inner span{display:flex;align-items:center;gap:16px;font-size:.77rem;font-weight:700;letter-spacing:.05em;border-right:1px solid #d9cfc1;padding:15px 26px}.facts-inner span:first-child{padding-left:0}.facts-inner span:last-child{border:0}.facts-inner b{font:400 1.65rem var(--display);color:#bb694e;white-space:nowrap}.facts-inner .fact-family{font-size:.9rem;line-height:1.35;letter-spacing:.025em}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(65px,9vw,140px);align-items:center}.intro-copy{max-width:520px}.intro-copy h2{margin-bottom:28px}.intro-copy p:not(.eyebrow){font-size:1.04rem;color:#4f6063}.intro-copy .text-link{margin-top:18px;color:var(--navy)}.intro-visual{position:relative;padding:0 42px 43px 0}.intro-visual img{width:100%;aspect-ratio:1.04;object-fit:cover;object-position:center}.intro-stamp{position:absolute;bottom:0;right:0;width:170px;height:170px;border-radius:50%;background:var(--coral);display:grid;place-content:center;text-align:center;font:italic 1.65rem/.88 var(--display);transform:rotate(9deg);color:var(--deep)}.intro-stamp span{font-size:1.15rem;margin-top:5px}.amenities{background:#e8f0ed}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px}.section-heading h2{margin:0}.section-heading>p{max-width:335px;color:var(--muted);margin-bottom:5px}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bfd0cc;border-bottom:1px solid #bfd0cc}.amenity-grid article{padding:36px 30px 30px;border-right:1px solid #bfd0cc}.amenity-grid article:first-child{padding-left:0}.amenity-grid article:last-child{border:0}.amenity-icon{display:block;color:#bf6850;font:2.4rem var(--display);height:64px}.amenity-grid h3{font:400 1.52rem var(--display);margin-bottom:12px}.amenity-grid p{font-size:.91rem;color:#57686a;margin:0}.amenity-footnote{font-size:.82rem;color:#57686a;margin:18px 0 0}.gallery-section{padding-bottom:125px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:235px 235px;gap:13px}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;color:var(--white);background:var(--navy);text-align:left}.gallery-feature{grid-column:span 2;grid-row:span 2}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6))}.gallery-item span{position:absolute;left:18px;bottom:15px;z-index:1;font-weight:700;font-size:.79rem;letter-spacing:.02em}.coast-banner{height:565px;position:relative;background:var(--navy);color:var(--white);overflow:hidden}.coast-photo{position:absolute;inset:0;background:url('assets/Salt-Rock-Beach.jpg') center 53%/cover no-repeat}.coast-banner:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,43,58,.85),rgba(8,43,58,.05))}.coast-overlay{position:relative;z-index:2;padding-top:100px}.coast-overlay h2{font-size:clamp(3.5rem,6vw,6.5rem);margin-bottom:32px}.coast-overlay h2 em{color:#f8c5a1}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.explore-card{background:#eee8dc;padding:35px;min-height:325px;display:flex;flex-direction:column}.explore-number{font-size:.7rem;letter-spacing:.16em;font-weight:800;color:#b35c44}.explore-card h3{font:400 2.08rem var(--display);margin:40px 0 12px}.explore-card p{font-size:.92rem;color:#596466;margin-bottom:25px}.ask-topic{background:none;border:0;padding:0 0 4px;text-align:left;border-bottom:1px solid var(--navy);color:var(--navy);font-weight:800;font-size:.8rem;margin-top:auto;align-self:flex-start}.guide-promo{background:var(--navy);color:var(--white);padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:14px}.guide-promo .eyebrow{color:#f4b393;margin-bottom:5px}.guide-promo h3{font:400 1.75rem var(--display);margin-bottom:4px}.guide-promo p{font-size:.85rem;color:#dae5e3;margin:0}.guide-promo .button{background:var(--cream);color:var(--navy);white-space:nowrap}.review-section{background:#fffdf8}.review-layout{display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:80px}.review-layout>div:first-child>p:not(.eyebrow){max-width:440px;color:var(--muted);margin:22px 0}.rating-card{background:var(--cream);border:1px solid var(--sand);padding:50px 50px 43px;text-align:center;box-shadow:16px 16px 0 #ecdfce}.rating-source{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#9e624a}.rating-number{font:400 clamp(5rem,10vw,8rem)/1 var(--display);color:var(--navy);margin:16px 0 5px}.rating-number span{font-size:2.4rem}.rating-card strong{font:italic 1.75rem var(--display);color:#b85c43}.rating-card p{font-size:.78rem;max-width:270px;margin:12px auto 0;color:var(--muted)}.booking-section{background:var(--deep);color:var(--white)}.booking-layout{display:grid;grid-template-columns:1fr .86fr;gap:clamp(45px,8vw,130px);align-items:center}.booking-copy h2{font-size:clamp(3.8rem,6vw,6.7rem)}.booking-copy h2 em{color:#f2b595}.booking-copy>p:not(.eyebrow){font-size:1.07rem;color:#d8e4e2;max-width:500px}.booking-alternatives{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:38px}.booking-alternatives a{font-weight:700;font-size:.87rem;text-decoration:none;border-bottom:1px solid #99b5bd;padding-bottom:4px}.booking-form{background:var(--cream);color:var(--ink);padding:36px;box-shadow:16px 16px 0 rgba(239,119,88,.2)}.booking-form h3{font:400 2rem var(--display);margin:0 0 5px}.booking-form>p{font-size:.88rem;color:var(--muted)}.booking-form label{display:block;font-size:.77rem;font-weight:800;color:var(--navy);margin:18px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-form input,.booking-form select{display:block;width:100%;height:49px;border:1px solid #cbd1cc;background:#fff;padding:0 10px;margin-top:6px;border-radius:2px;color:var(--ink)}.booking-form .full{width:100%;margin-top:12px}.booking-form .form-note{font-size:.73rem;margin:12px 0 0}.form-error{color:#a13b2e!important}.practical{padding-block:95px}.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;border-top:1px solid var(--line);padding-top:35px}.practical-grid h3{font:400 1.5rem var(--display);margin-bottom:12px}.practical-grid p{font-size:.86rem;color:var(--muted)}.practical-grid a{color:var(--navy)}.site-footer{background:#0a2938;color:#fff}.footer-layout{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr;gap:35px;padding-top:75px;padding-bottom:75px}.footer-brand{color:#fff}.footer-brand .brand-eight{font-size:3.8rem}.footer-layout>div:first-child p{color:#adc5ca;font:italic 1.65rem var(--display);margin-top:30px}.footer-layout h3{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#f5b698;margin-bottom:20px}.footer-layout p,.footer-layout a:not(.brand){font-size:.82rem;line-height:1.9;color:#d3e0df}.footer-layout a:not(.brand){display:block;text-decoration:none}.footer-layout a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;padding-block:18px;border-top:1px solid #31505e;color:#9db8c0;font-size:.72rem}.mobile-book{display:none}
.guide-launcher{position:fixed;z-index:40;right:24px;bottom:22px;border:0;border-radius:50px;background:var(--coral);color:var(--deep);padding:11px 19px 11px 12px;display:flex;align-items:center;gap:9px;font-size:.81rem;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.22)}.guide-launcher-icon{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:var(--deep);color:#fff;font-size:1.3rem}.guide-panel{position:fixed;right:24px;bottom:82px;z-index:45;width:min(410px,calc(100vw - 24px));height:min(590px,calc(100vh - 120px));background:#fff;box-shadow:0 18px 70px rgba(0,0,0,.25);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.guide-panel[hidden]{display:none}.guide-header{display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:#fff;padding:16px 20px}.guide-kicker{font-size:.57rem;letter-spacing:.2em;color:#f1b194}.guide-header h2{font-size:1.6rem;letter-spacing:-.03em;margin:2px 0 0}.guide-header h2 span{color:var(--coral)}.guide-header button{border:0;background:transparent;color:#fff;font-size:2rem;line-height:1}.guide-messages{flex:1;overflow:auto;padding:18px;background:#f7f5ee;display:flex;flex-direction:column;gap:10px}.message{max-width:87%;padding:12px 14px;border-radius:12px;font-size:.83rem;line-height:1.5;white-space:pre-line}.message.bot{align-self:flex-start;background:#fff;border:1px solid #e4e6e0;border-bottom-left-radius:2px}.message.user{align-self:flex-end;background:#dce9e4;border-bottom-right-radius:2px}.message a{color:var(--navy);font-weight:700}.source-tag{display:block;font-size:.7rem;color:#8b5a47;margin-top:8px}.guide-suggestions{display:flex;gap:6px;overflow:auto;padding:10px 12px;background:#fff}.guide-suggestions button{white-space:nowrap;border:1px solid #bfd0cc;background:#fff;color:var(--navy);font-size:.69rem;padding:6px 10px;border-radius:20px}.guide-form{display:flex;padding:7px 12px 9px;border-top:1px solid #d9e2df}.guide-form input{flex:1;min-width:0;border:0;outline:0;font-size:.84rem;padding:10px}.guide-form button{border:0;border-radius:50%;width:38px;height:38px;background:var(--coral);color:var(--deep);font-size:1.25rem}.guide-disclaimer{margin:0;padding:0 15px 11px;color:#697777;font-size:.61rem;line-height:1.35;background:#fff}.photo-dialog{max-width:min(1000px,92vw);max-height:92vh;border:0;padding:14px 14px 8px;background:#fff;box-shadow:0 20px 100px #0007}.photo-dialog::backdrop{background:rgba(5,24,34,.84)}.photo-dialog img{max-height:75vh;width:auto;margin:auto}.photo-dialog p{text-align:center;margin:8px 0 0;font-size:.84rem}.photo-close{position:absolute;top:15px;right:15px;background:#fff;border:0;border-radius:50%;height:34px;width:34px;font-size:1.5rem;line-height:1}
@media(max-width:1000px){.site-header{padding-inline:28px}.site-nav{gap:16px;font-size:.74rem}.intro{gap:55px}.amenity-grid article{padding-inline:18px}.gallery-grid{grid-template-rows:180px 180px}.footer-layout{grid-template-columns:1.5fr 1fr 1.5fr}.footer-layout>div:last-child{display:none}}
@media(max-width:760px){.wrap{width:min(100% - 36px,560px)}.section{padding-block:72px}.announcement{font-size:.54rem;letter-spacing:.08em}.site-header{height:70px;padding-inline:18px}.brand-eight{font-size:2.8rem}.brand-words{font-size:.91rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:8px;border:0;background:transparent}.menu-toggle span{height:2px;background:var(--navy);width:100%}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:12px 18px 20px;box-shadow:0 14px 24px #0002;align-items:stretch;gap:0;flex-direction:column}.site-nav.open{display:flex}.site-nav a{padding:11px;font-size:.9rem}.site-nav .nav-book{margin-top:8px;text-align:center}.hero{min-height:630px;height:calc(100svh - 103px);max-height:780px}.hero-image{background-position:63% center}.hero:before{background:linear-gradient(90deg,rgba(7,40,56,.85),rgba(7,40,56,.22)),linear-gradient(0deg,rgba(7,40,56,.45),transparent 50%)}.hero-content{padding-top:80px}.hero h1{font-size:clamp(3.4rem,11vw,5rem);max-width:620px}.hero-lead{font-size:1.03rem;max-width:370px}.hero-actions{gap:21px}.hero-note{font-size:.61rem;line-height:1.6}.hero-photo-credit{font-size:.55rem;bottom:12px}.facts-inner{grid-template-columns:repeat(2,1fr);gap:0}.facts-inner span{min-height:65px;padding:10px!important;font-size:.7rem;gap:8px}.facts-inner span:nth-child(2){border-right:0}.facts-inner span:nth-child(-n+2){border-bottom:1px solid #d9cfc1}.facts-inner b{font-size:1.3rem}.intro{grid-template-columns:1fr;gap:35px}.intro-copy p:not(.eyebrow){font-size:.97rem}.intro-visual{max-width:600px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.amenity-grid article{border-bottom:1px solid #bfd0cc}.amenity-grid article:nth-child(2){border-right:0}.amenity-grid article:nth-child(n+3){border-bottom:0}.amenity-grid article:first-child{padding-left:18px}.section-heading{display:block}.section-heading>p{margin-top:18px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:260px 160px 160px}.gallery-feature{grid-column:span 2;grid-row:span 1}.coast-banner{height:520px}.coast-photo{background-position:58% center}.explore-grid{grid-template-columns:1fr}.explore-card{min-height:250px}.explore-card h3{margin-top:28px}.guide-promo{padding:27px;align-items:start;flex-direction:column}.review-layout,.booking-layout{grid-template-columns:1fr;gap:50px}.rating-card{max-width:420px;width:calc(100% - 16px)}.practical-grid{grid-template-columns:repeat(2,1fr)}.footer-layout{grid-template-columns:1fr 1fr;gap:22px}.footer-layout>div:first-child{grid-column:span 2}.footer-layout>div:last-child{display:block}.mobile-book{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:9px 16px;background:var(--cream);box-shadow:0 -4px 20px #0002}.mobile-book a{display:flex;justify-content:space-between;padding:10px 16px;background:var(--coral);text-decoration:none;font-weight:800;font-size:.85rem}.guide-launcher{bottom:70px;right:12px;padding:9px 12px}.guide-launcher span:last-child{display:none}.guide-panel{right:12px;bottom:126px;max-height:calc(100svh - 142px)}.site-footer{padding-bottom:59px}}
@media(max-width:480px){.hero h1{font-size:3.35rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.intro-stamp{width:130px;height:130px;font-size:1.34rem}.amenity-grid article{padding:24px 12px!important}.amenity-grid h3{font-size:1.3rem}.amenity-grid p{font-size:.78rem}.gallery-grid{grid-template-rows:225px 135px 135px;gap:7px}.gallery-item span{left:9px;bottom:7px;font-size:.67rem}.booking-form{padding:23px}.field-row{grid-template-columns:1fr;gap:0}.practical-grid{gap:20px}.footer-layout{grid-template-columns:1fr}.footer-layout>div:first-child{grid-column:span 1}.footer-bottom{gap:15px;flex-direction:column}.guide-panel{width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.availability-card{max-width:520px;margin-top:36px;padding:23px 25px 20px;border:1px solid #5f8490;background:#17465a}
.availability-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.availability-kicker{display:block;color:#f5b698;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.availability-heading h3{font:400 1.65rem var(--display);margin:4px 0 0}
.availability-controls{display:flex;gap:8px}
.availability-controls button{width:36px;height:36px;border:1px solid #86a5ab;background:transparent;color:#fff;font-size:1.5rem;line-height:1}
.availability-controls button:disabled{opacity:.35;cursor:default}
#availability-status{min-height:20px;margin:9px 0 14px;color:#d9e6e5;font-size:.77rem}
.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.availability-month{grid-column:1/-1;margin:0 0 6px;text-align:left;font-size:.93rem;font-weight:800}
.availability-weekday{font-size:.67rem;color:#bdd4d7;text-transform:uppercase}
.availability-day{display:grid;place-items:center;min-height:35px;border-radius:50%;font-size:.77rem}
.availability-day.busy{background:var(--coral);color:var(--deep);font-weight:800}
.availability-day.past{opacity:.35}
.availability-day.empty{visibility:hidden}
.availability-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px;margin-top:17px;color:#d9e6e5;font-size:.73rem}
.availability-legend span:first-child{display:flex;align-items:center;gap:7px}
.availability-legend i{width:11px;height:11px;border-radius:50%;background:var(--coral)}
.availability-note{margin:10px 0 0;color:#b9d1d2;font-size:.72rem;line-height:1.5}
.date-advisory{margin:8px 0 0!important;padding:10px 12px;background:#fff0e8;color:#8b3d2b!important;font-size:.78rem!important}
@media(max-width:480px){.availability-card{padding:19px}.availability-heading h3{font-size:1.42rem}.availability-day{min-height:31px}}

.back-to-top{position:fixed;z-index:35;left:24px;bottom:22px;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:30px;background:var(--cream);color:var(--deep);box-shadow:0 8px 25px rgba(0,0,0,.2);text-decoration:none;font-size:.78rem;font-weight:800}
.back-to-top span:first-child{font-size:1.35rem;line-height:1}
.back-to-top:hover,.back-to-top:focus-visible{background:var(--coral)}
.back-to-top[hidden]{display:none}
@media(max-width:760px){.back-to-top{left:12px;bottom:70px;padding:8px 12px}}

.brand-logo{display:block;width:118px;height:auto;background:#fff}.footer-brand .brand-logo{width:150px}.brand-context{max-width:180px;margin-left:10px;color:var(--navy);font-size:.68rem;font-weight:800;line-height:1.35;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:760px){.site-header .brand-logo{width:100px}.guest-topbar .brand-logo{width:100px}.brand-context{max-width:145px;margin-left:6px;font-size:.59rem;letter-spacing:.1em}}

.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.review-card{background:#f7f3eb;border:1px solid #e6dccd;padding:28px;display:flex;flex-direction:column;min-height:250px}
.review-card[hidden]{display:none}
.review-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#9e624a;font-size:.74rem}
.review-card-top strong{font:400 1.8rem var(--display);color:var(--deep)}
.review-card h3{font:400 1.55rem var(--display);margin:22px 0 12px}
.review-card p{font-size:.9rem;line-height:1.6;color:var(--muted);margin:0 0 23px}
.review-attribution{margin-top:auto;font-size:.7rem;font-weight:800;letter-spacing:.04em;color:var(--navy)}
.review-freshness{font-size:.72rem;color:var(--muted);margin:17px 0 0}
@media(max-width:760px){.review-grid{grid-template-columns:1fr;margin-top:36px}.review-card{min-height:auto}}
.guide-suggestions{flex-wrap:wrap;overflow:visible}

.weather-panel{margin-top:14px;padding:37px 40px;background:#e8f0ed;border:1px solid #c7d8d2}
.weather-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:23px}
.weather-heading .eyebrow{margin-bottom:8px}
.weather-heading h3{font:400 clamp(1.8rem,3vw,2.5rem)/1.15 var(--display);letter-spacing:-.035em;margin:0 0 6px}
.weather-heading h3 em{font-weight:400}
.weather-heading p:not(.eyebrow),.weather-location{font-size:.82rem;color:#53696a;margin:0}
.weather-location{white-space:nowrap}
.weather-status{font-size:.8rem;color:#53696a;margin:0 0 12px}
.weather-days{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}
.weather-day{min-width:0;padding:19px 13px 16px;background:#fffdf8;border:1px solid #d2ded9}
.weather-day-date{display:block;color:var(--navy);font-size:.76rem;font-weight:800}
.weather-day-icon{display:block;min-height:61px;color:#c26246;font-size:2.1rem;line-height:1.8}
.weather-day-condition{display:block;min-height:37px;color:#485f62;font-size:.74rem;line-height:1.35}
.weather-day-temp{display:block;margin-top:8px;color:var(--deep);font-size:1rem;font-weight:800;white-space:nowrap}
.weather-day-temp span{color:#738684;font-weight:400}
.weather-day-details{border-top:1px solid #e0e8e3;margin:13px 0 0;padding-top:10px;font-size:.68rem;line-height:1.45}
.weather-day-details div{display:flex;justify-content:space-between;gap:6px;margin-top:4px}
.weather-day-details dt{color:#53696a}.weather-day-details dd{margin:0;color:var(--deep);font-weight:800;text-align:right;white-space:nowrap}
.weather-footnote{margin:18px 0 0;color:#53696a;font-size:.72rem;line-height:1.55}
.weather-footnote a{color:var(--navy)}
@media(max-width:1000px){.weather-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.weather-panel{padding:27px}.weather-heading{display:block}.weather-location{display:block;margin-top:11px}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
.history-panel{margin-top:15px;padding:37px 40px;background:#fffdf8;border:1px solid #ded8ca}
.history-heading .eyebrow{margin-bottom:8px}.history-heading h3{font:400 clamp(1.7rem,2.7vw,2.35rem)/1.15 var(--display);letter-spacing:-.035em;margin:0 0 8px}
.history-heading p:not(.eyebrow),.history-status,.history-footnote{font-size:.8rem;color:#53696a}
.history-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:22px}
.history-form label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:var(--deep)}
.history-form input{min-width:0;width:100%;padding:12px;border:1px solid #b9c9c4;background:#fff}
.history-form .button{min-height:50px;white-space:nowrap}.history-status{margin:18px 0}
.history-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.history-results div{padding:20px;background:#e8f0ed;border:1px solid #d2ded9}
.history-results span{display:block;font-size:.72rem;color:#53696a}.history-results strong{display:block;margin-top:6px;font:400 1.75rem var(--display);color:var(--deep)}
.history-footnote{margin:18px 0 0;line-height:1.55}.history-footnote a{color:var(--navy)}
@media(max-width:900px){.history-form{grid-template-columns:1fr 1fr}.history-form .button{grid-column:1/-1}}
@media(max-width:760px){.history-panel{padding:27px}.history-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.history-form{grid-template-columns:1fr}.history-form .button{grid-column:auto}}

.legal-page{max-width:850px;padding-block:95px 110px}.legal-page h1{font-size:clamp(3.6rem,7vw,6rem);margin-bottom:30px}.legal-page h2{font:400 2rem var(--display);margin:42px 0 12px}.legal-page p{color:#4f6063;max-width:720px}.legal-page a{color:var(--navy)}.legal-page .text-link{margin-top:32px}.site-footer .footer-bottom a{color:#d3e0df}
@media(max-width:760px){.legal-page{padding-block:65px 80px}.legal-page h2{font-size:1.7rem}}
