/* Perfil profesional: lectura compacta y el mismo tema que el resto de CAMAPE. */
html[data-theme="light"] {
    color-scheme: light;
    --bg:#f8faf9; --surface:#fff; --surface-2:#eef3f0; --surface-3:#e1eae4;
    --text:#142019; --muted:#4c5c53; --line:#d8e2db; --soft:#eef3f0;
    --accent:color-mix(in srgb,var(--profile-color,#00c853) 30%,#153b25);
}
html[data-theme="dark"] {
    color-scheme: dark;
    --bg:#0b100d; --surface:#141d17; --surface-2:#1c2820; --surface-3:#273a2d;
    --text:#f2f7f4; --muted:#b9c8bf; --line:#34463a; --soft:#1c2820;
    --accent:color-mix(in srgb,var(--profile-color,#00c853) 28%,#b8f4d0);
}
:root { --sans:Inter,system-ui,sans-serif; --serif:Outfit,Inter,sans-serif; }
body { line-height:1.6; }
:is(a,button,summary):focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.profile-app { grid-template-columns:minmax(320px,38vw) minmax(0,1fr); }
.stage-top { left:20px; right:20px; gap:8px; }
.brand-chip,.icon-btn { background:var(--surface); color:var(--text); border-color:var(--line); }
.brand-chip span { font-size:.65rem; letter-spacing:.05em; }
.icon-btn { width:44px; height:44px; flex-shrink:0; }
.icon-btn:hover { background:var(--surface-2); border-color:var(--accent); }
.stage-bottom { left:20px; right:20px; bottom:20px; padding:22px; border:1px solid var(--line); border-radius:20px; background:color-mix(in srgb,var(--surface) 96%,transparent); color:var(--text); }
.stage-file { color:var(--muted); opacity:1; margin-bottom:12px; font-size:.65rem; }
.stage-name { font-size:clamp(2rem,3.8vw,3.8rem); font-weight:600; line-height:1.02; letter-spacing:-.03em; overflow-wrap:anywhere; }
.stage-meta { gap:6px; margin-top:16px; }
.stage-pill,.stage-pill.accent { background:var(--surface-2); color:var(--text); border-color:var(--line); padding:7px 9px; font-size:.66rem; }
.stage-pill.accent { border-color:var(--accent); }
.stream-nav { padding:10px 22px; gap:10px; background:var(--surface); }
.nav-dot { min-height:44px; }
.stream-section,.stream-section.compact { padding:48px clamp(24px,3.5vw,50px); scroll-margin-top:74px; }
.section-label { margin-bottom:22px; font-size:.7rem; letter-spacing:.1em; }
.editorial-title { font-size:clamp(2rem,3.6vw,3.8rem); font-weight:550; line-height:1.1; letter-spacing:-.035em; }
.lede { margin-top:20px; font-size:1rem; line-height:1.75; }
.identity-actions,.platform-dock { margin-top:24px; gap:8px; }
.action-btn { min-height:44px; border-radius:11px; padding:10px 14px; font-size:.8rem; line-height:1.4; }
.action-btn.primary { background:var(--accent); color:var(--bg); box-shadow:none; }
.platform-link:hover { background:var(--surface-2); color:var(--text); }
.fact-matrix { margin-top:28px; }
.fact { min-height:105px; padding:18px; }
.fact span { margin-top:12px; font-size:.68rem; letter-spacing:.06em; }
.fact strong { font-size:1.05rem; }
.story-grid { grid-template-columns:1fr; gap:20px; }
.story-kicker { position:static; font-size:2rem; font-style:normal; line-height:1.2; }
.story-copy { font-size:1rem; line-height:1.8; }
.story-copy::first-letter { float:none; font:inherit; padding:0; color:inherit; }
.feature-card,.booking-card,.vault,.service-card,.package-card { border-radius:18px; }
.feature-card h3,.vault-head h3,.booking-card h2 { font-size:clamp(1.6rem,2.8vw,2.4rem); line-height:1.15; }
.gallery-card { border-radius:16px; }
.gallery-track,.package-track,.related-track { scroll-padding-inline:2px; }
.vault-title,.vault-row strong,.vault-row span,.detail-row strong,.detail-row span { overflow-wrap:anywhere; }
.quote-panel { min-height:230px; border-radius:18px; }
.quote-panel blockquote { font-size:2rem; line-height:1.2; }
.modal-close { min-width:44px; min-height:44px; }
.mobile-actionbar a:first-child,.quote-panel,.booking-card,.play-orb { color:var(--bg); }
.quote-panel p { font-size:clamp(1.5rem,2.7vw,2.3rem); line-height:1.25; }
@media(max-width:1050px) { .profile-app { grid-template-columns:minmax(300px,38vw) minmax(0,1fr); } }
@media(max-width:820px) {
    .profile-app { display:block; }
    .visual-stage { height:520px; max-height:75svh; min-height:430px; }
    .stage-top { top:16px; left:16px; right:16px; }
    .stage-bottom { left:16px; right:16px; bottom:16px; padding:18px; }
    .stage-name { font-size:clamp(1.9rem,7.5vw,3rem); }
    .brand-chip span { display:inline; font-size:.6rem; }
    .stream-nav { padding:8px 14px; }
    .stream-section,.stream-section.compact { padding:34px 18px; }
    .editorial-title { font-size:2rem; line-height:1.12; }
    .section-label { margin-bottom:18px; }
    .fact-matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fact { min-height:95px; padding:14px; }
    .gallery-track { grid-auto-columns:70%; }
    .package-track { grid-auto-columns:86%; }
    .related-track { grid-auto-columns:64%; }
    .stage-pill:nth-child(n+3) { display:inline-flex; }
    .identity-actions { flex-direction:row; }
    .identity-actions .action-btn { width:auto; flex:1 1 calc(50% - 4px); padding:10px; font-size:.75rem; }
    .booking-card { padding:24px 20px; }
    .cinema-feature { min-height:180px; }
    .micro-footer { font-size:.78rem; padding:28px 18px 100px; }
}
@media(max-width:359px) { .brand-chip span { display:none; } .stage-pill { font-size:.6rem; } }
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
