/* IMGENYA v31 — refinements over the preserved v26/v30 composition.
   No UI library; one motion language and explicit checkout color tokens. */
:root { --ease-out: cubic-bezier(.22, 1, .36, 1); --control-radius: 12px; --font-mono: ui-monospace, Consolas, monospace; }
html { scroll-padding-top: 120px; }
body { -webkit-font-smoothing: antialiased; }
.wrap { width: min(1240px, calc(100% - 64px)); max-width: 1240px; margin-inline: auto; padding-inline:0; }
:is(button,a,input,select):focus-visible { outline: 3px solid #2496b4; outline-offset: 4px; }
:is(.btn,.quick-buy,.checkout-next,.copy-value,.nav-cart-trigger) {
  min-height: 46px; border-radius: var(--control-radius);
  transition: background-color .2s, border-color .2s, box-shadow .2s, transform .25s var(--ease-out);
}
.btn-gold { box-shadow: 0 6px 20px #bf7c2420; }
.btn-gold:hover { box-shadow: 0 10px 26px #bf7c2430; transform: translateY(-2px); }
.btn:active,.quick-buy:active,.checkout-next:active { transform: translateY(0) scale(.985); }
.btn i,.quick-buy i,.nav-featured-action i { transition: transform .25s var(--ease-out); }
.btn:hover .fa-arrow-right,.quick-buy:hover .fa-arrow-right,.nav-featured-card:hover .fa-arrow-right { transform: translateX(4px); }
/* The nav is the containing block. Never animate away translateX(-50%). */
.nav-products { position:static; }
.nav-products-menu { position:absolute; top:100%; left:50%; width:min(1120px,calc(100vw - 48px)); max-height:calc(100dvh - var(--nav-bottom,120px) - 20px); transform:translate(-50%,0); box-shadow:0 22px 60px #00162926; overflow:auto; overscroll-behavior:contain; }
.nav-products[open] .nav-products-menu { animation:mega-arrive .24s var(--ease-out) both; }
.nav-mega-layout { grid-template-columns:minmax(180px,.75fr) minmax(0,1.3fr) minmax(0,1fr); min-height:0; }
.nav-mega-column { min-width:0; padding:20px; }
.nav-products-menu { --mega-muted:#52657b; }
.nav-mega-heading { font-size:11px; color:#52657b; }
.nav-mega-topline { font-size:11px; }
.nav-links>a,.nav-products>summary { font-size:13px; }
.nav-mega-topline,.nav-mega-footer { position:sticky; z-index:2; }
.nav-mega-topline { top:0; }
.nav-mega-support { margin-left:auto; }
.nav-menu-close { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid #d5dee7; border-radius:8px; color:#28465e; background:#fff; cursor:pointer; }
.nav-mega-footer { bottom:0; }
.nav-mega-footer .nav-menu-catalog { width:auto; max-width:none; white-space:nowrap; }
.nav-featured-card { min-height:0!important; }
.nav-featured-visual { min-height:0; aspect-ratio:16/9; }
.nav-featured-visual img { object-fit:contain; }
.nav-mega-more .nav-product-link { grid-template-columns:38px minmax(0,1fr); gap:8px 12px; }
.nav-mega-more .nav-product-price { grid-column:2; justify-self:start; }
.nav-mega-more .nav-product-copy small,.nav-featured-head .nav-product-copy small { font-size:12px; line-height:1.5; }
.nav-featured-head { grid-template-columns:38px minmax(0,1fr); }
.nav-featured-head .nav-product-price { grid-column:2; justify-self:start; }
.nav-category-link { font-size:12px!important; }
@keyframes mega-arrive { from { opacity:0; transform:translate(-50%,8px); } to { opacity:1; transform:translate(-50%,0); } }
.nav-cart-trigger { position: relative; }
.cart-count { position:absolute; top:-5px; right:-5px; display:grid; place-items:center; min-width:21px; height:21px; padding:0 4px; border:2px solid white; border-radius:20px; background:#986015; color:white; font:800 11px/1 var(--font-title); }
.cart-count[hidden] { display:none; }
.nav-product-link,.hub-card,.product-feature-card,.quick-product-card,.s-card { transition: border-color .25s, background .25s, box-shadow .25s, transform .3s var(--ease-out); }
.hero { padding-top: 156px; }
.hero-grid { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(28px,4vw,64px); padding-block: 20px 42px; }
.hero h1 { max-width: 11ch; font-size: clamp(2.9rem,4.45vw,4.2rem); line-height:1.06; letter-spacing:-.05em; }
.hero-desc { font-size:1.05rem; line-height:1.7; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:12px; }
.hero .hero-trustline { border:0; padding:8px 0; background:transparent; box-shadow:none; font-size:.8rem; }
.hero .hero-real-bg { opacity:.75; }
.hero .hero-real-bg img { filter:saturate(.65) brightness(.85); }
.hero .hero-real-bg::after { background:linear-gradient(90deg,#06111ff5 0%,#06111fdf 40%,#06111f91),linear-gradient(0deg,#06111f,transparent 70%); }
.hero-assurance-item small { font-size:.8rem; line-height:1.5; }
.quick-shop { padding-block:72px; }
.quick-shop .quick-product { overflow:visible; border-radius:16px; min-height:0; height:auto; padding:22px; }
.quick-product-media { flex-shrink:0; border-radius:15px 15px 0 0; }
.quick-shop .quick-product-media { height:auto; aspect-ratio:16/9; }
.quick-shop .quick-product-media.product-ui img { object-fit:contain; }
.quick-shop .quick-product h3 { font-size:1.2rem; line-height:1.35; }
.quick-shop .quick-product p { font-size:14px; line-height:1.7; }
.quick-product-top { flex-wrap:wrap; }
.quick-product-icon { flex-shrink:0; }
.quick-product-bottom { flex-direction:column; align-items:stretch; gap:16px; }
.quick-product-bottom>div:first-child { align-items:flex-start; }
.quick-product-bottom .quick-actions { display:flex; width:100%; }
.quick-product-bottom .quick-actions>a { flex:0 0 46px; }
.quick-product-bottom .quick-buy { flex:1; width:100%; justify-content:center; white-space:normal; font-size:13px; line-height:1.4; min-height:48px; }
.quick-product-custom>.btn { white-space:normal; min-height:48px; padding-inline:10px; font-size:13px; }
.quick-shop-catalog { color:#155f80!important; opacity:1!important; min-height:48px; }
.quick-shop .quick-product-bottom strong { font-size:1.85rem; }
.quick-shop :is(.quick-product-badge,.quick-product-meta,.quick-tags span) { font-size:12px; }
.quick-shop .quick-product-meta,.quick-shop .quick-product-bottom small { color:#52657b; }
.quick-shop :is(.quick-buy:focus-visible,.quick-actions>a:focus-visible) { outline:3px solid #086482; outline-offset:3px; }
.reveal { transition-duration:280ms,320ms; }
.reveal:focus-within { opacity:1!important; transform:none!important; }
.product-feature-card,.hub-card { min-width:0; }
.product-feature-card .btn { white-space:normal; }
.quick-product-media img { transition:transform .65s var(--ease-out); }
.quick-product-card:hover .quick-product-media img { transform:scale(1.035); }
.quick-product-bottom strong { font-variant-numeric:tabular-nums; font-size:1.8rem; letter-spacing:-.05em; }
.quick-product-bottom small { letter-spacing:.02em; }
.bim-scene,.bim-console { border-radius:20px; }
#bimScene { overflow:hidden; box-shadow:0 30px 70px #0005; }
#bimViewport { min-height:370px; background:radial-gradient(ellipse at 50% 35%,#e3e9ec 0%,#b4c2ca 65%,#8f9faa 100%); }
.bim-webgl { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
#bimCanvas { position:relative; z-index:1; }
#bimScene .bim-console-head { gap:12px; }
.bim-expand { margin-left:auto; flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border:1px solid #52647b; border-radius:8px; background:#11263b; color:#e9f1f6; cursor:pointer; }
#bimPause { width:auto; min-width:44px; flex:0 0 auto; padding:0 12px; display:flex; align-items:center; gap:8px; white-space:nowrap; }
#bimViewport:focus-within { outline:3px solid #279fbe; outline-offset:-3px; }
.bim-play-label { font:700 12px/1.3 var(--font-title); }
#bimScene .bim-live { margin-left:auto; }
#bimScene[data-renderer=webgl] #bimViewport { background:#e4e9e9; }
#bimScene.bim-expanded { position:fixed; inset:20px; width:auto; height:auto; max-width:none; z-index:1800; display:flex; flex-direction:column; background:#081626; border:1px solid #52647b; box-shadow:0 0 0 100vmax #020914d9; }
#bimScene.bim-expanded #bimViewport { flex:1; height:auto; min-height:0; }
body.bim-is-expanded { overflow:hidden; }
#bimScene.bim-expanded .bim-expand { background:#d8a75f; color:#081626; }
#bimViewport::before,#bimViewport::after { display:none; }
.bim-view-tools { display:flex; gap:5px; padding:10px 14px; background:#0b1b2d; border-bottom:1px solid #ffffff1a; }
.bim-view-tools button { flex:1; min-height:38px; padding:7px; border:1px solid transparent; border-radius:8px; background:transparent; color:#c5d3e1; font:650 12px/1.3 var(--font-title); cursor:pointer; }
.bim-view-tools button[aria-pressed="true"] { color:#f0c782; background:#d8a75f1c; border-color:#d8a75f55; }
.bim-view-tools button:hover { background:#ffffff14; }
.bim-data-tag,.bim-phase { backdrop-filter:none; }
.bim-hint { font-family:var(--font-title); font-size:11px; }
.pricing-tier { border-radius:20px; }
.pricing-tier .tier-name { font-size:1.5rem; }
.pricing-tier .tier-desc { font-size:.95rem; line-height:1.65; }
.plan-choice { border-radius:12px; padding:18px; transition:background .2s,border-color .2s,box-shadow .2s; }
.price-secondary { display:block; font:650 13px/1.5 var(--font-title); color:var(--ink-soft); font-variant-numeric:tabular-nums; white-space:nowrap; }
.quick-shop .price-secondary { color:#52657b; }
.plan-choice-cost .price-secondary { color:var(--ink-soft); margin-top:3px; }
#checkoutShell .catalog-usd-price { display:block; color:var(--checkout-soft); font:700 13px/1.5 var(--font-title); white-space:nowrap; }
#checkoutShell .checkout-usd-quote { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 0 0; color:var(--checkout-soft); font-size:13px; }
#checkoutShell .checkout-usd-quote[hidden],#checkoutShell .checkout-usd-help[hidden] { display:none; }
#checkoutShell .checkout-usd-help { color:var(--checkout-soft); font-size:12px; line-height:1.6; margin:12px 0; }
#checkoutShell #checkoutConfirmItems li>b { max-width:160px; white-space:normal; text-align:right; font-variant-numeric:tabular-nums; }
.plan-choice:has(input:checked) { border-color:#d8a75f; box-shadow:inset 3px 0 #d8a75f,0 8px 24px #00000010; }
.plan-choice-cost b { font:800 1.7rem/1.1 var(--font-title); letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.pricing-tier .plan-choice-cost b.money { font-family:var(--font-title); }
.plan-choice-body small,.plan-choice-saving,.plan-choice-group~p { font-size:12px; }
.plan-choice-meter { height:4px; margin-top:12px; opacity:.8; }
.offer-impact { border-radius:14px; }
.offer-impact-score strong { font-family:var(--font-title); }
.offer-math { font-size:13px; line-height:1.5; }
.offer-price-cluster .tier-price { letter-spacing:-.055em; }
.price-live-summary { margin-top:18px; padding:18px; border:1px solid #d8a75f55; border-radius:12px; background:#d8a75f0a; }
.price-live-summary small { display:block; color:var(--ink-2); font-size:12px; line-height:1.5; }
.price-live-summary strong { display:block; color:var(--gold-lt); font:800 1.45rem/1.4 var(--font-title); }
.price-live-summary span { font-size:12px; color:var(--ink-2); }
html.light .price-live-summary strong { color:#8d520d; }

/* Checkout stays opaque and high-contrast, independent of page imagery. */
#buyOverlay { padding:24px; background:rgba(2,10,21,.78); backdrop-filter:blur(7px); }
#checkoutShell {
  --checkout-ink:#edf3fa; --checkout-soft:#becbda; --checkout-muted:#acbdd0;
  --checkout-bg:#0b192b; --checkout-card:#10243a; --checkout-line:#31465f;
  width:min(1080px,100%); max-height:calc(100dvh - 48px); background:var(--checkout-bg);
  color:var(--checkout-ink); border:1px solid var(--checkout-line); border-radius:22px;
  box-shadow:0 35px 110px #0008; isolation:isolate;
  display:flex; flex-direction:column; overflow:hidden;
}
html.light #checkoutShell { --checkout-ink:#15273b; --checkout-soft:#41566e; --checkout-muted:#4d627b; --checkout-bg:#f8fafc; --checkout-card:#fff; --checkout-line:#cbd7e4; background:var(--checkout-bg); }
#checkoutShell .checkout-head { flex:none; padding:26px 32px 20px; background:var(--checkout-bg); border-bottom:1px solid var(--checkout-line); }
#checkoutTitle { font-size:clamp(1.55rem,2.5vw,2rem); letter-spacing:-.04em; color:var(--checkout-ink); }
#checkoutShell .checkout-head>p { font-size:14px; line-height:1.6; color:var(--checkout-soft); }
#checkoutShell .checkout-kicker { font-size:11px; letter-spacing:.08em; color:var(--checkout-soft); }
#checkoutShell[data-checkout-stage="2"] .checkout-head,#checkoutShell[data-checkout-stage="3"] .checkout-head { padding-block:18px 14px; }
#checkoutShell[data-checkout-stage="2"] .checkout-head>p,#checkoutShell[data-checkout-stage="3"] .checkout-head>p { display:none; }
#checkoutShell[data-checkout-stage="2"] .checkout-steps,#checkoutShell[data-checkout-stage="3"] .checkout-steps { margin-top:12px; }
#checkoutShell .checkout-confidence { display:none; }
#checkoutShell .checkout-steps { margin-top:20px; gap:20px; }
#checkoutShell .checkout-steps>span { font:700 13px/1.3 var(--font-title); color:var(--checkout-muted); }
#checkoutShell .checkout-steps>span.active { color:var(--checkout-ink); }
#checkoutShell .checkout-steps>span.active>b { background:#d8a75f; border-color:#d8a75f; color:#152333; }
#checkoutShell .checkout-body { flex:1; min-height:0; overflow-y:auto; padding:24px 32px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#71859d transparent; }
#checkoutShell .checkout-stage { padding:0; background:transparent; border:0; box-shadow:none; }
#checkoutShell .checkout-stage.active { animation:panel-arrive .25s var(--ease-out); }
#checkoutShell .checkout-section-title h3 { font-size:1.15rem; color:var(--checkout-ink); }
#checkoutShell .checkout-section-title p { color:var(--checkout-soft); font-size:13px; line-height:1.55; }
#checkoutShell .checkout-section-number { color:#e7b76d; background:#d8a75f14; }
html.light #checkoutShell .checkout-section-number { color:#8d520d; background:#f5ead9; }
#checkoutShell .multi-chip { display:none; }
.catalog-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:18px 0; }
.catalog-search { flex:1 1 200px; display:flex; align-items:center; gap:10px; padding:0 14px; background:var(--checkout-card); border:1px solid var(--checkout-line); border-radius:10px; color:var(--checkout-muted); }
.catalog-search input { width:100%; min-height:44px; border:0; outline:0; background:transparent; color:var(--checkout-ink); font:500 14px var(--font-title); }
.catalog-search:focus-within { outline:2px solid #43c3db; outline-offset:2px; }
.catalog-filters { display:flex; flex-wrap:wrap; gap:5px; }
.catalog-filters button { min-height:44px; padding:8px 12px; border:1px solid var(--checkout-line); border-radius:9px; background:transparent; color:var(--checkout-soft); font:650 12px var(--font-title); cursor:pointer; }
.catalog-filters button[aria-pressed="true"] { background:#d8a75f; border-color:#d8a75f; color:#102237; }
#checkoutShell .catalog-option { min-height:122px; padding:18px; gap:14px; border:1px solid var(--checkout-line); border-radius:14px; background:var(--checkout-card); }
#checkoutShell .catalog-option.selected { border-color:#d8a75f; background:color-mix(in srgb,var(--checkout-card) 95%,#d8a75f); box-shadow:inset 0 0 0 1px #d8a75f; }
#checkoutShell .catalog-option:not(.selected):hover { border-color:#71859d; }
#checkoutShell .catalog-option-copy strong { color:var(--checkout-ink); font-size:14px; line-height:1.4; }
#checkoutShell .catalog-option-copy small { color:var(--checkout-soft); font-size:12px; line-height:1.6; }
#checkoutShell .catalog-price b { color:#edbd76; font:800 1.55rem/1.15 var(--font-title); letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
html.light #checkoutShell .catalog-price b { color:#8d520d; }
#checkoutShell .catalog-price s { color:var(--checkout-muted); font-size:12px; }
#checkoutShell .catalog-price em { font:600 11px/1.5 var(--font-title); color:var(--checkout-soft); }
#checkoutShell .catalog-check { border-color:var(--checkout-line); }
#checkoutShell .catalog-option.selected .catalog-check { background:#d8a75f; border-color:#d8a75f; color:#102237; }
.catalog-plan-picker { grid-column:2/-1; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:8px; }
.catalog-plan-picker span { font-size:12px; color:var(--checkout-soft); }
.catalog-plan-picker select { min-width:0; flex:1; min-height:40px; padding:8px; border:1px solid var(--checkout-line); border-radius:8px; background:var(--checkout-bg); color:var(--checkout-ink); font:600 12px var(--font-title); }
.catalog-empty,.cart-notice { font-size:13px; color:var(--checkout-soft); line-height:1.5; }
.cart-notice { display:flex; gap:8px; align-items:center; margin:0 0 14px; }
.cart-notice svg { width:18px; height:18px; color:#50c9df; }
#checkoutShell .checkout-summary { background:var(--checkout-card); border:1px solid var(--checkout-line); border-radius:14px; }
#checkoutShell .checkout-savings { font-size:13px; }
#checkoutShell .checkout-pricing strong { font-family:var(--font-title); }
#checkoutShell .checkout-nav { flex:none; position:relative; background:var(--checkout-card); border-top:1px solid var(--checkout-line); padding:18px 32px max(18px,env(safe-area-inset-bottom)); gap:16px; }
#checkoutShell .checkout-nav-total>span { color:var(--checkout-muted); font-size:12px; letter-spacing:.03em; }
#checkoutShell .checkout-nav-total>strong { color:var(--checkout-ink); font:800 1.6rem/1.2 var(--font-title); font-variant-numeric:tabular-nums; }
#checkoutShell .checkout-next { min-height:50px; padding:12px 24px; background:#d8a75f; color:#102237; font:800 14px var(--font-title); box-shadow:none; }
#checkoutShell .checkout-next:disabled { opacity:.4; cursor:not-allowed; }
#checkoutShell .checkout-back { min-height:44px; color:var(--checkout-soft); }
#checkoutShell .checkout-close { top:18px; right:18px; width:44px; height:44px; background:var(--checkout-card); color:var(--checkout-ink); border:1px solid var(--checkout-line); }
#checkoutShell .checkout-order-brief { background:var(--checkout-card); border:1px solid var(--checkout-line); box-shadow:none; }
#checkoutShell .checkout-order-brief { padding:12px 16px; margin-bottom:16px; }
#checkoutShell .checkout-order-brief-total>.payment-amount-value { font-size:18px; }
#checkoutShell .checkout-order-brief strong { color:var(--checkout-ink); }
#checkoutShell .payment-method { min-height:80px; padding:15px; background:var(--checkout-card); border:1px solid var(--checkout-line); border-radius:12px; }
#checkoutShell .payment-method.active { border-color:#50c9df; box-shadow:inset 0 0 0 1px #50c9df; }
#checkoutShell .payment-method b { color:var(--checkout-ink); font-size:14px; }
#checkoutShell .payment-method small { color:var(--checkout-soft); font-size:12px; }
#checkoutShell .payment-panel { background:var(--checkout-card); border:1px solid var(--checkout-line); border-radius:16px; padding:24px; }
#checkoutShell .yape-panel { grid-template-columns:minmax(220px,300px) minmax(0,1fr); gap:28px; }
#checkoutShell .payment-qr>img { width:min(100%,300px); height:auto; padding:10px; background:white; border-radius:18px; box-shadow:0 12px 30px #0002; }
#checkoutShell .payment-qr>a { min-height:44px; color:var(--checkout-ink); font-size:13px; }
#checkoutShell .qr-caption { color:var(--checkout-ink); font-size:13px; }
#checkoutShell .payment-label { margin-top:18px; color:var(--checkout-muted); font:700 12px/1.4 var(--font-title); letter-spacing:.025em; }
#checkoutShell .payment-details>strong { color:var(--checkout-ink); font-size:18px; }
#checkoutShell .copy-row code { color:var(--checkout-ink); background:var(--checkout-bg); font:650 16px/1.6 ui-monospace,Consolas,monospace; letter-spacing:.02em; padding:12px; }
#checkoutShell .copy-row .copy-value { color:var(--checkout-ink); border-color:var(--checkout-line); background:var(--checkout-bg); font-size:12px; }
#checkoutShell .payment-current-amount { padding:16px; background:#d8a75f0f; border-color:#d8a75f55; }
#checkoutShell .payment-current-amount>span { color:var(--checkout-soft); font-size:13px; }
#checkoutShell .payment-current-amount>strong { color:var(--checkout-ink); font:800 1.6rem/1.2 var(--font-title); }
#checkoutShell .payment-guide { font-size:13px; line-height:1.6; color:var(--checkout-soft); }
#checkoutShell .payment-help,#checkoutShell .payment-security-note p { color:var(--checkout-soft); font-size:12px; line-height:1.6; }
#checkoutShell .confirm-order-card,#checkoutShell .checkout-confirm-action { background:var(--checkout-card); border:1px solid var(--checkout-line); box-shadow:none; }
#checkoutShell .checkout-confirm { width:100%; max-width:none; margin:0; }
#checkoutShell .checkout-confirm-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:20px; align-items:start; }
#checkoutShell .confirm-order-card { display:block; overflow:hidden; }
#checkoutShell .confirm-order-card picture { display:block; width:100%; height:120px; max-height:120px; }
#checkoutShell .confirm-order-card picture img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 44%; }
#checkoutShell .confirm-order-copy { padding:20px; }
#checkoutConfirmItems li>span:not(.confirm-item-icon) { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.5; font-size:12px; }
#checkoutShell .confirm-order-copy>strong { color:var(--checkout-ink); font-size:17px; }
#checkoutShell .confirm-order-facts b { color:var(--checkout-ink); font-size:14px; }
#checkoutShell .buyer-field>span { color:var(--checkout-soft); font-size:13px; }
#checkoutShell .buyer-field input { min-height:46px; color:var(--checkout-ink); background:var(--checkout-bg); border:1px solid var(--checkout-line); font-size:15px; }
#checkoutShell .checkout-send { background:#24b66b; color:#062619; font:800 14px/1.4 var(--font-title); box-shadow:none; }
#checkoutShell .checkout-nav .checkout-send { width:auto; margin:0; min-height:50px; padding:12px 20px; }
#checkoutShell .checkout-privacy { color:var(--checkout-soft); font-size:12px; }
.receipt-tools { margin-top:16px; }
.receipt-tools label { display:block; margin-bottom:8px; color:var(--checkout-soft); font-size:13px; }
.receipt-tools .buyer-field { margin-bottom:18px; }
.receipt-tools input[type=file] { width:100%; min-height:50px; padding:10px; border:1px dashed var(--checkout-line); border-radius:10px; color:var(--checkout-ink); background:var(--checkout-bg); font-size:12px; }
.receipt-tools input::file-selector-button { border:0; border-radius:7px; padding:9px 10px; margin-right:10px; background:#d8a75f; color:#102237; font:700 12px var(--font-title); cursor:pointer; }
.receipt-file-status { min-height:18px; margin:7px 0; font-size:12px; color:var(--checkout-soft); }
.receipt-file-status.error { color:#ff929e; }
html.light .receipt-file-status.error { color:#a92536; }
.receipt-utilities { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.receipt-utilities button { flex:1; padding:10px; min-height:44px; border:1px solid var(--checkout-line); border-radius:9px; background:var(--checkout-bg); color:var(--checkout-ink); font:650 12px/1.5 var(--font-title); cursor:pointer; }
.receipt-utilities button:hover { border-color:#d8a75f; }
.receipt-share-help { font-size:12px; line-height:1.6; color:var(--checkout-soft); }
[hidden] { display:none!important; }
@keyframes panel-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) { .quick-product-card:hover,.hub-card:hover,.product-feature-card:hover { transform:translateY(-4px); } }
@media (max-width:1023px) {
 .quick-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hero { padding-top:140px; }
 .hero-grid { grid-template-columns:1fr; }
 .hero-left { max-width:680px; margin-inline:auto; text-align:center; }
 .hero h1 { max-width:none; font-size:clamp(2.7rem,7vw,3.8rem); }
 .hero-desc { max-width:620px; margin-inline:auto; }
 .hero-ctas,.hero-trustline { justify-content:center; }
 .hero-right { width:100%; max-width:660px; margin-inline:auto; }
 #bimViewport { min-height:410px; }
 #checkoutShell .catalog-option { min-height:136px; }
}
@media (max-width:700px) {
 .quick-shop-head { grid-template-columns:1fr; gap:20px; }
 .quick-shop-grid { grid-template-columns:1fr; gap:24px; }
 .quick-shop .quick-product { padding:20px; }
 .quick-shop .quick-product-media { margin:-20px -20px 0; }
 .wrap { width:calc(100% - 40px); }
 .hero { padding-top:114px; }
 .hero-grid { padding-block:18px 30px; gap:28px; }
 .hero h1 { font-size:clamp(2.65rem,10vw,3.5rem); }
 .hero-desc { font-size:16px; }
 .hero-ctas { flex-direction:column; }
 .hero-ctas .btn { width:100%; font-size:14px; }
 #bimViewport { min-height:330px; }
 .bim-view-tools { padding:8px; }
 #bimScene .bim-console-head { padding:10px 12px; }
 #bimScene .bim-live { display:none; }
 #bimScene.bim-expanded { inset:8px; }
 .bim-hint { font-size:10px; max-width:94%; }
 .quick-shop { padding-block:48px; }
 #buyOverlay { padding:0; align-items:stretch; }
 #checkoutShell { width:100%; max-height:100dvh; height:100dvh; border-radius:0; border:0; }
 #checkoutShell .checkout-head { padding:20px 20px 16px; }
 #checkoutShell .checkout-kicker { max-width:80%; font-size:10px; }
 #checkoutShell .checkout-head>p { padding-right:30px; font-size:13px; }
 #checkoutShell .checkout-steps { gap:10px; margin-top:16px; }
 #checkoutShell .checkout-steps>span { font-size:12px; }
 #checkoutShell .checkout-body { padding:20px; }
 #checkoutShell .checkout-nav { display:grid; grid-template-columns:44px 1fr; padding:12px 20px max(12px,env(safe-area-inset-bottom)); gap:10px; }
 #checkoutShell .checkout-nav-total { margin-left:auto; text-align:right; }
 #checkoutShell .checkout-next { grid-column:1/-1; width:100%; min-height:48px; }
 #checkoutShell .checkout-nav .checkout-send { grid-column:1/-1; width:100%; min-height:48px; }
 #checkoutShell .checkout-steps>span>span { display:inline; }
 #checkoutShell .checkout-catalog-grid { grid-template-columns:1fr; }
 #checkoutShell .catalog-option { min-height:106px; padding:16px 12px; gap:10px; }
 #checkoutShell .catalog-price b { font-size:1.4rem; }
 #checkoutShell .catalog-option-copy strong { font-size:13px; }
 #checkoutShell .catalog-option-copy small { font-size:12px; }
 #checkoutShell .catalog-icon { width:34px; height:34px; }
 #checkoutShell .catalog-option { grid-template-columns:34px minmax(0,1fr) auto 18px; }
 .catalog-plan-picker { grid-column:1/-1; }
 .catalog-filters { width:100%; }
 .catalog-filters button { flex:1; padding:7px; }
 #checkoutShell .payment-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 #checkoutShell .payment-method { min-height:80px; padding:10px 6px; display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; }
 #checkoutShell .payment-method b { font-size:11px; white-space:normal; }
 #checkoutShell .payment-method img,#checkoutShell .payment-method .method-mark { width:30px; height:28px; }
 #checkoutShell .payment-method>i { display:none; }
 #checkoutShell .payment-method .method-subline,#checkoutShell .payment-method small { display:none; }
 #checkoutShell .checkout-order-brief { display:none; }
 #checkoutShell .checkout-payment>.checkout-section-title p { display:none; }
 #checkoutShell .checkout-payment>.checkout-section-title { margin-bottom:14px; }
 #checkoutShell .yape-panel { grid-template-columns:1fr; gap:18px; padding:20px 16px; }
 #checkoutShell .payment-current-amount-mobile { display:flex; }
 #checkoutShell .yape-details>.payment-current-amount { display:none; }
 #checkoutShell .payment-qr>img { width:min(100%,300px); }
 #checkoutShell .copy-row { grid-template-columns:minmax(0,1fr) auto; }
 #checkoutShell .copy-row code { font-size:clamp(12px,3.5vw,16px); padding:10px; overflow-wrap:anywhere; }
 #checkoutShell .checkout-confirm-layout { grid-template-columns:1fr; }
 #checkoutShell .confirm-order-card picture { display:none; }
 #checkoutShell .checkout-confirm-action { padding:18px; }
 .plan-choice { padding:16px 12px; }
 .plan-choice-cost b { font-size:1.5rem; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
 .reveal { opacity:1!important; transform:none!important; }
}
@media (max-width:480px) {
 .bim-view-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bim-phase-card { max-width:calc(100% - 110px); padding:8px; }
 .bim-phase-card>strong { font-size:12px; line-height:1.35; }
 .bim-console-foot { grid-template-columns:1fr auto; min-height:116px; }
 .bim-timeline { grid-column:1/-1; grid-row:2; }
 .bim-build-controls { grid-column:1; grid-row:1; }
 .bim-console-foot>.bim-tool { grid-column:2; grid-row:1; }
}
@media (max-width:380px) {
 .hero h1 { font-size:2.2rem; line-height:1.12; }
 .hero-ctas .btn { font-size:13px; }
 #checkoutShell .checkout-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 #checkoutShell .checkout-steps>span { flex-direction:column; gap:5px; min-width:0; font-size:11px; }
 #checkoutShell .checkout-steps>span::after { display:none; }
 #checkoutShell .catalog-option { grid-template-columns:34px minmax(0,1fr) auto; }
}
