/* PharmaPlaybook · Identidad Mineral + Azafrán. Diseño independiente de la landing de referencia. */
:root {
  --paper:#F7F7F4; --white:#FFFFFF; --mineral:#292927; --muted:#7A766E;
  --saffron:#E7B52C; --saffron-soft:#F7E6B1; --line:#DEDED7;
  --ink-soft:#58584F; --radius:12px; --shell:1280px;
  --font:'Inter',Arial,Helvetica,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--paper); color:var(--mineral); font-family:var(--font); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { font-family:var(--font); font-weight:650; text-wrap:balance; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.65; }
img { display:block; max-width:100%; height:auto; }
[hidden] { display:none !important; }
button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--saffron); outline-offset:5px; }
::selection { background:var(--saffron-soft); color:var(--mineral); }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.icon { display:inline-block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; vertical-align:middle; }
.shell { width:calc(100% - 112px); max-width:var(--shell); margin-inline:auto; }
.section { padding:105px 0; scroll-margin-top:76px; }
.eyebrow { display:flex; align-items:center; gap:13px; font-size:13px; line-height:1.4; font-weight:700; letter-spacing:.11em; margin-bottom:25px; }
.eyebrow::before { content:''; width:30px; height:3px; background:var(--saffron); flex:0 0 auto; }
h2 { font-size:clamp(32px,3.45vw,46px); line-height:1.13; letter-spacing:-.045em; }
.section-heading { display:grid; grid-template-columns:1.36fr 1fr; align-items:end; gap:90px; margin-bottom:45px; }
.section-heading > p { max-width:420px; font-size:17px; color:var(--ink-soft); line-height:1.7; padding-bottom:3px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:25px; min-height:56px; padding:15px 23px; border:1px solid transparent; border-radius:6px; font-weight:600; font-size:14px; line-height:1.4; text-align:center; transition:background .2s,transform .2s,box-shadow .2s; white-space:nowrap; }
.button .icon { width:21px; height:21px; transition:transform .2s; }
.button:hover .icon { transform:translateX(3px); }
.button:hover { transform:translateY(-2px); }
.button--yellow { background:var(--saffron); color:var(--mineral); }
.button--yellow:hover { color:var(--mineral); background:#EDC043; box-shadow:0 8px 25px #E7B52C30; }
.button--dark { background:var(--mineral); color:var(--white); }
.button--dark:hover { background:#3C3C37; color:var(--white); }
.button--small { min-height:44px; padding:11px 17px; font-size:13px; gap:20px; }
.button--large { min-height:65px; font-size:17px; padding:19px 28px; gap:50px; }
.text-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; font-weight:600; border-bottom:1px solid transparent; padding:10px 0; }
.text-link:hover { border-color:var(--mineral); }
.text-link .icon { width:18px; height:18px; }
.skip-link { position:fixed; left:20px; top:-100px; background:var(--mineral); color:white; padding:12px 20px; z-index:2000; }
.skip-link:focus { top:10px; }
/* Cabecera */
.site-header { position:sticky; top:0; background:rgba(247,247,244,.96); border-bottom:1px solid transparent; backdrop-filter:blur(16px); z-index:1000; transition:box-shadow .25s,border .25s; }
.site-header.is-scrolled { border-bottom-color:var(--line); box-shadow:0 4px 24px #29292706; }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:30px; }
.brand { display:block; width:237px; flex:0 0 auto; }
.site-nav { align-items:center; gap:32px; }
.site-nav > a { font-size:13px; font-weight:500; position:relative; padding:10px 0; }
.site-nav > a::after { content:''; position:absolute; bottom:3px; left:0; width:0; height:2px; background:var(--saffron); transition:width .2s; }
.site-nav > a:hover::after,.site-nav > a.is-current::after { width:100%; }
.nav-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--mineral); padding:9px; }
@media(min-width:992px) { .site-nav.collapse { display:flex !important; } }
/* Hero: materiales originales de la presentación, no una diapositiva rasterizada. */
.hero { position:relative; overflow:hidden; }
.hero-wash { position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 87% 42%,#F7E6B1C4 0%,#F7E6B14D 24%,#F7F7F400 56%); }
.hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; padding-top:47px; padding-bottom:54px; }
.hero-copy { position:relative; z-index:2; }
.hero-copy .eyebrow { margin-bottom:25px; }
.version-tag { font-size:11px; font-weight:700; letter-spacing:0; border:1px solid #D7C99D; border-radius:3px; padding:2px 6px; }
h1 { font-size:clamp(47px,5.1vw,70px); line-height:1.01; letter-spacing:-.056em; font-weight:700; }
h1 > span { font-weight:450; }
.hero-definition { font-size:19px; line-height:1.55; font-weight:500; margin-top:28px; max-width:495px; }
.hero-lead { font-size:15px; line-height:1.65; color:var(--ink-soft); margin-top:13px; max-width:455px; }
.hero-actions { display:flex; gap:25px; align-items:center; margin-top:30px; flex-wrap:wrap; }
.hero-stage { position:relative; width:100%; aspect-ratio:1/1.03; max-height:650px; align-self:center; }
.hero-symbol { position:absolute; width:65%; height:auto; left:27%; top:17%; opacity:.11; }
.hero-lines { position:absolute; width:100%; height:100%; fill:none; stroke:var(--saffron); stroke-width:1; opacity:.45; }
.hero-lines circle { fill:var(--saffron); stroke:none; }
.hero-document { position:absolute; overflow:hidden; box-shadow:0 12px 28px #2929271A; border:1px solid #DBDBD4; background:white; }
.hero-document--study { width:31%; top:3%; left:48%; transform:rotate(6deg); }
.hero-document--argument { width:35%; top:12%; left:11%; transform:rotate(-9deg); }
.hero-document--video { width:45%; top:33%; right:1%; transform:rotate(3deg); box-shadow:0 14px 32px #29292720; border:0; }
.hero-query { position:absolute; left:3%; top:60%; width:94%; display:flex; align-items:center; gap:13px; padding:19px 17px; border:1px solid #EFE5C8; background:white; border-radius:14px; box-shadow:0 15px 30px #79683C16; font-size:16px; font-weight:500; transition:transform .25s,box-shadow .25s; z-index:3; }
.hero-query:hover { transform:translateY(-3px); box-shadow:0 18px 36px #79683C26; }
.hero-query__spark { background:var(--saffron-soft); color:#AD8108; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; flex:0 0 auto; }
.hero-query__arrow { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--saffron); margin-left:auto; flex:0 0 auto; }
.hero-playbook { position:absolute; top:78%; right:2%; width:69%; display:flex; gap:18px; padding:23px; background:var(--mineral); color:var(--paper); border-radius:10px; box-shadow:0 12px 28px #29292720; transition:transform .25s; }
.hero-playbook:hover { transform:translateY(-3px); color:white; }
.hero-playbook > .icon { color:var(--saffron); width:31px; height:31px; }
.hero-playbook small { display:block; color:var(--saffron-soft); font-size:10px; font-weight:650; letter-spacing:.07em; margin-bottom:6px; }
.hero-playbook strong { display:block; font-size:19px; letter-spacing:-.025em; margin-bottom:7px; }
.hero-playbook span > span { display:block; font-size:10px; color:#C6C6BE; }
.hero-playbook .hero-playbook__arrow { width:16px; height:16px; margin-left:auto; color:#A9A99B; }
.hero-stage-caption { position:absolute; bottom:0; left:9%; font-size:11px; color:var(--muted); }
.hero-footer { display:flex; justify-content:space-between; gap:25px; padding-top:23px; padding-bottom:26px; border-top:1px solid #DCDCD4; font-size:12px; color:var(--muted); }
.hero-footer p { color:var(--ink-soft); font-weight:500; }
/* Exploración: varias dimensiones alrededor del catálogo, sin selects. */
.explore-section { background:var(--white); }
.explorer { border:1px solid var(--line); border-radius:12px; background:var(--paper); overflow:hidden; box-shadow:0 20px 60px #2929270B; }
.explorer-top { display:flex; justify-content:space-between; align-items:center; padding:18px 23px; background:var(--white); border-bottom:1px solid var(--line); }
.explorer-top__title { display:flex; gap:12px; align-items:center; font-size:14px; }
.explorer-top__title .icon { width:19px; height:19px; color:#A37C13; }
.demo-label { font-size:10px; color:#615D53; border:1px solid var(--line); padding:4px 8px; border-radius:3px; }
.explorer-specialties { display:flex; align-items:center; gap:12px; padding:17px 23px; }
.filter-label { font-size:10px; font-weight:650; color:var(--muted); letter-spacing:.04em; flex:0 0 auto; }
.explorer-specialties > .filter-label { width:126px; }
.filter-option { display:inline-flex; align-items:center; gap:9px; color:var(--mineral); background:var(--white); padding:12px 14px; border:1px solid var(--line); border-radius:6px; font-size:12px; text-align:left; line-height:1.35; transition:background .16s,border .16s,transform .16s; }
.filter-option > .icon { width:18px; height:18px; }
.filter-option:hover { border-color:var(--saffron); }
.filter-option[aria-pressed=true] { border-color:var(--saffron); background:var(--saffron-soft); font-weight:650; }
.filter-tick { opacity:0; width:13px !important; height:13px !important; margin-left:auto; }
.filter-option[aria-pressed=true] .filter-tick { opacity:1; }
.explorer-specialties .filter-option { flex:1; max-width:245px; }
.explorer-body { display:grid; grid-template-columns:160px minmax(0,1fr) 80px; background:var(--white); }
.explorer-goals { padding:23px 12px; background:var(--mineral); color:var(--paper); }
.explorer-goals .filter-label { color:var(--saffron-soft); display:block; margin:0 10px 18px; }
.explorer-goals .filter-option { background:transparent; color:#E0E0D8; border:1px solid transparent; padding:13px 9px; width:100%; margin-bottom:9px; border-radius:4px; gap:9px; font-size:11px; }
.explorer-goals .filter-option .icon { width:16px; height:16px; }
.explorer-goals .filter-option:hover { background:#3D3D36; }
.explorer-goals .filter-option[aria-pressed=true] { background:var(--saffron); border-color:var(--saffron); color:var(--mineral); }
.explorer-goals .filter-tick { display:none; }
.explorer-results { padding:0 21px 24px; min-width:0; }
.selection-row { display:flex; align-items:center; gap:12px; justify-content:space-between; min-height:60px; padding:12px 0; border-bottom:1px solid #EEEFE9; }
.selection-chips { display:flex; flex-wrap:wrap; gap:7px; }
.selection-empty { font-size:12px; color:var(--muted); }
.selection-chip { display:inline-flex; align-items:center; gap:13px; padding:6px 9px; font-size:11px; font-weight:600; border:0; border-radius:4px; background:var(--saffron-soft); color:var(--mineral); text-align:left; }
.selection-chip .icon { width:12px; height:12px; }
.clear-button { padding:5px 0; border:0; border-bottom:1px solid var(--muted); font-size:11px; color:var(--muted); background:transparent; }
.result-caption { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 0 16px; font-size:10px; }
.result-caption p { font-weight:650; color:var(--mineral); }
.result-caption > span { color:var(--muted); }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.material-card { display:flex; flex-direction:column; align-items:stretch; min-width:0; border:1px solid #E0E1DA; padding:0; background:white; color:var(--mineral); text-align:left; overflow:hidden; border-radius:7px; transition:border .2s,box-shadow .2s,transform .2s; }
.material-card:hover { border-color:var(--saffron); box-shadow:0 6px 16px #29292712; transform:translateY(-3px); }
.material-card__image { display:block; background:#F1F2EE; overflow:hidden; }
.material-card__image img { width:100%; aspect-ratio:680/430; object-fit:cover; transition:transform .3s; }
.material-card:hover img { transform:scale(1.035); }
.material-card__body { display:flex; flex-direction:column; justify-content:space-between; flex:1; padding:12px 10px 10px; gap:12px; }
.material-card__body > strong { display:block; font-size:11px; line-height:1.45; font-weight:600; min-height:32px; }
.material-card__body > span { display:flex; align-items:center; gap:5px; font-size:9px; line-height:1.35; color:var(--muted); }
.material-card__body .icon { width:11px; height:11px; }
.material-card__arrow { margin-left:auto; font-size:13px; }
.explorer-products { display:flex; flex-direction:column; align-items:center; padding:23px 10px; background:#FBFBF8; gap:10px; }
.explorer-products .filter-label { font-size:8px; margin:0 0 8px; }
.product-option { display:flex; align-items:center; justify-content:center; width:49px; height:55px; padding:0; font-weight:600; font-size:22px; position:relative; }
.product-option[aria-pressed=true] { background:var(--saffron); }
.product-option .filter-tick { position:absolute; top:4px; right:4px; width:10px !important; height:10px !important; }
.explorer-formats { padding:15px 22px; display:flex; align-items:center; gap:12px; border-top:1px solid #EBECE6; }
.explorer-formats > .filter-label { width:126px; }
.explorer-formats .filter-option { flex:1; max-width:240px; padding:10px 12px; }
.empty-results { padding:60px 24px; min-height:305px; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.empty-results > .icon { width:38px; height:38px; color:var(--muted); }
.empty-results strong { font-size:17px; max-width:400px; }
.empty-results p { font-size:13px; color:var(--muted); max-width:350px; }
.explore-foot { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:28px; }
.explore-foot p { font-size:13px; }
.explore-foot small { font-size:10px; color:var(--muted); max-width:280px; text-align:right; }
/* Playbooks: Mineral oscuro y grandes recorridos editoriales. */
.playbook-section { background:var(--mineral); color:var(--paper); }
.playbook-section .eyebrow { color:var(--saffron); }
.playbook-section .section-heading { grid-template-columns:1fr 1fr; gap:80px; }
.playbook-section .section-heading > p { color:#C1C1B9; max-width:495px; }
.playbook-grid { display:grid; grid-template-columns:310px minmax(0,1fr); gap:52px; margin-top:52px; }
.playbook-switch { border:1px solid #62625A; display:inline-flex; border-radius:6px; padding:4px; gap:3px; margin-bottom:32px; }
.playbook-switch button { font-size:13px; padding:10px 19px; border:0; border-radius:3px; color:#CBCBC3; background:transparent; }
.playbook-switch button.active { color:var(--mineral); background:var(--saffron); font-weight:650; }
.pb-context-copy h3 { font-size:35px; line-height:1.13; letter-spacing:-.035em; margin-bottom:20px; }
.pb-context-copy > p { color:#BFBFB6; font-size:15px; max-width:275px; line-height:1.65; }
.pb-steps { display:flex; flex-direction:column; gap:22px; border-left:1px solid #6C643C; padding:2px 0 2px 21px; margin:32px 0 0 5px; }
.pb-steps span { position:relative; font-size:12px; color:#E6E6DF; }
.pb-steps span::before { content:''; position:absolute; left:-26px; top:6px; width:9px; height:9px; background:var(--saffron); border-radius:50%; }
.playbook-screens { min-width:0; }
.pb-screen { background:var(--paper); color:var(--mineral); border:1px solid #77776E; border-radius:10px; overflow:hidden; box-shadow:0 28px 48px #16161340; }
.screen-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid var(--line); background:var(--white); padding:19px 23px; }
.screen-bar > img { width:152px; }
.screen-bar > span { font-size:10px; color:var(--muted); }
.pb-screen-body { padding:26px; }
.screen-kicker { font-size:9px; letter-spacing:.05em; color:var(--muted); font-weight:650; margin-bottom:12px; }
.pb-screen-body > h3 { font-size:25px; letter-spacing:-.03em; margin-bottom:19px; }
.pb-path { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:22px; }
.pb-path > span { background:white; padding:7px 9px; border-radius:5px; font-size:9px; }
.pb-path .is-active { background:var(--saffron-soft); font-weight:650; }
.pb-content { background:white; border:1px solid #ECEDE7; border-radius:7px; padding:25px 23px; }
.pb-content h4 { font-size:22px; letter-spacing:-.035em; line-height:1.3; margin-bottom:15px; }
.pb-content > p:not(.screen-kicker) { font-size:13px; line-height:1.65; color:var(--ink-soft); }
.source-list { display:flex; gap:16px; padding-top:23px; border-top:1px solid var(--line); margin-top:23px; }
.source-item { background:transparent; display:flex; align-items:center; gap:10px; flex:1; border:0; color:var(--mineral); text-align:left; padding:4px 0; min-width:0; }
.source-item:hover strong { text-decoration:underline; text-decoration-color:var(--saffron); text-underline-offset:3px; }
.source-item img { width:68px; flex:0 0 auto; }
.source-item strong { display:block; font-size:11px; line-height:1.5; font-weight:600; }
.source-item small { display:flex; align-items:center; gap:5px; font-size:9px; color:var(--muted); margin-top:7px; }
.source-item .icon { width:11px; height:11px; }
.playbook-foot { border-top:1px solid #505049; padding-top:30px; margin-top:46px; display:grid; grid-template-columns:310px 1fr; gap:52px; }
.playbook-foot > p:first-child { font-size:18px; line-height:1.5; font-weight:400; }
.playbook-foot strong { color:var(--saffron); font-weight:550; }
.playbook-foot > p:last-child { font-size:13px; line-height:1.7; color:#C1C1B9; max-width:610px; }
/* IA: Azafrán, necesidad -> contenido, cuatro momentos del recorrido. */
.ai-section { background:var(--saffron-soft); }
.ai-heading { margin-bottom:42px; }
.ai-heading h2 { font-size:clamp(34px,3.9vw,52px); }
.ai-heading > p:last-child { font-size:17px; margin-top:23px; color:#615B49; }
.ai-grid { display:grid; grid-template-columns:315px minmax(0,1fr); gap:45px; align-items:start; }
.ai-tabs { flex-direction:column; gap:0; }
.ai-tab { display:flex; align-items:center; gap:17px; padding:23px 0; border:0; border-bottom:1px solid #DDCE9F; text-align:left; background:transparent; color:var(--mineral); position:relative; width:100%; }
.ai-tab:first-child { border-top:1px solid #DDCE9F; }
.ai-tab__icon { display:flex; align-items:center; justify-content:center; width:39px; height:39px; border:1px solid #DAC17A; border-radius:50%; color:#8F7326; flex:0 0 auto; }
.ai-tab__icon .icon { width:19px; height:19px; }
.ai-tab strong { display:block; font-size:22px; line-height:1.3; letter-spacing:-.03em; font-weight:550; }
.ai-tab small { display:block; font-size:11px; color:#6B6247; margin-top:5px; }
.ai-tab__arrow { margin-left:auto; width:18px; height:18px; opacity:.25; transition:transform .2s; }
.ai-tab.active .ai-tab__icon { background:var(--mineral); color:var(--saffron); border-color:var(--mineral); }
.ai-tab.active strong { font-weight:750; }
.ai-tab.active .ai-tab__arrow { opacity:1; }
.ai-tab:hover .ai-tab__arrow { transform:translateX(4px); opacity:1; }
.ai-stage { background:rgba(255,255,255,.66); border:1px solid #E4D3A0; border-radius:12px; min-height:500px; box-shadow:0 24px 50px #82723B0C; }
.ai-example { padding:29px; }
.ai-example > .screen-kicker { color:#78642B; font-size:10px; margin-bottom:22px; }
.ai-prompt { display:flex; gap:17px; align-items:center; background:white; border:1px solid #EADAAF; border-radius:9px; padding:23px 22px; margin:0 0 19px; box-shadow:0 8px 24px #75622808; }
.ai-prompt > .icon { color:#B78A14; width:25px; height:25px; }
.ai-prompt p { font-size:18px; line-height:1.55; font-weight:500; letter-spacing:-.018em; }
.ai-interpreted { display:flex; align-items:center; flex-wrap:wrap; gap:6px; font-size:10px; margin:0 0 26px; }
.ai-interpreted > span:first-child { margin-right:6px; font-weight:650; color:#5B5032; }
.mini-chip { display:inline-block; padding:5px 9px; font-size:10px; font-weight:500; line-height:1.35; background:var(--saffron-soft); border-radius:4px; color:var(--mineral); }
.ai-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.ai-results .material-card__body { padding:13px 12px; }
.ai-results .material-card__body > strong { font-size:12px; }
.ai-results .material-card__body > span { font-size:10px; }
.demo-caption { font-size:10px; line-height:1.7; margin-top:22px; color:#716950; }
.ai-consult-result { display:grid; grid-template-columns:135px 1fr; align-items:start; gap:28px; padding:7px 0; }
.ai-consult-result > img { box-shadow:0 8px 15px #29292713; }
.ai-example h3 { font-size:20px; letter-spacing:-.028em; line-height:1.3; margin-bottom:13px; }
.ai-consult-result p { font-size:13px; color:#6A604B; margin-bottom:18px; }
.reference-link { display:flex; justify-content:space-between; align-items:center; width:100%; padding:10px 12px; border:1px solid #DBD2B9; border-radius:5px; background:white; color:var(--mineral); margin-top:8px; font-size:12px; text-align:left; }
.reference-link:hover { border-color:var(--saffron); }
.reference-link .icon { width:15px; height:15px; }
.classify-layout { display:grid; grid-template-columns:145px 1fr; align-items:start; gap:23px; }
.classify-layout > img { margin-top:52px; width:100%; object-fit:cover; }
.classify-layout h3 { margin-top:12px; margin-bottom:20px; }
.classify-rows { margin:0; font-size:11px; }
.classify-rows > div { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:13px 0; border-top:1px solid #E0D9C5; }
.classify-rows dt { font-weight:650; }
.classify-rows dd { margin:0; color:#70674F; }
.classify-rows dd .mini-chip { margin-right:4px; margin-bottom:3px; }
.editorial-note { display:flex; gap:12px; align-items:center; font-size:12px; padding:13px 14px; background:var(--saffron-soft); margin-top:25px; border-radius:4px; }
.editorial-note .icon { width:18px; height:18px; }
.draft-playbook { background:var(--mineral); color:white; padding:21px 25px; border-radius:9px; margin-top:22px; }
.draft-playbook > span { display:inline-block; background:var(--saffron); color:var(--mineral); font-size:9px; font-weight:700; padding:4px 8px; margin-bottom:16px; }
.draft-playbook > h3 { font-size:23px; margin-bottom:20px; }
.draft-playbook > div { display:flex; gap:20px; align-items:flex-start; margin-top:12px; }
.draft-playbook b { color:var(--saffron); font-size:12px; margin-top:1px; }
.draft-playbook p { font-size:13px; font-weight:550; }
.draft-playbook small { display:block; font-size:10px; font-weight:400; color:#BEBEB4; margin-top:2px; }
.ai-foot { display:flex; align-items:center; gap:14px; border-top:1px solid #DCCB97; padding-top:25px; margin-top:36px; }
.ai-foot > .icon { width:22px; height:22px; }
.ai-foot p { font-size:12px; line-height:1.6; }
.ai-foot > span { margin-left:auto; font-size:9px; line-height:1.5; color:#786C4B; max-width:185px; text-align:right; }
/* Módulos: recorrido HCP y tratamiento editorial diferenciado. */
.modules-section { background:var(--white); }
.modules-grid { display:grid; grid-template-columns:1.9fr 1fr; border-top:1px solid var(--line); }
.optional-tag { display:inline-block; color:#786227; border:1px solid #E0CA8A; padding:5px 8px; font-size:9px; line-height:1.3; letter-spacing:.05em; font-weight:650; margin-bottom:24px; border-radius:3px; }
.hcp-module { display:grid; grid-template-columns:1.25fr .9fr; gap:37px; padding:38px 43px 30px 0; border-right:1px solid var(--line); overflow:hidden; }
.modules-grid h3 { font-size:39px; line-height:1.12; letter-spacing:-.04em; margin-bottom:22px; }
.hcp-module__copy > p:not(.module-note),.language-module > p:not(.module-note) { color:var(--ink-soft); font-size:15px; line-height:1.65; max-width:350px; }
.module-note { font-size:11px; line-height:1.7; color:var(--muted); margin-top:23px; }
.hcp-path { display:flex; align-items:center; gap:11px; margin-top:32px; color:var(--mineral); font-size:10px; font-weight:600; }
.hcp-path .icon { color:#AC861B; width:15px; height:15px; }
.hcp-phone { position:relative; width:100%; max-width:234px; margin:9px auto 0; background:var(--paper); border:8px solid var(--mineral); border-radius:30px; padding:31px 12px 18px; box-shadow:14px 15px 0 var(--saffron-soft); align-self:center; }
.phone-notch { position:absolute; top:4px; left:30%; width:40%; height:5px; background:var(--mineral); border-radius:8px; }
.phone-logo { width:160px; margin:0 0 21px; }
.hcp-phone h4 { font-size:20px; letter-spacing:-.03em; line-height:1.22; margin-bottom:6px; }
.hcp-phone > p { font-size:8px; color:var(--muted); margin-bottom:18px; }
.phone-resource { display:flex; align-items:center; gap:5px; background:white; border:1px solid var(--line); border-radius:5px; padding:8px 5px; margin-bottom:9px; }
.phone-resource img { width:51px; }
.phone-resource > span { font-size:8px; font-weight:600; line-height:1.35; }
.phone-resource small { display:block; background:var(--saffron-soft); font-size:6px; font-weight:500; padding:3px 5px; margin-top:5px; width:max-content; }
.phone-caption { display:block; font-size:6px; line-height:1.5; color:var(--muted); margin-top:15px; }
.language-module { padding:38px 0 30px 42px; }
.language-visual { position:relative; display:flex; gap:15px; margin:34px 0 24px; padding:0 0 18px; height:105px; max-width:265px; }
.language-visual > span { display:grid; place-items:center; position:relative; z-index:2; width:87px; height:83px; background:var(--saffron-soft); font-size:35px; font-weight:650; letter-spacing:-.04em; border:1px solid #E8D79D; box-shadow:6px 7px 0 #F0F0EA; }
.language-visual > span:nth-child(2) { background:var(--mineral); color:var(--paper); border-color:var(--mineral); transform:translateY(20px); }
.language-connection { width:30px; border-top:1px solid var(--saffron); position:absolute; left:76px; top:45px; }
/* Gestión, seguridad e implantación */
.central-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.central-copy h2 { font-size:40px; }
.central-copy > p:not(.eyebrow) { font-size:16px; color:var(--ink-soft); line-height:1.75; margin-top:23px; max-width:420px; }
.central-seal { display:flex; align-items:center; gap:16px; border-top:1px solid var(--line); padding-top:26px; margin-top:33px; max-width:420px; }
.central-seal > .icon { width:32px; height:32px; color:#AB861F; }
.central-seal strong { display:block; font-size:13px; letter-spacing:.02em; }
.central-seal small { display:block; font-size:10px; color:var(--muted); margin-top:3px; }
.central-accordion { --bs-accordion-bg:transparent; --bs-accordion-border-color:var(--line); --bs-accordion-btn-focus-box-shadow:none; --bs-accordion-active-bg:transparent; --bs-accordion-active-color:var(--mineral); }
.central-accordion .accordion-item { border-left:0; border-right:0; border-radius:0 !important; }
.central-accordion .accordion-button { gap:19px; padding:26px 0; font-size:17px; font-weight:550; line-height:1.4; color:var(--mineral); background:transparent; box-shadow:none; }
.central-accordion .accordion-button > .icon { color:#A78934; width:24px; height:24px; }
.central-accordion .accordion-button::after { filter:grayscale(1); width:14px; height:14px; background-size:14px; margin-left:auto; }
.central-accordion .accordion-button:focus-visible { outline:3px solid var(--saffron); outline-offset:5px; }
.central-accordion .accordion-body { font-size:14px; line-height:1.8; color:var(--ink-soft); padding:0 20px 29px 43px; }
/* Cierre / Contacto */
.contact-section { background:var(--saffron); padding:80px 0 85px; }
.contact-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:center; }
.contact-section .eyebrow::before { background:var(--mineral); }
.contact-section h2 { font-size:46px; }
.contact-section h2 span { font-weight:450; }
.contact-section .contact-grid > div > p:not(.eyebrow) { font-size:16px; margin-top:25px; color:#54471F; }
.contact-action { justify-self:end; display:flex; flex-direction:column; align-items:flex-start; }
.contact-action > p { margin-top:25px !important; margin-bottom:9px; font-size:11px !important; }
.contact-action > a { display:flex; align-items:center; gap:10px; font-size:13px; margin-top:4px; }
.contact-action > a:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-action .icon { width:13px; height:13px; }
.site-footer { padding:56px 0 22px; background:var(--mineral); color:var(--paper); }
.footer-main { display:flex; justify-content:space-between; align-items:center; gap:60px; padding-bottom:40px; }
.footer-brand > a { display:block; width:265px; }
.footer-brand > p { font-size:10px; color:#BFBFB4; margin-top:13px; }
.footer-company { min-width:220px; }
.footer-company > span { display:block; font-size:8px; color:#B2B2A7; letter-spacing:.11em; margin-bottom:13px; }
.footer-company img { width:181px; }
.footer-company > p { font-size:10px; color:#B2B2A7; margin-top:13px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:40px; border-top:1px solid #4C4C45; padding-top:22px; color:#AEAEA4; font-size:10px; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:25px; }
.footer-bottom a:hover { color:white; text-decoration:underline; }
/* Modales Bootstrap : formularios y vistas de materiales. */
.modal { --bs-modal-bg:var(--paper); --bs-modal-color:var(--mineral); --bs-modal-border-width:0; --bs-modal-border-radius:12px; }
.modal-content { box-shadow:0 24px 80px #00000026; }
.modal-header { align-items:flex-start; padding:29px 32px 23px; border-bottom:1px solid var(--line); }
.modal-header .eyebrow { font-size:10px; margin-bottom:14px; }
.modal-title { font-size:28px; line-height:1.2; letter-spacing:-.04em; }
.modal-header p:last-child:not(.eyebrow) { font-size:12px; color:var(--muted); margin-top:9px; }
.modal-close { border:1px solid var(--line); background:transparent; width:35px; height:35px; display:grid; place-items:center; border-radius:50%; padding:0; flex:0 0 auto; margin-left:20px; }
.modal-close .icon { width:16px; height:16px; }
.modal-close:hover { background:var(--saffron-soft); border-color:var(--saffron); }
.modal-body { padding:26px 32px 30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; }
.field--full { grid-column:1/-1; }
.field > label { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.form-control { border:1px solid #D5D6CD; border-radius:5px; padding:11px 12px; font-size:14px; background:white; color:var(--mineral); line-height:1.5; }
.form-control::placeholder { color:#8D8B80; font-size:12px; }
.form-control:focus { border-color:#B6963E; box-shadow:0 0 0 3px #E7B52C26; color:var(--mineral); background:white; }
.form-control.is-invalid { border-color:#A23A35; background-image:none; }
.field-error { font-size:11px; color:#A23A35; line-height:1.5; margin-top:5px; }
.field-error:empty { display:none; }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.form-bottom { display:grid; grid-template-columns:160px 1fr; gap:28px; margin-top:25px; align-items:center; }
.captcha-field .form-control { max-width:91px; }
.privacy-field .form-check { display:flex; padding-left:0; align-items:flex-start; gap:10px; }
.privacy-field .form-check-input { margin-left:0; margin-top:3px; width:17px; height:17px; flex:0 0 auto; border-color:#BDBDB2; }
.privacy-field .form-check-input:checked { background-color:var(--mineral); border-color:var(--mineral); }
.privacy-field .form-check-input:focus { box-shadow:0 0 0 3px #E7B52C40; border-color:#B6963E; }
.privacy-field .form-check-label { font-size:12px; color:var(--ink-soft); }
.privacy-field a { text-decoration:underline; text-underline-offset:3px; }
.form-submit-row { display:flex; align-items:center; gap:22px; margin-top:24px; }
.form-submit-row > span { font-size:10px; color:var(--muted); }
.form-status { font-size:12px; line-height:1.6; padding:11px 13px; border-radius:4px; background:var(--saffron-soft); margin-top:17px; }
.form-status:empty { display:none; }
.form-status.is-error { background:#F4E7E5; color:#86332E; }
.form-sent { text-align:center; padding:48px 10px; }
.form-sent > .icon { width:55px; height:55px; padding:12px; border-radius:50%; background:var(--saffron-soft); margin-bottom:25px; }
.form-sent h3 { font-size:30px; letter-spacing:-.04em; margin-bottom:15px; }
.form-sent p { font-size:14px; color:var(--muted); margin-bottom:25px; }
.material-modal .modal-body { background:white; }
.material-modal-image { width:100%; max-height:55vh; object-fit:contain; }
.material-disclaimer { font-size:12px; color:var(--muted); line-height:1.7; margin:20px 0; }
.material-modal-actions { display:flex; justify-content:flex-end; }
/* Responsive */
@media(min-width:1500px) { .hero-grid { padding-top:65px; padding-bottom:65px; } .hero-stage { max-height:650px; } }
@media(max-width:1199px) {
  .shell { width:calc(100% - 72px); }
  .header-inner { gap:20px; }
  .brand { width:214px; }
  .site-nav { gap:22px; }
  .site-nav > a { font-size:12px; }
  .hero-grid { gap:0; }
  h1 { font-size:58px; }
  .hero-definition { font-size:17px; max-width:415px; }
  .hero-lead { font-size:14px; max-width:390px; }
  .hero-actions { gap:18px; }
  .hero-actions .button { font-size:13px; gap:18px; padding-inline:18px; }
  .hero-actions .text-link { font-size:12px; gap:7px; }
  .hero-query { padding:15px 13px; font-size:13px; gap:9px; }
  .hero-query__spark { width:30px; height:30px; }
  .hero-query__arrow { width:34px; height:34px; }
  .hero-playbook { padding:17px; gap:12px; }
  .hero-playbook strong { font-size:16px; }
  .hero-playbook > .icon { width:25px; height:25px; }
  .hero-stage-caption { bottom:-12px; font-size:10px; }
  .section-heading { gap:45px; }
  .section-heading > p { font-size:15px; }
  .explorer-body { grid-template-columns:135px minmax(0,1fr) 66px; }
  .explorer-specialties > .filter-label,.explorer-formats > .filter-label { width:100px; }
  .explorer-goals { padding:23px 7px; }
  .explorer-goals .filter-option { font-size:10px; gap:7px; padding-inline:7px; }
  .explorer-results { padding-inline:15px; }
  .catalog-grid { gap:10px; }
  .material-card__body { padding:10px 8px; }
  .material-card__body > strong { font-size:10px; }
  .material-card__body > span { font-size:8px; }
  .result-caption > span { display:none; }
  .product-option { width:44px; height:52px; }
  .playbook-grid { grid-template-columns:260px minmax(0,1fr); gap:35px; }
  .playbook-foot { grid-template-columns:260px minmax(0,1fr); gap:35px; }
  .pb-screen-body { padding:22px; }
  .pb-content { padding:20px 18px; }
  .source-list { gap:8px; }
  .source-item img { width:45px; }
  .source-item strong { font-size:10px; }
  .source-item small { font-size:8px; }
  .ai-grid { grid-template-columns:270px minmax(0,1fr); gap:30px; }
  .ai-example { padding:24px; }
  .ai-prompt p { font-size:16px; }
  .ai-tab { gap:12px; }
  .ai-tab strong { font-size:20px; }
  .ai-tab small { font-size:10px; }
  .ai-tab__icon { width:34px; height:34px; }
  .ai-results { gap:10px; }
  .ai-results .material-card__body { padding:10px; }
  .ai-results .material-card__body > strong { font-size:10px; }
  .ai-consult-result { grid-template-columns:105px 1fr; gap:20px; }
  .classify-layout { grid-template-columns:90px 1fr; gap:15px; }
  .hcp-module { padding-right:30px; gap:24px; }
  .language-module { padding-left:30px; }
  .modules-grid h3 { font-size:35px; }
  .hcp-module__copy > p:not(.module-note),.language-module > p:not(.module-note) { font-size:13px; }
  .hcp-phone { padding-inline:9px; }
  .phone-resource img { width:36px; }
  .phone-resource > span { font-size:7px; }
  .phone-resource small { font-size:6px; }
  .central-grid { gap:60px; }
  .central-copy h2 { font-size:35px; }
  .central-accordion .accordion-button { font-size:15px; }
}
@media(max-width:991px) {
  html { scroll-padding-top:85px; }
  .shell { width:calc(100% - 48px); }
  .section { padding:75px 0; }
  .header-inner { min-height:76px; flex-wrap:wrap; }
  .brand { width:222px; }
  .nav-toggle { display:grid; place-items:center; }
  .site-nav { width:100%; padding:6px 0 22px; }
  .site-nav > a { display:block; padding:13px 2px; font-size:14px; border-top:1px solid var(--line); }
  .site-nav .button { margin-top:16px; width:100%; }
  .site-nav > a::after { display:none; }
  .hero-grid { gap:0; padding-top:35px; padding-bottom:45px; }
  h1 { font-size:clamp(40px,5.7vw,53px); }
  .hero-definition { font-size:15px; max-width:320px; margin-top:23px; }
  .hero-lead { font-size:13px; max-width:310px; }
  .hero-actions { gap:9px 17px; }
  .hero-actions .button { min-height:48px; font-size:12px; }
  .hero-actions .text-link { font-size:11px; }
  .hero-query { font-size:10px; padding:12px 10px; gap:7px; }
  .hero-query__spark { width:26px; height:26px; }
  .hero-query__spark .icon { width:16px; height:16px; }
  .hero-query__arrow { width:27px; height:27px; }
  .hero-query__arrow .icon { width:17px; height:17px; }
  .hero-playbook { width:76%; padding:16px 12px; top:79%; }
  .hero-playbook strong { font-size:13px; }
  .hero-playbook small { font-size:8px; margin-bottom:3px; }
  .hero-playbook span > span { font-size:8px; }
  .hero-playbook > .icon { width:21px; height:21px; }
  .hero-playbook .hero-playbook__arrow { display:none; }
  .hero-stage-caption { display:none; }
  .hero-footer { font-size:10px; gap:20px; }
  .hero-footer > span { max-width:230px; text-align:right; }
  .section-heading { gap:35px; grid-template-columns:1.3fr 1fr; }
  h2 { font-size:34px; }
  .section-heading > p { font-size:13px; }
  .eyebrow { font-size:11px; margin-bottom:20px; }
  .explorer-top { padding:16px 18px; }
  .explorer-specialties { padding:14px; gap:8px; }
  .explorer-specialties > .filter-label { display:none; }
  .filter-option { font-size:10px; padding:10px; gap:8px; }
  .filter-option > .icon { width:15px; height:15px; }
  .explorer-body { grid-template-columns:112px minmax(0,1fr) 62px; }
  .explorer-goals { padding:18px 6px; }
  .explorer-goals .filter-option { font-size:9px; gap:6px; padding:12px 6px; }
  .explorer-goals .filter-option .icon { width:14px; height:14px; }
  .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .catalog-grid .material-card__body > strong { font-size:10px; }
  .selection-chips { gap:5px; }
  .selection-chip { font-size:9px; padding:5px 6px; gap:8px; }
  .explorer-formats { padding:12px 14px; gap:8px; }
  .explorer-formats > .filter-label { display:none; }
  .explorer-formats .filter-option { padding:9px; }
  .explore-foot { align-items:flex-start; }
  .explore-foot p { font-size:11px; }
  .explore-foot small { font-size:9px; max-width:220px; }
  .playbook-section .section-heading { grid-template-columns:1fr 1fr; gap:30px; }
  .playbook-grid { grid-template-columns:1fr; gap:28px; margin-top:34px; }
  .playbook-context { display:grid; grid-template-columns:190px 1fr; gap:40px; align-items:start; }
  .playbook-switch { margin:0; width:fit-content; }
  .playbook-switch button { padding:9px 14px; font-size:12px; }
  .pb-context-copy h3 { font-size:29px; }
  .pb-context-copy h3 br { display:none; }
  .pb-context-copy > p { max-width:none; font-size:13px; }
  .pb-steps { display:none; }
  .pb-screen-body { padding:25px; }
  .pb-content { padding:25px; }
  .pb-path > span { font-size:10px; }
  .source-item img { width:67px; }
  .source-item strong { font-size:12px; }
  .source-item small { font-size:10px; }
  .playbook-foot { grid-template-columns:190px 1fr; gap:40px; }
  .playbook-foot > p:first-child { font-size:16px; }
  .playbook-foot > p:last-child { font-size:12px; }
  .ai-grid { grid-template-columns:1fr; gap:25px; }
  .ai-tabs { flex-direction:row; gap:10px; }
  .ai-tab { flex:1; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; padding:17px 12px; border:1px solid #DBCA94; border-radius:6px; }
  .ai-tab:first-child { border-top-color:#DBCA94; }
  .ai-tab strong { font-size:17px; }
  .ai-tab small { font-size:9px; }
  .ai-tab__arrow { display:none; }
  .ai-tab.active { background:#FFFFFF5E; }
  .ai-heading h2 { font-size:43px; }
  .ai-heading > p:last-child { font-size:15px; }
  .ai-stage { min-height:480px; }
  .ai-example { padding:30px; }
  .ai-prompt p { font-size:19px; }
  .ai-results .material-card__body > strong { font-size:12px; }
  .ai-results .material-card__body { padding:13px; }
  .ai-consult-result { grid-template-columns:145px 1fr; }
  .classify-layout { grid-template-columns:170px 1fr; }
  .ai-foot { gap:12px; }
  .ai-foot p { font-size:10px; max-width:440px; }
  .ai-foot > span { font-size:8px; max-width:140px; }
  .modules-grid { grid-template-columns:1fr; }
  .hcp-module { grid-template-columns:1fr 1fr; border-right:0; border-bottom:1px solid var(--line); padding:38px 35px 45px 0; gap:50px; }
  .modules-grid h3 { font-size:38px; }
  .hcp-module__copy > p:not(.module-note),.language-module > p:not(.module-note) { font-size:15px; }
  .hcp-phone { max-width:240px; }
  .phone-resource img { width:49px; }
  .phone-resource > span { font-size:9px; }
  .phone-resource small { font-size:7px; }
  .phone-caption { font-size:7px; }
  .language-module { position:relative; padding:40px 300px 0 0; }
  .language-module .language-visual { position:absolute; top:50px; right:20px; width:224px; }
  .language-module h3 br { display:none; }
  .central-grid { grid-template-columns:1fr; gap:45px; }
  .central-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 45px; align-items:start; }
  .central-copy .eyebrow { grid-column:1/-1; }
  .central-copy h2 { font-size:34px; }
  .central-copy > p:not(.eyebrow) { font-size:14px; margin:0; }
  .central-seal { grid-column:1/-1; width:100%; max-width:none; }
  .central-accordion .accordion-button { font-size:18px; }
  .contact-section { padding:68px 0; }
  .contact-grid { gap:35px; grid-template-columns:1.3fr 1fr; }
  .contact-section h2 { font-size:36px; }
  .contact-action .button--large { font-size:14px; gap:25px; min-height:58px; padding:16px 22px; }
  .contact-section .contact-grid > div > p:not(.eyebrow) { font-size:14px; }
  .contact-action > a { font-size:11px; }
  .footer-brand > a { width:230px; }
}
@media(max-width:575px) {
  .shell { width:calc(100% - 36px); }
  .section { padding:61px 0; }
  .brand { width:196px; }
  .header-inner { min-height:72px; }
  .hero-grid { display:flex; flex-direction:column; align-items:stretch; padding-top:27px; padding-bottom:43px; gap:15px; }
  .hero-copy .eyebrow { margin-bottom:20px; font-size:10px; }
  h1 { font-size:clamp(44px,11.6vw,66px); line-height:1.015; }
  .hero-definition { font-size:16px; max-width:400px; margin-top:24px; }
  .hero-lead { font-size:13px; max-width:350px; margin-top:11px; }
  .hero-actions { margin-top:23px; gap:17px; }
  .hero-actions .button { font-size:12px; min-height:50px; padding-inline:16px; gap:12px; }
  .hero-actions .text-link { font-size:10px; gap:6px; }
  .hero-stage { width:100%; max-width:450px; margin:20px auto 0; aspect-ratio:1/1.04; }
  .hero-query { font-size:11px; padding:13px 11px; }
  .hero-query__arrow { width:31px; height:31px; }
  .hero-playbook { width:77%; top:80%; padding:17px 14px; }
  .hero-playbook strong { font-size:15px; }
  .hero-playbook span > span { font-size:9px; }
  .hero-playbook small { font-size:8px; }
  .hero-playbook > .icon { width:25px; height:25px; }
  .hero-footer { flex-direction:column; gap:6px; padding-top:21px; padding-bottom:20px; font-size:9px; }
  .hero-footer > span { text-align:left; max-width:none; }
  .section-heading,.playbook-section .section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
  h2 { font-size:32px; line-height:1.17; }
  .eyebrow { font-size:10px; margin-bottom:18px; }
  .eyebrow::before { width:22px; }
  .section-heading > p { font-size:14px; max-width:none; }
  .explorer { margin-inline:-6px; border-radius:8px; }
  .explorer-top { padding:13px 12px; gap:10px; }
  .explorer-top__title { font-size:10px; gap:7px; }
  .explorer-top__title .icon { width:16px; height:16px; }
  .demo-label { font-size:7px; padding:3px 6px; }
  .explorer-specialties { display:flex; flex-wrap:wrap; gap:6px; padding:12px 10px; }
  .explorer-specialties > .filter-label { display:block; width:100%; font-size:8px; margin-bottom:1px; }
  .explorer-specialties .filter-option { padding:9px 7px; font-size:8px; flex:1; gap:5px; border-radius:4px; }
  .explorer-specialties .filter-option > .icon { width:12px; height:12px; }
  .explorer-specialties .filter-tick { display:none; }
  .explorer-body { grid-template-columns:minmax(0,1fr) 49px; }
  .explorer-goals { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:4px; padding:12px 8px; align-items:center; }
  .explorer-goals .filter-label { width:100%; margin:0 4px 4px; font-size:8px; }
  .explorer-goals .filter-option { width:auto; flex:1; gap:4px; padding:9px 5px; margin:0; font-size:8px; white-space:nowrap; justify-content:center; }
  .explorer-goals .filter-option .icon { width:13px; height:13px; }
  .explorer-results { padding:0 10px 14px; }
  .selection-row { min-height:55px; gap:5px; padding:11px 0; }
  .selection-empty { font-size:10px; }
  .selection-chip { font-size:8px; gap:6px; padding:5px; }
  .clear-button { font-size:8px; }
  .result-caption { padding:10px 0; font-size:9px; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .material-card { border-radius:5px; }
  .material-card__body { padding:9px 7px; gap:10px; }
  .catalog-grid .material-card__body > strong { font-size:9px; line-height:1.4; min-height:26px; }
  .material-card__body > span { font-size:7px; }
  .material-card__body .icon { width:9px; height:9px; }
  .explorer-products { padding:17px 5px; gap:8px; }
  .explorer-products .filter-label { writing-mode:vertical-rl; font-size:8px; letter-spacing:.1em; margin:0 0 6px; }
  .product-option { width:34px; height:42px; font-size:18px; border-radius:4px; }
  .product-option .filter-tick { width:8px !important; height:8px !important; }
  .explorer-formats { display:flex; flex-wrap:wrap; padding:12px 10px; gap:5px; }
  .explorer-formats .filter-label { display:block; width:100%; font-size:8px; margin-bottom:3px; }
  .explorer-formats .filter-option { font-size:8px; padding:8px 6px; gap:4px; }
  .explorer-formats .filter-option > .icon { width:12px; height:12px; }
  .explorer-formats .filter-tick { display:none; }
  .empty-results { padding:30px 7px; min-height:310px; }
  .empty-results strong { font-size:14px; }
  .empty-results p { font-size:11px; }
  .empty-results .button { font-size:10px; padding-inline:10px; }
  .explore-foot { flex-direction:column; gap:10px; margin-top:22px; }
  .explore-foot p { font-size:12px; }
  .explore-foot small { text-align:left; font-size:9px; max-width:none; }
  .playbook-grid { margin-top:30px; gap:22px; }
  .playbook-context { grid-template-columns:1fr; gap:25px; }
  .playbook-switch button { font-size:13px; padding:10px 22px; }
  .pb-context-copy h3 { font-size:28px; margin-bottom:13px; }
  .pb-context-copy > p { max-width:320px; font-size:14px; }
  .screen-bar { padding:15px 13px; gap:10px; }
  .screen-bar > img { width:112px; }
  .screen-bar > span { font-size:7px; text-align:right; }
  .pb-screen-body { padding:19px 13px; }
  .pb-screen-body > h3 { font-size:20px; }
  .screen-kicker { font-size:8px; }
  .pb-path { gap:5px; margin-bottom:18px; }
  .pb-path > span { font-size:8px; padding:6px; }
  .pb-content { padding:19px 14px; }
  .pb-content h4 { font-size:19px; margin-bottom:12px; }
  .pb-content > p:not(.screen-kicker) { font-size:11px; }
  .source-list { flex-direction:column; gap:12px; padding-top:16px; margin-top:20px; }
  .source-item img { width:64px; }
  .source-item strong { font-size:10px; }
  .source-item small { font-size:8px; margin-top:3px; }
  .playbook-foot { grid-template-columns:1fr; gap:17px; margin-top:29px; padding-top:24px; }
  .playbook-foot p:first-child br { display:none; }
  .playbook-foot > p:first-child { font-size:16px; }
  .playbook-foot > p:last-child { font-size:12px; }
  .ai-heading { margin-bottom:26px; }
  .ai-heading h2 { font-size:34px; }
  .ai-heading > p:last-child { font-size:14px; }
  .ai-grid { gap:20px; }
  .ai-tabs { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .ai-tab { flex-direction:row; align-items:center; padding:14px 9px; gap:8px; }
  .ai-tab__icon { width:27px; height:27px; }
  .ai-tab__icon .icon { width:15px; height:15px; }
  .ai-tab strong { font-size:14px; }
  .ai-tab small { display:none; }
  .ai-stage { border-radius:8px; min-height:480px; }
  .ai-example { padding:19px 14px; }
  .ai-example > .screen-kicker { font-size:8px; margin-bottom:16px; }
  .ai-prompt { padding:17px 13px; gap:11px; border-radius:7px; }
  .ai-prompt > .icon { width:20px; height:20px; }
  .ai-prompt p { font-size:14px; line-height:1.65; }
  .ai-interpreted { font-size:9px; gap:5px; margin-bottom:20px; }
  .ai-interpreted > span:first-child { width:100%; margin-bottom:3px; }
  .mini-chip { font-size:8px; padding:4px 6px; }
  .ai-results { grid-template-columns:1fr; gap:8px; }
  .ai-results .material-card { flex-direction:row; }
  .ai-results .material-card__image { width:100px; flex:0 0 auto; display:flex; align-items:center; }
  .ai-results .material-card__body { padding:10px; gap:7px; }
  .ai-results .material-card__body > strong { font-size:10px; min-height:0; }
  .ai-results .material-card__body > span { font-size:8px; }
  .demo-caption { font-size:9px; margin-top:19px; }
  .ai-consult-result { grid-template-columns:69px 1fr; gap:13px; }
  .ai-example h3 { font-size:17px; }
  .ai-consult-result p { font-size:11px; margin-bottom:13px; }
  .reference-link { padding:8px; font-size:10px; }
  .reference-link .icon { width:12px; height:12px; }
  .classify-layout { grid-template-columns:1fr; gap:12px; }
  .classify-layout > img { display:none; }
  .classify-layout h3 { margin-top:12px; }
  .classify-rows { font-size:10px; }
  .classify-rows > div { grid-template-columns:75px 1fr; }
  .editorial-note { font-size:11px; padding:11px; }
  .draft-playbook { padding:19px; }
  .draft-playbook h3 { font-size:20px; }
  .draft-playbook p { font-size:12px; }
  .ai-foot { flex-wrap:wrap; align-items:flex-start; gap:11px; margin-top:26px; padding-top:22px; }
  .ai-foot .icon { width:19px; height:19px; }
  .ai-foot p { font-size:11px; flex:1; max-width:none; }
  .ai-foot > span { margin-left:30px; font-size:8px; text-align:left; max-width:none; }
  .hcp-module { grid-template-columns:1fr; padding:30px 0 35px; gap:25px; }
  .modules-grid h3 { font-size:36px; }
  .hcp-module__copy h3 br { display:none; }
  .optional-tag { margin-bottom:18px; }
  .hcp-module__copy > p:not(.module-note),.language-module > p:not(.module-note) { font-size:14px; }
  .module-note { font-size:11px; margin-top:17px; }
  .hcp-path { margin-top:23px; font-size:11px; }
  .hcp-phone { width:223px; margin:5px auto; padding:28px 10px 16px; border-radius:27px; box-shadow:14px 15px 0 var(--saffron-soft); }
  .hcp-phone h4 { font-size:20px; }
  .phone-logo { width:161px; }
  .phone-resource { padding:8px 5px; }
  .phone-resource img { width:47px; }
  .phone-resource > span { font-size:8px; }
  .phone-resource small { font-size:6px; }
  .phone-caption { font-size:6px; }
  .language-module { padding:33px 0 0; }
  .language-module .language-visual { position:relative; top:auto; right:auto; margin-top:25px; margin-bottom:27px; }
  .central-grid { gap:30px; }
  .central-copy { display:block; }
  .central-copy h2 { font-size:32px; }
  .central-copy > p:not(.eyebrow) { font-size:14px; margin-top:22px; }
  .central-seal { margin-top:26px; padding-top:22px; }
  .central-accordion .accordion-button { font-size:15px; gap:14px; padding:23px 0; }
  .central-accordion .accordion-button > .icon { width:21px; height:21px; }
  .central-accordion .accordion-body { font-size:12px; padding:0 10px 23px 35px; }
  .contact-section { padding:58px 0; }
  .contact-grid { grid-template-columns:1fr; gap:31px; }
  .contact-section h2 { font-size:35px; }
  .contact-section .contact-grid > div > p:not(.eyebrow) { font-size:14px; margin-top:21px; }
  .contact-action { justify-self:start; }
  .contact-action > a { font-size:12px; }
  .contact-action .button--large { font-size:15px; min-height:57px; }
  .site-footer { padding:43px 0 26px; }
  .footer-main { align-items:flex-start; flex-direction:column; gap:35px; padding-bottom:32px; }
  .footer-brand > a { width:235px; }
  .footer-brand > p { font-size:9px; }
  .footer-company img { width:166px; }
  .footer-bottom { flex-direction:column; gap:15px; align-items:flex-start; font-size:9px; }
  .footer-bottom nav { gap:20px; }
  .modal-header { padding:25px 20px 20px; }
  .modal-title { font-size:23px; }
  .modal-header p:last-child:not(.eyebrow) { font-size:11px; }
  .modal-header .eyebrow { font-size:9px; }
  .modal-close { width:32px; height:32px; }
  .modal-body { padding:23px 20px 30px; }
  .form-grid { grid-template-columns:1fr; gap:16px; }
  .form-control { font-size:16px; }
  .field > label { font-size:12px; }
  .form-bottom { grid-template-columns:1fr; gap:20px; margin-top:20px; }
  .captcha-field { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .captcha-field > label { margin:0; }
  .captcha-field .form-control { max-width:79px; }
  .captcha-field .field-error { width:100%; }
  .form-submit-row { flex-direction:column; align-items:flex-start; gap:13px; margin-top:25px; }
  .form-submit-row .button { width:100%; }
  .form-submit-row > span { font-size:10px; }
  .form-status { font-size:12px; }
  .material-disclaimer { font-size:11px; }
}
@media(max-width:370px) {
 .hero-actions { flex-direction:column; align-items:flex-start; gap:7px; }
 .hero-query { font-size:10px; }
 .hero-playbook strong { font-size:13px; }
 .hero-query__spark { width:22px; height:22px; }
 .ai-tab strong { font-size:12px; }
 .explorer-goals .filter-option { font-size:7px; }
 .explorer-goals .filter-option .icon { width:11px; height:11px; }
 .explorer-specialties .filter-option { font-size:7px; }
 .explorer-formats .filter-option { font-size:7px; }
}
/* Mejora progresiva: el contenido permanece visible sin JavaScript. */
body:not(.js-ready) [data-aos] { opacity:1 !important; transform:none !important; }
body:not(.js-ready) .site-nav.collapse { display:block; }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; }
 [data-aos] { opacity:1 !important; transform:none !important; }
}
@media print {
 .site-header { position:static; }
 .site-nav,.nav-toggle,.button,.text-link,.modal { display:none !important; }
 [data-aos] { opacity:1 !important; transform:none !important; }
 .section { padding:35px 0; }
 .hero-grid { padding-top:20px; }
 .site-footer { color:#292927; background:#F7F7F4; }
}

/* ==========================================================
   v02 · Differentiation, compact exploration tour and UI fixes.
   No replacement branding; Mineral + Azafrán remains unchanged.
   ========================================================== */
/* Native vertical scroll is visible, with a reserved gutter. */
html { overflow-y:scroll; scrollbar-gutter:stable; scrollbar-width:auto; scrollbar-color:#A09B8E #ECECE6; }
body { overflow-x:clip; }
::-webkit-scrollbar { width:12px; height:10px; }
::-webkit-scrollbar-track { background:#ECECE6; }
::-webkit-scrollbar-thumb { background:#A09B8E; border:3px solid #ECECE6; border-radius:10px; }
::-webkit-scrollbar-thumb:hover { background:#777369; }
/* Bootstrap locks the background while the modal body remains scrollable. */
html.ppb-modal-open { overflow-y:hidden; }
html.ppb-modal-open body { overflow:hidden; }
.modal-dialog-scrollable .modal-body { overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; scrollbar-color:#999385 #EEEDE6; }
.modal-header { position:relative; display:flex; justify-content:space-between; gap:22px; padding-right:84px; flex-shrink:0; }
.modal-heading { flex:1 1 auto; min-width:0; }
.modal-close { position:absolute; top:27px; right:25px; left:auto; margin:0; width:40px; height:40px; z-index:2; }
.modal-header .modal-title { overflow-wrap:break-word; }
/* No personal address/phone in the contact section. */
.contact-action { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.contact-action .button { min-width:230px; justify-content:space-between; }

/* AOS stays visible when scripts fail or motion is reduced. Short movement,
   clear fade and stagger; no continuous animations or scroll interception. */
html:not(.aos-enabled) [data-aos] { opacity:1!important; transform:none!important; }
html.aos-enabled [data-aos="fade-up"] { transform:translate3d(0,30px,0); }
html.aos-enabled [data-aos="fade-up"].aos-animate { transform:translate3d(0,0,0); }

/* First section after hero: two navigation approaches, not a vendor ranking. */
.difference-section { background:#FFF; padding-block:88px 64px; }
.difference-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.08fr); gap:72px; align-items:center; }
.difference-copy h2 { font-size:clamp(32px,3.35vw,45px); line-height:1.16; margin-bottom:28px; }
.difference-copy h2 span { color:#797468; }
.difference-copy > p:not(.eyebrow) { font-size:15px; line-height:1.78; color:var(--ink-soft); max-width:490px; margin-bottom:20px; }
.difference-copy .difference-lead { font-size:17px!important; }
.difference-copy strong { color:var(--mineral); font-weight:600; }
.difference-copy .text-link { margin-top:2px; }
.difference-visual { min-width:0; }
.archive-model { background:#F5F5F1; border:1px solid #E3E3DB; border-radius:9px; padding:20px 25px; }
.archive-model__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.archive-model__heading > span { font-size:9px; letter-spacing:.08em; color:var(--muted); font-weight:650; }
.archive-model__heading > strong { font-size:13px; font-weight:500; color:#827E74; }
.archive-path { display:flex; align-items:center; justify-content:space-between; gap:9px; font-size:11px; color:#8C887E; }
.archive-path > span { display:flex; gap:6px; align-items:center; }
.archive-path .icon { width:16px; height:16px; }
.archive-path > .icon { width:12px; height:12px; transform:rotate(-90deg); }
.difference-pivot { display:flex; align-items:center; justify-content:center; height:33px; color:#B29D61; }
.difference-pivot .icon { height:19px; width:19px; }
.need-model { padding:25px; border:1px solid #E7D59E; background:linear-gradient(145deg,#FFFAEB,#F8F8F3 85%); border-radius:10px; box-shadow:0 15px 35px #29292708; }
.need-model .screen-kicker { color:#857038; margin-bottom:8px; }
.need-model h3 { font-size:25px; letter-spacing:-.035em; margin-bottom:16px; }
.need-concepts { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.need-concepts > span { font-size:10px; font-weight:600; border:1px solid #E8D495; background:var(--saffron-soft); border-radius:30px; padding:5px 11px; }
.need-materials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.need-materials .material-card__body { padding:10px 9px; gap:10px; }
.need-materials .material-card__body > strong { min-height:32px; font-size:10px; }
.need-materials .material-card__body > span { font-size:9px; }
.need-model__caption { font-size:10px; color:#777163; margin-top:17px; }
.difference-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; padding-top:38px; border-top:1px solid var(--line); margin-top:52px; }
.difference-points article { display:flex; align-items:flex-start; gap:14px; }
.difference-point-icon { color:#A4822F; padding-top:3px; flex:0 0 auto; }
.difference-point-icon .icon { width:22px; height:22px; }
.difference-points h3 { font-size:15px; letter-spacing:-.025em; line-height:1.45; margin-bottom:9px; text-wrap:initial; }
.difference-points p { color:var(--muted); font-size:12px; line-height:1.65; }
.difference-note { font-size:11px; color:#807B70; line-height:1.65; margin-top:29px; }

/* Four aspects of exploration. A narrative carousel, not a sequential product
   wizard. The live filtering example is available directly in "Combinar". */
.explore-section { background:var(--paper); padding-block:87px; }
.explore-intro { margin-bottom:35px; }
.explore-intro h2 { max-width:960px; }
.explore-intro > p:last-child { font-size:16px; color:var(--ink-soft); margin-top:22px; }
.explore-tour { min-width:0; }
.tour-navigation { display:flex; justify-content:space-between; align-items:center; gap:30px; border-bottom:1px solid #D4D3C9; margin-bottom:30px; }
.tour-topics { display:flex; gap:30px; }
.tour-topic { border:0; border-radius:0; background:transparent; color:#777268; font-size:14px; font-weight:550; padding:15px 3px 18px; position:relative; }
.tour-topic > span { color:#9A9485; font-size:10px; font-weight:500; margin-right:9px; }
.tour-topic::after { content:''; position:absolute; height:3px; left:0; right:0; bottom:-1px; transform:scaleX(0); transform-origin:left; background:var(--saffron); transition:transform .25s; }
.tour-topic:hover { color:var(--mineral); }
.tour-topic.is-active { color:var(--mineral); font-weight:650; }
.tour-topic.is-active > span { color:#8C6B18; }
.tour-topic.is-active::after { transform:scaleX(1); }
.tour-arrows { display:flex; gap:9px; padding-bottom:8px; }
.tour-arrow { display:grid; place-items:center; border:1px solid #D4D2C7; color:var(--mineral); background:transparent; width:40px; height:40px; padding:0; border-radius:50%; }
.tour-arrow .icon { width:19px; height:19px; }
.tour-prev .icon { transform:rotate(180deg); }
.tour-arrow:hover:not(:disabled) { background:var(--saffron); border-color:var(--saffron); }
.tour-arrow:disabled { cursor:default; opacity:.3; }
/* Core layout intentionally local; Swiper's optional icon font is not used. */
.explore-swiper { display:block; margin-inline:auto; overflow:hidden; position:relative; width:100%; touch-action:pan-y; z-index:1; }
.explore-swiper > .swiper-wrapper { position:relative; width:100%; display:flex; box-sizing:content-box; transition-property:transform; transition-timing-function:cubic-bezier(.22,.61,.36,1); }
.explore-swiper .swiper-slide { flex-shrink:0; width:100%; position:relative; transition-property:transform; }
.explore-swiper:not(.tour-ready) > .swiper-wrapper { display:block; }
.explore-swiper:not(.tour-ready) .swiper-slide { margin-bottom:45px; }
.explore-swiper.swiper-autoheight,.explore-swiper.swiper-autoheight .swiper-slide { height:auto; }
.explore-swiper.swiper-autoheight > .swiper-wrapper { align-items:flex-start; transition-property:transform,height; }
.explore-swiper .swiper-notification { position:absolute; left:0; top:0; pointer-events:none; opacity:0; z-index:-1000; }
.tour-slide { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:65px; align-items:center; padding:8px 4px 18px; min-height:468px; }
.tour-copy { min-width:0; padding-left:0; }
.tour-copy .tour-kicker { font-size:10px; letter-spacing:.075em; font-weight:700; color:#91804E; margin-bottom:17px; }
.tour-copy h3 { font-size:29px; line-height:1.2; letter-spacing:-.035em; margin-bottom:23px; text-wrap:initial; }
.tour-copy > p:not(.tour-kicker) { font-size:14px; line-height:1.8; color:#676357; margin-bottom:18px; max-width:430px; }
.tour-copy strong { color:var(--mineral); font-weight:600; }
.tour-takeaway { display:flex; align-items:center; gap:15px; border-top:1px solid #DAD8CE; margin-top:28px; padding-top:22px; font-size:12px; line-height:1.65; color:#7B7465; }
.tour-takeaway > .icon { width:26px; height:26px; color:#A17D22; }
.tour-visual { min-width:0; width:100%; max-width:730px; justify-self:end; }
.recognize-scene,.open-scene,.return-scene { border:1px solid #DADACF; border-radius:10px; background:#FFF; overflow:hidden; box-shadow:0 12px 25px #29292705; }
.scene-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; border-bottom:1px solid #E4E4DA; }
.scene-top > strong { font-size:12px; font-weight:600; }
.scene-top > span { font-size:9px; color:var(--muted); }
.recognize-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:19px; }
.recognize-mosaic .material-card__image img { height:auto; aspect-ratio:680/380; object-fit:contain; background:#F1F2EE; }
.recognize-mosaic .material-card__body { gap:10px; padding:11px; }
.recognize-mosaic .material-card__body > strong { font-size:10px; min-height:29px; }
.recognize-mosaic .material-card__body > span { font-size:9px; }
.scene-bottom { font-size:10px; text-align:center; color:#817B6E; padding:10px 18px 15px; }
.tour-footer { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-top:25px; padding-top:20px; border-top:1px solid #DEDCD2; font-size:10px; color:#898173; }
.tour-footer p strong { color:#777062; font-weight:500; }
.tour-status { flex:0 0 auto; color:#756B57; font-size:12px; letter-spacing:.1em; font-variant-numeric:tabular-nums; }

/* Compact interactive catalogue. Dimensions stay around the materials. */
.explorer--compact { background:#F5F5EF; border-radius:9px; box-shadow:0 12px 25px #29292705; }
.explorer--compact .explorer-top { padding:13px 15px; }
.explorer--compact .explorer-top__title { font-size:11px; gap:8px; }
.explorer--compact .explorer-top__title .icon { width:16px; height:16px; }
.explorer--compact .demo-label { font-size:8px; padding:3px 7px; }
.explorer--compact .explorer-specialties { padding:10px 12px; gap:6px; }
.explorer--compact .explorer-specialties > .filter-label { display:none; }
.explorer--compact .explorer-specialties .filter-option { font-size:9px; padding:9px 7px; gap:5px; min-height:36px; }
.explorer--compact .filter-option > .icon { width:13px; height:13px; }
.explorer--compact .explorer-specialties .filter-tick { display:none; }
.explorer--compact .selection-row--persistent { min-height:43px; background:#FFFCF0; border-block:1px solid #E9E2CB; margin:0; padding:8px 13px; align-items:flex-start; }
.explorer--compact .selection-chips { gap:5px; }
.explorer--compact .selection-chip { font-size:9px; padding:4px 7px; gap:8px; min-height:28px; }
.explorer--compact .selection-empty { font-size:10px; padding-block:3px; }
.explorer--compact .clear-button { font-size:9px; flex-shrink:0; margin-top:2px; }
.explorer--compact .explorer-body { grid-template-columns:105px minmax(0,1fr) 50px; min-height:250px; }
.explorer--compact .explorer-goals { padding:16px 6px; }
.explorer--compact .explorer-goals .filter-label { font-size:8px; margin:0 7px 12px; }
.explorer--compact .explorer-goals .filter-option { font-size:9px; padding:10px 6px; gap:6px; margin-bottom:5px; }
.explorer--compact .explorer-goals .filter-option .icon { width:13px; height:13px; }
.explorer--compact .explorer-products { padding:16px 5px; gap:9px; }
.explorer--compact .explorer-products .filter-label { font-size:7px; margin-bottom:2px; }
.explorer--compact .product-option { height:40px; width:36px; font-size:19px; }
.explorer--compact .explorer-results { padding:0 10px 12px; }
.explorer--compact .result-caption { padding:9px 0; font-size:9px; }
.explorer--compact .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.explorer--compact .material-card__image img { aspect-ratio:680/385; object-fit:contain; }
.explorer--compact .material-card__body { padding:6px; gap:5px; }
.explorer--compact .material-card__body > strong { min-height:23px; font-size:8px; line-height:1.4; }
.explorer--compact .material-card__body > span { font-size:7px; }
.explorer--compact .material-card__body .icon { width:9px; height:9px; }
.explorer--compact .explorer-formats { padding:9px 10px; gap:6px; }
.explorer--compact .explorer-formats > .filter-label { display:none; }
.explorer--compact .explorer-formats .filter-option { padding:9px 6px; font-size:9px; gap:5px; min-height:35px; }
.explorer--compact .explorer-formats .filter-tick { display:none; }
.explorer--compact .empty-results { min-height:242px; padding:28px 10px; gap:12px; }
.explorer--compact .empty-results strong { font-size:13px; }
.explorer--compact .empty-results p { font-size:10px; }
.explorer--compact .empty-results .button { font-size:10px; min-height:35px; padding:8px 12px; }
/* Direct resource scene */
.open-scene__context { display:flex; flex-wrap:wrap; gap:7px; background:#FAF8F0; padding:17px 20px; border-bottom:1px solid var(--line); }
.open-scene__context > span { background:var(--saffron-soft); padding:5px 10px; font-size:10px; font-weight:550; border-radius:4px; }
.open-scene__body { display:grid; grid-template-columns:1.05fr 1fr; gap:25px; align-items:center; padding:30px 24px; }
.open-scene__body > img { width:100%; border-radius:6px; }
.open-scene__detail h4 { font-size:23px; line-height:1.2; letter-spacing:-.03em; margin-bottom:13px; text-wrap:initial; }
.open-scene__detail > p:not(.screen-kicker) { font-size:12px; color:var(--muted); }
.current-material { display:flex; gap:6px; align-items:center; font-size:10px; color:#67705B; margin-top:20px; }
.current-material .icon { width:15px; height:15px; }
.open-scene__detail .button { margin-top:18px; padding:11px 12px; font-size:10px; gap:13px; white-space:normal; }
.open-scene__detail .button .icon { width:15px; height:15px; }
.open-scene__footer { background:#F9F9F4; font-size:10px; color:var(--muted); padding:16px 20px; border-top:1px solid var(--line); }
/* Return to useful materials. A display example, not stored browser data. */
.return-group { padding:20px 25px; }
.return-group h4 { display:flex; gap:9px; align-items:center; font-size:13px; font-weight:600; margin-bottom:15px; }
.return-group h4 .icon { width:17px; height:17px; color:#A78526; }
.return-favorites { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.return-favorites .material-card { flex-direction:row; align-items:center; }
.return-favorites .material-card__image { width:41%; flex:0 0 auto; }
.return-favorites .material-card__image img { height:118px; aspect-ratio:auto; object-fit:cover; }
.return-favorites .material-card__body { padding:12px; }
.return-favorites .material-card__body > strong { font-size:10px; min-height:0; }
.return-recent { padding:19px 25px 24px; border-top:1px solid var(--line); background:#F9F9F5; }
.return-recent > span { font-size:10px; color:var(--muted); }
.recent-resource { display:flex; align-items:center; gap:15px; border:0; background:transparent; padding:16px 0 0; color:var(--mineral); text-align:left; width:100%; }
.recent-resource img { width:85px; border:1px solid var(--line); border-radius:3px; }
.recent-resource strong { font-size:12px; font-weight:550; }
.recent-resource .icon { width:17px; height:17px; margin-left:auto; }

@media(max-width:1199px) {
 .difference-grid { gap:40px; grid-template-columns:1fr 1fr; }
 .difference-copy h2 { font-size:37px; }
 .difference-copy > p:not(.eyebrow) { font-size:14px; }
 .difference-copy .difference-lead { font-size:15px!important; }
 .difference-points { gap:24px; }
 .difference-points h3 { font-size:14px; }
 .tour-slide { grid-template-columns:minmax(0,.72fr) minmax(0,1.3fr); gap:34px; min-height:440px; }
 .tour-copy h3 { font-size:26px; }
 .tour-copy > p:not(.tour-kicker) { font-size:13px; }
 .tour-copy .tour-kicker { font-size:9px; }
 .recognize-mosaic { padding:14px; gap:9px; }
 .recognize-mosaic .material-card__body { padding:8px; }
 .recognize-mosaic .material-card__body > strong { font-size:9px; }
 .open-scene__body { grid-template-columns:.85fr 1fr; gap:20px; padding:25px 18px; }
 .open-scene__detail h4 { font-size:21px; }
 .explorer--compact .explorer-body { grid-template-columns:88px minmax(0,1fr) 44px; }
 .explorer--compact .explorer-goals .filter-option { font-size:8px; gap:5px; padding:10px 3px; }
 .explorer--compact .explorer-results { padding-inline:7px; }
 .explorer--compact .product-option { width:32px; height:38px; }
 .explorer--compact .explorer-specialties .filter-option,.explorer--compact .explorer-formats .filter-option { font-size:8px; }
 .explorer--compact .catalog-grid { gap:6px; }
 .explorer--compact .material-card__body > strong { font-size:7px; }
 .return-favorites .material-card { flex-direction:column; align-items:stretch; }
 .return-favorites .material-card__image { width:100%; }
 .return-favorites .material-card__image img { height:115px; width:100%; object-fit:contain; }
 .return-favorites .material-card__body { gap:8px; }
 .return-group { padding:18px; }
 .return-recent { padding:15px 18px 20px; }
}
@media(max-width:991px) {
 .difference-section { padding-block:65px 50px; }
 .difference-grid { gap:40px; grid-template-columns:1fr; }
 .difference-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 35px; align-items:start; }
 .difference-copy .eyebrow { grid-column:1/-1; }
 .difference-copy h2 { grid-row:2/5; margin-bottom:0; font-size:34px; }
 .difference-copy > p:not(.eyebrow) { font-size:13px; }
 .difference-copy .difference-lead { font-size:14px!important; }
 .difference-copy .text-link { font-size:12px; width:fit-content; }
 .difference-visual { width:100%; max-width:650px; margin-inline:auto; }
 .difference-points { margin-top:35px; gap:22px; padding-top:28px; }
 .difference-points article { display:block; }
 .difference-point-icon { display:block; margin-bottom:10px; }
 .difference-points h3 { font-size:13px; }
 .difference-points p { font-size:11px; }
 .difference-note { font-size:10px; }
 .explore-section { padding-block:65px; }
 .explore-intro > p:last-child { font-size:14px; max-width:570px; }
 .tour-slide { grid-template-columns:1fr; gap:25px; min-height:0; align-items:start; }
 .tour-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; align-items:start; }
 .tour-copy .tour-kicker { grid-column:1/-1; }
 .tour-copy h3 { grid-row:2/5; font-size:28px; }
 .tour-copy > p:not(.tour-kicker) { font-size:13px; }
 .tour-takeaway { grid-column:1/-1; display:flex; border-top:none; margin-top:0; padding-top:2px; font-size:11px; }
 .tour-takeaway br { display:none; }
 .tour-takeaway span strong { margin-right:3px; }
 .tour-takeaway .icon { height:20px; width:20px; }
 .tour-visual { max-width:690px; justify-self:center; }
 .tour-topics { gap:24px; }
 .tour-topic { font-size:13px; }
 .tour-topic > span { margin-right:5px; }
 .tour-arrows { gap:7px; }
 .tour-arrow { width:36px; height:36px; }
 .recognize-mosaic .material-card__body > strong { font-size:11px; }
 .recognize-mosaic .material-card__body { padding:11px; }
 .explorer--compact .explorer-body { grid-template-columns:102px minmax(0,1fr) 52px; }
 .explorer--compact .explorer-goals .filter-option { font-size:9px; gap:6px; padding:10px 5px; }
 .explorer--compact .material-card__body > strong { font-size:9px; min-height:26px; }
 .explorer--compact .material-card__body > span { font-size:8px; }
 .explorer--compact .explorer-specialties .filter-option,.explorer--compact .explorer-formats .filter-option { font-size:10px; }
 .explorer--compact .explorer-products .filter-label { font-size:8px; }
 .explorer--compact .product-option { width:37px; height:42px; }
 .open-scene__body { grid-template-columns:1fr 1fr; padding:30px; }
 .return-favorites .material-card { flex-direction:row; align-items:center; }
 .return-favorites .material-card__image { width:42%; }
 .return-favorites .material-card__body > strong { font-size:11px; }
 .contact-action .button { min-width:210px; }
}
@media(max-width:575px) {
 .difference-section { padding-block:52px 42px; }
 .difference-copy { display:block; }
 .difference-copy h2 { font-size:32px; margin-bottom:22px; }
 .difference-copy > p:not(.eyebrow) { font-size:14px; }
 .difference-copy .difference-lead { font-size:15px!important; }
 .difference-grid { gap:28px; }
 .archive-model { padding:16px; }
 .archive-model__heading { gap:10px; margin-bottom:12px; }
 .archive-model__heading > span { font-size:8px; }
 .archive-model__heading > strong { font-size:10px; }
 .archive-path { font-size:10px; gap:6px; }
 .need-model { padding:19px 15px; }
 .need-model h3 { font-size:23px; }
 .need-materials { gap:8px; }
 .need-materials .material-card__body { padding:7px 6px; }
 .need-materials .material-card__body > strong { font-size:8px; min-height:33px; }
 .need-materials .material-card__body > span { font-size:7px; }
 .need-concepts { gap:6px; margin-bottom:15px; }
 .need-concepts > span { font-size:9px; padding:4px 9px; }
 .need-model__caption { font-size:9px; }
 .difference-points { grid-template-columns:1fr; gap:22px; }
 .difference-points article { display:flex; gap:15px; }
 .difference-point-icon { padding-top:1px; }
 .difference-points h3 { font-size:15px; margin-bottom:6px; }
 .difference-points p { font-size:12px; }
 .difference-note { margin-top:25px; font-size:10px; }
 .explore-section { padding-block:53px; }
 .explore-intro h2 { font-size:31px; line-height:1.18; }
 .explore-intro > p:last-child { font-size:14px; line-height:1.7; }
 .tour-navigation { flex-wrap:wrap; gap:13px; margin-bottom:24px; }
 .tour-topics { width:100%; justify-content:space-between; gap:9px; }
 .tour-topic { font-size:12px; padding:12px 1px; }
 .tour-topic > span { display:block; text-align:left; margin:0 0 4px; font-size:9px; }
 .tour-arrows { margin-left:auto; padding-bottom:12px; }
 .tour-arrow { width:34px; height:34px; }
 .tour-copy { display:block; }
 .tour-copy h3 { font-size:26px; line-height:1.2; margin-bottom:18px; }
 .tour-copy > p:not(.tour-kicker) { font-size:13px; line-height:1.75; margin-bottom:15px; }
 .tour-copy .tour-kicker { font-size:9px; margin-bottom:14px; }
 .tour-takeaway { border-top:1px solid var(--line); padding-top:17px; margin-top:21px; font-size:11px; }
 .tour-takeaway br { display:initial; }
 .tour-slide { gap:23px; padding-inline:1px; }
 .tour-visual { max-width:100%; }
 .scene-top { padding:14px 12px; gap:10px; }
 .scene-top > strong { font-size:11px; }
 .scene-top > span { font-size:8px; max-width:110px; text-align:right; }
 .recognize-mosaic { padding:12px; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .recognize-mosaic .material-card__image img { aspect-ratio:680/345; }
 .recognize-mosaic .material-card__body { padding:9px 8px; gap:8px; }
 .recognize-mosaic .material-card__body > strong { font-size:9px; }
 .recognize-mosaic .material-card__body > span { font-size:8px; }
 .scene-bottom { font-size:8px; padding:9px 12px 13px; }
 .tour-footer { gap:14px; font-size:9px; margin-top:16px; }
 .tour-footer p span { display:block; margin-top:5px; }
 .tour-status { font-size:10px; }
 /* Small screens keep goals on the left and product on the right; minimum
    targets remain usable rather than shrinking the whole screenshot. */
 .explorer--compact .explorer-top { padding:12px 10px; }
 .explorer--compact .explorer-top__title { font-size:10px; gap:6px; }
 .explorer--compact .demo-label { font-size:7px; padding:3px 5px; }
 .explorer--compact .explorer-specialties { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:8px; }
 .explorer--compact .explorer-specialties .filter-option { display:flex; flex-direction:column; text-align:center; justify-content:center; align-items:center; padding:8px 4px; gap:5px; font-size:9px; max-width:none; min-height:56px; }
 .explorer--compact .explorer-specialties .filter-option > .icon { display:block; width:15px; height:15px; }
 .explorer--compact .explorer-specialties .filter-option .filter-tick { display:none; }
 .explorer--compact .selection-row--persistent { padding:8px; align-items:flex-start; }
 .explorer--compact .selection-chip { font-size:9px; min-height:29px; }
 .explorer--compact .selection-empty { font-size:9px; }
 .explorer--compact .explorer-body { display:grid; grid-template-columns:63px minmax(0,1fr) 37px; }
 .explorer--compact .explorer-goals { display:block; padding:12px 4px; }
 .explorer--compact .explorer-goals .filter-label { display:block; font-size:7px; margin:0 0 9px; text-align:center; }
 .explorer--compact .explorer-goals .filter-option { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; width:100%; padding:8px 2px; font-size:8px; margin-bottom:5px; gap:5px; min-height:49px; }
 .explorer--compact .explorer-goals .filter-option .icon { display:block; width:14px; height:14px; }
 .explorer--compact .explorer-goals .filter-option .filter-tick { display:none; }
 .explorer--compact .explorer-results { padding:0 6px 10px; }
 .explorer--compact .result-caption { font-size:8px; padding:8px 0; }
 .explorer--compact .catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .explorer--compact .material-card__body { padding:5px; gap:4px; }
 .explorer--compact .material-card__body > strong { font-size:8px; min-height:30px; }
 .explorer--compact .material-card__body > span { font-size:7px; }
 .explorer--compact .material-card__body .icon { display:none; }
 .explorer--compact .explorer-products { display:flex; flex-direction:column; padding:11px 3px; gap:7px; }
 .explorer--compact .explorer-products .filter-label { display:block; font-size:5.5px; margin:0 0 4px; }
 .explorer--compact .product-option { width:30px; height:39px; min-height:39px; font-size:18px; }
 .explorer--compact .explorer-formats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; gap:6px; }
 .explorer--compact .explorer-formats .filter-option { display:flex; flex-direction:row; font-size:9px; padding:8px; gap:7px; min-height:36px; max-width:none; }
 .explorer--compact .explorer-formats .filter-option > .icon { display:block; width:13px; height:13px; }
 .explorer--compact .explorer-formats .filter-option .filter-tick { display:none; }
 .explorer--compact .empty-results { min-height:300px; padding:25px 6px; }
 .explorer--compact .empty-results strong { font-size:11px; }
 .explorer--compact .empty-results p { font-size:9px; }
 .explorer--compact .empty-results .button { white-space:normal; font-size:9px; }
 .open-scene__context { padding:14px; gap:6px; }
 .open-scene__context > span { font-size:9px; }
 .open-scene__body { grid-template-columns:1fr; padding:19px; gap:22px; }
 .open-scene__body > img { max-width:310px; margin-inline:auto; }
 .open-scene__detail h4 { font-size:23px; }
 .open-scene__detail > p:not(.screen-kicker) { font-size:13px; }
 .open-scene__detail .button { font-size:12px; padding:12px 16px; }
 .open-scene__footer { padding:14px 19px; font-size:9px; }
 .return-group { padding:17px 13px; }
 .return-favorites { gap:10px; }
 .return-favorites .material-card { flex-direction:column; align-items:stretch; }
 .return-favorites .material-card__image { width:100%; }
 .return-favorites .material-card__image img { height:105px; }
 .return-favorites .material-card__body { padding:10px 8px; }
 .return-favorites .material-card__body > strong { font-size:9px; }
 .return-favorites .material-card__body > span { font-size:8px; }
 .return-recent { padding:16px 13px 21px; }
 .recent-resource { gap:9px; }
 .recent-resource strong { font-size:10px; }
 .recent-resource img { width:68px; }
 .contact-action { align-items:stretch; }
 .contact-action .button { width:100%; min-width:0; }
 .modal-header { padding:25px 69px 20px 20px; gap:15px; }
 .modal-close { top:20px; right:16px; width:38px; height:38px; }
 .modal-header .modal-title { font-size:22px; }
 .modal-dialog-scrollable .modal-body { padding-right:15px; }
}
@media(prefers-reduced-motion:reduce) {
 html.aos-enabled [data-aos], html.aos-enabled [data-aos].aos-animate { opacity:1!important; transform:none!important; transition:none!important; }
 .explore-swiper > .swiper-wrapper { transition-duration:0ms!important; }
}
@media print {
 .tour-navigation,.tour-footer { display:none; }
 .explore-swiper { overflow:visible; }
 .explore-swiper > .swiper-wrapper { display:block; transform:none!important; height:auto!important; }
 .tour-slide { display:grid; margin-bottom:40px; break-inside:avoid; }
 .tour-slide[aria-hidden="true"] { visibility:visible!important; }
}
/* Reset v01's mobile full-width goal strip inside the new compact layout. */
@media(max-width:575px) {
 .explorer--compact { margin-inline:0; }
 .explorer--compact .explorer-goals { grid-column:auto; grid-row:auto; }
 .explorer--compact .explorer-goals .filter-option { white-space:normal; }
 .explorer--compact .explorer-goals .filter-label { width:auto; }
 .explorer--compact .explorer-products .filter-label { writing-mode:horizontal-tb; letter-spacing:0; }
}
/* A stable page gutter must not clip the fullscreen modal's own scrollbar. */
.modal { width:100vw; }
@media(max-width:575px) {
 .modal-dialog.modal-fullscreen-sm-down { width:100%; margin:0; }
}
