.product-landing{--paper:#f8f7f3;--green:#354238;--ink:#28372f;--muted:#73786e;--line:#d9dcd2;--ease:cubic-bezier(.22,1,.36,1)}
.product-landing *{box-sizing:border-box}
.product-landing a{color:inherit;text-decoration:none}
.product-landing button,.product-landing input{font:inherit}
.product-landing button{cursor:pointer}
.product-landing button,.product-landing a{-webkit-tap-highlight-color:transparent}
.product-landing button:focus-visible,.product-landing a:focus-visible,.product-landing input:focus-visible,.product-landing summary:focus-visible{outline:2px solid #94734f;outline-offset:6px}
.product-landing img{display:block;width:100%;height:auto}
.product-landing figure{margin:0}
.product-landing h1,.product-landing h2,.product-landing p{margin:0}
.product-landing h1,.product-landing h2{font-family:Newsreader,Georgia,serif;font-weight:400}
.product-landing em{font-weight:400;color:#7b8577}
.product-landing header{height:90px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}
.product-landing .brand{width:150px}
.product-landing .brand img{height:auto}
.product-landing nav{display:flex;gap:34px;font-size:12px}
.product-landing nav a{transition:color .2s}
.product-landing nav a:hover{color:#929a87}
.product-landing .bag{display:flex;gap:10px;align-items:center;background:none;border:0;color:var(--green);padding:8px}
.product-landing .bag svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4}
.product-landing .bag span{font-size:11px}
.product-landing .hero{display:grid;grid-template-columns:45% 55%;min-height:min(800px,calc(100svh - 90px))}
.product-landing .hero-copy{padding:64px 9% 25px;display:flex;flex-direction:column;align-items:start}
.product-landing .eyebrow{font-size:9px;letter-spacing:1.8px;line-height:1.7;text-transform:uppercase;display:block}
.product-landing .dot{width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block;margin-right:8px}
.product-landing .hero h1{font-size:clamp(54px,6.1vw,104px);line-height:.95;letter-spacing:-3px;margin:50px 0 28px}
.product-landing .hero h1>span{display:block;font-size:.62em;line-height:1.1;margin-top:14px;letter-spacing:-1px;color:#7b8577}
.product-landing .hero-copy>p{font-size:13px;line-height:1.9}
.product-landing .hero-buy{display:flex;align-items:center;gap:25px;margin:32px 0 44px}
.product-landing .button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:53px;padding:15px 24px;border:1px solid var(--green);background:var(--green);color:white;border-radius:3px;font-size:12px;line-height:1.6;transition:background .2s,transform .2s,box-shadow .2s}
.product-landing .button:hover{background:#24342a;box-shadow:0 6px 16px #20302615}
.product-landing .button:active{transform:translateY(1px)}
.product-landing .button span{font-size:20px;line-height:1}
.product-landing .price{font-size:14px;white-space:nowrap}
.product-landing .hero-foot{width:100%;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:auto;font-size:8px;letter-spacing:1px}
.product-landing .hero-image{position:relative;overflow:hidden;min-height:600px}
.product-landing .hero-image>img{width:100%;height:100%;object-fit:cover}
.product-landing .hero-image figcaption{position:absolute;left:30px;right:30px;bottom:26px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:11px;text-shadow:0 1px 6px #0009}
.product-landing .hero-image figcaption a{font-size:25px}
.product-landing .facts{display:flex;justify-content:space-around;gap:20px;padding:24px 4%;font-size:10px;border-bottom:1px solid var(--line)}
.product-landing .facts span:before{content:'·';margin-right:12px}
.product-landing .section{padding:110px 7%}
.product-landing .intro{max-width:1220px;margin:auto;padding-top:135px;padding-bottom:125px}
.product-landing .intro>.eyebrow{margin-bottom:38px}
.product-landing .intro h2{font-size:clamp(50px,6.9vw,108px);line-height:1.02;letter-spacing:-2px}
.product-landing .intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:55px}
.product-landing .intro-bottom .index{font-size:10px;letter-spacing:1px;line-height:1.8;color:var(--muted)}
.product-landing .intro-bottom p{max-width:420px;font-size:14px}
.product-landing .story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;padding-top:10px;padding-bottom:110px;align-items:center}
.product-landing .story-photo img{aspect-ratio:1;object-fit:cover}
.product-landing .story-photo figcaption{font-size:9px;color:var(--muted);padding:13px 0}
.product-landing .story-copy h2,.product-landing .perspective h2,.product-landing .gift h2,.product-landing .dimensions h2,.product-landing .purchase h2,.product-landing .faq h2{font-size:clamp(38px,4.4vw,66px);line-height:1.06;letter-spacing:-1px;margin:25px 0}
.product-landing .story-copy>p,.product-landing .perspective-copy>p,.product-landing .gift-copy>p{font-size:13px;line-height:1.95;max-width:390px;margin-bottom:18px;color:#5f685e}
.product-landing .detail-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:10px}
.product-landing .detail-line:first-of-type{margin-top:36px}
.product-landing .perspective{background:#e9ece4;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.product-landing .perspective-copy{padding:70px 14%}
.product-landing .perspective figure img{aspect-ratio:1;object-fit:cover}
.product-landing .view-tabs{display:flex;gap:5px;padding:5px;border:1px solid #c8cec2;border-radius:4px;margin:32px 0 12px;max-width:330px}
.product-landing .view-tabs button{flex:1;border:0;padding:11px 10px;background:transparent;color:var(--ink);font-size:11px;border-radius:2px;transition:background .2s,color .2s}
.product-landing .view-tabs button.selected{background:var(--green);color:white}
.product-landing .quiet{font-size:9px;color:var(--muted)}
.product-landing #perspective-image{transition:opacity .18s}
.product-landing .dimensions{background:var(--green);color:#f8f7f3;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%;padding-top:75px;padding-bottom:75px}
.product-landing .dimensions h2{font-size:42px;margin-bottom:0}
.product-landing .dimensions .eyebrow{color:#bdc6b7}
.product-landing .dimensions dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0}
.product-landing .dimensions dl div{border-top:1px solid #ffffff40;padding-top:18px}
.product-landing .dimensions dt{font-size:9px;color:#c4ccbe}
.product-landing .dimensions dd{font:400 clamp(33px,3.4vw,53px)/1.2 Newsreader,Georgia,serif;margin:25px 0 0;white-space:nowrap}
.product-landing .dimensions dd span{font:300 11px Manrope,sans-serif}
.product-landing .gift{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:125px;padding-bottom:125px}
.product-landing .gift figure img{aspect-ratio:1;object-fit:cover}
.product-landing .underlined{display:inline-flex;gap:22px;border-bottom:1px solid #8f998a;padding-bottom:5px;font-size:11px;margin-top:20px}
.product-landing .purchase{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f0e9}
.product-landing .purchase-photo img{aspect-ratio:1;object-fit:cover}
.product-landing .purchase h2{margin-bottom:10px}
.product-landing .purchase-subtitle{font-size:11px;color:var(--muted)}
.product-landing .purchase-price{font-size:25px;margin:25px 0 30px}
.product-landing .quantity-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:11px}
.product-landing .quantity{display:flex;align-items:center;border:1px solid #c7cec2}
.product-landing .quantity button{width:32px;height:36px;border:0;background:transparent}
.product-landing .quantity input{width:38px;text-align:center;background:transparent;border:0;appearance:textfield;-moz-appearance:textfield}
.product-landing .quantity input::-webkit-inner-spin-button{appearance:none}
.product-landing .wide{width:100%}
.product-landing .purchase-note{font-size:10px;color:var(--muted);margin:15px 0 5px}
.product-landing .demo-note{font-size:9px;color:var(--muted)}
.product-landing .purchase-caption{font:400 22px Newsreader,Georgia,serif;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.product-landing .faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-top:100px;padding-bottom:110px}
.product-landing .faq h2{font-size:44px}
.product-landing .faq details{border-bottom:1px solid var(--line);padding:21px 0}
.product-landing .faq details:first-child{border-top:1px solid var(--line)}
.product-landing .faq summary{display:flex;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;font-size:12px}
.product-landing .faq summary::-webkit-details-marker{display:none}
.product-landing .faq summary span{font-size:18px;line-height:1.2;transition:transform .2s}
.product-landing .faq details[open] summary span{transform:rotate(45deg)}
.product-landing .faq details p{padding-top:20px;font-size:12px;color:var(--muted);line-height:1.9}
.product-landing .closing{text-align:center;border-top:1px solid var(--line);padding:95px 20px 110px}
.product-landing .closing p{font:400 clamp(38px,5vw,70px)/1.08 Newsreader,Georgia,serif;letter-spacing:-1px}
.product-landing .closing a{display:inline-block;border-bottom:1px solid #aaa;font-size:11px;margin-top:28px;padding-bottom:6px}
.product-landing footer{padding:35px 5% 0;border-top:1px solid var(--line)}
.product-landing footer>div{display:flex;justify-content:space-between;gap:20px;font-size:10px;margin-bottom:65px}
.product-landing footer>img{height:auto}
.product-landing .sticky-buy{position:fixed;bottom:20px;left:50%;transform:translate(-50%,25px);width:min(540px,calc(100% - 32px));padding:12px 12px 12px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #dce0d6;background:#fafaf5f5;backdrop-filter:blur(12px);box-shadow:0 8px 35px #24342a18;border-radius:5px;z-index:8;opacity:0;visibility:hidden;transition:opacity .25s,transform .3s,visibility .25s}
.product-landing .sticky-buy.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.product-landing .sticky-buy strong{display:block;font:400 22px Newsreader,Georgia,serif}
.product-landing .sticky-buy>div>span{font-size:9px;color:var(--muted)}
.product-landing .sticky-buy .button{min-height:43px;padding:10px 18px;font-size:11px;gap:22px}
.product-landing dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;width:min(490px,100%);height:100%;max-height:100svh;margin:0 0 0 auto;position:fixed;inset:0;box-shadow:-10px 0 50px #0002}
.product-landing dialog[open]{display:flex;flex-direction:column;animation:drawer .3s var(--ease)}
.product-landing dialog::backdrop{background:#17221c66;backdrop-filter:blur(3px)}
.product-landing .cart-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--line)}
.product-landing .cart-head h2{font-size:31px}
.product-landing .cart-head button{border:0;background:transparent;font-size:30px;color:inherit}
.product-landing .cart-head h2 span{font:300 12px Manrope,sans-serif}
.product-landing #cart-items{overflow:auto;flex:1}
.product-landing .cart-row{display:grid;grid-template-columns:85px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}
.product-landing .cart-row img{aspect-ratio:1;object-fit:cover}
.product-landing .cart-row h3{font:400 22px Newsreader,Georgia,serif;margin:0}
.product-landing .cart-row p{font-size:10px;color:var(--muted)}
.product-landing .cart-row-controls{display:flex;gap:15px;align-items:center;margin-top:10px}
.product-landing .cart-row-controls button{border:1px solid var(--line);background:transparent;min-width:28px;height:28px;color:inherit}
.product-landing .cart-row-controls button:last-child{border:0;font-size:10px;text-decoration:underline;margin-left:auto}
.product-landing .cart-bottom{padding-top:25px}
.product-landing .cart-bottom>div{display:flex;justify-content:space-between}
.product-landing .cart-bottom>p{font-size:10px;margin:12px 0}
.product-landing .cart-bottom .button{margin-top:12px}
.product-landing .empty{padding:40px 0}
.product-landing .reveal{opacity:0;transform:translateY(16px);transition:opacity .8s,transform 1s var(--ease)}
.product-landing .reveal.seen{opacity:1;transform:none}
.product-landing .photo-enter{animation:photo-enter .4s ease}
@media(min-width:1700px){.product-landing .hero{max-height:900px}
.product-landing .hero-copy{padding-top:90px}
.product-landing .hero h1{margin-top:80px}
}
@media(max-width:1050px){.product-landing .hero-copy{padding:45px 7% 24px}
.product-landing .hero h1{font-size:68px;margin-top:45px}
.product-landing .hero-buy{gap:15px;flex-wrap:wrap}
.product-landing .hero-image{min-height:600px}
.product-landing .section{padding:80px 6%}
.product-landing .story-grid,.product-landing .gift,.product-landing .purchase{gap:6%}
.product-landing .perspective-copy{padding:50px 12%}
.product-landing .dimensions{grid-template-columns:1fr;gap:45px}
.product-landing .dimensions dl{max-width:700px;width:100%}
.product-landing .intro-bottom{gap:30px}
.product-landing .facts{font-size:9px}
}
@media(max-width:700px){.product-landing header{height:74px;padding:0 6%}
.product-landing .brand{width:126px}
.product-landing nav{gap:15px}
.product-landing nav a{font-size:10px}
.product-landing nav a:nth-child(2),.product-landing nav a:nth-child(3){display:none}
.product-landing .hero{display:flex;flex-direction:column;min-height:0}
.product-landing .hero-copy{padding:36px 7% 24px}
.product-landing .hero h1{font-size:70px;margin:30px 0 20px;letter-spacing:-2px}
.product-landing .hero h1>span{font-size:46px;display:inline-block;margin:10px 0 0}
.product-landing .hero-copy>p{font-size:12px}
.product-landing .hero-buy{margin:25px 0 30px;gap:24px}
.product-landing .hero-foot{font-size:8px}
.product-landing .hero-image{min-height:0}
.product-landing .hero-image>img{aspect-ratio:1;height:auto}
.product-landing .hero-image figcaption{left:24px;right:24px;bottom:20px}
.product-landing .facts{padding:18px 7%;flex-direction:column;gap:7px;font-size:10px}
.product-landing .section{padding:65px 7%}
.product-landing .intro h2{font-size:57px;letter-spacing:-1.5px}
.product-landing .intro>.eyebrow{margin-bottom:25px}
.product-landing .intro-bottom{grid-template-columns:1fr;margin-top:28px;gap:20px}
.product-landing .intro-bottom .index{display:none}
.product-landing .intro-bottom p{font-size:12px;max-width:350px}
.product-landing .story-grid,.product-landing .gift,.product-landing .purchase,.product-landing .faq{grid-template-columns:1fr;gap:35px}
.product-landing .story-grid{padding-top:5px}
.product-landing .story-copy h2,.product-landing .gift h2,.product-landing .purchase h2{font-size:47px}
.product-landing .story-copy>p,.product-landing .gift-copy>p{max-width:none;font-size:12px}
.product-landing .perspective{display:flex;flex-direction:column}
.product-landing .perspective-copy{padding:55px 7%;width:100%}
.product-landing .perspective-copy h2{font-size:48px}
.product-landing .perspective-copy>p{font-size:12px}
.product-landing .perspective figure{width:100%}
.product-landing .perspective figure img{aspect-ratio:1}
.product-landing .dimensions h2{font-size:39px}
.product-landing .dimensions dl{gap:13px}
.product-landing .dimensions dt{font-size:8px}
.product-landing .dimensions dd{font-size:37px;margin-top:20px}
.product-landing .gift{gap:35px}
.product-landing .purchase{gap:30px}
.product-landing .purchase-price{margin:20px 0}
.product-landing .purchase-note{font-size:9px}
.product-landing .faq{gap:28px}
.product-landing .faq h2{font-size:42px}
.product-landing .faq .underlined{margin-top:0}
.product-landing .faq summary{font-size:11px}
.product-landing .closing{padding:65px 7% 80px}
.product-landing .closing p{font-size:43px}
.product-landing footer>div{flex-wrap:wrap;font-size:9px;margin-bottom:40px}
.product-landing footer>div>span{width:100%}
.product-landing footer{padding-bottom:95px}
.product-landing .sticky-buy{bottom:12px}
.product-landing .sticky-buy strong{font-size:20px}
.product-landing .sticky-buy .button{gap:12px}
.product-landing dialog{padding:24px}
.product-landing .cart-row{grid-template-columns:70px 1fr;gap:14px}
}
@media(prefers-reduced-motion:reduce){.product-landing *,.product-landing *:before,.product-landing *:after{animation:none!important;transition:none!important}
.product-landing .reveal{opacity:1;transform:none}
}

/* Keep the shared shop shell unchanged; neutralise older home-hero rules here. */
.product-landing{background:var(--paper);color:var(--ink);font:300 14px/1.7 Manrope,Arial,sans-serif}
.product-landing .hero{height:auto;max-height:none;min-height:min(800px,calc(100svh - 106px));background:none}
.product-landing .hero:after{display:none}
.product-landing .hero-copy{position:static;inset:auto;text-align:left;color:var(--ink);z-index:auto}
.product-landing .hero h1{font-family:Newsreader,Georgia,serif}
.product-landing .hero-image>img{object-position:center}
.product-landing .eyebrow{font-weight:300}
.product-landing .lp-breadcrumb{padding:18px 4%;font-size:10px;border-bottom:1px solid var(--line);display:flex;gap:10px;color:var(--muted)}
.product-landing .hero h1.long-name{font-size:clamp(46px,5.1vw,82px)}
.product-landing .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.product-landing .gallery button{padding:0;border:1px solid transparent;background:none;cursor:pointer}
.product-landing .gallery button[aria-pressed=true]{border-color:var(--green)}
.product-landing .gallery img{width:100%;aspect-ratio:1;object-fit:cover}
.product-landing .variant-link{display:block;font-size:11px;margin-top:18px;text-decoration:underline;text-underline-offset:5px}
.product-landing .lp-extra-spec{font-size:11px;margin:20px 0;color:var(--muted)}
.product-landing .recommendations{background:var(--paper);padding-top:70px;padding-bottom:90px}
.product-landing .recommendations .section-head h2{font:400 36px Newsreader,Georgia,serif;letter-spacing:-1px}
.product-landing .recommendations .product-card{font-size:14px}
.product-landing .recommendations .card-photo{border-radius:18px}
.product-landing .recommendations .card-name{font:400 15px/1.5 Newsreader,Georgia,serif;margin:8px 0}
.product-landing .recommendations .add-card{border-radius:40px}
.product-landing .recommendations .price{font-size:12px}
@media(max-width:700px){.product-landing .hero{min-height:0}.product-landing .hero h1.long-name{font-size:53px}.product-landing .hero h1{font-size:70px}.product-landing .hero h1>span{font-size:46px}.product-landing .hero-image{min-height:0}.product-landing .lp-breadcrumb{padding:15px 7%;font-size:9px}}
@media(prefers-reduced-motion:reduce){.product-landing *, .product-landing *:before,.product-landing *:after{animation:none!important;transition:none!important}}
