:root{--ink:#321b36;--lavender:#e3d7e6;--paper:#f2eae8;--serif:'Bodoni Moda',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif)}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #7d4488;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:fixed;top:-70px;left:20px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.header{height:108px;padding:0 4.5%;display:flex;align-items:center;gap:4%;background:#ded1e1;position:relative;z-index:5}.brand{font-family:var(--serif);font-size:clamp(23px,2.7vw,40px);white-space:nowrap;letter-spacing:-1.2px}.brand span{font-family:var(--sans);font-size:9px;letter-spacing:0;margin-left:3px}.header nav{display:flex;gap:clamp(18px,2.8vw,43px);margin:auto;font-size:14px}.header nav a{padding:10px 0;position:relative}.header nav a:hover:after,.header nav a.active:after{content:'';height:1px;background:currentColor;position:absolute;bottom:0;left:0;width:28px}.header-rule{height:1px;width:65px;background:#917e91}.menu-toggle{display:none}.hero{height:min(78vw,960px);min-height:680px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#e5d9e8,#d6c5da)}.hero-art{position:absolute;inset:0 0 0 43%;z-index:-2}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e0d2e4 0%,transparent 35%)}.hero-art img{object-position:58% 40%}.hero-copy{padding:115px 0 0 5%;position:relative;z-index:1}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:3px;line-height:1.7;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:22px}.eyebrow span{width:65px;height:1px;background:#9d879f}h1,h2,p{margin:0}h1{font-size:clamp(70px,7.5vw,112px);font-weight:400;line-height:.98;letter-spacing:-6px;margin-top:33px}.hero-description{font-size:clamp(18px,2vw,29px);margin:26px 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--ink);color:#fcf6f6;padding:20px 28px;min-height:58px;font-size:18px;transition:background .18s,transform .18s}.button:hover{background:#503056;transform:translateY(-2px)}.button span{font-family:Arial,sans-serif;font-size:23px;line-height:1}.text-link{font-size:17px;text-decoration:underline;text-underline-offset:6px}.hero-requirements{display:table;margin-top:23px}.monogram{position:absolute;right:4%;top:-40px;z-index:-1;color:#5c4064;opacity:.13;font-size:230px;line-height:.72;pointer-events:none}.monogram span{display:block;margin-left:35px}.monogram span:last-child{margin-left:0}.vertical-brand{position:absolute;right:3%;top:35%;writing-mode:vertical-rl;font-family:var(--sans);letter-spacing:5px;font-size:9px}.hero-detail{position:absolute;bottom:70px;left:19%;display:flex;gap:24px;align-items:center}.hero-detail>span{width:1px;height:85px;background:#a38ca5}.hero-detail p{font:9px/2 var(--sans);letter-spacing:3px}.flower{position:absolute;bottom:-30px;left:-28px;width:26%;height:40%;color:#7f5e8a;opacity:.65;z-index:-1}.marquee{min-height:82px;display:flex;align-items:center;justify-content:center;gap:30px;padding:20px 4%;font-size:16px;letter-spacing:4px;background:#f2eae7}.marquee b{font-size:10px;font-weight:400}.line{height:1px;background:#9f8b9e;flex:1;max-width:220px}.edit{background:linear-gradient(110deg,#e5dbe9,#d8cbdc);padding:70px 1% 45px}.edit-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 3.5% 30px}.edit-heading h2{font-size:clamp(60px,7.6vw,110px);font-weight:400;line-height:1.1;letter-spacing:-4px;margin-top:8px}.edit-heading>p{font-size:20px;line-height:1.5;margin:0 4% 10px 30px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo{overflow:hidden;height:480px;display:block}.photo img{transition:transform .4s}.photo:hover img{transform:scale(1.04)}.photo-one img{object-position:28% 40%;width:210%;max-width:none;transform:translateX(-12%)}.photo-one:hover img{transform:translateX(-12%) scale(1.04)}.photo-two img{object-position:50% 30%}.photo-three img{width:220%;max-width:none;transform:translateX(-52%);object-position:60% 30%}.photo-three:hover img{transform:translateX(-52%) scale(1.04)}.before{position:relative;overflow:hidden;isolation:isolate;min-height:440px;padding:65px 5%;background:linear-gradient(100deg,#dacbdf,#d4bddb)}.before h2{font-size:clamp(56px,6.6vw,95px);font-weight:400;letter-spacing:-4px;line-height:1.2;margin:15px 0}.before p:not(.eyebrow){font-size:22px;line-height:1.5}.before .button{margin-top:30px}.leaves{position:absolute;right:-20px;bottom:-100px;width:42%;height:125%;z-index:-1;filter:drop-shadow(15px 25px 13px #422a4c35)}.discovery{display:grid;grid-template-columns:1fr 1fr;padding:25px 1%;gap:32px;background:#eee4e6}.discovery-card{display:grid;grid-template-columns:39% 1fr;gap:32px;min-height:340px}.small-photo{overflow:hidden}.small-photo img{object-position:52% 32%}.reviews .small-photo img{width:270%;max-width:none;transform:translateX(-43%)}.discovery-copy{align-self:center;padding:20px 15px 20px 0}.discovery-copy .eyebrow{font-size:9px;letter-spacing:2px}.discovery-copy h2{font-size:36px;font-weight:400;line-height:1.07;letter-spacing:-1.5px;margin:20px 0}.discovery-copy p:not(.eyebrow){font-size:17px;line-height:1.6}.discovery-copy .button{font-size:14px;padding:14px 17px;min-height:48px;gap:16px;margin-top:22px}footer{min-height:290px;padding:65px 5% 38px;background:radial-gradient(ellipse at 45% 20%,#5a3c5e,#2d1b32);color:#eee4eb;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>div{text-align:center}footer .brand{font-size:clamp(25px,3.5vw,48px)}.footer-side{font:9px/2 var(--sans);letter-spacing:3px}.footer-side:last-child{text-align:right}.instagram{display:table;margin:30px auto 0;font:10px var(--sans);letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #ad94b1;padding-bottom:6px}@media(min-width:1600px){body{max-width:1600px;margin:auto}.hero{height:1000px}.hero-copy{padding-top:140px}h1{font-size:120px}}@media(max-width:1050px){.header-rule{display:none}.header{gap:20px;padding:0 4%;height:90px}.header nav{gap:20px;margin-left:auto;margin-right:0;font-size:13px}.hero{min-height:670px}.hero-copy{padding-top:85px}h1{letter-spacing:-4px}.hero-description{max-width:43%;font-size:21px}.hero-detail{bottom:35px}.photo{height:390px}.edit-heading>p{font-size:16px}.discovery{gap:20px}.discovery-card{gap:18px;grid-template-columns:38% 1fr}.discovery-copy h2{font-size:29px}.discovery-copy p:not(.eyebrow){font-size:15px}.discovery-copy .button{font-size:12px;padding:13px;gap:10px}.before{min-height:390px}.before p:not(.eyebrow){font-size:19px}}@media(max-width:700px){.header{height:82px;padding:0 6%;justify-content:space-between}.brand{font-size:25px;letter-spacing:-.8px}.menu-toggle{display:flex;flex-direction:column;gap:7px;background:transparent;border:0;width:44px;height:44px;justify-content:center;align-items:center;color:var(--ink)}.menu-toggle span{height:1px;background:currentColor;width:25px}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#e5d9e8;padding:20px 6%;margin:0;box-shadow:0 10px 14px #321b3610}.header nav.open{display:flex;flex-direction:column;gap:8px}.header nav a{font-size:17px;padding:12px}.hero{height:auto;min-height:0;padding:0 0 315px}.hero-copy{padding:48px 6% 26px}.hero .eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:clamp(53px,11.4vw,79px);letter-spacing:-3px;line-height:1.02;margin-top:22px}.hero-description{font-size:18px;max-width:90%;margin:20px 0 23px}.button{padding:16px 23px;min-height:54px;font-size:16px}.hero-requirements{font-size:14px;margin-top:20px}.hero-art{inset:auto 0 0 12%;height:350px;z-index:-2}.hero-art img{object-position:50% 32%}.hero-art:after{background:linear-gradient(180deg,#e0d2e4,transparent 23%)}.monogram{font-size:180px;right:0;top:auto;bottom:10px}.vertical-brand{top:auto;bottom:90px;right:5%;font-size:7px}.hero-detail{left:6%;bottom:35px;gap:12px}.hero-detail>span{height:60px}.hero-detail p{font-size:7px;letter-spacing:2px}.flower{width:40%;bottom:0;left:-40px;height:220px}.marquee{gap:14px;font-size:9px;letter-spacing:2px;min-height:60px;padding:15px 4%}.marquee .line{display:none}.edit{padding:40px 3% 25px}.edit-heading{display:block;padding:0 3% 23px}.edit-heading .eyebrow{font-size:8px;letter-spacing:2px}.edit-heading h2{font-size:58px;letter-spacing:-3px;margin-top:10px}.edit-heading>p{font-size:16px;margin:17px 0 0}.gallery{gap:6px}.photo{height:230px}.photo-one img{width:320%;transform:translateX(-17%)}.photo-one:hover img{transform:translateX(-17%)}.photo-three img{width:320%;transform:translateX(-62%)}.photo-three:hover img{transform:translateX(-62%)}.before{padding:42px 6%;min-height:350px}.before .eyebrow{font-size:8px;letter-spacing:2px}.before h2{font-size:53px;letter-spacing:-3px;margin:20px 0 12px}.before p:not(.eyebrow){font-size:17px;max-width:75%}.desktop-break{display:none}.before .button{margin-top:23px}.leaves{width:60%;opacity:.38;right:-55px;height:90%;bottom:-60px}.discovery{grid-template-columns:1fr;gap:24px;padding:24px 4%}.discovery-card{grid-template-columns:40% 1fr;gap:23px;min-height:285px}.discovery-copy h2{font-size:32px}.discovery-copy .button{font-size:13px}.discovery-copy .eyebrow{font-size:8px;letter-spacing:1.5px}footer{padding:45px 6%;min-height:230px;justify-content:center}.footer-side{display:none}footer .brand{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Reference lock: keep the shop/reviews row compact regardless of image ratios. */
.discovery-card{height:340px;min-height:0}.small-photo{height:340px;min-height:0}.discovery-copy{min-width:0}@media(max-width:700px){.discovery-card,.small-photo{height:285px}}
/* Responsive containment: grid imagery must never paint over adjacent content. */
.header>*{min-width:0}.gallery>*{min-width:0}.discovery-card>*{min-width:0}.button{max-width:100%}.header .brand{flex-shrink:0}@media(max-width:700px){.header .brand{font-size:clamp(20px,5.6vw,25px)}.hero .button{min-width:165px;width:auto}.hero-detail{max-width:130px}.hero .vertical-brand{right:3%}}
