@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:block;src:url(fonts/cormorant-garamond-600.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:block;src:url(fonts/jost-400.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:block;src:url(fonts/jost-500.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:block;src:url(fonts/jost-600.woff2) format("woff2")}
:root{
    --charcoal:#3A4040; --sage:#7D9679; --sage-deep:#5E775A; --slate:#93A1A2; --taupe:#CBB4A2; --cream:#E0D4C6;
    --offwhite:#FBF9F5; --warm:#F3EEE6; --white:#FFFFFF;
    --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",Arial,sans-serif;
    --wrap:1280px;
  }
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;color:var(--charcoal);background:var(--offwhite);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;background:var(--charcoal);color:var(--offwhite);text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.01em;border:1px solid var(--charcoal);transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--sage-deep);border-color:var(--sage-deep)}
.btn-sm{padding:10px 20px;font-size:14px}
.text-link{font-size:15px;font-weight:500;text-decoration:none;border-bottom:2px solid var(--sage);padding-bottom:2px}
.text-link:hover{color:var(--sage-deep)}
.announce{background:var(--charcoal);color:var(--cream);text-align:center;font-size:13px;letter-spacing:.04em;padding:9px 16px}
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid #E7E1D6}
.header-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.logo img{height:54px;width:auto}
.main-nav{display:flex;gap:36px;margin-left:auto;margin-right:12px}
.main-nav a{text-decoration:none;font-size:15px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover{border-color:var(--sage)}
.header-actions{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;background:none;border:1px solid #D9D2C5;width:42px;height:42px;cursor:pointer;color:var(--charcoal)}
.menu-btn svg{width:20px;height:20px;margin:auto}
.hero{display:grid;grid-template-columns:44% 56%;min-height:600px;background:var(--offwhite)}
.hero-copy{padding:72px 56px 72px max(32px,calc((100vw - var(--wrap))/2 + 32px));display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(44px,4.9vw,70px);letter-spacing:-.01em;max-width:11ch}
.hero p.deck{margin-top:24px;font-size:18px;max-width:42ch;color:#515856}
.hero .cta-row{margin-top:34px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-media{position:relative;min-height:420px}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.spaces{padding:88px 0 80px;background:var(--warm)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.sec-head h2{font-size:clamp(34px,3.6vw,48px);max-width:18ch}
.sec-head p{font-size:16.5px;color:#5A615F;max-width:38ch}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tile{position:relative;display:block;overflow:hidden;aspect-ratio:1/1.12;text-decoration:none;color:var(--offwhite);background:var(--charcoal)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover img{transform:scale(1.04)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(40,46,46,.78) 0%,rgba(40,46,46,.0) 55%)}
.tile .label{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.tile .label strong{display:block;font-size:22px;font-weight:600;letter-spacing:.005em}
.tile .label span{display:block;font-size:14.5px;opacity:.92;margin-top:2px}
.tile .label em{display:inline-block;margin-top:12px;font-style:normal;font-size:14px;font-weight:500;border-bottom:2px solid var(--sage)}
.products{padding:92px 0 96px;background:var(--white)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.card{display:flex;flex-direction:column}
.card .ph{aspect-ratio:1/1;background:var(--warm);overflow:hidden;margin-bottom:22px}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .ph img{transform:scale(1.03)}
.card h3{font-family:var(--sans);font-weight:600;font-size:20px;line-height:1.3;letter-spacing:0}
.card .price{font-size:18px;font-weight:500;margin:6px 0 10px}
.card .desc{font-size:15.5px;color:#565D5B;margin-bottom:22px;flex-grow:1}
.card .ph.white{background:#fff;border:1px solid #EEE9DF}
.card .ph.white img{object-fit:contain}
.card:hover .ph.white img{transform:none}
.card .btn{width:100%}
.grid[data-inventory="out"] .in-only{display:none}
.grid[data-inventory="in"] .out-only{display:none}
.card .sub-link{margin-top:14px;text-align:center;font-size:14px;color:#5A615F}
.card .sub-link a{text-underline-offset:3px}
.card .sub-link a:hover{color:var(--sage-deep)}
.moment{display:grid;grid-template-columns:1.1fr .9fr;background:var(--charcoal);color:var(--offwhite);min-height:520px}
.moment-media{position:relative;min-height:340px;overflow:hidden}
.moment-copy{padding:72px max(32px,calc((100vw - var(--wrap))/2 + 32px)) 72px 64px;display:flex;flex-direction:column;justify-content:center}
.moment-copy h2{font-size:clamp(38px,4.2vw,58px);color:var(--offwhite)}
.moment-copy p{margin:22px 0 32px;font-size:18px;color:var(--cream);max-width:34ch}
.moment-copy .btn{align-self:flex-start;background:var(--offwhite);color:var(--charcoal);border-color:var(--offwhite)}
.moment-copy .btn:hover{background:var(--sage);border-color:var(--sage);color:var(--charcoal)}
footer{background:var(--charcoal);color:var(--cream)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding:64px 0 48px}
.foot-logo{display:inline-block;background:var(--offwhite);padding:14px 22px;margin-bottom:18px}
.foot-logo img{height:60px;width:auto}
.foot-brand p{font-size:15px;max-width:30ch;color:#CFC7BA}
footer h4{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--offwhite);font-weight:600;margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:10px}
footer li a{text-decoration:none;font-size:15px;color:#CFC7BA}
footer li a:hover{color:var(--offwhite)}
.social{display:flex;gap:12px;margin-top:6px}
.social a{width:40px;height:40px;border:1px solid rgba(224,212,198,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cream);transition:all .2s}
.social a:hover{background:var(--cream);color:var(--charcoal);border-color:var(--cream)}
.social svg{width:18px;height:18px}
.foot-bottom{border-top:1px solid rgba(224,212,198,.18);padding:22px 0 30px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px;color:#A9A398}
.foot-bottom a{color:#A9A398}
.foot-bottom .legal{display:flex;gap:20px}
@media (max-width:980px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;gap:0;margin:0;padding:8px 32px 18px;border-bottom:1px solid #E7E1D6}
.main-nav.open{display:flex}
.main-nav a{padding:14px 0;border-bottom:1px solid #EFE9DE;font-size:16px}
.menu-btn{display:flex}
.hero{grid-template-columns:minmax(0,1fr);min-height:0}
.hero-copy{padding:48px 32px 40px}
.hero h1{max-width:14ch}
.hero-media{min-height:0;aspect-ratio:4/3;width:100%}
.sec-head{flex-direction:column;align-items:flex-start;gap:12px}
.tiles{grid-template-columns:1fr;gap:16px}
.tile{aspect-ratio:16/9}
.tile .label{left:20px;right:20px;bottom:18px}
.tile::after{background:linear-gradient(to top,rgba(40,46,46,.86) 0%,rgba(40,46,46,.4) 55%,rgba(40,46,46,0) 100%)}
.tile .label strong{font-size:21px}
.grid{grid-template-columns:1fr;gap:44px}
.moment{grid-template-columns:1fr}
.moment-copy{padding:52px 32px}
.foot-top{grid-template-columns:1fr 1fr;gap:36px}
.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.hide-sm{display:none}
.wrap{padding:0 20px}
.header-in{height:68px}
.logo img{height:44px}
.header-actions .btn-sm{padding:9px 14px;font-size:13px}
.main-nav{padding:8px 20px 18px}
.hero-copy{padding:36px 20px 32px}
.hero p.deck{font-size:17px}
.spaces,.products{padding-top:60px;padding-bottom:60px}
.foot-top{grid-template-columns:1fr}
.foot-bottom{flex-direction:column;gap:10px}}
.site-header{border-bottom:1px solid var(--taupe)}
.hero{background:var(--cream)}
.spaces{background:var(--taupe)}
.spaces .sec-head p{color:var(--charcoal)}
.products{background:var(--white)}
.card{border-top:4px solid var(--sage);padding-top:20px}
.card .price{color:var(--sage-deep);font-weight:600}
.moment{background:var(--sage)}
.moment-copy h2{color:var(--charcoal);text-wrap:balance}
.moment-copy p{color:var(--charcoal);font-weight:600;font-size:20px}
.moment-copy .btn{background:var(--charcoal);color:var(--offwhite);border-color:var(--charcoal)}
.moment-copy .btn:hover{background:var(--offwhite);color:var(--charcoal);border-color:var(--offwhite)}:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px}
.btn:focus-visible,.tile:focus-visible{outline-color:var(--charcoal)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--charcoal);color:var(--offwhite);padding:10px 16px;z-index:100}
.skip:focus{left:8px}
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#4A5250;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--sage-deep)}
.btn-sm{min-height:44px}
.menu-btn{width:44px;height:44px}
.hero{grid-template-columns:46% 54%;min-height:450px}
.hero-copy{padding:56px 48px 56px max(32px,calc((100vw - var(--wrap))/2 + 32px))}
.hero h1{font-size:clamp(40px,4.5vw,64px);line-height:1.07;max-width:15ch;letter-spacing:-.005em}
.hero p.deck{font-size:17px;margin-top:20px;max-width:44ch}
.hero .cta-row{margin-top:28px}
.hero-media{min-height:450px}
.spaces{padding:72px 0 80px}
.products{padding:72px 0 84px;background:var(--offwhite)}
.sec-head{margin-bottom:34px;align-items:flex-end}
.sec-head h2{max-width:none}
.spaces .sec-head h2{max-width:22ch;text-wrap:balance}
.sec-head p{max-width:30ch;font-size:16px}
.tile{aspect-ratio:5/4}
.tile .label strong{font-size:21px}
.tile .label span{font-size:15px}
.card{border-top:0;padding-top:0}
.card .ph{aspect-ratio:3/2;margin-bottom:16px;background:var(--warm)}
.card .ph.white{background:#fff;border:1px solid #EEE9DF}
.card .meta{display:block}
.card .meta h3{font-family:var(--sans);font-weight:600;font-size:18px;line-height:1.3}
.card .price{margin:3px 0 12px;font-size:16px;font-weight:600;color:var(--sage-deep)}
.card .benefit{font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.35;margin:0 0 6px;color:var(--charcoal)}
.card .desc{font-size:14.5px;line-height:1.55;color:#565D5B;margin-bottom:18px}
.card .btn{width:100%}
.moment{grid-template-columns:1.2fr .8fr;min-height:430px}
.moment-media{position:relative;min-height:340px;overflow:hidden}
.moment-media .moment-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.moment-copy{padding:56px max(32px,calc((100vw - var(--wrap))/2 + 32px)) 56px 56px}
.moment-copy .eyebrow{color:var(--charcoal)}
.moment-copy .eyebrow::before{background:var(--charcoal)}
.moment-copy h2{font-size:clamp(34px,3.7vw,52px)}
.moment-copy p{font-size:18px;font-weight:500;margin:18px 0 0;max-width:36ch}
.fix{padding:72px 0;background:var(--offwhite)}
.fix-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.fix h2{font-size:clamp(34px,3.7vw,50px)}
.fix .lead{font-size:18px;color:#4E5553;margin:16px 0 26px;max-width:32ch}
.fix-list{display:grid;gap:12px;border-top:0}
.fix-item{border:1px solid var(--taupe);background:#fff}
.fix-q{font-family:var(--sans);font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:0}
.fix-btn{display:grid;grid-template-columns:1fr 22px;gap:16px;align-items:center;width:100%;min-height:72px;padding:14px 18px;background:none;border:0;text-align:left;cursor:pointer;font:500 17px/1.4 var(--sans);color:var(--charcoal)}
.fix-btn:hover{background:rgba(203,180,162,.14)}
.fix-label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:4px}
.fix-qtext{display:block}
.fix-icon{position:relative;width:18px;height:18px;justify-self:end}
.fix-icon::before,.fix-icon::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--charcoal);transition:transform .2s ease}
.fix-icon::after{transform:rotate(90deg)}
.fix-btn[aria-expanded="true"] .fix-icon::after{transform:rotate(0deg)}
.fix-panel{padding:0 18px 24px}
.fix-body p{font-size:16.5px;line-height:1.7;color:#3F4644;max-width:60ch;margin-bottom:12px}
.fix-link{margin-top:6px}
.fix-link a{font-size:15px;font-weight:500;color:var(--charcoal);text-decoration:none;border-bottom:2px solid var(--sage)}
.fix-link a:hover{color:var(--sage-deep)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 18px;max-width:640px}
.ba figure{position:relative}
.ba img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ba figcaption{position:absolute;left:10px;top:10px;background:var(--charcoal);color:var(--offwhite);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px}
.next{padding:72px 0;background:var(--cream)}
.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.next h2{font-size:clamp(32px,3.5vw,46px);text-wrap:balance}
.next .lead{font-size:18px;color:#3F4644;margin-top:18px;max-width:40ch}
.field{margin-bottom:18px}
.field label{display:block;font-weight:500;font-size:15.5px;margin-bottom:7px}
.field .opt{font-weight:400;color:#5A615F}
.field input[type=email],.field select,.field textarea{width:100%;font:400 16px/1.4 var(--sans);padding:13px 14px;border:1px solid #BDAE9C;background:#fff;color:var(--charcoal);border-radius:0;min-height:50px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--sage-deep);outline-offset:1px;border-color:var(--charcoal)}
.field [aria-invalid="true"]{border-color:#9A2F2F}
.hint{font-size:14px;color:#4E5553;margin-top:7px}
.err{font-size:14px;font-weight:500;color:#9A2F2F;margin-top:7px}
.form-note{font-size:13.5px;color:#4E5553;margin-top:14px}
.form-note a{text-underline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.next .btn{min-height:52px}
.form-error{margin-top:14px;padding:12px 14px;background:#F6E7E7;color:#7A2323;font-size:15px}
.idea-success{background:#fff;padding:30px;border-top:4px solid var(--sage)}
.idea-success h3{font-size:30px;margin-bottom:10px}
.idea-success p{font-size:17px;color:#3F4644}
.idea-success .preview-note{margin-top:14px;font-size:14px;color:#5A615F;border-top:1px solid #E7E1D6;padding-top:12px}
.page-head{background:var(--cream);padding:72px 0 56px}
.page-head h1{font-size:clamp(40px,5vw,60px)}
.page-head .sub{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.6vw,32px);margin-top:14px;color:#3F4644}
.page-head p.copy{font-size:18px;color:#3F4644;margin-top:14px;max-width:52ch}
.page-body{padding:56px 0 96px;background:var(--offwhite)}
.page-body .fix-list{max-width:860px}
.page-cta{max-width:860px;margin-top:40px;font-size:17px;color:#3F4644}
.legal{max-width:760px;margin:0 auto;padding:72px 24px 96px}
.legal h1{font-size:clamp(38px,5vw,54px);margin-bottom:8px}
.legal .eff{color:#5A615F;margin-bottom:34px}
.legal h2{font-family:var(--sans);font-weight:600;font-size:22px;line-height:1.3;margin:40px 0 12px}
.legal h3{font-family:var(--sans);font-weight:600;font-size:17px;margin:22px 0 8px}
.legal p,.legal li{font-size:17px;line-height:1.75;color:#3F4644}
.legal p{margin-bottom:14px}
.legal ul{margin:0 0 16px 22px}
.legal li{margin-bottom:6px}
.legal a{text-underline-offset:3px}
.foot-logo{display:inline-block;margin-bottom:16px}
.foot-logo.light{background:none;padding:0}
.foot-logo img{height:60px;width:auto}
.foot-logo.light img{height:68px}
.foot-brand p{margin-top:2px;max-width:26ch}
.foot-top{grid-template-columns:1.8fr 1fr 1fr;padding:48px 0 36px}
.foot-bottom{align-items:center}
.foot-bottom .right{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.foot-bottom .right a{color:#CFC7BA;text-underline-offset:3px}
@media (max-width:980px){.hero{grid-template-columns:minmax(0,1fr);min-height:0}
.hero-copy{padding:44px 32px 36px}
.hero-media{min-height:0;aspect-ratio:4/3}
.spaces,.products,.fix,.next{padding:60px 0}
.tile{aspect-ratio:16/9}
.moment{grid-template-columns:1fr;min-height:0}
.moment-media{aspect-ratio:4/3;min-height:0}
.moment-copy{padding:48px 32px}
.fix-grid,.next-grid{grid-template-columns:1fr;gap:28px}
.fix .lead{margin-bottom:22px}
.page-head{padding:52px 0 40px}
.page-body{padding:36px 0 64px}
.legal{padding:48px 20px 72px}
.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hero-copy{padding:34px 20px 30px}
.fix-btn{padding:12px 14px;font-size:16.5px;min-height:72px}
.fix-panel{padding:0 14px 22px}
.moment-copy{padding:40px 20px}
.foot-top{grid-template-columns:1fr}
.foot-bottom .right{gap:12px}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.next .field{margin-bottom:0}
.inline{display:flex;gap:12px;align-items:stretch}
.inline input[type=email]{flex:1;min-width:0}
.inline .btn{white-space:nowrap;min-height:50px}
#ideaForm .field{margin-bottom:18px}
.idea{margin-top:30px;padding-top:12px;border-top:1px solid rgba(58,64,64,.25)}
.idea summary{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:500;font-size:16px;color:var(--charcoal);list-style:none;min-height:48px}
.idea summary::-webkit-details-marker{display:none}
.idea summary::before{content:"+";font-size:22px;line-height:1;width:20px;text-align:center;flex:none}
.idea[open] summary::before{content:"\2212"}
.idea summary span{border-bottom:2px solid var(--sage)}
.idea summary:hover span{color:var(--sage-deep)}
.idea form,.idea .idea-success{margin-top:14px}
@media (max-width:560px){.inline{flex-direction:column}
.inline .btn{width:100%}}