/* Product journeys: original photographs, calm paper and useful purchase controls. */
/* Keep a complete photograph and its controls within the available viewport. */
body.product-page-open .header{top:0;background:#132b22f5;color:var(--ivory);border-bottom:1px solid #c1a16f38;box-shadow:0 5px 24px #10271e1a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.product-page-open .header .nav-cta:hover{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}
#product-page{position:relative;isolation:isolate;min-width:0;min-height:100svh;background:radial-gradient(ellipse at 0 35%,#d7d0ba40,transparent 60%),var(--paper);color:#293f2d;padding:121px 6% 79px}
#product-page::before{content:"";position:absolute;z-index:-1;top:0;right:0;width:75%;height:900px;background:url('/assets/contour-lines.svg') right top / 1120px auto no-repeat;opacity:.2;pointer-events:none}
.product-page-header,.product-page-stage,.product-story,.product-related{width:100%;max-width:1260px;margin-inline:auto;min-width:0}
.product-page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.product-back{display:inline-flex;align-items:center;gap:15px;min-height:44px;border-bottom:1px solid #b6bea3;font-size:12px;line-height:1.5;color:#48653b;white-space:nowrap}
.product-back:hover{color:#25482d;border-color:#8a9d6f}
.product-breadcrumb{font-size:11px;line-height:1.8;color:#586b45;letter-spacing:.035em;text-align:right;overflow-wrap:anywhere}
.product-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:#48673a}
#product-page .product-dialog-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start;min-width:0}
#product-page .dialog-gallery{position:sticky;top:122px;min-width:0;align-self:start;background:#e1e3d5;border:1px solid #bdc5ad;box-shadow:0 14px 38px #2443290b;overflow:hidden}
#product-page .dialog-gallery>div{padding:0;border:0;gap:0}
#product-page .product-gallery-track{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;overflow-y:hidden;width:100%;height:clamp(430px,calc(100svh - 274px),670px);padding:0;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;outline-offset:-4px;background:#e5e6d9}
#product-page .product-gallery-track::-webkit-scrollbar{display:none}
#product-page .product-gallery-track>img,#product-page .product-gallery-slide{flex:0 0 100%;width:100%;min-width:100%;height:100%;max-width:none;scroll-snap-align:start;scroll-snap-stop:always}
#product-page .product-gallery-track>img,#product-page .product-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#e5e6d9;filter:none}
#product-page #product-image{height:100%;width:100%;object-fit:contain;object-position:center}
#product-page .product-gallery-slide{position:relative}
#product-page #gallery-thumbs{display:flex;align-items:center;gap:10px;padding:16px 17px 14px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:none;overscroll-behavior-x:contain;border-top:1px solid #c2c9b2;background:#eeeede}
#product-page #gallery-thumbs::-webkit-scrollbar{display:none}
#product-page #gallery-thumbs button{flex:0 0 61px;width:61px;height:72px;padding:0;border:2px solid #c8cbb7;background:#e1e4d2;opacity:.68;transition:opacity .2s,border-color .2s}
#product-page #gallery-thumbs button:hover{opacity:1}
#product-page #gallery-thumbs button.selected,#product-page #gallery-thumbs button[aria-pressed=true]{border-color:#637d4b;opacity:1}
#product-page #gallery-thumbs button img{height:100%;width:100%;object-fit:cover;filter:none}
#product-page .product-gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:12px 17px;border:0;background:#eeeede}
#product-page .product-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #b5c09e;background:#f7f3e7;color:#4a6c35;font-size:20px;line-height:1;border-radius:0;transition:background .2s}
#product-page .product-gallery-controls button:hover{background:#dce6c9}
#product-page .product-gallery-controls button:disabled{opacity:.4;cursor:default}
#product-page .product-gallery-status{flex:1;margin:0;padding:0 8px;font-size:10px;line-height:1.6;letter-spacing:.12em;color:#586b45;text-align:center}
#product-page .dialog-gallery>.product-gallery-status{padding:9px 18px 14px;text-align:left;background:#eeeede}
#product-page .product-photo-note{font-size:10px;line-height:1.8;color:#586b45;margin:0;padding:3px 18px 15px;text-align:center;background:#eeeede}
#product-page .dialog-content{display:flex;flex-direction:column;align-items:flex-start;padding:10px 0 0;min-width:0;background:none}
#product-page .dialog-content .eyebrow{font-size:10px;letter-spacing:.15em;line-height:1.7;color:#586b45;margin-bottom:20px}
#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font:500 clamp(46px,4.5vw,67px)/1.015 var(--serif);letter-spacing:-.038em;color:#274b31;width:100%;margin:0 0 23px;overflow-wrap:normal}
#product-page .dialog-content>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#586b45;max-width:475px}
#product-page #product-subtitle{font:italic 26px/1.25 var(--serif);color:#586b45;max-width:455px;margin:0 0 18px}
#product-page .product-highlights{display:flex;flex-wrap:wrap;gap:9px;width:100%;margin-top:23px}
#product-page .product-highlights>span{display:inline-flex;align-items:center;gap:7px;border:1px solid #bdc6aa;background:#f7f3e6;color:#5b6e47;padding:7px 10px;font-size:10px;line-height:1.6;letter-spacing:.01em}
#product-page .product-highlights>span::before{content:"";display:block;width:3px;height:3px;flex-shrink:0;border-radius:50%;background:#99794f}
#product-page .dialog-content .dialog-note{font-size:12px!important;line-height:1.85;margin-top:20px;color:#586b45}
#product-page #product-purchase{width:100%;margin-top:28px;padding-top:25px;border-color:#b6c0a1}
#product-page .purchase-price-line{display:flex;align-items:center;gap:15px;margin-bottom:24px}
#product-page .purchase-price-line strong{font:500 30px/1 var(--sans);letter-spacing:-.035em;color:#2a4c31}
#product-page .purchase-price-line>span{font-size:10px;line-height:1.6;color:#586b45;border:1px solid #bdc6ad;background:#f7f3e6;padding:4px 8px}
#product-page .purchase-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#product-page .product-purchase label{display:block;font-size:12px;line-height:1.6;font-weight:600;color:#47673b;margin:0 0 9px}
#product-page .product-purchase label>span{font-size:10px;font-weight:400;color:#586b45}
#product-page .product-purchase select,#product-page .product-purchase input{width:100%;min-width:0;min-height:52px;border:1px solid #b4c19e;border-radius:0;background:#fbf7eb;color:#334f30;font-size:16px;line-height:1.5;padding:12px 13px}
#product-page .product-purchase input::placeholder{font-size:14px;color:#586b45}
#product-page .product-purchase select:focus-visible,#product-page .product-purchase input:focus-visible{outline:2px solid #849b61;outline-offset:2px}
#product-page #engraving-option{margin-top:19px}
#product-page .purchase-buy-row{display:flex;align-items:flex-end;gap:15px;margin-top:24px;min-width:0}
#product-page .purchase-quantity{width:80px;min-width:0;flex:0 0 80px;margin:0!important}
#product-page .purchase-quantity input{height:56px;padding:11px 8px;text-align:center}
#product-page #add-product{flex:1;min-width:0;min-height:56px;justify-content:space-between;background:#244b30;border-color:#244b30;color:#fbf3e0;font-size:13px;gap:15px;padding:15px 22px}
#product-page #add-product:hover{background:#466b38;border-color:#466b38}
#product-page #add-product>span{font-size:20px;font-weight:400;line-height:1}
#product-page .purchase-note{font-size:12px;line-height:1.85;color:#586b45;margin-top:15px}
#product-page .dialog-content #product-shop,#product-page .dialog-content #product-custom{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.8;color:#586b45;margin-top:14px;max-width:100%;gap:22px}
#product-page .dialog-content #product-shop{background:none;border:0;border-bottom:1px solid #b5c69d;padding:8px 0;width:auto;justify-content:flex-start}
#product-page .dialog-content #product-custom{margin-top:6px}
#product-page .product-delivery-details{width:100%;border-top:1px solid #bdc7a8;margin-top:26px}
#product-page .product-delivery-details summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;min-height:56px;padding:13px 0;font-size:12px;line-height:1.8;color:#526b3d}
#product-page .product-delivery-details summary::-webkit-details-marker{display:none}
#product-page .product-delivery-details summary>span{display:block;font-size:23px;line-height:1;flex-shrink:0;color:#586b45;transition:transform .2s}
#product-page .product-delivery-details[open] summary>span{transform:rotate(45deg)}
#product-page .product-delivery-details p{font-size:12px;line-height:1.9;color:#586b45;padding:0 0 19px;margin:0}

.product-story{margin-top:72px;border-top:1px solid #c5cbb4;padding-top:45px}
.product-story>.eyebrow,.product-related>.eyebrow{font-size:10px;letter-spacing:.15em;color:#586b45;margin-bottom:18px}
.product-story>h2,.product-related>h2,.product-related>div>h2,.product-story-heading h2{font:500 56px/1.05 var(--serif);letter-spacing:-.035em;color:#314f32;margin:0 0 29px}
.product-related>div>.eyebrow{font-size:10px;letter-spacing:.15em;color:#586b45;margin-bottom:18px}
.product-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:0}
.product-story-grid article{position:relative;min-width:0;padding:31px 28px 32px;border:1px solid #c7cbb5;background:linear-gradient(135deg,#f8f4e8,#edeedd);box-shadow:0 8px 22px #31492706}
.product-story-grid article>small,.product-story-grid article>.eyebrow,.product-story-grid article>span:first-child{display:block;font-size:9px;line-height:1.7;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#785a36;margin:0 0 21px}
.product-story-grid article h3{font:500 30px/1.1 var(--serif);letter-spacing:-.025em;color:#375832;margin:0 0 15px}
.product-story-grid article p,.product-story-grid article li{font-size:13px;line-height:1.85;color:#586b45;overflow-wrap:anywhere}
.product-story-grid article ul{margin:0;padding-left:17px}
.product-story-grid article li+li{margin-top:6px}
.product-story-grid article dl{margin:0}
.product-story-grid article dl>div{display:flex;justify-content:space-between;gap:19px;padding:9px 0;border-top:1px solid #c3cbae;font-size:12px;line-height:1.7}
.product-story-grid article dt{color:#586b45}
.product-story-grid article dd{margin:0;text-align:right;color:#496b37}
.product-trust{display:grid;grid-template-columns:1.15fr .85fr;gap:47px;margin-top:27px;padding:35px 34px 37px;background:radial-gradient(ellipse at 95% 0,#68734720,transparent 70%),#1a3427;color:#e5ead4;border:1px solid #84916666}
.product-trust>div{min-width:0}
.product-trust .eyebrow{font-size:9px;line-height:1.7;letter-spacing:.14em;color:#ccb583;margin-bottom:16px}
.product-trust h3{font:500 38px/1.1 var(--serif);letter-spacing:-.025em;color:#f0e8d4;margin:0 0 17px}
.product-trust p:not(.eyebrow){font-size:13px;line-height:1.85;color:#b8c7a4;max-width:520px}
.product-review-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
.product-review-links .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;min-height:44px;border-bottom:1px solid #9bad7c66;padding:7px 0;color:#c7d4ae;font-size:12px;line-height:1.75;max-width:100%}
.product-review-links .text-link>span{flex-shrink:0;color:#d4bb87}
.product-review-links .text-link:hover{color:#f3e7c3}
.product-related{margin-top:69px;padding-top:45px;border-top:1px solid #c6cbb5}
.product-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;min-width:0}
.product-related-grid>article,.product-related-grid>button,.product-related-grid>a{min-width:0}
.product-related-grid .product-visual{aspect-ratio:5/6;background:#dce2ce;border:1px solid #c3cbb0}
.product-related-grid .product-meta{margin-top:17px}
.product-related-grid .product-meta h3{font-size:25px;line-height:1.1;min-height:2.2em;color:#395e34}
.product-related-grid .product-card>p{font-size:12px;line-height:1.8;color:#586b45;min-height:0}
.product-related-grid .shop-card-footer{margin-top:16px;padding-top:12px;border-color:#bfcca9;gap:14px}
.product-related-grid .shop-card-price{font-size:14px;color:#3f6537}
.product-related-grid .shop-card-action{font-size:12px;min-height:44px;color:#506f3b}
.product-related-grid>button,.product-related-grid>a{display:block;border:1px solid #c3cbb1;background:#f4f1e4;padding:0;text-align:left;color:#37562e}
.product-related-grid>button>img,.product-related-grid>a>img{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}
.product-related-grid>button>span,.product-related-grid>a>span{display:block;padding:20px 20px 23px}
.product-related-grid>button strong,.product-related-grid>a strong{display:block;font:500 28px/1.1 var(--serif);color:#345831}
.product-related-grid>button small,.product-related-grid>a small{display:block;font-size:12px;line-height:1.7;color:#586b45;margin-top:10px}
.product-mobile-buy{display:none}
@media(max-width:760px){.product-breadcrumb{display:none!important}.product-page-header{margin-bottom:18px}.product-back{font-size:12px!important}}

@media(min-width:1600px){
  #product-page{padding-top:124px;padding-inline:8%}.product-page-header,.product-page-stage,.product-story,.product-related{max-width:1380px}#product-page .product-dialog-layout{gap:80px}#product-page .dialog-gallery{top:124px}#product-page .product-gallery-track{height:clamp(520px,calc(100svh - 265px),780px)}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:72px}#product-page .dialog-content>p:not(.eyebrow){max-width:510px}
}
@media(max-width:1100px){
  #product-page{padding-inline:5%}.product-page-header{margin-bottom:24px}#product-page .product-dialog-layout{gap:38px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#product-page .dialog-content{padding-top:6px}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:52px}#product-page .dialog-content>p:not(.eyebrow){font-size:13px}#product-page .product-gallery-track{height:clamp(425px,calc(100svh - 270px),590px)}#product-page .purchase-options{gap:13px}#product-page #add-product{padding-inline:18px;font-size:12px}#product-page .purchase-quantity{width:72px;flex-basis:72px}.product-story-grid{gap:14px}.product-story-grid article{padding:27px 23px}.product-story-grid article h3{font-size:28px}.product-related-grid{gap:19px}.product-related-grid .product-meta h3{font-size:24px}
}
@media(max-width:900px){
  .product-related>div>h2{font-size:52px}.product-trust{grid-template-columns:1fr;gap:24px;padding:31px}.product-review-links{gap:8px}
  #product-page{padding-top:116px;padding-inline:7%}#product-page .product-dialog-layout{grid-template-columns:minmax(0,1fr);gap:37px;max-width:690px;margin-inline:auto}#product-page .dialog-gallery{position:relative;top:auto;align-self:auto;width:100%;max-width:none}#product-page .product-gallery-track{height:min(78svh,660px);min-height:410px}#product-page .dialog-content{padding-top:0;max-width:none;width:100%}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:60px;max-width:630px}#product-page .dialog-content>p:not(.eyebrow){max-width:610px;font-size:14px}#product-page .product-purchase{max-width:none}#product-page .purchase-options{gap:18px}#product-page .purchase-price-line strong{font-size:31px}#product-page #add-product{font-size:13px;min-height:58px}.product-story{margin-top:59px;padding-top:35px}.product-story>h2,.product-related>h2,.product-story-heading h2{font-size:52px}.product-story-grid{grid-template-columns:1fr;gap:15px}.product-story-grid article{padding:28px 29px}.product-story-grid article h3{font-size:31px}.product-story-grid article>small,.product-story-grid article>.eyebrow,.product-story-grid article>span:first-child{margin-bottom:15px}.product-story-grid article p,.product-story-grid article li{font-size:13px;max-width:640px}.product-related{margin-top:53px;padding-top:35px}.product-related-grid{gap:17px}.product-related-grid .product-meta h3{font-size:23px}.product-related-grid .product-card>p{font-size:11px}.product-related-grid .shop-card-footer{flex-direction:column;align-items:flex-start;gap:6px}.product-related-grid .shop-card-action{font-size:11px}
}
@media(max-width:760px){
  .product-related>div>h2{font-size:clamp(42px,11.8vw,58px);line-height:1.06;margin-bottom:24px}.product-related>div>.eyebrow{font-size:10px;line-height:1.7;margin-bottom:16px}.product-trust{padding:27px 25px 29px;margin-top:23px;gap:23px}.product-trust h3{font-size:33px;line-height:1.12;margin-bottom:17px}.product-trust .eyebrow{font-size:9px;line-height:1.7;margin-bottom:16px}.product-trust p:not(.eyebrow){font-size:13px;line-height:1.85}.product-review-links .text-link{font-size:12px;line-height:1.8;min-height:44px;gap:21px}#product-page #product-subtitle{font-size:25px;line-height:1.3;max-width:none}
  body.product-page-open .header{height:64px}#product-page{padding:87px 6% calc(103px + env(safe-area-inset-bottom))}#product-page::before{width:100%;height:750px;background-size:780px auto;opacity:.16}.product-page-header{align-items:flex-start;gap:15px;margin-bottom:22px;flex-wrap:wrap}.product-back{font-size:12px;gap:13px;min-height:44px}.product-breadcrumb{font-size:10px;line-height:1.9;text-align:left;max-width:100%;flex:1;align-self:center;min-width:120px}.product-breadcrumb a{min-height:44px}#product-page .product-dialog-layout{gap:28px;max-width:none}#product-page .dialog-gallery{border-color:#c1c8af;box-shadow:0 9px 20px #2b42250b}#product-page .product-gallery-track{height:clamp(360px,56svh,560px);min-height:0;scroll-behavior:smooth}#product-page #gallery-thumbs{padding:12px 12px 10px;gap:9px}#product-page #gallery-thumbs button{flex-basis:52px;width:52px;height:61px}#product-page .product-gallery-controls{padding:0 12px 12px;gap:9px}#product-page .product-gallery-controls button{width:44px;height:44px;flex-basis:44px;font-size:20px}#product-page .product-gallery-status{font-size:10px;letter-spacing:.12em}#product-page .dialog-gallery>.product-gallery-status{padding:8px 14px 12px}#product-page .dialog-content .eyebrow{font-size:10px;line-height:1.7;margin-bottom:18px}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:clamp(45px,12.5vw,67px);line-height:1.035;margin-bottom:22px;max-width:none}#product-page .dialog-content>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:none}#product-page .dialog-content .dialog-note{font-size:12px!important;line-height:1.85;margin-top:18px}#product-page #product-purchase{margin-top:24px;padding-top:22px}#product-page .purchase-price-line{margin-bottom:23px;gap:14px}#product-page .purchase-price-line strong{font-size:29px}#product-page .purchase-price-line>span{font-size:10px;padding:4px 8px}#product-page .purchase-options{gap:13px}#product-page .product-purchase label{font-size:12px;line-height:1.6;margin-bottom:8px}#product-page .product-purchase label>span{font-size:10px}#product-page .product-purchase select,#product-page .product-purchase input{font-size:16px;line-height:1.5;min-height:52px;padding:12px}#product-page .product-purchase input::placeholder{font-size:13px}#product-page #engraving-option{margin-top:19px}#product-page .purchase-buy-row{gap:13px;margin-top:22px}#product-page .purchase-quantity{width:74px;flex-basis:74px}#product-page .purchase-quantity input{height:56px}#product-page #add-product{font-size:13px;min-height:56px;padding:15px 20px;gap:12px}#product-page .purchase-note{font-size:12px;line-height:1.85;margin-top:14px}#product-page .dialog-content #product-shop,#product-page .dialog-content #product-custom{font-size:12px;min-height:44px;line-height:1.8;gap:17px;margin-top:14px}#product-page .dialog-content #product-custom{margin-top:5px}
  .product-story{margin-top:48px;padding-top:31px}.product-story>.eyebrow,.product-related>.eyebrow{font-size:10px;line-height:1.7;margin-bottom:16px}.product-story>h2,.product-related>h2,.product-story-heading h2{font-size:clamp(42px,11.8vw,58px);line-height:1.06;margin-bottom:24px}.product-story-grid{gap:13px}.product-story-grid article{padding:26px 24px 28px}.product-story-grid article h3{font-size:31px;line-height:1.1;margin-bottom:15px}.product-story-grid article>small,.product-story-grid article>.eyebrow,.product-story-grid article>span:first-child{font-size:9px;margin-bottom:15px}.product-story-grid article p,.product-story-grid article li{font-size:13px;line-height:1.85}.product-story-grid article dl>div{font-size:12px;line-height:1.8;gap:18px;padding:11px 0}.product-related{margin-top:48px;padding-top:31px}.product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px}.product-related-grid .product-meta{margin-top:14px}.product-related-grid .product-meta h3{font-size:24px;min-height:2.2em;line-height:1.12;max-width:100%}.product-related-grid .product-card>p{font-size:11px;line-height:1.85;min-height:0}.product-related-grid .shop-card-footer{flex-direction:column;align-items:flex-start;gap:6px;margin-top:15px;padding-top:12px}.product-related-grid .shop-card-price{font-size:14px}.product-related-grid .shop-card-action{font-size:11px;min-height:44px;width:100%;text-align:left}.product-related-grid>button>span,.product-related-grid>a>span{padding:16px 15px 20px}.product-related-grid>button strong,.product-related-grid>a strong{font-size:25px}.product-related-grid>button small,.product-related-grid>a small{font-size:11px;line-height:1.8;margin-top:9px}
  body.product-page-open .product-mobile-buy{position:fixed;inset:auto 0 0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 6% calc(13px + env(safe-area-inset-bottom));background:#f4f0e5f7;color:#2b4b31;border-top:1px solid #b7c5a0;box-shadow:0 -8px 30px #243d1d12;backdrop-filter:blur(12px);min-width:0}
  .product-mobile-buy>div{flex:0 0 auto;min-width:76px}.product-mobile-buy>div>small{display:block;font-size:9px;line-height:1.6;font-weight:500;letter-spacing:.065em;text-transform:uppercase;color:#586b45;margin-bottom:4px}.product-mobile-buy .product-mobile-price,.product-mobile-buy #product-mobile-price{display:block;font:500 24px/1 var(--sans);letter-spacing:-.035em;color:#2c4f32;white-space:nowrap}.product-mobile-buy #mobile-add-product{flex:1;max-width:345px;min-width:0;min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 19px;font-size:12px;border-color:#244b30;background:#244b30;color:#faf2df}.product-mobile-buy #mobile-add-product:hover{background:#456b37;border-color:#456b37}.product-mobile-buy #mobile-add-product>span{font-size:18px;line-height:1}
  body.product-page-open footer{padding-bottom:calc(127px + env(safe-area-inset-bottom))}
  body.product-page-open:has(dialog[open]) .product-mobile-buy,body.product-page-open.shop-overlay-open .product-mobile-buy{visibility:hidden;pointer-events:none}
}
@media(max-width:430px){
  #product-page{padding-top:83px}.product-page-header{gap:12px;margin-bottom:19px}.product-breadcrumb{font-size:9px;letter-spacing:.025em;min-width:110px}.product-back{font-size:11px;gap:11px}#product-page .product-gallery-track{height:clamp(340px,52svh,440px)}#product-page .product-dialog-layout{gap:26px}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:clamp(43px,12vw,52px)}#product-page #add-product{font-size:12px;padding-inline:17px}#product-page .purchase-quantity{width:69px;flex-basis:69px}.product-story-grid article{padding:25px 22px 27px}.product-story-grid article h3{font-size:30px}.product-related-grid .product-meta h3{font-size:23px}.product-related-grid>button strong,.product-related-grid>a strong{font-size:23px}.product-related-grid>button>span,.product-related-grid>a>span{padding-inline:13px}.product-mobile-buy{gap:17px}.product-mobile-buy #mobile-add-product{padding-inline:17px;font-size:12px}.product-mobile-buy .product-mobile-price,.product-mobile-buy #product-mobile-price{font-size:23px}
}
@media(max-width:370px){
  .product-related>div>h2{font-size:39px}.product-trust{padding:26px 22px 28px}.product-trust h3{font-size:31px}.product-review-links .text-link{font-size:11px;gap:17px}#product-page #product-subtitle{font-size:24px}
  #product-page{padding-inline:6%;padding-top:81px}.product-page-header{flex-direction:column;gap:8px;margin-bottom:20px}.product-breadcrumb{font-size:10px;line-height:1.8;align-self:flex-start;min-width:0;width:100%}.product-breadcrumb a{min-height:35px}#product-page .product-gallery-track{height:350px}#product-page #gallery-thumbs{padding:11px;gap:8px}#product-page #gallery-thumbs button{width:48px;height:58px;flex-basis:48px}#product-page .product-gallery-controls{padding-inline:11px}#product-page .dialog-content h1,#product-page .dialog-content h2,#product-page #product-title{font-size:40px;line-height:1.05;margin-bottom:20px}#product-page .dialog-content>p:not(.eyebrow){font-size:13px}#product-page .purchase-options{grid-template-columns:1fr;gap:18px}#product-page .purchase-price-line strong{font-size:27px}#product-page .purchase-buy-row{gap:12px}#product-page .purchase-quantity{width:64px;flex-basis:64px}#product-page #add-product{font-size:12px;padding-inline:16px}.product-story>h2,.product-related>h2,.product-story-heading h2{font-size:39px}.product-story-grid article{padding:25px 21px 27px}.product-story-grid article h3{font-size:29px}.product-story-grid article dl>div{gap:15px}.product-related-grid{grid-template-columns:1fr;gap:29px}.product-related-grid .product-visual{aspect-ratio:5/6}.product-related-grid .product-meta h3{font-size:30px;line-height:1.1;min-height:0}.product-related-grid .product-card>p{font-size:12px;line-height:1.85}.product-related-grid .shop-card-footer{flex-direction:row;align-items:center;gap:18px}.product-related-grid .shop-card-action{width:auto;min-height:44px;font-size:12px}.product-related-grid>button strong,.product-related-grid>a strong{font-size:29px}.product-related-grid>button small,.product-related-grid>a small{font-size:12px}.product-related-grid>button>span,.product-related-grid>a>span{padding:19px 18px 24px}body.product-page-open .product-mobile-buy{gap:14px;padding-inline:6%;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.product-mobile-buy>div{min-width:72px}.product-mobile-buy>div>small{font-size:8px;letter-spacing:.04em}.product-mobile-buy .product-mobile-price,.product-mobile-buy #product-mobile-price{font-size:22px}.product-mobile-buy #mobile-add-product{font-size:11px;padding-inline:15px;gap:12px;min-height:52px}
}
@media(prefers-reduced-motion:reduce){#product-page .product-gallery-track{scroll-behavior:auto}#product-page #gallery-thumbs button,#product-page .product-gallery-controls button{transition:none}}

/* Keep the original portrait compositions visible and bring the choices closer to the title. */
#product-page .product-gallery-track { height: auto; min-height: 0; aspect-ratio: 3 / 4; background: #e5e6d9; }
#product-page .dialog-gallery { position: relative; top: auto; }
#product-page #gallery-thumbs { padding: 12px 16px 15px; }
#product-page .product-gallery-controls { padding: 10px 16px; }
#product-page .product-photo-note { font-size: 11px; padding: 3px 16px 14px; }
#product-page .dialog-content { padding-top: 1px; }
#product-page .dialog-content .eyebrow { margin-bottom: 15px; }
#product-page #product-title { font-size: clamp(43px, 4vw, 60px); line-height: 1.04; margin-bottom: 16px; }
#product-page #product-subtitle { font: 400 13px / 1.8 var(--sans); color: #586b45; margin-bottom: 0; }
#product-page #product-purchase { margin-top: 22px; padding-top: 22px; }
#product-page #product-description { margin-top: 23px; font-size: 13px; line-height: 1.85; }
#product-page .product-highlights { gap: 7px; margin-top: 16px; }
#product-page .dialog-content .dialog-note { margin-top: 14px; }
.product-related-grid .product-related-card { display: block; min-width: 0; padding: 0; background: #faf6ed; border: 1px solid #d1d0bb; border-radius: 3px; overflow: hidden; color: #193729; text-align: left; transition: border-color .2s, box-shadow .2s; }
.product-related-grid .product-related-card > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; filter: none; }
.product-related-content { padding: 18px 19px 15px; }
.product-related-category { display: block; color: #5a6758; text-transform: uppercase; font-size: 9px; font-weight: 600; line-height: 1.7; letter-spacing: .055em; margin-bottom: 9px; }
.product-related-content h3 { font: 500 30px / 1.12 var(--serif); letter-spacing: -.025em; color: #193729; min-height: 1.12em; overflow-wrap: anywhere; }
.product-related-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 44px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #d8d0bd; }
.product-related-grid .product-related-footer .product-related-price { font: 600 16px / 1.5 var(--sans); letter-spacing: -.015em; color: #193729; }
.product-related-arrow { display: grid; place-items: center; width: 32px; height: 32px; margin-left: auto; font-size: 22px; color: #193729; }
.product-related-card:hover { border-color: #819575; box-shadow: 0 8px 22px #1937290a; }
.product-related-card:focus-visible { outline-offset: 4px; }
@media (min-width: 901px) and (max-width: 1100px) {
  #product-page .product-dialog-layout { gap: 34px; }
  #product-page #product-title { font-size: 45px; }
  .product-related-content { padding-inline: 16px; }
  .product-related-content h3 { font-size: 28px; }
}
@media (max-width: 900px) {
  #product-page .product-gallery-track { height: auto; min-height: 0; aspect-ratio: 3 / 4; }
  #product-page #product-title { font-size: clamp(43px, 7.2vw, 60px); }
}
@media (max-width: 760px) {
  #product-page .product-dialog-layout { gap: 25px; }
  #product-page .product-gallery-track { height: auto; aspect-ratio: 3 / 4; }
  #product-page #gallery-thumbs { padding: 10px 12px 12px; gap: 9px; }
  #product-page .product-gallery-controls { padding: 8px 12px; }
  #product-page .product-photo-note { font-size: 10px; padding: 2px 12px 12px; }
  #product-page #product-title { font-size: clamp(40px, 10.7vw, 58px); margin-bottom: 15px; }
  #product-page #product-subtitle { font: 400 12px / 1.8 var(--sans); }
  #product-page #product-purchase { margin-top: 20px; padding-top: 20px; }
  #product-page #product-description { margin-top: 21px; }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .product-related-content { padding: 13px 12px 11px; }
  .product-related-category { font-size: 8px; line-height: 1.7; letter-spacing: .035em; margin-bottom: 8px; }
  .product-related-content h3 { font-size: clamp(22px, 5.8vw, 29px); min-height: 2.24em; }
  .product-related-footer { gap: 9px; margin-top: 11px; padding-top: 9px; min-height: 44px; }
  .product-related-grid .product-related-footer .product-related-price { font-size: 14px; }
  .product-related-arrow { width: 26px; height: 26px; font-size: 19px; }
}
@media (max-width: 370px) {
  #product-page #product-title { font-size: 39px; }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; }
  .product-related-content { padding-inline: 10px; }
  .product-related-category { min-height: 3.4em; }
  .product-related-content h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { .product-related-grid .product-related-card { transition: none; } }
.purchase-customisation-note { margin: 14px 0 18px; padding: 14px 16px; border-left: 2px solid #977948; background: #eae7dc; color: #334137; font-size: 13px; line-height: 1.7; }

/* Gallery controls remain beside the image, including on short screens. */
#product-page .dialog-gallery { position:sticky; top:110px; }
#product-page .dialog-gallery > .product-gallery-viewport { display:block; position:relative; padding:0; }
#product-page .product-gallery-track { height:min(640px,max(160px,calc(100svh - 330px))); min-height:0; cursor:zoom-in; overflow:hidden; scroll-snap-type:none; touch-action:pan-y pinch-zoom; }
#product-page .product-gallery-controls { position:absolute; inset:50% 14px auto; transform:translateY(-50%); display:flex; padding:0; background:none; pointer-events:none; z-index:2; }
#product-page .product-gallery-controls button { pointer-events:auto; width:44px; height:44px; flex-basis:44px; border-radius:50%; border:1px solid #d5cdbf; background:#fbf8f0f2; color:#193d30; box-shadow:0 3px 12px #132b2220; }
#product-page .product-gallery-controls button:disabled { opacity:.3; }
#product-page .product-gallery-viewport .product-gallery-status { position:absolute; left:14px; bottom:15px; padding:5px 11px; background:#fbf8f0eb; border-radius:20px; white-space:nowrap; letter-spacing:.08em; font-variant-numeric:tabular-nums; z-index:2; }
#product-page .product-gallery-enlarge { position:absolute; right:15px; bottom:14px; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #d5cdbf; border-radius:50%; background:#fbf8f0f2; color:#193d30; box-shadow:0 3px 12px #132b2220; z-index:2; }
#product-page .product-gallery-enlarge svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.6; }
#product-page #gallery-thumbs { padding:12px; gap:9px; }
#product-page #gallery-thumbs button { width:52px; height:62px; flex-basis:52px; border-radius:3px; }
#product-page .product-photo-note { padding:0 12px 11px; }

.photo-lightbox { width:100vw; height:100dvh; max-width:none; max-height:none; inset:0; margin:0; border:0; padding:72px 68px 28px; background:#0b1915f5; color:#f8f3e8; overflow:hidden; }
.photo-lightbox::backdrop { background:#0b1915; }
.photo-lightbox-header { position:absolute; inset:14px 20px auto; display:flex; align-items:center; gap:16px; height:44px; }
.photo-lightbox-header #lightbox-status { font-size:12px; letter-spacing:.08em; font-variant-numeric:tabular-nums; }
.photo-lightbox-header button { min-height:44px; border:1px solid #ffffff40; border-radius:24px; background:#ffffff0c; color:inherit; padding:0 18px; font-size:12px; }
.photo-lightbox-header #lightbox-zoom { margin-left:auto; }
.photo-lightbox-header #lightbox-close { width:44px; padding:0; font-size:28px; line-height:1; }
.photo-lightbox-image-wrap { width:100%; height:100%; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); place-items:center; overflow:hidden; outline-offset:4px; overscroll-behavior:contain; }
.photo-lightbox-image-wrap img { display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%; object-fit:contain; }
.photo-lightbox.is-zoomed .photo-lightbox-image-wrap { display:block; overflow:auto; }
.photo-lightbox.is-zoomed .photo-lightbox-image-wrap img { max-width:none; max-height:none; margin:auto; }
.photo-lightbox-arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:1px solid #ffffff50; border-radius:50%; background:#152b23ed; color:#f8f3e8; font-size:22px; }
.photo-lightbox-arrow:disabled { opacity:.3; }
#lightbox-previous { left:14px; } #lightbox-next { right:14px; }
@media(max-width:900px) {
  #product-page .dialog-gallery { position:relative; top:auto; }
  #product-page .product-gallery-track { height:min(580px,max(160px,calc(100svh - 310px))); min-height:0; }
}
@media(max-width:760px) {
  #product-page .product-gallery-track { height:min(440px,max(150px,calc(100svh - 310px - var(--mobile-dock-offset, 0px)))); min-height:0; }
  #product-page .product-gallery-controls { inset-inline:10px; }
  #product-page .product-gallery-controls button { width:44px; height:44px; flex-basis:44px; }
  #product-page .product-gallery-enlarge { right:11px; bottom:11px; }
  #product-page #gallery-thumbs { padding:10px; }
  #product-page #gallery-thumbs button { width:48px; height:56px; flex-basis:48px; }
  .photo-lightbox { padding:72px 10px 16px; }
  .photo-lightbox-header { inset-inline:12px; gap:10px; }
  .photo-lightbox-arrow { top:auto; bottom:26px; transform:none; }
}
