/* V34 · Architectural editorial: light commerce, navy engineering.
   Fixed art direction, not a light/dark mode. Preserves the V26/V31 layout. */
html.theme-fixed {
  color-scheme: dark;
  --bg:#07111f; --bg-2:#091727; --bg-3:#0d1c30; --bg-elev:#11243a;
  --ink:#f5f8fc; --ink-2:#c2cede; --ink-soft:#c2cede; --muted:#a9b9cb; --muted-2:#93a4b9;
  --line:#293d53; --line-2:#435a72; --card:#0d1c30;
  --glass:#11243a; --glass-2:#142a42; --glass-strong:#0b1b2d;
  --gold:#e4b56a; --gold-lt:#f2cb8b; --cyan:#50c9df; --cyan-lt:#78dcef;
  --paper:#f3f6f8; --paper-card:#fff; --paper-ink:#14263b;
  --paper-soft:#4b6075; --paper-line:#cdd8e2; --paper-accent:#92520c;
  --motion-fast:180ms; --motion-enter:320ms; --ease-out:cubic-bezier(.22,1,.36,1);
}

/* Deployment-safe fallback: a missing bitmap/SVG never leaves a broken-image glyph. */
.asset-fallback-icon {
  width:1.75rem;
  height:1.75rem;
  flex:0 0 auto;
  color:var(--cyan, #22b8d6);
}
.brand > .asset-fallback-icon {
  width:2.75rem;
  height:2.75rem;
  padding:.55rem;
  border:1px solid rgba(34,184,214,.34);
  border-radius:50%;
  background:#071829;
}
body { background:var(--bg); color:var(--ink); }
:is(h1,h2,h3) { text-wrap:balance; }
:is(.money,.price-secondary,.tier-price,.quick-product-bottom strong) { font-variant-numeric:tabular-nums; }
:is(button,a,input,select,summary):focus-visible { outline:3px solid #2995b3; outline-offset:4px; }
.ui-icon { display:inline-block; vertical-align:middle; flex-shrink:0; }

/* Warm white navigation is deliberately distinct from the navy hero. */
.topbar,nav#nav,.nav-products-menu,.quick-shop { color-scheme:light; }
.topbar { background:#f4f7f9; color:var(--paper-soft); }
nav#nav,nav#nav.scrolled { background:#fffffff5; border-color:#dce4eb; box-shadow:0 8px 30px #091c3112; backdrop-filter:blur(12px); }
.nav-inner .brand-txt .b-name { color:var(--paper-ink); }
.nav-inner .brand-txt .b-sub { color:var(--paper-soft); }
.nav-search { background:#f2f5f8; border-color:var(--paper-line); }
.nav-search input::placeholder { color:#586c80; }
.nav-cart-trigger { border-color:var(--paper-line); color:#203c53; }
.nav-links>a,.nav-products>summary { min-height:46px; border-radius:10px; transition:color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast); }
.nav-products-menu { border-radius:0 0 20px 20px; box-shadow:0 26px 64px #071c3133; }
.nav-mega-topline { background:#f7f9fb; min-height:54px; letter-spacing:.035em; }
.nav-mega-heading { font-size:12px; letter-spacing:.04em; }
.nav-category-link { min-height:48px; }
.nav-mega-more .nav-product-link:hover { padding-left:2px!important; }
.nav-mega-more .nav-product-copy strong { font-size:13px; line-height:1.4; }
.nav-featured-head .nav-product-copy strong { font-size:14px; }
.nav-featured-action,.nav-mega-footer :is(.nav-product-all,.nav-menu-catalog) { font-size:13px; min-height:48px; }
.nav-menu-close { width:44px; height:44px; flex-basis:44px; }
.burger { width:auto; min-width:48px; height:48px; padding:0 12px; gap:8px; grid-auto-flow:column; border:1px solid var(--paper-line); background:#f6f8fa; color:var(--paper-ink); cursor:pointer; }
.burger-label { font:700 13px/1 var(--font-title); }
.burger:hover,.burger[aria-expanded="true"] { color:#8d520d; border-color:#cba263; background:#fcf5e9; }
.mobile-panel { background:#0b1b2d!important; backdrop-filter:none!important; box-shadow:-20px 0 80px #0005; }
.mobile-panel>button[aria-label="Cerrar menú"] { width:44px!important; height:44px!important; display:grid; place-items:center; }
.mobile-nav-link { color:var(--ink-2); min-height:48px; }
.mobile-nav-link:hover { background:var(--bg-elev); color:var(--ink); }

/* Architectural stage: restrained depth; the live model remains the focus. */
.hero { background:#071422; }
.hero .hero-real-bg { opacity:.66; }
.hero .hero-real-bg img { filter:saturate(.65) brightness(.92); }
.hero .hero-real-bg::after { background:linear-gradient(90deg,#071422f5 0%,#071422e6 37%,#07142299 100%),linear-gradient(0deg,#071422,transparent 75%); }
.hero h1 { letter-spacing:-.052em; }
.hero h1 .t3 { color:#ebbb75; background:linear-gradient(105deg,#f4d4a0,#dfa44e); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-desc { color:#c5d2df; }
.hero-assurance { background:#0b1b2c; border-top:1px solid #3c536650; border-bottom:1px solid #3c536650; }
.hero-assurance-item>span { background:#162b3c; border:1px solid #36506b; border-radius:12px; color:#e9bc7b; }
.hero-assurance-item small { color:#b7c8d9; }
.btn-gold { background:linear-gradient(120deg,#edc280,#dda348); color:#172332; border-color:#e4b267; box-shadow:0 2px 0 #ffffff30 inset,0 8px 24px #c4862930; }
.btn-gold:hover { background:linear-gradient(120deg,#f4d09a,#e6b35e); color:#172332; box-shadow:0 2px 0 #ffffff40 inset,0 12px 30px #c4862940; }
.btn-ghost { border-color:#526d87; color:#e3edf7; }
.hero-ctas .btn { min-height:52px; }
#bimScene { border:1px solid #526d8766; border-radius:22px; background:#0d2033; box-shadow:0 34px 80px #0006,0 2px 0 #9ed0ed17 inset; }
#bimScene .bim-console-head { background:linear-gradient(110deg,#142a40,#0b1a2c); min-height:56px; }
.bim-console-brand { font:700 11px/1.4 var(--font-title); letter-spacing:.045em; }
.bim-console-status { font:600 11px/1.4 var(--font-title); letter-spacing:.01em; }
.bim-expand { width:44px; height:44px; flex-basis:44px; }
.bim-view-tools { background:#102438; padding:9px 12px; }
.bim-view-tools button { min-height:44px; transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast); }
#bimScene .bim-phase-card { border-color:#75909e55; background:#112438ee; box-shadow:0 8px 20px #04152426; }
#bimScene .bim-hint { background:#142e42eb; color:#e7f0f7; border-color:#769aaa55; font-size:11px; padding:8px 12px; }
#bimScene .bim-console-foot { background:#0b1c2d; border-color:#344d64; }
#bimScene .bim-tool { border-color:#435b72; }
#bimScene .bim-tool.primary { background:#edbc74; color:#132439; border-color:#e7b369; }
#bimScene .bim-tool:disabled { opacity:.4; cursor:not-allowed; }
#bimScene .bim-data-tag { background:#112438eb; border-color:#708e9c55; }

/* Products sit on a quiet paper surface. Prices and actions never tilt. */
.quick-shop { --ink:var(--paper-ink); --ink-2:var(--paper-soft); --muted:var(--paper-soft); --line:var(--paper-line); --gold:#92520c; --gold-lt:#995c12; --cyan:#0c5972; background:linear-gradient(160deg,#fcfcfd,#eff4f7); color:var(--paper-ink); border-bottom:1px solid #d6e1e8; }
.quick-shop.section.tight { padding-block:72px; }
.quick-shop .sec-title { color:var(--paper-ink); font-size:clamp(2rem,3.25vw,3rem); }
.quick-shop .sec-title .grad { color:#92520c; -webkit-text-fill-color:#92520c; }
.quick-shop :is(.sec-sub,.quick-product p,.quick-product-meta,.quick-product-bottom small,.price-secondary,.quick-trust) { color:var(--paper-soft); }
.quick-shop .quick-product { background:#fff; border:1px solid #ccd8e1; padding:22px; box-shadow:0 4px 12px #17375105,0 14px 35px #17375109; isolation:isolate; }
.quick-shop .quick-product-featured { border-color:#cfaa73; box-shadow:0 4px 12px #91530d06,0 14px 35px #91530d0d; }
.quick-shop .quick-product h3 { color:var(--paper-ink); font-size:1.2rem; margin-bottom:12px; }
.quick-shop .quick-product-media { aspect-ratio:16/10; height:auto; width:calc(100% + 44px); margin:-22px -22px 0; border-bottom:1px solid #d4dfe8; background:#e9eff4; transform-origin:center bottom; }
.quick-shop .quick-product-media img { object-fit:cover; }
.quick-shop .quick-product-media.product-ui img { object-fit:contain; padding:8px; }
.quick-shop .quick-product-media::after { background:none; }
.quick-shop .quick-product-icon { background:#eff5f8; border:1px solid #d6e2ea; border-radius:14px; box-shadow:0 3px 0 #dfe8ed,0 9px 16px #1939550c; }
.quick-shop .quick-product-icon.gold { background:#fff7e9; border-color:#ecd6b6; }
.quick-shop .quick-product-bottom { border-color:#dbe4eb; padding-top:20px; }
.quick-shop .quick-product-bottom strong { color:#8e4e09; font-size:2rem; letter-spacing:-.035em; }
.quick-shop .quick-buy { background:#0c5972; color:#fff; border:1px solid #0b5972; font-size:14px; box-shadow:0 4px 9px #0c597213; }
.quick-shop .quick-buy:hover { background:#08475d; box-shadow:0 6px 16px #0c597226; }
.quick-shop .quick-actions>a,.quick-shop .quick-product-custom>.btn { color:#1c455e; border-color:#b7cad8; background:#f1f6f9; }
.quick-shop .quick-trust { padding-top:24px; font-size:13px; gap:18px; }
.quick-shop .quick-trust>span>i { color:#0b714f; }
.quick-shop-catalog:hover { gap:inherit; text-decoration:underline; text-underline-offset:5px; }

/* A tactile, consistent family of engineering panels across every route. */
:is(.product-feature-card,.hub-card,.svc-card,.s-card,.pricing-tier,.price-card,.acad-card,.tut-card) { border-color:#324b63; background:linear-gradient(145deg,#102338,#0a1a2c); box-shadow:0 1px 0 #bce1ff08 inset,0 12px 30px #0000001c; }
.product-feature-card { border-radius:22px; }
.product-feature-copy { padding:32px; }
.product-feature-copy>p { color:#c2cfde; font-size:16px; line-height:1.75; }
.product-shot { background:#e9eff4; }
.product-shot>img { object-fit:contain; filter:none; }
.hub-card h3 { font-size:1.3rem; line-height:1.35; }
.hub-card p { font-size:15px; line-height:1.7; color:#b9cada; }
.hub-card .hc-go { min-height:44px; display:flex; align-items:center; font-size:12px; letter-spacing:.03em; }
.hub-card .hc-ic { border-radius:14px; border-color:#47627d; box-shadow:0 3px 0 #061321,0 7px 18px #0002; }
.s-card { border-radius:16px; }
.s-card :is(.s-ic,.s-icon) { filter:drop-shadow(0 5px 8px #0002); }
.pricing-tier .tier-desc,.plan-choice-body small { color:#b8cadb; }
.plan-choice { background:#10273b; border:1px solid #39546d; }
.plan-choice:has(input:checked) { background:linear-gradient(120deg,#263240,#17293b); border-color:#e7ba77; box-shadow:inset 3px 0 #e7ba77,0 8px 24px #0002; }
.plan-choice-cost b { color:#f4ca8d; }
.tier-name,.pricing-tier .tier-price { color:#f5f8fc; }
.pricing-tier .tier-desc { line-height:1.7; }
.cta-strip { background:linear-gradient(110deg,#162d43,#0c1c2d 70%); border-block:1px solid #34506a; }
.faq-item { border-color:#354d64; }
.faq-q { min-height:60px; }
.faq-a { color:#bfcedd; }

/* Motion enhances spatial continuity, but content is never hidden awaiting JS. */
.reveal,.reveal.left,.reveal.right,.reveal.zoom { opacity:1; transform:none; }
.depth-media { transition:transform 300ms var(--ease-out)!important; transform:perspective(1100px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)); }
@media(hover:hover) and (pointer:fine) {
  .quick-product:hover { border-color:#82a6bb; box-shadow:0 18px 38px #19375219; transform:translateY(-4px); }
  .hub-card:hover,.product-feature-card:hover { border-color:#69879e; box-shadow:0 20px 40px #0003; transform:translateY(-4px); }
  .s-card:hover { border-color:#6787a1; transform:translateY(-3px); }
}
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:premium-out 140ms ease both; }
::view-transition-new(root) { animation:premium-in 220ms var(--ease-out) both; }
@keyframes premium-out { to { opacity:0; } }
@keyframes premium-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(min-width:1024px) { .hero-grid { align-items:center; gap:44px; } #bimViewport { min-height:440px; } }
@media(max-width:900px) {
  .theme-fixed .addin-pricing,.theme-fixed .addin-pricing.pricing-3 { grid-template-columns:minmax(0,1fr); max-width:680px; }
  .theme-fixed .pricing-3>.tier.perpetua { grid-column:auto; }
  .pricing-tier .tier-name { flex-wrap:wrap; gap:10px; }
  .pricing-tier .tier-name .chip { white-space:nowrap; }
}
@media(max-width:700px) {
  .quick-shop.section.tight { padding-block:48px; }
  .quick-shop .quick-product { padding:20px; }
  .quick-shop .quick-product-media { width:calc(100% + 40px); margin:-20px -20px 0; aspect-ratio:16/9; }
  .quick-shop .quick-product h3 { font-size:1.3rem; }
  .quick-shop .quick-product p { font-size:15px; }
  .product-feature-copy { padding:24px; }
  .hero-assurance-item small { font-size:12px; }
  #bimScene .bim-hint { max-width:calc(100% - 20px); font-size:10px; padding:7px 10px; }
  #bimViewport { min-height:360px; }
}
@media(max-width:380px) { .burger-label { display:none; } .bim-console-brand { font-size:10px; } }
@media(prefers-reduced-motion:reduce) {
  .depth-media { transform:none!important; transition:none!important; }
  :is(.quick-product,.hub-card,.product-feature-card,.s-card):hover { transform:none; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none!important; }
}
