/* Finnexion visual system. Opt-in page families; no payment-widget selectors. */
html[data-fx-page]{--white:#FAFAF8;--cream:#F2EFE9;--birch:#E0D9CF;--ink:#252220;--pine:#3B5248;--lake:#6A9BA8;--slate:#625C54;--fx-muted:#6D675F;--fx-space:clamp(4rem,7vw,7rem);scroll-padding-top:7rem}
html[data-fx-page] :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #477682;outline-offset:4px}
html[data-fx-page] :where(h1,h2,h3){text-wrap:balance}
html[data-fx-page] :where(.footer-copy,.footer-right,.footer-mid,.footer-address,.footer-secure,.footer-links a,.nav-back,.nav-switch,.fact-sub,.tax-note,.secure,.crumbs){color:var(--fx-muted)}
html[data-fx-page] :where(.footer-copy,.footer-right,.footer-mid,.footer-address,.footer-secure,.footer-links a){font-size:.68rem;line-height:1.8;letter-spacing:.06em}
html[data-fx-page] footer{gap:1.5rem}
html[data-fx-page] .footer-links{flex-wrap:wrap}
html[data-fx-page] :where(.logo,.nav-logo):not(.footer-logo){letter-spacing:.28em}
html[data-fx-page] :where(.nav-toggle){min-width:44px;min-height:44px;cursor:pointer}
html[data-fx-page] :where(.lang-btn){min-height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--fx-muted)}
html[data-fx-page] .lang-btn.active{color:var(--ink)}
html[data-fx-page] :where(.section-tag,.eyebrow,.product-cat,.service-tags,.service-examples,.path-num,.service-num){font-size:.65rem;letter-spacing:.14em}
/* Marketing families retain their own Latin / CJK typefaces and headline rules. */
html:is([data-fx-page="global"],[data-fx-page="landing"],[data-fx-page="zh"],[data-fx-page="digital"]) :where(.intro,.section,.paths,.ventures,.apps,.services,.work,.how,.about,.contact){padding-top:var(--fx-space);padding-bottom:var(--fx-space)}
html:is([data-fx-page="global"],[data-fx-page="landing"],[data-fx-page="zh"],[data-fx-page="digital"]) :where(.intro-copy,.section-intro,.service-card p,.path-card p,.value p,.market p,.story-copy,.service-desc,.feat-desc){font-size:1.05rem;line-height:1.85}
html:is([data-fx-page="global"],[data-fx-page="landing"],[data-fx-page="digital"],[data-fx-page="zh"]) :where(.hero .lead,.hero-sub,.page-lead,.hero-note p,.hero-meta span,.cta p,.proof-copy){color:#D0CDC7}
html[data-fx-page="landing"] .proof-copy{color:#E1E5DF}
html:is([data-fx-page="global"],[data-fx-page="landing"]) :where(.service-card,.path-card,.value){padding:2.5rem 2rem;min-height:0}
html[data-fx-page="landing"] .service-card h3{margin-top:2rem}
html[data-fx-page="global"] .path-icon{margin-top:2rem}
html:is([data-fx-page="global"],[data-fx-page="landing"],[data-fx-page="zh"],[data-fx-page="digital"]) :where(.btn-light,.hero-actions .btn-outline,.hero-actions .text-link,.contact-btn,.app-link){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.4rem;line-height:1.5;box-sizing:border-box;white-space:normal;text-align:center}
html:is([data-fx-page="global"],[data-fx-page="zh"],[data-fx-page="digital"]) :where(.hero-actions .btn-outline,.hero-actions .text-link){border:1px solid rgba(250,250,248,.5);color:#E8E6E1;text-decoration:none}
html[data-fx-page="global"] .hero-grid{gap:clamp(3rem,5vw,6rem)}
html[data-fx-page="global"] .path-link{font-size:.68rem}
html[data-fx-page="landing"] .hero-meta{gap:.8rem}
html[data-fx-page="landing"] .page-hero h1{line-height:1.06}
html[data-fx-page="zh"] :where(.contact-inner,.intro,.how-inner)>*{min-width:0}
html[data-fx-page="digital"] :where(.app-status,.app-platform,.feat-tagline){line-height:1.7}
/* Catalogs: consistent rhythm without changing the cart, modal or checkout state. */
html[data-fx-page="catalog"] :where(.head-note,.product-desc,.modal-long,.info-p){font-size:1rem;line-height:1.85}
html[data-fx-page="catalog"] :where(.product-grid,.grid){gap:1.5rem;background:transparent}
html[data-fx-page="catalog"] .product{border:1px solid var(--birch)}
html[data-fx-page="catalog"] .product-body{padding:1.75rem 1.5rem}
html[data-fx-page="catalog"] :where(.product-cat,.product-price small,.modal-sub){color:var(--fx-muted);font-size:.65rem}
html[data-fx-page="catalog"] :where(.add-cart,.cart-checkout){min-height:48px}
html[data-fx-page="catalog"] .product-foot{flex-wrap:wrap;gap:.75rem}
html[data-fx-page="catalog"] .trust-bar{gap:1rem 2rem}
html[data-fx-page="catalog"] .trust-item{font-size:.68rem;line-height:1.7}
html[data-fx-page="catalog"] .head{gap:3rem}
html[data-fx-page="catalog"] .delivery-inner>*{min-width:0}
html[data-fx-page="catalog"] .del-eta{white-space:normal;overflow-wrap:anywhere}
/* Product / guide pages share the existing editorial stylesheet. */
html[data-fx-page="editorial"] :where(.product-hero,.info-inner){gap:clamp(2.5rem,5vw,5rem)}
html[data-fx-page="editorial"] :where(.article-hero p,.shipping-note p){color:#E1DEDA}
html[data-fx-page="editorial"] :where(.crumbs,.tax-note,.secure){font-size:.68rem;line-height:1.8}
html[data-fx-page="editorial"] .buy{min-height:48px;line-height:1.6}
html[data-fx-page="editorial"] .product-copy h1{font-size:clamp(2.2rem,3.5vw,3.35rem);line-height:1.15;overflow-wrap:anywhere}
html[data-fx-page="editorial"] .fine-print{color:var(--fx-muted)!important}
html[data-fx-page="editorial"] footer{font-size:.68rem;line-height:1.8;color:var(--fx-muted);flex-wrap:wrap}
/* Policy and form typography. Existing visibility and validation remain intact. */
html[data-fx-page="legal"]{--muted:#625C54;--paper:#FAFAF8;--line:#E0D9CF}
html[data-fx-page="legal"] :where(h1,h2){font-family:Georgia,serif;font-weight:400;line-height:1.15}
html[data-fx-page="legal"] :where(.btn,button[type="submit"]){min-height:48px;line-height:1.6}
html[data-fx-page="legal"] .navlinks a{padding:.4rem 0}
/* Payment: ONLY surrounding labels, form copy and footer. Stripe layout untouched. */
html[data-fx-page="pay"] :where(.field-label,.fee-note,.wallet-note,.methods-wait,.security-note,.summary-label){font-size:.7rem;line-height:1.8;color:var(--fx-muted)}
html[data-fx-page="pay"] .text-input::placeholder{color:#79736B}
html[data-fx-page="pay"] .text-input{min-height:48px}
html[data-fx-page="pay"] .pay-header{margin-bottom:2.5rem}
html[data-fx-page="pay"] .fee-label{color:var(--fx-muted)}
/* NASPhotos retains its native-app typography and dark mode, with Finnexion accents. */
html[data-fx-page="app"]{--bg:#FAFAF8;--bg2:#F2EFE9;--ink:#252220;--sub:#625C54;--line:#E0D9CF;--accent:#3B5248}
html[data-fx-page="app"] .btn{border-radius:4px;min-height:48px}
html[data-fx-page="app"] :where(.badge-pre){border-radius:4px}
html[data-fx-page="app-privacy"] body{background:#FAFAF8;color:#252220}
html[data-fx-page="app-privacy"] a{color:#3B5248}
@media(prefers-color-scheme:dark){html[data-fx-page="app"]{--bg:#191D1B;--bg2:#222A26;--ink:#F2EFE9;--sub:#BFC7C0;--line:#445249;--accent:#A7C7B7}html[data-fx-page="app-privacy"] body{background:#191D1B;color:#F2EFE9}html[data-fx-page="app-privacy"] a{color:#A7C7B7}}
@media(min-width:601px) and (max-width:960px){
  html[data-fx-page="landing"] :where(.service-grid,.values){grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-fx-page="global"] .path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-fx-page="global"] .path-card:last-child{grid-column:1/-1}
  html[data-fx-page="catalog"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  html:is([data-fx-page="global"],[data-fx-page="landing"]) .contact-btn{display:none}
  html[data-fx-page="catalog"] .delivery-inner{grid-template-columns:minmax(0,1fr);gap:2rem}
  html:is([data-fx-page="global"],[data-fx-page="landing"]) .nav-links{gap:0}
  html:is([data-fx-page="global"],[data-fx-page="landing"]) .nav-links a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--birch)}
  html[data-fx-page="editorial"] nav{gap:1rem;flex-wrap:wrap}
}
@media(max-width:600px){
  html[data-fx-page="landing"][lang="ja"] .page-hero h1{font-size:clamp(1.85rem,8.3vw,3rem);line-height:1.35}
  html[data-fx-page="landing"][lang="ja"] .page-hero h1 span{white-space:nowrap}
  html[data-fx-page="zh"] nav{padding:.65rem 1.4rem;gap:.4rem}
  html[data-fx-page="zh"] .nav-logo{order:0}
  html[data-fx-page="zh"] .nav-toggle{order:1;margin-left:auto;align-items:center;justify-content:center}
  html[data-fx-page="zh"] .nav-right{order:2;width:100%;justify-content:space-between;gap:.5rem}
  html[data-fx-page="zh"] .nav-center{order:3}
  html[data-fx-page="zh"] .nav-center.open{max-height:65svh;overflow-y:auto}
  html[data-fx-page="zh"] .hero{padding-top:11rem}
  html[data-fx-page="zh"] .hero-h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.35}
  html:is([data-fx-page="global"],[data-fx-page="landing"],[data-fx-page="zh"],[data-fx-page="digital"],[data-fx-page="catalog"],[data-fx-page="pay"]) :where(.logo,.nav-logo){font-size:1.05rem;letter-spacing:.2em}
  html:is([data-fx-page="global"],[data-fx-page="zh"],[data-fx-page="digital"]) .hero{min-height:auto;padding-top:9rem;padding-bottom:3.5rem}
  html[data-fx-page="global"] .hero h1{font-size:clamp(3rem,13vw,4.5rem);line-height:1.02}
  html[data-fx-page="landing"] .page-hero{padding-top:9rem;padding-bottom:3.5rem}
  html:is([data-fx-page="global"],[data-fx-page="zh"],[data-fx-page="digital"]) .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}
  html[data-fx-page="global"] .hero-note{padding-left:1.25rem}
  html[data-fx-page="global"] .hero-grid{gap:2.5rem}
  html[data-fx-page="landing"] .detail-row{flex-direction:column;gap:.6rem}
  html[data-fx-page="landing"] .footer-links{gap:.8rem 1.2rem}
  html[data-fx-page="catalog"] :where(.product-grid,.grid){grid-template-columns:minmax(0,1fr)}
  html[data-fx-page="catalog"] .head{gap:1.5rem}
  html[data-fx-page="catalog"] .delivery{padding:4rem 1.5rem}
  html[data-fx-page="catalog"] .product-name{font-size:1.5rem}
  html[data-fx-page="catalog"] .nav-right{gap:.6rem}
  html[data-fx-page="catalog"] nav .nav-switch{display:none}
  html[data-fx-page="catalog"] .cart-btn{min-height:44px}
  html[data-fx-page="editorial"] .product-copy h1{font-size:2.25rem}
  html[data-fx-page="editorial"] .article-hero{padding-top:4rem;padding-bottom:3.5rem}
  html[data-fx-page="editorial"] .article{padding-top:3rem;padding-bottom:4rem}
  html[data-fx-page="legal"] main{padding-top:3rem}
  html[data-fx-page="legal"] .navlinks{display:flex;gap:.65rem}
  html[data-fx-page="legal"] nav{position:relative;flex-wrap:wrap;gap:1rem}
  html[data-fx-page="pay"] :where(.footer-copy,.footer-secure){font-size:.65rem}
  html[data-fx-page="pay"] footer{flex-wrap:wrap}
  html[data-fx-page] .footer-links a{padding:.35rem 0}
}
@media(prefers-reduced-motion:reduce){html[data-fx-page]{scroll-behavior:auto}html[data-fx-page] :where(.hero-content,.hero-h1,.hero-sub,.hero-actions,.hero-eyebrow){animation:none;transform:none}html[data-fx-page] :where(a,button,.product-img img){transition:none}}
