@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600&display=swap');
:root{--e:#0B4638;--d:#07362D;--i:#F4F0E8;--p:#FAF8F3;--c:#171918;--g:#A4864A;--l:#D8D2C6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--p);color:var(--c);font:16px/1.65 Inter,sans-serif}
header{padding:20px 5vw;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;border-bottom:1px solid var(--l);position:sticky;top:0;background:#faf8f3f5;backdrop-filter:blur(10px);z-index:5}
.brand{color:inherit;text-decoration:none;display:flex;flex-direction:column}.brand b,h1,h2,h3{font-family:"Cormorant Garamond",serif}.brand b{font-size:24px}.brand small{font-size:9px;color:var(--e);text-transform:uppercase;letter-spacing:.08em}
nav{display:flex;gap:20px}nav a{font-size:12px;color:inherit;text-decoration:none}.client{border-left:1px solid var(--g);padding-left:20px}.lang{font-size:11px}.lang b{color:var(--e)}
.hero{min-height:740px;padding:9vw 7vw;display:grid;grid-template-columns:1.5fr .5fr;gap:7vw;background:var(--i)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;color:var(--e);margin:0 0 28px}.gold{color:#D9C89B}
h1,h2{font-weight:500;line-height:1.03;margin:0}h1{font-size:clamp(52px,6.1vw,90px)}h1 em{color:var(--e)}.lede{font-size:19px;max-width:700px;margin:42px 0 30px}
.links{display:flex;gap:30px}.links a,.text-link{color:var(--e);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--g);padding-bottom:4px}
.hero aside{display:flex;align-items:flex-end;justify-content:flex-end}.hero aside p{font:35px/.92 "Cormorant Garamond",serif;color:var(--e)}.hero aside strong{color:var(--g)}
.section{padding:105px 7vw;display:grid;grid-template-columns:55px .9fr 1.1fr;gap:4vw;border-top:1px solid var(--l)}.num{font-family:"Cormorant Garamond",serif;color:var(--g)}
.section h2,.dark h2,.about h2{font-size:clamp(40px,4.6vw,68px)}.copy{columns:2;column-gap:35px}.copy p{margin-top:0}
.dark{padding:105px 7vw;background:var(--d);color:var(--i);display:grid;grid-template-columns:55px 1fr;gap:4vw}.grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid #ffffff44}.grid p{padding:24px 24px 24px 0;margin:0;border-bottom:1px solid #ffffff2e}
.services article{display:grid;grid-template-columns:38px 1fr;gap:0 16px;padding:18px 0;border-top:1px solid var(--l)}.services article>b{color:var(--g);font-family:"Cormorant Garamond",serif}.services h3{font-size:24px;margin:0}.services p{grid-column:2;margin:5px 0}
.about{display:grid;grid-template-columns:45% 55%;background:var(--i);min-height:720px}.photo{background:#111;color:#777;display:flex;align-items:flex-end;justify-content:center;padding:40px;font-size:11px;letter-spacing:.1em}.about>div:last-child{padding:95px 9vw 70px 7vw}.about h2{margin-bottom:42px}.about h3{font-size:26px;margin-bottom:0}.role{color:var(--e);font-size:12px}.about p{max-width:680px}.text-link{display:inline-block;margin-top:18px}
.contact{padding:110px 7vw;background:var(--e);color:var(--i)}.contact h2{font-size:clamp(48px,6vw,84px);max-width:950px}.contact a{display:block;color:var(--i);font:26px "Cormorant Garamond",serif;text-decoration:none;margin-top:10px}.site{margin-top:28px}
footer{padding:30px 5vw;display:grid;grid-template-columns:1fr 1fr auto;border-top:1px solid var(--l);font-size:10px;text-transform:uppercase;letter-spacing:.06em}footer div{display:flex;flex-direction:column}footer small{color:#777}
@media(max-width:900px){header{grid-template-columns:1fr auto}nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:70px 7vw}.hero aside{justify-content:flex-start}.section{grid-template-columns:35px 1fr;padding:75px 7vw}.section>div:last-child{grid-column:2}.copy{columns:1}.dark{grid-template-columns:35px 1fr;padding:75px 7vw}.grid{grid-template-columns:1fr}.about{grid-template-columns:1fr}.photo{min-height:520px}footer{grid-template-columns:1fr;gap:14px}}
@media(max-width:560px){header{padding:15px 6vw}.brand b{font-size:21px}.brand small{font-size:8px}.hero{padding:60px 6vw}.hero h1{font-size:46px}.lede{font-size:16px}.links{flex-direction:column;align-items:flex-start;gap:14px}.section,.dark{padding:60px 6vw;grid-template-columns:26px 1fr}.section h2,.dark h2,.about h2{font-size:40px}.about>div:last-child{padding:65px 6vw}.contact{padding:75px 6vw}.contact h2{font-size:46px}}
/* V3 refinements */
.brand b{font-size:31px;color:var(--e);line-height:1;font-weight:600}
.fixed-paragraphs{columns:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.fixed-paragraphs p{margin-top:0}
@media(max-width:900px){.fixed-paragraphs{grid-template-columns:1fr}}
@media(max-width:560px){.brand b{font-size:26px}}

/* V4 — approved photographic direction */
.photo{background:#0b0c0c;padding:0;display:block;overflow:hidden;min-height:720px}
.photo img{width:100%;height:100%;min-height:720px;display:block;object-fit:cover;object-position:center center}
.analysis-content{display:block}
.analysis-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.analysis-copy p{margin-top:0}
@media(max-width:900px){.photo{min-height:0;aspect-ratio:4/5}.photo img{min-height:0;height:100%;object-position:center center}.analysis-copy{grid-template-columns:1fr}}
@media(max-width:560px){.photo{aspect-ratio:3/4}}

/* Sobre mí — extended page */
nav a[aria-current="page"]{color:var(--e);font-weight:600}
.about-page{background:var(--p)}
.about-hero{background:#0b0c0c;color:var(--i);min-height:760px;display:grid;grid-template-columns:55% 45%;overflow:hidden}
.about-hero-copy{padding:10vw 7vw 7vw;align-self:center}
.about-hero-copy h1{font-size:clamp(58px,7vw,104px);color:#E7E1D6;margin:0 0 20px}
.about-hero-copy h2{font-size:clamp(34px,4.1vw,61px);max-width:760px;color:#E7E1D6;margin-bottom:38px}
.about-hero-copy>p:last-child{max-width:680px;font-size:18px;color:#D4D0C8}
.about-hero-photo{height:100%;min-height:760px;overflow:hidden;background:#0b0c0c}
.about-hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%}

.about-text,.about-specialism{padding:100px 7vw;border-top:1px solid var(--l)}
.about-text.intro{padding-top:90px}
.about-section-title{display:grid;grid-template-columns:55px minmax(0,1fr);gap:4vw;margin-bottom:58px}
.about-section-title h2{font-size:clamp(40px,4.8vw,70px);max-width:950px}
.about-section-title .eyebrow{margin-bottom:18px}
.about-copy-wide{max-width:1050px;margin-left:calc(55px + 4vw);display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.about-copy-wide p{margin-top:0}
.about-copy-wide p:last-child:nth-child(3){grid-column:1/3;max-width:880px}
.about-copy-wide strong{font-weight:600}

.about-specialism{background:var(--i)}
.knowledge-grid{margin-left:calc(55px + 4vw);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--l)}
.knowledge-grid div{padding:22px 22px 22px 0;border-bottom:1px solid var(--l);font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1.2}
.knowledge-grid div:nth-child(3n+2),.knowledge-grid div:nth-child(3n+3){padding-left:24px;border-left:1px solid var(--l)}

.about-method{padding:105px 7vw;background:var(--d);color:var(--i)}
.about-method .num{color:#D9C89B}
.about-method .about-section-title h2{color:var(--i)}
.method-steps{margin-left:calc(55px + 4vw);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff42}
.method-steps>div{padding:24px 24px 24px 0;border-bottom:1px solid #ffffff2f}
.method-steps span{display:block;color:#D9C89B;font:18px "Cormorant Garamond",serif;margin-bottom:15px}
.method-steps p{margin:0}
.method-body{margin:58px 0 0 calc(55px + 4vw);max-width:980px}
.method-body>p:first-child{max-width:760px}
.method-emphasis{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,3.4vw,50px);line-height:1.08;margin:55px 0 0}
.method-emphasis.strong{color:#F2EBDC;margin-top:12px}

.thv-about{background:var(--p)}
.closing-line{font:32px "Cormorant Garamond",serif;color:var(--e)}
.languages{margin:70px 0 0 calc(55px + 4vw);padding-top:22px;border-top:1px solid var(--l);max-width:1050px;display:flex;justify-content:space-between;gap:28px}
.languages span{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--e)}
.languages strong{font:24px "Cormorant Garamond",serif;font-weight:500}

.about-cta{padding:120px 7vw;background:#0b0c0c;color:var(--i)}
.about-cta h2{font-size:clamp(48px,6vw,86px);max-width:1050px}
.about-cta h2.second{color:#D9C89B;margin-top:8px}
.about-cta a{display:inline-block;margin-top:48px;color:var(--i);font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--g);padding-bottom:5px}

@media(max-width:900px){
  .about-hero{grid-template-columns:1fr;min-height:auto}
  .about-hero-copy{padding:78px 7vw 55px}
  .about-hero-photo{min-height:0;aspect-ratio:4/5}
  .about-hero-photo img{height:100%;object-position:center 35%}
  .about-copy-wide{margin-left:calc(35px + 4vw);grid-template-columns:1fr}
  .about-copy-wide p:last-child:nth-child(3){grid-column:auto}
  .knowledge-grid{margin-left:calc(35px + 4vw);grid-template-columns:1fr}
  .knowledge-grid div,.knowledge-grid div:nth-child(3n+2),.knowledge-grid div:nth-child(3n+3){padding:18px 0;border-left:0}
  .method-steps{margin-left:calc(35px + 4vw);grid-template-columns:1fr}
  .method-body,.languages{margin-left:calc(35px + 4vw)}
  .languages{flex-direction:column}
}
@media(max-width:560px){
  .about-hero-copy{padding:58px 6vw 42px}
  .about-hero-copy h1{font-size:54px}
  .about-hero-copy h2{font-size:38px}
  .about-hero-copy>p:last-child{font-size:16px}
  .about-hero-photo{aspect-ratio:3/4}
  .about-text,.about-specialism,.about-method{padding:64px 6vw}
  .about-section-title{grid-template-columns:26px 1fr;gap:4vw;margin-bottom:38px}
  .about-copy-wide,.knowledge-grid,.method-steps,.method-body,.languages{margin-left:calc(26px + 4vw)}
  .knowledge-grid div{font-size:21px}
  .about-cta{padding:78px 6vw}
  .about-cta h2{font-size:45px}
}


/* Home compacta — portada editorial */
.home-compact .compact-hero{min-height:650px;padding-top:8vw;padding-bottom:8vw}
.home-about{display:grid;grid-template-columns:42% 58%;background:var(--i);min-height:620px}
.home-about-photo{overflow:hidden;background:#111}
.home-about-photo img{width:100%;height:100%;min-height:620px;display:block;object-fit:cover;object-position:center}
.home-block-copy{padding:82px 9vw 70px 7vw;align-self:center}
.home-block-copy h2,.home-link-section h2,.home-contact h2{font-size:clamp(43px,5vw,72px)}
.home-block-copy h2{margin-bottom:32px}
.home-block-copy h3{font-size:27px;margin:0}
.home-block-copy>p:not(.eyebrow):not(.role){max-width:650px}
.home-link-section{padding:92px 7vw;border-top:1px solid var(--l)}
.home-link-inner{max-width:1080px;margin:0 auto}
.home-link-section h2{max-width:980px}
.home-link-section h2 span{color:#D9C89B}
.home-link-section .home-link-inner>p:not(.eyebrow){max-width:760px;margin:30px 0 0}
.home-services{background:var(--d);color:var(--i);border-top:0}
.home-services h2{color:var(--i)}
.home-section-link{display:inline-block;margin-top:30px;color:var(--e);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--g);padding-bottom:4px}
.light-link{color:var(--i)}
.home-contact{padding:100px 7vw;background:var(--e);color:var(--i)}
.home-contact h2{max-width:1000px;color:var(--i)}
.contact-details{margin-top:42px;display:flex;gap:28px;flex-wrap:wrap}
.contact-details a{color:var(--i);font:23px "Cormorant Garamond",serif;text-decoration:none}

/* Menú móvil real */
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:1px;background:var(--e);margin:6px 0;transition:.2s}

@media(max-width:900px){
  header{grid-template-columns:1fr auto auto;gap:14px}
  .menu-toggle{display:block;grid-column:2}
  header .lang{grid-column:3}
  header nav{
    display:none;
    position:absolute;
    left:0;right:0;top:100%;
    padding:26px 7vw 30px;
    background:var(--p);
    border-top:1px solid var(--l);
    border-bottom:1px solid var(--l);
    flex-direction:column;
    gap:0;
    box-shadow:0 16px 30px #00000012;
  }
  .menu-open header nav{display:flex}
  header nav a{font:25px/1.2 "Cormorant Garamond",serif;padding:13px 0;border-bottom:1px solid var(--l)}
  header nav .client{border-left:0;padding-left:0;color:var(--e);border-bottom:0;margin-top:6px}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .home-about{grid-template-columns:1fr;min-height:auto}
  .home-about-photo{aspect-ratio:4/5}
  .home-about-photo img{height:100%;min-height:0}
  .home-block-copy{padding:68px 7vw}
}
@media(max-width:560px){
  header{padding:15px 6vw}
  .home-compact .compact-hero{padding:58px 6vw 52px}
  .home-about-photo{aspect-ratio:3/4}
  .home-block-copy,.home-link-section,.home-contact{padding:62px 6vw}
  .home-block-copy h2,.home-link-section h2,.home-contact h2{font-size:40px}
  .contact-details{flex-direction:column;gap:8px}
}

/* Servicios V2 — editorial, contenido 70% / imagen 30% */
.services-page{background:var(--p)}
.services-intro{background:#0b0c0c;color:var(--i);padding:96px 7vw 82px}
.services-intro-inner{max-width:1180px;margin:0 auto}
.services-intro h1{font-size:clamp(52px,6vw,88px);max-width:1020px;color:#E7E1D6}
.services-principle{margin:34px 0 0;max-width:760px;font:clamp(24px,2.4vw,34px)/1.25 "Cormorant Garamond",serif;color:#D9C89B}

.services-list{max-width:1320px;margin:0 auto;padding:34px 7vw 70px}
.service-row{
  display:grid;
  grid-template-columns:minmax(230px,30%) minmax(0,70%);
  gap:6vw;
  align-items:center;
  padding:72px 0;
  border-bottom:1px solid var(--l);
}
.service-row.reverse{grid-template-columns:minmax(0,70%) minmax(230px,30%)}
.service-row.reverse .service-media{order:2}
.service-row.reverse .service-content{order:1}

.service-media{width:100%;aspect-ratio:4/3;overflow:hidden;background:#111}
.service-media img{width:100%;height:100%;display:block;object-fit:cover}

.service-content{max-width:760px}
.service-number{display:block;margin-bottom:18px;color:var(--g);font:20px "Cormorant Garamond",serif}
.service-content .eyebrow{margin-bottom:14px}
.service-content h2{font-size:clamp(38px,4.2vw,60px);margin-bottom:24px}
.service-content>p:not(.eyebrow){margin:0 0 16px}
.service-lead{font:26px/1.25 "Cormorant Garamond",serif;color:var(--e);max-width:690px}
.service-deliverable{padding-top:10px;border-top:1px solid var(--l)}
.service-note{margin-top:22px!important;font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.25;color:var(--e)}

.services-close{background:var(--e);color:var(--i);padding:105px 7vw}
.services-close-inner{max-width:1180px;margin:0 auto}
.services-close h2{font-size:clamp(48px,5.7vw,82px);max-width:940px}
.services-close p:not(.eyebrow){max-width:690px;margin-top:26px;font-size:18px}
.services-close a{display:inline-block;margin-top:32px;color:var(--i);font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--g);padding-bottom:5px}

@media(max-width:1000px){
  .services-list{padding-left:7vw;padding-right:7vw}
  .service-row,.service-row.reverse{
    grid-template-columns:32% 1fr;
    gap:5vw;
  }
  .service-row.reverse .service-media{order:0}
  .service-row.reverse .service-content{order:0}
}

@media(max-width:760px){
  .services-intro{padding:72px 6vw 58px}
  .services-list{padding:10px 6vw 52px}
  .service-row,.service-row.reverse{
    grid-template-columns:1fr;
    gap:28px;
    padding:52px 0;
  }
  .service-row.reverse .service-media,.service-row.reverse .service-content{order:initial}
  .service-media{width:100%;max-width:520px;aspect-ratio:16/10}
  .service-content{max-width:none}
  .service-content h2{font-size:38px}
  .service-lead{font-size:23px}
  .service-note{font-size:20px}
  .services-close{padding:76px 6vw}
  .services-close h2{font-size:45px}
}


/* Análisis — índice editorial */
.analysis-page{background:var(--p)}
.analysis-hero{padding:105px 7vw 88px;background:#0b0c0c;color:var(--i)}
.analysis-hero-inner{max-width:1180px;margin:0 auto}
.analysis-hero h1{font-size:clamp(58px,7vw,100px);color:#E7E1D6;max-width:1050px}
.analysis-hero p:last-child{font:clamp(25px,2.5vw,36px)/1.22 "Cormorant Garamond",serif;color:#D9C89B;max-width:760px;margin:35px 0 0}

.analysis-intro{max-width:1180px;margin:0 auto;padding:92px 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}
.analysis-intro h2{font-size:clamp(42px,4.8vw,68px);max-width:760px}
.analysis-intro-copy{font-size:18px;margin:0 0 6px}

.analysis-index{padding:88px 7vw 105px;background:var(--i)}
.analysis-index>.eyebrow,.analysis-cards{max-width:1180px;margin-left:auto;margin-right:auto}
.analysis-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--l);margin-top:28px}
.analysis-cards article{padding:34px 34px 28px 0;min-height:370px;display:flex;flex-direction:column}
.analysis-cards article+article{padding-left:34px;border-left:1px solid var(--l)}
.analysis-cards article>span{color:var(--g);font:20px "Cormorant Garamond",serif}
.analysis-category{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--e);margin:30px 0 14px}
.analysis-cards h2{font-size:34px;line-height:1.05;margin:0 0 22px}
.analysis-cards article>p:not(.analysis-category){margin:0}
.analysis-cards small{margin-top:auto;padding-top:28px;color:#777;text-transform:uppercase;letter-spacing:.1em}

.analysis-close{padding:105px 7vw;background:var(--d);color:var(--i)}
.analysis-close h2{font-size:clamp(48px,5.7vw,82px);max-width:980px;color:var(--i)}
.analysis-close a{display:inline-block;margin-top:38px;color:var(--i);font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--g);padding-bottom:5px}

@media(max-width:900px){
  .analysis-intro{grid-template-columns:1fr;gap:30px}
  .analysis-cards{grid-template-columns:1fr}
  .analysis-cards article{min-height:0;padding:30px 0}
  .analysis-cards article+article{padding-left:0;border-left:0;border-top:1px solid var(--l)}
  .analysis-cards small{margin-top:20px}
}

@media(max-width:560px){
  .analysis-hero{padding:70px 6vw 58px}
  .analysis-hero h1{font-size:52px}
  .analysis-intro,.analysis-index,.analysis-close{padding:62px 6vw}
  .analysis-intro h2{font-size:40px}
  .analysis-cards h2{font-size:31px}
  .analysis-close h2{font-size:44px}
}


/* Navegación compartida — normalización final */
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:1px;background:var(--e);margin:6px 0;transition:.2s}
@media(max-width:900px){
  header{grid-template-columns:1fr auto auto;gap:14px}
  .menu-toggle{display:block;grid-column:2}
  header .lang{grid-column:3}
  header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:26px 7vw 30px;background:var(--p);border-top:1px solid var(--l);border-bottom:1px solid var(--l);flex-direction:column;gap:0;box-shadow:0 16px 30px #00000012}
  .menu-open header nav{display:flex}
  header nav a{font:25px/1.2 "Cormorant Garamond",serif;padding:13px 0;border-bottom:1px solid var(--l)}
  header nav .client{border-left:0;padding-left:0;color:var(--e);border-bottom:0;margin-top:6px}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
