
:root{--cream:#f5f0e7;--paper:#fffcf7;--ink:#2d211c;--muted:#776b62;--rose:#b9345b;--pink:#f3cbd5;--line:#dcd1c5;--olive:#697052}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Work Sans",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.048em}h1{font-size:clamp(56px,7.7vw,124px);line-height:.96}h2{font-size:clamp(40px,5vw,77px);line-height:1.03}h3{font-size:clamp(26px,3vw,42px);line-height:1.1}em{font-weight:400;color:var(--rose)}p{line-height:1.65}small,.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.eyebrow{margin-bottom:24px;color:var(--rose)}.wrap{width:min(1300px,calc(100% - 80px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(245,240,231,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.logo{font:italic 39px Georgia,serif;letter-spacing:-.08em;display:inline-flex;align-items:center;line-height:0}.logo img{display:block;height:40px;width:auto}.navlinks{display:flex;gap:27px;align-items:center}.navlinks a{font-size:12px;letter-spacing:.05em}.navlinks a:hover,.navlinks .active{color:var(--rose)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:16px 23px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:12px;font-weight:700;letter-spacing:.04em;transition:.2s}.btn:hover{background:var(--rose);border-color:var(--rose)}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--ink);color:white}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.section{padding:105px 0}.intro{padding:115px 0 90px}.intro p{max-width:660px;font-size:19px;color:var(--muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{object-fit:cover;aspect-ratio:4/5}.photo.wide{aspect-ratio:5/4}.cream{background:var(--cream)}.paper{background:var(--paper)}.dark{background:var(--ink);color:var(--paper)}.dark em{color:var(--pink)}.pink{background:var(--pink)}.rule{border-top:1px solid var(--line)}.tag{display:inline-block;padding:9px 12px;border:1px solid currentColor;border-radius:30px;font-size:11px;margin:3px}.card{border:1px solid var(--line);background:var(--paper);padding:28px}.card h3{margin:16px 0}.card p{color:var(--muted)}.card .price{font-size:13px;font-weight:700;color:var(--rose)}.image-card img{aspect-ratio:1;object-fit:cover}.image-card figcaption{font-size:13px;padding:14px 0;color:var(--muted)}figure{margin:0}.footer{padding:80px 0 30px;background:var(--ink);color:var(--paper)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{display:block;margin:10px 0;font-size:13px}.footer .logo{font-size:65px;margin:0 0 10px}.footer .logo img{height:64px}.footnote{margin-top:75px;border-top:1px solid #65554d;padding-top:24px;color:#c3b7ad;font-size:12px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.hero-copy{padding:100px max(50px,calc((100vw - 1300px)/2)) 100px max(40px,calc((100vw - 1300px)/2));display:flex;flex-direction:column;justify-content:center}.hero-copy p{max-width:500px}.hero-photo{height:100%;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line)}.gallery figure{cursor:pointer}.gallery figure:focus-within img,.gallery figure:hover img{outline:3px solid var(--rose)}.gallery figcaption{padding:10px 0;font-size:12px;color:var(--muted)}.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:75px 0}.product-hero img{max-height:700px;object-fit:contain}.number{font:italic 32px Georgia,serif;color:var(--rose)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{border-top:1px solid var(--line);padding-top:20px}.step h3{font-size:28px}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.mosaic img{height:100%;object-fit:cover}.mosaic img:first-child{grid-row:span 2}.mosaic img:not(:first-child){aspect-ratio:1}.form{display:grid;gap:16px;max-width:650px}.form label{display:grid;gap:7px;font-size:12px;font-weight:700}.form input,.form textarea,.form select{padding:14px;background:var(--paper);border:1px solid var(--line);color:var(--ink);width:100%}.form textarea{min-height:140px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-family:Georgia,serif;font-size:23px}.faq p{margin:14px 0;color:var(--muted)}.callout{padding:90px 0;text-align:center}.callout h2{max-width:900px;margin:0 auto 25px}.callout .actions{justify-content:center}.sticky-buy{position:sticky;bottom:0;background:var(--paper);padding:13px 0;border-top:1px solid var(--line);z-index:10}.sticky-buy .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.sticky-buy .btn{padding:12px 20px}.subnav{display:flex;flex-wrap:wrap;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.subnav a:hover{color:var(--rose)}
@media(max-width:900px){.wrap{width:min(100% - 36px,1300px)}.nav{flex-wrap:wrap;padding:14px 0;min-height:0}.navlinks{overflow:auto;width:100%;gap:20px;white-space:nowrap;padding-bottom:6px}.nav .btn{display:none}.two,.hero-grid,.product-hero{grid-template-columns:1fr}.hero-grid{min-height:0}.hero-copy{padding:75px 25px}.hero-photo{max-height:560px}.three{grid-template-columns:1fr 1fr}.steps,.gallery{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.mosaic{grid-template-columns:1fr 1fr}.mosaic img:first-child{grid-row:span 2}}
@media(max-width:550px){.section{padding:65px 0}.intro{padding:70px 0 50px}.three,.footer-grid{grid-template-columns:1fr}.two{gap:28px}.mosaic{gap:7px}.gallery{gap:9px}.product-hero{gap:15px}.sticky-buy small{display:none}.steps{grid-template-columns:1fr 1fr}.footer{padding-top:55px}h1{font-size:clamp(52px,15vw,80px)}}
/* Keep each photo's subject in frame when cropped by object-fit:cover */
img[src*="founder-taylor"]{object-position:50% 0}
img[src*="garden-bar"]{object-position:76% 50%}
img[src*="beach-tablescape"]{object-position:50% 55%}
img[src*="waterfront-event"]{object-position:45% 60%}
.gallery img[src*="/ads/"]{object-fit:contain;background:var(--paper)}
@media(max-width:900px){.hero-photo{height:auto;aspect-ratio:4/3;max-height:560px}}

/* Text fit & formatting */
h1,h2,h3,.faq summary{text-wrap:balance}
p,li,figcaption,small{text-wrap:pretty;overflow-wrap:break-word}
.product-hero h1{font-size:clamp(52px,6.2vw,100px);margin-bottom:28px}
.product-hero p{max-width:560px}
.product-hero small{display:block;max-width:520px;font-size:13px;line-height:1.55;letter-spacing:0;text-transform:none;font-weight:400;color:var(--muted);margin-top:16px}
.step p{color:var(--muted)}
.btn{text-align:center;line-height:1.3}
.sticky-buy strong{display:block;line-height:1.25}
.sticky-buy br{display:none}
.sticky-buy small{display:block;margin-top:4px}
.faq summary{line-height:1.3}
@media(max-width:900px){
.navlinks{flex-wrap:wrap;overflow:visible;white-space:normal;gap:8px 14px;padding-bottom:2px}
.navlinks a{letter-spacing:.02em}
.product-hero{padding:45px 0 60px}
.product-hero>div:first-child{order:2}
}
@media(max-width:550px){
.steps{grid-template-columns:1fr;gap:6px}
.step{padding-top:16px}
.product-hero h1{font-size:clamp(46px,13.5vw,66px)}
h2{font-size:clamp(34px,10vw,48px)}
.sticky-buy{padding:10px 0}
.sticky-buy .wrap{gap:12px}
.sticky-buy strong{font-size:14px}
.sticky-buy .btn{padding:11px 14px;white-space:nowrap;flex-shrink:0}
.actions .btn{flex:1 1 auto}
.faq summary{font-size:20px}
}

/* Copy rewrite: shared bits */
.announce{background:var(--ink);color:var(--paper);font-size:13px;text-align:center;padding:9px 0}.announce a{color:var(--pink);font-weight:700;margin-left:6px}
.hand{font:600 30px/1.1 "Caveat",cursive;color:var(--rose);display:inline-block;transform:rotate(-2deg)}
.hand.sign{display:block;margin:22px 0 4px}
.hero-media{position:relative}.hero-media .note{position:absolute;left:24px;bottom:24px;background:var(--paper);padding:8px 16px 10px;font-size:26px;box-shadow:0 6px 20px rgba(45,33,28,.15)}
.under,.fine{font-size:14px;color:var(--muted);margin-top:16px}.dark .under{color:#c3b7ad}.dark .under a{color:var(--paper)}
.proof-strip{border-bottom:1px solid var(--line);padding:16px 0;text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}.proof-strip a{color:var(--rose)}
.poster{background:var(--pink);padding:80px 0;text-align:center}.poster-line{font:600 clamp(32px,4.6vw,64px)/1.04 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase;color:var(--rose);max-width:1000px;margin:0 auto 22px}.poster p:last-child{font-size:19px;margin:0}
.narrow{max-width:820px}.lead{font-size:19px;color:var(--muted);max-width:640px;margin-bottom:40px}
.dashes,.ticks,.quotes{list-style:none;padding:0;margin:28px 0}.dashes li,.ticks li{position:relative;padding:12px 0 12px 32px;border-bottom:1px solid var(--line);font-size:19px;line-height:1.45}.dashes li::before{content:"";position:absolute;left:0;top:24px;width:18px;height:2px;background:var(--rose)}.ticks li{font-size:17px}.ticks li::before{content:"✓";position:absolute;left:2px;color:var(--rose);font-weight:700}.ticks.plain li::before{content:"–"}
.close{font-family:Georgia,serif;font-size:26px;margin-top:26px}.aside{font-style:italic;color:var(--muted)}
.quotes li{font-family:Georgia,serif;font-size:clamp(28px,3.4vw,46px);line-height:1.15;letter-spacing:-.03em;padding:8px 0}.quotes li:nth-child(2){padding-left:8%}.quotes li:nth-child(3){padding-left:16%}
.service{display:flex;flex-direction:column}.service h3{margin:0 0 6px}.service .line{font-family:Georgia,serif;font-size:21px;color:var(--ink);margin-bottom:14px}.service .btn{margin-top:auto;align-self:flex-start}
.price{font-weight:700;color:var(--rose);font-size:15px;letter-spacing:.01em}.price.big{font-size:19px}
.oneoff{margin-top:30px;font-size:17px}.oneoff a{color:var(--rose);font-weight:700}
.report{background:var(--paper);border:1px solid var(--line);padding:22px;overflow-x:auto}.report figcaption{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:14px}.report table{width:100%;border-collapse:collapse;font-size:14px;min-width:440px}.report th,.report td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line)}.report th{font-size:12px;color:var(--muted);font-weight:600}.report td:first-child{font-weight:600}.report .up{color:var(--olive);font-weight:700}.report .down{color:var(--rose);font-weight:700}
.paper .report{background:var(--cream)}
.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.light:hover{background:var(--pink);border-color:var(--pink)}
.callout.dark p{max-width:600px;margin-left:auto;margin-right:auto}
.big-price{font-family:Georgia,serif;font-size:clamp(80px,10vw,140px);line-height:1;margin-bottom:14px}
.two.top{align-items:start}
.rail{list-style:none;padding:0;margin:30px 0 0;border-left:2px solid var(--pink)}.rail li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:12px 0 12px 18px}.rail .n{font:italic 22px Georgia,serif;color:var(--rose)}.rail b{display:block;font-size:17px}.rail p{margin:2px 0 0;color:var(--muted);line-height:1.5}
.gallery.two-up{grid-template-columns:1fr 1fr}
.form-status a{color:var(--rose)}.field-error{color:var(--rose);font-size:14px;font-weight:600;margin-top:-8px}.field-error:empty{display:none}.form .btn{justify-self:start;cursor:pointer}.form .under{margin:0}
.mobile-book{display:none}
@media(max-width:900px){.mobile-book{display:flex;position:fixed;left:16px;right:16px;bottom:14px;z-index:60;box-shadow:0 8px 24px rgba(45,33,28,.25)}.footer{padding-bottom:90px}.hero-media .note{font-size:22px;left:14px;bottom:14px}.gallery.two-up{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.poster{padding:60px 0}.dashes li{font-size:17px}.quotes li:nth-child(n){padding-left:0}.announce{font-size:12px;padding:8px 12px}}
.hero-copy h1{font-size:clamp(46px,4.8vw,78px);line-height:1.02;max-width:640px;text-wrap:pretty}
.hero-copy h1 em{display:block;margin-top:.12em}
@media(max-width:550px){.hero-copy h1{font-size:clamp(40px,11vw,56px)}}

/* Editorial polish pass */
::selection{background:var(--pink);color:var(--ink)}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
h1,h2,.serif{letter-spacing:-.03em}
h1{font-size:clamp(52px,6.4vw,104px);line-height:1;margin-bottom:.32em}
h2{margin-bottom:.42em}
h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.02em}
.card h3,.service h3{font-size:clamp(28px,2.6vw,36px)}
.intro p,.lead,.callout p{font-size:clamp(17px,1.4vw,19px)}
.intro .ticks{max-width:660px}
.navlinks a{font-size:13px;letter-spacing:.04em}
.btn{font-size:13px;padding:16px 26px;letter-spacing:.05em}
.card{padding:34px 32px}
.service .line{line-height:1.3}
.three .card{transition:border-color .2s,transform .2s}.three .card:hover{border-color:var(--rose);transform:translateY(-2px)}
.product-hero h1{font-size:clamp(50px,5.2vw,84px);line-height:1.02}
.hero-copy .eyebrow,.intro .eyebrow{margin-bottom:20px}
.report table{font-variant-numeric:tabular-nums}.report td:not(:first-child){white-space:nowrap}.report td[colspan]{white-space:normal}
.form label{letter-spacing:.02em}
.form input,.form textarea,.form select{font-weight:400;font-size:16px;transition:border-color .2s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--ink)}
.form ::placeholder{color:#a3968c}
.photo,.hero-photo{background:var(--line)}
.faq summary{list-style-position:outside}.faq summary:hover{color:var(--rose)}
@media(max-width:900px){.hero-copy{padding:64px 18px}.footer-grid{gap:32px}}
@media(max-width:550px){h1{font-size:clamp(44px,12.5vw,64px)}.hero-copy h1{font-size:clamp(40px,11vw,56px)}.card{padding:28px 24px}.btn{padding:15px 20px}.intro{padding:60px 0 44px}.hero-copy{padding:52px 18px}}
@media(min-width:901px){.hero-copy{justify-content:flex-start;padding-top:72px}}
