@font-face{font-family:'Holo Inter';src:url('/assets/fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--holo-font:'Holo Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--holo-mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace}
body{font-family:var(--holo-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html.experience :is(button,input,select,textarea,h1,h2,h3,h4,p,label,summary,small,strong,em,li,dt,dd,th,td,time,a,.house-gallery-card span,.house-gallery-paging span,.house-gallery-note){font-family:var(--holo-font)!important}
html.experience :is(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word}
html.experience :is(p,li,label,dd){line-height:1.5;overflow-wrap:break-word}
html.experience :is(button,a[role=button]){line-height:1.35}
html.experience :is(input,textarea,select){font-size:max(16px,1rem)!important;line-height:1.5}
html.experience :is(.house-directory h2,.house-drawer-head h2,.house-drawer-body h3,.house-context-title){font-weight:600;letter-spacing:-.02em;line-height:1.25}
html.experience .house-price{font-family:var(--holo-font);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
html.experience .house-gallery-card span{font-weight:550!important;line-height:1.45!important}
html.experience .house-drawer-body :is(p,.house-result){line-height:1.65}
html.experience .house-drawer-head h2{min-width:0;flex:1;font-size:clamp(21px,4vw,29px)}
html.experience .house-drawer-head button{flex-shrink:0}
html.experience .house-line-item{gap:16px}
html.experience .house-line-item>div{min-width:0}
html.experience :is(.house-context-actions,.house-product-actions){display:flex;align-items:center;flex-wrap:wrap;gap:12px}
html.experience :is(.social-head,.social-author,.social-actions,.social-profile-actions){min-width:0}
html.experience .experience-workspace h1{line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
html.experience .experience-workspace-tabs button{min-width:0;overflow-wrap:anywhere;white-space:normal}
@media(max-width:700px){html.experience .house-drawer-body{padding-bottom:calc(28px + env(safe-area-inset-bottom))}html.experience .experience-workspace-tabs button{line-height:1.25;min-height:54px}html.experience .house-header-side button{min-width:44px}}

/* Content rhythm is scoped to reading surfaces, never the spatial canvas HUD. */
html.experience :is(.house-drawer-body,.account-panel,.studio-page,.profile-editor,.viewer .panel,.social-panel,.lens-report) p+p{margin-top:12px}
html.experience :is(.house-drawer-body,.account-panel,.studio-page,.profile-editor,.viewer .panel,.social-panel) :is(h2,h3,h4)+p{margin-top:10px}
html.experience :is(.house-drawer-body,.account-panel,.profile-editor,.studio-form) label{display:block;margin-bottom:8px}
html.experience .viewer .kv{row-gap:22px;column-gap:24px;line-height:1.55}
html.experience .viewer .kv b{display:block;margin-top:5px}
html.experience .viewer .panel .actions{gap:12px;flex-wrap:wrap}
html.experience :is(.experience-feature-nav,.house-context-actions,.house-product-actions){row-gap:12px}
html.experience .collector-profile .pf-bio{font-size:15px;line-height:1.65}
html.experience .collector-profile :is(.pf-photo-hint,.pf-account-label,.pf-loading p,.pf-empty p){font-size:13px;line-height:1.6}
html.experience .collector-profile :is(.pf-social-actions .btn,.pf-page-top .btn,.profile-photo-notice .btn){font-size:14px;line-height:1.4;min-height:44px;white-space:normal;padding:11px 14px}
html.experience .collector-profile :is(.pf-private-row,.pf-privacy-note,.pf-saved-note,.profile-photo-notice,.pf-tab){font-size:13px;line-height:1.6}
html.experience .collector-profile .pf-private-row{border-top:0;padding-top:10px}
html.experience .collector-profile .pf-page-top .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.08em}
html.experience .collector-profile .pf-title-row .pill{font-size:12px;line-height:1.4}
html.experience .collector-profile .pf-social-actions{gap:10px}
html.experience .collector-profile .pf-tab em{font-size:12px}
html.experience .experience-feature-nav>span{font-size:12px;letter-spacing:.06em}
html.experience .experience-feature-nav button{font-size:14px}
html.experience :is(.profile-editor,.account-panel,.viewer .panel,.social-panel,.lens-report) .btn-sm{font-size:14px;line-height:1.4;min-height:44px;padding:11px 14px;white-space:normal}
body:is(.catalog-experience,.app-experience,.holo-service) :is(button,input,textarea,select,h1,h2,h3,p,small,li,label,summary,dt,dd,a){font-family:var(--holo-font)!important}
body:is(.catalog-experience,.app-experience,.holo-service) :is(h1,h2,h3){letter-spacing:-.025em;line-height:1.2;overflow-wrap:break-word}
body:is(.catalog-experience,.app-experience,.holo-service) :is(p,li){line-height:1.65;overflow-wrap:anywhere}
body:is(.catalog-experience,.app-experience,.holo-service) :is(input,textarea,select){font-size:max(16px,1rem);line-height:1.5}
body.holo-service{font-size:16px}
body.holo-service :is(.meta,footer,.return-help,.return-note){font-size:13px;line-height:1.6}
body.holo-service nav{flex-wrap:wrap;column-gap:20px;row-gap:8px;font-size:14px}
body.holo-service :is(header,main,footer){min-width:0}
body.holo-service :is(h2,h3)+p{margin-top:10px}
body.holo-service .panel+ .panel{margin-top:20px}
body.holo-service .grid .panel{margin-top:0}
body.holo-service .panel p+p{margin-top:12px}
body.holo-service .panel label{display:block;margin-bottom:8px}
body.holo-service .intro{font-size:17px;max-width:65ch}
body.holo-service details p{font-size:15px;line-height:1.7}
body.holo-service :is(a.button,button){min-height:44px;line-height:1.4}
@media(max-width:600px){body.holo-service header{align-items:flex-start;flex-wrap:wrap}body.holo-service .intro{font-size:16px}body.holo-service h1{font-size:clamp(30px,8vw,42px);line-height:1.18}html.experience .viewer .kv{column-gap:16px}}

/* Product decisions remain readable at phone widths. */
html.experience :is(.commerce-product,.page-head,.kit-builder) .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.08em}
html.experience .commerce-product li{font-size:14px;line-height:1.6}
html.experience :is(.commerce-product,.commerce-tabs) button{font-size:14px;line-height:1.4;min-height:44px}

/* Secondary labels remain legible without competing with card names. */
html.experience body .modal>.viewer>.vault-stage>.vault-stage-label{font-size:12px}
html.experience .social-feed-aside :is(.social-person small,.social-trend small){font-size:12px;line-height:1.6}
html.experience .collector-profile .pf-stats span{font-size:12px;line-height:1.5}
html.experience .collector-profile .pf-grid-art .card-photo-state{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
