/* Acevedology — horizontal portfolio (template v4.17, 2026-10-06).
   Design-locked: values below are copied from the approved template.
   Fonts are self-hosted from assets/fonts/ (SIL OFL 1.1, see OFL-*.txt). */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-italic.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-regular.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/outfit-300.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/outfit-400.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/outfit-500.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/outfit-600.woff2) format('woff2')}

:root{--fd:'Instrument Serif',Georgia,serif;--fb:'Outfit',sans-serif;--ink:#25213b;--muted:#625b76;--accent:#6350b9;--rule:#cbc5d9;--surface:#e5dff3;--head:78px;--foot:58px;--gutter:clamp(24px,5vw,90px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--fb);font-weight:300;color:var(--ink);background:var(--surface)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--fd);font-weight:400}em{font-weight:400}p{line-height:1.7}h1:focus,h2:focus{outline:none}.glyph{width:26px;height:12px;flex:none;display:inline-block}.glyph.large{width:52px;height:24px}.glyph.xl{width:74px;height:34px}.topbar,.bottom{position:fixed;left:0;right:0;z-index:10;background:var(--surface);color:var(--ink);transition:background .35s,color .35s}.topbar{top:0;height:var(--head);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:30px;border-bottom:1px solid var(--rule)}.brand{font-size:19px;letter-spacing:-.04em;white-space:nowrap;font-weight:400}.brand .glyph{width:22px;height:10px;margin-right:12px}.chapter-nav{display:flex;gap:clamp(17px,2.1vw,34px);overflow:auto;scrollbar-width:none;align-items:center;height:100%;white-space:nowrap}.chapter-nav a{font-size:12px;position:relative;padding:20px 0;color:var(--muted);font-weight:400}.chapter-nav a[aria-current]{color:var(--ink)}.chapter-nav a[aria-current]:after{content:'··';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);color:var(--accent);font-size:25px;letter-spacing:2px}.track{position:fixed;inset:var(--head) 0 var(--foot);display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.track::-webkit-scrollbar{display:none}.chapter{flex:0 0 100%;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;color:var(--ink);background:var(--surface);overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.page{min-height:100%;padding:28px var(--gutter) 38px;display:flex;flex-direction:column}.running{display:flex;justify-content:space-between;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:400;color:var(--muted);margin-bottom:clamp(30px,5vh,60px)}.running>span:first-child{display:flex;gap:13px;align-items:center}.running .glyph{width:18px;height:9px}.kicker{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:var(--accent)}.caption{font-size:13px;color:var(--muted);line-height:1.65}.prose{font-size:clamp(15px,1.2vw,18px);line-height:1.75}.textlink{display:inline-flex;gap:22px;font-size:13px;font-weight:400;border-bottom:1px solid var(--rule);padding:8px 0;margin-top:18px}.textlink:hover{color:var(--accent);border-color:currentColor}.bottom{bottom:0;height:var(--foot);border-top:1px solid var(--rule);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px}.bottom>p{font-size:11px;color:var(--muted)}.pager{display:flex;align-items:center;gap:25px}.pager button{border:0;background:none;cursor:pointer;padding:12px 0;font-size:12px}.pager button:disabled{opacity:.3;cursor:default}.counter{font-family:var(--fd);font-size:20px;min-width:110px;text-align:center;font-style:italic}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;z-index:99;background:white;padding:15px}.nojs{position:fixed;bottom:0;font-size:12px;background:white;z-index:20}
#entrada{--surface:#e5dff3;background:radial-gradient(ellipse at 78% 74%,#bfe0d080,transparent 49%),radial-gradient(ellipse at 22% 24%,#d5cbef,transparent 60%),var(--surface)}.cover-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;flex:1;padding:12px 0 38px}.cover-name h1{font-size:clamp(80px,9.3vw,154px);letter-spacing:-.045em;line-height:.88}.cover-name>.glyph{margin:34px 0}.cover-role{max-width:300px;line-height:1.8}.cover-right{max-width:520px;padding-top:55px}.cover-intro{font-size:clamp(19px,1.9vw,27px);font-weight:300;line-height:1.65}.cover-right .caption{margin-top:24px}.cover-entry{margin-top:48px;font-family:var(--fd);font-size:30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding-top:20px}.cover-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
#trabajo{--surface:#eeedf3;--ink:#28263d;--muted:#655f74;--accent:#6350b9;--rule:#cecbd8}.work-spread{display:grid;grid-template-columns:1.25fr .8fr .9fr;grid-template-rows:auto 1fr;column-gap:6vw;row-gap:42px;flex:1}.work-heading{grid-column:1 / 3}.work-heading h2{font-size:clamp(62px,7.7vw,120px);line-height:.94;letter-spacing:-.025em}.work-intro{align-self:center}.work-main{padding-top:12px}.work-main h3{font-size:clamp(32px,3.3vw,52px);line-height:1.04;margin:18px 0}.work-main .prose{max-width:38ch}.work-map{padding-top:65px}.work-voice{padding-top:112px}.work-map h3,.work-voice h3{font-size:clamp(30px,3vw,46px);line-height:1.08;margin:18px 0}.work-map p,.work-voice p{font-size:15px}.work-caption{margin-top:34px;font-size:11px;color:var(--muted)}
#aprendizaje{--surface:#CBEBD8;--ink:#173b43;--muted:#44646a;--accent:#5b52b0;--rule:#a6d6c3}.learning-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:6vw;flex:1;align-items:center}.learning-title{font-size:clamp(65px,7.5vw,116px);line-height:.94;letter-spacing:-.025em;margin-bottom:32px}.learning-title em{display:block;color:var(--accent)}.learning-lead .prose{max-width:32ch}.learning-material h3{font-size:clamp(33px,3.3vw,50px);line-height:1.06;margin:20px 0}.learning-material p{font-size:15px}.learning-material.in-progress{align-self:end;padding-bottom:45px}.learning-material .caption{margin-top:30px}.learning-material .textlink{display:flex;justify-content:space-between}.learning-meta{margin-top:26px}
#investigacion{--surface:#101123;--ink:#e8e4f6;--muted:#aaa6c0;--accent:#b7a4ef;--rule:#38354f;background:radial-gradient(ellipse at 75% 30%,#33325250,transparent 60%),var(--surface)}.research-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:10vw;flex:1;align-items:center}.research-title{font-size:clamp(100px,13.3vw,210px);line-height:.85;letter-spacing:-.045em;margin-bottom:40px}.research-title em{color:#bca6ec}.research-question{font-family:var(--fd);font-size:clamp(26px,2.8vw,43px);line-height:1.25;max-width:34ch}.research-note{font-size:14px;max-width:52ch;margin-top:28px;color:var(--muted)}.research-links{align-self:center}.research-links h3{font-size:36px;line-height:1.1;margin:22px 0 10px}.research-links article+article{margin-top:35px;padding-top:20px;border-top:1px solid var(--rule)}.research-foot{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:12px;color:var(--muted)}
#escritura{--surface:#e9dce7;--ink:#492e4e;--muted:#725975;--accent:#6d4188;--rule:#cab4ca}.writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;flex:1}.writing-title{font-size:clamp(70px,8.5vw,130px);line-height:.9;letter-spacing:-.03em;margin:25px 0}.writing-side>.prose{max-width:35ch}.publication{margin-top:48px;max-width:40ch}.publication h3{font-size:35px;margin:12px 0}.excerpt-header{font-size:11px;letter-spacing:.07em;display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:15px;margin-bottom:28px}.excerpt p{font-size:15px;line-height:1.8;margin-bottom:20px}.excerpt p:first-child{font-family:var(--fd);font-size:clamp(24px,2.3vw,35px);line-height:1.35}.writing-excerpt{padding-top:30px}.draft-note{font-size:12px;color:var(--muted);margin-top:28px}
#about{--surface:#0f1020;--ink:#e6e2f4;--muted:#a09cb8;--accent:#b7a4ef;--rule:#2e2b44}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr .65fr;gap:6vw;align-items:start;flex:1;padding-top:25px}.about-title{font-size:clamp(65px,7vw,110px);line-height:.96;letter-spacing:-.03em}.about-name .glyph{margin:28px 0}.about-name .caption{max-width:25ch}.about-bio{padding-top:55px}.about-bio .lead{font-family:var(--fd);font-size:clamp(26px,2.7vw,41px);line-height:1.3;margin-bottom:26px}.about-bio .prose{margin-top:20px}.provenance{padding-top:8px}.avatars{display:flex;align-items:end;gap:12px;margin:30px 0 24px;flex-wrap:wrap}.avatars img{width:65px;height:65px;object-fit:contain;display:block}.avatars figure:first-child img{width:90px;height:90px}.avatars figcaption{font-size:10px;margin-top:9px;color:var(--muted)}.provenance>p{font-size:13px;line-height:1.8}.about-foot{margin-top:35px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--fd);font-style:italic;font-size:25px}
#contact{--surface:#0c0e1a;--ink:#e6e4f2;--muted:#a5a2ba;--accent:#4ecdc4;--rule:#292b43;background:radial-gradient(ellipse at 50% 50%,rgba(78,205,196,.07),transparent 50%),var(--surface)}#contact .page{max-width:880px;margin:auto;padding:70px clamp(24px,5vw,56px);justify-content:center}.contact-heading{font-size:clamp(56px,8vw,96px);letter-spacing:-.025em;font-style:italic;margin-bottom:44px}.contact-email{font-family:var(--fd);font-size:clamp(25px,3vw,31px);color:var(--accent);user-select:all;overflow-wrap:anywhere}.contact-note{font-size:14px;color:var(--muted);margin:12px 0 48px}.contact-mark{margin-top:32px}.contact-footer{font-size:12px;font-style:italic;color:var(--muted);border-top:1px solid var(--rule);margin-top:48px;padding-top:21px}body[data-section=trabajo]{--surface:#eeedf3;--rule:#cecbd8}body[data-section=aprendizaje]{--surface:#CBEBD8;--ink:#173b43;--muted:#44646a;--rule:#a6d6c3}body[data-section=investigacion],body[data-section=contact]{--surface:#101123;--ink:#e8e4f6;--muted:#aaa6c0;--accent:#b7a4ef;--rule:#38354f}body[data-section=contact]{--surface:#0c0e1a;--accent:#4ecdc4}body[data-section=escritura]{--surface:#e9dce7;--ink:#492e4e;--muted:#725975;--rule:#cab4ca}body[data-section=about]{--surface:#0f1020;--ink:#e6e2f4;--muted:#a09cb8;--rule:#2e2b44}
@media(min-width:1500px){.page{padding-top:40px;padding-bottom:48px}.work-spread{row-gap:60px}.excerpt p{font-size:17px}.excerpt p:first-child{font-size:35px}}
@media(max-width:1050px){.topbar{gap:25px}.chapter-nav{gap:18px}.brand{font-size:17px}.work-spread{column-gap:4vw}.learning-grid{gap:4vw}.about-grid{grid-template-columns:.9fr 1.2fr;gap:6vw}.provenance{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;gap:20px 6vw;margin-top:20px}.provenance .kicker{grid-column:1/-1}.avatars{margin:0}.about-bio{padding-top:15px}.cover-layout{gap:5vw}}
@media(max-width:760px){:root{--head:106px;--foot:62px;--gutter:24px}.topbar{display:block;padding-top:17px}.brand{font-size:18px}.chapter-nav{height:55px;gap:25px}.chapter-nav a{font-size:12px;padding:14px 0 18px}.chapter-nav a[aria-current]:after{bottom:-4px}.page{padding-top:24px;padding-bottom:36px}.running{margin-bottom:30px;font-size:10px;gap:15px}.running>span:last-child{max-width:50%;text-align:right}.cover-layout{grid-template-columns:1fr;gap:35px;padding:12px 0 35px}.cover-name h1{font-size:clamp(78px,20vw,120px)}.cover-name>.glyph{margin:27px 0}.cover-role{max-width:30ch;font-size:10px}.cover-right{padding:0;max-width:none}.cover-intro{font-size:20px}.cover-entry{margin-top:30px;font-size:27px}.cover-bottom>span:last-child{display:none}.bottom>p{display:none}.pager{justify-content:space-between;width:100%;gap:12px}.counter{font-size:21px}.work-spread{grid-template-columns:1fr;gap:34px}.work-heading{grid-column:auto}.work-heading h2{font-size:65px}.work-intro{max-width:40ch;font-size:15px}.work-main,.work-map,.work-voice{padding:0}.work-main{max-width:90%}.work-map{margin-left:20%;padding-top:15px}.work-voice{margin-right:12%;padding-top:15px}.work-main h3{font-size:41px}.work-map h3,.work-voice h3{font-size:36px}.learning-grid{grid-template-columns:1fr;gap:45px}.learning-title{font-size:76px}.learning-material{max-width:86%;margin-left:14%}.learning-material.in-progress{margin-left:0;padding-bottom:0}.learning-material h3{font-size:39px}.research-layout{grid-template-columns:1fr;gap:42px}.research-title{font-size:clamp(90px,23vw,160px);margin-bottom:30px}.research-question{font-size:30px}.research-links{margin-left:12%}.research-foot{gap:20px}.writing-grid{grid-template-columns:1fr;gap:40px}.writing-title{font-size:88px}.publication{margin-left:15%;margin-top:36px}.writing-excerpt{padding-top:0}.excerpt p{font-size:15px}.excerpt p:first-child{font-size:28px}.about-grid{grid-template-columns:1fr;gap:25px;padding-top:0}.about-title{font-size:80px}.about-bio{padding:0;margin-left:10%}.about-bio .lead{font-size:31px}.provenance{display:block;padding-top:30px;margin-top:5px}.avatars{margin:22px 0}.provenance>p{max-width:44ch}.about-foot{font-size:24px}#contact .page{padding:48px 28px}.contact-heading{font-size:72px}.contact-email{font-size:clamp(23px,6.4vw,30px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{html,body{height:auto;overflow:visible}.topbar,.bottom,.skip{display:none}.track{position:static;display:block;overflow:visible}.chapter{height:auto;overflow:visible;break-after:page}.page{min-height:0;padding:35px}.chapter[inert]{display:block}*{color:#111!important;background:white!important}}

.prov-head{margin-bottom:24px}
.prov-title{font-family:var(--fb);font-size:18px;color:#7cc9a8;letter-spacing:-.04em;line-height:1.2;font-weight:400}
.prov-subtitle{font-size:11px;color:var(--muted);line-height:1.55;margin-top:7px;max-width:32ch;font-style:italic}
.prov-timeline{display:grid;grid-template-columns:auto 72px;gap:18px;align-items:stretch;margin:0;min-height:320px}
.prov-col{position:relative;width:72px;grid-column:2;grid-row:1;padding:0}
.prov-col::before{content:'';position:absolute;left:0;top:0;bottom:0;width:72px;border-radius:36px;background:#2a6e58}
.prov-nodes{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%}
.prov-node{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#1f5a48;box-shadow:inset 0 3px 10px rgba(0,0,0,.35),inset 0 -1px 4px rgba(255,255,255,.06)}
.prov-node img{width:100%;height:100%;object-fit:cover;display:block}
.prov-node:nth-child(1) img{object-position:48% 35%;transform:scale(1.6)}
.prov-node:nth-child(2) img{object-position:center 22%}
.prov-node:nth-child(3) img{object-position:center 38%}
.prov-years{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;padding:0;align-items:flex-end}
.prov-year-row{height:72px;display:flex;align-items:center}
.prov-year{font-family:var(--fd);font-size:clamp(28px,2.4vw,36px);line-height:1;letter-spacing:-.02em;color:var(--ink)}
@media(max-width:760px){.prov-timeline{grid-template-columns:auto 58px;gap:14px}.prov-year{font-size:24px}.prov-node{width:58px;height:58px}.prov-col{width:58px;padding:0}.prov-col::before{width:58px;border-radius:29px}.prov-year-row{height:58px}}
#about .running>span:last-child{display:none}

/* Migration adjustments (2026-10-06) — the only rules not in the approved template.
   .learning-next replaces the template's inline style="margin-top:46px" on the second Learning article.
   .contact-note a: the two contact routes the live site already offered (Calendly, digital card), set inline so Contact keeps its height. */
.learning-next{margin-top:46px}
.contact-note a{color:var(--ink);border-bottom:1px solid var(--rule);white-space:nowrap}.contact-note a:hover{color:var(--accent);border-color:currentColor}
