:root{--paper:#f7f9fc;--white:#fff;--ink:#102d53;--navy:#0b2446;--blue:#1e568d;--sky:#63aee9;--pale:#e7f1fb;--muted:#61758e;--rule:#d7e2ed;--mono:'IBM Plex Mono',monospace;--display:'Manrope',sans-serif;--body:'DM Sans',sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--paper);color:var(--ink);margin:0;font-family:var(--body);-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit}img{max-width:100%}.wrap{width:min(calc(100% - 90px),var(--max));margin-inline:auto}.skip{position:absolute;left:-9999px;top:8px;z-index:300;background:var(--navy);color:white;padding:12px}.skip:focus{left:12px}a:focus-visible,button:focus-visible{outline:2px solid #3697e6;outline-offset:3px}::selection{background:#b7ddff;color:var(--navy)}.site-header{position:sticky;top:0;z-index:80;background:rgba(247,249,252,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;gap:19px;text-decoration:none}.mark{font:800 36px/1 var(--display);letter-spacing:-.095em;display:inline-block;white-space:nowrap;color:var(--navy)}.mark-dot{color:var(--sky);margin-left:2px}.identity-text{font:800 11px/1.4 var(--display);letter-spacing:.095em}.identity-text small{display:block;color:#8194a8;font:500 9px/1.4 var(--mono);letter-spacing:.035em;margin-top:4px}.nav-menu{display:flex;align-items:center;gap:34px}.nav-menu a{font:600 12px var(--body);text-decoration:none;transition:color .2s}.nav-menu a:hover{color:var(--blue)}.nav-menu .contact-link{border:1px solid var(--navy);padding:12px 17px;display:flex;gap:22px;align-items:center}.nav-menu .contact-link:hover{background:var(--navy);color:white}.menu-toggle{display:none}.eyebrow,.section-marker,.hero-top,.hero-foot,.hero-tech,.preview-head,.preview-bottom,.tag-row,.small-link,.case-count,.inline-arrow,.exp-row>span,.exp-row>a,.backline,.facts span,.case-heading>span,.screen figcaption>span,.opening-aside>span,.step-num,.footer-base,.career-year,.education-main>span{font-family:var(--mono)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.09em;color:var(--blue);margin:0}.slash{color:#9dc7e8;margin:0 8px}.hero{background:var(--paper);border-bottom:1px solid var(--navy)}.hero-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding:23px 0;font-size:10px;color:#738aa2;letter-spacing:.05em}.dot{display:inline-block;width:7px;height:7px;background:#429ad4;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #429ad422}.hero-grid{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:63px;padding:88px 0 82px}.hero h1{font:800 clamp(43px,4.8vw,73px)/1.14 var(--display);letter-spacing:-.072em;margin:23px 0 25px}.hero h1 em,.section h2 em,.page-hero h1 em,.contact h2 em{font-style:normal;color:#2b83c6}.lead{font:400 clamp(16px,1.4vw,19px)/1.8 var(--body);color:#63778d;max-width:540px;margin:0}.lead strong{color:var(--navy)}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;font:700 12px var(--body);padding:16px 21px;border:1px solid var(--navy);transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:#1d578b}.button-secondary:hover{background:#e8f1fa}.hero-tech{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:9px;color:#71889e;letter-spacing:.03em;margin-top:51px}.hero-tech i{height:3px;width:3px;background:#7bb7e5;border-radius:50%}.hero-preview{display:block;text-decoration:none;border:1px solid #c9d9e9;background:white;box-shadow:15px 15px 0 #e1ecf6;transition:transform .25s}.hero-preview:hover{transform:translateY(-5px)}.preview-head,.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 17px;color:#5d7794;font-size:10px}.preview-head{border-bottom:1px solid var(--rule)}.preview-image{padding:18px 13px;background:linear-gradient(145deg,#f4f8fc,#e8f1fb)}.preview-image img{display:block;width:100%;box-shadow:0 4px 16px #0f33521a}.preview-bottom{background:white;color:var(--navy)}.preview-bottom span:first-child{font:700 12px var(--body)}.hero-foot{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--rule);font-size:10px;color:#8194a8}.section{padding:106px 0}.work{background:#fff}.section-marker{display:flex;justify-content:space-between;border-top:1px solid var(--navy);padding-top:18px;font-size:10px;font-weight:500;letter-spacing:.045em;color:var(--blue)}.section-marker span:last-child{color:#8ea4b7}.section-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:50px;margin:37px 0 44px}.section h2{font:800 clamp(34px,3.75vw,54px)/1.2 var(--display);letter-spacing:-.06em;margin:0}.section-intro p{font-size:15px;line-height:1.82;color:var(--muted);max-width:380px;margin:0}.featured-case{display:grid;grid-template-columns:1.14fr .86fr;border:1px solid var(--rule)}.feature-visual{display:block;position:relative;background:#e6f0fa;overflow:hidden;min-height:390px}.feature-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.feature-visual:hover img,.case-tile:hover .tile-image img{transform:scale(1.025)}.case-count{position:absolute;bottom:19px;left:19px;background:#fff;padding:9px 12px;font-size:9px;color:var(--blue)}.feature-text{display:flex;flex-direction:column;padding:46px 42px;background:#f9fbfd}.feature-text h3{font:800 clamp(26px,2.7vw,38px)/1.25 var(--display);letter-spacing:-.055em;margin:21px 0 16px}.feature-text p{font:400 14px/1.85 var(--body);color:var(--muted);margin:0 0 25px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.tag-row span{font-size:9px;border:1px solid #cbddec;color:#68839d;padding:8px}.inline-arrow{display:flex;justify-content:space-between;gap:15px;text-decoration:none;font-size:11px;font-weight:600;color:var(--blue);padding-top:16px;border-top:1px solid var(--rule);margin-top:25px}.inline-arrow:hover{color:#0d2d53}.secondary-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:25px}.case-tile{text-decoration:none;border:1px solid var(--rule);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.case-tile:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0d386514}.tile-image{height:275px;background:#e8eff7;overflow:hidden}.tile-image img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.tile-text{padding:27px 30px 29px;display:flex;flex:1;flex-direction:column}.tile-text h3{font:800 clamp(21px,2vw,27px)/1.34 var(--display);letter-spacing:-.045em;margin:14px 0 10px}.tile-text p{color:var(--muted);font:400 14px/1.7 var(--body);margin:0 0 26px}.small-link{font-size:10px;color:var(--blue);border-top:1px solid var(--rule);padding-top:14px;margin-top:auto}.method{background:#edf4fb}.method-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;margin-top:55px}.method-main p{max-width:470px;font-size:16px;line-height:1.78;color:var(--muted)}.steps{border-top:1px solid var(--rule)}.steps>div{display:grid;grid-template-columns:53px 1fr;gap:13px;border-bottom:1px solid var(--rule);padding:20px 0}.step-num{font-size:12px;color:#4690cb}.steps h3{font:800 19px/1.4 var(--display);letter-spacing:-.025em;margin:0 0 5px}.steps p{font:400 14px/1.7 var(--body);color:var(--muted);margin:0}.method-link{display:flex;text-decoration:none;color:var(--blue);font:600 12px var(--body);border-top:1px solid #b9d3e8;justify-content:space-between;padding-top:19px;margin-top:42px}.experience{background:white}.experience-list{border-top:1px solid var(--navy)}.exp-row{display:grid;grid-template-columns:200px 1fr 130px;gap:22px;padding:27px 0;border-bottom:1px solid var(--rule)}.exp-row>span{font-size:10px;color:#8aa0b3;padding-top:5px}.exp-row h3{font:800 21px var(--display);letter-spacing:-.035em;margin:0 0 7px}.exp-row p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.exp-row>a{font-size:10px;color:var(--blue);text-decoration:none;text-align:right;padding-top:8px}.exp-row>a:hover{text-decoration:underline}.exp-more{width:min(100%,520px);margin-top:35px}.contact{padding:95px 0 105px;background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.contact .eyebrow{color:#94c8f0}.contact h2{font:800 clamp(37px,4.5vw,62px)/1.2 var(--display);letter-spacing:-.06em;margin:19px 0 0}.contact h2 em{color:#8dccf9}.contact-grid>div:last-child>p{font-size:17px;line-height:1.75;color:#c0d1e3;margin:0 0 28px}.contact-button{display:flex;justify-content:space-between;gap:25px;max-width:310px;padding:17px 20px;background:#d8efff;text-decoration:none;color:var(--navy);font-size:13px;font-weight:700}.contact-button:hover{background:#fff}.contact-simple{display:block;font-size:13px;color:#b5dcfa;text-decoration:none;margin-top:18px}.footer{background:#081a33;color:#a7bfd3}.footer-row{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #29405c;padding:44px 0 38px;gap:28px}.footer-mark{font:800 39px var(--display);letter-spacing:-.095em;color:white;text-decoration:none}.footer-mark span{color:#69b5ed;margin-left:2px}.footer-row p{font-size:12px;margin:5px 0}.footer-nav{display:flex;gap:26px;align-items:center}.footer-nav a{text-decoration:none;font-size:12px}.footer-base{padding:21px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px}.footer-base a{text-decoration:none}.page-hero{padding:52px 0 71px;border-bottom:1px solid var(--rule)}.backline{display:flex;justify-content:space-between;gap:20px;color:#8aa0b2;font-size:10px;margin-bottom:65px}.backline a{color:var(--blue);text-decoration:none}.backline a:hover{text-decoration:underline}.page-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}.page-hero h1{font:800 clamp(38px,4.3vw,61px)/1.17 var(--display);letter-spacing:-.065em;margin:24px 0}.page-lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:650px;margin:0}.facts{border-top:1px solid var(--navy)}.facts>div{padding:16px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:15px}.facts span{font-size:9px;color:#829aaf}.facts strong{font:700 12px var(--body);text-align:right}.facts a{text-decoration:none;color:var(--blue)}.case-opening{background:#eef5fc;padding:70px 0}.case-opening .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:90px}.opening-copy h2{font:800 clamp(25px,2.7vw,37px)/1.3 var(--display);letter-spacing:-.045em;margin:15px 0}.opening-copy p{font-size:15px;line-height:1.85;color:var(--muted);max-width:690px;margin:0}.opening-aside{border-top:1px solid var(--navy);padding-top:15px;display:flex;flex-direction:column;gap:13px}.opening-aside>span{color:var(--blue);font-size:10px;letter-spacing:.05em;margin-bottom:4px}.opening-aside strong{font:700 14px var(--display);padding-bottom:10px;border-bottom:1px solid #c6dbea}.case-section{padding:85px 0 95px;background:white}.case-section.alt{background:#f0f6fc}.case-heading{display:grid;grid-template-columns:220px 1fr;gap:45px;border-top:1px solid var(--navy);padding-top:22px;margin-bottom:35px}.case-heading>span{font-size:10px;color:var(--blue)}.case-heading h2{font:800 clamp(25px,2.7vw,34px)/1.3 var(--display);letter-spacing:-.045em;margin:0 0 10px}.case-heading p{font-size:15px;color:var(--muted);line-height:1.75;max-width:650px;margin:0}.screen{margin:0;min-width:0}.zoom{position:relative;width:100%;display:block;padding:15px;background:#e7eef6;border:1px solid #cedbe9;cursor:zoom-in}.zoom img{display:block;width:100%;height:auto;box-shadow:0 4px 18px #102d5319}.zoom-indicator{position:absolute;right:26px;bottom:26px;background:#0b2446;color:#fff;width:36px;height:36px;display:grid;place-items:center;font-size:19px}.screen figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0 0}.screen figcaption>span{font-size:9px;color:#7993aa}.screen figcaption>strong{font:600 12px var(--body);color:#536e86;text-align:right}.gallery-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery-two .zoom{min-height:250px;display:flex;align-items:center}.closing-case{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--navy);padding-top:33px}.closing-case h2{font:800 35px/1.25 var(--display);letter-spacing:-.05em;margin:15px 0}.closing-case p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 14px}.closing-case .quiet-note{font-size:12px;color:#8199ad}.next-card{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:65px;border:1px solid var(--rule);padding:25px 30px}.next-card>span{font:500 10px var(--mono);color:#869db2}.next-card a{text-decoration:none;font:800 19px var(--display);letter-spacing:-.025em}.next-card a:hover{color:var(--blue)}.career-section{background:white}.career-list{border-top:1px solid var(--navy);margin-top:43px}.career-item{display:grid;grid-template-columns:215px 1fr;gap:40px;padding:27px 0;border-bottom:1px solid var(--rule)}.career-year{color:#8198ae;font-size:10px;padding-top:5px}.career-item h3{font:800 22px var(--display);letter-spacing:-.035em;margin:0 0 5px}.career-item strong{font:600 13px var(--body);color:var(--blue)}.career-item p{font:400 14px/1.7 var(--body);color:var(--muted);margin:8px 0 0;max-width:750px}.education{background:#edf4fb}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:45px}.education-main h2{font:800 32px var(--display);letter-spacing:-.045em}.education-main p{font-size:15px;color:var(--muted)}.education-main>span{font-size:11px;color:var(--blue)}.education-aside>div{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid #cbddea;padding:16px 0}.education-aside strong{font:700 14px var(--display)}.education-aside span{font-size:12px;color:var(--muted)}.skills-section{background:white}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.skills-grid>div{border-top:1px solid var(--navy);padding-top:20px}.skills-grid h2{font:800 23px var(--display);letter-spacing:-.035em}.skills-grid p{font-size:14px;line-height:1.8;color:var(--muted)}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:300;background:#061a30f4;display:flex;flex-direction:column;color:white}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid #ffffff24;font-size:12px}.lightbox-close{border:1px solid #a5bed2;background:transparent;color:white;padding:9px 12px;cursor:pointer}.lightbox-close span{font-size:19px;margin-left:12px}.lightbox-body{display:flex;align-items:center;justify-content:center;gap:14px;flex:1;min-height:0;padding:14px}.lightbox-body img{display:block;max-width:calc(100% - 110px);max-height:calc(100vh - 160px);object-fit:contain}.lightbox-prev,.lightbox-next{flex:0 0 40px;border:1px solid #a5bed2;background:transparent;color:white;font-size:23px;height:42px;cursor:pointer}.lightbox-caption{font-size:11px;line-height:1.5;color:#c6d7e8;text-align:center;padding:0 25px 12px}.viewer-open{overflow:hidden}
@media(max-width:1050px){.hero-grid{gap:32px}.hero h1{font-size:clamp(38px,5vw,58px)}.feature-text{padding:29px}.section{padding:85px 0}.method-layout{gap:45px}.page-hero-grid{gap:32px}.case-opening .wrap{gap:45px}}
@media(max-width:780px){.wrap{width:min(calc(100% - 40px),var(--max))}.nav{height:74px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:transparent;border:1px solid var(--rule);height:42px;width:46px;cursor:pointer}.menu-toggle span{display:block;height:2px;width:20px;background:var(--navy)}.nav-menu{position:absolute;top:74px;left:0;right:0;display:none;background:var(--paper);border-bottom:1px solid var(--rule);padding:18px 20px 24px;flex-direction:column;align-items:stretch;gap:20px}.nav-menu.open{display:flex}.nav-menu .contact-link{justify-content:space-between}.hero-grid,.page-hero-grid,.section-intro,.featured-case,.method-layout,.contact-grid,.case-opening .wrap,.closing-case,.education-grid{grid-template-columns:1fr}.hero-grid{padding:56px 0 48px}.hero h1{font-size:clamp(38px,7vw,56px)}.hero-preview{max-width:640px}.hero-top,.hero-foot{font-size:9px}.section-intro{align-items:start;gap:18px}.section-intro p{max-width:640px}.featured-case .feature-visual{min-height:290px}.feature-text{padding:28px}.method-layout{margin-top:33px;gap:23px}.case-opening .wrap,.closing-case{gap:35px}.case-heading{grid-template-columns:145px 1fr;gap:20px}.gallery-two{grid-template-columns:1fr}.experience .exp-row{grid-template-columns:130px 1fr 85px;gap:15px}.page-hero{padding-bottom:50px}.backline{margin-bottom:40px}.facts{margin-top:20px}.footer-row{gap:20px}}
@media(max-width:540px){.wrap{width:min(calc(100% - 32px),var(--max))}.identity{gap:11px}.identity-text{font-size:10px}.identity-text small{font-size:8px}.mark{font-size:33px}.hero-top span:last-child,.hero-foot span:last-child,.section-marker span:last-child{display:none}.hero h1{font-size:clamp(36px,9.25vw,49px);letter-spacing:-.065em}.hero-tech{margin-top:34px;gap:9px}.hero-preview{box-shadow:8px 8px 0 #e1ecf6}.preview-head,.preview-bottom{padding:12px;font-size:9px}.preview-bottom span:first-child{font-size:11px}.section{padding:64px 0}.section h2{font-size:clamp(30px,8vw,41px)}.secondary-cases{grid-template-columns:1fr}.tile-image{height:auto;aspect-ratio:16/9}.tile-text{padding:22px}.feature-visual{min-height:240px!important}.feature-text h3{font-size:28px}.case-heading{grid-template-columns:1fr;gap:11px}.case-heading h2{font-size:27px}.case-section{padding:64px 0}.screen figcaption{align-items:start;flex-direction:column;gap:5px}.screen figcaption>strong{text-align:left}.zoom{padding:6px}.zoom-indicator{bottom:12px;right:12px;width:30px;height:30px}.exp-row{grid-template-columns:1fr!important;gap:6px!important}.exp-row>a{text-align:left}.contact{padding:65px 0}.contact h2{font-size:40px}.footer-row,.footer-base{flex-direction:column}.footer-nav{gap:16px;flex-wrap:wrap}.page-hero h1{font-size:36px}.page-lead{font-size:16px}.facts>div{gap:10px}.case-opening{padding:53px 0}.case-opening h2{font-size:28px}.career-item{grid-template-columns:1fr;gap:9px}.career-section .career-list{margin-top:25px}.skills-grid{grid-template-columns:1fr;gap:22px}.next-card{flex-direction:column;align-items:start}.next-card a{font-size:17px}.lightbox-bar{padding:10px}.lightbox-body{gap:4px;padding:6px}.lightbox-body img{max-width:calc(100% - 68px)}.lightbox-prev,.lightbox-next{flex-basis:30px;height:35px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* V7 · ajustes editoriales para capturas de tableros y formación */
.feature-visual{display:flex;align-items:stretch;min-height:0;background:#eaf2fa;padding:20px 16px 24px;overflow:hidden}
.screen-stage{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(145deg,#f0f6fb,#e4edf7);position:relative;overflow:hidden}
.screen-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 96%,#c8d9e8 96%);background-size:28px 28px;opacity:.12;pointer-events:none}
.screen-stage img,.feature-visual img,.tile-image img{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center;transform:none!important;box-shadow:0 8px 24px #193a5b1c;border:1px solid #d1e0ec;transition:none}
.screen-stage-feature{min-height:360px;padding:12px}
.feature-visual .case-count{z-index:2;bottom:23px;left:24px}
.feature-visual:hover img,.case-tile:hover .tile-image img{transform:none!important}
.tile-image{height:260px;overflow:hidden;background:#eaf2fa}
.tile-image .screen-stage{padding:20px;height:100%}
.tile-image img{max-height:215px}
.feature-text h3{font-size:clamp(25px,2.8vw,36px);line-height:1.23;letter-spacing:-.04em}
.tile-text h3{font-size:clamp(19px,2vw,25px);line-height:1.3;letter-spacing:-.025em}
.education-intro{display:flex;gap:40px;justify-content:space-between;align-items:end;margin:40px 0 29px}
.education-intro h2{font:800 clamp(25px,3vw,35px)/1.2 var(--display);letter-spacing:-.045em;margin:0}
.education-intro p{max-width:340px;color:var(--muted);line-height:1.7;font-size:14px;margin:0}
.education-list{border-top:1px solid var(--navy)}
.education-entry{display:grid;grid-template-columns:180px minmax(0,1fr) 115px;gap:26px;padding:25px 0;border-bottom:1px solid #cbddea;align-items:start}
.edu-index,.edu-date{font:500 10px/1.5 var(--mono);color:#718ca6;letter-spacing:.03em}
.edu-date{text-align:right}
.education-entry h3{font:800 clamp(17px,1.7vw,21px)/1.32 var(--display);letter-spacing:-.025em;margin:0 0 7px}
.education-entry p{font:400 13px/1.65 var(--body);color:var(--muted);margin:0}
.education-highlight h3{color:var(--blue)}
.education-highlight .edu-index{color:var(--blue)}
@media(max-width:780px){.screen-stage-feature{min-height:260px}.feature-visual{padding:12px}.education-intro{display:block}.education-intro p{margin-top:12px}.education-entry{grid-template-columns:135px minmax(0,1fr) 90px;gap:14px}}
@media(max-width:540px){.screen-stage-feature{min-height:205px}.tile-image{height:210px;aspect-ratio:auto}.tile-image .screen-stage{padding:10px}.tile-image img{max-height:185px}.education-entry{grid-template-columns:1fr 85px;gap:6px 13px;padding:21px 0}.education-entry .edu-index{grid-column:1/-1}.education-entry h3{font-size:17px}.education-entry .edu-date{padding-top:4px}.education-intro h2{font-size:28px}}

/* V8 · refinamiento visual de proyectos */
.featured-case{grid-template-columns:.96fr 1.04fr;background:#fff}
.feature-visual{align-items:center;justify-content:center;min-height:0;padding:28px;background:#f5f8fc}
.work .screen-stage{background:#fbfdff;border:1px solid #d8e3ee;box-shadow:inset 0 0 0 1px #eef4f8;padding:18px 20px}
.work .screen-stage::before{display:none}
.screen-stage-feature{min-height:330px;padding:18px}
.work .screen-stage img,.feature-visual img,.tile-image img{box-shadow:0 10px 24px rgba(17,45,78,.08);border:1px solid #d8e3ed;border-radius:4px;background:#fff}
.feature-text{padding:52px 48px;background:#fbfdff}
.feature-text h3{font-size:clamp(27px,2.75vw,40px);line-height:1.18;letter-spacing:-.05em;max-width:12ch}
.feature-text p{max-width:44ch}
.inline-arrow{padding-top:18px;margin-top:30px}
.tile-image{height:228px;background:#f5f8fc}
.tile-image .screen-stage{height:100%;padding:14px 16px}
.inventory-tile .tile-image img{width:100%;max-height:210px}
.process-tile .tile-image{height:228px}
.process-tile .tile-image .screen-stage{padding:10px 14px;background:#f8fbfd}
.process-tile .tile-image img{width:78%;max-height:210px}
.case-tile .tile-text{padding:28px 30px 30px}
.case-tile .tile-text h3{max-width:14ch}
.case-tile .tile-text p{max-width:34ch}
@media(max-width:780px){
  .featured-case{grid-template-columns:1fr}
  .feature-visual{padding:16px}
  .screen-stage-feature{min-height:275px}
  .feature-text{padding:30px 26px}
  .tile-image,.process-tile .tile-image{height:220px}
  .process-tile .tile-image img{width:84%}
}
@media(max-width:540px){
  .screen-stage-feature{min-height:220px}
  .feature-text h3{max-width:none}
  .tile-image,.process-tile .tile-image{height:205px}
  .tile-image .screen-stage{padding:10px}
  .inventory-tile .tile-image img{max-height:180px}
  .process-tile .tile-image img{width:88%;max-height:185px}
}


/* V9 — collages editoriales de trabajos, sin recortes automáticos de dashboards */
.work .feature-visual,
.work .tile-image{overflow:hidden;background:#f5f8fc}
.work .feature-visual{padding:22px;align-items:stretch}
.work .tile-image{padding:13px;display:flex;align-items:stretch}
.work .project-collage{width:100%;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}
.work .collage-shot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:10px;overflow:hidden;background:#fff;border:1px solid #d9e3ef;box-shadow:0 4px 18px #132d5012}
.work .collage-shot img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;transform:none!important;border:0;border-radius:0;box-shadow:none;background:white}
.work .featured-collage{grid-template-columns:minmax(0,1.75fr) minmax(0,.8fr);gap:12px;min-height:337px}
.work .featured-collage .collage-large{padding:10px}
.work .collage-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:0;min-width:0}
.work .collage-stack .collage-small{padding:7px;background:#fdfefe}
.work .collage-stack img{object-fit:contain}
.work .paired-collage{grid-template-columns:1fr .72fr;gap:9px;min-height:201px;height:100%}
.work .paired-collage .collage-shot{padding:7px}
.work .inventory-collage .pair-detail{background:#f8fbff}
.work .process-collage{grid-template-columns:.92fr 1.08fr}
.work .process-collage .pair-main{background:#f5ffff}
.work .process-collage .pair-detail{background:#fff}
.work .process-collage .pair-main img{object-fit:contain}
.work .tile-image,.work .process-tile .tile-image{height:250px}
.work .case-tile .tile-text{padding-top:27px}
.work .case-count{z-index:3;bottom:29px;left:30px}
@media (max-width:900px){
  .work .featured-collage{grid-template-columns:1.65fr .8fr;min-height:270px}
  .work .feature-visual{padding:15px}
  .work .paired-collage{grid-template-columns:1fr .76fr}
}
@media (max-width:540px){
  .work .featured-collage{min-height:205px;gap:7px;grid-template-columns:1.55fr .82fr}
  .work .collage-stack{gap:7px}
  .work .collage-shot{padding:4px}
  .work .feature-visual{padding:10px}
  .work .tile-image,.work .process-tile .tile-image{height:190px;padding:8px}
  .work .paired-collage{min-height:0;gap:6px}
  .work .case-count{left:14px;bottom:14px}
}

/* V10 · composiciones más jerárquicas y editoriales */
.work .featured-collage{
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,2.1fr) minmax(0,1fr);
  gap:12px;
  min-height:368px;
}
.work .featured-collage .collage-large{padding:10px;min-height:0}
.work .collage-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr;
  gap:12px;
  min-height:0;
}
.work .collage-stack .collage-small{padding:7px}
.work .collage-stack .collage-small img{max-width:100%}
.work .inventory-tile .tile-image{height:290px}
.work .inventory-collage{
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1.05fr) minmax(0,.95fr);
  gap:10px;
  min-height:100%;
}
.work .inventory-collage .pair-main,
.work .inventory-collage .pair-detail{padding:8px}
.work .inventory-collage .pair-main{background:#fff}
.work .inventory-collage .pair-detail{background:#fbfdff}
.work .process-tile .tile-image{height:250px}
.work .process-collage{
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:10px;
  min-height:100%;
}
.work .process-collage .pair-main,
.work .process-collage .pair-detail{padding:8px}
.work .process-collage .pair-main{background:#f8fcfe}
.work .process-collage .pair-detail{background:#fff}
.work .process-collage .pair-detail img{object-fit:contain;object-position:center}
@media (max-width:900px){
  .work .featured-collage{min-height:320px}
  .work .inventory-tile .tile-image{height:265px}
  .work .process-collage{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .work .featured-collage{grid-template-rows:minmax(0,1.6fr) minmax(0,.9fr);min-height:300px}
}
@media (max-width:540px){
  .work .featured-collage{min-height:250px;gap:8px}
  .work .collage-stack{gap:8px}
  .work .inventory-tile .tile-image{height:235px}
  .work .process-tile .tile-image{height:225px}
  .work .inventory-collage,
  .work .process-collage{gap:7px}
}


/* V11 — only project thumbnail compositions change; V10 health is preserved. */
.work .inventory-tile .tile-image{height:246px;padding:13px}
.work .inventory-collage{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:1fr;gap:10px;min-height:0;height:100%}
.work .inventory-collage .collage-shot{min-height:0;padding:5px;background:#fff}
.work .inventory-collage img{width:100%;height:100%;object-fit:contain}
.work .process-tile .tile-image{height:246px;padding:13px}
.work .process-collage.process-triple{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);grid-template-rows:1fr;gap:10px;min-height:0;height:100%}
.work .process-triple .process-tickets{padding:5px;background:#e9faff}
.work .process-triple .process-tickets img{object-fit:contain;width:100%;height:100%;max-height:none}
.work .process-triple .process-support{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:10px;min-width:0;min-height:0}
.work .process-triple .process-support .collage-shot{padding:5px;background:#fff;min-height:0;min-width:0}
.work .process-triple .process-support img{object-fit:contain;width:100%;height:100%;max-height:none}
@media (max-width:900px){
 .work .inventory-tile .tile-image,.work .process-tile .tile-image{height:226px}
 .work .process-collage.process-triple{grid-template-columns:1.12fr .88fr}
}
@media (max-width:540px){
 .work .inventory-tile .tile-image,.work .process-tile .tile-image{height:205px;padding:8px}
 .work .inventory-collage,.work .process-collage.process-triple{gap:6px}
 .work .process-triple .process-support{gap:6px}
}

/* V11.1: contacto usable incluso sin gestor mailto */
button.contact-button{border:0;cursor:pointer;width:min(100%,310px);text-align:left;font-family:var(--body)}
button.contact-button:focus-visible{outline:2px solid #8dccf9;outline-offset:3px}
.copy-feedback{font-size:12px!important;line-height:1.5!important;color:#d8efff!important;margin:9px 0 0!important;min-height:0}
.copy-feedback:empty{display:none}
.mail-open{margin-top:13px}

/* V11.2 — formulario de contacto Netlify */
.contact-grid-form{grid-template-columns:.88fr 1.12fr;align-items:start;gap:clamp(42px,7vw,100px)}
.contact-intro>p:not(.eyebrow):not(.copy-feedback){color:#bed0e2;font-size:16px;line-height:1.8;max-width:420px;margin:23px 0}
.contact-alternatives{display:flex;align-items:flex-start;flex-direction:column;gap:13px;margin-top:39px}
.contact-alt-label,.form-top{font:500 10px/1.5 var(--mono);letter-spacing:.09em;color:#8fb8d9}
.contact-alternatives a,.contact-email-copy{font:600 13px var(--body);color:#d7ecfc;text-decoration:none}
.contact-email-copy{border:0;padding:0;background:transparent;text-align:left;cursor:pointer}
.contact-alternatives a:hover,.contact-email-copy:hover{text-decoration:underline}
.contact-alternatives .copy-feedback{font-size:12px;line-height:1.5;color:#a9d8fa;margin:0}
.contact-form{background:#103154;border:1px solid #416387;padding:clamp(22px,3vw,35px);display:grid;gap:21px}
.form-top{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #365777}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field label{font-size:12px;font-weight:600;color:#e5f1fa}
.form-field label span{color:#91cff9}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;background:#f7fbff;border:1px solid #c6d6e6;border-radius:0;color:#102d53;padding:13px 14px;font:400 14px/1.5 var(--body);outline-offset:3px}
.form-field textarea{resize:vertical;min-height:124px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #8bcaff;border-color:#3a8bc8}
.form-field input::placeholder,.form-field textarea::placeholder{color:#8296ab}
.form-submit{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#d8efff;color:#0b2446;padding:16px 18px;cursor:pointer;font:700 13px var(--body)}
.form-submit:hover{background:#fff}
.form-submit:focus-visible{outline:2px solid #8bcaff;outline-offset:3px}
.form-note,.form-local-notice{margin:-9px 0 0;font:400 11px/1.55 var(--body);color:#a9c0d7}
.form-local-notice{color:#d8efff}
.visually-hidden{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}
@media(max-width:900px){.contact-grid-form{grid-template-columns:1fr;gap:30px}.contact-intro>p:not(.eyebrow):not(.copy-feedback){max-width:600px}.contact-alternatives{margin-top:20px}}
@media(max-width:540px){.field-row{grid-template-columns:1fr}.contact-form{padding:18px;gap:17px}.contact h2{font-size:clamp(36px,9vw,48px)}}
