:root{--paper:#f5ecdb;--ink:#2f2924;--teal:#087d8f;--deep:#075464;--coral:#be3e31;--gold:#e5a62f;--cream:#fff8e9;--shadow:0 18px 45px rgba(55,35,20,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 "DM Sans",sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:200;background:white;padding:.8rem}.skip-link:focus{top:1rem}a{color:inherit}img{display:block;max-width:100%}
.site-header{height:72px;padding:.55rem clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:rgba(248,240,224,.96);border-bottom:1px solid rgba(61,43,25,.18);position:sticky;top:0;z-index:80}.mini-mark{text-decoration:none;color:var(--coral);font:600 1rem "Caveat",cursive}.mini-mark strong{display:block;margin-top:-.3rem;font:1.45rem "Rye",serif;color:var(--deep)}nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.2rem)}nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:#342820}nav a:not(.paint-button):hover{color:var(--teal)}.menu-button{display:none;border:1px solid var(--deep);border-radius:999px;background:transparent;padding:.55rem .9rem;font:700 .85rem "DM Sans",sans-serif}
.paint-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.72rem 1.25rem;color:white!important;background:var(--coral);text-decoration:none!important;text-transform:uppercase;letter-spacing:.07em;font-weight:700;box-shadow:3px 4px 0 rgba(88,32,21,.22);border-radius:30% 8% 28% 10%/18% 30% 16% 28%;transition:transform .2s}.paint-button:hover{transform:translateY(-2px) rotate(-1deg)}
.hero{min-height:calc(100svh - 72px);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr);align-items:center;gap:clamp(1rem,4vw,4rem);padding:clamp(4rem,7vw,7rem) clamp(1rem,6vw,6rem);background:url("assets/canal-sunset-painted.png") center/cover no-repeat;color:white}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,31,31,.48),rgba(20,31,31,.08) 48%,rgba(20,31,31,.2)),linear-gradient(0deg,rgba(20,32,30,.28),transparent 60%)}.logo-sticker{justify-self:center;width:min(470px,42vw);padding:.7rem;background:#fff7e8;border:9px solid #fff7e8;border-radius:50% 42% 48% 44%;transform:rotate(-4deg);box-shadow:var(--shadow)}.logo-sticker img{border-radius:48%}.hero-copy{max-width:620px;text-align:center;justify-self:center;text-shadow:0 2px 12px rgba(29,25,18,.5)}.script-line{margin:0;font:700 clamp(2.5rem,5vw,5.6rem)/.85 "Caveat",cursive}.hero h1{margin:.45rem 0 1rem;font:700 clamp(3rem,6vw,6.3rem)/.85 "Caveat",cursive;color:#fff}.hero-intro{max-width:560px;margin:0 auto 1.7rem;font:600 clamp(1rem,1.5vw,1.22rem)/1.45 "DM Sans",sans-serif;letter-spacing:.03em}.hero-button{text-shadow:none}.art-note{position:absolute;right:1.2rem;bottom:.8rem;margin:0;padding:.35rem .65rem;background:rgba(30,35,30,.55);font-size:.72rem;letter-spacing:.04em}
.quick-facts{display:grid;grid-template-columns:repeat(5,1fr);padding:1.1rem clamp(1rem,5vw,5rem);background:var(--paper);border-block:1px solid rgba(70,48,28,.2)}.quick-facts div{text-align:center;padding:.65rem;border-right:1px solid rgba(65,44,26,.16)}.quick-facts div:last-child{border:0}.quick-facts span{display:block;color:var(--teal);font-size:1.65rem;line-height:1.1}.quick-facts strong,.quick-facts small{display:block}.quick-facts strong{color:var(--deep);font:700 1rem "Rye",serif}.quick-facts small{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem}
.postcard-section{padding:clamp(4.5rem,8vw,8rem) clamp(1rem,6vw,6rem);text-align:center}.section-script{margin:0 0 .2rem;color:var(--teal);font:700 clamp(2.1rem,4vw,4rem)/1 "Caveat",cursive}.postcard-section h2,.story h2{margin:.4rem 0 3rem;color:var(--deep);font:400 clamp(2.2rem,4vw,4.4rem)/1.05 "Rye",serif}.postcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem);max-width:1320px;margin:auto}.postcard{min-height:400px;padding:2rem;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;color:white;border:10px solid var(--cream);box-shadow:var(--shadow);text-align:center}.postcard:nth-child(1){transform:rotate(-1.7deg)}.postcard:nth-child(2){transform:translateY(1.5rem) rotate(.8deg)}.postcard:nth-child(3){transform:rotate(1.5deg)}.coral-card{background:var(--coral)}.teal-card{background:var(--teal)}.gold-card{background:#b97917}.stamp{position:absolute;top:1rem;right:1rem;width:42px;height:42px;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.7);font-size:.76rem}.doodle{margin:auto 0 1rem;font-size:4rem}.postcard h3{margin:0;font:700 clamp(2.2rem,3vw,3.5rem)/1 "Caveat",cursive}.postcard p:not(.doodle){max-width:34ch}.postcard a{margin-top:.5rem;text-underline-offset:5px;font-weight:700}
.house-postcards{align-items:start;gap:clamp(1.25rem,3vw,2.75rem)}.photo-postcard{position:relative;margin:0;padding:.75rem .75rem 1.2rem;background:#fffaf0;box-shadow:var(--shadow);text-align:left}.photo-postcard:nth-child(1){transform:rotate(-2deg)}.photo-postcard:nth-child(2){transform:translateY(1.6rem) rotate(.8deg)}.photo-postcard:nth-child(3){transform:rotate(2.2deg)}.photo-postcard:before{content:"";position:absolute;z-index:2;top:-12px;left:50%;width:86px;height:26px;background:rgba(221,191,138,.72);transform:translateX(-50%) rotate(-2deg);box-shadow:0 1px 3px rgba(63,45,26,.15)}.photo-frame{overflow:hidden;background:#ddd;aspect-ratio:4/5}.photo-frame img{width:100%;height:100%;object-fit:cover}.porch-card .photo-frame img{object-position:center center}.home-card .photo-frame img{object-position:center 43%}.door-card .photo-frame img{object-position:center 58%}.photo-postcard figcaption{padding:.85rem .55rem .1rem}.photo-postcard .handwritten{display:block;color:var(--coral);font:700 clamp(1.6rem,2.4vw,2.25rem)/1 "Caveat",cursive}.photo-postcard strong{display:block;margin:.3rem 0;color:var(--deep);font:400 clamp(1.25rem,1.8vw,1.65rem)/1.1 "Rye",serif}.photo-postcard small{display:block;color:#4b4037;font-size:.88rem;line-height:1.45}.house-link{display:inline-block;margin-top:4.2rem;color:var(--deep);font-weight:700;text-underline-offset:6px;text-decoration-thickness:2px}
.room-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(5rem,8vw,8rem) clamp(1rem,6vw,6rem);background:#e8d4aa;overflow:hidden}.room-photo-wrap{position:relative;margin-left:-2vw;padding:.8rem .8rem 2.9rem;background:#fffaf0;box-shadow:var(--shadow);transform:rotate(-1.4deg)}.room-photo-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover}.paper-tape{position:absolute;z-index:2;top:-11px;width:95px;height:27px;background:rgba(236,209,157,.82);box-shadow:0 1px 3px rgba(63,45,26,.14)}.tape-left{left:13%;transform:rotate(-5deg)}.tape-right{right:12%;transform:rotate(4deg)}.photo-scribble{position:absolute;right:1.4rem;bottom:.35rem;margin:0;color:var(--teal);font:700 clamp(1.35rem,2vw,2rem)/1 "Caveat",cursive;transform:rotate(-1deg)}.room-feature-copy{position:relative}.room-feature-copy:before{content:"✦";position:absolute;right:4%;top:-3.5rem;color:var(--coral);font-size:3rem;transform:rotate(10deg)}.room-feature .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.room-feature h2{margin:.7rem 0 1.2rem;color:var(--deep);font:400 clamp(2.5rem,4vw,4.6rem)/1.05 "Rye",serif}.room-feature-copy>p:not(.eyebrow):not(.room-note){font-size:1.06rem}.room-note{margin-top:1.6rem;color:var(--teal);font:700 1.45rem/1.2 "Caveat",cursive}
.kitchen-feature{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#fffaf0}.kitchen-copy{max-width:520px}.kitchen-copy .eyebrow{margin:0;color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.kitchen-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.kitchen-copy>p:not(.eyebrow):not(.kitchen-script){font-size:1.06rem}.kitchen-script{margin-top:1.6rem;color:var(--coral);font:700 clamp(1.7rem,2.6vw,2.6rem)/1 "Caveat",cursive}.kitchen-collage{position:relative;min-height:720px}.kitchen-collage figure{margin:0;background:#fff;padding:.7rem .7rem 1rem;box-shadow:var(--shadow)}.kitchen-collage img{width:100%;height:100%;object-fit:cover}.kitchen-collage figcaption{padding:.65rem .35rem .1rem;color:var(--deep);text-align:center;font:700 1.25rem/1 "Caveat",cursive}.kitchen-main{position:absolute;z-index:2;left:0;top:3%;width:57%;transform:rotate(-2.2deg)}.kitchen-main img{aspect-ratio:3/4}.kitchen-stove{position:absolute;right:0;top:0;width:43%;transform:rotate(2deg)}.kitchen-stove img{aspect-ratio:4/5}.kitchen-pup{position:absolute;z-index:3;right:2%;bottom:0;width:42%;transform:rotate(-1.5deg)}.kitchen-pup img{aspect-ratio:4/5}.kitchen-main:before,.kitchen-stove:before,.kitchen-pup:before{content:"";position:absolute;z-index:3;top:-12px;left:50%;width:85px;height:25px;background:rgba(225,192,132,.76);transform:translateX(-50%) rotate(-3deg)}
.story{display:grid;grid-template-columns:.8fr 1.2fr .8fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#fffaf0}.keepsake-note{padding:2.2rem;background:#e9d0a7;box-shadow:var(--shadow);transform:rotate(-4deg);border:1px solid #c8ad83}.keepsake-note p{margin:0;color:#2c241e;font:700 clamp(2.5rem,4vw,4.6rem)/.95 "Caveat",cursive}.keepsake-note span{display:block;color:var(--coral);font-size:2.8rem;text-align:right}.story-copy .eyebrow{margin:0;color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.story-copy h2{margin:.8rem 0 1.5rem;font-size:clamp(2rem,3.5vw,3.8rem)}.story-copy p{font-size:1.06rem}.signature{color:var(--teal);font:700 1.8rem "Caveat",cursive}.polaroid{margin:0;padding:.8rem .8rem 1.2rem;background:white;box-shadow:var(--shadow);transform:rotate(4deg)}.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover}.polaroid figcaption{text-align:center;padding-top:.8rem;color:var(--deep);font:700 1.4rem "Caveat",cursive}
.finale{min-height:360px;padding:clamp(4rem,8vw,8rem) clamp(1rem,6vw,6rem);display:flex;align-items:center;justify-content:center;gap:3rem;flex-direction:column;text-align:center;background:linear-gradient(rgba(239,225,199,.82),rgba(239,225,199,.88)),url("assets/canal-sunset-painted.png") center 58%/cover no-repeat}.finale .section-script{font-size:clamp(3rem,6vw,6.5rem);color:var(--deep)}.finale p{margin:.8rem 0;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}footer{padding:2rem clamp(1rem,5vw,5rem);display:flex;justify-content:space-between;gap:1rem;background:#1a454d;color:white}footer span{font:700 1.4rem "Caveat",cursive}footer p{margin:0;font-size:.8rem}
@media(max-width:900px){.menu-button{display:block}nav{display:none;position:absolute;top:calc(100% + .3rem);left:1rem;right:1rem;padding:1rem;background:var(--cream);box-shadow:var(--shadow);flex-direction:column}nav.open{display:flex}.hero{grid-template-columns:1fr;text-align:center}.logo-sticker{width:min(430px,78vw)}.quick-facts{grid-template-columns:repeat(3,1fr)}.postcard-grid,.story,.room-feature,.kitchen-feature{grid-template-columns:1fr}.postcard{min-height:340px;transform:none!important}.photo-postcard{width:min(560px,92vw);margin-inline:auto;transform:none!important}.photo-frame{aspect-ratio:4/3}.house-link{margin-top:2.5rem}.room-photo-wrap{margin:0;transform:none}.room-feature-copy,.kitchen-copy{max-width:650px;margin:auto}.kitchen-collage{min-height:620px;max-width:700px;width:100%;margin:auto}.story>*{max-width:620px;margin-inline:auto}.polaroid{width:min(420px,82vw)}.keepsake-note{width:min(520px,86vw)}}
@media(max-width:560px){.site-header{height:66px}.hero{min-height:auto;padding-top:3rem}.hero-copy{padding-bottom:1rem}.art-note{display:none}.quick-facts{grid-template-columns:repeat(2,1fr)}.quick-facts div:last-child{grid-column:1/-1}.quick-facts div:nth-child(even){border-right:0}.postcard-section h2{font-size:2.1rem}.postcard{padding:1.5rem}.kitchen-collage{min-height:0;display:grid;gap:1.4rem}.kitchen-main,.kitchen-stove,.kitchen-pup{position:relative;inset:auto;width:100%;transform:none}.story{padding-block:4.5rem}footer{flex-direction:column;text-align:center}.paint-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Transparent logo cutout: preserve only the logo's slim sticker edge. */
.logo-sticker{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.logo-sticker img{border-radius:0;filter:drop-shadow(0 8px 10px rgba(25,20,14,.35))}

/* A light, sun-washed hero with bold hand-lettering and an oversized weathered signpost. */
.site-header{background:rgba(255,250,240,.98)}
.hero{grid-template-columns:minmax(320px,.9fr) minmax(400px,1.1fr);gap:clamp(1rem,3vw,3rem);padding-right:clamp(17rem,29vw,29rem);background-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(255,239,207,.12),rgba(255,245,222,.2) 48%,rgba(255,235,197,.08)),linear-gradient(0deg,rgba(34,45,39,.12),transparent 58%)}
.logo-sticker{width:min(525px,43vw)}
.hero-copy{position:relative;z-index:2;max-width:660px;padding:clamp(.8rem,2vw,1.5rem);color:var(--deep);text-shadow:0 1px 1px rgba(255,250,235,.95),0 3px 14px rgba(255,242,211,.88)}
.hero-copy:before{content:none}
.script-line,.hero h1{font-family:"Satisfy","Caveat",cursive;color:var(--deep);font-weight:400}
.script-line{font-size:clamp(3rem,5.2vw,5.9rem);line-height:.95}
.hero h1{font-size:clamp(3.5rem,6vw,6.7rem);line-height:.96}
.hero-intro{max-width:520px;color:#3f3027;text-transform:uppercase;font-family:"DM Sans",sans-serif;font-size:clamp(.92rem,1.2vw,1.08rem);font-weight:700;letter-spacing:.12em;line-height:1.55;text-shadow:0 1px 5px rgba(255,248,230,.95)}
.hero-signpost{position:absolute;z-index:3;right:clamp(-1.2rem,-.4vw,.5rem);bottom:-1.1rem;width:clamp(340px,30vw,500px);max-height:96%;object-fit:contain;object-position:bottom center;filter:drop-shadow(-8px 10px 12px rgba(36,25,17,.3));transform:rotate(1deg);pointer-events:none}
.hero-button{background:#c84635}
.section-script,.photo-postcard .handwritten,.photo-scribble,.room-note,.kitchen-script,.bedroom-script,.second-bedroom-script,.signature,.finale .section-script{font-family:"Satisfy","Caveat",cursive;font-weight:400}

@media(max-width:1100px){.hero{padding-right:clamp(15rem,27vw,20rem)}.hero-signpost{width:clamp(300px,28vw,395px);opacity:.99}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-right:clamp(1rem,6vw,6rem);padding-bottom:3rem}.logo-sticker{width:min(500px,82vw)}.hero-signpost{position:relative;right:auto;bottom:auto;justify-self:center;width:min(430px,80vw);max-height:none;margin-top:1rem;grid-column:1/-1;filter:drop-shadow(0 10px 12px rgba(36,25,17,.28))}}
@media(max-width:560px){.hero-signpost{width:min(340px,88vw)}.hero-copy{padding:1.1rem .45rem}.script-line{font-size:clamp(2.65rem,12vw,4rem)}.hero h1{font-size:clamp(3.1rem,14vw,4.7rem)}.hero-intro{font-size:.85rem;letter-spacing:.08em}}

/* Owner-approved opening artwork, preserved exactly as supplied. */
.hero.hero-art{display:block;position:relative;min-height:0;padding:0;background:#edd3a6;color:inherit;overflow:hidden}
.hero-art>img{display:block;width:100%;height:auto;aspect-ratio:1313/620;object-fit:cover;object-position:center}
.hero-art-booking{position:absolute;left:47.2%;top:76.5%;width:25.5%;height:11%;transform:translate(-50%,-50%);border-radius:999px;text-indent:-9999px;overflow:hidden}
.hero-art-booking:focus-visible{outline:4px solid #fff7e8;outline-offset:4px;box-shadow:0 0 0 7px #0b6670}

/* Guest words styled as a sun-faded scrapbook of five-star memories. */
.guest-reviews{padding:clamp(5rem,9vw,8.5rem) clamp(1rem,6vw,6rem);background:#f7ead1;color:var(--deep);overflow:hidden}.reviews-heading{max-width:850px;margin:0 auto clamp(2.8rem,5vw,4.5rem);text-align:center}.reviews-heading .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.reviews-heading h2{margin:.75rem 0 1.1rem;color:var(--teal);font:400 clamp(2.5rem,5vw,5rem)/1.03 "Rye",serif}.reviews-heading>p:last-child{margin:0 auto;max-width:620px;font-size:1.08rem}.reviews-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.2vw,2rem);align-items:stretch}.review-card{position:relative;margin:0;padding:clamp(1.5rem,2.5vw,2.25rem);background:#fffaf0;border:1px solid rgba(89,68,48,.12);box-shadow:8px 10px 0 rgba(19,98,107,.13);transform:rotate(-.6deg)}.review-card:nth-child(even){transform:rotate(.7deg);box-shadow:8px 10px 0 rgba(198,70,53,.13)}.review-card:nth-child(3n){transform:rotate(-.25deg)}.featured-review{background:#dcefeb}.review-stars{color:#c84635;font-size:1.1rem;letter-spacing:.16em}.review-card blockquote{margin:1rem 0 1.4rem;font:600 clamp(1.15rem,1.55vw,1.45rem)/1.42 "Caveat",cursive}.featured-review blockquote{font-size:clamp(1.45rem,2vw,2rem);color:#0b6670}.reviewer{margin:auto 0 0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--coral)}.reviewer span{font-weight:500;color:#645649}.guestbook-review{background:#f3d58e}.guestbook-review .paper-tape{left:50%;top:-.8rem;transform:translateX(-50%) rotate(-2deg)}.guestbook-label{margin:0;color:#0b6670;font:700 1.25rem/1 "Caveat",cursive}.guestbook-review blockquote{font-size:clamp(1.3rem,1.8vw,1.7rem)}.reviews-script{margin:clamp(2.8rem,5vw,4.5rem) auto 0;text-align:center;color:var(--teal);font:400 clamp(1.9rem,3vw,3rem)/1.1 "Satisfy","Caveat",cursive}@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card,.review-card:nth-child(even),.review-card:nth-child(3n){transform:none}}@media(max-width:560px){.reviews-grid{grid-template-columns:1fr}.reviews-heading h2 br{display:none}.review-card{padding:1.5rem}}

/* A cheerful, moderated way for past guests to send a review privately. */
.review-cta{max-width:900px;margin:clamp(4rem,7vw,6.5rem) auto 0;padding:clamp(2rem,5vw,4rem);text-align:center;background:#dcefeb;border:1px solid rgba(11,102,112,.14);box-shadow:10px 12px 0 rgba(198,70,53,.13);position:relative}.review-cta:before{content:"";position:absolute;top:-13px;left:50%;width:120px;height:31px;background:rgba(232,204,134,.8);transform:translateX(-50%) rotate(-2deg)}.review-cta-kicker{margin:0;color:var(--coral);font:700 clamp(2rem,4vw,3.5rem)/1 "Satisfy","Caveat",cursive}.review-cta h3{margin:.65rem auto .55rem;color:var(--teal);font:400 clamp(1.6rem,3vw,2.7rem)/1.15 "Rye",serif}.review-cta>p:not(.review-cta-kicker){margin:.5rem auto 1.6rem;max-width:600px;font-size:1.05rem}.review-form-wrap{max-width:720px;margin:1.5rem auto 0}.review-form-wrap>summary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.85rem 1.8rem;border:2px solid var(--coral);background:var(--coral);color:#fff;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.08em;list-style:none;box-shadow:5px 6px 0 rgba(11,102,112,.18)}.review-form-wrap>summary::-webkit-details-marker{display:none}.review-form-wrap>summary:hover,.review-form-wrap>summary:focus-visible{background:var(--teal);border-color:var(--teal);outline:none}.review-form-wrap[open]>summary{margin-bottom:1.5rem}.review-form-wrap form{padding:clamp(1.25rem,3vw,2.25rem);background:#fffaf0;border:1px solid rgba(89,68,48,.14);text-align:left}.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.review-form-grid label{display:grid;gap:.4rem;color:var(--deep);font-size:.92rem;font-weight:700}.review-form-grid input,.review-form-grid select,.review-form-grid textarea{width:100%;min-height:48px;padding:.75rem .85rem;border:1px solid rgba(11,102,112,.35);border-radius:0;background:#fff;color:var(--deep);font:inherit}.review-form-grid textarea{resize:vertical;line-height:1.5}.review-form-grid input:focus,.review-form-grid select:focus,.review-form-grid textarea:focus{outline:3px solid rgba(198,70,53,.25);border-color:var(--coral)}.review-message,.review-permission{grid-column:1/-1}.review-permission{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;line-height:1.45}.review-permission input{width:20px;min-height:20px;margin:.15rem 0 0}.review-submit{display:block;width:100%;margin:1.25rem 0 0;padding:.9rem 1.2rem;border:2px solid var(--teal);background:var(--teal);color:#fff;font:700 1rem "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.review-submit:hover,.review-submit:focus-visible{background:var(--coral);border-color:var(--coral)}.review-form-note,.review-form-status{margin:.8rem 0 0;text-align:center;font-size:.82rem;line-height:1.45;color:#625245}.review-form-status{min-height:1.2em;color:var(--teal);font-weight:700}@media(max-width:620px){.review-form-grid{grid-template-columns:1fr}.review-message,.review-permission{grid-column:auto}.review-cta{padding:2.2rem 1rem}.review-form-wrap form{padding:1.1rem}}

/* Hand-painted coastal amenity icons. */
.quick-facts{grid-template-columns:repeat(6,1fr)}
.quick-facts img{width:58px;height:58px;object-fit:contain;margin:0 auto .45rem;filter:drop-shadow(0 2px 1px rgba(24,63,72,.12))}
@media(max-width:900px){.quick-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.quick-facts{grid-template-columns:repeat(2,1fr)}.quick-facts div:last-child{grid-column:auto}}

/* Layered GypSEA story keepsake supplied by the owners. */
.keepsake-note{margin:0;padding:0;background:transparent;border:0;overflow:hidden;aspect-ratio:1.08/1}
.keepsake-note img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}

/* Serene primary-bedroom scrapbook spread. */
.primary-bedroom{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#d6ece8;overflow:hidden}.bedroom-gallery{position:relative;min-height:720px}.bedroom-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.bedroom-gallery img{display:block;width:100%;height:100%;object-fit:cover}.bedroom-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.bedroom-main{position:absolute;z-index:2;left:2%;top:0;width:61%;transform:rotate(-2deg)}.bedroom-main img{aspect-ratio:3/4}.bedroom-main .paper-tape{left:50%;transform:translateX(-50%) rotate(-3deg)}.bedroom-detail{position:absolute;right:1%;bottom:4%;width:47%;transform:rotate(2.5deg)}.bedroom-detail img{aspect-ratio:4/5}.bedroom-copy{max-width:520px}.bedroom-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.bedroom-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.bedroom-copy>p:not(.eyebrow):not(.bedroom-script){font-size:1.06rem}.bedroom-script{margin-top:1.7rem;color:var(--coral);font:700 clamp(1.7rem,2.7vw,2.8rem)/1 "Caveat",cursive}@media(max-width:900px){.primary-bedroom{grid-template-columns:1fr}.bedroom-copy{max-width:650px;margin:auto}.bedroom-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.bedroom-gallery{min-height:0;display:grid;gap:1.4rem}.bedroom-main,.bedroom-detail{position:relative;inset:auto;width:100%;transform:none}}

/* Warm, tropical primary-bathroom spread. */
.primary-bathroom{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#f5ded5;overflow:hidden}.primary-bathroom-copy{max-width:520px;position:relative}.primary-bathroom-copy:before{content:"✦";position:absolute;right:7%;top:-3.7rem;color:#b56f44;font-size:3.1rem;transform:rotate(12deg)}.primary-bathroom-copy .eyebrow{margin:0;color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.primary-bathroom-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.primary-bathroom-copy>p:not(.eyebrow):not(.primary-bathroom-script){font-size:1.06rem}.primary-bathroom-script{margin-top:1.7rem;color:var(--coral);font:400 clamp(1.8rem,2.7vw,2.8rem)/1 "Satisfy","Caveat",cursive}.primary-bathroom-gallery{position:relative;min-height:710px}.primary-bathroom-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.primary-bathroom-gallery img{display:block;width:100%;height:100%;object-fit:cover}.primary-bathroom-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.primary-bathroom-main{position:absolute;z-index:2;right:1%;top:0;width:59%;transform:rotate(1.8deg)}.primary-bathroom-main img{aspect-ratio:3/4;object-position:center center}.primary-bathroom-main .paper-tape{left:50%;transform:translateX(-50%) rotate(3deg)}.primary-bathroom-detail{position:absolute;z-index:3;left:0;bottom:1%;width:48%;transform:rotate(-2deg)}.primary-bathroom-detail img{aspect-ratio:4/5;object-position:center center}@media(max-width:900px){.primary-bathroom{grid-template-columns:1fr}.primary-bathroom-copy{max-width:650px;margin:auto}.primary-bathroom-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.primary-bathroom-gallery{min-height:0;display:grid;gap:1.4rem}.primary-bathroom-main,.primary-bathroom-detail{position:relative;inset:auto;width:100%;transform:none}}

/* Warm tropical second-bedroom spread. */
.second-bedroom{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#f0d59a;overflow:hidden}.second-bedroom-copy{max-width:520px}.second-bedroom-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.second-bedroom-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.second-bedroom-copy>p:not(.eyebrow):not(.second-bedroom-script){font-size:1.06rem}.second-bedroom-script{margin-top:1.7rem;color:var(--teal);font:700 clamp(1.8rem,2.7vw,2.8rem)/1 "Caveat",cursive}.second-bedroom-gallery{position:relative;min-height:670px}.second-bedroom-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.second-bedroom-gallery img{display:block;width:100%;height:100%;object-fit:cover}.second-bedroom-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.second-bedroom-main{position:absolute;z-index:2;right:0;top:0;width:61%;transform:rotate(2deg)}.second-bedroom-main img{aspect-ratio:3/4}.second-bedroom-main .paper-tape{left:50%;transform:translateX(-50%) rotate(3deg)}.second-bedroom-detail{position:absolute;left:0;bottom:2%;width:49%;transform:rotate(-2.4deg)}.second-bedroom-detail img{aspect-ratio:4/5}@media(max-width:900px){.second-bedroom{grid-template-columns:1fr}.second-bedroom-copy{max-width:650px;margin:auto}.second-bedroom-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.second-bedroom-gallery{min-height:0;display:grid;gap:1.4rem}.second-bedroom-main,.second-bedroom-detail{position:relative;inset:auto;width:100%;transform:none}}

/* Groovy VW-bus bedroom scrapbook spread. */
.vw-bedroom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#d9eee9;overflow:hidden}.vw-gallery{position:relative;min-height:780px}.vw-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.vw-gallery img{display:block;width:100%;height:100%;object-fit:cover}.vw-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.vw-main{position:absolute;z-index:2;left:0;top:0;width:58%;transform:rotate(-2deg)}.vw-main img{aspect-ratio:3/4;object-position:center center}.vw-main .paper-tape{left:50%;transform:translateX(-50%) rotate(-4deg)}.vw-bed-detail{position:absolute;z-index:3;right:1%;top:7%;width:43%;transform:rotate(2.2deg)}.vw-bed-detail img{aspect-ratio:4/5;object-position:center center}.vw-dresser-detail{position:absolute;z-index:4;right:7%;bottom:0;width:39%;transform:rotate(-1.5deg)}.vw-dresser-detail img{aspect-ratio:4/5;object-position:center center}.vw-bedroom-copy{max-width:520px;position:relative}.vw-bedroom-copy:before{content:"☮";position:absolute;right:4%;top:-4rem;color:var(--coral);font-size:3.2rem;transform:rotate(9deg)}.vw-bedroom-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.vw-bedroom-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.vw-bedroom-copy>p:not(.eyebrow):not(.vw-bedroom-script){font-size:1.06rem}.vw-bedroom-script{margin-top:1.7rem;color:var(--teal);font:400 clamp(1.9rem,2.8vw,3rem)/1 "Satisfy","Caveat",cursive}@media(max-width:900px){.vw-bedroom{grid-template-columns:1fr}.vw-bedroom-copy{max-width:650px;margin:auto}.vw-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.vw-gallery{min-height:0;display:grid;gap:1.4rem}.vw-main,.vw-bed-detail,.vw-dresser-detail{position:relative;inset:auto;width:100%;transform:none}}

/* Compact, bright second-bathroom spread. */
.guest-bathroom{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,8vw,7rem) clamp(1rem,6vw,6rem);background:#eee6d2;overflow:hidden}.guest-bathroom-copy{max-width:520px;position:relative}.guest-bathroom-copy:before{content:"✦";position:absolute;right:8%;top:-3.7rem;color:#b88945;font-size:3rem;transform:rotate(-9deg)}.guest-bathroom-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.guest-bathroom-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.guest-bathroom-copy>p:not(.eyebrow):not(.guest-bathroom-script){font-size:1.06rem}.guest-bathroom-script{margin-top:1.7rem;color:var(--teal);font:400 clamp(1.8rem,2.7vw,2.8rem)/1 "Satisfy","Caveat",cursive}.guest-bathroom-gallery{position:relative;min-height:690px}.guest-bathroom-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.guest-bathroom-gallery img{display:block;width:100%;height:100%;object-fit:cover}.guest-bathroom-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.guest-bathroom-main{position:absolute;z-index:2;right:1%;top:0;width:62%;transform:rotate(1.6deg)}.guest-bathroom-main img{aspect-ratio:4/5;object-position:center center}.guest-bathroom-main .paper-tape{left:50%;transform:translateX(-50%) rotate(3deg)}.guest-bathroom-detail{position:absolute;z-index:3;left:1%;bottom:0;width:43%;transform:rotate(-2.2deg)}.guest-bathroom-detail img{aspect-ratio:3/4;object-position:center center}@media(max-width:900px){.guest-bathroom{grid-template-columns:1fr}.guest-bathroom-copy{max-width:650px;margin:auto}.guest-bathroom-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.guest-bathroom-gallery{min-height:0;display:grid;gap:1.4rem}.guest-bathroom-main,.guest-bathroom-detail{position:relative;inset:auto;width:100%;transform:none}}

/* Practical laundry room with a personal beach-memory wall. */
.laundry-feature{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(280px,.62fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,8vw,7rem) clamp(1rem,6vw,6rem);background:#dcebe7;overflow:hidden}.laundry-gallery{position:relative;min-height:700px}.laundry-gallery figure{margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.laundry-gallery img{display:block;width:100%;height:100%;object-fit:cover}.laundry-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.laundry-main{position:absolute;z-index:2;left:1%;top:0;width:55%;transform:rotate(-1.8deg)}.laundry-main img{aspect-ratio:3/4;object-position:center center}.laundry-main .paper-tape{left:50%;transform:translateX(-50%) rotate(-3deg)}.memory-wall-detail{position:absolute;z-index:3;right:1%;bottom:1%;width:53%;transform:rotate(1.8deg)}.memory-wall-detail img{aspect-ratio:4/5;object-position:center center}.laundry-copy{max-width:520px;position:relative}.laundry-copy:before{content:"✦";position:absolute;right:7%;top:-3.7rem;color:var(--coral);font-size:3rem;transform:rotate(10deg)}.laundry-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700}.laundry-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.4rem,4vw,4.5rem)/1.05 "Rye",serif}.laundry-copy>p:not(.eyebrow):not(.laundry-script){font-size:1.06rem}.laundry-script{margin-top:1.7rem;color:var(--teal);font:400 clamp(1.8rem,2.7vw,2.8rem)/1 "Satisfy","Caveat",cursive}@media(max-width:900px){.laundry-feature{grid-template-columns:1fr}.laundry-copy{max-width:650px;margin:auto}.laundry-gallery{width:100%;max-width:700px;margin:auto}}@media(max-width:560px){.laundry-gallery{min-height:0;display:grid;gap:1.4rem}.laundry-main,.memory-wall-detail{position:relative;inset:auto;width:100%;transform:none}}

/* An outdoor chapter with a little beach-bar soul and one clearly labeled nearby adventure. */
.outdoor-chapter{padding:clamp(5rem,9vw,9rem) clamp(1rem,6vw,6rem);background:#0b6670;color:#fff;overflow:hidden}.outdoor-heading{max-width:830px;margin:0 auto clamp(3rem,6vw,5rem);text-align:center;position:relative}.outdoor-heading:before{content:"☀";position:absolute;left:-1.5rem;top:-2.8rem;color:#efb43c;font-size:3.6rem;transform:rotate(-12deg)}.outdoor-heading .eyebrow{margin:0;color:#f6c85f;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.outdoor-heading h2{margin:.7rem 0 1.25rem;color:#fff7e8;font:400 clamp(2.6rem,5vw,5.2rem)/1.02 "Rye",serif}.outdoor-heading>p:not(.eyebrow):not(.outdoor-script){font-size:1.08rem;line-height:1.75}.outdoor-script{margin:1.5rem 0 0;color:#f6c85f;font:400 clamp(2rem,3.4vw,3.5rem)/1 "Satisfy","Caveat",cursive}.outdoor-gallery{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:auto auto;gap:clamp(1rem,2.5vw,2rem);align-items:start}.outdoor-gallery figure{position:relative;margin:0;background:#fff8e9;padding:.75rem .75rem 1rem;box-shadow:0 20px 48px rgba(0,25,30,.35);color:var(--deep)}.outdoor-gallery img{width:100%;height:100%;object-fit:cover}.outdoor-gallery figcaption{padding:.72rem .35rem .1rem;text-align:center;font:700 1.35rem/1 "Caveat",cursive}.outdoor-day{grid-row:1/3;transform:rotate(-1.2deg)}.outdoor-day img{aspect-ratio:3/4;object-position:center center}.outdoor-day .paper-tape{left:50%;transform:translateX(-50%) rotate(-2deg)}.outdoor-night{transform:rotate(1.3deg)}.outdoor-night img{aspect-ratio:4/3;object-position:center center}.outdoor-shower{width:55%;justify-self:start;transform:rotate(-1.5deg)}.outdoor-shower img{aspect-ratio:3/4;object-position:center center}.outdoor-kayak{width:63%;justify-self:end;margin-top:-35%!important;transform:rotate(1.5deg)}.outdoor-kayak img{aspect-ratio:4/3;object-position:center center}.nearby-tag{position:absolute;z-index:2;top:1.2rem;left:-.65rem;padding:.45rem .8rem;background:var(--coral);color:#fff;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:700;box-shadow:3px 4px 0 rgba(52,25,18,.23);transform:rotate(-4deg)}
@media(max-width:900px){.outdoor-gallery{max-width:760px;grid-template-columns:1fr 1fr}.outdoor-day{grid-column:1/-1;grid-row:auto}.outdoor-day img{aspect-ratio:4/3}.outdoor-night,.outdoor-shower,.outdoor-kayak{width:100%;margin:0!important;justify-self:stretch}.outdoor-heading:before{left:2%}}
@media(max-width:560px){.outdoor-gallery{grid-template-columns:1fr}.outdoor-day{grid-column:auto}.outdoor-gallery figure{transform:none}.outdoor-day img,.outdoor-night img,.outdoor-shower img,.outdoor-kayak img{aspect-ratio:4/3}.outdoor-heading:before{display:none}}

/* Keep the fish-cleaning station beside the outdoor shower as a pair of practical beach-day amenities. */
.outdoor-gallery{grid-template-rows:auto auto auto}.outdoor-day{grid-row:1/4}.outdoor-utility-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,1.5vw,1.25rem);align-items:start}.outdoor-utility-row figure{width:100%;justify-self:stretch;transform:none}.outdoor-utility-row img{aspect-ratio:3/4;object-position:center center}.fish-station img{object-position:center center}.outdoor-kayak{width:78%;margin-top:0!important}
@media(max-width:900px){.outdoor-utility-row{grid-column:1/-1}.outdoor-utility-row figure{width:100%}.outdoor-kayak{grid-column:1/-1;width:min(600px,100%);justify-self:center}.outdoor-day{grid-row:auto}}
@media(max-width:560px){.outdoor-utility-row{grid-template-columns:1fr}.outdoor-utility-row img,.fish-station img{aspect-ratio:4/3}}

/* Owner-requested finishing touches. */
.photo-postcard:nth-child(2){transform:translateY(3.2rem) rotate(.8deg)}
.arrival-main{width:74%!important}
.arrival-porch{right:2%!important;bottom:2%!important;width:42%!important}
.outdoor-heading>p.outdoor-guest-note{max-width:720px;margin:1.5rem auto 0;padding:1rem 1.25rem;border-block:1px solid rgba(246,200,95,.45);color:#fff7e8;font-size:1rem;line-height:1.65}
.finale .section-script strong{display:inline-block;font-family:"Rye",serif;font-size:.78em;font-weight:400;letter-spacing:.01em}
.finale .section-script{font-family:"Rye",serif;font-size:clamp(2.2rem,4.5vw,4.9rem);font-weight:400;line-height:1.08;letter-spacing:.025em;text-transform:none}
@media(max-width:900px){.photo-postcard:nth-child(2){transform:none}}
@media(max-width:560px){.arrival-main,.arrival-porch{width:100%!important;right:auto!important;bottom:auto!important}}

/* A welcoming arrival spread using the owners' current exterior photographs. */
.arrival-feature{display:grid;grid-template-columns:minmax(270px,.58fr) minmax(0,1.42fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(5rem,8vw,8rem) clamp(1rem,6vw,6rem);background:#f1d590;overflow:hidden}.arrival-copy{max-width:510px;position:relative}.arrival-copy:before{content:"☀";position:absolute;right:8%;top:-4.5rem;color:var(--coral);font-size:3.4rem;transform:rotate(10deg)}.arrival-copy .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700}.arrival-copy h2{margin:.7rem 0 1.3rem;color:var(--deep);font:400 clamp(2.5rem,4.5vw,4.8rem)/1.02 "Rye",serif}.arrival-copy>p:not(.eyebrow):not(.arrival-script){font-size:1.06rem}.arrival-script{margin-top:1.7rem;color:var(--teal);font:400 clamp(1.9rem,2.8vw,3rem)/1 "Satisfy","Caveat",cursive}.arrival-gallery{position:relative;min-height:690px}.arrival-gallery figure{position:absolute;margin:0;background:#fffaf0;padding:.75rem .75rem 1rem;box-shadow:var(--shadow)}.arrival-gallery img{display:block;width:100%;height:100%;object-fit:cover}.arrival-gallery figcaption{padding:.7rem .4rem .1rem;text-align:center;color:var(--deep);font:700 1.35rem/1 "Caveat",cursive}.arrival-main{z-index:2;left:0;top:5%;width:68%;transform:rotate(-1.5deg)}.arrival-main img{aspect-ratio:4/3;object-position:center center}.arrival-main .paper-tape{left:50%;transform:translateX(-50%) rotate(-3deg)}.arrival-evening{z-index:3;right:0;top:0;width:35%;transform:rotate(2deg)}.arrival-evening img{aspect-ratio:3/4;object-position:center 45%}.arrival-porch{z-index:4;right:4%;bottom:0;width:39%;transform:rotate(-2deg)}.arrival-porch img{aspect-ratio:3/4;object-position:center center}@media(max-width:900px){.arrival-feature{grid-template-columns:1fr}.arrival-copy{max-width:650px;margin:auto}.arrival-gallery{width:100%;max-width:760px;margin:auto}}@media(max-width:560px){.arrival-gallery{min-height:0;display:grid;gap:1.4rem}.arrival-gallery figure{position:relative;inset:auto;width:100%;transform:none}.arrival-main img,.arrival-evening img,.arrival-porch img{aspect-ratio:4/3}.arrival-copy:before{display:none}}

/* Practical questions tucked into cheerful vintage postcards. */
.faq-section{padding:clamp(5rem,9vw,8rem) clamp(1rem,6vw,6rem);background:#d9eee9;color:var(--deep)}.faq-heading{max-width:760px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center}.faq-heading .eyebrow,.direct-booking .eyebrow{margin:0;color:var(--coral);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.faq-heading h2{margin:.75rem 0 1rem;color:var(--deep);font:400 clamp(2.5rem,5vw,4.8rem)/1.03 "Rye",serif}.faq-heading>p:last-child{font-size:1.08rem}.faq-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.faq-grid details{background:#fffaf0;border:1px solid rgba(11,102,112,.15);box-shadow:5px 6px 0 rgba(11,102,112,.1)}.faq-grid summary{cursor:pointer;list-style:none;padding:1.15rem 3.2rem 1.15rem 1.25rem;position:relative;color:var(--teal);font-weight:700}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:"+";position:absolute;right:1.25rem;top:.8rem;color:var(--coral);font:400 1.8rem/1 "Rye",serif}.faq-grid details[open] summary:after{content:"–"}.faq-grid details p{margin:0;padding:0 1.25rem 1.25rem;line-height:1.65}.faq-grid details:focus-within{outline:3px solid rgba(198,70,53,.35);outline-offset:3px}@media(max-width:700px){.faq-grid{grid-template-columns:1fr}}

/* Direct booking gets the final, fee-saving spotlight. */
.direct-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:clamp(2.5rem,7vw,7rem);align-items:center;padding:clamp(5rem,9vw,8rem) clamp(1rem,8vw,9rem);background:#f0d59a;color:var(--deep)}.direct-copy{max-width:650px}.direct-copy h2{margin:.7rem 0 1.2rem;color:var(--teal);font:400 clamp(3rem,6vw,6rem)/1 "Rye",serif}.direct-copy>p:not(.eyebrow):not(.direct-script){font-size:1.1rem;line-height:1.7}.direct-script{margin:1.7rem 0 0;color:var(--coral);font:400 clamp(2rem,3.2vw,3.3rem)/1 "Satisfy","Caveat",cursive}.contact-card{position:relative;display:grid;gap:.85rem;padding:clamp(2rem,4vw,3.25rem);background:#fffaf0;box-shadow:12px 14px 0 rgba(11,102,112,.18);transform:rotate(1deg)}.contact-card:before{content:"";position:absolute;top:-12px;left:50%;width:105px;height:30px;background:rgba(232,204,134,.68);transform:translateX(-50%) rotate(-3deg)}.contact-kicker{margin:0 0 .25rem;color:var(--coral);font:700 1.5rem/1 "Caveat",cursive}.contact-card>a{display:block;padding:.85rem 1rem;border:2px solid var(--teal);color:var(--teal);text-align:center;font-weight:700;text-decoration:none}.contact-card>a:hover,.contact-card>a:focus-visible{background:var(--teal);color:#fff}.contact-card .direct-email{background:var(--coral);border-color:var(--coral);color:#fff}.contact-card small{margin-top:.65rem;text-align:center;color:#625245}.contact-card .platform-link{padding:.35rem;border:0;font-size:.9rem;text-decoration:underline}.contact-card .platform-link:hover,.contact-card .platform-link:focus-visible{background:transparent;color:var(--coral)}@media(max-width:800px){.direct-booking{grid-template-columns:1fr}.contact-card{transform:none}}

.gypsea-girl{overflow:hidden;background:#e9c995;padding:3rem clamp(1rem,6vw,6rem) 0}.gypsea-girl-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(1rem,4vw,4rem)}.gypsea-girl-copy{align-self:center;padding:1rem 0 3rem}.gypsea-girl .eyebrow{color:#205f68;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem;font-weight:700}.gypsea-girl h2{color:#253e3d;font:400 clamp(2.5rem,4vw,4.4rem)/1.1 "Rye",serif;margin:.5rem 0 1.2rem}.gypsea-girl p{max-width:50ch;font-size:1.08rem;line-height:1.65;color:#3a3027}.gypsea-girl-signoff{font:400 2rem "Satisfy","Caveat",cursive!important;color:#a84b38!important}.gypsea-girl img{display:block;width:100%;max-height:460px;object-fit:contain;object-position:bottom center;filter:drop-shadow(5px 12px 9px rgba(73,45,24,.18))}@media(max-width:700px){.gypsea-girl-inner{grid-template-columns:1fr;text-align:center}.gypsea-girl-copy{padding-bottom:0}.gypsea-girl p{margin-inline:auto}.gypsea-girl img{max-width:390px;margin:auto;max-height:360px}}

.room-photo-wrap .photo-scribble{left:0;right:0;text-align:center;font-family:"Caveat",cursive;font-weight:700}

/* Let stacked mobile Polaroids grow with their images and captions. */
@media(max-width:560px){
  .kitchen-collage figure,.bedroom-gallery figure,.primary-bathroom-gallery figure,.second-bedroom-gallery figure,.vw-gallery figure,.guest-bathroom-gallery figure,.laundry-gallery figure,.outdoor-gallery figure,.arrival-gallery figure{box-sizing:border-box;min-width:0;width:100%;height:auto;padding-bottom:.7rem}
  .kitchen-collage figure img,.bedroom-gallery figure img,.primary-bathroom-gallery figure img,.second-bedroom-gallery figure img,.vw-gallery figure img,.guest-bathroom-gallery figure img,.laundry-gallery figure img,.outdoor-gallery figure img,.arrival-gallery figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
  .kitchen-collage figcaption,.bedroom-gallery figcaption,.primary-bathroom-gallery figcaption,.second-bedroom-gallery figcaption,.vw-gallery figcaption,.guest-bathroom-gallery figcaption,.laundry-gallery figcaption,.outdoor-gallery figcaption,.arrival-gallery figcaption{position:static;display:block;line-height:1.25;padding:.65rem .35rem .2rem;text-align:center}
  .room-photo-wrap{padding-bottom:.65rem}
  .room-photo-wrap .photo-scribble{position:static;transform:none;line-height:1.25;padding:.45rem .25rem .1rem}
}
.hero-house-postcard{position:absolute;z-index:2;left:4.8%;bottom:4%;display:block;width:clamp(135px,17.5vw,262px);box-sizing:border-box;padding:5px 5px 6px;background:#fff7e8;color:#075564;box-shadow:0 4px 14px #2226;transform:rotate(-5deg);text-align:center;text-decoration:none;font:700 clamp(14px,1.45vw,22px)/1.05 "Caveat",cursive}
.hero-house-postcard img{display:block;width:100%;aspect-ratio:1.9;object-fit:cover;object-position:50% 48%;margin-bottom:4px}
.hero-house-postcard:focus-visible{outline:3px solid #075564;outline-offset:3px}
@media(max-width:700px){.hero-house-postcard{position:relative;left:auto;bottom:auto;margin:12px auto;width:142px;transform:rotate(-3deg);font-size:18px}}
