@charset "UTF-8";
/* Public shop typography: body copy 16px, controls 14px, secondary labels 12px. */
:root{--muted:#d0c9bc;--shop-body:1rem;--shop-control:.875rem;--shop-caption:.75rem;font-size:100%}
body{font-size:var(--shop-body);line-height:1.65}
h1,h2{font-weight:500;line-height:1.08}
p{line-height:1.75}
small{font-size:var(--shop-caption)}
.hero-description,.product-route .hero-description,
.product-heading>p:not(.eyebrow):not(.micro),.digital-copy>p:not(.eyebrow),
.product-points p,.how-grid p,.section-title>p:last-child,.feature-list li,
.faq-list p,.contact-page>p:not(.eyebrow),.legal-page #legal-content,
.cart-empty{font-size:var(--shop-body);line-height:1.75}
.eyebrow,.hero .eyebrow,.statement .eyebrow{font-size:var(--shop-caption);letter-spacing:.12em;line-height:1.7}
.desktop-nav,.owner-shortcut,.mobile-menu a,.site-footer nav,
.product-points h3,.how-grid h3,.faq-list summary,.contact-page label,
.cart-line h3,.cart-total{font-size:var(--shop-control);line-height:1.6}
.product-points h3,.how-grid h3{font-size:1.0625rem;font-weight:600}
.desktop-nav{gap:24px}
.mobile-menu a{font-size:var(--shop-body)}
.logo>span{font-size:.875rem;letter-spacing:.2em}
.logo small{font-size:var(--shop-caption);letter-spacing:.16em}
.icon-button #cart-count{font-size:var(--shop-caption);min-width:20px;height:20px;line-height:20px}
.button,.hero-cta .button,.buy-row .button,.statement .button,.mobile-buy .button{font-size:var(--shop-control);letter-spacing:.055em;line-height:1.5;min-height:52px;gap:12px;padding:16px 20px;text-align:center}
.button span{font-size:1.125rem;flex-shrink:0}
.hero-cta{flex-wrap:wrap;gap:18px}
.hero-price small,.price-line small,.mobile-buy small{font:var(--shop-caption)/1.5 Montserrat,Arial,sans-serif;letter-spacing:.045em}
.micro,.hero .micro,.cart-dialog .micro,.form-help,.form-error,.owner-link,
.site-footer p,.cart-line p,.remove-button,.specifications,
.usage-scene figcaption,.payment-return{font-size:var(--shop-control);line-height:1.75}
.scene-label,.scene-number,.drag-hint,.viewer-status,.gallery-card>span,
.example-label,.footer-bottom,.usage-scene figcaption span{font-size:var(--shop-caption);letter-spacing:.07em;line-height:1.6}
.scene-label{flex-wrap:wrap;row-gap:4px}
.scene-number{color:var(--muted)}
.viewer-toolbar{flex-wrap:wrap;gap:12px}
.viewer-toolbar>div{margin-left:auto}
.viewer-button{width:44px;min-height:44px}
.gallery-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible}
.gallery-nav button{font-size:var(--shop-control);line-height:1.5;padding:12px 8px;gap:8px;min-height:76px;justify-content:center;flex-wrap:wrap;white-space:normal;text-align:center}
.gallery-nav img,.gallery-nav svg{flex-shrink:0}
.benefit-strip span{font-size:var(--shop-control);letter-spacing:.055em;line-height:1.6;gap:12px}
.quantity{flex-shrink:0}
.quantity button{min-width:36px;min-height:48px}
.quantity input{font-size:var(--shop-body)}
.contact-visual{height:auto;min-height:170px;justify-content:center}
.contact-visual>span{font-size:var(--shop-caption);letter-spacing:.08em}
.contact-visual strong{font-size:1.75rem}
.contact-visual div{font-size:var(--shop-control);line-height:1.5;min-width:0;padding:8px 10px}
.phone-frame{max-width:100%}
.feature-list li{align-items:flex-start}
.text-link{font-size:var(--shop-control);letter-spacing:.05em;line-height:1.75}
.site-footer nav a,.owner-link{min-height:44px}
.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:12px}
.cart-dialog{overflow-y:auto}
.cart-line>div,.cart-controls>*{min-width:0}
.cart-controls{flex-wrap:wrap}
.contact-page input,.contact-page textarea{font-size:var(--shop-body)}
.contact-page label{font-size:var(--shop-control)}
.legal-page #legal-content{overflow-wrap:anywhere}
.hero-copy,.product-heading,.digital-copy,.faq-list{min-width:0}
@media(min-width:761px) and (max-width:1100px){
 .desktop-nav{gap:16px}
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .hero-cta .button{padding:16px 18px}
 .gallery-nav button{flex-direction:column}
 .benefit-strip span{gap:8px;letter-spacing:.02em}
 .product-details,.digital-section,.faq-section{gap:36px}
 .buy-row{flex-wrap:wrap}
 .buy-row .button{flex:1 1 180px}
}
@media(max-width:760px){
 .logo>span{font-size:.8125rem}
 .logo small{font-size:var(--shop-caption)}
 .hero-copy>h1,.product-route .hero h1{font-size:clamp(2.5rem,9.6vw,3.25rem);line-height:1.08}
 .contact-page h1,.legal-page h1{font-size:clamp(2.5rem,9.6vw,3rem);line-height:1.12}
 .hero-description,.hero .micro{max-width:40ch}
 .hero-cta{gap:18px}
 .hero-cta .button{flex:1 1 210px}
 .scene-label{font-size:var(--shop-caption)}
 .gallery-nav button{flex-direction:column;min-height:92px;padding:10px 5px}
 .benefit-strip .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .benefit-strip span{display:block;font-size:var(--shop-caption);letter-spacing:.025em}
 .benefit-strip i{display:block;margin-bottom:6px}
 .buy-row{flex-wrap:wrap}
 .buy-row .button{flex:1 1 180px}
 .price-line{align-items:flex-start;flex-wrap:wrap;gap:8px 18px}
 .product-points article{gap:16px}
 .how-grid article{grid-template-columns:80px minmax(0,1fr);gap:0 18px}
 .how-grid h3{padding-right:18px}
 .how-grid article:last-child{grid-template-columns:1fr}
 .contact-visual{grid-row:auto;width:100%;max-width:100%;height:auto;min-height:170px;padding:16px;gap:9px;margin:0 0 18px}
 .contact-visual>span{font-size:var(--shop-caption)}
 .contact-visual strong{font-size:1.75rem}
 .contact-visual div{font-size:var(--shop-control);min-width:0;padding:8px 12px}
 .statement-text{font-size:clamp(2.75rem,11vw,3.5rem);line-height:1.1}
 .site-footer nav{font-size:var(--shop-control);gap:14px 18px}
 .site-footer{padding-bottom:145px}
 .mobile-buy{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px;align-items:center}
 .mobile-buy>div{flex:1;min-width:0}
 .mobile-buy>div>span{font-size:2rem;white-space:nowrap}
 .mobile-buy small{font-size:var(--shop-caption);max-width:150px;white-space:normal}
 .mobile-buy .button{flex:0 1 205px;padding:12px;min-height:52px;gap:7px;letter-spacing:.03em}
 .cart-dialog{padding:28px 22px}
 .cart-line{gap:14px}
 .cart-line>img{width:68px;height:68px}
 .usage-scene figcaption{font-size:var(--shop-control)}
 .usage-scene figcaption span{font-size:var(--shop-caption)}
}
