/* product pages: quiet, white, shop-like */
body.shop{background:#fff;color:var(--navy-700)}
.shop .nav{background:rgba(7,14,28,.96)}
.shop__main{padding-top:56px}
.shop__head{padding-top:clamp(60px,8vw,110px);padding-bottom:40px}
.shop__head .eyebrow{color:#9a7433}
.shop__head .h-sec{color:var(--navy-700);margin-bottom:12px}
.shop__head .lead{color:var(--ink-2)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;padding-bottom:clamp(80px,10vw,140px)}
.grid--3{grid-template-columns:repeat(3,1fr);padding-bottom:0}
.pcard{display:block;color:inherit}
.pcard figure{aspect-ratio:4/5;overflow:hidden;background:#f3f1ec}
.pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pcard:hover img{transform:scale(1.04)}
.pcard__tag{margin-top:18px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#9a7433}
.pcard__name{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 11;font-weight:500;font-size:26px;margin:6px 0 8px}
.pcard__lead{font-size:15px;color:var(--ink-2);line-height:1.55;margin-bottom:12px}
.pcard .link{color:#7b5a24;font-size:12px}
.pcard--soon figure{background:repeating-linear-gradient(135deg,#f6f4ef 0 14px,#efece5 14px 28px)}
/* product detail */
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,80px);padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(60px,8vw,110px)}
.pdp__main{aspect-ratio:1/1;background:#f3f1ec;overflow:hidden}
.pdp__main img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.pdp__main img.swap{opacity:0}
.pdp__thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:10px}
.pdp__thumbs button{aspect-ratio:1/1;overflow:hidden;outline:1px solid transparent;outline-offset:2px;transition:outline-color .2s;padding:0}
.pdp__thumbs button.is-on{outline-color:#9a7433}
.pdp__thumbs img{width:100%;height:100%;object-fit:cover}
.pdp__info{position:sticky;top:90px;align-self:start}
.pdp__info .eyebrow{color:#9a7433}
.pdp__name{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 11;font-weight:500;font-size:clamp(40px,4.4vw,60px);line-height:1.05;margin-bottom:10px}
.pdp__price{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin-bottom:24px}
.pdp__lead{font-size:18px;line-height:1.6;color:var(--ink-2);margin-bottom:28px;max-width:34em}
.pdp__label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;color:var(--ink-2)}
.pdp__label b{color:var(--navy-700);font-weight:600}
.pdp__sw{display:flex;gap:10px;margin-bottom:30px}
.pdp__sw button{width:34px;height:34px;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);outline:1px solid transparent;outline-offset:3px}
.pdp__sw button.is-on{outline-color:#9a7433}
.pdp__actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-bottom:44px}
.shop .btn{background-color:var(--navy-700)}
.pdp__pdf{color:#7b5a24}
.pdp__h{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 11;font-weight:500;font-size:28px;margin-bottom:16px}
.pdp__specs{display:grid;grid-template-columns:1fr 1.3fr;border-top:1px solid rgba(15,28,53,.12)}
.pdp__specs dt,.pdp__specs dd{padding:13px 0;border-bottom:1px solid rgba(15,28,53,.08);font-size:15px}
.pdp__specs dt{color:var(--ink-2)}
.pdp__note{font-size:12px;color:var(--ink-2);margin-top:14px}
.pdp__more{padding-bottom:clamp(80px,10vw,140px)}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:1fr 1fr}.pdp{grid-template-columns:1fr}.pdp__info{position:static}}
@media (max-width:560px){.grid,.grid--3{grid-template-columns:1fr}.pdp__thumbs{grid-template-columns:repeat(4,1fr)}}
/* listing: product on white, the real setting fades in with a slow push-in on hover */
.pcard figure{position:relative;background:#fff}
.pcard .pcard__alt{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity .7s var(--ease),transform 2.4s var(--ease)}
.pcard:hover img{transform:none}
.pcard:hover .pcard__alt{opacity:1;transform:scale(1.07)}
/* product page: everything on white; studio shots contained, the one photo in use fills the frame */
.pdp__main{position:relative;background:#fff;cursor:zoom-in;box-shadow:inset 0 0 0 1px rgba(15,28,53,.06)}
.pdp__main img{object-fit:contain;padding:4%}
.pdp__main img.is-scene{object-fit:cover;padding:0}
.pdp__zoom{position:absolute;right:14px;bottom:12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(15,28,53,.45);pointer-events:none}
.pdp__thumbs{grid-template-columns:repeat(5,1fr)}
.pdp__thumbs button{background:#fff;box-shadow:inset 0 0 0 1px rgba(15,28,53,.06)}
.pdp__thumbs img{object-fit:contain;padding:6%}
.pdp__thumbs button.is-scene img{object-fit:cover;padding:0}
/* features */
.pfeat{padding-bottom:clamp(60px,8vw,110px);border-top:1px solid rgba(15,28,53,.08);padding-top:clamp(50px,6vw,80px)}
.pfeat__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px;margin-top:28px}
.pfeat__tile .ic{display:block;width:40px;height:40px;margin-bottom:18px;fill:none;stroke:#b08743;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .6s var(--ease)}
.pfeat__tile:hover .ic{transform:translateY(-4px)}
.pfeat__tile h3{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 11;font-weight:500;font-size:21px;margin-bottom:6px;color:var(--navy-700)}
.pfeat__tile p{font-size:15px;line-height:1.55;color:var(--ink-2)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:#fff;display:grid;place-items:center;overflow:hidden}
.lb[hidden]{display:none}
.lb img{max-width:88vw;max-height:88vh;object-fit:contain;cursor:zoom-in;transition:transform .45s var(--ease)}
.lb.is-zoom img{transform:scale(2.2);cursor:zoom-out}
.lb__close{position:absolute;top:18px;right:24px;font-size:38px;line-height:1;color:var(--navy-700);z-index:2}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:26px;color:var(--navy-700);box-shadow:inset 0 0 0 1px rgba(176,135,67,.45);z-index:2;transition:box-shadow .3s}
.lb__nav:hover{box-shadow:inset 0 0 0 1px #b08743}
.lb__nav--prev{left:24px}.lb__nav--next{right:24px}
@media (max-width:900px){.pfeat__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pfeat__grid{grid-template-columns:1fr}.lb__nav{display:none}}
