:root{--coal:#101413;--off:#eeeee8;--steel:#89918d;--forest:#183d31;--forest-light:#9cb8a9;--ink:#252c29;--line:#ffffff28;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--coal);color:var(--off);font:400 1rem/1.7 var(--sans)}body.menu-open{overflow:hidden}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(3.5rem,7vw,7.7rem);letter-spacing:-.025em}h2{font-size:clamp(3rem,5.4vw,5.6rem);letter-spacing:-.025em}h3{font-size:2.1rem}h4{font-size:.8rem;font-weight:500;letter-spacing:.12em}em{font-weight:400}p{max-width:65ch}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest-light);outline-offset:5px}button{color:inherit}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.narrow{max-width:800px}.section{padding:110px 0}.eyebrow{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:24px}.editorial,.lead{font-size:1.28rem;line-height:1.65}.muted{color:var(--steel)}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding:9px 0;font-size:.9rem;transition:color .25s,transform .25s}.text-link:hover{color:var(--forest-light);transform:translateX(3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 25px;border:1px solid var(--forest);background:var(--forest);color:var(--off);min-height:52px;transition:background .25s}.button:hover{background:#255743}.button.outline{border-color:#727e76;background:none;color:inherit}.button.outline:hover{background:var(--forest);color:var(--off)}.plain{padding:0;border:0;background:none;font-size:.9rem;text-align:left}.skip{position:fixed;top:-100px;left:20px;background:var(--off);color:var(--coal);padding:12px;z-index:100}.skip:focus{top:10px}
.header{position:fixed;top:0;left:0;right:0;z-index:30;transition:background .35s,transform .35s,border-color .35s;border-bottom:1px solid transparent}.header-inner{width:calc(100% - 72px);max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:108px;transition:min-height .3s}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand img{width:45px;height:54px;object-fit:contain;filter:brightness(0) invert(1)}.brand span{font:400 .78rem/1.3 var(--serif);letter-spacing:.06em;max-width:230px;overflow:hidden;transition:max-width .4s,opacity .4s}.brand strong{font-weight:400;font-size:1.3rem;letter-spacing:.025em}.header nav{display:flex;align-items:center;gap:23px;font-size:.8125rem}.header nav>a{padding:8px 0;white-space:nowrap}.header nav>a:hover{color:var(--forest-light)}.nav-cta{margin-left:12px;border-bottom:1px solid #a1b2a7}.header.scrolled,.interior .header{background:#101413ec;backdrop-filter:blur(14px);border-color:var(--line)}.header.scrolled .header-inner{min-height:76px}.header.scrolled .brand span{max-width:0;opacity:0}.header.scroll-down:not(.menu-visible){transform:translateY(-100%)}.nav-urgent,.menu-toggle{display:none}.menu-toggle{border:1px solid #ffffff55;background:transparent;padding:10px 15px}
.cinema{height:250svh;position:relative}.hero{position:sticky;top:0;height:100svh;min-height:640px;isolation:isolate;overflow:hidden;background:var(--coal)}.hero picture,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-fit:cover;object-position:center;transform:scale(calc(1 + var(--progress,0)*.035)) translate3d(var(--mx,0px),var(--my,0px),0);filter:contrast(calc(1 - var(--progress,0)*.35));opacity:calc(1 - var(--progress,0)*1.3);will-change:transform}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,15,13,.76),rgba(10,15,13,.15)),linear-gradient(0deg,#101413 0%,transparent 32%)}.hero-copy{position:absolute;inset:0;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:clamp(0,calc(1 - var(--progress,0)*5),1);transform:translateY(calc(var(--progress,0)*-35px))}.hero-kicker{font-size:.82rem;letter-spacing:.23em;margin-bottom:30px;color:#c4cbc5}.hero h1{font-size:clamp(3.2rem,6.3vw,7rem);line-height:1.06;max-width:1100px}.hero-actions{display:flex;gap:45px;margin-top:40px}.hero-actions .text-link{font-size:1rem}.scroll-cue{position:absolute;bottom:45px;left:0;font-size:.75rem;letter-spacing:.08em;color:#c1c8c2}.scroll-cue span{padding-left:30px}.manifesto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.manifesto-word{position:absolute;font:400 clamp(4rem,10vw,11rem)/1 var(--serif);letter-spacing:-.035em;opacity:0;transform:translateY(18px);transition:opacity .45s,transform .6s}.manifesto-word.active{opacity:1;transform:none}.brand-stroke{display:block;width:1px;height:90px;background:linear-gradient(transparent,var(--forest-light));margin-bottom:35px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:70px}.section-heading>p{max-width:360px;color:#afb7b0}.practices{padding-top:25px}.practice-list{border-top:1px solid #626a64}.practice{position:relative;isolation:isolate;border-bottom:1px solid #626a64}.practice:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#173c31b8,#101413e8),url('/hero-small.webp') right center/60% auto no-repeat;opacity:0;transition:opacity .5s}.practice:hover:before,.practice.expanded:before{opacity:1}.practice h3{font-size:clamp(1.7rem,3.1vw,3.2rem)}.disclosure{display:grid;grid-template-columns:65px 1fr 30px;align-items:center;gap:20px;width:100%;border:0;background:none;text-align:left;padding:33px 8px;font:inherit}.index{font:.8rem var(--sans);color:var(--steel)}.practice-title{transition:transform .35s}.disclosure:hover .practice-title{transform:translateX(6px)}.plus{font:300 1.65rem var(--sans);color:var(--forest-light);transition:transform .35s}.disclosure[aria-expanded=true] .plus{transform:rotate(45deg)}.panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .45s cubic-bezier(.2,.7,.3,1),opacity .3s,visibility .45s}.panel.open{grid-template-rows:1fr;opacity:1;visibility:visible}.panel-inner{min-height:0;overflow:hidden}.practice-content{padding:0 60px 42px 93px;max-width:950px}.practice-content p{margin-bottom:20px;color:#c5cec6}.practice-content .editorial{font-family:var(--serif);font-size:2.3rem;line-height:1.2;color:var(--off)}.principal .practice-content{padding-bottom:60px}.penal-routes{display:flex;gap:45px;flex-wrap:wrap;margin:30px 0}.penal-routes a{font-size:1.08rem}
.paper,.profile,.analysis,.contact{background:var(--off);color:var(--ink)}.paper .eyebrow,.profile .eyebrow,.analysis .eyebrow,.contact .eyebrow{color:#52665a}.profile-top{display:grid;grid-template-columns:1fr 1fr;gap:85px}.profile-top p{margin-bottom:22px;color:#434d47}.profile-top .lead{color:var(--ink)}.profile-top .text-link:hover,.paper .text-link:hover,.analysis .text-link:hover{color:var(--forest)}.map-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;margin-top:90px;border-top:1px solid #bbc3ba;padding-top:65px}.map-visual{max-width:370px;margin:auto;width:100%}.map-visual svg{display:block;width:100%;max-height:430px;overflow:visible}.country{fill:#d3d8d0;stroke:#8c9b8f;stroke-width:1.1}.map-visual circle{fill:var(--forest);stroke:var(--off);stroke-width:2;transition:r .25s,fill .25s}.map-visual circle.selected{r:7;fill:#3c7558}.map-note{display:block;font-size:.75rem;color:#5a665e;text-align:center}.map-layout h3{font-size:2.5rem;margin-bottom:25px}.departments{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.departments button{background:none;border:1px solid #b4bfb5;padding:9px 13px;font-size:.875rem;color:var(--ink)}.departments button span{padding-left:12px}.departments button:hover,.departments button[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}.map-description{font-size:.9rem;color:#57625a;min-height:80px}.formation{border-top:1px solid #b4bfb5;margin-top:30px;padding-top:24px;font-size:.9rem;color:#57625a}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 65px;margin-bottom:45px}.experience-item{border-top:1px solid #68726a;padding-top:27px}.experience-item h3{font-size:2.5rem;max-width:440px;margin-bottom:20px}.experience-item>p{color:#aeb9b0;font-size:.95rem}.experience-item .eyebrow{margin-bottom:22px}.exp-toggle{display:flex;justify-content:space-between;font:400 .9rem var(--sans);padding:24px 0}.exp-detail{padding:15px 0 25px}.exp-detail h4{color:var(--forest-light);margin-top:20px}.exp-detail p{margin-top:8px;font-size:.95rem;color:#c5cec6}.paper .experience-item>p,.paper .exp-detail p{color:#4d5a51}.paper .exp-detail h4{color:var(--forest)}.methodology{background:#18231d}.method-row{display:grid;grid-template-columns:45px 1fr .7fr;gap:40px;align-items:center;padding:45px 0;border-top:1px solid #536057}.method-row>span{font-size:.8rem;color:#a1b1a5}.method-row p{color:#bac7bc}.method-row h2{font-size:clamp(2.75rem,4.8vw,5rem)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.article-card{padding-top:25px;border-top:1px solid #abb8ac}.article-card h3{font-size:2.2rem;margin-bottom:20px;line-height:1.16}.article-card h3 a:hover{color:var(--forest)}.article-card p{font-size:.95rem;color:#4b584e}.article-card small{display:block;font-size:.75rem;margin-top:22px;color:#5e6b62}.article-meta{font-size:.75rem;margin:25px 0 15px;color:#536056}.draft-label{display:block;font-size:.75rem;color:#596b5c;border-left:2px solid #596b5c;padding-left:9px;margin-bottom:20px}.analysis .section-heading .text-link{flex-shrink:0}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:25px;margin-bottom:25px}.filter-count{font-size:.875rem;color:#52665a;margin-bottom:35px}.article-body p{margin-bottom:30px}.article-body .source{border-top:1px solid #abb8ac;padding-top:25px;font-size:.9rem}.article-body .source a{text-decoration:underline}.article-body small{color:#52665a}
.contact{border-top:1px solid #bac4b9}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact h2{margin-bottom:35px}.contact p{color:#59655c;margin-bottom:20px}.contact-options{margin:40px 0}.contact-options h3{font-size:1.65rem;margin-bottom:20px}.contact-options p{font-size:.8rem;max-width:42ch;margin-top:15px}.form-progress{border-top:1px solid #647368;padding-top:22px;display:flex;justify-content:space-between;font-size:.8rem;color:#52665a;margin-bottom:35px}.consultation fieldset{border:0;margin:0;padding:0;min-width:0}.consultation legend{font:400 2.6rem/1.1 var(--serif);margin-bottom:25px}.choices{display:grid;gap:10px;margin-bottom:26px}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:14px 18px;border:1px solid #9fac9f;cursor:pointer;transition:background .2s}.choices input:checked+span{background:var(--forest);color:var(--off);border-color:var(--forest)}.choices input:focus-visible+span{outline:2px solid var(--forest);outline-offset:3px}.field{display:block;font-size:.875rem;margin-bottom:21px}.field input,.field textarea,.field select,.admin-layout select{display:block;width:100%;border:1px solid #8c9b90;background:#fafaf6;color:var(--ink);padding:13px 14px;margin-top:8px;border-radius:0;min-height:48px}.field textarea{resize:vertical}.field-note{font-size:.8125rem!important;color:#59655c}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:.8125rem;line-height:1.6}.consent input{margin-top:6px;accent-color:var(--forest)}.consent a{text-decoration:underline}.review-notice{font-size:.8125rem!important;padding:14px;border:1px solid #a1aca0;margin:25px 0;color:#4c5a50}.form-status{font-size:.9rem;margin-top:20px}.honeypot{display:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
footer{padding:80px 0 25px;background:#0c100e}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .6fr .7fr;gap:55px}.footer-grid>div>a:not(.brand),.footer-grid>div>button{display:block;margin-bottom:12px;font-size:.8125rem;overflow-wrap:anywhere}.footer-grid p{font-size:.875rem;margin-top:20px}.footer-grid .eyebrow{color:#a5b4a8}.footer-brand{margin-bottom:25px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding-top:25px;margin-top:65px;font-size:.75rem;color:#8d9b90}.floating-urgent{position:fixed;right:24px;bottom:22px;padding:11px 16px;background:#17271ff0;border:1px solid #708b78;color:#f0f3ed;font-size:.8125rem;z-index:20;box-shadow:0 3px 18px #0002}.floating-urgent span{margin-left:15px}.inner-hero{padding-top:185px;padding-bottom:80px}.inner-hero h1{margin-bottom:35px;max-width:1100px}.inner-hero p{color:#b1bcb3;max-width:700px}.inner-hero .eyebrow{color:var(--forest-light)}.reading-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.side-nav{display:grid;gap:14px}.side-nav .text-link{border:0;padding:0}.service-detail{border-top:1px solid #b4c0b6;padding:30px 0 40px;scroll-margin-top:100px}.service-detail h2{font-size:2.7rem;margin-bottom:23px}.service-detail p{color:#4e5e51}.inline-cta{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.admin-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px}.admin-layout h2{font-size:2.5rem;margin-bottom:30px}.admin-layout aside p{font-size:.9rem;margin:25px 0}.admin-layout form+form{border-top:1px solid #9fac9f;margin-top:70px;padding-top:50px}.admin-layout .save-status{margin-top:20px}.admin-page .floating-urgent{display:none}dialog{max-width:560px;width:calc(100% - 40px);background:var(--off);color:var(--ink);border:1px solid #aab6aa;padding:45px}dialog::backdrop{background:#000a}dialog h2{font-size:2.5rem;margin-bottom:25px}dialog p{font-size:.9rem;margin-bottom:20px}.dialog-close[aria-label]{position:absolute;right:15px;top:10px;background:none;border:0;font-size:2rem;color:var(--ink)}.reveal{transition:opacity .65s,transform .65s}.reveal.pending{opacity:0;transform:translateY(20px)}[hidden]{display:none!important}
@media(min-width:1400px){.hero h1{font-size:7.1rem}}
@media(max-width:1150px){.header-inner{width:calc(100% - 48px)}.header nav{gap:14px}.header nav>a{font-size:.75rem}.brand span{max-width:170px}.brand strong{font-size:1.1rem}.wrap{width:calc(100% - 72px)}.contact-grid,.profile-top,.map-layout{gap:55px}.footer-grid{gap:30px}.method-row{gap:25px}.section-heading{gap:40px}}
@media(max-width:950px){.menu-toggle{display:block;z-index:32}.header-inner{min-height:88px}.header nav{position:fixed;inset:0;background:#101413;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:100px 8vw 40px;gap:0;height:100dvh;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility .3s;overflow:auto}.header nav.open{visibility:visible;opacity:1;transform:none}.header nav>a{font:400 clamp(1.5rem,4vh,2.7rem)/1.2 var(--serif);padding:13px 0;border-bottom:1px solid #ffffff20}.header nav .nav-cta{font:400 1rem var(--sans);margin:25px 0 0;border:0}.header nav .nav-urgent{display:block;font:400 1rem var(--sans);border:0}.header .brand{position:relative;z-index:32}.menu-visible .brand span{max-width:200px!important;opacity:1!important}.header.scrolled .brand span{max-width:160px;opacity:1}.section{padding:75px 0}.hero h1{font-size:clamp(3rem,7.2vw,5rem)}.cinema{height:210svh}.hero{min-height:580px}.section-heading{margin-bottom:45px}.article-grid{grid-template-columns:1fr 1fr}.article-card:last-child{grid-column:1/-1;max-width:700px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.reading-grid{gap:50px;grid-template-columns:.6fr 1.4fr}.method-row{grid-template-columns:25px 1fr;gap:20px}.method-row p{grid-column:2}.profile-top{grid-template-columns:1fr;gap:35px}.profile-top>div:last-child{max-width:700px}.contact-grid{grid-template-columns:1fr;gap:60px}.contact h2 br{display:none}.contact h2{max-width:600px}.contact-options{margin:25px 0}.map-layout{gap:30px}.map-layout h3{font-size:2.1rem}.inner-hero{padding-top:145px}.inner-hero h1{font-size:clamp(3.2rem,7vw,5.5rem)}}
@media(max-width:620px){.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px)}.brand img{width:34px;height:41px}.brand{gap:11px}.brand span{font-size:.7rem}.brand strong{font-size:1.05rem}.menu-toggle{font-size:.8rem;padding:8px 11px}.hero{min-height:620px}.cinema{height:205svh}.hero h1{font-size:clamp(2.5rem,9.2vw,3.8rem)}.hero-copy{justify-content:center;padding-top:30px}.hero-kicker{font-size:.75rem;letter-spacing:.19em;margin-bottom:28px}.hero-actions{flex-direction:column;gap:18px;align-items:flex-start;margin-top:30px}.hero-actions .text-link{font-size:.9rem}.hero-shade{background:linear-gradient(90deg,#101413c9,#10141373),linear-gradient(0deg,#101413,transparent 55%)}.hero-image{object-position:65% center}.scroll-cue{bottom:80px}.manifesto-word{font-size:clamp(2.8rem,11.5vw,4.5rem)}.section-heading{display:block}.section-heading>p{margin-top:30px}.section-heading>.text-link{margin-top:25px}h2{font-size:3.3rem}.brand-stroke{height:65px}.practices{padding-top:25px}.disclosure{grid-template-columns:24px 1fr 20px;gap:13px;padding:27px 0}.practice h3{font-size:1.7rem}.practice-content{padding:0 0 30px 37px}.principal .practice-content{padding-bottom:35px}.practice-content .editorial{font-size:2rem}.practice-content p{font-size:.95rem}.penal-routes{gap:15px;display:grid}.penal-routes a{font-size:.9rem}.map-layout{grid-template-columns:1fr;margin-top:50px;padding-top:30px}.map-visual{max-width:250px}.map-visual svg{max-height:320px}.map-layout h3{font-size:2.4rem}.experience-grid,.article-grid{grid-template-columns:1fr;gap:36px}.experience-item h3{font-size:2.2rem}.method-row{padding:30px 0}.method-row h2{font-size:3rem}.method-row p{font-size:.95rem}.article-card:last-child{grid-column:auto}.article-card h3{font-size:2.2rem}.filters{grid-template-columns:1fr;gap:0}.contact h2{font-size:3.2rem}.consultation legend{font-size:2.2rem}.form-actions{gap:12px}.form-actions .button{padding:13px 17px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:grid;padding-bottom:55px}.floating-urgent{right:12px;bottom:12px;font-size:.75rem;padding:10px 12px}.inner-hero h1{font-size:3.5rem}.inner-hero{padding-top:135px;padding-bottom:55px}.reading-grid{grid-template-columns:1fr;gap:40px}.service-detail h2{font-size:2.5rem}.admin-layout{grid-template-columns:1fr;gap:40px}.field-grid{grid-template-columns:1fr;gap:0}.editorial,.lead{font-size:1.15rem}.map-description{min-height:0}.article-body p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cinema{height:auto}.hero{position:relative;height:auto;min-height:100svh;padding:150px 0 70px}.hero-copy{position:relative;inset:auto;opacity:1!important;transform:none!important;min-height:65svh;padding-bottom:65px}.hero-image{opacity:.5!important;transform:none!important;filter:none!important}.manifesto{position:relative;display:grid;gap:25px;padding:70px 20px 0;background:var(--coal)}.manifesto-word{position:static;opacity:1;transform:none;font-size:clamp(2.8rem,8vw,7rem)}.reveal.pending{opacity:1;transform:none}.hero-actions .text-link:hover,.practice-title{transform:none!important}}
.contact-spacer{height:125px}.admin-page .save-status{color:var(--forest)}

.contact h1{font-size:clamp(3rem,5.4vw,5.6rem);margin-bottom:35px}

/* Identidad legible: separada de la fotografía del hero. */
.header,.header.scrolled,.interior .header{background:var(--coal);backdrop-filter:none;border-bottom:1px solid var(--line)}
.header-inner,.header.scrolled .header-inner{min-height:132px}
.brand{isolation:isolate;background:none;align-items:center;gap:15px}
.brand img{width:49px;height:59px;background:none;box-shadow:none;border:0;flex:none}
.brand .brand-copy,.header.scrolled .brand .brand-copy,.menu-visible .brand .brand-copy{display:block;max-width:310px!important;opacity:1!important;overflow:visible;letter-spacing:.04em}
.brand-given{display:block;font:400 .85rem/1.25 var(--serif)}
.brand strong{display:block;font:400 1.45rem/1.15 var(--serif);letter-spacing:.025em}
.brand-role{display:block;font:500 .78rem/1.4 var(--sans);letter-spacing:.06em;margin-top:7px}
.brand-degree{display:block;font:400 .75rem/1.35 var(--sans);letter-spacing:0;color:#b9c5bb;margin-top:3px}
.hero-copy{padding-top:110px}.hero-kicker{margin-bottom:25px}.inner-hero{padding-top:190px}.contact-spacer{height:132px}
@media(max-width:1150px) and (min-width:951px){.header nav{gap:11px}.header nav>a{font-size:.75rem}.header-inner{gap:20px}.nav-cta{margin-left:0}}
@media(max-width:620px){.header-inner,.header.scrolled .header-inner{min-height:140px;width:calc(100% - 32px);gap:10px}.brand{gap:9px}.brand img{width:32px;height:39px}.brand-given{font-size:.72rem}.brand strong{font-size:1.18rem}.brand-role{font-size:.75rem;margin-top:5px}.brand-degree{font-size:.75rem;max-width:205px}.brand .brand-copy{max-width:220px!important}.menu-toggle{font-size:.75rem;padding:8px}.hero-copy{padding-top:115px}.hero{min-height:700px}.inner-hero{padding-top:185px}.header nav{padding-top:165px}.contact-spacer{height:140px}}

/* Cabecera editorial: identidad, navegación y acción con espacios propios. */
.header-inner,.header.scrolled .header-inner{width:min(1360px,calc(100% - 80px));min-height:138px;gap:45px}
.header nav{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:32px}
.nav-links{display:flex;align-items:center;gap:clamp(20px,2.1vw,34px)}
.header .nav-links a{position:relative;display:block;font:400 .875rem/1.4 var(--sans);padding:14px 0;white-space:nowrap;color:#d1d8d2}
.header .nav-links a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:#a6bfaf;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.header .nav-links a:hover:after,.header .nav-links a[aria-current=page]:after{transform:scaleX(1)}
.header .nav-links a[aria-current=page]{color:#fff}
.nav-actions{padding-left:30px;border-left:1px solid #ffffff26;display:flex;align-items:center}
.header .nav-actions .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;margin:0;border:1px solid #778e7e;font:500 .8125rem/1.4 var(--sans);white-space:nowrap;transition:background .25s,border-color .25s}
.header .nav-actions .nav-cta:hover{background:var(--forest);border-color:var(--forest-light);color:#fff}
.header .nav-urgent{display:none}.menu-toggle{display:none}
@media(max-width:1100px){
.header-inner,.header.scrolled .header-inner{width:calc(100% - 48px);min-height:132px;gap:18px}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:98px;min-height:48px;padding:12px 14px;position:relative;z-index:34;border:1px solid #63766a;background:none;font:400 .8125rem var(--sans)}
.menu-lines{width:18px;height:12px;position:relative;display:block}.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;width:18px;height:1px;background:var(--off);transition:transform .25s,top .25s}.menu-lines:before{top:2px}.menu-lines:after{top:10px}.menu-toggle[aria-expanded=true] .menu-lines:before{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{top:6px;transform:rotate(-45deg)}
.header .brand{position:relative;z-index:34}
.header nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:28px;height:100dvh;padding:162px max(24px,6vw) max(28px,env(safe-area-inset-bottom));background:var(--coal);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}
.header nav.open{visibility:visible;opacity:1;transform:none}
.nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff26}
.header .nav-links a{display:flex;align-items:center;justify-content:space-between;font:400 clamp(1.9rem,4.4vh,3.2rem)/1.15 var(--serif);padding:16px 0;border-bottom:1px solid #ffffff26;white-space:normal}
.header .nav-links a:after{position:static;content:'↗';background:none;width:auto;height:auto;font:400 1.1rem var(--sans);transform:none;color:#93aa9b}
.nav-actions{display:flex;align-items:stretch;flex-direction:column;gap:18px;padding:0;border:0;margin-top:auto}
.header .nav-actions .nav-cta{font-size:.95rem;min-height:54px;background:var(--forest);border-color:#496956;justify-content:space-between;padding:15px 20px}
.header .nav-actions .nav-urgent{display:block;border:0;padding:8px 0;margin:0;font:400 .875rem var(--sans);color:#bac8be}
.menu-open .floating-urgent{visibility:hidden}.menu-visible{transform:none!important}
}
@media(max-width:620px){.header-inner,.header.scrolled .header-inner{width:calc(100% - 32px);min-height:142px;gap:12px}.menu-toggle{min-width:48px;width:48px;padding:12px;flex:none}.menu-label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.header .brand-degree{max-width:210px}.header nav{padding:164px 24px max(26px,env(safe-area-inset-bottom));gap:26px}.header .nav-links a{font-size:2rem;padding:15px 0}.hero-copy{padding-top:125px}}
@media(max-width:1100px) and (max-height:650px){.header nav{padding-top:148px;gap:18px}.header .nav-links a{font-size:1.7rem;padding:10px 0}.nav-actions{margin-top:0;gap:10px}}

.legal-copy h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:2.2rem 0 1rem}.legal-copy h2:first-child{margin-top:0}.legal-copy p{margin-bottom:1.3rem}

.territory-intro{color:#57625a;font-size:1rem;margin-bottom:20px}.territories{border-top:1px solid #b4bfb5;margin:20px 0}.territory{border-bottom:1px solid #b4bfb5}.territory summary{display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;list-style:none;padding:14px 0;font-size:1rem;font-weight:500}.territory summary::-webkit-details-marker{display:none}.territory summary span{font-weight:400;font-size:1.25rem;transition:transform .2s}.territory[open] summary span{transform:rotate(45deg)}.territory summary:focus-visible{outline:2px solid var(--forest);outline-offset:4px}.territory p{font-size:.95rem;color:#4d5a51;line-height:1.85;padding:0 24px 18px 0;margin:0}.territory[open] p{animation:territory-in .22s ease-out}.map-description{min-height:0;line-height:1.6}@keyframes territory-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.territory[open] p{animation:none}.territory summary span{transition:none}}

@media(max-width:950px){.contact h1,.contact h2{font-size:clamp(2.5rem,7.8vw,3.6rem);line-height:1.16;letter-spacing:-.025em;word-spacing:normal;max-width:18ch;overflow-wrap:normal}.contact h1 br,.contact h2 br{display:none}.service-detail{scroll-margin-top:165px}}

/* Professional profile: comfortable, left-aligned editorial reading. */
.profile-top>div:last-child{width:100%;max-width:64ch;min-width:0}
.profile-top p{text-align:left;line-height:1.8;margin-bottom:1.45em;text-wrap:pretty;hyphens:none}
.profile-top .lead{line-height:1.65}
.profile-top p:last-child{margin-bottom:0}
@media(max-width:620px){.profile-top p{font-size:1rem;line-height:1.75;margin-bottom:1.35em}.profile-top .lead{font-size:1.125rem;line-height:1.65}}

.experience-note{font-size:.875rem;line-height:1.7;max-width:76ch;margin:0 0 26px;color:#bac7bc}.paper .experience-note{color:#52665a}

/* Cabecera compacta en teléfono: evita que los títulos tapen la página. */
@media(max-width:620px){
  .header-inner,.header.scrolled .header-inner{min-height:80px}
  .header .brand-degree{display:none}
  .header .brand-role{font-size:.68rem}
  .header .brand strong{font-size:1.1rem}
  .header nav{padding-top:102px}
  .hero{min-height:620px}
  .hero-copy{padding-top:75px}
  .inner-hero{padding-top:132px}
  .contact-spacer{height:80px}
  .footer-grid{overflow-wrap:anywhere}
}
@media(min-width:621px) and (max-width:1100px){
  .header .brand-degree{font-size:.68rem}
}
.copy-consulta[hidden]{display:none}
