
:root{--orange:#ef8c19;--orange2:#d9790e;--paper:#faf8f3;--paper2:#f0ece3;--white:#fff;--ink:#1c1b19;--muted:#6b655c;--line:#d9d2c4;--pine:#1e2f28;--display:"Spectral",Georgia,serif;--ui:"Jost",Arial,sans-serif;--max:1240px;--gutter:clamp(20px,5vw,52px);--space:clamp(76px,9vw,128px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.shell{width:min(100%,var(--max));margin:auto;padding-inline:var(--gutter)}.page-pad{padding-block:var(--space)}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-row{height:82px;display:flex;align-items:center;gap:34px}.logo img{width:96px}.desktop-nav{display:flex;gap:25px;margin-left:auto}.desktop-nav a,.mobile-nav a{padding-block:9px;border-bottom:2px solid transparent;color:var(--muted);font:500 11px/1 var(--ui);letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--ink);border-color:var(--orange)}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid;text-decoration:none;font:500 11px/1.2 var(--ui);letter-spacing:.11em;text-transform:uppercase}.orange{border-color:var(--orange);background:var(--orange);color:var(--ink)}.dark-button{background:var(--ink);color:var(--paper)}.light-button{margin-top:28px;background:var(--paper);color:var(--ink)}.nav-cta{margin-left:8px;background:var(--ink);color:var(--paper)}.menu,.mobile-nav{display:none}.hero{overflow:hidden}.hero-grid{min-height:690px;display:grid;grid-template-columns:1fr .82fr;gap:clamp(44px,7vw,90px);align-items:center}.typewriter{margin-bottom:54px;font:400 clamp(31px,3vw,46px)/1 var(--display)}.typewriter b{color:var(--orange);font-weight:400}.typewriter i{display:inline-block;width:1px;height:.78em;background:var(--orange);animation:blink .8s step-end infinite}.eyebrow{margin:0 0 19px;color:var(--muted);font:500 11px/1.4 var(--ui);letter-spacing:.15em;text-transform:uppercase}.orange-text{color:var(--orange)}h1,h2,h3,p{overflow-wrap:anywhere}h1{max-width:12ch;margin:0;font:300 clamp(47px,5vw,74px)/1.04 var(--display);letter-spacing:-.025em}h2{margin:0;font:300 clamp(34px,3.4vw,50px)/1.12 var(--display);letter-spacing:-.018em}h3{margin:0;font:400 24px/1.25 var(--display)}.lead{max-width:48ch;margin:28px 0 0;color:var(--muted);font-size:clamp(18px,1.5vw,21px);line-height:1.67}.light{color:#e3ddd0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:38px}.text-link{font:500 11px/1.4 var(--ui);letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}.hero-image{margin:0;overflow:hidden}.hero-image img{width:100%;height:565px;object-fit:cover;transform:translate3d(0,var(--parallax,0),0) scale(1.08);will-change:transform}.hero-image figcaption{padding-top:12px;color:var(--muted);font:500 9px/1.5 var(--ui);letter-spacing:.11em;text-transform:uppercase}.metrics{background:var(--white);border-block:1px solid var(--line)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric-grid>div{padding:29px;border-left:1px solid var(--line)}.metric-grid>div:first-child{border-left:0}.metric-grid small{display:block;color:var(--muted);font:500 10px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase}.metric-grid strong{display:block;margin-top:8px;font:300 25px/1.2 var(--ui)}.dark,.closing,.contact-page{background:var(--ink);color:var(--paper)}.dark h2,.dark h3,.closing h2,.contact-page h1{color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,112px);align-items:start}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}.section-head .eyebrow{grid-column:1/-1}.editorial-list{margin-top:55px;border-top:1px solid var(--line)}.editorial-list a{display:grid;grid-template-columns:48px 1.2fr 1fr 30px;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}.editorial-list a:hover h3{color:var(--orange2)}.editorial-list span,.big-index{color:var(--orange2);font:500 11px/1 var(--ui);letter-spacing:.1em}.editorial-list p{color:var(--muted)}.library-band,.meeting-photo,.perspective-band{min-height:620px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(20,18,16,.82),rgba(20,18,16,.28)),url("assets/photography/library-classic.jpg") center/cover fixed;color:var(--paper)}.library-copy,.narrow{max-width:630px;margin-left:max(0px,calc((100vw - var(--max))/2));margin-right:auto}.library-copy p,.meeting-photo p{font-size:19px;line-height:1.7}.mini-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.mini-steps li{display:grid;grid-template-columns:50px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font:400 21px/1.3 var(--display)}.mini-steps span{color:var(--orange2);font:500 10px/1.8 var(--ui)}.closing p{color:#d9d2c4;font-size:18px;line-height:1.7}.inner-hero{border-bottom:1px solid var(--line)}.inner-hero h1{max-width:13ch}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:60px;background:rgba(255,255,255,.15)}.principle-grid article{padding:32px;background:var(--ink)}.principle-grid span,.principle-lines span{color:var(--orange);font:500 11px/1 var(--ui)}.principle-grid h3{margin-top:24px}.principle-grid p{color:#d9d2c4;line-height:1.65}.story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(48px,8vw,110px);align-items:center}.library-card{position:relative;margin:0}.library-card>img{width:100%;max-height:670px;object-fit:cover}.archive{position:absolute;left:50%;top:50%;width:min(23%,150px);margin:0;padding:8px;background:var(--paper);transform:translate(-50%,-50%) rotate(1deg);box-shadow:0 15px 40px rgba(0,0,0,.3)}.archive figcaption{padding-top:7px;color:var(--muted);font:500 7px/1.4 var(--ui);text-transform:uppercase}.service-detail{padding-block:78px;border-bottom:1px solid var(--line)}.paper{background:var(--paper2)}.detail-grid{display:grid;grid-template-columns:70px 1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}.detail-grid p,.detail-grid li{color:var(--muted);font-size:17px;line-height:1.65}.detail-grid ul,.rule-list{padding-left:20px}.process-page{background:var(--paper2)}.process-stack{border-top:1px solid var(--line)}.process-stack article{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:34px 0;border-bottom:1px solid var(--line)}.process-stack article>span{color:var(--orange2);font:500 11px/1.5 var(--ui)}.process-stack p{margin:10px 0 0;color:var(--muted);font-size:17px}.principle-lines article{display:grid;grid-template-columns:70px 1fr;gap:30px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.16)}.faq-layout{display:grid;grid-template-columns:260px 1fr;gap:clamp(50px,8vw,110px)}.faq-side{position:sticky;top:120px;align-self:start;display:grid}.faq-side a{padding:14px 0;border-bottom:1px solid var(--line);font:500 11px/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:25px 0;cursor:pointer;list-style:none;font-size:23px}.faq-list summary:after{content:"+";color:var(--orange2)}.faq-list details[open] summary:after{content:"−"}.faq-list p{max-width:65ch;margin:0 0 27px;color:var(--muted);font-size:17px;line-height:1.7}.document-grid{display:grid}.document-grid a{display:grid;grid-template-columns:60px 1fr auto;gap:30px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line);text-decoration:none}.document-grid a:hover h2{color:var(--orange2)}.document-grid span,.document-grid b{color:var(--orange2);font:500 11px/1.3 var(--ui);letter-spacing:.1em}.document-grid p{color:var(--muted)}.rule-list{margin:0}.rule-list li{padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:17px}.contact-page{min-height:calc(100vh - 82px);display:flex;align-items:center}.contact-page-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,9vw,140px);align-items:start}.contact-panel{display:grid;gap:20px;padding:clamp(30px,4vw,52px);background:var(--paper);color:var(--ink)}.contact-panel>a:not(.button){font-size:22px;text-underline-offset:5px}.contact-panel address{color:var(--muted);font-style:normal;font-size:17px;line-height:1.7}.contact-panel small{color:var(--muted);font:400 12px/1.5 var(--ui)}footer{padding:55px 0 30px;background:var(--ink);color:#b9b1a1;border-top:1px solid #393734}.footer-grid{display:flex;justify-content:space-between;gap:50px}.footer-grid img{width:105px}.footer-grid p{max-width:35ch}.footer-grid nav{display:grid;grid-template-columns:repeat(2,auto);gap:15px 35px}.footer-grid a,.legal{font:500 10px/1.5 var(--ui);letter-spacing:.08em;text-transform:uppercase}.legal{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:22px;border-top:1px solid #393734;text-transform:none}@keyframes blink{50%{opacity:0}}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:1050px){.desktop-nav{display:none}.menu{display:block;margin-left:auto;min-height:44px;padding:0 16px;border:1px solid var(--line);background:transparent;font:500 11px var(--ui);text-transform:uppercase}.mobile-nav[aria-hidden=false]{display:grid;padding:8px var(--gutter) 18px;border-top:1px solid var(--line)}.mobile-nav a{min-height:46px;display:flex;align-items:center}.nav-cta{margin-left:0}.hero-grid,.split,.story-grid,.contact-page-grid{grid-template-columns:1fr}.hero-image{max-width:680px}.principle-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:50px 1fr}.detail-grid>div:last-child{grid-column:2}.faq-layout{grid-template-columns:1fr}.faq-side{position:static;grid-template-columns:repeat(4,1fr)}.library-band,.meeting-photo,.perspective-band{background-attachment:scroll}}@media(max-width:700px){.nav-row{height:72px}.nav-cta{display:none}.hero-grid{min-height:0}.hero-image img{height:420px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid>div:nth-child(3){border-left:0}.editorial-list a{grid-template-columns:35px 1fr 20px}.editorial-list p{display:none}.principle-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid>div:last-child{grid-column:auto}.big-index{margin-bottom:-10px}.faq-side{grid-template-columns:1fr 1fr}.footer-grid{display:grid}.footer-grid nav{grid-template-columns:1fr}.legal{display:grid}.library-copy,.narrow{margin:0}.document-grid a{grid-template-columns:35px 1fr}.document-grid b{grid-column:2}h1{font-size:clamp(43px,13vw,62px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.typewriter i{display:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== Capa visual ===== */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-18px;z-index:-1;pointer-events:none;background:url("assets/photography/gears-pattern-transparent.webp") left -110px center/760px auto no-repeat;opacity:.09}
.inner-hero{position:relative;isolation:isolate;overflow:hidden}
.inner-hero::before{content:"";position:absolute;inset:-30px -60px;z-index:-1;pointer-events:none;background:url("assets/photography/gears-pattern-transparent.webp") right -140px center/620px auto no-repeat;opacity:.06}
.ic{width:22px;height:22px;flex:none}
.li-ic{display:inline-flex;vertical-align:-3px;margin-right:14px;color:var(--orange2)}
.svc-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:20px;border:1px solid var(--line);background:var(--white);color:var(--orange2)}
.paper .svc-ic{background:var(--paper)}
.timeline{list-style:none;margin:58px 0 0;padding:0;border-left:2px solid var(--orange)}
.timeline li{display:grid;grid-template-columns:110px 1fr;gap:26px;position:relative;padding:26px 0 30px 34px;border-bottom:1px solid var(--line)}
.timeline li:last-child{border-bottom:0}
.timeline li::before{content:"";position:absolute;left:-6px;top:37px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--orange)}
.timeline span{color:var(--orange2);font:500 12px/2.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.timeline p{margin:8px 0 0;color:var(--muted);font-size:16.5px;line-height:1.65}
.structure{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:stretch;margin-top:58px}
.node{border:1px solid var(--line);background:var(--white);padding:30px 26px;text-align:center}
.node.is-resulta{border-color:var(--orange);border-width:2px}
.node-name{font:400 27px/1 var(--display)}
.node-name b{color:var(--orange);font-weight:400}
.node-name span{padding:0 6px}
.node p{margin:14px 0 0;color:var(--muted);font-size:14.5px;line-height:1.6}
.link-line{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:120px;color:var(--muted)}
.link-line::before{content:"⟶";color:var(--orange2);font-size:26px;line-height:1}
.link-line em{font:500 9.5px/1.4 var(--ui);letter-spacing:.1em;text-transform:uppercase;font-style:normal;text-align:center}
.note{margin:34px 0 0;color:var(--muted);font:400 13px/1.6 var(--ui)}
.roles{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:58px}
.roles article{border:1px solid var(--line);background:var(--white);padding:28px 24px;display:grid;gap:18px;justify-items:start}
.roles .ic{width:26px;height:26px;color:var(--orange2)}
.roles h3{font-size:18px}
.process-stack article>span{font:300 46px/1.1 var(--display);color:var(--orange);letter-spacing:0}
.principle-lines span{font:300 40px/1.15 var(--display);color:var(--orange)}
.doc-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--line);background:var(--white);color:var(--orange2)}
.library-band,.meeting-photo,.perspective-band{background-attachment:scroll;position:relative;isolation:isolate;overflow:hidden}
.library-band{background:none}
.meeting-photo{background:none}
.perspective-band{background:none}
.band-img{position:absolute;inset:-90px 0;z-index:-2;width:100%;height:calc(100% + 180px);object-fit:cover;transform:translate3d(0,var(--parallax,0),0);will-change:transform}
.band-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,18,16,.84),rgba(20,18,16,.3))}
.big-quote{margin:0;max-width:840px}
.big-quote p{margin:0;font:300 clamp(30px,4vw,46px)/1.32 var(--display);font-style:italic;letter-spacing:-.01em}
.big-quote cite{display:block;margin-top:28px;color:var(--muted);font:500 12px/1.4 var(--ui);letter-spacing:.13em;text-transform:uppercase;font-style:normal}
html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.in{opacity:1;transform:none}
@media(max-width:1050px){.structure{grid-template-columns:1fr}.link-line{min-width:0;padding:4px 0}.link-line::before{content:"⟶";transform:rotate(90deg)}.roles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.timeline li{grid-template-columns:1fr;gap:4px;padding-left:26px}.timeline li::before{top:33px}.roles{grid-template-columns:1fr}.li-ic{display:none}.inner-hero::before{opacity:.05;background-size:480px auto;background-position:right -180px top -40px}}
@media(prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}

/* ===== Hero boost ===== */
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kenburns{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.16) translate3d(-1.6%,1.4%,0)}}
.hero-image img{transform:scale(1.06);animation:kenburns 26s ease-in-out infinite alternate}
.hero-copy .eyebrow{animation:rise .7s .05s both}
.hero-copy h1{animation:rise .8s .18s both}
.hero-copy .lead{animation:rise .8s .36s both}
.hero-copy .actions{animation:rise .8s .52s both}
.inner-hero{position:relative}
.inner-hero .eyebrow b{color:var(--orange2);font-weight:500}
.inner-hero h1::before{content:"";display:block;width:64px;height:3px;background:var(--orange);margin-bottom:32px;transform-origin:left;animation:draw .9s .12s both}
.inner-hero .eyebrow{animation:rise .7s .05s both}
.inner-hero h1{animation:rise .8s .2s both}
.inner-hero .lead{animation:rise .8s .4s both}
.contact-page{position:relative;isolation:isolate;overflow:hidden}
.contact-page .eyebrow{animation:rise .7s .05s both}
.contact-page h1{animation:rise .8s .2s both}
.contact-page .lead{animation:rise .8s .38s both}
.contact-panel{animation:rise .9s .5s both}
@media(max-width:700px){.inner-hero h1::before{margin-bottom:24px}}

/* ===== Textura y materia (grano de papel, brillo, flotacion) ===== */
.button{position:relative;overflow:hidden;isolation:isolate}
.button::before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);transform:translateX(-120%);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.button:hover::before{transform:translateX(120%)}
@keyframes bob{0%,100%{transform:translate(-50%,-50%) rotate(1deg)}50%{transform:translate(-50%,-54%) rotate(1.6deg)}}
.archive{animation:bob 8s ease-in-out infinite}
.inner-hero::before{opacity:.075;background-size:680px auto}

/* ===== Cumplimiento Anexo 12 ===== */
.footer-docs{display:flex;flex-wrap:wrap;gap:14px 35px;margin-top:40px;padding-top:22px;border-top:1px solid #393734}
.footer-docs a{font:500 10px/1.5 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:#b9b1a1}
.disclaimer p{max-width:88ch;margin:22px 0 0;color:#8a847a;font:400 11.5px/1.7 var(--ui)}
.rule-list a{text-underline-offset:4px}
.note a{color:var(--orange2);text-decoration:none;font-weight:500}
.bitacora{border-top:1px solid var(--line);margin-top:56px}
.bitacora article{display:grid;grid-template-columns:170px 1fr;gap:26px;padding:24px 0;border-bottom:1px solid var(--line)}
.bitacora time{color:var(--orange2);font:500 12px/2 var(--ui);letter-spacing:.1em;text-transform:uppercase}
.bitacora p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.65}
@media(max-width:700px){.bitacora article{grid-template-columns:1fr;gap:4px}}

.hero-list{margin:20px 0 0;padding-left:22px;color:var(--muted);font-size:17.5px;line-height:1.9}
.hero-list li::marker{color:var(--orange)}

.values-copy{display:grid;grid-template-columns:1fr 1fr;gap:32px clamp(42px,7vw,96px);align-items:start}
.values-copy .lead{max-width:none;margin-top:0}
.values{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:64px 0 0;padding:46px 0 0;border-top:1px solid rgba(255,255,255,.16)}
.values li{display:grid;gap:16px;justify-items:center;text-align:center}
.values .ic{width:30px;height:30px;color:var(--orange)}
.values span{color:#d9d2c4;font:500 11px/1.5 var(--ui);letter-spacing:.18em;text-transform:uppercase}
@media(max-width:900px){.values-copy{grid-template-columns:1fr}}
@media(max-width:700px){.values{grid-template-columns:repeat(2,1fr);gap:34px 20px}}

.timeline-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,84px);align-items:start;margin-top:58px}
.timeline-grid .timeline{margin-top:0}
.timeline-fig{position:sticky;top:120px;margin:0}
.timeline-fig img{width:100%;border:1px solid var(--line);display:block}
.timeline-fig figcaption{padding-top:11px;color:var(--muted);font:500 9px/1.5 var(--ui);letter-spacing:.11em;text-transform:uppercase}
@media(max-width:900px){.timeline-grid{grid-template-columns:1fr}.timeline-fig{position:static;order:-1}}

.divider-band{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(280px,42vw,540px);border-block:1px solid var(--line)}

.hero-image.cutout{overflow:visible;transform:translate3d(0,var(--parallax,0),0);will-change:transform}
.hero-image.cutout img{aspect-ratio:auto;height:auto;max-height:640px;border:0;object-fit:contain;object-position:center bottom}
