/* Video fidelity: one final style layer for the reference composition.
   Preserves existing .preview-dialog and all .capture-button behavior. */
:root[data-theme="light"]{
  --e-page:#f8f6ee;--e-surface:#f0eee5;--e-soft:#eae8df;
  --e-text:#222945;--e-muted:#555b6d;--e-accent:#283457;
  --e-border:#d6d5cc;--e-inverse:#252d4e;--e-inverse-text:#f9f7ee;
  --e-button:#252d4e;--e-button-text:#fffdf7;
  --skill-language:#252d4e;--skill-frontend:#303959;--skill-backend:#4d536e;
  --skill-data:#646680;--skill-cloud:#565e7b;--skill-tools:#67677a;--skill-security:#475371;
}
:root[data-theme="dark"]{
  --e-page:#101626;--e-surface:#1b2336;--e-soft:#161e30;
  --e-text:#f6f3eb;--e-muted:#c3c7d4;--e-accent:#d5d8ee;
  --e-border:#3a455b;--e-inverse:#293653;--e-inverse-text:#f9f7f0;
  --e-button:#e8e9f5;--e-button-text:#161c30;
  --skill-language:#c9d2f3;--skill-frontend:#bac7eb;--skill-backend:#aeb8dd;
  --skill-data:#d1c9e0;--skill-cloud:#c4cbea;--skill-tools:#d1cde3;--skill-security:#bac9e2;
}
:root[data-theme] .reference-stack{background:var(--e-page)!important;padding-top:clamp(82px,9vw,140px)!important;padding-bottom:clamp(80px,9vw,140px)!important}
:root[data-theme] .reference-stack-heading{display:grid!important;grid-template-columns:1.65fr .65fr;align-items:end;gap:26px;margin:35px 0 26px}
:root[data-theme] .reference-stack-heading h2{font-size:clamp(59px,7.4vw,112px)!important;line-height:.94!important;letter-spacing:-.09em!important;color:var(--e-text)!important}
:root[data-theme] .reference-stack-heading h2 em{font-family:Georgia,serif!important;font-weight:400!important;letter-spacing:-.06em!important;color:var(--e-muted)!important}
:root[data-theme] .reference-stack-heading p{font-size:13px!important;line-height:1.7!important;color:var(--e-muted)!important;max-width:280px}
:root[data-theme] .reference-skill-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:30px 0 17px}
:root[data-theme] .reference-skill-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
:root[data-theme] .reference-skill-filters button{border:1px solid var(--e-border);border-radius:999px;background:var(--e-surface);color:var(--e-text);font-size:11px;font-family:inherit;min-height:34px;padding:7px 13px;cursor:pointer;transition:background .24s ease,border-color .24s ease,color .24s ease,transform .24s ease}
:root[data-theme] .reference-skill-filters button:hover{transform:translateY(-2px)}
:root[data-theme] .reference-skill-filters button[aria-pressed="true"]{background:var(--e-inverse)!important;color:var(--e-inverse-text)!important;border-color:var(--e-inverse)!important}
:root[data-theme] .skill-status{color:var(--e-muted)!important;font-size:11px!important;white-space:nowrap;margin:0}
:root[data-theme] .reference-skill-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,25%);gap:clamp(20px,3vw,42px);align-items:stretch}
:root[data-theme] .reference-skill-composition .reference-elements{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;align-content:start;gap:5px!important;background:transparent!important}
:root[data-theme] .reference-skill-composition .skill-tile{appearance:none;min-height:107px!important;width:100%;min-width:0;display:flex;flex-direction:column;text-align:left;align-items:stretch;cursor:pointer;padding:9px 8px!important;border:1px solid var(--e-border)!important;border-radius:6px!important;color:var(--e-text)!important;background:var(--e-surface)!important;box-shadow:none!important;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease}
:root[data-theme] .reference-skill-composition .skill-tile[hidden]{display:none!important}
:root[data-theme] .reference-skill-composition .skill-tile:is(:hover,[aria-pressed="true"]){transform:translateY(-3px);border-color:var(--e-accent)!important;box-shadow:0 6px 16px #071b151c!important}
:root[data-theme] .reference-skill-composition .skill-tile[aria-pressed="true"]{outline:2px solid var(--e-accent);outline-offset:-3px}
:root[data-theme] .reference-skill-composition .skill-tile>span{font-size:9px;color:var(--e-muted)!important}
:root[data-theme] .reference-skill-composition .skill-tile>strong{font-size:clamp(24px,3vw,36px)!important;letter-spacing:-.095em;line-height:1;margin:auto 0 5px;color:inherit!important}
:root[data-theme] .reference-skill-composition .skill-tile>small{font-size:10px;color:inherit!important;font-weight:700;overflow-wrap:anywhere}
:root[data-theme] .reference-skill-composition .skill-tile>em{font-size:7px;color:var(--e-muted)!important;font-style:normal;letter-spacing:.08em;margin-top:4px;text-transform:uppercase}
:root[data-theme="light"] .reference-skill-composition .skill-tile:nth-child(-n+9){background:var(--e-inverse)!important;color:var(--e-inverse-text)!important}
:root[data-theme="light"] .reference-skill-composition .skill-tile:nth-child(-n+9)>span,:root[data-theme="light"] .reference-skill-composition .skill-tile:nth-child(-n+9)>em{color:#d8deef!important}
:root[data-theme="dark"] .reference-skill-composition .skill-tile:nth-child(-n+9){background:#293653!important;color:#fff!important}
:root[data-theme] .skill-inspector{--skill-accent:var(--skill-frontend);display:flex;flex-direction:column;background:var(--e-soft);border:1px solid var(--e-border);border-radius:9px;padding:clamp(18px,2.2vw,30px);min-width:0;position:relative;overflow:hidden;min-height:340px}
:root[data-theme] .skill-inspector-eyebrow{letter-spacing:.18em;font-size:9px;color:var(--e-muted);font-weight:800}
:root[data-theme] .skill-inspector-art{position:relative;isolation:isolate;display:grid;place-items:center;flex:1;min-height:138px}
:root[data-theme] .skill-inspector-art>strong{position:relative;z-index:2;font-size:clamp(58px,6vw,92px);font-weight:800;line-height:1;letter-spacing:-.1em;color:var(--e-accent)}
:root[data-theme] .skill-art-orbit{position:absolute;border:1px solid var(--e-border);width:125px;height:125px;border-radius:50%;transform:rotate(-35deg) scaleY(.58)}
:root[data-theme] .skill-art-orbit-two{transform:rotate(44deg) scaleY(.58)}
:root[data-theme] .skill-inspector-info{border-top:1px solid var(--e-border);padding-top:20px}
:root[data-theme] .skill-inspector-category{font-size:9px;letter-spacing:.14em;color:var(--e-muted)}
:root[data-theme] .skill-inspector-info h3{font-size:clamp(25px,2.6vw,38px);letter-spacing:-.065em;margin:8px 0 12px;color:var(--e-text)}
:root[data-theme] .skill-inspector-info p{font-size:12px!important;line-height:1.6;color:var(--e-muted)!important}
:root[data-theme] .skill-inspector-info a{display:inline-flex;margin-top:12px;color:var(--e-accent)!important;font-size:11px;font-weight:750}
:root[data-theme] .reference-stack-legend{margin-top:20px;border-top:1px solid var(--e-border);padding-top:17px;justify-content:space-between;color:var(--e-muted)}
:root[data-theme] .reference-stack-legend>span{font-size:9px}
:root[data-theme] :is(.skill-tile,.reference-skill-filters button):focus-visible{outline:3px solid var(--e-accent)!important;outline-offset:3px}
:root[data-theme] .reference-photo-disc{border-radius:50%!important;background:var(--e-surface)!important;inset:10% 7% 3%!important}
:root[data-theme] .reference-hero-photo img{height:94%;filter:drop-shadow(0 10px 14px #10261a12)}
:root[data-theme] #primary-nav a[aria-current]{background:var(--e-inverse)!important;color:var(--e-inverse-text)!important}
@media(max-width:1040px){:root[data-theme] .reference-skill-composition{grid-template-columns:minmax(0,1fr) 210px}:root[data-theme] .reference-skill-composition .reference-elements{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:780px){:root[data-theme] .reference-stack-heading{grid-template-columns:1fr!important}:root[data-theme] .reference-stack-heading p{max-width:570px}:root[data-theme] .reference-skill-composition{grid-template-columns:1fr}:root[data-theme] .reference-skill-composition .reference-elements{grid-template-columns:repeat(6,minmax(0,1fr))!important}:root[data-theme] .skill-inspector{min-height:0;display:grid;grid-template-columns:120px 1fr;gap:10px 25px}:root[data-theme] .skill-inspector-eyebrow{grid-column:1/-1}:root[data-theme] .skill-inspector-art{min-height:130px}:root[data-theme] .skill-inspector-info{border-top:0;padding-top:0}}
@media(max-width:550px){:root[data-theme] .reference-skill-toolbar{display:block}:root[data-theme] .reference-skill-filters{gap:6px}:root[data-theme] .reference-skill-filters button{font-size:10px;padding:6px 10px}:root[data-theme] .skill-status{margin-top:15px}:root[data-theme] .reference-skill-composition .reference-elements{grid-template-columns:repeat(4,minmax(0,1fr))!important}:root[data-theme] .reference-skill-composition .skill-tile{min-height:95px!important;padding:7px!important}:root[data-theme] .reference-skill-composition .skill-tile>strong{font-size:29px!important}:root[data-theme] .skill-inspector{grid-template-columns:1fr}.skill-inspector-art{min-height:135px}:root[data-theme] .skill-inspector-info{border-top:1px solid var(--e-border);padding-top:15px}}
@media(prefers-reduced-motion:reduce){:root[data-theme] .reference-skill-composition .skill-tile,:root[data-theme] .reference-skill-filters button{transition:none!important;transform:none!important}}

/* Featured work follows the reference's illustration-left/text-right split,
   without replacing the project-preview button or its existing event wiring. */
:root[data-theme] #proyectos .reference-work-heading h2{font-size:clamp(73px,9vw,145px)!important;line-height:.92!important}
:root[data-theme] #proyectos .reference-work-heading h2 em{font-family:Georgia,serif;font-weight:400;color:var(--e-muted)!important}
:root[data-theme] #proyectos .feature{display:grid!important;grid-template-columns:minmax(0,.91fr) minmax(0,1.1fr)!important;grid-template-areas:"label art" "heading art" "subtitle art" "description art" "actions art" "tags art" "details art";grid-template-rows:auto auto auto 1fr auto auto auto;gap:12px clamp(26px,4vw,60px);background:var(--e-surface)!important;border:1px solid var(--e-border)!important;border-radius:12px!important;text-align:left!important;align-items:start;padding:clamp(22px,3.8vw,54px)!important;box-shadow:none!important}
:root[data-theme] #proyectos .feature>.feature-capture{grid-area:art;align-self:stretch;min-height:460px;width:100%;margin:0!important;border-radius:11px!important;border:1px solid var(--e-border);background:var(--e-soft)!important;display:block;overflow:hidden}
:root[data-theme] #proyectos .feature>.feature-capture img{width:100%!important;height:100%!important;min-height:460px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center}
:root[data-theme] #proyectos .feature>.eyebrow{grid-area:label;margin:0!important;align-self:start;font-size:10px!important;color:var(--e-muted)!important}
:root[data-theme] #proyectos .feature>h3{grid-area:heading;font-size:clamp(38px,4.55vw,65px)!important;line-height:1.02!important;letter-spacing:-.065em!important;margin:12px 0!important;color:var(--e-text)!important}
:root[data-theme] #proyectos .feature>.feature-subtitle{grid-area:subtitle;font-size:16px!important;line-height:1.45!important;margin:0!important;font-weight:700;color:var(--e-text)!important}
:root[data-theme] #proyectos .feature>p:not(.eyebrow):not(.feature-subtitle):not(.stack){grid-area:description;max-width:400px;margin:3px 0 0!important;font-size:13px!important;line-height:1.7!important;color:var(--e-muted)!important}
:root[data-theme] #proyectos .feature>.actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-start!important;flex-wrap:wrap;gap:10px;margin:15px 0!important}
:root[data-theme] #proyectos .feature>.actions>a:not(.button){font-size:12px;color:var(--e-text)!important}
:root[data-theme] #proyectos .feature>.stack{grid-area:tags;max-width:none;margin:0!important;font-size:11px!important;color:var(--e-muted)!important}
:root[data-theme] #proyectos .feature>.feature-note{grid-area:details;margin:6px 0 0!important;padding-top:14px!important;border-top:1px solid var(--e-border)!important;text-align:left}
:root[data-theme] #proyectos .feature>.feature-note>strong{display:block;font-size:17px!important;line-height:1.2!important;letter-spacing:-.04em;color:var(--e-text)!important}
:root[data-theme] #proyectos .feature .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0 0;color:var(--e-muted);font-size:10px!important}
:root[data-theme] #proyectos .feature .steps li{min-width:0}
:root[data-theme] #proyectos .feature .steps strong{font-size:10px!important}
:root[data-theme] #proyectos .grid{gap:15px!important;margin-top:16px!important}
:root[data-theme] #proyectos .project:not(.dark){background:var(--e-surface)!important;color:var(--e-text)!important}
:root[data-theme] #proyectos .project.dark{background:var(--e-inverse)!important;color:var(--e-inverse-text)!important}
:root[data-theme] #proyectos .project.dark :is(h3,p,.number,.project-subtitle,.tech-tags li,summary,dt,dd){color:var(--e-inverse-text)!important}
:root[data-theme] #proyectos .project.dark .tech-tags li{border-color:color-mix(in srgb,var(--e-inverse-text) 24%,transparent)!important}
:root[data-theme] #proyectos .project.dark a{color:var(--e-inverse-text)!important}
:root[data-theme] #proyectos .project{border-radius:12px!important;box-shadow:none!important}
:root[data-theme] #proyectos .project .capture-button{border-radius:9px!important;outline-offset:4px}
:root[data-theme] #proyectos .project .capture-button img{border-radius:9px!important}
:root[data-theme] #formacion .academic{border-radius:12px!important}
:root[data-theme] #formacion .academic :is(h3,p,span){color:var(--e-inverse-text)!important}
:root[data-theme] #formacion .credential-details{border-color:var(--e-border)!important}
:root[data-theme] #formacion .credential{border-radius:8px!important}
:root[data-theme] #contacto .contact-form :is(input,textarea){color:var(--e-text)!important;border-color:var(--e-border)!important}
:root[data-theme] #contacto .contact-form :is(input,textarea)::placeholder{color:var(--e-muted)!important}
:root[data-theme] #contacto :is(.contact-copy,.form-status){color:var(--e-muted)!important}
:root[data-theme] .reference-journey{background:var(--e-soft)!important}
:root[data-theme] .reference-moments{background:var(--e-page)!important}
:root[data-theme] .reference-moments .reference-stats>div{background:transparent!important}
:root[data-theme] .reference-moments .reference-stats strong{color:var(--e-text)!important}
:root[data-theme] .reference-moments .reference-stats p{color:var(--e-muted)!important}
@media(max-width:850px){
  :root[data-theme] #proyectos .feature{grid-template-columns:1fr!important;grid-template-areas:"art" "label" "heading" "subtitle" "description" "actions" "tags" "details";grid-template-rows:auto;gap:12px!important}
  :root[data-theme] #proyectos .feature>.feature-capture{height:clamp(250px,52vw,480px);min-height:0}
  :root[data-theme] #proyectos .feature>.feature-capture img{min-height:0!important}
  :root[data-theme] #proyectos .feature>h3{font-size:clamp(40px,9vw,76px)!important;margin:2px 0!important}
}
@media(max-width:600px){:root[data-theme] #proyectos .feature{padding:18px!important}:root[data-theme] #proyectos .feature>.feature-capture{height:250px}:root[data-theme] #proyectos .feature .steps{grid-template-columns:1fr 1fr 1fr}:root[data-theme] #proyectos .grid{grid-template-columns:1fr!important}}

/* Final editorial rhythm: learning, contact and footer. */
:root[data-theme] #formacion{background:var(--e-page)!important}
:root[data-theme] #formacion .heading{display:grid!important;grid-template-columns:1fr .52fr;align-items:end;gap:30px!important;margin-bottom:clamp(45px,6vw,85px)!important}
:root[data-theme] #formacion .heading h2{font-size:clamp(64px,8.3vw,132px)!important;line-height:.93!important;letter-spacing:-.09em!important;color:var(--e-text)!important}
:root[data-theme] #formacion .heading h2 em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.08em;color:var(--e-muted)!important}
:root[data-theme] #formacion .heading>p{font-size:14px!important;max-width:320px;color:var(--e-muted)!important}
:root[data-theme] #formacion .academic{padding:clamp(26px,3.6vw,52px)!important;display:flex;justify-content:space-between;gap:32px;align-items:center;background:var(--e-inverse)!important;border:0!important}
:root[data-theme] #formacion .academic h3{font-size:clamp(28px,3.6vw,48px)!important}
:root[data-theme] #formacion .academic p{font-size:13px!important}
:root[data-theme] #formacion .credential-details{margin-top:24px;padding:12px 0!important}
:root[data-theme] #formacion .credential-details>summary{color:var(--e-text)!important;font-size:12px!important;letter-spacing:.03em;border-color:var(--e-border)!important}
:root[data-theme] #formacion .credential-intro{display:flex;justify-content:space-between;gap:30px;align-items:start}
:root[data-theme] #formacion .credential-intro h3{font-size:clamp(22px,3vw,38px)!important}
:root[data-theme] #formacion .credential-intro p{color:var(--e-muted)!important;font-size:12px!important;max-width:360px}
:root[data-theme] #contacto{padding-top:clamp(110px,13vw,190px)!important;padding-bottom:clamp(95px,12vw,175px)!important;background:var(--e-soft)!important}
:root[data-theme] #contacto h2{font-size:clamp(78px,12vw,194px)!important;line-height:.84!important;letter-spacing:-.11em!important;color:var(--e-text)!important;margin:23px 0 42px!important}
:root[data-theme] #contacto h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em;color:var(--e-muted)!important}
:root[data-theme] #contacto .contact-intro .eyebrow{font-size:10px!important;letter-spacing:.15em!important;color:var(--e-muted)!important}
:root[data-theme] #contacto .contact-copy{font-size:15px!important;line-height:1.75!important;max-width:490px}
:root[data-theme] .reference-footer{background:var(--e-inverse)!important;color:var(--e-inverse-text)!important;border-top:0!important}
:root[data-theme] .reference-footer-inner{padding-top:clamp(34px,5vw,62px)!important;padding-bottom:26px!important}
:root[data-theme] .reference-footer-heading,:root[data-theme] .reference-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid color-mix(in srgb,var(--e-inverse-text) 27%,transparent);padding-bottom:18px;letter-spacing:.14em;font-size:10px;font-weight:800}
:root[data-theme] .reference-footer-bottom{border-top:1px solid color-mix(in srgb,var(--e-inverse-text) 27%,transparent);border-bottom:0;padding-top:18px;padding-bottom:0}
:root[data-theme] .reference-footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px;padding:clamp(45px,6vw,90px) 0}
:root[data-theme] .reference-footer-mark{font-size:clamp(84px,12vw,170px);font-weight:950;line-height:.75;letter-spacing:-.14em;color:var(--e-inverse-text)!important}
:root[data-theme] .reference-footer-mark span{color:var(--e-accent)!important}
:root[data-theme] .reference-footer-main p{font-size:13px!important;margin-top:33px!important;line-height:1.6!important;color:var(--e-inverse-text)!important;opacity:.78}
:root[data-theme] .reference-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
:root[data-theme] .reference-footer-links a{font-size:13px!important;color:var(--e-inverse-text)!important}
:root[data-theme] .reference-footer-links a:hover{text-decoration:underline!important;text-underline-offset:5px}
:root[data-theme] .reference-footer-heading>span,:root[data-theme] .reference-footer-bottom>span{color:var(--e-inverse-text)!important}
:root[data-theme] .reference-footer-mark:focus-visible,:root[data-theme] .reference-footer-links a:focus-visible{outline:2px solid var(--e-inverse-text);outline-offset:6px}
@media(max-width:800px){:root[data-theme] #formacion .heading{grid-template-columns:1fr}:root[data-theme] #formacion .academic{align-items:start}:root[data-theme] .reference-footer-main{grid-template-columns:1.4fr 1fr;gap:36px}}
@media(max-width:550px){:root[data-theme] #contacto h2{font-size:clamp(72px,17vw,110px)!important}:root[data-theme] #formacion .academic{flex-direction:column}:root[data-theme] #formacion .credential-intro{display:block}:root[data-theme] .reference-footer-main{grid-template-columns:1fr 1fr;gap:36px 22px}:root[data-theme] .reference-footer-main>div:first-child{grid-column:1/-1}:root[data-theme] .reference-footer-heading,.reference-footer-bottom{flex-wrap:wrap;gap:9px}}

/* Tablet / iPhone navigation: collapse before the six-link pill overflows. */
@media(max-width:1050px){
  :root[data-theme] header .nav{flex-wrap:wrap!important;gap:10px!important;min-height:68px!important;padding-top:9px;padding-bottom:9px}
  :root[data-theme] header .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;order:2;min-height:40px;border-radius:999px;border:1px solid var(--e-border);background:var(--e-surface);color:var(--e-text);font-size:12px;padding:8px 15px}
  :root[data-theme] header .site-controls{order:3;margin-left:0}
  :root[data-theme] header #primary-nav{order:4;display:none!important;flex-basis:100%;width:100%;padding:9px!important;flex-direction:column!important;align-items:stretch;gap:3px!important;border-radius:14px!important;background:var(--e-surface)!important;box-shadow:none!important}
  :root[data-theme] header #primary-nav.is-open{display:flex!important}
  :root[data-theme] header #primary-nav a{display:flex!important;justify-content:flex-start;min-height:42px!important;padding:9px 14px!important;border-top:0!important;color:var(--e-text)!important;font-size:13px!important}
  :root[data-theme] header #primary-nav a[aria-current]{color:var(--e-inverse-text)!important}
}
@media(max-width:620px){
  :root[data-theme] header .nav{gap:7px!important}
  :root[data-theme] header .personal-brand>span{display:none!important}
  :root[data-theme] header .brand{font-size:27px!important}
  :root[data-theme] header .site-controls{margin-left:auto!important}
  :root[data-theme] header .menu-toggle{order:4}
  :root[data-theme] header #primary-nav{order:5}
  :root[data-theme] header .theme-select{max-width:102px;font-size:11px}
  :root[data-theme] header .language-toggle{font-size:11px}
}

/* Inspector reacts to selected technology family without changing text contrast. */
:root[data-theme] .skill-inspector-art>strong{color:var(--skill-accent,var(--e-accent))!important;transition:color .24s ease}
:root[data-theme="dark"] .skill-inspector{--skill-language:#a0c2d0;--skill-frontend:#a8ddbd;--skill-backend:#b5ddcc;--skill-data:#d1ddab;--skill-cloud:#b8d7cb;--skill-tools:#c8d0d9;--skill-security:#a5d9ce}

/* Professional line icons: consistent Lucide-inspired stroke and alignment. */
:root[data-theme] .professional-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.13em;stroke:currentColor;fill:none;stroke-width:1.85;flex-shrink:0}
:root[data-theme] .reference-section-heading .professional-icon{width:13px;height:13px;vertical-align:-2px}
:root[data-theme] .reference-actions a .professional-icon,:root[data-theme] .reference-about-links a .professional-icon,:root[data-theme] .reference-journey-links a .professional-icon{margin-left:5px}
:root[data-theme] .reference-footer-links a .professional-icon{margin-left:4px}
:root[data-theme] .reference-photo-orbit .professional-icon{width:100%;height:100%;stroke-width:1.1}
:root[data-theme] .professional-icon-sparkles{color:var(--e-accent)}

/* Complete professional icon system: meaningful symbols and no text glyph fallbacks. */
:root[data-theme] .professional-icon{width:16px;height:16px;min-width:16px;stroke:currentColor;vertical-align:-.18em;stroke-width:1.8}
:root[data-theme] .professional-icon-github{stroke-width:1.65}
:root[data-theme] .professional-icon-fileText{width:15px;height:15px;min-width:15px}
:root[data-theme] .reference-inline-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;line-height:1}
:root[data-theme] .reference-inline-icon .professional-icon{width:15px;height:15px;min-width:15px}
:root[data-theme] .reference-actions a{display:inline-flex;align-items:center;gap:6px}
:root[data-theme] .reference-about-links a,:root[data-theme] .reference-journey-links a{display:inline-flex;align-items:center;gap:6px}
:root[data-theme] .reference-footer-links a{display:inline-flex;align-items:center;gap:5px}
:root[data-theme] .reference-actions a .professional-icon,:root[data-theme] .reference-about-links a .professional-icon,:root[data-theme] .reference-journey-links a .professional-icon,:root[data-theme] .reference-footer-links a .professional-icon{transition:transform .2s ease}
:root[data-theme] .reference-actions a:hover .professional-icon-arrowUp,:root[data-theme] .reference-about-links a:hover .professional-icon-arrowUp,:root[data-theme] .reference-journey-links a:hover .professional-icon-arrowUp,:root[data-theme] .reference-footer-links a:hover .professional-icon-arrowUp{transform:translate(2px,-2px)}
:root[data-theme] .reference-photo-orbit{display:inline-flex!important;align-items:center;justify-content:center;width:clamp(36px,5vw,78px);height:clamp(36px,5vw,78px)}
:root[data-theme] .reference-photo-orbit .professional-icon-sparkles{width:100%;height:100%;min-width:0;stroke-width:1.1}
:root[data-theme] .skill-inspector-info [data-skill-link]{display:inline-flex;align-items:center;gap:7px}
:root[data-theme] .skill-inspector-info [data-skill-link] .professional-icon{width:14px;height:14px;min-width:14px}
:root[data-theme] .preview-cta .professional-icon{margin-left:6px}
@media(prefers-reduced-motion:reduce){:root[data-theme] .professional-icon{transition:none!important;transform:none!important}}

/* Final UI glyph cleanup: semantic SVG icons and browser chrome dots. */
:root[data-theme] .reference-hero-bottom a{display:inline-flex;align-items:center;gap:7px}
:root[data-theme] .reference-hero-bottom a .professional-icon{width:13px;height:13px;min-width:13px}
:root[data-theme] .editorial-intro span:last-child{display:inline-flex;align-items:center;gap:5px}
:root[data-theme] .editorial-intro .professional-icon-arrowRight{width:13px;height:13px;min-width:13px}
:root[data-theme] .reference-moments .reference-stats .reference-infinity-icon{display:flex;align-items:center;min-height:1em}
:root[data-theme] .reference-moments .reference-stats .reference-infinity-icon .professional-icon-infinity{width:clamp(68px,8vw,128px);height:clamp(68px,8vw,128px);min-width:0;stroke-width:1.5}
:root[data-theme] .preview-close{display:inline-flex;align-items:center;justify-content:center;gap:8px}
:root[data-theme] .preview-close-icon{display:inline-flex;align-items:center}
:root[data-theme] .preview-close-icon .professional-icon{width:17px;height:17px;min-width:17px}
:root[data-theme] .preview-browser-dots{display:inline-flex;align-items:center;gap:5px;min-width:43px}
:root[data-theme] .preview-browser-dots i{display:block;width:9px;height:9px;border-radius:50%;background:#f0a59c}
:root[data-theme] .preview-browser-dots i:nth-child(2){background:#e7c37e}
:root[data-theme] .preview-browser-dots i:nth-child(3){background:#93c5a6}
:root[data-theme="dark"] .preview-browser-dots i{filter:brightness(.85)}

/* Accessibility audit: contrast, focus targets, and robust project typography. */
:root[data-theme] #formacion .academic .studying{background:transparent!important;color:var(--e-inverse-text)!important;border:1px solid color-mix(in srgb,var(--e-inverse-text) 58%,transparent)!important;font-weight:750}
:root[data-theme] #proyectos .feature>h3{overflow-wrap:normal!important;hyphens:none!important}
:root[data-theme] .copy-email,:root[data-theme] .concept-preview{display:inline-flex;align-items:center;justify-content:center;gap:9px}
@media(max-width:1050px){:root[data-theme] .menu-toggle{gap:9px!important}}
:root[data-theme] .menu-toggle .professional-icon,:root[data-theme] .copy-email .professional-icon{width:16px;height:16px;min-width:16px}
:root[data-theme] .concept-preview .professional-icon{width:15px;height:15px;min-width:15px;transition:transform .2s ease}
:root[data-theme] .concept-preview:hover .professional-icon{transform:translate(2px,-2px)}
:root[data-theme] .preview-cta{display:inline-flex!important;align-items:center;gap:6px}
:root[data-theme] .preview-cta .preview-cta-label{display:inline-block}
:root[data-theme] .preview-cta .professional-icon{margin-left:0}
:root[data-theme] .reference-moments .reference-infinity-icon .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:root[data-theme] .copy-email:hover .professional-icon{transform:translateY(-1px)}
@media(max-width:850px){:root[data-theme] #proyectos .feature>h3{overflow-wrap:anywhere!important;font-size:clamp(36px,9vw,65px)!important}}
@media(max-width:380px){:root[data-theme] #proyectos .feature>h3{font-size:clamp(31px,8.3vw,38px)!important}}
@media(prefers-reduced-motion:reduce){:root[data-theme] .concept-preview .professional-icon{transition:none!important;transform:none!important}}

/* Project preview is a complete readable browser screenshot, not a cropped poster. */
:root[data-theme] #proyectos .feature>.feature-capture{display:flex!important;align-items:center;justify-content:center;padding:clamp(14px,2vw,28px)!important;background:var(--e-soft)!important}
:root[data-theme] #proyectos .feature>.feature-capture img{width:100%!important;height:auto!important;min-height:0!important;max-height:100%!important;aspect-ratio:1265/712;object-fit:contain!important;object-position:center!important;border-radius:8px!important;box-shadow:0 14px 30px #12281b1c}
@media(max-width:850px){:root[data-theme] #proyectos .feature>.feature-capture{padding:12px!important}}

/* Modal footers are not the site's dark inverse footer: preserve AA contrast. */
:root[data-theme] dialog.preview-dialog footer.preview-footer #preview-description,
:root[data-theme] dialog.preview-dialog footer.preview-footer .preview-caption{color:var(--e-text)!important}

:root[data-theme] dialog.preview-dialog footer.preview-footer a.preview-cta,
:root[data-theme] dialog.preview-dialog footer.preview-footer a.preview-cta .preview-cta-label,
:root[data-theme] dialog.preview-dialog footer.preview-footer a.preview-cta .professional-icon{color:var(--e-button-text)!important}

/* Native hidden must win over visual display rules when filtering projects. */
:root[data-theme] #proyectos [data-project-category][hidden],
:root[data-theme] #proyectos #caso-psiconectados[hidden]{display:none!important}
