:root{--ocean:#078da8;--deep:#073b4c;--ink:#16343c;--sand:#f4c560;--mist:#eaf7f8;--white:#fff;--line:#dbe7e8;--shadow:0 22px 55px rgba(7,59,76,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65;background:#fff}a{color:inherit}.site-header{height:92px;padding:12px clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(7,59,76,.08)}.brand{display:block;height:68px}.brand img{height:100%;width:auto;display:block}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{text-decoration:none;font-weight:600}.nav-cta{background:var(--deep);color:white!important;padding:11px 18px;border-radius:999px}.hero{min-height:660px;display:grid;grid-template-columns:minmax(380px,.85fr) 1.25fr;background:var(--mist);overflow:hidden}.hero-copy{padding:95px clamp(32px,6vw,100px);align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.78rem;font-weight:700;color:var(--ocean);margin:0 0 16px}.hero h1,.section h2,.location h2,.booking h2{font-family:"Playfair Display",serif;line-height:1.04;color:var(--deep);margin:0}.hero h1{font-size:clamp(3.6rem,7vw,7rem);letter-spacing:-.04em}.hero-text{font-size:1.18rem;max-width:610px;margin:28px 0;color:#35545c}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:6px;text-decoration:none;font-weight:700;line-height:1.25;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ocean);color:white;box-shadow:0 10px 24px rgba(7,141,168,.22)}.text-link{padding-inline:0;color:var(--deep)}.hero-image{min-height:660px;background:linear-gradient(90deg,rgba(7,59,76,.12),transparent 30%),url('https://media.vrbo.com/lodging/35000000/34020000/34019400/34019347/e4b92524.jpg?impolicy=resizecrop&rw=1200&ra=fit') center/cover;position:relative}.hero-badge{position:absolute;left:30px;bottom:30px;background:white;border-radius:10px;padding:15px 19px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow);max-width:270px}.hero-badge strong{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--ocean)}.hero-badge span{font-size:.88rem;line-height:1.25}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.trust-strip>div{background:white;padding:25px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.trust-strip strong{font-size:1.08rem;color:var(--deep)}.trust-strip span{font-size:.84rem;color:#6a7c81}.section{padding:100px clamp(24px,6vw,100px);max-width:1500px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section h2,.booking h2{font-size:clamp(2.6rem,4.5vw,4.6rem);letter-spacing:-.03em}.section-heading>p{max-width:460px;margin:0 0 8px;color:#64777c}.property-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.property-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;box-shadow:0 8px 30px rgba(7,59,76,.06)}.property-photo{height:360px;background-size:cover;background-position:center;position:relative}.cottage-a{background-image:url('https://media.vrbo.com/lodging/35000000/34020000/34019400/34019347/e4b92524.jpg?impolicy=resizecrop&rw=1200&ra=fit')}.cottage-b{background-image:url('https://media.vrbo.com/lodging/34000000/33560000/33559600/33559547/c9dd20d4.jpg?impolicy=resizecrop&rw=1200&ra=fit')}.rating{position:absolute;top:18px;left:18px;background:white;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;color:var(--deep);box-shadow:0 6px 20px rgba(0,0,0,.12)}.property-content{padding:30px}.property-label{margin:0 0 5px;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:var(--ocean)}.property-content h3,.portfolio-note h3{font-family:"Playfair Display",serif;color:var(--deep);font-size:2rem;line-height:1.2;margin:0 0 14px}.facts{display:flex;gap:0;flex-wrap:wrap;margin-bottom:20px;color:#52696f;font-weight:600;font-size:.9rem}.facts span+span:before{content:"•";margin:0 9px;color:var(--sand)}.property-content>p{color:#5a7076}.amenities{list-style:none;padding:0;margin:22px 0 26px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}.amenities li:before{content:"✓";color:var(--ocean);font-weight:700;margin-right:8px}.card-button{width:100%;background:var(--deep);color:white}.portfolio-note{margin-top:30px;padding:28px 34px;display:flex;align-items:center;gap:26px;background:var(--mist);border-radius:14px}.portfolio-note p{margin:2px 0}.portfolio-number{width:74px;height:74px;flex:0 0 74px;border-radius:50%;display:grid;place-items:center;background:var(--ocean);color:white;font-family:"Playfair Display",serif;font-size:2.3rem}.portfolio-note h3{font-size:1.6rem}.location{max-width:1500px;margin:auto;background:var(--deep);color:white;padding:90px clamp(24px,6vw,100px);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.eyebrow.light{color:#7ed5e2}.location h2{color:white;font-size:clamp(2.7rem,4.7vw,4.8rem)}.location-copy>p:last-child{color:#c5d4d7;max-width:650px;font-size:1.08rem}.walk-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.walk-list>div{border:1px solid rgba(255,255,255,.19);padding:25px 18px;border-radius:10px;min-height:170px;display:flex;flex-direction:column;justify-content:center}.walk-list strong{font-family:"Playfair Display",serif;color:var(--sand);font-size:3.3rem;line-height:1}.walk-list span{margin-top:12px;line-height:1.35;color:#d3e0e2}.booking{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.booking>div:first-child p:last-child{color:#63777c;max-width:630px}.booking-actions{display:flex;flex-direction:column;gap:12px;min-width:245px}.outline{border:1px solid var(--deep);color:var(--deep)}.linen-note{grid-column:1/-1;background:#fff8e8;border-left:4px solid var(--sand);padding:16px 20px;margin:8px 0 0;color:#5f583f}footer{background:#f5f9f9;border-top:1px solid var(--line);padding:38px clamp(24px,6vw,100px);display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;color:#60747a;font-size:.9rem}footer img{width:125px;height:auto;mix-blend-mode:multiply}footer p{margin:0}.copyright{text-align:right}
@media(max-width:900px){.site-header{height:76px}.brand{height:55px}.site-header nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 26px}.hero-image{min-height:430px}.trust-strip{grid-template-columns:repeat(2,1fr)}.section{padding:72px 24px}.section-heading{display:block}.section-heading>p{margin-top:18px}.property-grid{grid-template-columns:1fr}.location{grid-template-columns:1fr;gap:40px}.booking{grid-template-columns:1fr}.booking-actions{min-width:0}.linen-note{grid-column:auto}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}.copyright{text-align:center}}
@media(max-width:560px){.nav-cta{padding:9px 14px;font-size:.9rem}.hero h1{font-size:3.55rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-image{min-height:330px}.hero-badge{left:16px;bottom:16px}.trust-strip>div{padding:20px 10px}.property-photo{height:260px}.property-content{padding:24px 20px}.amenities{grid-template-columns:1fr}.portfolio-note{align-items:flex-start;padding:24px 20px}.walk-list{grid-template-columns:1fr}.walk-list>div{min-height:110px}.booking-actions .button{width:100%}}
.four-q{background-image:url('https://media.vrbo.com/lodging/34000000/33570000/33563700/33563639/c13c2776.jpg?impolicy=resizecrop&rw=1200&ra=fit')}.feature-card{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}.feature-card .property-photo{height:auto;min-height:440px}@media(max-width:900px){.feature-card{display:block}.feature-card .property-photo{min-height:360px}}@media(max-width:560px){.feature-card .property-photo{min-height:260px}}
.three-bed{background-image:url('https://media.vrbo.com/lodging/34000000/33550000/33545200/33545159/30132672.jpg?impolicy=resizecrop&rw=1200&ra=fit')}.reverse-card .property-photo{order:2}.reverse-card .property-content{order:1}@media(max-width:900px){.reverse-card .property-photo,.reverse-card .property-content{order:initial}}
.airbnb{background:var(--deep);color:white}
.airbnb-photo{background-image:url('https://a0.muscache.com/im/pictures/d445ccd3-a89e-4324-8e18-467467445d8d.jpg?im_w=960')}.airbnb-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr}.airbnb-card .property-photo{min-height:440px;height:auto}.airbnb-card .airbnb{width:100%}@media(max-width:900px){.airbnb-card{display:block}.airbnb-card .property-photo{min-height:360px}}@media(max-width:560px){.airbnb-card .property-photo{min-height:260px}}
.hero-image.brand-showcase{background:linear-gradient(rgba(7,59,76,.1),rgba(7,59,76,.2)),url('hampton-beach-hero.png') center/cover no-repeat;display:grid;place-items:center;isolation:isolate}.hero-image.brand-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.06),rgba(7,59,76,.15));z-index:-1}.showcase-logo{width:min(420px,68%);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:28px 34px 22px;text-align:center;box-shadow:0 28px 70px rgba(7,59,76,.3);backdrop-filter:blur(4px)}.showcase-logo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.showcase-logo p{margin:8px 0 0;color:#078da8;text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:.8rem}@media(max-width:560px){.hero-image.brand-showcase{background-position:42% center}.showcase-logo{width:72%;padding:18px 22px 15px}.showcase-logo p{font-size:.68rem}}
