:root{--ink:var(--color-ink);--muted:var(--color-muted);--paper:var(--color-paper);--white:#fff;--line:var(--color-line);--olive:#777b68;--serif:var(--font-serif-display);--sans:var(--font-sans-cn)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--text-body);line-height:var(--leading-body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topline{height:3px;background:#252820}.site-header{height:82px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.09);background:rgba(246,245,241,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:13px;min-width:230px}.brand-mark{width:35px;height:35px;border:1px solid #45483f;display:grid;place-items:center;font-family:var(--serif);font-size:var(--text-lead);letter-spacing:-3px}.brand-cn{font-family:var(--serif);font-size:var(--text-heading-small);letter-spacing:3px;line-height:1.25}.brand-en{font-size:var(--text-caption);letter-spacing:2.1px;color:var(--color-muted);margin-top:3px}.nav{display:flex;gap:29px;align-items:center}.nav a,.nav .nav-action{font-size:var(--text-caption);color:var(--color-text-secondary);letter-spacing:.5px;position:relative}.nav .nav-action{border:0;background:none;padding:0}.nav a:after,.nav .nav-action:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:#24271f;transition:.25s}.nav a:hover:after,.nav a.active:after,.nav .nav-action:hover:after{width:100%}.header-actions{display:flex;gap:18px;align-items:center}.text-button{border:0;background:none;font-size:var(--text-caption);letter-spacing:1px;color:var(--color-text-body)}.bag{border:1px solid #bfc0b7;padding:8px 13px;font-size:var(--text-caption);letter-spacing:1px;background:transparent}.bag span{display:inline-grid;place-items:center;margin-left:8px;background:#252820;color:var(--color-text-inverse);border-radius:50%;width:18px;height:18px;font-size:var(--text-caption)}
.hero{min-height:660px;display:grid;grid-template-columns:41% 59%;padding:0 5.2%;align-items:stretch}.hero-copy{padding:110px 7% 80px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:var(--text-caption);letter-spacing:3px;text-transform:uppercase;color:var(--color-muted)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.375rem,4.3vw,4.125rem);line-height:1.35;letter-spacing:3px;margin:28px 0 19px}.hero h1 em{font-style:normal;color:var(--color-text-tertiary)}.hero-desc{max-width:340px;color:var(--color-muted);font-family:var(--font-reading);font-size:var(--text-body);line-height:2.2}.hero-meta{margin-top:54px;display:flex;align-items:center;gap:22px}.primary-link{font-size:var(--text-caption);letter-spacing:1.7px;border-bottom:1px solid #252820;padding-bottom:8px}.round-arrow{width:34px;height:34px;border:1px solid #c7c8bf;border-radius:50%;display:grid;place-items:center;font-size:var(--text-body)}.hero-image{position:relative;min-height:570px;margin:28px 0 28px 0;overflow:hidden;background:#c7c8bf}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.78)}.image-caption{position:absolute;bottom:19px;left:22px;color:var(--color-text-inverse);font-size:var(--text-caption);letter-spacing:1.8px;text-shadow:0 1px 8px var(--color-text-shadow)}.hero-index{position:absolute;right:22px;top:20px;color:var(--color-text-inverse);font-size:var(--text-caption);letter-spacing:2px}
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 5.2%;display:flex;justify-content:space-between;color:var(--color-muted);font-size:var(--text-caption);letter-spacing:2px;text-transform:uppercase}.section{padding:105px 8.2%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-kicker{font-size:var(--text-caption);letter-spacing:2.5px;color:var(--color-muted)}.section h2{font-family:var(--serif);font-size:var(--text-title);font-weight:400;letter-spacing:2px;margin:12px 0 0}.section-intro{max-width:330px;color:var(--color-muted);font-family:var(--font-reading);font-size:var(--text-caption);line-height:2}
.feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.feature-card{position:relative;overflow:hidden;background:#ddd}.feature-card img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;transition:transform .8s}.feature-card:hover img{transform:scale(1.035)}.feature-card.tall img{min-height:540px}.feature-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%);display:flex;flex-direction:column;justify-content:end;padding:27px;color:var(--color-text-inverse)}.feature-card .overlay small{font-size:var(--text-caption);letter-spacing:2px;opacity:.8}.feature-card .overlay strong{font-family:var(--serif);font-size:var(--text-heading-medium);font-weight:400;letter-spacing:2px;margin-top:5px}.feature-stack{display:grid;grid-template-rows:1fr 1fr;gap:22px}.feature-card.small img{min-height:258px}
.collection-strip{background:#eae9e3;padding:86px 8.2%}.collection-strip .section-head{margin-bottom:30px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:27px}.filter{border:1px solid #c9c9c0;padding:7px 15px;background:transparent;color:var(--color-text-secondary);font-size:var(--text-caption);letter-spacing:.7px}.filter.active,.filter:hover{background:#262920;color:var(--color-text-inverse);border-color:#262920}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:31px 22px}.art-card{min-width:0}.art-thumb{aspect-ratio:4/5;overflow:hidden;background:#d5d5ce;position:relative;cursor:pointer}.art-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.art-card:hover .art-thumb img{transform:scale(1.035)}.art-tag{position:absolute;left:13px;top:13px;background:rgba(246,245,241,.92);padding:5px 8px;font-size:var(--text-caption);letter-spacing:1px}.art-info{display:flex;justify-content:space-between;gap:10px;padding-top:13px}.art-title{font-family:var(--serif);font-size:var(--text-body);letter-spacing:1px}.art-sub{color:var(--color-muted);font-size:var(--text-caption);letter-spacing:1px;margin-top:3px}.art-price{font-size:var(--text-caption);color:var(--color-text-secondary);white-space:nowrap}.view-all{display:flex;justify-content:center;margin-top:44px}.outline-link{border:1px solid #aaa99f;padding:12px 24px;font-size:var(--text-caption);letter-spacing:2px;transition:.2s}.outline-link:hover{background:#262920;color:var(--color-text-inverse);border-color:#262920}
.statement{padding:125px 15%;text-align:center;background:var(--paper);color:var(--ink)}.statement .section-kicker{color:var(--ink)}.statement h2{font-family:var(--serif);font-size:clamp(1.5625rem,3vw,2.625rem);line-height:1.9;font-weight:400;letter-spacing:3px;margin:24px auto;max-width:850px}.statement p{color:var(--ink);font-family:var(--font-reading);font-size:var(--text-caption);line-height:var(--leading-reading);max-width:600px;margin:0 auto}
.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:37px 25px 42px;border-right:1px solid var(--line);min-height:210px}.service:last-child{border:0}.service-no{font-size:var(--text-caption);color:var(--color-muted);letter-spacing:2px}.service h3{font-family:var(--serif);font-size:var(--text-lead);font-weight:400;letter-spacing:1px;margin:21px 0 9px}.service p{font-size:var(--text-caption);color:var(--color-muted);line-height:1.9;margin:0}.service a{display:inline-block;font-size:var(--text-caption);letter-spacing:1px;border-bottom:1px solid #9a9b91;padding-bottom:4px;margin-top:17px}
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.editorial-image{height:520px;overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy h2{font-family:var(--serif);font-size:var(--text-title-large);line-height:1.6;font-weight:400;letter-spacing:2px;margin:17px 0}.editorial-copy p{font-family:var(--font-reading);color:var(--color-muted);font-size:var(--text-caption);line-height:var(--leading-reading);max-width:440px}.editorial-copy .primary-link{display:inline-block;margin-top:24px}
.quote-band{padding:70px 8%;background:#e9e8e1;display:flex;justify-content:space-between;align-items:center;gap:30px}.quote-band blockquote{font-family:var(--serif);font-size:var(--text-heading-medium);line-height:1.8;letter-spacing:2px;margin:0;max-width:650px}.quote-band small{font-size:var(--text-caption);letter-spacing:2px;color:var(--color-muted)}
.footer{background:#20231d;color:var(--color-text-inverse);padding:65px 8.2% 28px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px}.footer .brand-cn{font-size:var(--text-heading-small)}.footer .brand-en{color:var(--color-text-inverse-muted)}.footer-intro{max-width:270px;color:var(--color-text-inverse-muted);font-family:var(--serif);font-size:var(--text-caption);line-height:2.1;margin-top:20px}.footer h4{font-size:var(--text-caption);letter-spacing:2px;color:var(--color-text-inverse-muted);font-weight:500;margin:5px 0 18px}.footer-col a,.footer-col p{display:block;font-size:var(--text-caption);color:var(--color-text-inverse);margin:9px 0}.footer-col p{color:var(--color-text-inverse-muted);line-height:1.9}.footer-bottom{border-top:1px solid #44473e;padding-top:19px;display:flex;justify-content:space-between;color:var(--color-text-inverse-muted);font-size:var(--text-caption);letter-spacing:1px}
.page{display:none;min-height:70vh}.page.active{display:block}.page-hero{padding:90px 8.2% 60px;background:#eae9e3}.page-hero h1{font-family:var(--serif);font-weight:400;font-size:var(--text-display-medium);letter-spacing:3px;margin:16px 0}.page-hero p{font-family:var(--font-reading);color:var(--color-muted);max-width:580px;line-height:var(--leading-reading);font-size:var(--text-ui)}.page-content{padding:65px 8.2% 110px}
.product-modal,.cart-drawer{position:fixed;inset:0;z-index:50;display:none}.product-modal.open{display:grid;place-items:center;background:rgba(20,22,18,.68);padding:20px}.modal-box{background:var(--paper);max-width:900px;width:100%;display:grid;grid-template-columns:1fr 1fr;position:relative;max-height:90vh;overflow:auto}.modal-box img{width:100%;height:100%;min-height:500px;object-fit:cover}.modal-copy{padding:60px 42px}.close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:var(--text-heading);color:var(--color-text-secondary)}.modal-copy h2{font-family:var(--serif);font-weight:400;font-size:var(--text-heading);letter-spacing:2px}.modal-copy p{color:var(--color-muted);font-family:var(--font-reading);line-height:var(--leading-reading);font-size:var(--text-caption)}.modal-price{font-size:var(--text-body);margin:24px 0}.dark-button{background:#252820;color:var(--color-text-inverse);border:1px solid #252820;padding:13px 22px;font-size:var(--text-caption);letter-spacing:1.5px}.cart-drawer.open{display:block;background:rgba(20,22,18,.45)}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(430px,100%);background:var(--paper);padding:35px;overflow:auto}.cart-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.cart-head h3{font-family:var(--serif);font-size:var(--text-heading-medium);font-weight:400}.cart-item{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.cart-total{display:flex;justify-content:space-between;margin:25px 0;font-size:var(--text-ui)}.empty{color:var(--color-text-tertiary);text-align:center;padding:60px 0;font-family:var(--serif)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:var(--text-caption);letter-spacing:1px;color:var(--color-text-secondary)}.field input,.field select,.field textarea{border:1px solid #d0d0c7;background:#fbfaf7;padding:13px;color:var(--color-text-link);outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#777b68}.notice{background:#eae9e3;padding:17px 20px;color:var(--color-muted);font-size:var(--text-caption);line-height:1.9;margin:20px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0}.step{border-top:1px solid #aeb0a5;padding-top:14px}.step b{font-family:var(--serif);font-size:var(--text-lead);font-weight:400}.step p{font-size:var(--text-caption);color:var(--color-muted);line-height:1.9}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#252820;color:var(--color-text-inverse);padding:12px 20px;font-size:var(--text-caption);letter-spacing:1px;z-index:80;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1}
@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:var(--text-caption)}.brand{min-width:190px}.hero{grid-template-columns:44% 56%}.section{padding-left:6%;padding-right:6%}}
@media(max-width:780px){.site-header{height:70px;padding:0 5%}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:22px 7%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.menu-toggle{display:block;border:0;background:none;font-size:var(--text-heading-medium)}.header-actions .text-button{display:none}.brand{min-width:0}.brand-cn{font-size:var(--text-lead)}.hero{display:flex;flex-direction:column;padding:0 5%}.hero-copy{padding:60px 2% 35px}.hero h1{font-size:var(--text-display-small);margin:16px 0}.hero-image{min-height:420px;margin:0 0 25px}.marquee{padding:14px 5%;gap:15px;overflow:hidden;white-space:nowrap}.section{padding:70px 6%}.section-head{display:block}.section-intro{margin-top:15px}.feature-grid{grid-template-columns:1fr}.feature-card.tall img{min-height:390px}.feature-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.feature-card.small img{min-height:220px}.collection-strip{padding:65px 6%}.art-grid{grid-template-columns:repeat(2,1fr);gap:25px 13px}.art-title{font-size:var(--text-ui)}.art-price{font-size:var(--text-caption)}.statement{padding:80px 8%}.services{grid-template-columns:1fr 1fr}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.editorial{grid-template-columns:1fr;gap:35px}.editorial-image{height:390px}.quote-band{display:block;padding:55px 7%}.quote-band small{display:block;margin-top:22px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:2}.page-hero{padding:65px 6% 40px}.page-hero h1{font-size:var(--text-title-large)}.page-content{padding:45px 6% 75px}.modal-box{grid-template-columns:1fr}.modal-box img{min-height:280px;height:300px}.modal-copy{padding:30px}.form-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.cart-panel{padding:25px}}
@media(min-width:781px){.menu-toggle{display:none}}

#overlay[hidden]{display:none!important}.demo-label{font-size:var(--text-caption);letter-spacing:1.2px;color:var(--color-muted);border-left:1px solid #ccc;padding-left:12px;white-space:nowrap}.header-actions{gap:13px}.main-nav{flex-shrink:0}section[id]{scroll-margin-top:92px}.home-hero{padding-top:1px}
#home .feature-grid,.admin-live-home .feature-grid{align-items:stretch;height:auto}
#home .feature-card.tall,.admin-live-home .feature-card.tall{aspect-ratio:3/2;height:auto;min-height:0}
#home .feature-card.small,.admin-live-home .feature-card.small{min-height:0;height:100%}
#home .feature-card img,.admin-live-home .feature-card img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
#home .feature-stack,.admin-live-home .feature-stack{min-height:0;height:auto;align-self:stretch;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:780px){
  #home .feature-grid,.admin-live-home .feature-grid{height:auto}
  #home .feature-card.tall,.admin-live-home .feature-card.tall{aspect-ratio:3/2;height:auto}
  #home .feature-card.small,.admin-live-home .feature-card.small{height:min(28vh,220px)}
}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{min-width:0}.product-image{aspect-ratio:4/5;overflow:hidden;background:#d5d5ce;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.product-card:hover .product-image img{transform:scale(1.035)}.product-tag{position:absolute;left:12px;top:12px;background:rgba(246,245,241,.92);padding:6px 9px;font-size:var(--text-caption);letter-spacing:1px}.product-add{position:absolute;right:12px;bottom:12px;border:0;background:#f6f5f1;width:37px;height:37px;border-radius:50%;font-size:var(--text-heading-small);color:var(--color-text-link)}.product-info{display:grid;grid-template-columns:1fr auto;gap:7px;padding-top:13px}.product-info h3{font:400 var(--text-body) var(--serif);letter-spacing:1px;margin:0}.product-info p{color:var(--color-muted);font-size:var(--text-caption);letter-spacing:var(--tracking-cn);margin:4px 0 0}.product-price{font-size:var(--text-caption);white-space:nowrap}.product-stock{grid-column:1/-1;color:var(--color-muted);font-size:var(--text-caption);letter-spacing:.5px}.shop-tools{font-size:var(--text-caption);color:var(--color-muted);letter-spacing:1px;margin:0 0 27px}
.center-cta{text-align:center;max-width:720px;margin:55px auto 0}.center-cta h2{font:400 var(--text-heading) var(--serif);letter-spacing:2px;margin:13px 0}.center-cta p{font:var(--text-caption)/2.2 var(--font-reading);color:var(--color-muted);margin:10px auto 20px}.center-cta.compact{margin-top:36px}.personal-section,.cooperation-section{background:#f1f0eb}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0 28px}.step{border-top:1px solid #aeb0a5;padding-top:14px}.step b{font:400 var(--text-lead) var(--serif)}.step p{font-size:var(--text-caption);color:var(--color-muted);line-height:1.9}.notice.warning{background:#eee9dc;color:var(--color-text-warning)}
.cooperation-actions{display:flex;align-items:center;gap:20px;justify-content:space-between}.cooperation-actions .notice{margin:0;flex:1}
.footer-col button{display:block;border:0;background:none;padding:0;color:var(--color-text-inverse);font-size:var(--text-caption);margin:9px 0;text-align:left;cursor:pointer}.footer-col button:hover,.footer-col a:hover{color:var(--color-text-inverse-muted)}.footer-brand .brand-mark{border-color:#9b9e90;color:var(--color-text-inverse)}.footer .brand-cn{display:block;font-family:var(--serif);font-size:var(--text-heading-small);letter-spacing:3px;color:var(--color-text-inverse)}.footer .brand-en{display:block;color:var(--color-text-inverse-muted)}
#overlay{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(620px,100%));width:100%;max-width:100vw;overflow:hidden}#overlay.wide{grid-template-columns:minmax(0,1fr) minmax(0,min(980px,100%))}#overlay .scrim{background:rgba(20,22,18,.62);backdrop-filter:blur(2px)}#overlay .dialog{position:relative;min-width:0;max-width:100%;background:var(--paper);height:100%;overflow:auto;padding:52px clamp(22px,5vw,62px) 55px;box-shadow:-15px 0 50px rgba(0,0,0,.12)}#overlay #dialog-content{min-width:0;max-width:100%}#overlay .dialog-close{position:absolute;right:23px;top:15px;border:0;background:none;font:300 var(--text-heading) var(--serif);color:var(--color-text-secondary);cursor:pointer}#overlay h2{font:400 var(--text-heading) var(--serif);letter-spacing:1.5px;margin:8px 0}.eyebrow-dialog{font-size:var(--text-caption);letter-spacing:2px;color:var(--color-text-accent)}.dialog-subtitle{color:var(--color-muted);font-size:var(--text-caption);line-height:1.9;margin:0 0 24px}.form-stack{display:grid;gap:13px}
#overlay .field{display:grid;gap:7px;margin:0;color:var(--color-text-secondary);font-size:var(--text-caption);letter-spacing:.5px}#overlay .field input,#overlay .field textarea,#overlay .field select{width:100%;border:1px solid #d0d0c7;background:#fbfaf7;padding:12px 13px;outline:none;color:var(--color-text-link);font-size:var(--text-caption)}#overlay .field textarea{resize:vertical;min-height:76px}.checkline{display:flex;gap:9px;align-items:flex-start;color:var(--color-muted);font-size:var(--text-caption);line-height:1.75}.checkline input{margin:2px 0 0;accent-color:#455b48}.checkline a{border-bottom:1px solid #a4a196}.form-submit{margin-top:5px;width:100%;border:0;background:#252820;color:var(--color-text-inverse);padding:15px;cursor:pointer;font-size:var(--text-caption);letter-spacing:1.2px}.form-submit:disabled{opacity:.55;cursor:wait}
.auth-tabs,.console-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin:22px 0 21px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.auth-tabs button,.console-tabs button{border:0;background:none;padding:0 0 11px;color:var(--color-muted);font-size:var(--text-caption);cursor:pointer;flex:0 0 auto;white-space:nowrap}.auth-tabs button.active,.console-tabs button.active{color:var(--color-text-link);border-bottom:2px solid #516147}.demo-login{border:1px dashed #c5c1b6;padding:12px;font-size:var(--text-caption);line-height:1.8;color:var(--color-muted);margin-top:17px}
.dashboard-top{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:19px}.dashboard-top .account-logout{display:inline-block;margin-top:10px;padding:0;font-size:var(--text-caption);letter-spacing:.4px;color:var(--color-text-accent)}.account-entry{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pill{display:inline-flex;padding:5px 8px;background:#e2e2d8;color:var(--color-text-link);font-size:var(--text-caption)}.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:19px 0}.dashboard-cards.pair{grid-template-columns:repeat(2,1fr)}.work-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 6px}.work-bulk-hint{color:var(--color-muted);font-size:var(--text-caption);line-height:1.7}.stat-card{padding:16px;background:#e8e6dd}.stat-card b{display:block;font:400 var(--text-heading-medium) var(--serif)}.stat-card span{font-size:var(--text-caption);color:var(--color-muted)}.data-list{display:grid;gap:10px}.data-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.data-row-main b{font:400 var(--text-caption) var(--serif);display:block}.data-row-main small{display:block;font-size:var(--text-caption);color:var(--color-text-tertiary);margin-top:6px;line-height:1.7}.data-row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.mini-button{background:transparent;border:1px solid #c9c6bd;padding:7px 9px;font-size:var(--text-caption);cursor:pointer;white-space:nowrap}.mini-button.strong{background:#344a3b;border-color:#344a3b;color:var(--color-text-inverse)}.empty-state{padding:28px 0;color:var(--color-muted);font-size:var(--text-caption);line-height:1.8}.task-card{padding:14px;background:#e8e6dd;margin:10px 0}.task-card .pill{margin-bottom:9px}.task-card p{font-size:var(--text-caption);line-height:1.8;color:var(--color-text-tertiary);margin:7px 0}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-caption);min-width:580px}.admin-table th{text-align:left;color:var(--color-text-tertiary);font-weight:400;letter-spacing:.08em;padding:10px 8px;border-bottom:1px solid var(--line)}.admin-table td{padding:12px 8px;vertical-align:top;border-bottom:1px solid #dedbd2;line-height:1.6}.admin-table input{min-width:92px;padding:8px;border:1px solid var(--line);background:#f8f6f0;font-size:var(--text-caption)}.admin-section-title{font:400 var(--text-body) var(--serif);margin:24px 0 12px}.consent-log{font-size:var(--text-caption);line-height:1.75;color:var(--color-muted);border-left:2px solid #c4b18f;padding:8px 11px;margin:8px 0;background:#ebe9e1}.policy-copy{font-size:var(--text-caption);line-height:2;color:var(--color-text-secondary)}.policy-copy h3{font:400 var(--text-body) var(--serif);color:var(--color-text-link);margin:20px 0 5px}.block-button{margin-top:10px;width:100%}.error-text{font-size:var(--text-caption);color:var(--color-text-error);line-height:1.7}.success-text{font-size:var(--text-caption);color:var(--color-text-success);line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{z-index:80;max-width:min(500px,92vw);text-align:center}
@media(max-width:1050px){.header-actions{gap:9px}.main-nav{gap:14px}.main-nav a,.main-nav .nav-action{font-size:var(--text-caption)}.demo-label{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:22px 7%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.main-nav.open{display:flex}.site-header .account-button{display:none}.menu-toggle{display:block;border:0;background:none;font-size:var(--text-heading-medium);cursor:pointer}.home-hero{padding-top:0}.hero{display:flex;flex-direction:column;padding:0 5%}.hero-copy{padding:60px 2% 35px}.hero h1{font-size:var(--text-display-small);margin:16px 0}.hero-image{min-height:420px;margin:0 0 25px}.marquee{padding:14px 5%;gap:15px;overflow:hidden;white-space:nowrap}.section{padding:70px 6%}.section-head{display:block}.section-intro{margin-top:15px}.feature-grid{grid-template-columns:1fr}.feature-card.tall img{min-height:390px}.feature-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.feature-card.small img{min-height:220px}.collection-strip{padding:65px 6%}.collection-strip .art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.statement{padding:80px 8%}.services{grid-template-columns:1fr 1fr}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.editorial{grid-template-columns:1fr;gap:35px}.editorial-image{height:390px}.quote-band{display:block;padding:55px 7%}.quote-band small{display:block;margin-top:22px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:2}.steps{grid-template-columns:1fr}.cooperation-actions{align-items:stretch;flex-direction:column}.cooperation-actions .dark-button{width:100%}#overlay,#overlay.wide{grid-template-columns:minmax(0,1fr);width:100%;height:100%;height:100dvh}#overlay .scrim{display:none}#overlay .dialog{width:100%;min-width:0;max-width:100%;height:100%;max-height:100dvh;padding:56px 18px calc(28px + env(safe-area-inset-bottom,0px));box-shadow:none}#overlay .form-grid{grid-template-columns:1fr}#overlay .field input,#overlay .field select,#overlay .field textarea{font-size:var(--text-body)}.dashboard-cards{gap:6px}.stat-card{padding:12px 8px}.stat-card b{font-size:var(--text-heading-small)}}
@media(max-width:520px){.product-grid{gap:24px 12px}.product-info h3{font-size:var(--text-caption)}.product-price{font-size:var(--text-caption)}.product-add{width:32px;height:32px}.hero-image{min-height:350px}.hero-copy{padding-top:43px}.hero h1{font-size:var(--text-title-large)}.art-title{font-size:var(--text-caption)}.art-price{font-size:var(--text-caption)}.service{padding:27px 15px 30px}.service h3{font-size:var(--text-body)}}

.mobile-account{display:none}@media(max-width:780px){.main-nav .nav-action:after{display:none}.main-nav .mobile-account{display:block;border:0;background:none;width:100%;text-align:left;padding:8px 0;font-size:var(--text-caption);letter-spacing:1px;color:var(--color-text-body)}.main-nav .mobile-account[hidden]{display:none}.main-nav #mobile-account{border-top:1px solid var(--line);margin-top:8px;padding-top:17px}}
/* Checkout framing studio */
#overlay.checkout-mode{grid-template-columns:minmax(0,1fr)}
#overlay.checkout-mode .scrim{display:none}
#overlay.checkout-mode .dialog{width:100%;height:100vh;max-height:100vh;padding:0;overflow:hidden;box-shadow:none}
#overlay.checkout-mode #dialog-content{height:100%}
.checkout-layout{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(520px,.85fr);background:#f5f4ef;color:var(--color-text-link)}
.checkout-preview{height:100%;min-height:0;background:radial-gradient(88% 70% at 38% 22%,#f3efe6 0%,#ddd8ce 54%,#c7c2b6 100%);display:flex;flex-direction:column;padding:28px clamp(24px,4vw,66px) 24px;position:relative}
.preview-topline{display:flex;justify-content:space-between;color:var(--color-text-tertiary);font-size:var(--text-caption);letter-spacing:1.8px}
.preview-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;padding:24px 16px;container-type:size;position:relative}
.preview-stage:not(.preview-stage-goods):after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(62% 48% at 34% 16%,rgba(255,251,242,.55),transparent 68%),linear-gradient(180deg,rgba(255,255,255,.1),transparent 42%,rgba(42,38,32,.08));mix-blend-mode:soft-light}
.frame-mock{width:min(92%,920px);position:relative;aspect-ratio:1.5;max-height:82%;background:#b08b62;border:clamp(4px,.65vw,8px) solid #a77f55;box-shadow:0 22px 48px rgba(47,43,33,.2);padding:clamp(8px,1.5vw,22px);transition:width .25s,aspect-ratio .25s,background .2s,border-color .2s,max-width .25s,max-height .25s}
.frame-mock[data-ratio-band="wide"]{aspect-ratio:1.9}
.frame-mock[data-ratio-band="landscape"]{aspect-ratio:1.5}
.frame-mock[data-ratio-band="square"]{aspect-ratio:1}
.frame-mock[data-ratio-band="portrait"]{aspect-ratio:.72}
.frame-mock[data-ratio-band="tall"]{aspect-ratio:.56}
.frame-mock[data-size="30"]{width:min(78%,740px)}
.frame-mock[data-size="40"]{width:min(86%,830px)}
.frame-mock[data-size="50"]{width:min(94%,920px)}
.frame-mock[data-frame-color="oak"]{background:#b08b62;border-color:#a77f55}
.frame-mock[data-frame-color="black"]{background:#272923;border-color:#20221e}
.frame-mock[data-frame-color="white"]{background:#eeeae0;border-color:#ddd9ce}
.frame-mock[data-frame-color="walnut"]{background:#654734;border-color:#543a2b}
.frame-mat{height:100%;width:100%;padding:0;background:#fffdf7;display:flex;align-items:center;justify-content:center}
.frame-mat img{display:block;width:100%;height:100%;object-fit:cover}
.frame-mock[data-mat="4"] .frame-mat{padding:4.5%}
.frame-mock[data-mat="6"] .frame-mat{padding:7%}
.frame-mock[data-frame-style="unframed"]{border:0;padding:0;background:transparent;box-shadow:0 18px 34px rgba(47,43,33,.19)}
.frame-mock[data-frame-style="unframed"] .frame-mat{padding:0}
.frame-mock[data-frame-style="float"]{border:6px solid #f4f1e9;background:#f4f1e9;box-shadow:0 2px 4px rgba(40,38,32,.15),0 24px 42px rgba(47,43,33,.22);padding:8px}
.preview-stage .frame-mock{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:auto;box-sizing:border-box;display:flex;isolation:isolate;overflow:visible;z-index:1;border:0;background:#1a1714;--mould:18px;--float-gap:0px;--frame-base:#b08b62;box-shadow:0 28px 48px rgba(40,36,28,.26),0 8px 16px rgba(40,36,28,.16),0 1px 2px rgba(40,36,28,.22);transition:width .28s ease,height .28s ease,padding .28s ease,background .2s,border-color .2s,box-shadow .28s ease}
.preview-stage .frame-mock[data-size="30"],.preview-stage .frame-mock[data-size="40"],.preview-stage .frame-mock[data-size="50"]{width:auto;max-width:100%;max-height:100%}
.preview-stage .frame-mock[data-frame-color="oak"]{--frame-base:#b08b62;background:#2a2118}
.preview-stage .frame-mock[data-frame-color="walnut"]{--frame-base:#654734;background:#24160f}
.preview-stage .frame-mock[data-frame-color="black"]{--frame-base:#272923;background:#0c0c0b}
.preview-stage .frame-mock[data-frame-color="white"]{--frame-base:#eeeae0;background:#d9d3c6}
.preview-stage .frame-rail{position:absolute;z-index:4;pointer-events:none;overflow:hidden;isolation:isolate;background:var(--frame-base)}
.preview-stage .frame-rail:after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;opacity:.9}
.preview-stage .frame-rail-t,.preview-stage .frame-rail-b{left:0;right:0;height:var(--mould)}
.preview-stage .frame-rail-t{top:0;clip-path:polygon(0 0,100% 0,calc(100% - var(--mould)) 100%,var(--mould) 100%)}
.preview-stage .frame-rail-b{bottom:0;clip-path:polygon(var(--mould) 0,calc(100% - var(--mould)) 0,100% 100%,0 100%)}
.preview-stage .frame-rail-l,.preview-stage .frame-rail-r{top:0;bottom:0;width:var(--mould)}
.preview-stage .frame-rail-l{left:0;clip-path:polygon(0 0,100% var(--mould),100% calc(100% - var(--mould)),0 100%)}
.preview-stage .frame-rail-r{right:0;clip-path:polygon(0 var(--mould),100% 0,100% 100%,0 calc(100% - var(--mould)))}
.preview-stage .frame-rail-t:after{background:linear-gradient(to bottom,rgba(255,255,255,.7) 0%,rgba(255,255,255,.22) 8%,rgba(0,0,0,.12) 14%,rgba(255,255,255,.18) 32%,rgba(255,255,255,.04) 56%,rgba(0,0,0,.18) 78%,rgba(0,0,0,.55) 100%)}
.preview-stage .frame-rail-b:after{background:linear-gradient(to top,rgba(255,255,255,.16) 0%,rgba(0,0,0,.16) 14%,rgba(255,255,255,.06) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.5) 100%);opacity:.85}
.preview-stage .frame-rail-l:after{background:linear-gradient(to right,rgba(255,255,255,.52) 0%,rgba(255,255,255,.16) 9%,rgba(0,0,0,.1) 15%,rgba(255,255,255,.14) 34%,rgba(255,255,255,.04) 56%,rgba(0,0,0,.22) 80%,rgba(0,0,0,.5) 100%)}
.preview-stage .frame-rail-r:after{background:linear-gradient(to left,rgba(255,255,255,.14) 0%,rgba(0,0,0,.14) 14%,rgba(255,255,255,.06) 34%,rgba(0,0,0,.2) 62%,rgba(0,0,0,.52) 100%);opacity:.88}
.preview-stage .frame-well{position:relative;z-index:1;flex:1;min-width:0;min-height:0;display:flex;background:#1c1a17;padding:var(--float-gap);box-shadow:inset 0 0 14px rgba(0,0,0,.42)}
.preview-stage .frame-mat{width:auto;height:auto;flex:1;min-width:0;min-height:0;padding:0;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;transition:padding .28s ease;background-color:#f4efe6;background-image:linear-gradient(180deg,rgba(255,255,255,.35),transparent 24%),url("/frames/matboard.jpg");background-size:auto,cover;background-blend-mode:normal,soft-light;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.preview-stage .frame-mock[data-mat="4"] .frame-mat,.preview-stage .frame-mock[data-mat="6"] .frame-mat,.preview-stage .frame-mock[data-mat="0"] .frame-mat{padding:0}
.preview-stage .frame-mat img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;flex:1;min-width:0;min-height:0;transition:none;box-shadow:none}
.preview-stage .frame-glass{position:absolute;inset:var(--mould);z-index:5;pointer-events:none;background:linear-gradient(128deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.12) 11%,transparent 26%,transparent 78%,rgba(24,20,16,.06) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);mix-blend-mode:screen;opacity:.28}
.preview-stage .frame-mock[data-paper="baryta"] .frame-glass{opacity:.4}
.preview-stage .frame-mock[data-paper="cotton"] .frame-glass{opacity:.2}
.preview-stage .frame-mock[data-frame-style="float"]{background:#11100e;box-shadow:0 22px 40px rgba(40,36,28,.24),0 6px 12px rgba(40,36,28,.16)}
.preview-stage .frame-mock[data-frame-style="float"] .frame-well{background:#12110f;box-shadow:inset 0 0 16px rgba(0,0,0,.55)}
.preview-stage .frame-mock[data-frame-style="float"] .frame-rail:after{opacity:.75}
.preview-stage .frame-mock[data-frame-style="float"] .frame-mat img{box-shadow:none}
.preview-stage .frame-mock[data-frame-style="unframed"]{background:transparent;box-shadow:none}
.preview-stage .frame-mock[data-frame-style="unframed"] .frame-rail,.preview-stage .frame-mock[data-frame-style="unframed"] .frame-glass{display:none}
.preview-stage .frame-mock[data-frame-style="unframed"] .frame-well{background:transparent;padding:0;box-shadow:none}
.preview-stage .frame-mock[data-frame-style="unframed"] .frame-mat{background:transparent;box-shadow:none}
.preview-stage .frame-mock[data-frame-style="unframed"] .frame-mat img{box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 0 1px rgba(80,74,62,.08),0 16px 32px rgba(47,43,33,.2),0 4px 8px rgba(47,43,33,.12)}
.preview-caption{display:flex;justify-content:space-between;gap:14px;color:var(--color-text-tertiary);font-size:var(--text-caption);letter-spacing:1.2px}
.preview-caption b{font-weight:500;color:var(--color-text-secondary);letter-spacing:.7px}
.preview-note{margin-top:9px;color:var(--color-text-tertiary);font-size:var(--text-caption)}
.preview-chooser{flex:0 0 auto;margin-top:14px;padding-top:12px;border-top:1px solid rgba(80,74,62,.12)}
.preview-chooser-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;color:var(--color-text-tertiary);font-size:var(--text-caption);letter-spacing:1.1px}
.preview-chooser-head b{font-weight:500;color:var(--color-text-secondary);letter-spacing:.8px}
.preview-chooser-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.preview-chooser-item{flex:0 0 auto;width:76px;border:0;padding:0;background:transparent;cursor:pointer;text-align:left;color:inherit}
.preview-chooser-item img{display:block;width:76px;max-height:52px;object-fit:cover;background:#d5d5ce;box-shadow:0 0 0 1px rgba(80,74,62,.14)}
.preview-chooser-item span{display:block;margin-top:5px;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);color:var(--color-text-secondary);letter-spacing:.3px}
.preview-chooser-item.active img{box-shadow:0 0 0 2px #8f001d}
.preview-chooser-item.active span{color:var(--color-text-accent)}
.preview-chooser-item:disabled{opacity:.38;cursor:not-allowed}
.preview-add-bar{margin:0 0 23px;padding:16px 16px 14px;background:#f3efe6;border:1px solid #e4ddd0}
.preview-add-bar p{margin:0 0 12px;color:var(--color-text-secondary);font:var(--text-caption)/1.8 var(--font-reading)}
.preview-add-bar .cta-button{width:100%}
.checkout-panel{overflow:auto;position:relative;padding:clamp(54px,6vh,86px) clamp(28px,5vw,76px) 35px;scrollbar-color:#c7c5bb transparent}
.checkout-close{position:absolute;right:23px;top:16px;z-index:2}
#overlay.checkout-mode .dialog>.dialog-close{display:none}
#overlay.checkout-mode .checkout-close .dialog-close{position:static;width:42px;height:42px;background:#fffdf9;font-size:var(--text-heading)}
.checkout-panel h2{font-size:clamp(1.5rem,2.4vw,2.25rem)!important;margin:12px 0!important}
.checkout-edition{margin:0;color:var(--color-text-tertiary);font-size:var(--text-caption);letter-spacing:.7px}
.checkout-description{max-width:650px;margin:23px 0 25px;color:var(--color-muted);font:var(--text-caption)/2.1 var(--serif)}
.checkout-items{border-top:1px solid #ddddd5;border-bottom:1px solid #ddddd5;margin:0 0 23px}
.checkout-items-head{display:flex;justify-content:space-between;padding:11px 0;color:var(--color-muted);font-size:var(--text-caption);letter-spacing:.7px}
.checkout-items-head b{font-weight:500;color:var(--color-text-link)}
.checkout-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5e4dd}
.checkout-item.active{border-left:2px solid #8f001d;padding-left:10px;background:rgba(143,0,29,.025)}
.checkout-item.active .checkout-item-select b{color:var(--color-text-accent)}
.checkout-item-select{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:0;cursor:pointer}
.checkout-item-select b,.checkout-item-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.checkout-item-select b{font:400 var(--text-caption) var(--serif)}
.checkout-item-select small{margin-top:5px;color:var(--color-text-tertiary);font-size:var(--text-caption)}
.checkout-item-select .checkout-switch-hint{color:var(--color-text-accent);letter-spacing:.35px}
.checkout-item-actions{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:var(--text-caption)}
.frame-options{margin:0 0 23px}
.frame-options-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}
.frame-options-heading h3{font:500 var(--text-body) var(--serif);letter-spacing:1px;margin:7px 0 0}
.frame-options-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
#framing-live-price{font:500 var(--text-lead) var(--serif);color:var(--color-text-link);letter-spacing:.02em}
.stock-note{font-size:var(--text-caption);color:var(--color-text-tertiary)}
.frame-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.frame-field{display:grid;gap:6px;color:var(--color-muted);font-size:var(--text-caption)}
.frame-field select,.frame-field input,.frame-field textarea{width:100%;min-width:0;border:1px solid #d6d6ce;background:#fffefa;padding:12px 13px;color:var(--color-text-link);font:400 var(--text-caption) var(--sans);outline:none}
.frame-field select:focus,.frame-field input:focus,.frame-field textarea:focus{border-color:#818477}
.frame-field:last-child:nth-child(odd){grid-column:1/-1}
.frame-field textarea{min-height:68px;resize:vertical}
.checkout-total{border-top:1px solid #dddcd4;padding:15px 0;display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:var(--text-caption)}
.checkout-total b{font:400 var(--text-heading-medium) var(--serif);color:var(--color-text-link)}
.checkout-shipping{margin-top:3px}
.checkout-shipping h3{font:500 var(--text-body) var(--serif);margin:8px 0}
.checkout-shipping-hint{margin:0 0 12px;color:var(--color-text-secondary);font:var(--text-caption)/1.8 var(--serif)}
.checkout-submit{width:100%;margin-top:7px;border:0;background:#8f001d;color:var(--color-text-inverse);padding:15px 18px;font-size:var(--text-caption);letter-spacing:1.5px;cursor:pointer}
.checkout-submit:hover{background:#760019}
.checkout-footnote{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-caption);letter-spacing:.4px;margin:14px 0 0}
.checkout-empty{padding:10vh 9vw;color:var(--color-muted)}
.checkout-empty h2{font:400 var(--text-title) var(--serif)}
.checkout-back{display:inline-block;margin-top:18px;border-bottom:1px solid #999;padding-bottom:5px;font-size:var(--text-caption)}
@media(max-width:900px){
 #overlay.checkout-mode .dialog{overflow:auto}
 #overlay.checkout-mode #dialog-content{height:auto;min-height:100%}
 .checkout-layout{height:auto;min-height:100%;grid-template-columns:1fr}
 .checkout-preview{height:min(74vh,640px);min-height:420px;padding:20px 7% 18px}
 .preview-stage{min-height:260px}
 .checkout-panel{overflow:visible;padding:44px 7% 32px}
 .checkout-close{top:-55px;right:0}
 #overlay.checkout-mode .dialog-close{box-shadow:0 2px 10px rgba(0,0,0,.08)}
}
@media(max-width:520px){
 .checkout-preview{height:46vh;min-height:300px;padding:16px 6% 14px}
 .preview-topline{font-size:0.4375rem}
 .preview-stage{min-height:210px;padding:8px 0}
 .preview-stage .frame-mock{border:0}
 .preview-caption{font-size:var(--text-caption)}
 .checkout-panel{padding:40px 6% 26px}
 .checkout-description{font-size:var(--text-caption);margin:16px 0}
 .frame-fields{gap:10px}
 .frame-field select,.frame-field input,.frame-field textarea{padding:11px 9px;font-size:var(--text-caption)}
 .checkout-item-actions{gap:4px}
 .checkout-item-actions .mini-button{padding:6px 7px}
}

/* Aspect ratio steps preserve landscape and portrait composition. */
.frame-mock[data-ratio-key="0.35"]{aspect-ratio:0.35}
.frame-mock[data-ratio-key="0.40"]{aspect-ratio:0.40}
.frame-mock[data-ratio-key="0.45"]{aspect-ratio:0.45}
.frame-mock[data-ratio-key="0.50"]{aspect-ratio:0.50}
.frame-mock[data-ratio-key="0.55"]{aspect-ratio:0.55}
.frame-mock[data-ratio-key="0.60"]{aspect-ratio:0.60}
.frame-mock[data-ratio-key="0.65"]{aspect-ratio:0.65}
.frame-mock[data-ratio-key="0.70"]{aspect-ratio:0.70}
.frame-mock[data-ratio-key="0.75"]{aspect-ratio:0.75}
.frame-mock[data-ratio-key="0.80"]{aspect-ratio:0.80}
.frame-mock[data-ratio-key="0.85"]{aspect-ratio:0.85}
.frame-mock[data-ratio-key="0.90"]{aspect-ratio:0.90}
.frame-mock[data-ratio-key="0.95"]{aspect-ratio:0.95}
.frame-mock[data-ratio-key="1.00"]{aspect-ratio:1.00}
.frame-mock[data-ratio-key="1.05"]{aspect-ratio:1.05}
.frame-mock[data-ratio-key="1.10"]{aspect-ratio:1.10}
.frame-mock[data-ratio-key="1.15"]{aspect-ratio:1.15}
.frame-mock[data-ratio-key="1.20"]{aspect-ratio:1.20}
.frame-mock[data-ratio-key="1.25"]{aspect-ratio:1.25}
.frame-mock[data-ratio-key="1.30"]{aspect-ratio:1.30}
.frame-mock[data-ratio-key="1.35"]{aspect-ratio:1.35}
.frame-mock[data-ratio-key="1.40"]{aspect-ratio:1.40}
.frame-mock[data-ratio-key="1.45"]{aspect-ratio:1.45}
.frame-mock[data-ratio-key="1.50"]{aspect-ratio:1.50}
.frame-mock[data-ratio-key="1.55"]{aspect-ratio:1.55}
.frame-mock[data-ratio-key="1.60"]{aspect-ratio:1.60}
.frame-mock[data-ratio-key="1.65"]{aspect-ratio:1.65}
.frame-mock[data-ratio-key="1.70"]{aspect-ratio:1.70}
.frame-mock[data-ratio-key="1.75"]{aspect-ratio:1.75}
.frame-mock[data-ratio-key="1.80"]{aspect-ratio:1.80}
.frame-mock[data-ratio-key="1.85"]{aspect-ratio:1.85}
.frame-mock[data-ratio-key="1.90"]{aspect-ratio:1.90}
.frame-mock[data-ratio-key="1.95"]{aspect-ratio:1.95}
.frame-mock[data-ratio-key="2.00"]{aspect-ratio:2.00}
.frame-mock[data-ratio-key="2.05"]{aspect-ratio:2.05}
.frame-mock[data-ratio-key="2.10"]{aspect-ratio:2.10}
.frame-mock[data-ratio-key="2.15"]{aspect-ratio:2.15}
.frame-mock[data-ratio-key="2.20"]{aspect-ratio:2.20}
.frame-mock[data-ratio-key="2.25"]{aspect-ratio:2.25}
.frame-mock[data-ratio-key="2.30"]{aspect-ratio:2.30}
.frame-mock[data-ratio-key="2.35"]{aspect-ratio:2.35}
.frame-mock[data-ratio-key="2.40"]{aspect-ratio:2.40}
.frame-mock[data-ratio-key="2.45"]{aspect-ratio:2.45}
.frame-mock[data-ratio-key="2.50"]{aspect-ratio:2.50}
.frame-mock[data-ratio-key="2.55"]{aspect-ratio:2.55}
.frame-mock[data-ratio-key="2.60"]{aspect-ratio:2.60}
.frame-mock[data-ratio-key="2.65"]{aspect-ratio:2.65}
.frame-mock[data-ratio-key="2.70"]{aspect-ratio:2.70}
.frame-mock[data-ratio-key="2.75"]{aspect-ratio:2.75}
.frame-mock[data-ratio-key="2.80"]{aspect-ratio:2.80}
.frame-mock[data-ratio-key="2.85"]{aspect-ratio:2.85}
.frame-mock[data-ratio-key="2.90"]{aspect-ratio:2.90}
.frame-mock[data-ratio-key="2.95"]{aspect-ratio:2.95}
.frame-mock[data-ratio-key="3.00"]{aspect-ratio:3.00}
.frame-field select{cursor:pointer}
.frame-field select:focus-visible{outline:2px solid #8b8d80;outline-offset:2px}
#gallery-works{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto}
#gallery-works .art-thumb{display:block;aspect-ratio:3/2;position:relative;overflow:hidden}
#gallery-works .art-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem 1rem;min-height:0;height:auto;padding:.8rem 0 .25rem}
#gallery-works .art-info>div:first-child{min-width:0;display:grid;grid-template-rows:auto auto;row-gap:.25rem}
#gallery-works .art-title,#gallery-works .art-sub{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
#gallery-works .art-price{text-align:right;line-height:1.6}
#gallery-works .art-thumb-main{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;text-align:left;color:inherit;font:inherit;background:transparent;cursor:pointer}
#gallery-works .art-thumb-main .art-tag{pointer-events:none}
#gallery-works .product-add{z-index:2}
#shop .product-image{aspect-ratio:3/2}
.section-title-row{display:flex;align-items:baseline;gap:17px;margin-top:10px}
.section-title-row h2{margin:0;line-height:1.25;white-space:nowrap;font-family:var(--serif);font-size:var(--text-title);font-weight:400;letter-spacing:2px}
.section-subtitle{margin:0;padding-left:16px;border-left:1px solid #c7c6bd;color:var(--color-muted);font-family:var(--sans);font-size:var(--text-caption);letter-spacing:1.5px;line-height:1.5}
@media(max-width:780px){.section-title-row{flex-wrap:wrap;align-items:flex-start;gap:7px 12px}.section-title-row h2{font-size:var(--text-heading)}.section-subtitle{flex-basis:100%;margin-left:1px;padding-left:0;border-left:0;font-size:var(--text-caption);letter-spacing:1.2px}}
/* Keep the opening statement on the requested two lines. */
.hero-copy{padding-right:0}
.hero-desc{max-width:none;white-space:nowrap;font-size:var(--text-caption)}
@media(min-width:781px) and (max-width:1100px){.hero{grid-template-columns:1fr;padding:0 5%}.hero-copy{padding:60px 2% 35px}.hero-desc{max-width:none}}
@media(max-width:780px){.hero-desc{font-size:clamp(0.5rem,2.5vw,0.625rem)}}
.custom-examples-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:35px 0 14px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.custom-examples-head>span:last-child{font-size:var(--text-caption);letter-spacing:.7px;color:var(--color-muted)}
.custom-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.custom-example{display:block;margin:0;min-width:0;color:inherit;text-decoration:none;cursor:pointer}
.custom-example-image{position:relative;overflow:hidden;aspect-ratio:3/2;background:#deded7}
.custom-example-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .7s}
.custom-example:hover .custom-example-image img{transform:scale(1.035)}
.custom-example-tag{position:absolute;left:12px;top:12px;background:rgba(246,245,241,.92);padding:6px 9px;font-size:var(--text-caption);letter-spacing:1.3px}
.custom-example-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 0 14px;border-bottom:1px solid var(--line)}
.custom-example h3{font:400 var(--text-body) var(--serif);letter-spacing:.8px;margin:0}
.custom-example p{font:var(--text-caption)/1.8 var(--font-reading);color:var(--color-muted);margin:5px 0 0}
.custom-example-index{font-size:var(--text-caption);letter-spacing:1px;color:var(--color-muted)}
.custom-example:hover .custom-example-index{color:var(--color-text-link-hover)}
@media(max-width:780px){.custom-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 15px}.custom-examples-head{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:520px){.custom-examples{grid-template-columns:1fr}.custom-example h3{font-size:var(--text-body)}}
#topic-detail[hidden]{display:none!important}
body.topic-view-mode main>*:not(#topic-detail){display:none!important}
body.topic-view-mode main>#topic-detail{display:block}
.topic-detail{padding:0 0 78px;background:var(--paper)}
.topic-page-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 8.2%;border-bottom:1px solid var(--line);font-size:var(--text-caption);letter-spacing:1.6px;color:var(--color-muted)}
.topic-page-head>span:nth-child(2){text-align:center}
.topic-page-head>span:last-child{justify-self:end}
.topic-back{justify-self:start;padding:7px 0;border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--text-caption);letter-spacing:1px}
.topic-back:hover{color:var(--color-text-link-hover)}
.topic-intro{max-width:980px;margin:0 auto;padding:83px 24px 48px}
.topic-intro h1{font:400 clamp(2.375rem,5vw,4rem)/1.35 var(--serif);letter-spacing:3px;margin:17px 0 13px}
.topic-subtitle{font:var(--text-body)/2 var(--font-reading);letter-spacing:var(--tracking-cn);color:var(--color-muted);margin:0;max-width:600px}
.topic-image-count{display:flex;justify-content:space-between;max-width:470px;margin-top:38px;padding-top:11px;border-top:1px solid var(--line);font-size:var(--text-caption);letter-spacing:2px;color:var(--color-muted)}
.topic-cover{margin:0 8.2%}
.topic-photo-frame{position:relative;overflow:hidden;background:#e3e2dc;aspect-ratio:1.9}
.topic-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83)}
.topic-photo-count{position:absolute;right:17px;bottom:15px;padding:7px 10px;background:rgba(246,245,241,.92);font-size:var(--text-caption);letter-spacing:1.7px;color:var(--color-text-secondary)}
.topic-cover figcaption,.topic-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding:12px 0 0;color:var(--color-muted)}
.topic-photo-title{font:400 var(--text-ui) var(--serif);letter-spacing:.5px;color:var(--color-text-primary)}
.topic-photo-caption{font:var(--text-caption)/1.7 var(--serif);text-align:right}
.topic-prologue{display:grid;grid-template-columns:180px minmax(0,660px);justify-content:center;gap:50px;margin:94px auto 88px;padding:0 8.2%}
.topic-prologue-label{font-size:var(--text-caption);letter-spacing:2.2px;color:var(--color-text-tertiary);padding-top:10px}
.topic-prologue p{font:var(--text-body)/2.35 var(--font-reading);color:var(--color-text-secondary);margin:0 0 14px}
.topic-photo-sequence{display:flex;flex-direction:column;gap:77px;padding:0 8.2%}
.topic-photo{width:82%;margin:0}
.topic-photo:nth-child(even){align-self:flex-end}
.topic-photo:nth-child(3n){width:100%}
.topic-photo .topic-photo-frame{aspect-ratio:1.55}
.topic-gallery .topic-intro{padding:56px 24px 28px}
.topic-gallery .topic-prologue{margin:64px auto 0}
.essay-viewer{margin:0;padding:0 0 12px;outline:none}
.essay-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(78dvh,820px);padding:8px 0;background:#ecebe4}
.essay-frame{margin:0;max-width:min(1180px,92vw);width:100%;display:flex;align-items:center;justify-content:center}
.essay-photo{display:flex;align-items:center;justify-content:center;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;appearance:none}
.essay-photo img{display:block;width:min(1180px,92vw);height:min(78dvh,820px);max-width:100%;object-fit:contain;filter:saturate(.86);box-shadow:0 18px 48px rgba(28,30,22,.12)}
.essay-nav{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px;border:1px solid #c9c8bf;background:rgba(246,245,241,.88);color:var(--color-text-body);font-size:var(--text-lead);line-height:1;display:grid;place-items:center;padding:0}
.essay-nav.prev{left:clamp(8px,2vw,28px)}
.essay-nav.next{right:clamp(8px,2vw,28px)}
.essay-nav:hover{background:#252820;border-color:#252820;color:var(--color-text-inverse)}
.essay-nav[hidden]{display:none}
.essay-meta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:end;max-width:1180px;margin:0 auto;padding:18px 8.2% 8px}
.essay-count{font-size:var(--text-caption);letter-spacing:1.8px;color:var(--color-muted);padding-bottom:6px}
.essay-copy strong{display:block;font:400 var(--text-body) var(--serif);letter-spacing:.6px;color:var(--color-text-primary)}
.essay-copy p{margin:5px 0 0;font:var(--text-caption)/1.75 var(--font-reading);color:var(--color-muted)}
.essay-fact{margin:8px 0 0;font:var(--text-caption)/1.6 var(--sans);letter-spacing:1px;color:var(--color-muted)}
.essay-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.essay-collect-all{opacity:.72}
.essay-hint{max-width:1180px;margin:0 auto;padding:4px 8.2% 0;font-size:var(--text-caption);letter-spacing:.8px;color:var(--color-muted)}
.essay-strip{display:flex;gap:8px;overflow-x:auto;padding:14px 8.2% 6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.essay-strip button{flex:0 0 auto;width:92px;aspect-ratio:3/2;padding:0;border:1px solid transparent;background:#e3e2dc;overflow:hidden;scroll-snap-align:center;cursor:pointer}
.essay-strip img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.essay-strip button.is-current,.essay-strip button[aria-current="true"]{border-color:#252820;box-shadow:0 0 0 1px #252820}
.admin-topic-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px 16px;padding:0 8.2% 12px}
.admin-topic-sheet .topic-photo{width:100%}
.admin-topic-sheet .topic-photo-frame{aspect-ratio:3/2}
.admin-topic-sheet .topic-photo figcaption{display:block}
.topic-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:96px 8.2% 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topic-pagination a{display:flex;flex-direction:column;gap:8px}
.topic-pagination a:last-child{text-align:right;align-items:flex-end}
.topic-pagination small{font-size:var(--text-caption);letter-spacing:1.6px;color:var(--color-text-tertiary)}
.topic-pagination strong{font:400 var(--text-body) var(--serif);letter-spacing:.5px}
.topic-pagination button{border:0;background:transparent;color:var(--color-muted);font-size:var(--text-caption);letter-spacing:1px;padding:10px}
.topic-pagination button:hover,.topic-pagination a:hover strong{color:var(--color-text-link-hover)}
.topic-pagination-single{grid-template-columns:1fr;justify-items:center}
.topic-custom-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:72px 8.2% 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topic-custom-cta h2{font:400 var(--text-heading-medium) var(--serif);letter-spacing:1.2px;margin:7px 0}
.topic-custom-cta p{max-width:560px;font:var(--text-caption)/1.9 var(--font-reading);color:var(--muted);margin:0}
.topic-custom-cta .cta-button{flex-shrink:0}
@media(max-width:780px){.topic-custom-cta{align-items:flex-start;flex-direction:column;margin:48px 6% 0;gap:16px}.topic-custom-cta .cta-button{width:100%}}
@media(max-width:780px){.topic-page-head{padding:16px 6%;grid-template-columns:1fr auto}.topic-page-head>span:nth-child(2){display:none}.topic-intro{padding:55px 6% 32px}.topic-gallery .topic-intro{padding:36px 6% 18px}.topic-intro h1{font-size:var(--text-display-small)}.topic-cover{margin:0 6%}.topic-photo-frame{aspect-ratio:1.45}.topic-prologue{grid-template-columns:1fr;gap:12px;margin:58px 6% 56px;padding:0}.topic-gallery .topic-prologue{margin:42px 6% 0}.topic-prologue-label{padding:0}.topic-photo-sequence{gap:46px;padding:0 6%}.topic-photo,.topic-photo:nth-child(3n){width:100%}.topic-photo .topic-photo-frame{aspect-ratio:1.45}.topic-pagination{margin:60px 6% 0;gap:10px}.topic-pagination strong{font-size:var(--text-caption)}.essay-stage{min-height:min(62dvh,560px)}.essay-photo img{max-height:min(62dvh,560px)}.essay-meta{grid-template-columns:1fr;gap:10px;padding:16px 6% 8px}.essay-actions{align-items:flex-start;flex-direction:row;gap:16px}.essay-hint,.essay-strip{padding-left:6%;padding-right:6%}.essay-nav{width:38px;height:38px;margin-top:-19px}.admin-topic-sheet{padding:0 6%;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.topic-intro h1{font-size:var(--text-title-large);letter-spacing:1.5px}.topic-subtitle{font-size:var(--text-caption)}.topic-image-count{margin-top:25px}.topic-cover figcaption,.topic-photo figcaption{display:block}.topic-photo-caption{display:block;text-align:left;margin-top:3px}.topic-photo-sequence{gap:36px}.topic-pagination{grid-template-columns:1fr 1fr;row-gap:16px}.topic-pagination button{grid-column:1/-1;grid-row:1}.topic-pagination a:first-child{grid-column:1;grid-row:2}.topic-pagination a:last-child{grid-column:2;grid-row:2}.topic-pagination-single{grid-template-columns:1fr}.topic-pagination-single button{grid-column:1;grid-row:1}.essay-strip button{width:76px}.essay-copy strong{font-size:var(--text-body)}.admin-topic-sheet{grid-template-columns:1fr}}
input,textarea,select,[contenteditable="true"],[contenteditable=""]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}
.product-image-main{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}
.product-image-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.product-card:hover .product-image-main img{transform:scale(1.035)}
.product-image-main .product-tag{pointer-events:none}
.product-add{z-index:2}

/* Shared call-to-action system */
.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:0;font:500 var(--text-caption)/1.2 var(--sans);letter-spacing:1.4px;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;vertical-align:middle}
.cta-button .cta-arrow{display:inline-block;font-size:var(--text-body);line-height:1;transition:transform .2s ease}
.cta-button:hover{transform:translateY(-1px)}
.cta-button:hover .cta-arrow{transform:translate(2px,-1px)}
.cta-button.cta-primary{background:#252820;border-color:#252820;color:var(--color-text-inverse)}
.cta-button.cta-primary:hover{background:#3a3d33;border-color:#3a3d33}
.cta-button.cta-secondary{background:transparent;border-color:#a9aaa1;color:var(--color-text-link)}
.cta-button.cta-secondary:hover{background:#252820;border-color:#252820;color:var(--color-text-inverse)}
.cta-button.cta-light{background:#f6f5f1;border-color:#f6f5f1;color:var(--color-text-link)}
.cta-button.cta-light:hover{background:#e6e5de;border-color:#e6e5de}
.cta-button:focus-visible,.mini-button:focus-visible,.filter:focus-visible,.menu-toggle:focus-visible{outline:2px solid #8f001d;outline-offset:3px}
.cta-button:disabled,.cta-button[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8f001d;outline-offset:3px}
.service-state[hidden]{display:none}
.product-add:disabled,.product-image-main:disabled,.art-thumb-main:disabled{opacity:.48;cursor:not-allowed}
.primary-link.cta-button,.outline-link.cta-button{border-bottom-width:1px;padding-bottom:0}
.hero-meta .cta-button{margin:0}
.view-all .cta-button,.center-cta .cta-button{margin-top:8px}
.editorial-copy .cta-button{margin-top:6px}
.cooperation-actions .cta-button{flex-shrink:0}
.service-state{display:flex;align-items:center;justify-content:space-between;gap:18px;grid-column:1/-1;padding:18px 20px;border:1px solid var(--line);background:rgba(255,255,255,.46);color:var(--color-text-secondary);font-size:var(--text-caption)}
.service-state p{margin:0}
.service-state-inline{margin:-5px 0 22px}
.service-state-inline .cta-button{flex-shrink:0}
.policy-return-note{font-size:var(--text-caption);color:var(--muted);margin:12px 0 0}
.image-fallback{background:#e5e4de!important;position:relative;min-height:90px}
.image-fallback::after{content:"图片暂不可用";position:absolute;inset:0;display:grid;place-items:center;color:var(--color-muted);font:var(--text-caption) var(--sans);letter-spacing:1px}
img.image-failed{visibility:hidden}
.upload-preview{display:flex;flex-direction:column;align-items:stretch;gap:10px;color:var(--muted);font-size:var(--text-caption)}
.upload-preview:empty{display:none}
.upload-preview-figure{margin:0;display:grid;gap:8px;min-width:0}
.upload-preview-figure img{display:block;width:100%;max-height:280px;object-fit:contain;background:#ecebe4}
.upload-preview-figure figcaption{letter-spacing:var(--tracking-cn);line-height:1.5}
.upload-preview.image-fallback::after{content:none}
main > section[id]{scroll-margin-top:96px}
@media(max-width:780px){.menu-toggle{width:44px;height:44px;display:grid;place-items:center}.bag{min-height:40px}.policy-copy{font-size:var(--text-caption)}.consent-log,.admin-table{font-size:var(--text-caption)}.admin-table input{font-size:var(--text-caption)}.checkout-item-actions .mini-button{min-height:38px}.frame-field select,.frame-field input,.frame-field textarea{font-size:var(--text-body)}#overlay.checkout-mode .dialog{height:100dvh;max-height:100dvh}}
@media(max-width:780px){.service-state{align-items:flex-start;flex-direction:column}.service-state .cta-button{width:100%}.cooperation-actions .dark-button.cta-button{width:100%}}
@media(max-width:520px){.cta-button{min-height:46px;padding:0 16px;gap:14px;font-size:var(--text-caption)}.service-state-inline{margin:0 0 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.brand-mark{width:24px;height:24px;flex:0 0 24px;border:0;display:block;letter-spacing:0;font-size:0;background:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.footer-brand .brand-mark img{filter:invert(1);opacity:.9}
.editorial-copy .primary-link.cta-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.topic-photo-meta{display:flex;align-items:baseline;justify-content:flex-end;gap:18px;min-width:0}
.topic-collect-link{flex-shrink:0;border:0;background:none;padding:0;font:var(--text-caption) var(--sans);letter-spacing:1.6px;color:var(--color-text-tertiary);cursor:pointer;transition:color .2s}
.topic-collect-link:hover,.topic-collect-link:focus-visible{color:var(--color-text-link-hover)}
.topic-collect-link:disabled{opacity:.35;cursor:not-allowed}
.topic-collection{margin:110px 8.2% 0;padding-top:34px;border-top:1px solid var(--line)}
.topic-collection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.topic-collection-head h2{font:400 var(--text-heading-medium) var(--serif);letter-spacing:1.5px;margin:9px 0}
.topic-collection-head p{max-width:520px;font:var(--text-caption)/1.9 var(--font-reading);color:var(--muted);margin:0}
.topic-collection-head .cta-button{flex-shrink:0}
.topic-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:34px 22px}
.topic-collection-thumb{position:relative;display:block;width:100%;padding:0;border:0;background:#e3e2dc;aspect-ratio:1.5;overflow:hidden;cursor:pointer}
.topic-collection-thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83);transition:transform .6s}
.topic-collection-thumb:hover img{transform:scale(1.03)}
.topic-collection-thumb span{position:absolute;left:12px;top:11px;padding:5px 7px;background:rgba(246,245,241,.92);font-size:var(--text-caption);letter-spacing:1.5px;color:var(--color-text-secondary)}
.topic-collection-info{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:12px}
.topic-collection-info b{display:block;font:400 var(--text-ui) var(--serif);letter-spacing:.5px;color:var(--color-text-primary)}
.topic-collection-info small{display:block;margin-top:4px;font-size:var(--text-caption);color:var(--color-muted)}
.topic-collection-buy{display:flex;align-items:center;gap:10px;flex-shrink:0;font:var(--text-caption) var(--serif);color:var(--color-text-secondary)}
.topic-collection-add{width:28px;height:28px;border:1px solid #c9c6bd;background:transparent;color:var(--color-text-secondary);font-size:var(--text-body);line-height:1;cursor:pointer}
.topic-collection-add:hover:not(:disabled){border-color:#43453d}
.topic-collection-add:disabled{opacity:.35;cursor:not-allowed}
.collect-scrim{position:fixed;inset:0;z-index:55;background:rgba(20,22,18,.16);opacity:0;transition:opacity .25s}
.collect-scrim.open{opacity:1}
.collect-drawer{position:fixed;top:0;right:0;bottom:0;z-index:56;width:min(420px,100vw);overflow:auto;background:var(--paper);padding:56px 34px 40px;box-shadow:-15px 0 50px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .26s ease}
.collect-drawer.open{transform:none}
.collect-close{position:absolute;right:20px;top:12px;border:0;background:none;font:300 var(--text-heading) var(--serif);color:var(--color-text-secondary);cursor:pointer}
.collect-image{background:#e3e2dc;aspect-ratio:1.5;overflow:hidden;margin-bottom:22px}
.collect-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83)}
.collect-drawer h2{font:400 var(--text-heading-medium) var(--serif);letter-spacing:1.5px;margin:8px 0 6px}
.collect-caption{font:var(--text-caption)/1.9 var(--serif);color:var(--color-text-secondary);margin:0}
.collect-source{font-size:var(--text-caption);letter-spacing:1px;color:var(--color-muted);margin-top:6px}
.collect-facts{margin:22px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:8px}
.collect-facts div{display:flex;justify-content:space-between;gap:16px;font-size:var(--text-caption)}
.collect-facts dt{color:var(--color-muted)}
.collect-facts dd{margin:0;color:var(--color-text-body)}
.collect-form{display:grid;gap:12px}
.collect-price{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 18px}
.collect-price span{font-size:var(--text-caption);letter-spacing:1.5px;color:var(--color-muted)}
.collect-price b{font:400 var(--text-heading-medium) var(--serif)}
.collect-actions{display:grid;gap:10px}
.collect-actions .cta-button{width:100%;justify-content:space-between}
.collect-note{font-size:var(--text-caption);line-height:1.9;color:var(--color-muted);margin:16px 0 0}
.collect-drawer .service-state{flex-direction:column;align-items:flex-start;margin-top:22px}
@media(max-width:1050px){.topic-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.topic-collection{margin:70px 6% 0}.topic-collection-head{flex-direction:column;align-items:flex-start;gap:16px}.topic-collection-head .cta-button{width:100%}.collect-drawer{padding:52px 22px 32px}}
@media(max-width:520px){.topic-photo-meta{display:flex;justify-content:space-between;margin-top:3px}.topic-photo-meta .topic-photo-caption{margin-top:0}.topic-collection-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.collect-drawer,.collect-scrim{transition:none}}
a.hero-image{display:block;color:inherit}
a.hero-image img{transition:transform .8s}
a.hero-image:hover img{transform:scale(1.025)}
a.hero-image:focus-visible{outline:2px solid #8b8d80;outline-offset:3px}
body.product-view-mode main>*:not(#product-detail){display:none!important}
body.product-view-mode main>#product-detail{display:block}
.shop-tools{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
#shop .product-image,#product-detail .product-image{aspect-ratio:1/1}
#shop .product-info,#product-detail .product-info{text-decoration:none}
#shop .product-price,#product-detail .product-price{font:500 var(--text-body) var(--sans);color:var(--color-text-accent)}
#shop .product-stock,#product-detail .product-stock{font-size:var(--text-caption)}
.mockup{position:absolute;inset:0;display:block;background:#ebe9e2;container-type:size;overflow:hidden;transition:transform .7s}
.product-card:hover .mockup{transform:scale(1.03)}
.mockup span{position:absolute;display:block}
.mockup img{display:block;width:100%!important;height:100%!important;object-fit:cover;transform:none!important;filter:saturate(.88)}
.mk-print{overflow:hidden}
.mk-card{width:56%;aspect-ratio:1.48;left:22%;top:30%;background:#fff;padding:2cqw;box-shadow:0 1.5cqw 4cqw rgba(30,30,25,.18)}
.mk-card-3{transform:rotate(-10deg) translate(-9%,-14%)}
.mk-card-3 img{object-position:20% 50%}
.mk-card-2{transform:rotate(7deg) translate(8%,-8%)}
.mk-card-2 img{object-position:80% 50%}
.mk-card-1{transform:rotate(-1.5deg) translate(0,14%)}
.mk-tote{left:25%;top:12%;width:50%;height:76%}
.mk-tote-handle{left:27%;top:0;width:46%;height:28%;border:2.2cqw solid #ded3bd;border-bottom:0;border-radius:50% 50% 0 0/90% 90% 0 0}
.mk-tote-body{left:0;right:0;bottom:0;top:22%;background:#f1e9d8;box-shadow:0 2cqw 5cqw rgba(40,35,20,.16),inset 0 -1cqw 2cqw rgba(0,0,0,.04)}
.mk-tote .mk-print{left:16%;right:16%;top:18%;aspect-ratio:1}
.mockup[data-variant="olive"] .mk-tote-body{background:#6f7457}
.mockup[data-variant="olive"] .mk-tote-handle{border-color:#62664c}
.mk-book{left:27%;top:12%;width:46%;height:76%}
.mk-book-cover{inset:0;background:#2e322b;box-shadow:inset 1.4cqw 0 0 rgba(255,255,255,.07),inset 2.4cqw 0 2cqw rgba(0,0,0,.35),2cqw 2.6cqw 5cqw rgba(0,0,0,.25)}
.mockup[data-variant="signed"] .mk-book-cover{background:#5b3a2c}
.mk-book .mk-print{left:11%;right:9%;top:9%;height:60%}
.mk-book-title{left:0;right:0;bottom:11%;text-align:center;color:var(--color-text-inverse);font:400 3.6cqw var(--serif);letter-spacing:.8cqw}
.mk-notebook{left:28%;top:12%;width:44%;height:76%;background:#c8b48e;border-radius:1cqw 2.5cqw 2.5cqw 1cqw;box-shadow:inset 1.6cqw 0 1.6cqw rgba(0,0,0,.14),2cqw 2.6cqw 5cqw rgba(40,30,10,.22)}
.mk-notebook .mk-print{left:15%;right:15%;top:15%;aspect-ratio:1;border:1cqw solid #f3ecdd}
.mk-band{top:0;bottom:0;right:11%;width:1.8cqw;background:#2b2d28}
.mk-calendar{left:16%;top:20%;width:68%;height:62%;background:#fbfaf6;box-shadow:0 2cqw 5cqw rgba(30,30,25,.16)}
.mk-rings{left:6%;right:6%;top:-2.4cqw;height:4.8cqw;background:radial-gradient(circle at center,transparent 38%,#4a4c45 40% 56%,transparent 58%) 0 0/4.8cqw 4.8cqw repeat-x}
.mk-calendar .mk-print{left:6%;right:6%;top:10%;height:62%}
.mockup .mk-month{left:6%;right:6%;bottom:5%;display:flex;justify-content:space-between;align-items:baseline;color:var(--color-text-body)}
.mk-month b{font:400 5.2cqw var(--serif)}
.mk-month i{font:normal 2.2cqw var(--sans);letter-spacing:.4cqw;color:var(--color-muted)}
.mk-mark{width:15%;height:62%;top:19%;background:#fff;padding:1.2cqw;box-shadow:0 1.6cqw 4cqw rgba(30,30,25,.16)}
.mk-mark-1{left:24%;transform:rotate(-7deg)}
.mk-mark-1 img{object-position:15% 50%}
.mk-mark-2{left:42.5%;transform:translateY(-5%)}
.mk-mark-3{left:61%;transform:rotate(7deg)}
.mk-mark-3 img{object-position:85% 50%}
.mk-mug{left:24%;top:24%;width:52%;height:52%}
.mk-mug-body{left:0;top:0;width:74%;height:100%;background:#fbfaf6;border-radius:0 0 4cqw 4cqw;overflow:hidden;box-shadow:inset -3cqw 0 4cqw rgba(0,0,0,.07),0 2.4cqw 5cqw rgba(0,0,0,.16)}
.mk-mug .mk-print{left:0;right:0;top:16%;height:60%}
.mockup[data-variant="mist"] .mk-print img{filter:grayscale(.5) brightness(1.08)}
.mk-mug-handle{left:68%;top:20%;width:24%;height:46%;border:3.2cqw solid #f1f0ea;border-left:0;border-radius:0 50% 50% 0}
.mk-badge{width:34%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1.6cqw solid #fbfaf6;box-shadow:0 1.6cqw 4cqw rgba(30,30,25,.18)}
.mockup[data-variant="magnet"] .mk-badge{border-radius:14%}
.mk-badge-1{left:13%;top:20%}
.mk-badge-1 img{object-position:10% 50%}
.mk-badge-2{left:50%;top:13%}
.mk-badge-2 img{object-position:90% 50%}
.mk-badge-3{left:32%;top:50%}
.product-detail{padding-bottom:96px}
.product-detail-state{padding:80px 8.2%}
.product-detail-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:64px;padding:44px 8.2% 0;align-items:start}
.product-gallery{position:sticky;top:104px}
.product-stage{position:relative;aspect-ratio:1;background:#ebe9e2;overflow:hidden}
.product-artwork{display:block;width:100%;height:100%;object-fit:cover}
.product-thumbs{display:flex;gap:12px;margin-top:12px}
.product-thumb{position:relative;width:86px;aspect-ratio:1;padding:0;border:1px solid transparent;background:#ebe9e2;cursor:pointer;overflow:hidden}
.product-thumb.active{border-color:#252820}
.product-thumb>img{display:block;width:100%;height:100%;object-fit:cover}
.product-thumb>span:last-child{position:absolute;left:0;right:0;bottom:0;padding:3px 0;background:rgba(246,245,241,.92);font-size:var(--text-caption);letter-spacing:.5px;text-align:center;color:var(--color-text-secondary)}
.product-buy h1{font:400 var(--text-title)/1.4 var(--serif);letter-spacing:2px;margin:12px 0 6px}
.product-subtitle{font:var(--text-ui)/1.9 var(--font-reading);color:var(--color-text-secondary);margin:0}
.product-detail-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin:26px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-detail-price b{font:500 var(--text-title) var(--sans);color:var(--color-text-accent);letter-spacing:.5px}
.product-detail-price span{font-size:var(--text-caption);color:var(--color-text-secondary)}
.product-option{margin-bottom:22px}
.product-option-label{display:flex;gap:10px;margin-bottom:10px;font-size:var(--text-caption);letter-spacing:1px;color:var(--color-muted)}
.product-option-label b{font-weight:500;color:var(--color-text-link)}
.product-variants{display:flex;flex-wrap:wrap;gap:10px}
.product-variant{min-height:40px;padding:0 18px;border:1px solid #cfcfc6;background:transparent;font-size:var(--text-caption);color:var(--color-text-link);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.product-variant:hover{border-color:#252820}
.product-variant.active{border-color:#252820;background:#252820;color:var(--color-text-inverse)}
.product-qty{display:inline-flex;align-items:center;border:1px solid #cfcfc6}
.product-qty button{width:40px;height:40px;border:0;background:none;font-size:var(--text-body);color:var(--color-text-link);cursor:pointer}
.product-qty button:disabled{opacity:.35;cursor:not-allowed}
.product-qty span{min-width:36px;text-align:center;font-size:var(--text-caption)}
.product-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 20px}
.product-actions .cta-button{width:100%;min-height:54px;justify-content:space-between}
.product-actions .cta-button:disabled{opacity:.45;cursor:not-allowed}
.product-promises{list-style:none;padding:0;margin:0 0 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.product-promises li{background:#ecebe5;padding:12px 14px}
.product-promises b{display:block;font-size:var(--text-caption);font-weight:500;color:var(--color-text-link)}
.product-promises span{display:block;margin-top:2px;font-size:var(--text-caption);color:var(--color-muted)}
.product-section{border-top:1px solid var(--line);padding:20px 0}
.product-section h2{font:400 var(--text-body) var(--serif);letter-spacing:1px;margin:0 0 12px}
.product-highlights{margin:0;padding-left:18px;font:var(--text-caption)/2.1 var(--serif);color:var(--color-text-secondary)}
.product-specs{margin:0;display:grid;gap:8px}
.product-specs div{display:grid;grid-template-columns:90px 1fr;font-size:var(--text-caption)}
.product-specs dt{color:var(--color-muted)}
.product-specs dd{margin:0;color:var(--color-text-link)}
.product-note{font-size:var(--text-caption);line-height:1.9;color:var(--color-text-tertiary);margin:6px 0 0}
.product-related{margin:96px 8.2% 0;padding-top:32px;border-top:1px solid var(--line)}
.product-related-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:26px}
.product-related-head h2{font:400 var(--text-heading-medium) var(--serif);letter-spacing:1.5px;margin:0}
.preview-stage.preview-stage-goods{position:relative;aspect-ratio:1;width:100%;min-height:0;padding:0}
@media(max-width:900px){.product-detail-main{grid-template-columns:1fr;gap:34px;padding:28px 6% 0}.product-gallery{position:static}.product-related{margin:64px 6% 0}}
@media(max-width:520px){.product-buy h1{font-size:var(--text-heading)}.product-actions{grid-template-columns:1fr}.product-promises{grid-template-columns:1fr}.product-thumb{width:70px}}
h1,h2,h3,h4,.hero-desc,.statement p{text-wrap:balance}
p,li,dd,.topic-subtitle,.product-subtitle{text-wrap:pretty}
@media(max-width:780px){.statement{padding:72px 8%}.statement h2{letter-spacing:1px;line-height:1.75}.hero h1{letter-spacing:1px}}
h1,h2,h3,h4,.hero-desc,.statement p,.topic-subtitle,.product-subtitle{word-break:keep-all;line-break:strict}
#custom .page-content > .section-head,
#custom .page-content > .feature-grid{display:none!important}
.page-content .section-head{margin-top:96px}
.page-content .section-head h2{font-family:var(--serif);font-size:var(--text-title);font-weight:400;letter-spacing:2px;margin:12px 0 0}
.custom-lead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:64px;align-items:center}
.custom-diptych{position:relative;justify-self:end;box-sizing:border-box;width:min(73%,calc(1147px + var(--diptych-offset)));max-width:100%;margin:0;padding-bottom:2.2rem;transform:translateX(calc(-1 * var(--diptych-shift)));--diptych-offset:clamp(2rem,7vw,4.25rem);--diptych-shift:clamp(4rem,12vw,9.375rem)}
.custom-diptych-place{display:block;width:calc(100% - var(--diptych-offset));max-width:1561px;height:auto;margin:0 0 0 var(--diptych-offset);filter:none;box-shadow:10px 14px 34px rgba(30,28,22,.14),3px 5px 10px rgba(30,28,22,.08)}
.custom-diptych-portrait{position:absolute;left:0;bottom:calc(2.2rem + var(--diptych-offset));z-index:1;box-sizing:border-box;width:40%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;border:12px solid var(--paper);box-shadow:0 16px 40px rgba(30,28,22,.16);filter:saturate(.9)}
.custom-diptych figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:1rem;font-size:.5rem;letter-spacing:var(--tracking-cn);color:var(--color-muted)}
.custom-lead-copy h2{font:400 clamp(1.875rem,3vw,2.875rem)/1.5 var(--serif);letter-spacing:2px;margin:14px 0 18px}
.custom-lead-copy p{max-width:400px;margin:0 0 14px;font:var(--text-body)/2.3 var(--font-reading);color:var(--color-text-secondary)}
.custom-lead-copy .cta-button{margin-top:8px}
.custom-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:92px}
.custom-process article{min-width:0}
.custom-process img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.82);margin-bottom:16px}
.custom-process b{font:400 var(--text-caption) var(--sans);letter-spacing:2px;color:var(--color-text-accent)}
.custom-process h3{font:400 var(--text-lead) var(--serif);letter-spacing:1px;margin:6px 0}
.custom-process p{margin:0;font:var(--text-caption)/2 var(--font-reading);color:var(--color-muted)}
.custom-for{margin-top:0;padding-top:0;border-top:0}
.custom-for h2{font:400 clamp(1.5rem,2.6vw,2.125rem)/1.5 var(--serif);letter-spacing:1.5px;margin:12px 0 0;max-width:16em}
.custom-for ul{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.custom-for li{min-width:0;padding-top:16px;border-top:1px solid #cfcfc6}
.custom-for small{display:block;font:var(--text-caption)/1 var(--sans);letter-spacing:1.6px;color:var(--color-text-accent);margin-bottom:12px}
.custom-for b{display:block;font:400 var(--text-heading-small) var(--serif);letter-spacing:1px}
.custom-for span{display:block;margin-top:10px;font:var(--text-ui)/2 var(--serif);color:var(--color-text-secondary)}
.custom-line{margin:72px 0 8px;padding:0;border:0;text-align:center}
.custom-line p{margin:0;font:400 clamp(1.375rem,2.4vw,2rem)/1.8 var(--serif);letter-spacing:2px}
#custom .page-hero{padding:56px 8.2% 32px}
#custom .page-hero h1{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:2px;margin:12px 0 14px}
#custom .page-hero p{font-size:var(--text-body);line-height:var(--leading-reading);max-width:640px;color:var(--color-text-secondary)}
#custom .custom-lead-wrap{padding-bottom:48px}
#custom .custom-after{padding-top:88px;padding-bottom:48px}
#custom .custom-note{padding-top:28px;padding-bottom:72px}
#custom .custom-note .notice{margin:0}
.custom-promise{padding:96px 12% 88px;text-align:center;background:#eae9e3}
.custom-promise h2{font:400 clamp(1.5rem,3.2vw,2.5rem)/1.7 var(--serif);letter-spacing:2px;max-width:18em;margin:18px auto 22px}
.custom-promise p{font:var(--text-body)/2.2 var(--font-reading);color:var(--color-text-secondary);max-width:540px;margin:0 auto}
.custom-memory{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:64px;align-items:center;padding:96px 8.2%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.custom-memory-photo{margin:0}
.custom-memory-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 42%;filter:saturate(.88)}
.custom-memory-photo figcaption{margin-top:12px;font-size:var(--text-caption);letter-spacing:var(--tracking-cn);color:var(--color-muted)}
.custom-memory-copy h2{font:400 clamp(1.625rem,2.8vw,2.25rem)/1.5 var(--serif);letter-spacing:1.5px;margin:12px 0 20px}
.custom-memory-copy p{font:var(--text-body)/2.2 var(--font-reading);color:var(--color-text-secondary);max-width:440px;margin:0 0 14px}
.custom-how{margin-top:88px;padding-top:8px}
.custom-how h2{font:400 clamp(1.5rem,2.6vw,2.125rem)/1.5 var(--serif);letter-spacing:1.5px;margin:12px 0 0}
.custom-how ol{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}
.custom-how li{min-width:0}
.custom-how-image{position:relative;margin:0 0 18px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(165deg,#efece3 0%,#e4e0d4 46%,#d8d3c6 100%);container-type:inline-size}
.custom-how-image.is-scene{box-shadow:inset 0 0 0 1px rgba(37,40,32,.06)}
.how-scene{position:absolute;inset:0;pointer-events:none}
.how-scene img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.how-phone{position:absolute;left:4%;bottom:12%;z-index:2;width:38cqi;aspect-ratio:9/18.4;padding:7% 6% 9%;background:#1c1d19;border-radius:18% / 9%;box-shadow:0 18px 36px rgba(28,26,20,.28),0 0 0 1px #111;transform:rotate(-8deg)}
.how-phone-lens{position:absolute;left:50%;top:2.6%;width:18%;height:2.2%;border-radius:99px;background:#2c2d28;transform:translateX(-50%)}
.how-phone-screen{position:relative;height:100%;overflow:hidden;border-radius:12% / 6%;background:#111}
.how-phone-screen img{object-position:center 12%}
.how-shutter{position:absolute;left:50%;bottom:5%;width:16%;aspect-ratio:1;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 3px rgba(0,0,0,.18)}
.how-shutter:after{content:"";position:absolute;inset:18%;border-radius:50%;background:#fff}
.how-chip{position:absolute;left:5%;top:7%;z-index:4;padding:1.6cqi 2.4cqi;background:#252820;color:var(--color-text-inverse);font:600 3cqi/1 var(--sans);letter-spacing:.08em;border-radius:99px;box-shadow:0 8px 18px rgba(28,26,20,.2);white-space:nowrap}
.how-browser{position:absolute;right:3%;top:14%;z-index:1;width:66cqi;background:#fbfaf6;border:1px solid rgba(37,40,32,.1);border-radius:3cqi;box-shadow:0 16px 34px rgba(40,36,28,.16);overflow:hidden;transform:rotate(3deg)}
.how-browser-fill{left:7%;right:7%;top:7%;width:auto;transform:none;bottom:22%}
.how-browser-bar{display:flex;align-items:center;gap:1.2cqi;padding:1.8cqi 2.4cqi;background:#eceae3;border-bottom:1px solid rgba(37,40,32,.06)}
.how-browser-bar i{width:1.8cqi;height:1.8cqi;border-radius:50%;background:#c9c6bb}
.how-browser-bar i:first-child{background:#c4b7a2}
.how-browser-bar em{margin-left:1.4cqi;font:4.5cqi/1 var(--sans);letter-spacing:.04em;color:var(--color-text-tertiary);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.how-browser-body{padding:2.6cqi 3cqi 3.2cqi}
.how-site-brand{display:flex;align-items:center;gap:1.4cqi;margin-bottom:2.2cqi}
.how-site-brand img{width:4.6cqi;height:4.6cqi;object-fit:contain;filter:none}
.how-site-brand b{font:600 3.6cqi/1 var(--serif);letter-spacing:.18em}
.how-browser-body p{margin:0 0 2.2cqi;font:3.4cqi/1.35 var(--serif);letter-spacing:.04em;color:var(--color-text-secondary)}
.how-drop{display:grid;grid-template-columns:9cqi minmax(0,1fr);gap:2cqi;align-items:center;padding:2cqi;border:1px dashed #b7b4a8;background:#f3f1ea}
.how-drop img{width:9cqi;height:9cqi;aspect-ratio:1;object-position:center 10%}
.how-drop span{font:2.8cqi/1.45 var(--sans);color:var(--color-text-secondary)}
.how-drop strong{display:block;color:var(--color-text-link);font-weight:600;margin-bottom:.3cqi}
.how-progress{height:1cqi;margin:2.2cqi 0;background:#e4e1d6;overflow:hidden}
.how-progress i{display:block;width:72%;height:100%;background:#252820}
.how-site-btn{display:block;width:max-content;margin:0 auto;padding:1.5cqi 3.4cqi;background:#252820;color:var(--color-text-inverse);font:600 2.8cqi/1 var(--sans);letter-spacing:.12em}
.how-site-btn.is-done{background:#4d5346}
.how-places{display:grid;grid-template-columns:1fr 1fr;gap:1.6cqi}
.how-places span{position:relative;display:block;overflow:hidden;background:#e8e6dd;aspect-ratio:4/3}
.how-places img{aspect-ratio:4/3}
.how-places span:nth-child(2) img{object-position:86% 32%}
.how-places span:nth-child(3) img{object-position:50% 0%;transform:scale(1.25);transform-origin:top center}
.how-places span:nth-child(4) img{object-position:92% 78%}
.how-places small{position:absolute;left:0;right:0;bottom:0;padding:1.2cqi 1.5cqi;background:linear-gradient(transparent,rgba(20,18,14,.62));color:var(--color-text-inverse);font:2.6cqi/1 var(--sans);letter-spacing:.08em}
.how-places .is-on{outline:1.5px solid #252820;outline-offset:-1.5px;box-shadow:0 6px 16px rgba(28,26,20,.18)}
.how-places .is-on:after{content:"已选";position:absolute;top:1.2cqi;right:1.2cqi;padding:.7cqi 1.2cqi;background:#252820;color:var(--color-text-inverse);font:2.3cqi/1 var(--sans);letter-spacing:.1em}
.how-cursor{position:absolute;left:28%;top:52%;z-index:4;width:6.4cqi;height:6.4cqi;background:#f6f5f1;clip-path:polygon(0 0,100% 68%,54% 68%,72% 100%,52% 100%,36% 70%,0 88%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.28));transform:rotate(-12deg)}
.how-scene-ship .how-browser-fill{bottom:32%}
.how-preview{height:28cqi;display:grid;place-items:center;background:linear-gradient(180deg,#f4f2eb,#e6e3d8);margin-bottom:2cqi;overflow:hidden}
.how-mini-frame{height:90%;aspect-ratio:3/4;padding:3.2%;background:#8d6a44;box-shadow:0 8px 16px rgba(40,32,18,.2)}
.how-mini-frame img{width:100%;height:100%;object-fit:cover;object-position:center 12%;background:#f3efe6;padding:5%;filter:none;box-sizing:border-box}
.how-parcel{position:absolute;right:8%;bottom:11%;z-index:3;width:46cqi;padding:3.2cqi 3.6cqi 3cqi;background:linear-gradient(180deg,#cbb089,#b08958);color:var(--color-text-accent);box-shadow:0 12px 24px rgba(40,32,18,.22),inset 0 0 0 1px rgba(255,255,255,.18);transform:rotate(6deg)}
.how-parcel:before{content:"";position:absolute;left:0;right:0;top:38%;height:18%;background:rgba(246,245,241,.42)}
.how-parcel small{position:relative;display:block;font:2.4cqi/1 var(--sans);letter-spacing:.16em}
.how-parcel b{position:relative;display:block;margin:1.4cqi 0 .8cqi;font:4.2cqi/1 var(--serif);letter-spacing:.12em}
.how-parcel span{position:relative;font:2.7cqi/1 var(--sans);letter-spacing:.08em}
.custom-how-image figcaption{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:18px 12px 10px;color:var(--color-text-secondary);background:linear-gradient(180deg,transparent,rgba(246,245,241,.92) 46%)}
.custom-how-image figcaption small{font:var(--text-caption)/1 var(--sans);letter-spacing:var(--tracking-cn)}
.custom-how-image figcaption span{font:var(--text-caption)/1 var(--sans);letter-spacing:var(--tracking-cn)}
.custom-how b{display:block;font:400 var(--text-heading-small) var(--serif);letter-spacing:1px}
.custom-how li>span{display:block;margin-top:8px;font:var(--text-ui)/2 var(--serif);color:var(--color-text-secondary)}
.custom-close{padding:88px 8.2% 80px;background:#252820;color:var(--color-text-inverse);text-align:center}
.custom-close .section-kicker{color:var(--color-text-inverse-muted)}
.custom-close .custom-line{margin:16px auto 18px;max-width:18em}
.custom-close .custom-line p{color:var(--color-text-inverse)}
.custom-close-text{font:var(--text-body)/2.1 var(--serif);color:var(--color-text-inverse-muted);margin:0 auto 28px;max-width:420px}
.custom-close .cta-button.cta-primary{background:#f6f5f1;border-color:#f6f5f1;color:var(--color-text-link)}
.custom-close .cta-button.cta-primary:hover{background:#fff;border-color:#fff;color:var(--color-text-link)}
@media(max-width:900px){.custom-lead{grid-template-columns:1fr;gap:36px}.custom-lead-copy{max-width:560px}.custom-for ul{grid-template-columns:1fr 1fr;gap:28px 16px}.custom-memory{grid-template-columns:1fr;gap:28px;padding:64px 6%}.custom-promise{padding:72px 8%}}
@media(max-width:780px){
 .custom-how ol{grid-template-columns:1fr;gap:28px}
 .custom-how li{display:grid;grid-template-columns:minmax(148px,.42fr) minmax(0,1fr);column-gap:16px;row-gap:6px;align-items:start}
 .custom-how-image{grid-row:1/4;margin:0;aspect-ratio:3/4}
 .custom-how b{padding-top:6px}
}
@media(max-width:520px){
 .custom-how li{grid-template-columns:1fr}
 .custom-how-image{grid-row:auto;margin:0 0 14px;aspect-ratio:4/5}
}
@media(min-resolution:2dppx){.custom-diptych{width:min(73%,calc(780px + var(--diptych-offset)))}}
@media(min-resolution:3dppx){.custom-diptych{width:min(73%,calc(520px + var(--diptych-offset)))}}
@media(max-width:780px){#gallery-works{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.page-content .section-head{margin-top:64px}.page-content .section-head h2{font-size:var(--text-heading)}.custom-process{grid-template-columns:1fr;gap:32px}.custom-diptych{justify-self:start;width:100%;transform:none}.custom-diptych-portrait{border-width:8px}}
@media(max-width:520px){.custom-for ul{grid-template-columns:1fr}.custom-line p{letter-spacing:1px}}
#custom .feature-grid,#stories .feature-grid{--feature-gap:22px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--feature-gap);align-items:stretch}
#custom .feature-card.tall,#stories .feature-card.tall{width:100%;height:auto;justify-self:stretch;align-self:stretch}
#custom .feature-card.tall img,#stories .feature-card.tall img{min-height:0;width:100%;height:auto;aspect-ratio:2/3}
#custom .feature-stack,#stories .feature-stack{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:var(--feature-gap);min-height:0}
#custom .feature-card.small,#stories .feature-card.small{position:relative;min-height:0;height:100%}
#custom .feature-card.small img,#stories .feature-card.small img{position:absolute;inset:0;width:100%;height:100%;min-height:0}
@media(max-width:780px){
 #custom .feature-grid,#stories .feature-grid{grid-template-columns:1fr}
 #custom .feature-stack,#stories .feature-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
 #custom .feature-card.small,#stories .feature-card.small{height:auto}
 #custom .feature-card.small img,#stories .feature-card.small img{position:static;min-height:220px;height:auto}
 #custom .page-hero{padding:40px 6% 24px}
 #custom .page-hero h1{font-size:clamp(1.625rem,7vw,1.875rem);letter-spacing:1.5px;margin:10px 0 12px}
 #custom .page-hero p{font-size:var(--text-body);line-height:1.9}
 #custom .page-content{padding:32px 6% 64px}
 #custom .custom-lead-wrap{padding-bottom:28px}
 #custom .custom-after{padding-top:48px;padding-bottom:32px}
 #custom .custom-note{padding-top:20px;padding-bottom:48px}
 #custom .custom-promise{padding:56px 6%}
 #custom .custom-promise h2{font-size:clamp(1.375rem,6vw,1.75rem);letter-spacing:.8px;line-height:1.55;margin:10px auto 16px}
 #custom .custom-promise p{font-size:var(--text-ui);line-height:1.9}
 #custom .custom-memory{padding:48px 6%;gap:22px}
 #custom .custom-memory-copy h2,#custom .custom-for h2,#custom .custom-how h2{font-size:clamp(1.375rem,6vw,1.625rem);letter-spacing:.8px;line-height:1.4;margin:8px 0 14px}
 #custom .custom-memory-copy p{font-size:var(--text-ui);line-height:1.9;max-width:none}
 #custom .custom-memory-photo figcaption{font-size:var(--text-caption);letter-spacing:var(--tracking-cn)}
 #custom .custom-how{margin-top:48px}
 #custom .custom-close{padding:56px 6% 48px}
 #custom .section-kicker{font-size:var(--text-caption);letter-spacing:1.4px}
 #custom .custom-lead{gap:24px}
 #custom .custom-lead-copy h2,#custom .page-content .section-head h2{font-size:clamp(1.375rem,6vw,1.625rem);letter-spacing:.8px;line-height:1.4;margin:8px 0 12px}
 #custom .custom-lead-copy p{font-size:var(--text-ui);line-height:1.9;max-width:none;margin:0 0 10px}
 #custom .custom-lead-copy .cta-button{margin-top:14px;width:auto}
 #custom .page-content .section-head{margin-top:48px;margin-bottom:22px}
 #custom .page-content .section-intro{font-size:var(--text-ui);line-height:1.85;max-width:none}
 #custom .custom-diptych figcaption{font-size:var(--text-caption);letter-spacing:var(--tracking-cn);gap:.5rem}
 #custom .feature-card .overlay,#stories .feature-card .overlay{padding:16px}
 #custom .feature-card .overlay small,#stories .feature-card .overlay small{font-size:var(--text-caption);letter-spacing:1px}
 #custom .feature-card .overlay strong,#stories .feature-card .overlay strong{font-size:var(--text-lead);letter-spacing:.5px;line-height:1.3;word-break:keep-all;line-break:strict}
 #custom .feature-card.small .overlay,#stories .feature-card.small .overlay{padding:12px}
 #custom .feature-card.small .overlay strong,#stories .feature-card.small .overlay strong{font-size:var(--text-ui);letter-spacing:.2px;margin-top:3px}
 #custom .custom-for{margin-top:0;padding-top:0}
 #custom .custom-for ul{margin-top:28px}
 #custom .custom-for b,#custom .custom-how b{font-size:var(--text-lead);letter-spacing:.4px}
 #custom .custom-for span,#custom .custom-how li>span{font-size:var(--text-caption);line-height:1.7}
 #custom .custom-how-image figcaption small{font-size:var(--text-caption)}
 #custom .custom-how-image figcaption span{font-size:0.4375rem;letter-spacing:var(--tracking-cn)}
 #custom .custom-close-text{font-size:var(--text-ui);line-height:1.9}
 #custom .custom-line{margin:40px 0 8px}
 #custom .custom-line p{font-size:var(--text-lead);letter-spacing:.4px;line-height:1.55}
}
@media(max-width:520px){
 #custom .feature-card.small img,#stories .feature-card.small img{min-height:180px}
 #custom .custom-for ul{gap:16px}
}

/* 暂时隐藏的页面与入口：删除 hidden/data-hidden-page 与 app.js 的 HIDDEN_PAGES 即可恢复 */
.shop-entry[hidden],.stories-entry[hidden],.photographer-entry[hidden]{display:none!important}
.page[data-hidden-page]{display:none!important}

.feature-card.feature-static{cursor:default}
.feature-card.feature-static:hover img{transform:none}

#gallery-works .gallery-empty{grid-column:1 / -1;padding:56px 0;text-align:center;font:var(--text-ui)/2 var(--serif);color:var(--color-muted)}

#topic-detail.topic-studio{position:relative;background:#f6f5f1}
.topic-studio-hero{position:relative}
.topic-studio-kicker{display:inline-block;font-size:var(--text-caption);letter-spacing:5px;color:var(--color-text-accent)}
#topic-detail.topic-studio .topic-cover-essay{width:100vw;max-width:100vw;margin:0;margin-left:calc(50% - 50vw);padding:0;background:none;box-shadow:none}
#topic-detail.topic-studio .topic-cover-essay .topic-photo-frame{aspect-ratio:auto;width:100%;height:clamp(240px,32vw,340px);background:transparent;border:0}
#topic-detail.topic-studio .topic-cover-essay .topic-photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,12,.28),rgba(18,16,12,.16) 50%,rgba(18,16,12,.32))}
#topic-detail.topic-studio .topic-cover-essay .topic-photo-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.86)}
.topic-studio-hero .topic-intro{position:absolute;left:0;right:0;top:0;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;height:clamp(240px,32vw,340px);max-width:none;padding:24px;text-align:center;pointer-events:none}
.topic-studio-hero .topic-studio-kicker{color:var(--color-text-inverse-muted)}
.topic-studio-hero .topic-intro h1{font:400 clamp(2rem,4.6vw,3.25rem)/1.25 var(--serif);letter-spacing:.16em;margin:10px 0 8px;text-indent:.16em;color:var(--color-text-inverse);word-break:keep-all;line-break:strict}
.topic-studio-hero .topic-subtitle{font:italic var(--text-body)/1.8 var(--font-reading);color:var(--color-text-inverse);letter-spacing:var(--tracking-cn);max-width:none}
.topic-cover-essay .topic-photo-count,.topic-cover-essay .topic-photo-meta{display:none}
.topic-cover-essay figcaption{display:none}
.topic-cover-essay .topic-photo-title{width:100%;letter-spacing:.18em}
.topic-prologue-essay{display:block;max-width:620px;margin:64px auto 0;padding:0}
.topic-prologue-essay .topic-prologue-label{display:block;padding:0;margin:0 0 28px;font-size:var(--text-caption);letter-spacing:.42em;color:var(--color-text-accent)}
.topic-prologue-essay p,.topic-essay-section p,.topic-essay-section > p{text-indent:2em}
.topic-essay{padding:0 8.2%}
.topic-essay-section{max-width:620px;margin:0 auto}
.topic-essay-section h2{font:400 var(--text-heading-small)/1.5 var(--serif);letter-spacing:.06em;margin:0;color:var(--color-text-primary);word-break:keep-all;line-break:strict;text-indent:0;text-align:left}
.topic-essay-section p{font:var(--text-body)/2.15 var(--font-reading);color:var(--color-text-body);margin:0 0 1.1em;text-wrap:pretty}
.topic-essay-section p strong{font-weight:500;letter-spacing:var(--tracking-cn);color:var(--color-text-primary)}
.topic-prologue-essay .topic-essay-lede{font:400 var(--text-heading-small)/1.9 var(--serif);color:var(--color-text-body);text-indent:2em}
.topic-prologue-essay .topic-essay-pull,.topic-essay-section .topic-essay-pull,.topic-essay-chapter p{text-indent:0}
.topic-essay-section .topic-essay-motto{text-indent:2em}
.topic-essay-lede{font:400 var(--text-heading-small)/1.9 var(--serif);color:var(--color-text-body);margin:0 0 1.4em}
.topic-essay-pull{margin:1.6em 0;padding-left:16px;border-left:1px solid #cbbfa6;font:italic var(--text-heading-small)/1.85 var(--serif);color:var(--color-text-body)}
.topic-essay-motto{margin:8px 0 48px;font:italic var(--text-body)/2 var(--serif);color:var(--color-text-secondary)}
.topic-essay-chapter{display:flex;align-items:baseline;gap:14px;text-align:left;margin:52px 0 20px}
.topic-essay-chapter span{flex-shrink:0;font:400 var(--text-body)/1.4 var(--serif);color:var(--color-text-accent);letter-spacing:.18em}
.topic-essay-chapter h2{margin:0;font-size:var(--text-heading-small);letter-spacing:.06em}
.topic-essay-chapter p{margin:4px 0 0;font:italic var(--text-ui)/1.7 var(--font-reading);color:var(--color-muted);letter-spacing:var(--tracking-cn)}
.topic-essay-rule{width:36px;height:1px;margin:40px auto;background:#d5cbb6}
.topic-essay-options{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:8px 0 8px;border-top:1px solid #d5cbb6;align-items:stretch}
.topic-essay-option{display:flex;flex-direction:column;padding:22px 0 4px;background:transparent}
.topic-essay-options b{display:block;font:400 var(--text-caption) var(--serif);letter-spacing:.28em;color:var(--color-text-accent);margin-bottom:8px}
.topic-essay-options strong{display:block;font:400 var(--text-body) var(--serif);letter-spacing:.04em;color:var(--color-text-primary);margin-bottom:10px}
.topic-essay-options p{margin:0;text-indent:0;font-size:var(--text-body);line-height:var(--leading-reading);color:var(--color-text-secondary)}
.topic-essay-option-walk{padding-right:28px;border-right:1px solid #d5cbb6}
.topic-essay-option-frame{padding-left:28px}
.topic-essay-closing{max-width:620px;margin:56px auto 8px;padding:40px 0 8px;border-top:1px solid #d5cbb6;text-align:center}
.topic-essay-closing p{font:italic clamp(1.25rem,2.2vw,1.625rem)/1.8 var(--serif);letter-spacing:.06em;color:var(--color-text-body);margin:0;text-indent:0;word-break:keep-all;line-break:strict;text-wrap:pretty;overflow-wrap:break-word}
.topic-essay-closing cite{display:block;margin-top:20px;font-style:normal;font-size:var(--text-caption);letter-spacing:.18em;color:var(--color-muted)}
.topic-essay-closing .topic-studio-cta-link{margin-top:36px}
.topic-essay-closing small{display:block;max-width:28em;margin:16px auto 0;font:var(--text-caption)/1.8 var(--serif);color:var(--color-muted)}
.topic-studio-cta-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:220px;min-height:52px;padding:0 28px;border:1px solid #2c2a24;background:#2c2a24;color:var(--color-text-inverse);font:400 var(--text-ui)/1 var(--serif);letter-spacing:.2em;cursor:pointer}
.topic-studio-cta-link:hover{background:#3d3a32;border-color:#3d3a32}
.topic-studio-cta-link:focus-visible{outline:2px solid #8f001d;outline-offset:4px}
.studio-book .dialog-subtitle{max-width:46em}
.studio-tip{margin:2px 0 0;color:var(--color-muted);font:var(--text-caption)/1.85 var(--serif);text-align:center}
.studio-tabs button{font-size:var(--text-body);letter-spacing:.08em;padding-bottom:12px}
.studio-fieldset{margin:0;padding:0;border:0}
.studio-fieldset legend{padding:0;margin:0 0 10px;font-size:var(--text-caption);letter-spacing:.12em;color:var(--color-text-secondary)}
.studio-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.studio-choices.studio-looks,.studio-choices.inquiry-picks{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-choices.studio-slots{grid-template-columns:repeat(4,minmax(0,1fr))}
.studio-choice{display:flex;align-items:flex-start;gap:8px;min-height:46px;padding:8px 10px;border:1px solid #d0d0c7;background:#fbfaf7;font:var(--text-caption)/1.5 var(--serif);color:var(--color-text-body);cursor:pointer}
.studio-choice span{display:flex;flex-direction:column;gap:2px}
.studio-choice small{color:var(--color-muted);font-size:var(--text-caption)}
.studio-choice:has(input:checked){border-color:#252820;background:#efece3}
.studio-choice input{accent-color:#455b48;margin-top:3px}
.studio-quote{display:grid;gap:7px;margin:2px 0;padding:14px 0 2px;border-top:1px solid #d5cbb6}
.studio-quote div{display:flex;justify-content:space-between;gap:16px;font:var(--text-caption)/1.7 var(--serif);color:var(--color-text-secondary)}
.studio-quote b{font-weight:400;color:var(--color-text-primary)}
.studio-quote-total,.studio-quote-pay{padding-top:8px;border-top:1px solid #eeeae0;color:var(--color-text-body)}
.studio-quote-pay b{font-size:var(--text-body)}
.studio-consents{display:grid;gap:10px;margin:4px 0 2px}
.order-policy-note{margin:6px 0 2px;padding:12px 14px;background:#eceae1;color:var(--color-text-secondary);font:var(--text-caption)/1.9 var(--serif)}
.order-policy-note a{color:var(--color-text-link);border-bottom:1px solid currentColor}
.upload-authorization{display:grid;gap:9px;margin:4px 0 18px;padding:13px 14px;border:1px solid #d8d3c6;background:#f7f5ef}
.upload-authorization p{margin:0;color:var(--color-text-secondary);font:var(--text-caption)/1.8 var(--font-reading)}
.upload-authorization button{justify-self:start;border:1px solid #536b55;background:#405a45;color:var(--color-text-inverse);padding:10px 14px;font:var(--text-caption) var(--serif);cursor:pointer}
.upload-authorization button:disabled{opacity:.5;cursor:default}
.upload-authorization small{color:var(--color-text-link);font:var(--text-caption)/1.6 var(--serif)}
.studio-book .field small{display:block;margin-top:4px;color:var(--color-muted);font-size:var(--text-caption);letter-spacing:0}
.studio-book .form-grid{align-items:start}
.studio-book .form-grid .field{align-content:start}
.studio-book .form-grid .field select,.studio-book .form-grid .field input{height:41px;box-sizing:border-box}
.studio-cal{display:grid;gap:16px}
.studio-cal-legend{display:flex;gap:16px;font:var(--text-caption)/1.4 var(--serif);color:var(--color-muted)}
.studio-cal-key{display:inline-flex;align-items:center;gap:6px}
.studio-cal-key i{width:9px;height:9px;border:1px solid #d0d0c7;background:#fbfaf7}
.studio-cal-key.booked i{background:#eee8dc;border-color:#d5cbb6}
.studio-cal-month h3{margin:0 0 8px;font:400 var(--text-ui)/1.4 var(--serif);letter-spacing:.08em;color:var(--color-text-primary)}
.studio-cal-weekdays,.studio-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.studio-cal-weekdays span{text-align:center;font-size:var(--text-caption);letter-spacing:.1em;color:var(--color-muted)}
.studio-day{min-height:52px;padding:6px 2px 7px;border:1px solid #d0d0c7;background:#fbfaf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font:var(--text-caption)/1.2 var(--serif);color:var(--color-text-body)}
.studio-day b{font-weight:400}
.studio-day small{font-size:var(--text-caption);letter-spacing:.04em;color:var(--color-text-link)}
.studio-day.empty{min-height:0;padding:0;border:0;background:transparent;pointer-events:none}
.studio-day.available:hover{border-color:#252820}
.studio-day.selected{border-color:#252820;background:#efece3}
.studio-day.booked{background:#f3efe6;color:var(--color-text-disabled);cursor:not-allowed}
.studio-day.booked small{color:var(--color-text-disabled)}
.studio-cal-empty{margin:0;font:var(--text-caption)/1.6 var(--serif);color:var(--color-muted)}
.studio-scenes{position:relative;min-height:80px}
.studio-scene{position:absolute;margin:0;padding:0;border:0;background:transparent;overflow:hidden;text-align:left;box-sizing:border-box;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;cursor:pointer}
.studio-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;pointer-events:none}
.studio-scene[data-orient="portrait"] img{aspect-ratio:2/3}
.studio-scene span,.studio-scene small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.studio-scene::after{content:"";position:absolute;top:8px;right:8px;z-index:3;width:22px;height:22px;border:0;border-radius:50%;background:#252820 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f5f2e9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.6 8.4 6.7 11.4 12.4 4.8'/%3E%3C/svg%3E") center/13px no-repeat;box-shadow:0 0 0 1.5px #f5f2e9,0 1px 4px rgba(18,20,16,.35);opacity:0;transform:scale(.86);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.studio-scene.active::after{opacity:1;transform:scale(1)}
.studio-scene[data-listed-scene]{opacity:.55;cursor:default}
.studio-scene[data-listed-scene]::after{content:attr(data-listed-scene);width:auto;height:auto;padding:4px 6px;border-radius:2px;background:#252820;background-image:none;color:var(--color-text-inverse);font-size:var(--text-caption);letter-spacing:.08em;line-height:1;opacity:1;transform:none;box-shadow:none}
.studio-scene[data-listed-scene].active::after{opacity:1;transform:none}
.studio-scene:focus-visible{outline:2px solid #516147;outline-offset:3px}
.studio-scene[data-work-status]::before,.studio-scene[data-manage-work]::before{content:attr(data-work-status);position:absolute;left:8px;top:8px;z-index:3;padding:4px 6px;background:rgba(37,40,32,.78);color:var(--color-text-inverse);font-size:var(--text-caption);letter-spacing:.08em;line-height:1;pointer-events:none}
.studio-scene[data-manage-work]::before{content:attr(data-listed)}
.studio-scene[data-work-status="已下架"]::before{background:rgba(90,86,78,.82)}
.studio-scene[data-work-status="待审核"]::before{background:rgba(122,98,58,.86)}
.studio-scene[data-work-status="未通过"]::before{background:rgba(154,75,54,.86)}
.studio-scene[data-review-work]{cursor:default}
.upload-preview-note{margin:0;color:var(--color-muted);font-size:var(--text-caption);line-height:1.7}
.work-review-row{align-items:center}
.work-review-thumb{width:72px;height:72px;object-fit:cover;flex:none;background:#e8e6dd}
@media(max-width:780px){
 .topic-essay{padding:0 6%}
 .topic-essay-section h2,.topic-essay-chapter h2{font-size:var(--text-lead)}
 #topic-detail.topic-studio .topic-cover-essay .topic-photo-frame,.topic-studio-hero .topic-intro{height:clamp(220px,48vw,300px)}
 .topic-studio-hero .topic-intro h1{font-size:var(--text-title-large);letter-spacing:.1em;text-indent:.1em}
 .topic-prologue-essay{padding:0 6%;margin-top:44px}
 .topic-essay-lede{font-size:var(--text-lead)}
 .topic-essay-pull{font-size:var(--text-lead)}
 .topic-essay-options,.studio-choices,.studio-choices.studio-slots{grid-template-columns:1fr 1fr}
 .studio-book{min-width:0;max-width:100%}
 .studio-book h2{font-size:var(--text-heading-medium);letter-spacing:.06em}
 .studio-cal-weekdays,.studio-cal-grid{gap:4px}
 .studio-day{min-height:46px;padding:5px 1px 6px}
 .studio-tabs{flex-wrap:wrap;gap:12px}
 .topic-studio-cta-link{display:flex;width:100%;min-width:0}
 .topic-essay-closing p{letter-spacing:.03em}
}
@media(max-width:520px){
 .studio-day{min-height:44px;padding:4px 0 5px;font-size:var(--text-caption)}
 .studio-day small{font-size:var(--text-caption);letter-spacing:0}
 .studio-choices{grid-template-columns:1fr}
 .studio-choices.studio-looks,.studio-choices.inquiry-picks{grid-template-columns:1fr 1fr}
 .studio-book .form-grid{grid-template-columns:1fr}
 .studio-cal-legend{flex-wrap:wrap;gap:10px}
 .topic-essay-options{grid-template-columns:1fr}
 .topic-essay-option-walk{padding-right:0;border-right:0;padding-bottom:22px;border-bottom:1px solid #d5cbb6}
 .topic-essay-option-frame{padding-left:0;padding-top:22px}
 .topic-essay-chapter{gap:10px;margin-top:40px}
}
.auth-tabs{flex-wrap:wrap;row-gap:6px}
.topic-cta-actions{display:flex;gap:12px;flex-shrink:0;align-items:center}
.share-meter{height:6px;background:#e2e2d8;margin:8px 0 18px}
.share-meter span{display:block;height:100%;background:#516147}
#photographer-open[hidden],#account-open[hidden]{display:none!important}
.join-section-title{font-family:var(--serif);font-size:var(--text-lead);font-weight:400;letter-spacing:1px;margin:8px 0 4px}
.join-works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 10px}
.join-work{border:1px solid #d8d6cc;padding:14px 14px 6px;background:#fbfaf7;min-width:0}
.join-work-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:var(--text-caption);letter-spacing:.12em;color:var(--color-text-tertiary)}
.join-work.has-file{border-color:#8f987d}
.join-work .field{margin-bottom:12px}
.join-work .upload-preview-figure img{max-height:150px}
.join-work textarea{min-height:72px}
@media(max-width:780px){.join-works{grid-template-columns:1fr}}
.join-step{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 16px;font-size:var(--text-caption);letter-spacing:.12em;color:var(--color-text-tertiary)}
.join-nav{display:flex;gap:8px;margin-top:8px}
.join-nav .form-submit,.join-nav .mini-button{width:auto;margin:0;flex:1}
.join-works.single{grid-template-columns:1fr}
.inquiry-chooser{display:grid;gap:10px;margin-top:8px}
.inquiry-chooser button{width:100%;justify-content:space-between;text-align:left}
.inquiry-chooser small{display:block;font-size:var(--text-caption);color:var(--color-muted);letter-spacing:0;font-weight:400;margin-top:4px}
.bag-summary{margin-top:18px}
.bag-summary .checkout-total{margin:12px 0}
.bag-item-thumb{width:auto;height:auto;max-width:112px;max-height:72px;object-fit:contain;object-position:center;background:#e8e6dd;flex:none;display:block}
.bag-row{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.bag-row-main{flex:1;min-width:0}
.bag-row.is-missing{opacity:.72}
.bag-row.is-missing b{color:var(--color-text-secondary)}
.cart-missing{margin:0 0 16px}
.cart-missing .data-list{margin-top:8px}
.cart-missing .data-row:last-child{border-bottom:0;padding-bottom:0}
@media(max-width:780px){
 .topic-cta-actions{width:100%;flex-direction:column}
 .topic-cta-actions .cta-button{width:100%}
}
.skip-link{position:absolute;left:16px;top:-48px;z-index:90;background:#252820;color:var(--color-text-inverse);padding:10px 14px;font-size:var(--text-caption);letter-spacing:.4px}
.skip-link:focus{top:12px}
.page[hidden]{display:none!important}
.nav .nav-action.current-role,.header-actions .text-button.current-role,.mobile-account.current-role{color:var(--color-text-link)}
.nav .nav-action.current-role:after,.nav .nav-action.current-role:hover:after{width:100%}
.nav .nav-action.secondary-channel,.header-actions .text-button.secondary-channel,.mobile-account.secondary-channel{color:var(--color-text-tertiary)}
.stat-card{border:0;width:100%;text-align:left}
button.stat-card{cursor:pointer}
button.stat-card:hover,button.stat-card:focus-visible{background:#ddd9ce;outline:none}
.table-swipe-hint{margin:0 0 8px;color:var(--color-muted);font-size:var(--text-caption)}
.inventory-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.inventory-toolbar input{flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--line);background:#f8f6f0;font-size:var(--text-caption)}
.filter-chip{border:1px solid #c9c9c0;background:transparent;padding:6px 10px;font-size:var(--text-caption);color:var(--color-text-secondary)}
.filter-chip.active{background:#262920;color:var(--color-text-inverse);border-color:#262920}
.inventory-bulk{margin-top:12px;display:flex;justify-content:flex-end}
.dashboard-cards.quad{grid-template-columns:repeat(4,1fr)}
@media(max-width:780px){.dashboard-cards.quad{grid-template-columns:repeat(2,1fr)}}

/* Custom editorial sequence; the opening diptych remains unchanged. */
#custom .custom-promise{margin:24px 8.2% 0;padding:56px 7%;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#custom .custom-promise h2{font-size:clamp(1.625rem,3vw,2.375rem);margin:16px auto;max-width:22em}
#custom .custom-promise p{max-width:600px;font-size:var(--text-body)}
#custom .custom-memory{padding-top:80px;padding-bottom:80px;border:0;gap:clamp(32px,6vw,88px);align-items:center}
#custom .custom-memory-photo img{aspect-ratio:5/4}
#custom .custom-memory-copy h2{max-width:10em;line-height:1.7}
#custom .custom-memory-copy p{font-size:var(--text-ui);line-height:2.3}
#custom .custom-after{padding-top:24px}
#custom .custom-for{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:64px}
#custom .custom-for>.section-kicker{grid-column:1;align-self:end}
#custom .custom-for>h2{grid-column:1;grid-row:2;max-width:9em}
#custom .custom-for>ul{grid-column:2;grid-row:1/4;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:32px}
#custom .custom-for b{font-size:var(--text-lead)}
#custom .custom-for span{font-size:var(--text-caption);line-height:2.2}
#custom .custom-how{padding-top:56px;margin-top:72px;border-top:1px solid var(--line)}
#custom .custom-how-image{aspect-ratio:1/1}
#custom .custom-close{margin-top:32px}
@media(max-width:780px){
 #custom .custom-promise{margin:8px 6% 0;padding:40px 0}
 #custom .custom-memory{padding:52px 6%;grid-template-columns:1fr;gap:28px}
 #custom .custom-memory-copy h2{max-width:none}
 #custom .custom-for{display:block}
 #custom .custom-for>h2{max-width:16em}
 #custom .custom-for>ul{margin-top:28px;gap:24px}
 #custom .custom-how{margin-top:48px;padding-top:36px}
}
@media(max-width:420px){#custom .custom-for>ul{grid-template-columns:1fr}}

/* A clearly articulated editorial layout below the retained opening. */
.custom-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:36px 8.2% 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.custom-chapters a{position:relative;padding:27px 30px 27px 0;color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:12px}
.custom-chapters a+a{border-left:1px solid var(--line);padding-left:30px}
.custom-chapters small{font:var(--text-caption)/1.5 var(--sans);letter-spacing:2px;color:var(--color-text-accent)}
.custom-chapters span{font:var(--text-heading-medium)/1.5 var(--serif);letter-spacing:2px}
.custom-chapters i{position:absolute;right:24px;bottom:30px;font:var(--text-lead) var(--serif);font-style:normal;color:var(--color-text-tertiary)}
.custom-chapters a:hover span{color:var(--color-text-link-hover)}
#custom-memory,#custom-keepsake,#custom-craft{scroll-margin-top:112px}
#custom .custom-promise{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px 60px;margin:0 8.2%;padding:64px 0;border:0;text-align:left}
#custom .custom-promise>.section-kicker{grid-column:1/-1}
#custom .custom-promise h2{margin:0;font-size:clamp(1.5625rem,2.7vw,2.375rem)}
#custom .custom-promise p{margin:0;font-size:var(--text-ui);max-width:430px}
#custom .custom-memory{display:block;padding:0 8.2% 72px;background:transparent}
#custom .custom-memory-photo{position:relative}
#custom .custom-memory-photo img{aspect-ratio:2.25/1;object-position:center 47%;width:100%;filter:saturate(.72)}
#custom .custom-memory-photo figcaption{position:absolute;left:24px;bottom:20px;color:var(--color-text-inverse);font-size:var(--text-caption);letter-spacing:var(--tracking-cn);text-shadow:0 1px 5px var(--color-text-shadow)}
#custom .custom-memory-copy{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px 38px;padding-top:34px}
#custom .custom-memory-copy>.section-kicker{grid-column:1/-1}
#custom .custom-memory-copy h2{grid-column:1;grid-row:2/4;font-size:clamp(1.5rem,2.6vw,2.125rem);margin:0;max-width:9em}
#custom .custom-memory-copy p{margin:0;max-width:none;font-size:var(--text-caption);line-height:2.2}
#custom .custom-memory-copy p:last-child{grid-column:2/-1;color:var(--color-text-accent);font-style:normal;padding-top:8px}
#custom .custom-after{background:#eae8df;padding-top:64px;padding-bottom:64px}
#custom .custom-for{grid-template-columns:1fr 2fr;gap:12px 60px}
#custom .custom-for>h2{max-width:9em;font-size:1.8125rem}
#custom .custom-for>ul{gap:30px 38px}
#custom .custom-for li{border-color:#c7c4b7}
#custom .custom-how{margin-top:64px;padding-top:42px}
#custom .custom-how ol{counter-reset:craft;gap:0;margin-top:30px}
#custom .custom-how li{counter-increment:craft;padding:0 28px}
#custom .custom-how li:first-child{padding-left:0}
#custom .custom-how li+li{border-left:1px solid #cbc8bc}
#custom .custom-how li:before{content:"0" counter(craft);display:block;font:italic var(--text-display-small)/1.2 var(--serif);color:var(--color-text-accent);margin-bottom:22px}
#custom .custom-how-image{display:none}
#custom .custom-how li>b{font-size:var(--text-heading-small);font-weight:400}
#custom .custom-how li>span{font-size:var(--text-caption);line-height:2}
#custom .custom-close{margin:0;padding-top:72px;padding-bottom:72px}
@media(max-width:780px){
 .custom-chapters{margin:20px 6% 0}
 .custom-chapters a{padding:20px 12px 20px 0}
 .custom-chapters a+a{padding-left:12px}
 .custom-chapters small{font-size:var(--text-caption);letter-spacing:1px}
 .custom-chapters span{font-size:var(--text-body);letter-spacing:0}
 .custom-chapters i{display:none}
 #custom .custom-promise{display:block;margin:0 6%;padding:36px 0}
 #custom .custom-promise h2{margin:12px 0}
 #custom .custom-memory{padding:0 6% 40px}
 #custom .custom-memory-photo img{aspect-ratio:4/3}
 #custom .custom-memory-photo figcaption{left:12px;bottom:12px;font-size:var(--text-caption)}
 #custom .custom-memory-copy{display:block;padding-top:24px}
 #custom .custom-memory-copy h2{max-width:none;margin:12px 0 20px}
 #custom .custom-memory-copy p{margin-bottom:12px}
 #custom .custom-after{padding-top:36px;padding-bottom:40px}
 #custom .custom-for>h2{font-size:var(--text-heading);max-width:14em}
 #custom .custom-how ol{grid-template-columns:1fr}
 #custom .custom-how li,#custom .custom-how li:first-child{padding:22px 0 22px 64px;position:relative}
 #custom .custom-how li+li{border-left:0;border-top:1px solid #cbc8bc}
 #custom .custom-how li:before{position:absolute;left:0;top:22px;font-size:var(--text-title)}
}

/* Yanyuan personalization: keeps the original opening, tells the product story below. */
.yh-benefits{margin:28px 8.2% 0;padding:23px 0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);text-align:center;font:var(--text-caption)/1.8 var(--serif);color:var(--color-text-secondary)}
.yh-benefits span+span{border-left:1px solid var(--line)}
.yh-intro{padding:76px 8.2%;text-align:center}
.yh-intro h2,.yh-heading h2,.yh-art h2,.yh-finale h2{font:400 clamp(1.6875rem,3vw,2.4375rem)/1.65 var(--serif);letter-spacing:2px;margin:14px 0 22px}
.yh-intro>p{font:var(--text-body)/2.4 var(--font-reading);color:var(--color-text-secondary);margin:0}
.yh-intro-note{display:block;margin-top:24px;font:var(--text-caption)/2 var(--serif);color:var(--color-text-accent)}
.yh-audiences,.yh-process,.yh-faq{padding:64px 8.2% 72px}
.yh-audiences{background:#eeece5}
.yh-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.yh-heading h2{margin-bottom:0}
.yh-heading>p{font:var(--text-caption)/2.1 var(--font-reading);color:var(--color-muted);margin:0 0 7px}
.yh-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.yh-audience-grid article{min-width:0}
.yh-audience-grid figure{margin:0 0 24px;position:relative}
.yh-audience-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.75)}
.yh-audience-grid article:nth-child(1) img{object-position:35% center}
.yh-audience-grid article:nth-child(2) img{object-fit:contain;background:#e4dfd3;padding:22px;box-sizing:border-box}
.yh-audience-grid article:nth-child(3) img{object-position:48% center}
.yh-audience-grid figcaption{font:var(--text-caption)/1.6 var(--sans);letter-spacing:var(--tracking-cn);color:var(--color-text-accent);margin-top:16px}
.yh-audience-grid h3,.yh-steps h3{font:400 var(--text-heading-medium)/1.7 var(--serif);letter-spacing:.5px;margin:0 0 12px}
.yh-audience-grid p,.yh-steps p{font:var(--text-ui)/2.15 var(--font-reading);color:var(--color-text-secondary);margin:0 0 20px}
.yh-audience-grid a{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #cfccbf;padding-top:16px;color:var(--color-text-link);text-decoration:none;font:var(--text-caption)/1.8 var(--serif)}
.yh-audience-grid a:hover{color:var(--color-text-link-hover)}
.yh-caption{font:var(--text-caption)/1.9 var(--sans);color:var(--color-muted);margin:30px 0 0}
.yh-art{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:88px 8.2%;align-items:center}
.yh-art-work{margin:0;background:#e9e5da;padding:40px 40px 20px}
.yh-art-work img{display:block;width:100%;max-height:600px;object-fit:contain;filter:none}
.yh-art-work figcaption{font:var(--text-caption)/1.8 var(--font-reading);color:var(--color-muted);text-align:center;margin-top:23px}
.yh-art-lede{font:var(--text-body)/2 var(--serif);color:var(--color-text-accent);margin:0 0 24px}
.yh-art dl{margin:0 0 28px}
.yh-art dl>div{border-top:1px solid var(--line);padding:17px 0}
.yh-art dt{font:400 var(--text-body)/1.8 var(--serif);margin-bottom:6px}
.yh-art dd{margin:0;font:var(--text-caption)/2 var(--font-reading);color:var(--color-muted)}
.yh-process{border-top:1px solid var(--line)}
.yh-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0}
.yh-steps li{min-width:0}
.yh-steps figure{position:relative;margin:0 0 22px;background:#e9e5dc}
.yh-steps img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.75)}
.yh-steps li:first-child img{object-position:center 20%}
.yh-steps li:last-child img{object-fit:contain;padding:18px;box-sizing:border-box}
.yh-steps figure span{position:absolute;left:14px;top:14px;background:var(--paper);padding:8px 10px;font:italic var(--text-heading-small)/1 var(--serif);color:var(--color-text-accent)}
.yh-faq{padding-top:0}
.yh-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:24px}
.yh-faq details{padding:20px 0;border-top:1px solid var(--line)}
.yh-faq summary{font:var(--text-body)/1.8 var(--serif);cursor:pointer}
.yh-faq details p{font:var(--text-caption)/2 var(--font-reading);color:var(--color-muted);margin:16px 0 0}
.yh-finale{padding:70px 8.2%;text-align:center;background:#292d25;color:var(--color-text-inverse)}
.yh-finale>.section-kicker{color:var(--color-text-inverse-muted)}
.yh-finale p{font:var(--text-body)/2 var(--font-reading);color:var(--color-text-inverse-muted);margin:0 0 30px}
.yh-finale .cta-button{background:#eeece3;color:var(--color-text-link);border-color:#eeece3}
.yh-finale small{display:block;margin-top:20px;font:var(--text-caption)/1.8 var(--sans);color:var(--color-text-inverse-muted)}
#custom .yh-demo-note{padding-top:22px;padding-bottom:30px}
.yh-demo-note p{font:var(--text-caption)/1.9 var(--sans);color:var(--color-text-tertiary);margin:0}
@media(max-width:780px){
 .yh-benefits{margin:16px 6% 0;grid-template-columns:1fr 1fr;gap:16px 0;font-size:var(--text-caption)}
 .yh-benefits span:nth-child(3){border-left:0}
 .yh-intro{padding:48px 6%}
 .yh-intro h2,.yh-heading h2,.yh-art h2,.yh-finale h2{font-size:var(--text-heading);letter-spacing:.8px}
 .yh-intro>p{font-size:var(--text-ui)}
 .yh-audiences,.yh-process,.yh-faq{padding:40px 6%}
 .yh-heading{display:block;margin-bottom:26px}
 .yh-heading>p{margin-top:16px}
 .yh-audience-grid{grid-template-columns:1fr;gap:40px}
 .yh-audience-grid img{aspect-ratio:4/3}
 .yh-audience-grid article:nth-child(2) img{aspect-ratio:4/3}
 .yh-audience-grid h3{font-size:var(--text-heading-medium)}
 .yh-art{grid-template-columns:1fr;gap:32px;padding:48px 6%}
 .yh-art-work{padding:28px 28px 18px}
 .yh-art-work img{max-height:420px}
 .yh-steps{grid-template-columns:1fr;gap:28px}
 .yh-steps img{aspect-ratio:16/9}
 .yh-faq{padding-top:8px}
 .yh-faq-grid{grid-template-columns:1fr}
 .yh-finale{padding:48px 6%}
}

#overlay.ai-order-mode{display:block;padding:0;background:var(--paper)}
#overlay.ai-order-mode .scrim{display:none}
#overlay.ai-order-mode .dialog{width:100%;max-width:none;height:100dvh;max-height:none;padding:0;overflow:auto;box-shadow:none}
.ai-order-mode .dialog-close{position:fixed;right:20px;top:16px;z-index:50;background:#fffdf8;width:40px;height:40px}
.ai-order-layout{display:grid;grid-template-columns:57% 43%;min-height:100dvh}
.ai-order-visual{position:sticky;top:0;height:100dvh;background:linear-gradient(140deg,#e9e5dc,#c9c4b8);padding:28px 5.3% 24px;display:flex;flex-direction:column;min-width:0}
.ai-preview-top,.ai-preview-caption{display:flex;justify-content:space-between;gap:16px;font:var(--text-caption)/1.8 var(--sans);letter-spacing:1.3px;color:var(--color-text-tertiary)}
.ai-preview-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:35px}
.ai-preview-frame{height:100%;max-height:570px;max-width:100%;padding:22px;border:15px solid #ae8c60;background:#f9f6ed;box-shadow:0 22px 35px #554c3938,inset 0 0 6px #75604750;display:flex;align-items:center;justify-content:center;transition:aspect-ratio .2s}
.ai-preview-frame img{width:100%;height:100%;object-fit:contain;min-height:0}
.ai-preview-frame[data-style="unframed"]{border:0;padding:0;background:none}
.ai-preview-frame[data-style="float"]{border:9px solid #474338;padding:17px;background:#dbd5c8}
.ai-preview-caption b{font-weight:400;color:var(--color-text-link)}
.ai-preview-note{font-size:var(--text-caption);color:var(--color-text-tertiary);margin:9px 0 18px}
.ai-scene-label{border-top:1px solid #b9b7ab;padding-top:14px;margin-bottom:12px;font-size:var(--text-caption);display:flex;justify-content:space-between;gap:12px}
.ai-scene-label small{color:var(--color-text-tertiary);font-size:var(--text-caption)}
.ai-order-visual .studio-scenes{display:flex!important;overflow-x:auto;gap:10px;padding:4px 0 10px;columns:auto!important;flex-shrink:0}
.ai-order-visual .studio-scene{flex:0 0 88px;width:88px!important;margin:0!important;break-inside:auto;position:relative;align-self:flex-start}
.ai-order-visual .studio-scene img{width:88px!important;height:64px!important;aspect-ratio:auto!important;object-fit:cover}
.ai-order-visual .studio-scene span{position:static;display:block;background:linear-gradient(transparent,rgba(22,25,20,.8))!important;color:var(--color-text-link);padding:7px 0;font-size:var(--text-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-order-visual .studio-scene small{display:none}
.ai-order-visual .studio-scene.active{outline:2px solid #9a3e35;outline-offset:1px}
.ai-order-layout>.studio-book{min-width:0;width:100%;max-width:none;padding:64px 9% 48px}
.ai-order-layout .studio-book h2{font-size:var(--text-title-large);letter-spacing:2px}
.ai-order-layout .dialog-subtitle{font-size:var(--text-caption);line-height:2;max-width:none;margin-bottom:26px}
.ai-order-layout .studio-fieldset{margin-top:22px;border:0;border-top:1px solid var(--line);padding-top:20px}
.ai-order-layout .studio-choice{padding:12px;font-size:var(--text-caption)}
.ai-order-layout .field input,.ai-order-layout .field select,.ai-order-layout .field textarea{padding:12px;font-size:var(--text-caption);background:#fffefa}
.ai-order-layout .form-grid{gap:14px}
.ai-order-layout #ai-scene-count{font-size:var(--text-caption);color:var(--color-text-tertiary);margin:0 0 18px}
.ai-order-layout #studio-quote{border-block:1px solid var(--line);padding:16px 0;margin:24px 0}
.ai-order-layout .checkline{font-size:var(--text-caption);line-height:1.9}
@media(max-width:900px){.ai-order-layout{grid-template-columns:1fr}.ai-order-visual{position:relative;height:650px;padding:24px 6%}.ai-preview-stage{padding:24px}.ai-order-layout>.studio-book{padding:40px 6%}.ai-order-mode .dialog-close{right:12px;top:10px}}
@media(max-width:520px){.ai-order-visual{height:530px}.ai-preview-frame{padding:14px;border-width:10px}.ai-order-layout .form-grid{grid-template-columns:1fr}.ai-preview-caption{font-size:var(--text-caption)}.ai-order-layout .studio-book h2{font-size:var(--text-heading)}}

.ai-order-visual .studio-scenes{flex-wrap:nowrap!important;height:105px;min-height:105px;overflow-y:hidden;justify-content:flex-start!important}.ai-preview-frame{height:auto;width:min(100%,480px);max-height:100%;flex:none}.ai-order-visual .studio-scene span{display:block!important;opacity:1!important;transform:none!important}

/* Three-column AI order workspace. */
.ai-order-layout{grid-template-columns:minmax(250px,.85fr) minmax(340px,1.35fr) minmax(340px,1.1fr)}
.ai-order-personal{min-width:0;padding:65px 28px 40px;background:#f6f5f0;border-right:1px solid var(--line)}
.ai-order-personal h2,.ai-order-layout .studio-book h2{font:400 var(--text-heading)/1.6 var(--serif);letter-spacing:1px;margin:14px 0 18px}
.ai-column-intro{font:var(--text-caption)/2 var(--serif);color:var(--color-muted);margin-bottom:32px}
.ai-order-personal .field input{width:100%;min-width:0;padding:14px 8px;background:#fffdf8;font-size:var(--text-caption)}
.ai-order-personal .field small{font-size:var(--text-caption);line-height:1.8}
.ai-order-personal .studio-choices{grid-template-columns:1fr;gap:10px}
.ai-order-personal .studio-choice{padding:14px;font-size:var(--text-ui)}
.ai-order-personal .studio-fieldset{margin-top:30px}
.ai-order-personal .upload-preview img{max-height:300px;object-fit:contain}
.ai-order-layout>.studio-book{padding:65px 28px 40px}
.ai-order-visual{padding:32px 24px 24px}
.ai-preview-stage{padding:28px 0;flex:1;min-height:180px}
.ai-preview-frame{border-width:10px;padding:16px}
.ai-order-visual .studio-scenes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:240px;min-height:180px;max-height:30vh;overflow:auto;gap:12px!important;flex:none}
.ai-order-visual .studio-scene{width:100%!important;position:relative!important;min-width:0}
.ai-order-visual .studio-scene img{width:100%!important;height:70px!important}
.ai-order-visual .studio-scene span{padding:5px 0;line-height:1.6;font-size:var(--text-caption)}
.ai-order-layout>.studio-book .form-grid{grid-template-columns:1fr;gap:0}
.ai-order-layout>.studio-book .studio-fieldset{margin-top:12px;padding-top:16px}
.ai-preview-caption{font-size:var(--text-caption);letter-spacing:.4px}
.ai-preview-note{font-size:var(--text-caption);line-height:1.7}
@media(max-width:1100px) and (min-width:781px){.ai-order-layout{grid-template-columns:minmax(200px,.8fr) minmax(260px,1.1fr) minmax(280px,1fr)}.ai-order-personal,.ai-order-layout>.studio-book{padding:60px 18px 30px}.ai-order-visual{padding:28px 16px}.ai-order-visual .studio-scenes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.ai-order-layout{grid-template-columns:1fr}.ai-order-personal{padding:48px 6% 30px}.ai-order-personal .studio-choices{grid-template-columns:1fr 1fr}.ai-order-visual{height:670px;position:relative;padding:28px 6%}.ai-order-layout>.studio-book{padding:36px 6%}.ai-order-visual .studio-scenes{height:190px;max-height:none}.ai-order-layout>.studio-book .form-grid{grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:420px){.ai-order-layout>.studio-book .form-grid{grid-template-columns:1fr}.ai-order-personal .studio-choices{grid-template-columns:1fr 1fr}}
.ai-order-visual .studio-scenes{grid-auto-rows:100px;align-content:start!important}.ai-order-visual .studio-scene{height:100px!important;min-height:100px;overflow:hidden;align-self:start}.ai-order-visual .studio-scene span{height:26px;position:static!important;inset:auto!important;padding:4px 2px!important;opacity:1!important;visibility:visible!important;background:linear-gradient(transparent,rgba(22,25,20,.8))!important}.ai-order-personal{position:sticky;top:0;align-self:start;max-height:100dvh;overflow:auto}
@media(max-width:780px){.ai-order-personal{position:static;max-height:none}}

/* Background selection gallery: category row and three masonry columns. */
.ai-order-visual{display:block;overflow-y:auto;background:#e9e6de;padding:32px 20px;height:100dvh;position:sticky;top:0}
.ai-background-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding:0 0 14px;border-bottom:1px solid #cbc7ba;position:sticky;top:-32px;background:#e9e6de;z-index:3;padding-top:10px}
.ai-background-filters button{flex:none;border:0;border-bottom:2px solid transparent;background:none;padding:8px 0;font:var(--text-caption)/1.6 var(--serif);color:var(--color-text-tertiary);white-space:nowrap}
.ai-background-filters button[aria-pressed="true"]{color:var(--color-text-link);border-bottom-color:#292e24}
.ai-gallery-hint{font-size:var(--text-caption);color:var(--color-text-tertiary);margin:14px 0 20px}
.ai-order-visual .studio-scenes{display:block!important;columns:3!important;column-gap:12px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important}
.ai-order-visual .studio-scene{display:inline-block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 14px!important;break-inside:avoid;vertical-align:top;overflow:hidden;left:auto!important;top:auto!important;border:0;background:none}
.ai-order-visual .studio-scene[hidden]{display:none!important}
.ai-order-visual .studio-scene img{display:block;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain}
.ai-order-visual .studio-scene span{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;transform:none!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;text-align:left;color:var(--color-text-link);font:var(--text-caption)/1.6 var(--serif);padding:8px 2px!important}
.ai-order-visual .studio-scene.active{outline:2px solid #914337;outline-offset:2px}
@media(max-width:780px){.ai-order-visual{position:relative;height:auto;max-height:680px;padding:28px 6%}.ai-background-filters{top:-28px}.ai-order-visual .studio-scenes{columns:3!important}}

.ai-order-visual{padding-top:65px}.ai-gallery-heading h2{font:400 var(--text-heading)/1.6 var(--serif);letter-spacing:1px;margin:14px 0 18px}.ai-gallery-heading .ai-column-intro{margin-bottom:24px}.ai-background-filters{top:-65px}
@media(max-width:1100px) and (min-width:781px){.ai-order-visual{padding-top:60px}.ai-background-filters{top:-60px}}
@media(max-width:780px){.ai-order-visual{padding-top:36px}.ai-background-filters{top:-36px}}

.ai-right-preview{background:#e9e5db;padding:24px;margin:0 0 18px;text-align:center}.ai-right-frame{width:75%;max-height:300px;margin:0 auto 18px;border:10px solid #b48e60;background:#faf8f0;box-shadow:0 8px 16px #37312630;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.ai-right-frame img{width:100%;height:100%;object-fit:contain;min-height:0}.ai-right-preview small{font-size:var(--text-caption);color:var(--color-muted)}.ai-right-frame[data-style="unframed"]{border-width:0!important;padding:0!important}.ai-right-frame[data-style="float"]{border-width:6px;box-shadow:0 8px 16px #37312630,inset 0 0 0 6px #aaa59a}.ai-order-layout .ai-extra-framing{gap:12px;margin-top:10px}

.ai-right-preview{overflow:hidden}.ai-right-frame{position:relative;height:auto;min-height:120px;max-height:none}.ai-right-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;padding:inherit;box-sizing:border-box}.ai-right-frame[data-style="unframed"] img{padding:0}
.ai-right-frame{max-width:210px;margin-inline:auto}.ai-right-preview{padding:22px 14px}

.ai-order-visual .studio-scene span{position:absolute!important;inset:auto 0 0!important;box-sizing:border-box!important;width:100%!important;max-height:none!important;padding:22px 8px 8px!important;background:linear-gradient(transparent,rgba(22,25,20,.8))!important;color:var(--color-text-inverse)!important;opacity:0!important;visibility:hidden!important;transition:opacity .18s;font-size:var(--text-caption)}
.ai-order-visual .studio-scene:hover span,.ai-order-visual .studio-scene:focus-visible span,.ai-order-visual .studio-scene.active span{opacity:1!important;visibility:visible!important}
.ai-order-visual .studio-scene{line-height:0}
.ai-right-frame{display:block;position:relative;min-height:0;box-sizing:border-box;transition:width .2s,height .2s,border-color .2s,padding .2s;background:#f7f2e6}
.ai-right-frame img{position:static!important;display:block;width:100%;height:100%;object-fit:contain;padding:0!important}
.ai-right-frame[data-paper="cotton"]{background:#f6f0e2;background-image:url('frames/matboard.jpg');background-size:cover}
.ai-right-frame[data-paper="baryta"]{background:#eeeae1;box-shadow:0 8px 16px #37312630,inset 0 0 14px #fff8}
.ai-right-frame[data-paper="museum"]{background:#fffdf4;background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,#d6cfbd20 3px)}
.ai-right-frame:after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;opacity:.1}
.ai-right-frame[data-paper="cotton"]:after{background:url('frames/matboard.jpg') center/cover}
.ai-right-frame[data-paper="baryta"]:after{background:linear-gradient(125deg,#fff9,transparent 45%,#fff5)}
.ai-right-frame[data-color="oak"],.ai-right-frame[data-color="walnut"]{border-image-source:url('frames/oak.jpg');border-image-slice:22;border-image-repeat:stretch}
.ai-right-frame[data-color="walnut"]{border-image-source:url('frames/walnut.jpg')}
.ai-right-frame[data-style="float"]{outline:1px solid #756f60;outline-offset:-12px}
.ai-right-frame[data-style="unframed"]{outline:0;border-image:none}
.ai-order-visual .studio-scene span{z-index:2!important;line-height:1.7!important;font-size:var(--text-caption)!important;letter-spacing:0!important;color:var(--color-text-inverse)!important;-webkit-text-fill-color:currentColor;bottom:0!important;top:auto!important}.ai-order-visual .studio-scene span small{display:none!important}
.ai-right-frame[data-color="oak"]{border-image:linear-gradient(110deg,#aa7845,#d4b184 25%,#a97845 55%,#cda775 80%,#a4713e) 1}.ai-right-frame[data-color="walnut"]{border-image:linear-gradient(110deg,#493022,#806047 25%,#513728 55%,#78543b 80%,#40291d) 1}
.ai-order-visual .studio-scene span{clip:auto!important;clip-path:none!important}

.ai-right-preview{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}.ai-right-frame{flex:none;transition:width .22s,height .22s,padding .22s,border-color .22s}#ai-preview-dimensions{font:var(--text-caption)/1.8 var(--sans);letter-spacing:.5px;color:var(--color-text-secondary);margin:0 0 12px}.ai-right-preview>small{margin-top:4px}

.ai-framing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin:18px 0 24px}.ai-framing-options .field{margin:0;min-width:0;gap:9px}.ai-framing-options .ai-framing-full{grid-column:1/-1}.ai-order-layout .ai-framing-options select{width:100%;min-width:0;min-height:45px;padding:10px 26px 10px 12px;font-size:var(--text-caption);background:#fffefa}.ai-framing-options .field{font-size:var(--text-caption);color:var(--color-muted)}
.ai-order-personal h2,.ai-gallery-heading h2,.ai-order-layout>.studio-book h2{margin-top:0;color:var(--color-text-accent)}.ai-title-number{white-space:nowrap}
@media(max-width:420px){.ai-framing-options{gap:16px 12px}.ai-order-layout .ai-framing-options select{font-size:var(--text-caption);padding-left:8px}}

.ai-right-preview{padding:20px 12px;min-height:0;gap:0}.ai-right-frame{margin-bottom:14px}.ai-right-preview>small{font-size:var(--text-caption);line-height:1.8}#ai-preview-dimensions{margin-bottom:8px}

.ai-right-preview{height:420px;min-height:420px;max-height:420px;position:relative;display:flex;align-items:center;justify-content:center;padding:24px 12px 76px;box-sizing:border-box;overflow:hidden}.ai-right-preview .ai-right-frame{margin:0;flex:none}.ai-right-preview #ai-preview-dimensions{position:absolute;bottom:43px;left:12px;right:12px;margin:0;text-align:center}.ai-right-preview>small{position:absolute;bottom:16px;left:12px;right:12px;margin:0;text-align:center}

@media(max-width:520px){#gallery-works .art-info{grid-template-columns:minmax(0,1fr)}#gallery-works .art-price{text-align:left}}
