/* October 2026: readable controls, clearer shopping, and the owl on its own stage.
   Original artwork and visual language remain in style.css. */
:root { --muted:#5c6055; --night:#151613; --gutter:clamp(20px,5vw,80px); }
body { font-size:16px; }
select { font:inherit; color:inherit; }
button, a, summary, input, select { touch-action:manipulation; }
:focus-visible { outline:3px solid #a56724; outline-offset:4px; }
.site-header :focus-visible, .hero :focus-visible, .site-footer :focus-visible { outline-color:#efbc87; }
main:focus { outline:none; }
button:disabled { opacity:.6; }
a:hover { text-underline-offset:4px; }
.section { padding-top:64px; padding-bottom:64px; }
.eyebrow { font-size:12px; letter-spacing:.12em; }
.button, .text-link, .underlined-link { font-size:15px; min-height:46px; }
.button { padding:15px 22px; }
.underlined-link { padding:8px 0; }
.fine-print, .photo-caption, .gallery-note, .product-video figcaption, .also-called { font-size:13px; line-height:1.7; color:var(--muted); }
.announcement { min-height:40px; height:auto; padding-block:8px; font-size:13px; letter-spacing:0; gap:20px; }
.announcement a { text-decoration:underline; text-underline-offset:4px; }
.site-header { height:88px; gap:20px; }
.site-header nav { gap:28px; }
.site-header nav a, .bag-toggle { font-size:15px; min-height:44px; display:flex; align-items:center; }
.site-header nav a[aria-current]:after { bottom:1px; }
.bag-count { min-width:25px; height:25px; font-size:12px; }
.icon-button { min-width:44px; min-height:44px; }
.menu-toggle { gap:6px; font-size:14px; }
/* Homepage: the real painted owl is the focal point, with one obvious route to shop. */
.owl-hero { grid-template-columns:1fr 1fr; min-height:570px; padding-block:32px 52px; gap:4%; }
.owl-hero .hero-copy { max-width:610px; }
.owl-hero h1 { font-size:clamp(60px,6.8vw,106px); line-height:1.02; margin:24px 0; }
.owl-hero h1 em { display:block; }
.owl-hero h1 br { display:none!important; }
.owl-hero .eyebrow { font-size:12px; color:#d1cdbf; }
.owl-hero .hero-description { font-size:17px; max-width:440px; color:#c9cbbf; line-height:1.75; }
.owl-hero .hero-actions { gap:26px; }
.owl-hero .hero-footnote { font-size:13px; color:#b4b7a8; margin-top:27px; max-width:410px; }
.owl-showcase { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; }
.owl-halo { position:absolute; inset:3% -10% 10%; background:radial-gradient(ellipse,#d49e5720,transparent 67%); pointer-events:none; }
.showcase-link>img { position:relative; width:100%; height:470px; object-fit:contain; filter:drop-shadow(0 28px 22px #0006); transition:transform .35s; }
.showcase-link:hover>img { transform:translateY(-5px); }
.owl-caption { display:flex; justify-content:space-between; align-items:center; width:100%; gap:14px; border-top:1px solid #4b4b3c; padding:20px 4px 0; }
.owl-caption small { display:block; font-size:11px; letter-spacing:.15em; color:var(--amber); }
.owl-caption strong { display:block; font:26px/1.25 var(--serif); margin:6px 0; }
.owl-caption>span>span { display:block; font-size:14px; color:#bfc3b2; }
.circle-link { width:48px; height:48px; flex-shrink:0; }
.promise-strip { font-size:13px; gap:18px; color:#d0d2c2; }
.collection-shortcuts { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding-block:22px; border-bottom:1px solid var(--line); }
.collection-shortcuts a { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-block:12px; font-size:15px; }
.collection-shortcuts a:hover { text-decoration:underline; }
.section-heading p, .bundle-intro>p, .story-teaser-copy p, .social-band p { font-size:16px; }
.home-products { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-card-info { display:block; }
.product-card-info h3 { font-size:24px; line-height:1.2; }
.product-card-info a>span { font-size:13px; }
.product-card-info strong { display:block; font-size:16px; white-space:normal; margin-top:9px; }
.product-card-info small { font-size:13px; }
.product-tag { font-size:12px; line-height:1.5; max-width:calc(100% - 28px); }
.card-explore { font-size:14px; }
.product-image { aspect-ratio:1; }
.product-image:not(.is-cutout):not(.is-render)>img { object-fit:contain; }
.bundle-feature { grid-template-columns:1fr 1.15fr; background:var(--night); color:var(--cream); border-color:#33362b; }
.bundle-feature .bundle-intro>p { color:#c2c4b5; }
.bundle-feature .button-dark { background:var(--amber); color:var(--ink); }
.bundle-feature .bundle-seal { display:none; }
.bundle-feature .hero-stage { min-height:470px; }
.stage-caption strong { font-size:26px; }
.stage-caption div>span { font-size:14px; color:#c2c4b5; }
.stage-controls { bottom:10px; font-size:12px; color:#c2c4b5; }
.motion-button { font-size:13px; min-height:44px; color:#d3d5c8; }
.stage-caption { bottom:84px; }
.render-credit { bottom:-23px; font-size:11px; color:#b5b9a7; }
.bundle-copy .eyebrow { font-size:11px; }
.bundle-copy p, .bundle-link { font-size:15px; }
.bundle-link { min-height:48px; gap:15px; }
.bundle-link>span:last-child { white-space:nowrap; }
.story-photo>img { filter:none; }
.social-buttons .button { font-size:15px; }
/* Catalog: search and filters are controls, not faint decoration. */
.page-intro { padding-top:42px; padding-bottom:32px; }
.page-intro h1 { font-size:clamp(42px,5vw,66px); margin:12px 0 20px; }
.page-intro>p { font-size:16px; max-width:650px; }
.page-shop .page-intro h1 br { display:none; }
.shop-section { padding-top:28px; }
.shop-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
.search-label { display:flex; align-items:center; gap:20px; font-size:15px; font-weight:500; }
.search-field { display:flex; gap:12px; align-items:center; background:#fffdf7; border:1px solid #a8ad9e; border-radius:5px; padding:0 14px; flex:1; max-width:520px; }
.search-label input { font-size:16px; width:100%; min-height:48px; outline-offset:3px; }
.filter-tabs { gap:8px; }
.filter-tabs button { font-size:14px; min-height:44px; border:1px solid var(--line); padding:10px 15px; }
.results-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:16px 0 24px; }
.result-count { margin:0; font-size:14px; }
.results-bar .underlined-link { font-size:14px; }
.sort-label { margin-left:auto; font-size:14px; display:flex; align-items:center; gap:10px; }
.sort-label select { background:var(--cream); padding:10px; min-height:44px; border:1px solid #a8ad9e; border-radius:4px; max-width:100%; }
.empty-state p { font-size:16px; }
/* Product: name first, finish price beside its choice, clear photo provenance. */
.breadcrumb { font-size:14px; padding-top:24px; padding-bottom:24px; flex-wrap:wrap; }
.breadcrumb a { text-decoration:underline; }
.product-visuals { position:static; }
.main-product-image { display:block; cursor:zoom-in; }
.enlarge-label { position:absolute; display:flex; align-items:center; gap:8px; bottom:12px; right:12px; padding:9px 12px; background:var(--cream); font-size:13px; border-radius:4px; box-shadow:0 2px 8px #0001; }
.gallery-thumbs>button { width:72px; height:72px; border-width:2px; }
.product-copy>.eyebrow { font-size:12px; }
.product-copy h1 { font-size:clamp(36px,4vw,54px); margin:15px 0; }
.product-character { font:italic 22px/1.4 var(--serif); color:#73613f; }
.product-description { font-size:16px; line-height:1.75; }
.price-row { flex-wrap:wrap; margin:24px 0 18px; gap:12px; }
.price-row strong { font-size:34px; }
.price-row>span { font-size:13px; }
.price-row a { text-decoration:underline; }
.size-options { flex-wrap:wrap; gap:10px; }
.size-options legend { font-size:16px; font-weight:600; padding-bottom:12px; }
.size-options label { flex-basis:135px; }
.size-options label>span { min-height:85px; padding:13px; }
.size-options strong { font-size:15px; display:flex; justify-content:space-between; gap:12px; }
.option-price { white-space:nowrap; font-weight:600; }
.size-options small { font-size:13px; }
.size-options input:disabled+span { opacity:.8; }
.purchase-note { font-size:14px; line-height:1.65; }
.product-points { font-size:16px; color:var(--muted); line-height:1.8; padding-left:20px; }
.product-points li { padding-bottom:8px; }
.selection-note { font-size:14px; background:#ece5d6; border-left:3px solid #9e753b; padding:14px; margin:16px 0 0; }
.selection-note:empty { display:none; }
.added-feedback { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding:14px; border:1px solid #798168; background:#edf0e4; font-size:15px; }
.product-contact { font-size:15px; margin-top:24px; }
.product-contact a { text-decoration:underline; }
summary, .faq-list summary { font-size:16px; min-height:54px; }
.detail-content, .faq-list details>p { font-size:16px; }
.unit-toggle { font-size:14px; min-height:44px; margin:-16px 0 20px; }
.bundle-contents h2 { font-size:17px; }
.bundle-contents>div, .bundle-contents>div>span:last-child { font-size:15px; }
.product-bundle-callout p { font-size:16px; }
/* Informational pages and footer. */
.prose p { font-size:17px; line-height:1.8; }
.process-grid p, .credits-list p { font-size:16px; }
.process-grid>div>span { font-size:12px; }
.help-layout>aside { font-size:16px; gap:8px; }
.help-layout>aside a { min-height:44px; padding-block:9px; border-bottom:1px solid var(--line); }
.contact-socials { font-size:16px; gap:16px 26px; }
.contact-socials a { min-height:44px; padding-block:10px; }
.copy-email { display:block; margin-top:12px; }
.footer-top h2 { font-size:44px; }
.footer-top .eyebrow { font-size:12px; }
.footer-links { font-size:15px; color:#c3c7b8; gap:30px; }
.footer-links p { font-size:16px; }
.footer-links a { min-height:40px; margin:0; padding:7px 0; }
.footer-wordmark { font-size:clamp(48px,12vw,180px); }
.footer-bottom { font-size:12px; color:#bec3b1; flex-wrap:wrap; }
/* Bag: comfortable tap targets and a straightforward primary checkout action. */
#bag-dialog { width:580px; }
.bag-header h2 { font-size:38px; }
.bag-header .eyebrow { font-size:12px; }
.bag-item h3 { font-size:22px; }
.bag-item p, .bag-item-price { font-size:15px; }
.quantity-stepper button { width:44px; height:44px; font-size:20px; }
.quantity-stepper>span { min-width:32px; font-size:16px; }
.remove-item { font-size:14px; min-height:44px; margin-top:8px; }
.bag-marketplace-link { font-size:13px; min-height:40px; }
.bag-totals { font-size:19px; }
.bag-help, .empty-bag p { font-size:16px; }
.bag-support { border-top:1px solid var(--line); margin-top:24px; }
.bag-support summary { font-size:15px; }
.continue-shopping { display:inline-flex; padding-block:13px; text-decoration:underline; min-height:44px; font-size:15px; }
.bag-undo { padding:12px; margin-top:16px; background:var(--paper); font-size:14px; }
.bag-undo button { min-height:44px; text-decoration:underline; font-weight:600; }
.bag-image-note { font-size:12px!important; margin-top:8px!important; line-height:1.5; }
.toast { font-size:15px; width:max-content; text-align:center; }
/* The photo dialog is separate from the edge-mounted shopping bag. */
#photo-dialog { margin:auto; width:min(960px,96vw); height:auto; max-height:94dvh; padding:20px; border-radius:8px; }
.photo-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.photo-dialog-header h2 { font-size:26px; }
#photo-large { max-height:72dvh; width:100%; object-fit:contain; background:var(--paper); }
#photo-caption { margin:15px 0 0; font-size:14px; }
.photo-is-open { overflow:hidden; }
/* Progressive enhancement: navigation still works without scripts. */
@media(max-width:1050px) {
 .site-header nav { gap:18px; }
 .site-header nav a { font-size:14px; }
 .home-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .owl-hero h1 { font-size:clamp(55px,7vw,80px); }
 .showcase-link>img { height:400px; }
 .footer-links { grid-template-columns:1.5fr 1fr 1fr; }
 .footer-links>p { grid-column:1/-1; margin:0; }
 .product-detail { gap:5%; }
}
@media(max-width:800px) {
 .site-header { height:auto; min-height:80px; flex-wrap:wrap; padding-block:15px; gap:12px; }
 .site-header .brand { margin-right:auto; }
 .site-header nav { position:static; display:flex; order:4; flex-direction:column; align-items:stretch; width:100%; gap:2px; padding:10px 0 0; border-top:1px solid #424538; }
 .site-header nav a { font-size:16px; padding:8px 0; }
 .site-header nav a[aria-current]:after { display:none; }
 .js .site-header nav:not(.open) { display:none; }
 .js .menu-toggle.icon-button { display:flex; margin:0; }
 .menu-toggle.icon-button { display:none; }
 .bag-word { display:inline; }
 .owl-hero { grid-template-columns:1fr 1fr; gap:2%; min-height:0; }
 .owl-hero h1 { font-size:clamp(44px,7vw,65px); }
 .owl-hero .eyebrow { font-size:11px; }
 .owl-hero .hero-description { font-size:16px; }
 .owl-hero .hero-actions { gap:14px; }
 .owl-hero .button { font-size:15px; padding:14px 18px; }
 .showcase-link>img { height:360px; }
 .owl-caption strong { font-size:23px; }
 .promise-strip { font-size:13px; display:grid; grid-template-columns:1fr 1fr; }
 .section-heading p, .bundle-intro>p, .story-teaser-copy p, .social-band p { font-size:16px; }
 .bundle-feature { grid-template-columns:1fr; gap:15px; padding:34px 26px 50px; }
 .bundle-feature .hero-stage { min-height:460px; }
 .stage-caption { bottom:75px; }
 .render-credit { bottom:-15px; }
 .stage-controls { bottom:2px; }
 .product-detail { grid-template-columns:1fr; gap:32px; }
 .product-visuals { max-width:620px; width:100%; margin:auto; }
 .main-product-image { aspect-ratio:1.1; }
 .product-copy>.eyebrow { font-size:12px; }
 .product-copy h1 { font-size:38px; }
 .product-description { max-width:none; }
 .gallery-thumbs>button { width:64px; height:64px; }
 .bundle-grid { grid-template-columns:1fr; max-width:560px; margin:auto; }
 .bundle-copy p { min-height:0; }
 .bundle-art { height:320px; }
 .help-layout { grid-template-columns:1fr; }
 .help-layout>aside { position:static; grid-template-columns:repeat(2,1fr); gap:8px 22px; }
 .story-layout { grid-template-columns:1fr; }
 .social-band .social-buttons .button { font-size:15px; padding:13px 18px; }
 .footer-links { gap:25px; }
 .size-options small { font-size:13px; }
}
@media(max-width:540px) {
 .announcement { font-size:12px; justify-content:center; }
 .announcement-right { display:none; }
 .brand img { width:32px; height:32px; }
 .brand>span { font-size:22px; }
 .brand-forge { font-size:8px; }
 .site-header { gap:8px; }
 .bag-toggle { gap:6px; }
 .menu-toggle { padding-inline:6px; }
 .owl-hero { display:flex; flex-direction:column; padding-block:30px; gap:25px; }
 .owl-hero h1 { font-size:clamp(43px,11.8vw,64px); margin:20px 0; }
 .owl-hero h1 em { display:inline; }
 .owl-hero h1 br { display:block!important; }
 .owl-hero .hero-description { margin-bottom:20px; }
 .owl-hero .hero-footnote { margin-top:20px; font-size:13px; }
 .showcase-link>img { height:320px; }
 .owl-caption { padding-top:16px; }
 .promise-strip { gap:20px 12px; font-size:12px; }
 .collection-shortcuts { grid-template-columns:1fr; gap:0; padding-block:14px; }
 .collection-shortcuts a { padding-block:14px; }
 .collection-shortcuts a+a { border-top:1px solid var(--line); }
 .section { padding-top:40px; padding-bottom:40px; }
 .collection-shortcuts { padding-top:14px; padding-bottom:14px; }
 .section-heading h2 { font-size:38px; }
 .product-grid, .home-products { grid-template-columns:1fr; gap:32px; }
 .product-image { aspect-ratio:1.18; }
 .product-tag { font-size:12px; padding:6px 10px; }
 .product-card-info h3 { font-size:25px; }
 .product-card-info a>span { font-size:14px; }
 .product-card-info strong { font-size:17px; }
 .product-card-info small { font-size:14px; }
 .card-explore { display:flex; transform:none; font-size:13px; padding:8px 12px; background:#25271fdf; }
 .product-image>img { padding-bottom:26px!important; }
 .bundle-feature { margin-inline:var(--gutter); }
 .bundle-feature .hero-stage { min-height:370px; height:370px; margin-top:0; }
 .stage-caption strong { font-size:22px; }
 .stage-caption div>span { font-size:13px; }
 .stage-caption { left:0; right:0; }
 .edition-number { display:none; }
 .stage-controls, .render-credit { left:0; right:0; }
 .render-credit { font-size:10px; }
 .page-intro h1 { font-size:44px; }
 .search-label { display:block; }
 .search-field { margin-top:8px; }
 .filter-tabs button { font-size:14px; flex-grow:1; }
 .sort-label { width:100%; margin:4px 0 0; }
 .sort-label select { flex:1; }
 .product-detail { padding-top:0; }
 .product-copy h1 { font-size:36px; }
 .price-row { gap:10px; }
 .size-options label { flex-basis:100%; }
 .size-options label>span { min-height:74px; }
 .product-bundle-callout { display:block; }
 .product-bundle-callout h2 { font-size:36px; }
 .bundle-contents>div { flex-wrap:wrap; gap:5px 15px; }
 .process-grid, .credits-list { grid-template-columns:1fr; }
 .footer-top { align-items:flex-start; gap:25px; flex-direction:column; }
 .footer-top h2 { font-size:36px; }
 .footer-links { grid-template-columns:1fr 1fr; gap:28px 18px; }
 .footer-links>div:last-child { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:0 24px; }
 .footer-wordmark { font-size:12vw; }
 .footer-bottom { flex-direction:column; gap:10px; }
 #bag-dialog { padding:20px; }
 .bag-item { grid-template-columns:60px minmax(0,1fr); gap:12px; }
 .bag-item>img { width:60px; height:75px; }
 .bag-item-price { grid-column:2; display:flex; justify-content:space-between; align-items:center; text-align:left; }
 .bag-item-price .remove-item { margin:0; }
 .bag-item h3 { font-size:22px; }
 .bag-item p { font-size:14px; }
 .bag-header h2 { font-size:34px; }
 .bag-totals { font-size:18px; }
 .bag-footer .fine-print, .full-bag .fine-print { font-size:13px; }
 .toast { bottom:12px; padding:14px 18px; }
 .checkout-notice { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .showcase-link:hover>img { transform:none; } }
.bag-support summary:after { content:'+'; font-size:22px; font-weight:400; }
.bag-support[open] summary:after { content:'−'; }
.search-label { border:0; padding:0; }
.page-shop .page-intro .eyebrow { display:none; }
@media(max-width:540px) {
 .page-shop .page-intro { padding-block:24px 18px; }
 .page-shop .page-intro h1 { font-size:38px; margin:0 0 14px; }
 .page-shop .page-intro>p { margin:0; }
 .shop-section { padding-top:22px; }
}
html:not(.js) .shop-toolbar, html:not(.js) .results-bar, html:not(.js) .gallery-thumbs { display:none; }
.was-price { color:#626658; }
.credits-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.credits-list article { min-width:0; overflow-wrap:anywhere; }
@media(max-width:540px) { .credits-list { grid-template-columns:minmax(0,1fr); } }
@media(max-width:360px) {
 .site-header { gap:4px; }
 .brand img { width:28px; height:28px; }
 .brand>span { font-size:20px; }
}

/* The homepage photo gallery keeps one fixed-size stage and separate browsing controls. */
.owl-showcase { display:grid; grid-template-columns:minmax(0,1fr); width:100%; align-self:center; }
.showcase-slides { grid-row:1; min-width:0; width:100%; position:relative; }
.showcase-link { display:block; }
.showcase-link>img { animation:showcase-arrive .6s ease-out; }
.showcase-link .owl-caption { min-height:150px; padding-bottom:10px; }
.showcase-link .owl-caption small { text-transform:uppercase; }
.owl-caption .showcase-photo-note { font-size:12px; color:#b4b7a8; margin:7px 0; }
.owl-caption .showcase-view { display:inline-flex; align-items:center; gap:12px; font-size:14px; min-height:32px; border-bottom:1px solid #a5a894; }
.showcase-link:hover .showcase-view { color:var(--amber); }
.showcase-view .icon { width:16px; height:16px; }
.showcase-controls { grid-row:2; position:relative; display:flex; align-items:center; gap:18px; width:100%; padding-top:12px; border-top:1px solid #34372e; }
.showcase-play { border:1px solid #5a5d50; border-radius:24px; min-width:78px; min-height:44px; padding:8px 17px; font-size:14px; }
.showcase-play:hover { border-color:var(--amber); color:var(--amber); }
.showcase-count { color:#bec2b1; font-size:13px; font-variant-numeric:tabular-nums; letter-spacing:.1em; white-space:nowrap; flex-shrink:0; }
.showcase-arrows { display:flex; gap:10px; margin-left:auto; }
.showcase-prev .icon { transform:rotate(180deg); }
.showcase-next { border-color:var(--amber); color:var(--amber); }
.showcase-arrows button:hover { background:var(--amber); border-color:var(--amber); color:var(--ink); }
@keyframes showcase-arrive { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:800px) { .showcase-link .owl-caption { min-height:166px; } }
@media(max-width:540px) { .showcase-link .owl-caption { min-height:150px; } }
@media(max-width:360px) { .showcase-controls { gap:8px; } .showcase-arrows { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .showcase-link>img { animation:none; transition:none; } .showcase-link:hover>img { transform:none; } }
