/* Campaign and merchandising structure, informed by the captured Shopify demos. */
/* Brief responses to user actions, with no delayed access to content. */
@media(prefers-reduced-motion:no-preference){
 dialog[open]{animation:dialog-enter 180ms cubic-bezier(.2,.7,.3,1)}
 dialog[open]::backdrop{animation:backdrop-enter 180ms ease-out}
 .gallery-thumbs button,.product-palettes button{transition:border-color 140ms ease,background-color 140ms ease}
 @keyframes dialog-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
 @keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
}
:root{--ink:#252824;--muted:#646760;--action:#394b3c;--line:#dedfd8;--soft:#f5f4f0;--workspace:#efefeb}
body{font-size:16px;line-height:1.6}h1,h2,h3{font-family:'Source Sans','Noto Sans JP',sans-serif;letter-spacing:-.035em;font-weight:400}h1{font-size:42px}h2{font-size:36px}h3{font-size:22px}.button,button{border-radius:2px;font-weight:400;min-height:48px}.button{padding:14px 28px}.secondary{border-color:#8b9186}.announcement{background:#394b3c;color:white;text-align:center;font-size:13px;padding:7px 18px;letter-spacing:.02em}header{display:grid;grid-template-columns:1fr auto 1fr;max-width:none;padding:20px 3.5%;gap:24px;min-height:88px;background:white}.brand{font-family:'Source Sans',sans-serif;font-size:32px;font-weight:600;letter-spacing:-1.4px;line-height:1}.brand-dot{color:#72816a}header nav{gap:24px;font-size:14px;flex-wrap:nowrap}header .nav-right{justify-content:flex-end}header .button{padding:10px 18px;min-height:42px;font-size:14px}main{padding:52px 4% 80px}main.store-shell{max-width:none;padding:0}.store-shell #global-status:not(:empty){margin:20px 4%}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block;font-size:15px;min-height:36px}.section-kicker{font-size:14px;letter-spacing:.015em;margin:0 0 16px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}.section-heading h2{margin:0;line-height:1.15;font-size:40px;max-width:24ch}.shop-section,.how-section{padding:88px 7%;max-width:1600px;margin:auto}.campaign.hero{display:block;position:relative;min-height:670px;height:min(740px,calc(100svh - 120px));isolation:isolate;background:#434635;color:white;overflow:hidden}.campaign-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;z-index:-1}.campaign .campaign-copy{position:absolute;left:7%;top:50%;transform:translateY(-46%);width:39%;max-width:540px}.campaign .campaign-kicker{font-size:15px;letter-spacing:.025em;margin-bottom:24px}.campaign.hero h1{font:400 clamp(44px,4.6vw,68px)/1.04 'Source Sans',sans-serif;letter-spacing:-.045em;margin-bottom:24px;max-width:none;color:white}.campaign-copy>p{max-width:29ch;font-size:19px;line-height:1.5}.campaign .actions{flex-direction:row;align-items:center;gap:24px;margin:28px 0 20px}.campaign .button{background:white;color:#252824;border-color:white;min-height:52px;font-weight:600}.campaign .button:hover{background:#e9ede4}.campaign .actions>a:not(.button){color:white;font-size:15px;align-self:auto}.campaign .campaign-price{font-size:14px;max-width:37ch;color:#fff}.concept-label{position:absolute;right:24px;bottom:16px;font-size:13px;background:#25282499;padding:3px 9px;color:white}.product-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:21px 5%;background:#f0f0e9;border-bottom:1px solid var(--line);text-align:center;font-size:14px}.product-facts span+span{border-left:1px solid #c8ccbe}.merch-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.merch-item{min-width:0}.merch-image{display:block;overflow:hidden;background:#e8e6df}.merch-image img{display:block;width:100%;height:540px;object-fit:cover;transition:transform .4s ease}.merch-image:hover img{transform:scale(1.025)}.merch-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:20px}.merch-meta h3{font-size:24px;margin:0}.merch-meta a{text-decoration:none}.merch-meta p{margin:0;font-size:17px}.merch-note{color:var(--muted);font-size:15px;margin:8px 0 16px}.merch-disclosure{font-size:14px;color:var(--muted);margin:28px 0 0;max-width:none}.how-section{background:#f5f4f0;max-width:none;padding-left:7%;padding-right:7%}.how-section .steps{margin:40px 0 0}.steps li{padding:0}.steps li:before{background:none;border:1px solid #b9bdae;font:16px 'Source Sans',sans-serif;width:36px;height:36px;margin-bottom:20px}.steps h3{font-size:23px;line-height:1.25;max-width:20ch;margin-bottom:12px}.steps p{font-size:16px;color:var(--muted);max-width:36ch}.editorial-section{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%;padding:88px 7%;max-width:1600px;margin:auto}.editorial-section figure{margin:0}.editorial-section img{display:block;width:100%;height:550px;object-fit:cover}.editorial-section h2,.material-section h2{font-size:48px;line-height:1.12;margin:0 0 24px;max-width:12ch}.editorial-section div>p:not(.section-kicker),.material-section div>p:not(.section-kicker){font-size:18px;color:var(--muted);max-width:37ch}.editorial-section figcaption{font-size:14px;text-align:left}.material-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#ecece5;min-height:600px}.material-section>div{padding:60px 14%}.material-section>img{width:100%;height:660px;object-fit:cover;object-position:center 73%}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq-section h2{font-size:40px;margin:0 0 24px}.faq-section details:first-child{border-top:1px solid var(--line)}.faq-section summary{font-weight:400}.closing-section{text-align:center;background:#394b3c;color:white;padding:76px 20px}.closing-section h2{font-size:44px;margin:0 0 32px;line-height:1.12}.closing-section .button{background:white;color:#252824;border-color:white}.breadcrumb{font-size:13px;color:var(--muted);padding:25px 4% 0;margin:0}.breadcrumb a{text-decoration:none}.product-detail.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:6%;padding:28px 4% 64px;max-width:1600px;margin:auto;align-items:start}.product-gallery{min-width:0}.gallery-display{position:relative;background:#e9e6df;min-height:520px}.gallery-display>img{display:block;width:100%;height:650px;object-fit:cover}.gallery-display #gallery-live{min-height:650px;padding:24px}.gallery-display .showcase{padding:0;background:transparent}.gallery-display .stage{background:transparent;min-height:0;padding:16px}.gallery-display .paper{max-width:340px}.gallery-zoom{position:absolute;bottom:18px;right:18px;min-width:44px;min-height:44px;border:0;background:white;color:var(--ink);font-size:24px;padding:0}.gallery-thumbs{display:flex;gap:12px;margin-top:14px}.gallery-thumbs button{width:78px;height:90px;min-height:44px;background:#f3f1ec;padding:0;border:1px solid transparent;overflow:hidden}.gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}.gallery-thumbs [aria-pressed=true]{outline:1px solid var(--ink);outline-offset:3px}.gallery-caption{font-size:14px;color:var(--muted);margin:18px 0 0}.product-info{padding-top:10px;min-width:0}.product-info .section-kicker{font-size:14px;margin-bottom:12px}.product-info h1{font-size:44px;line-height:1.1;margin:0 0 18px;max-width:none}.product-info .price{font-size:25px;font-weight:400;margin:0 0 3px}.tax-note{font-size:14px;color:var(--muted);margin:0 0 22px}.product-lead{font-size:17px;color:var(--muted);margin:0 0 26px;max-width:42ch}.product-info fieldset{margin:22px 0}.product-info legend{font-weight:400;font-size:15px;margin-bottom:12px}.finish-picker .choice{border-color:#9ca293;border-radius:2px;padding:12px;font-size:15px;background:white}.finish-picker .choice span{display:flex;flex-direction:column}.finish-picker small{font-size:14px;color:var(--muted)}.product-palettes .palette-grid{gap:8px}.product-palettes .palette-sample{font-size:13px;gap:8px;padding:5px}.product-palettes .palette-art{height:40px;box-shadow:none;padding:6px}.size-line{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;border-block:1px solid var(--line);padding:14px 0;margin:20px 0}.size-line strong{font-weight:400}.size-line span{margin-left:auto;color:var(--muted)}.product-info>.button{width:100%;min-height:54px;font-size:16px}.purchase-note{text-align:center;font-size:14px;color:var(--muted);margin:10px 0 22px}.product-info details{padding:8px 0}.product-info summary{font-weight:400;font-size:16px}.product-info details p{font-size:15px;color:var(--muted)}.zoom-product{display:block;width:100%;max-height:72vh;object-fit:contain}.footer-brand{font-size:70px;line-height:1;letter-spacing:-4px;font-weight:600;margin-top:60px}footer{max-width:none;padding:56px 7% 28px;background:#f5f4f0;border:0}.poc{background:none;color:var(--muted);font-size:13px;text-align:left;padding:20px 0 0;border-top:1px solid var(--line);margin-top:28px}.poc a{margin-left:12px}.editor-header{display:flex;justify-content:space-between}.editor-header .brand{font-family:'Source Sans',sans-serif}body:has(.editor-shell) header .brand{font-size:26px}.controls .settings-title{font-weight:600}.editor-title{font-family:'Source Sans',sans-serif!important}.service-content h1,.order-panel h1{font-family:'Source Sans',sans-serif;font-weight:400;letter-spacing:-.035em}.service-nav>p{font-family:'Source Sans',sans-serif}.prose h2{font-size:26px}.prose h3{font-size:22px}
@media(max-width:1100px){header{gap:16px;padding:17px 3%}header nav{gap:16px}.campaign .campaign-copy{left:5%;width:43%}.campaign.hero h1{font-size:50px}.merch-image img{height:440px}.product-detail.hero{gap:4%}.product-info h1{font-size:36px}.gallery-display>img{height:590px}.gallery-display #gallery-live{min-height:590px}.editorial-section{gap:7%}.editorial-section img{height:460px}.editorial-section h2,.material-section h2{font-size:40px}}
@media(max-width:899px){header{grid-template-columns:1fr auto;gap:10px;min-height:72px}.brand{grid-column:1;grid-row:1;font-size:28px}.nav-left{grid-row:2;grid-column:1/-1}.nav-right{grid-column:2;grid-row:1}.nav-right>a:not(.button){display:none}.campaign.hero{min-height:600px;height:650px}.campaign-photo{object-position:58% center}.campaign .campaign-copy{left:5%;width:43%;top:48%}.campaign.hero h1{font-size:42px}.campaign-copy>p{font-size:17px}.campaign .actions{gap:16px}.section-heading h2{font-size:34px}.shop-section,.how-section{padding:60px 5%}.merch-image img{height:360px}.merch-meta{display:block}.merch-meta p{margin-top:6px}.editorial-section{padding:60px 5%;gap:6%}.editorial-section h2,.material-section h2{font-size:34px}.editorial-section img{height:400px}.material-section>img{height:500px}.product-detail.hero{grid-template-columns:1fr 1fr;gap:24px}.gallery-display{min-height:0}.gallery-display>img{height:440px}.gallery-display #gallery-live{min-height:440px;padding:12px}.product-info h1{font-size:32px}.product-palettes .palette-grid{grid-template-columns:1fr 1fr}.faq-section{gap:6%}}
@media(max-width:599px){.announcement{font-size:12px;padding:5px 12px}header{padding:14px 18px 8px;gap:4px 12px}.brand{font-size:27px}header nav{width:auto;justify-content:flex-start;font-size:14px;gap:24px}header .nav-right{width:auto}.nav-left a{min-height:40px}header .button{padding:8px 14px;min-height:40px}body[data-page=index] .campaign.hero{gap:0;height:auto;min-height:0;padding:0;background:#434635;display:flex;flex-direction:column}.campaign-photo{position:relative;z-index:0;width:100%;height:340px;object-fit:cover;object-position:76% center}.campaign .campaign-copy{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;padding:26px 24px 28px;background:#434635}.campaign .campaign-kicker{font-size:13px;margin:0 0 12px}body[data-page=index] .campaign.hero h1{font-size:42px;line-height:1.04;margin:0 0 14px}.campaign-copy>p{font-size:16px;max-width:32ch;margin:0 0 16px}.campaign .actions{margin:20px 0 14px;flex-direction:row;gap:20px}.campaign .button{padding:13px 18px;min-height:48px;font-size:15px}.campaign .actions>a:not(.button){font-size:14px}.campaign .campaign-price{font-size:13px;margin:0;max-width:36ch}.concept-label{top:310px;bottom:auto;font-size:12px;right:12px}.product-facts{grid-template-columns:1fr;gap:7px;padding:16px;font-size:13px}.product-facts span+span{border:0}.shop-section,.how-section{padding:46px 20px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:31px;max-width:20ch}.section-heading .text-link,.section-heading .button{margin-top:20px}.section-kicker{font-size:13px;margin-bottom:12px}.merch-grid{gap:18px}.merch-image img{height:245px;object-fit:cover}.merch-meta{margin-top:14px}.merch-meta h3{font-size:20px;line-height:1.2}.merch-meta p{font-size:16px;margin-top:8px}.merch-note{font-size:14px;line-height:1.5}.merch-item .text-link{font-size:14px}.merch-disclosure{font-size:13px;margin-top:24px}.how-section .steps{margin:28px 0 0;gap:28px}.steps li{border:0;padding:0;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:16px;align-content:start}.steps li:before{grid-column:1;grid-row:1 / 3;margin:0}.steps h3{grid-column:2;font-size:21px;max-width:none;margin:0 0 12px}.steps p{grid-column:2;font-size:15px;margin:0;max-width:none}.editorial-section{display:flex;flex-direction:column;align-items:stretch;padding:0 0 40px;gap:0}.editorial-section img{height:390px}.editorial-section figcaption{padding:6px 20px;margin:0;font-size:12px}.editorial-section>div{padding:28px 24px 0}.editorial-section h2,.material-section h2{font-size:36px;max-width:14ch}.editorial-section div>p:not(.section-kicker),.material-section div>p:not(.section-kicker){font-size:16px}.material-section{display:flex;flex-direction:column-reverse;min-height:0}.material-section>img{height:380px;object-position:center 75%}.material-section>div{padding:36px 24px 44px}.faq-section{display:block}.faq-section>div:first-child{margin-bottom:28px}.faq-section h2{font-size:32px}.closing-section{padding:48px 24px}.closing-section h2{font-size:34px}.breadcrumb{padding:16px 18px 0;font-size:12px}.product-detail.hero{display:flex;flex-direction:column;padding:18px 18px 40px;gap:26px}.product-gallery{width:100%}.gallery-display>img{height:410px;object-fit:cover}.gallery-display #gallery-live{min-height:410px}.gallery-display .paper{max-width:230px}.gallery-thumbs{gap:10px;margin-top:12px}.gallery-thumbs button{width:58px;height:68px}.gallery-caption{font-size:12px;margin:14px 0 0}.product-info{width:100%;padding-top:0}.product-info h1{font-size:34px;margin-bottom:14px}.product-info .price{font-size:24px}.product-lead{font-size:16px}.product-palettes .palette-grid{grid-template-columns:repeat(4,1fr)}.product-palettes .palette-sample{font-size:12px}.finish-picker .choice{font-size:14px}.size-line{font-size:13px;gap:12px}.size-line span{margin-left:0}.tax-note,.purchase-note{font-size:13px}.footer-brand{font-size:56px;letter-spacing:-3px;margin-top:40px}footer{padding:36px 20px 24px}.poc{font-size:12px}body:has(.editor-shell) header{display:flex;padding:10px 16px}body:has(.editor-shell) header .brand{font-size:23px}body:has(.editor-shell) header nav{font-size:13px}.service-content h1{font-size:34px}.order-panel h1{font-size:30px}}
@media(max-width:359px){.campaign.hero h1{font-size:37px}.campaign .campaign-copy{padding:24px 20px}.campaign .actions{gap:14px;flex-wrap:wrap}.campaign-photo{height:300px}.concept-label{top:270px}.merch-grid{gap:12px}.merch-image img{height:205px}.merch-meta h3{font-size:18px}.product-palettes .palette-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.merch-image img{transition:none}}
@media print{.announcement,.gallery-thumbs,.gallery-zoom{display:none!important}}

.product-dock{display:none}body[data-page=product]{padding-bottom:0}@media(max-width:599px){.product-dock{display:flex;justify-content:space-between;padding:12px 18px}.product-dock .price{font-size:18px}.product-dock .button{padding:12px 22px}body[data-page=product]{padding-bottom:80px}}
/* Finish radios do not open a keyboard; keep the product action available. */
@media(max-width:599px){body[data-page=product]:has(input[type=radio]:focus) .product-dock{display:flex}}

/* A route thumbnail keeps the same print proportions at every breakpoint. */
.preview-column .mini .product-preview{width:88px;flex:0 0 88px}
.preview-column .mini .stage{padding:6px}
.preview-column .mini .paper,.preview-column .mini .paper.landscape{width:100%;height:auto;max-width:100%}
.preview-column .mini .paper.framed{border-width:4px}
.preview-column .mini .paper .poster{width:100%;height:auto;max-width:100%}
.price,.totals{font-variant-numeric:tabular-nums}
.campaign :focus-visible,.closing-section :focus-visible{outline-color:white;box-shadow:0 0 0 2px var(--ink)}

#recover-form>button{margin-top:20px}

/* Keep recovery actions separate and preserve words in information tables. */
#review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
@media(max-width:899px){body[data-page=route] #search-results{order:0}}
@media(min-width:600px){
 body[data-page=business-information] td:first-child,
 body[data-page=business-information] th:first-child{width:28%;overflow-wrap:normal}
}
@media(min-width:900px){
 #search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 #search-form label{grid-column:1/-1;margin:0}
}

/* Native disclosure behavior, with a consistent product and help treatment. */
:is(.faq-section,.product-info,.service-content) details>summary{
 display:flex;align-items:center;justify-content:space-between;gap:24px;
 list-style:none;min-height:48px;font-weight:400;line-height:1.5;
}
:is(.faq-section,.product-info,.service-content) details>summary::-webkit-details-marker{display:none}
:is(.faq-section,.product-info,.service-content) details>summary::after{
 content:'';flex:0 0 16px;width:16px;height:16px;
 background:linear-gradient(currentColor,currentColor) center/12px 1px no-repeat,
 linear-gradient(currentColor,currentColor) center/1px 12px no-repeat;
}
:is(.faq-section,.product-info,.service-content) details[open]>summary::after{
 background-size:12px 1px,1px 0;
}
:is(.faq-section,.product-info,.service-content) details[open]>summary{color:var(--action)}
:is(.faq-section,.product-info,.service-content) details>p{max-width:62ch;line-height:1.7}
@media(prefers-reduced-motion:reduce){.loading:before{animation:none}}
