@font-face{font-family:"Neurial Grotesk";src:local("Neurial Grotesk"),local("NeurialGrotesk-Regular"),url("../fonts/NeurialGrotesk-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Neurial Grotesk";src:local("Neurial Grotesk Medium"),local("NeurialGrotesk-Medium"),url("../fonts/NeurialGrotesk-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Neurial Grotesk";src:local("Neurial Grotesk Bold"),local("NeurialGrotesk-Bold"),url("../fonts/NeurialGrotesk-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Neurial Grotesk";src:local("Neurial Grotesk Extrabold"),local("NeurialGrotesk-Extrabold"),url("../fonts/NeurialGrotesk-Extrabold.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}

:root{
  --paper:#f5f4ef;--white:#fff;--brand:#1F2F33;--ink:#172427;--muted:#768082;
  --line:rgba(31,47,51,.20);--soft:#e8ece9;--gutter:clamp(18px,2.35vw,46px);
  --ease:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Neurial Grotesk","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.006em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea,select{font:inherit;color:inherit}main{padding-top:72px}.micro,.v16-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:500;color:var(--muted)}.plain-link{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:4px}

/* Header */
.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(245,244,239,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,47,51,.08)}
.nav{height:72px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.logo img{width:122px;height:auto}.links{display:flex;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.links a{position:relative;padding:5px 0}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brand);transition:right .25s var(--ease)}.links a:hover:after,.links a.active:after{right:0}.nav-right{justify-self:end;display:flex;gap:18px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.langs{display:flex;gap:5px}.langs a{opacity:.42}.langs a.active{opacity:1}.menu-btn{display:none;border:0;background:none;font-size:20px;padding:6px 0}

/* HERO: 3 large visual panels with Eneutra-like opening rhythm */
.v16-hero{padding:10px var(--gutter) 0}.v16-hero-grid{display:flex;gap:9px;height:clamp(570px,76vh,860px);overflow:hidden}.v16-hero-card{position:relative;flex:1;min-width:0;overflow:hidden;background:#d9dcda;transition:flex .62s var(--ease)}.v16-hero-grid:hover .v16-hero-card{flex:.82}.v16-hero-grid .v16-hero-card:hover{flex:1.38}.v16-hero-image{position:absolute;inset:0}.v16-hero-image img{transition:transform 1.1s var(--ease),filter .5s var(--ease)}.v16-hero-card:hover .v16-hero-image img{transform:scale(1.025)}.v16-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,15,16,.01) 30%,rgba(7,15,16,.53) 100%)}.v16-hero-number{position:absolute;right:18px;top:18px;color:#fff;font-size:9px;letter-spacing:.12em}.v16-hero-info{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.v16-hero-info span,.v16-hero-info small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;opacity:.86}.v16-hero-info h2{margin:7px 0 0;font-size:clamp(24px,2.25vw,42px);line-height:.95;letter-spacing:-.045em;font-weight:500}.v16-hero-info small{text-align:right;white-space:nowrap}

/* Big statement */
.v16-statement{padding:clamp(115px,11vw,195px) var(--gutter);background:var(--paper)}.v16-split{display:grid;grid-template-columns:.32fr 1.68fr;gap:clamp(38px,8vw,150px)}.v16-statement h1{margin:0;max-width:1390px;font-size:clamp(54px,6.75vw,126px);line-height:.89;letter-spacing:-.058em;font-weight:400}.v16-statement-foot{margin-top:55px;display:grid;grid-template-columns:minmax(0,760px) auto;gap:54px;align-items:end}.v16-statement-foot p{margin:0;font-size:18px;line-height:1.6;color:#596568}.v16-statement-foot a{font-size:10px;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:4px;justify-self:end}

/* Reusable section title */
.v16-section-title{display:flex;justify-content:space-between;border-top:1px solid var(--brand);padding-top:12px;margin-bottom:clamp(50px,5vw,86px);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* Studio */
.v16-studio-home{padding:0 var(--gutter) clamp(120px,11vw,190px)}.v16-studio-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(48px,7vw,130px);align-items:start}.v16-studio-copy h2{margin:0;max-width:670px;font-size:clamp(40px,4.7vw,82px);line-height:.98;letter-spacing:-.048em;font-weight:400}.v16-two-copy{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.v16-two-copy p{margin:0;font-size:15px;line-height:1.67;color:#5b6668}.v16-studio-mosaic{display:grid;grid-template-columns:1.45fr .7fr;gap:10px;min-height:690px}.v16-mosaic-main{min-height:690px;overflow:hidden}.v16-mosaic-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px}.v16-mosaic-stack>div{overflow:hidden}.v16-studio-mosaic img{transition:transform .9s var(--ease)}.v16-studio-mosaic div:hover>img{transform:scale(1.025)}

/* Services */
.v16-services-home{padding:clamp(105px,9vw,165px) var(--gutter);background:#fff}.v16-services-head{display:grid;grid-template-columns:.32fr 1.68fr;gap:clamp(38px,8vw,150px);margin-bottom:72px}.v16-services-head:before{content:""}.v16-services-head h2{grid-column:2;margin:0;max-width:950px;font-size:clamp(37px,4.35vw,76px);line-height:1.02;letter-spacing:-.044em;font-weight:400}.v16-services-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:clamp(28px,4vw,74px);row-gap:70px}.v16-service{position:relative;border-top:1px solid var(--line);padding-top:14px;min-height:224px}.v16-service-top{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.v16-service-top b{font-size:13px;font-weight:400;transition:transform .25s var(--ease)}.v16-service:hover .v16-service-top b{transform:translate(3px,-2px)}.v16-service h3{margin:31px 0 18px;font-size:clamp(29px,2.65vw,47px);line-height:.98;letter-spacing:-.041em;font-weight:500}.v16-service p{margin:0;max-width:410px;font-size:14px;line-height:1.65;color:#5d686a}

/* Portfolio */
.v16-projects-home{padding:clamp(110px,10vw,180px) var(--gutter);background:var(--paper)}.v16-projects-head{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:62px}.v16-projects-head h2{margin:0;max-width:860px;font-size:clamp(31px,3.15vw,57px);line-height:1.07;letter-spacing:-.04em;font-weight:400}.v16-projects-head>a{font-size:10px;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:4px}.v16-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 12px}.v16-project-card{min-width:0}.v16-project-img{aspect-ratio:1/1.12;overflow:hidden;background:#d8dcda}.v16-project-card:nth-child(4n+2) .v16-project-img,.v16-project-card:nth-child(4n+4) .v16-project-img{aspect-ratio:1/1.28}.v16-project-img img{transition:transform .8s var(--ease)}.v16-project-card:hover .v16-project-img img{transform:scale(1.025)}.v16-project-meta{padding-top:11px}.v16-project-tags{display:flex;flex-wrap:wrap;gap:5px 9px;margin-bottom:8px}.v16-project-tags span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.v16-project-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.v16-project-title h3{margin:0;font-size:18px;line-height:1.15;letter-spacing:-.025em;font-weight:500}.v16-project-title b{font-weight:400;font-size:13px;transition:transform .25s}.v16-project-card:hover .v16-project-title b{transform:translate(3px,-2px)}

/* Method */
.v16-method-home{padding:clamp(105px,9vw,165px) var(--gutter);background:#fff}.v16-method-intro{display:grid;grid-template-columns:.32fr 1.68fr;gap:clamp(38px,8vw,150px);margin-bottom:75px}.v16-method-intro:before{content:""}.v16-method-intro h2{grid-column:2;margin:0;max-width:960px;font-size:clamp(37px,4.35vw,76px);line-height:1.02;letter-spacing:-.045em;font-weight:400}.v16-method-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.v16-method-grid article{min-height:310px;padding:18px 30px 28px 0;border-right:1px solid var(--line)}.v16-method-grid article:not(:first-child){padding-left:30px}.v16-method-grid article:last-child{border-right:0}.v16-method-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.v16-method-grid h3{margin:70px 0 16px;font-size:29px;letter-spacing:-.035em;font-weight:500}.v16-method-grid p{margin:0;max-width:330px;font-size:14px;line-height:1.65;color:#5d686a}

/* CTA */
.v16-contact-home{padding:clamp(115px,10vw,175px) var(--gutter);background:var(--brand);color:#fff}.v16-contact-home .v16-eyebrow{color:#aebabc}.v16-contact-home h2{margin:0;max-width:1100px;font-size:clamp(51px,6.2vw,112px);line-height:.9;letter-spacing:-.055em;font-weight:400}.v16-contact-home p{max-width:660px;margin:36px 0 0;font-size:17px;line-height:1.6;color:#d6dfe0}.v16-contact-home a{display:inline-block;margin-top:36px;font-size:clamp(23px,2.2vw,39px);letter-spacing:-.035em;border-bottom:1px solid}

/* Inner pages (kept consistent) */
.section{padding:clamp(90px,9vw,155px) var(--gutter)}.rule-head{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:12px;margin-bottom:55px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.text-grid,.content-grid,.page-hero-grid,.project-hero,.project-body{display:grid;grid-template-columns:.32fr 1.68fr;gap:clamp(40px,8vw,150px)}.display{margin:0;font-size:clamp(50px,6vw,108px);line-height:.9;letter-spacing:-.055em;font-weight:400}.display strong{font-weight:800}.lead{font-size:clamp(20px,1.6vw,27px);line-height:1.48}.body-copy,.prose p{font-size:16px;line-height:1.7;color:#596568}.page-hero{padding:clamp(85px,8vw,135px) var(--gutter);border-bottom:1px solid var(--line)}.page-hero h1,.project-hero h1{margin:0;font-size:clamp(56px,6.8vw,122px);line-height:.88;letter-spacing:-.058em;font-weight:400}.page-hero h1 strong{font-weight:800}.page-hero .lead{margin-top:34px}.prose{max-width:900px}.prose p:first-child{font-size:21px;color:var(--ink)}.prose h2{font-size:clamp(36px,4vw,68px);font-weight:500;letter-spacing:-.04em;margin:70px 0 25px}.prose h3{font-size:27px;font-weight:500}.service-page-list{border-top:1px solid var(--brand)}.service-page-item{display:grid;grid-template-columns:70px .7fr 1.3fr;gap:44px;padding:34px 0;border-bottom:1px solid var(--line)}.service-page-item h2{margin:0;font-size:clamp(32px,3vw,52px);font-weight:500;letter-spacing:-.04em}.service-page-item p{font-size:15px;line-height:1.66;color:#596568}.service-page-item ul{columns:2;color:#596568;font-size:13px;line-height:1.85}.project-hero{padding:clamp(75px,8vw,125px) var(--gutter)}.project-hero h1{font-weight:500}.project-hero-meta{display:flex;gap:20px;margin-top:24px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.project-cover{width:100%;height:min(84svh,930px);object-fit:cover}.project-body{padding:80px var(--gutter) 105px}.project-body .description{font-size:20px;line-height:1.62;color:#536164;max-width:900px}.tags{display:flex;flex-wrap:wrap;gap:7px 11px}.tags span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.project-gallery{padding:0 var(--gutter) 120px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-gallery img{height:clamp(400px,48vw,720px);object-fit:cover}.contact-block{background:var(--brand);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-right p{font-size:18px;line-height:1.6;color:#d5dedf}.mail{display:inline-block;font-size:clamp(28px,2.7vw,46px);border-bottom:1px solid}.contact-form{margin-top:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 34px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:8px;text-transform:uppercase;letter-spacing:.12em}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);padding:11px 0;color:#fff}.field textarea{min-height:120px}.btn{margin-top:25px;border:0;border-radius:999px;background:#fff;color:var(--brand);padding:12px 18px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}

/* Footer */
.site-footer{background:var(--brand);color:#fff;padding:64px var(--gutter) 26px;border-top:1px solid rgba(255,255,255,.18)}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:45px;font-size:13px;line-height:1.6}.footer-top img{width:125px;height:auto;filter:brightness(0) invert(1)}.footer-bottom{margin-top:65px;border-top:1px solid rgba(255,255,255,.18);padding-top:12px;display:grid;grid-template-columns:2fr 1fr 1fr;font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:#aebabc}.footer-bottom span:nth-child(2){text-align:center}.footer-bottom span:last-child{text-align:right}

@media(max-width:1100px){
  .nav{grid-template-columns:1fr auto}.links,.nav-right{display:none}.menu-btn{display:block}
  .v16-split,.v16-studio-grid,.v16-services-head,.v16-method-intro,.text-grid,.content-grid,.page-hero-grid,.project-hero,.project-body{grid-template-columns:1fr;gap:30px}.v16-services-head:before,.v16-method-intro:before{display:none}.v16-services-head h2,.v16-method-intro h2{grid-column:1}
  .v16-studio-mosaic{min-height:580px}.v16-mosaic-main{min-height:580px}.v16-services-grid{grid-template-columns:1fr 1fr}.v16-project-grid{grid-template-columns:1fr 1fr}.v16-method-grid{grid-template-columns:1fr 1fr}.v16-method-grid article:nth-child(2){border-right:0}.v16-method-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-page-item{grid-template-columns:55px 1fr}.service-page-item>div:last-child{grid-column:2}.contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  main{padding-top:64px}.nav{height:64px}.logo img{width:108px}.v16-hero{padding:8px 0 0}.v16-hero-grid{height:64vh;min-height:470px;overflow-x:auto;scroll-snap-type:x mandatory;gap:7px;padding:0 18px;scrollbar-width:none}.v16-hero-card{flex:0 0 84vw;scroll-snap-align:start}.v16-hero-grid:hover .v16-hero-card,.v16-hero-grid .v16-hero-card:hover{flex-basis:84vw}.v16-hero-info h2{font-size:31px}.v16-statement,.v16-studio-home,.v16-services-home,.v16-projects-home,.v16-method-home,.v16-contact-home,.section,.page-hero,.project-hero,.project-body{padding-left:18px;padding-right:18px}.v16-statement-foot{grid-template-columns:1fr;gap:28px}.v16-statement-foot a{justify-self:start}.v16-two-copy{grid-template-columns:1fr;gap:20px}.v16-studio-mosaic{grid-template-columns:1fr;min-height:auto}.v16-mosaic-main{min-height:62vh}.v16-mosaic-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.v16-mosaic-stack>div{height:36vh}.v16-services-grid{grid-template-columns:1fr;row-gap:42px}.v16-service{min-height:178px}.v16-projects-head{grid-template-columns:1fr;align-items:start}.v16-projects-head>a{justify-self:start}.v16-project-grid{grid-template-columns:1fr 1fr;gap:42px 9px}.v16-project-card:nth-child(n) .v16-project-img{aspect-ratio:1/1.18}.v16-project-title h3{font-size:16px}.v16-method-grid{grid-template-columns:1fr}.v16-method-grid article,.v16-method-grid article:nth-child(2){border-right:0;border-bottom:1px solid var(--line);padding:18px 0 28px!important;min-height:auto}.v16-method-grid h3{margin-top:38px}.service-page-item{grid-template-columns:1fr;gap:15px}.service-page-item>div:last-child{grid-column:1}.service-page-item ul{columns:1}.project-cover{height:58svh}.project-gallery{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.project-gallery img{height:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-top,.footer-bottom{grid-template-columns:1fr;gap:14px}.footer-bottom span:nth-child(2),.footer-bottom span:last-child{text-align:left}
}
@media(max-width:500px){.v16-project-grid{grid-template-columns:1fr}.v16-project-card:nth-child(n) .v16-project-img{aspect-ratio:1/1.08}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.v16-hero-card,.v16-hero-image img,.v16-studio-mosaic img,.v16-project-img img{transition:none!important}}

/* =========================================================
   HERMZ V17 — Dynamic home redesign
   ========================================================= */
.v17-hero{padding:10px var(--gutter) 0}
.v17-hero-stage{position:relative;height:calc(100svh - 92px);min-height:650px;overflow:hidden;background:#cfd7d6;isolation:isolate}
.v17-hero-media{position:absolute;inset:0;overflow:hidden}
.v17-hero-media img{position:absolute;inset:-2%;width:104%;height:104%;opacity:0;transform:scale(1.045);transition:opacity .75s var(--ease),transform 6.8s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.v17-hero-media img.active{opacity:1;transform:scale(1)}
.v17-hero-gradient{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,16,18,.14) 0%,rgba(7,16,18,.04) 32%,rgba(7,16,18,.1) 56%,rgba(7,16,18,.67) 100%)}
.v17-hero-noise{position:absolute;inset:0;z-index:2;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.v17-hero-top{position:absolute;z-index:4;left:24px;right:24px;top:20px;display:flex;justify-content:space-between;gap:25px;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.15em;font-weight:500}
.v17-hero-copy{position:absolute;z-index:4;left:24px;right:clamp(240px,26vw,500px);bottom:34px;color:#fff}
.v17-hero-tags{font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:15px;opacity:.82}
.v17-hero-title-link{display:block;overflow:hidden}
.v17-hero-copy h1{margin:0;max-width:1200px;font-size:clamp(68px,9.2vw,170px);line-height:.77;letter-spacing:-.073em;font-weight:500;text-wrap:balance;transform-origin:left bottom;transition:opacity .34s var(--ease),transform .48s var(--ease)}
.v17-hero-copy.changing h1{opacity:0;transform:translateY(24px) scale(.99)}
.v17-hero-meta{margin-top:24px;display:flex;gap:18px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.86}.v17-hero-arrow{font-size:16px}
.v17-next{position:absolute;z-index:5;right:22px;bottom:26px;width:clamp(190px,19vw,330px);display:grid;grid-template-columns:1fr 80px auto;gap:14px;align-items:center;background:rgba(247,247,243,.93);backdrop-filter:blur(14px);border:0;padding:10px;color:var(--brand);cursor:pointer;text-align:left;transition:transform .28s var(--ease),background .28s var(--ease)}
.v17-next:hover{transform:translateY(-4px);background:#fff}.v17-next>span{font-size:8px;text-transform:uppercase;letter-spacing:.13em}.v17-next>b{font-size:18px;font-weight:400}.v17-next-thumb{height:56px;overflow:hidden}.v17-next-thumb img{transition:opacity .32s}
.v17-progress{position:absolute;z-index:5;left:24px;right:24px;bottom:0;height:2px;background:rgba(255,255,255,.22)}.v17-progress i{display:block;width:0;height:100%;background:#fff}
.v17-progress i.running{animation:v17progress 6s linear forwards}@keyframes v17progress{from{width:0}to{width:100%}}

.v17-intro{padding:clamp(120px,11vw,210px) var(--gutter)}
.v17-intro-grid{display:grid;grid-template-columns:.30fr 1.70fr;gap:clamp(40px,8vw,150px)}.v17-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding-top:9px}
.v17-intro h2{margin:0;max-width:1500px;font-size:clamp(52px,6.2vw,116px);line-height:.91;letter-spacing:-.058em;font-weight:400;text-wrap:balance}.v17-intro-bottom{margin-top:55px;display:grid;grid-template-columns:minmax(0,760px) auto;gap:50px;align-items:end}.v17-intro-bottom p{margin:0;font-size:18px;line-height:1.62;color:#596568}.v17-intro-bottom a{justify-self:end;font-size:10px;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:4px}

.v17-ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:19px 0}.v17-ticker-track{display:flex;width:max-content;animation:v17ticker 35s linear infinite}.v17-ticker-track span{white-space:nowrap;font-size:clamp(22px,2.1vw,38px);letter-spacing:-.03em;padding-right:1.2em}@keyframes v17ticker{to{transform:translateX(-50%)}}

.v17-services{padding:clamp(110px,10vw,180px) var(--gutter);background:#fff}.v17-section-head{display:flex;justify-content:space-between;border-top:1px solid var(--brand);padding-top:12px;margin-bottom:clamp(52px,5vw,84px);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.v17-section-head.light{border-color:rgba(255,255,255,.36);color:#aebabc}
.v17-services-intro{display:grid;grid-template-columns:1fr .72fr;gap:9vw;align-items:end;margin-bottom:75px}.v17-services-intro h2,.v17-work-head h2,.v17-studio-copy h2,.v17-method-head h2,.v17-contact h2{margin:0;font-size:clamp(48px,5.1vw,94px);line-height:.93;letter-spacing:-.055em;font-weight:400;text-wrap:balance}.v17-services-intro p{margin:0;font-size:17px;line-height:1.62;color:#596568;max-width:620px}
.v17-services-layout{display:grid;grid-template-columns:1.14fr .86fr;gap:clamp(35px,5vw,90px);align-items:start}.v17-service-list{border-top:1px solid var(--line)}.v17-service-row{display:grid;grid-template-columns:50px .78fr 1.22fr 24px;gap:24px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);transition:opacity .25s,transform .25s}.v17-service-list:hover .v17-service-row{opacity:.38}.v17-service-list .v17-service-row:hover,.v17-service-list .v17-service-row.active{opacity:1}.v17-service-row>span{font-size:9px;color:var(--muted)}.v17-service-row h3{margin:0;font-size:clamp(28px,2.6vw,48px);line-height:.95;letter-spacing:-.045em;font-weight:500}.v17-service-row p{margin:0;font-size:13px;line-height:1.55;color:#5d686a}.v17-service-row b{font-weight:400;font-size:15px;transition:transform .25s}.v17-service-row:hover b{transform:translate(3px,-2px)}
.v17-service-visual{position:sticky;top:94px;height:clamp(470px,60vh,720px);overflow:hidden;background:#d9dedd}.v17-service-visual>img{transition:opacity .32s var(--ease),transform .75s var(--ease)}.v17-service-visual.changing>img{opacity:0;transform:scale(1.03)}.v17-service-visual-label{position:absolute;inset:auto 14px 14px;display:flex;justify-content:space-between;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.13em;z-index:2}.v17-service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.36))}

.v17-work{padding:clamp(115px,10vw,185px) 0;background:var(--paper)}.v17-work>.v17-section-head,.v17-work-head,.v17-work-footer{margin-left:var(--gutter);margin-right:var(--gutter)}.v17-work-head{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:end;margin-bottom:58px}.v17-work-head>div:first-child{max-width:980px}.v17-work-head p{margin:25px 0 0;max-width:680px;font-size:16px;line-height:1.62;color:#596568}.v17-work-actions{display:flex;gap:7px}.v17-work-actions button{width:48px;height:48px;border:1px solid var(--brand);background:transparent;border-radius:50%;cursor:pointer;font-size:18px;transition:background .25s,color .25s}.v17-work-actions button:hover{background:var(--brand);color:#fff}
.v17-work-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--gutter);overscroll-behavior-inline:contain}.v17-work-rail::-webkit-scrollbar{display:none}.v17-work-card{flex:0 0 min(46vw,720px);scroll-snap-align:start}.v17-work-card:nth-child(even){flex-basis:min(35vw,550px)}.v17-work-img{height:clamp(470px,57vw,760px);overflow:hidden;background:#d9dedd}.v17-work-card:nth-child(even) .v17-work-img{height:clamp(430px,48vw,660px)}.v17-work-img img{transition:transform .9s var(--ease)}.v17-work-card:hover .v17-work-img img{transform:scale(1.025)}.v17-work-meta{padding-top:12px;display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.v17-work-meta span,.v17-work-meta small{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.v17-work-meta h3{margin:7px 0 0;font-size:clamp(24px,2vw,36px);letter-spacing:-.035em;font-weight:500}.v17-work-meta small{text-align:right;white-space:nowrap;padding-top:2px}.v17-work-footer{margin-top:38px;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:flex-end}.v17-work-footer a{font-size:10px;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:4px}

.v17-studio{padding:clamp(115px,10vw,185px) var(--gutter);background:var(--brand);color:#fff;overflow:hidden}.v17-studio-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:9vw;align-items:start}.v17-studio-copy h2{max-width:880px}.v17-studio-text{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.v17-studio-text p{margin:0;font-size:15px;line-height:1.66;color:#c7d1d2}
.v17-principles{position:relative;min-height:640px;border-top:1px solid rgba(255,255,255,.2);padding-top:4px}.v17-principle{position:relative;z-index:3;display:grid;grid-template-columns:46px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding:15px 0;cursor:default;transition:padding .28s var(--ease),opacity .28s}.v17-principle span{font-size:8px;color:#91a0a2}.v17-principle strong{font-size:clamp(36px,4vw,70px);line-height:.92;letter-spacing:-.05em;font-weight:400}.v17-principles:hover .v17-principle{opacity:.35}.v17-principles .v17-principle:hover,.v17-principle.active{opacity:1;padding-left:15px}.v17-principle-image{position:absolute;width:46%;height:43%;right:0;bottom:0;z-index:1;overflow:hidden;transform:rotate(2deg);box-shadow:0 20px 60px rgba(0,0,0,.25)}.v17-principle-image img{transition:transform 1s var(--ease)}.v17-principles:hover .v17-principle-image img{transform:scale(1.04)}

.v17-method{padding:clamp(110px,10vw,180px) var(--gutter);background:#fff}.v17-method-head{display:grid;grid-template-columns:.3fr 1.7fr;gap:8vw;margin-bottom:70px}.v17-method-head:before{content:""}.v17-method-head h2{grid-column:2;max-width:1100px}.v17-method-list{border-top:1px solid var(--brand)}.v17-method-list article{position:relative;display:grid;grid-template-columns:180px .72fr 1.28fr;gap:30px;align-items:start;padding:23px 0 27px;border-bottom:1px solid var(--line);overflow:hidden}.v17-method-list article>span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);padding-top:8px}.v17-method-list h3{margin:0;font-size:clamp(31px,3vw,54px);line-height:.95;letter-spacing:-.045em;font-weight:500}.v17-method-list p{margin:5px 0 0;max-width:620px;font-size:14px;line-height:1.62;color:#596568}.v17-method-list i{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--brand);transition:width .5s var(--ease)}.v17-method-list article:hover i{width:100%}

.v17-contact{padding:clamp(125px,11vw,205px) var(--gutter);background:#eef1ee}.v17-contact-grid{display:grid;grid-template-columns:.3fr 1.7fr;gap:8vw}.v17-contact h2{max-width:1100px}.v17-contact p{max-width:690px;margin:37px 0 0;font-size:17px;line-height:1.62;color:#596568}.v17-contact a{display:inline-block;margin-top:37px;font-size:clamp(26px,2.5vw,45px);letter-spacing:-.04em;border-bottom:1px solid}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .v17-hero-stage{height:78svh;min-height:620px}.v17-hero-copy{right:24px}.v17-next{display:none}.v17-intro-grid,.v17-services-intro,.v17-services-layout,.v17-studio-grid,.v17-contact-grid{grid-template-columns:1fr;gap:36px}.v17-intro-bottom{grid-template-columns:1fr;gap:28px}.v17-intro-bottom a{justify-self:start}.v17-service-visual{position:relative;top:auto;height:58vh;min-height:460px}.v17-studio-text{grid-template-columns:1fr}.v17-method-head{grid-template-columns:1fr}.v17-method-head:before{display:none}.v17-method-head h2{grid-column:1}.v17-method-list article{grid-template-columns:130px .75fr 1.25fr}.v17-work-card{flex-basis:65vw}.v17-work-card:nth-child(even){flex-basis:52vw}
}
@media(max-width:760px){
  .v17-hero{padding:0}.v17-hero-stage{height:calc(100svh - 64px);min-height:590px}.v17-hero-top{left:18px;right:18px}.v17-hero-copy{left:18px;right:18px;bottom:30px}.v17-hero-copy h1{font-size:clamp(54px,17vw,86px);line-height:.82}.v17-progress{left:18px;right:18px}.v17-intro,.v17-services,.v17-studio,.v17-method,.v17-contact{padding-left:18px;padding-right:18px}.v17-intro h2{font-size:clamp(43px,12vw,67px)}.v17-services-intro h2,.v17-work-head h2,.v17-studio-copy h2,.v17-method-head h2,.v17-contact h2{font-size:clamp(42px,11.8vw,66px)}.v17-service-row{grid-template-columns:34px 1fr 20px;gap:14px;align-items:start}.v17-service-row p{grid-column:2/3;padding-top:7px}.v17-service-row b{grid-column:3;grid-row:1}.v17-service-visual{height:52vh;min-height:390px}.v17-work>.v17-section-head,.v17-work-head,.v17-work-footer{margin-left:18px;margin-right:18px}.v17-work-head{grid-template-columns:1fr}.v17-work-actions{display:none}.v17-work-rail{padding:0 18px}.v17-work-card,.v17-work-card:nth-child(even){flex:0 0 84vw}.v17-work-img,.v17-work-card:nth-child(even) .v17-work-img{height:62vh;min-height:470px}.v17-work-meta{display:block}.v17-work-meta small{display:block;text-align:left;margin-top:8px}.v17-principles{min-height:500px}.v17-principle strong{font-size:clamp(35px,11vw,60px)}.v17-principle-image{width:55%;height:35%}.v17-method-list article{grid-template-columns:1fr;gap:8px}.v17-method-list article>span{padding-top:0}.v17-contact-grid{grid-template-columns:1fr}.v17-ticker-track{animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){.v17-ticker-track{animation:none}.v17-progress i.running{animation:none;width:100%}[data-reveal]{opacity:1;transform:none}.v17-hero-media img{transition:none}.v17-hero-copy h1{transition:none}}


/* =============================
   V18 · ENEUTRA-REFERENCE HOME
   ============================= */
body.home-overlay main{padding-top:0}
.site-header--overlay{background:transparent;border-bottom:0;backdrop-filter:none;color:#fff;transition:background .35s,color .35s,border-color .35s}
.site-header--overlay .nav{height:68px;grid-template-columns:1fr auto auto;padding:0 22px;gap:34px}
.site-header--overlay .logo img{width:118px;filter:brightness(0) invert(1)}
.site-header--overlay .links{gap:31px;font-size:9px;letter-spacing:.065em;font-weight:500}
.site-header--overlay .links a:after{background:#fff}
.site-header--overlay .links em{font-style:italic;letter-spacing:.23em}
.site-header--overlay .nav-right{font-size:9px;color:#fff}
.site-header--overlay .langs a{opacity:.65}.site-header--overlay .langs a.active{opacity:1}
.site-header--overlay.is-scrolled{background:rgba(31,47,51,.96);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}

.ene-hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#1F2F33;color:#fff}
.ene-slides,.ene-slide{position:absolute;inset:0}.ene-slide{opacity:0;visibility:hidden;transition:opacity 1.05s ease,visibility 1.05s ease}.ene-slide.is-active{opacity:1;visibility:visible;z-index:1}.ene-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.015);transition:transform 7s ease}.ene-slide.is-active img{transform:scale(1.065)}
.ene-overlay{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(10,18,19,.12) 0%,rgba(10,18,19,.01) 45%,rgba(10,18,19,.24) 100%);pointer-events:none}
.ene-project-meta{position:absolute;z-index:3;left:39px;bottom:42px;color:#fff;min-width:260px}
.ene-dots{display:flex;gap:16px;margin-bottom:25px}.ene-dots button{width:7px;height:7px;border:1px solid rgba(255,255,255,.88);padding:0;background:transparent;cursor:pointer;transition:background .25s}.ene-dots button.active{background:#fff}
.ene-project-name{font-size:13px;line-height:1.25;font-weight:500;margin-bottom:4px}.ene-project-place{font-size:12px;line-height:1.35;opacity:.88}
.ene-scroll-note{position:absolute;z-index:3;right:30px;bottom:36px;font-size:8px;text-transform:uppercase;letter-spacing:.13em;opacity:.78}

.ene-intro{padding:clamp(120px,12vw,220px) var(--gutter) clamp(115px,10vw,190px);background:var(--paper)}
.ene-intro h1{margin:0;max-width:1380px;font-size:clamp(56px,6.1vw,112px);line-height:.98;letter-spacing:-.052em;font-weight:400}
.ene-label{font-size:10px;line-height:1;text-transform:none;letter-spacing:.02em;color:var(--muted);margin-bottom:30px}

.ene-studio{padding:0 var(--gutter) clamp(120px,10vw,180px);background:var(--paper)}
.ene-studio-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(48px,8vw,150px);align-items:start}
.ene-studio-copy h2{margin:0;max-width:710px;font-size:clamp(36px,4vw,72px);line-height:1.04;letter-spacing:-.045em;font-weight:400}
.ene-copy-cols{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:52px;max-width:760px}.ene-copy-cols p{margin:0;font-size:14px;line-height:1.7;color:#5d686a}
.ene-text-link{display:inline-block;margin-top:36px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid;padding-bottom:4px}
.ene-studio-visual{position:relative;min-height:740px}.ene-photo{position:absolute;overflow:hidden;background:#d8dddb}.ene-photo img{transition:transform 1s var(--ease)}.ene-photo:hover img{transform:scale(1.025)}.ene-photo-main{inset:0 16% 8% 0}.ene-photo-small{width:38%;height:39%;right:0;bottom:0;border:8px solid var(--paper)}

.ene-services{padding:clamp(110px,9vw,165px) var(--gutter);background:#fff}
.ene-services-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:62px}.ene-services-head p{grid-column:2;margin:0;max-width:560px;font-size:16px;line-height:1.6;color:#5a6668}
.ene-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px clamp(34px,5vw,88px)}
.ene-service{border-top:1px solid var(--line);padding-top:13px;min-height:235px;position:relative}.ene-service>span{font-size:8px;color:var(--muted)}.ene-service h3{margin:34px 0 17px;font-size:clamp(30px,2.9vw,51px);line-height:.98;letter-spacing:-.043em;font-weight:500}.ene-service p{margin:0;max-width:410px;font-size:14px;line-height:1.65;color:#5c6769}.ene-service:after{content:'↗';position:absolute;right:0;top:12px;font-size:13px;transition:transform .25s}.ene-service:hover:after{transform:translate(3px,-2px)}

.ene-work{padding:clamp(115px,10vw,185px) var(--gutter);background:var(--paper)}
.ene-work-head{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:58px}.ene-work-head>div{max-width:880px}.ene-work-head h2{margin:0;font-size:clamp(34px,3.5vw,62px);line-height:1.06;letter-spacing:-.042em;font-weight:400}.ene-work-head .ene-label{margin-bottom:22px}.ene-work-head .ene-text-link{margin:0}
.ene-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:58px 12px}.ene-card-image{aspect-ratio:1/1.18;overflow:hidden;background:#d8dddb}.ene-card:nth-child(4n+2) .ene-card-image,.ene-card:nth-child(4n+4) .ene-card-image{aspect-ratio:1/1.34}.ene-card-image img{transition:transform .8s var(--ease)}.ene-card:hover .ene-card-image img{transform:scale(1.025)}.ene-card-meta{padding-top:11px}.ene-card-tags{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:7px}.ene-card h3{margin:0;font-size:18px;line-height:1.18;letter-spacing:-.027em;font-weight:500}

.ene-method{padding:clamp(105px,9vw,165px) var(--gutter);background:#fff}.ene-method-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw;margin-bottom:70px}.ene-method-head h2{margin:0;max-width:900px;font-size:clamp(37px,4.2vw,75px);line-height:1.03;letter-spacing:-.045em;font-weight:400}.ene-method-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.ene-method-grid article{min-height:300px;padding:18px 28px 28px 0;border-right:1px solid var(--line)}.ene-method-grid article:not(:first-child){padding-left:28px}.ene-method-grid article:last-child{border-right:0}.ene-method-grid span{font-size:8px;color:var(--muted)}.ene-method-grid h3{margin:70px 0 16px;font-size:29px;letter-spacing:-.035em;font-weight:500}.ene-method-grid p{margin:0;font-size:14px;line-height:1.65;color:#5c6769}

.ene-contact{padding:clamp(115px,10vw,180px) var(--gutter);background:var(--brand);color:#fff;display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw}.ene-contact .ene-label{color:#b7c2c4}.ene-contact h2{margin:0;max-width:1020px;font-size:clamp(48px,5.2vw,93px);line-height:.98;letter-spacing:-.05em;font-weight:400}.ene-contact a{display:inline-block;margin-top:35px;font-size:clamp(24px,2.2vw,40px);letter-spacing:-.035em;border-bottom:1px solid}

@media(max-width:1180px){
 .site-header--overlay .links{gap:19px;font-size:8px}.ene-project-grid{grid-template-columns:repeat(3,1fr)}.ene-method-grid{grid-template-columns:repeat(2,1fr)}.ene-method-grid article:nth-child(2){border-right:0}
}
@media(max-width:900px){
 .site-header--overlay .nav{padding:0 18px}.site-header--overlay .links,.site-header--overlay .nav-right{display:none}.site-header--overlay .menu-btn{display:block;color:#fff}.site-header--overlay .logo img{width:104px}
 .ene-hero{min-height:600px}.ene-project-meta{left:22px;bottom:32px}.ene-scroll-note{display:none}.ene-intro h1{font-size:clamp(47px,11vw,76px)}
 .ene-studio-grid,.ene-services-head,.ene-work-head,.ene-method-head,.ene-contact{grid-template-columns:1fr;gap:30px}.ene-services-head p{grid-column:1}.ene-studio-visual{min-height:620px}.ene-services-grid{grid-template-columns:1fr 1fr}.ene-project-grid{grid-template-columns:1fr 1fr}.ene-method-head h2{grid-column:1}.ene-contact{padding-left:18px;padding-right:18px}
}
@media(max-width:600px){
 .ene-hero{height:100svh}.ene-project-meta{left:18px;bottom:26px}.ene-dots{gap:12px;margin-bottom:18px}.ene-project-name{font-size:12px}.ene-project-place{font-size:11px}.ene-intro,.ene-studio,.ene-services,.ene-work,.ene-method{padding-left:18px;padding-right:18px}.ene-copy-cols{grid-template-columns:1fr;gap:18px}.ene-studio-visual{min-height:480px}.ene-photo-main{inset:0 8% 9% 0}.ene-photo-small{width:42%;height:35%;border-width:5px}.ene-services-grid,.ene-project-grid,.ene-method-grid{grid-template-columns:1fr}.ene-method-grid article,.ene-method-grid article:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:18px 0 28px;min-height:auto}.ene-method-grid h3{margin-top:48px}.ene-service{min-height:auto;padding-bottom:30px}
}


/* =============================
   V19 · HERMZ OFFICIAL CONTENT
   ============================= */

.h19-claim{
  padding:clamp(120px,11vw,210px) var(--gutter);
  background:var(--paper)
}
.h19-kicker{
  margin-bottom:32px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted)
}
.h19-claim h1{
  margin:0;
  max-width:1280px;
  font-size:clamp(54px,6vw,110px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:400
}

.h19-philosophy{
  padding:clamp(90px,9vw,155px) var(--gutter);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(60px,8vw,145px);
  align-items:center;
  background:#fff
}
.h19-photo{
  height:clamp(430px,47vw,720px);
  overflow:hidden
}
.h19-photo img{
  filter:grayscale(1);
  transition:transform 1s var(--ease)
}
.h19-photo:hover img{transform:scale(1.02)}
.h19-philosophy-copy{max-width:690px}
.h19-philosophy-copy p{
  margin:0 0 25px;
  font-size:clamp(17px,1.25vw,22px);
  line-height:1.48
}
.h19-philosophy-copy a{
  display:inline-block;
  margin-top:18px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  border-bottom:1px solid
}

.h19-services{
  padding:clamp(110px,10vw,180px) var(--gutter);
  background:var(--soft)
}
.h19-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:75px clamp(45px,7vw,120px)
}
.h19-service{display:block}
.h19-service-mark{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid #9a6647;
  border-radius:50%;
  color:#9a6647;
  font-size:9px;
  margin-bottom:26px
}
.h19-service h2{
  margin:0 0 23px;
  font-size:clamp(28px,2.3vw,42px);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:500
}
.h19-service p{
  margin:0;
  max-width:420px;
  font-size:15px;
  line-height:1.55
}

.h19-projects{
  padding:clamp(120px,10vw,185px) var(--gutter);
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:clamp(60px,7vw,130px);
  align-items:start;
  background:#fff
}
.h19-projects-copy{
  position:sticky;
  top:115px
}
.h19-projects-copy h2{
  margin:0;
  max-width:460px;
  font-size:clamp(49px,4.7vw,86px);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:500
}
.h19-projects-copy p{
  margin:35px 0 0;
  max-width:430px;
  font-size:17px;
  line-height:1.55
}
.h19-projects-copy a{
  display:inline-block;
  margin-top:38px;
  border:1px solid var(--brand);
  padding:16px 46px;
  font-size:14px
}
.h19-projects-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.h19-project{
  position:relative;
  aspect-ratio:1/1.08;
  overflow:hidden;
  background:#ddd
}
.h19-project img{
  transition:transform .8s var(--ease)
}
.h19-project:hover img{transform:scale(1.025)}
.h19-project-overlay{
  position:absolute;
  inset:auto 0 0;
  padding:18px;
  color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.4));
  opacity:0;
  transition:opacity .3s
}
.h19-project:hover .h19-project-overlay{opacity:1}

/* About / Nosotros */
.about19-hero{
  min-height:100svh;
  position:relative;
  background-image:var(--about-bg);
  background-size:cover;
  background-position:center;
  color:#fff;
  display:flex;
  align-items:flex-end
}
.about19-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(31,47,51,.62),rgba(108,74,55,.45))
}
.about19-hero-copy{
  position:relative;
  z-index:2;
  width:100%;
  padding:0 var(--gutter) clamp(70px,8vw,130px)
}
.about19-hero-copy>div{
  font-size:clamp(18px,2vw,31px);
  margin-bottom:30px
}
.about19-hero-copy h1{
  margin:0;
  max-width:1030px;
  font-size:clamp(54px,6.1vw,108px);
  line-height:.95;
  letter-spacing:-.052em;
  font-weight:400
}
.about19-intro{
  min-height:88svh;
  padding:clamp(120px,12vw,220px) var(--gutter);
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
  align-items:center;
  background:#fff
}
.about19-word{
  text-align:right;
  font-size:clamp(54px,5.2vw,92px);
  font-weight:800;
  letter-spacing:-.05em
}
.about19-intro-copy{
  max-width:670px
}
.about19-intro-copy p{
  margin:0 0 28px;
  font-size:clamp(17px,1.35vw,23px);
  line-height:1.48
}
.about19-mission{
  min-height:86svh;
  padding:clamp(120px,12vw,220px) var(--gutter);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:var(--soft)
}
.about19-mission h2{
  margin:0 0 36px;
  font-size:clamp(54px,5vw,90px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:500
}
.about19-mission p{
  margin:0;
  max-width:950px;
  font-size:clamp(18px,1.55vw,27px);
  line-height:1.42
}
.about19-process{
  min-height:100svh;
  padding:clamp(120px,12vw,220px) var(--gutter);
  background:#fff
}
.about19-process-intro{
  margin:0 auto clamp(90px,9vw,150px);
  max-width:760px;
  text-align:center;
  font-size:clamp(18px,1.55vw,27px);
  line-height:1.42
}
.about19-accordion{
  max-width:920px;
  margin:0 auto
}
.about19-step{
  border-bottom:1px solid #9a6647
}
.about19-step button{
  width:100%;
  border:0;
  background:none;
  padding:25px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  text-align:left
}
.about19-step button strong{
  font-size:clamp(21px,2vw,31px);
  font-weight:700
}
.about19-step button span{
  font-size:36px;
  line-height:1;
  color:#9a6647;
  font-weight:400
}
.about19-step-body{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .4s var(--ease),opacity .3s,padding .4s var(--ease)
}
.about19-step.open .about19-step-body{
  max-height:240px;
  opacity:1;
  padding:0 22px 30px
}
.about19-step-body p{
  margin:0;
  max-width:850px;
  font-size:clamp(18px,1.55vw,27px);
  line-height:1.42
}

@media(max-width:900px){
  .h19-philosophy,.h19-projects,.about19-intro{grid-template-columns:1fr}
  .h19-services-grid{grid-template-columns:1fr 1fr}
  .h19-projects-copy{position:static}
  .about19-word{text-align:left}
  .about19-intro{min-height:auto}
}
@media(max-width:600px){
  .h19-claim,.h19-philosophy,.h19-services,.h19-projects,.about19-intro,.about19-mission,.about19-process{
    padding-left:18px;padding-right:18px
  }
  .h19-services-grid,.h19-projects-grid{grid-template-columns:1fr}
  .h19-photo{height:430px}
  .about19-hero-copy{padding-left:18px;padding-right:18px}
  .about19-hero-copy h1{font-size:clamp(48px,13vw,72px)}
  .about19-mission{min-height:70svh}
}


/* V20 · Nosotros · bloque final recuperado de la web anterior */
.about20-help{
  padding:clamp(110px,10vw,180px) var(--gutter);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(70px,9vw,150px);
  background:var(--brand);
  color:#fff
}
.about20-kicker{
  margin-bottom:28px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62)
}
.about20-help-copy h2{
  margin:0;
  max-width:620px;
  font-size:clamp(52px,5.5vw,98px);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:400
}
.about20-help-copy>p{
  margin:35px 0 0;
  max-width:590px;
  font-size:clamp(17px,1.35vw,23px);
  line-height:1.5;
  color:rgba(255,255,255,.82)
}
.about20-contactdata{
  margin-top:55px;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px
}
.about20-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:27px 32px;
  align-self:end
}
.about20-field{
  display:flex;
  flex-direction:column;
  gap:8px
}
.about20-field-full{grid-column:1/-1}
.about20-field label{
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58)
}
.about20-field input,.about20-field textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.4);
  background:transparent;
  color:#fff;
  padding:10px 0 14px;
  outline:none;
  border-radius:0;
  font:inherit
}
.about20-field textarea{min-height:120px;resize:vertical}
.about20-form button{
  grid-column:1/-1;
  justify-self:start;
  margin-top:15px;
  padding:14px 30px;
  border:1px solid #fff;
  background:transparent;
  color:#fff;
  cursor:pointer
}
@media(max-width:900px){
  .about20-help{grid-template-columns:1fr}
}
@media(max-width:600px){
  .about20-help{padding-left:18px;padding-right:18px}
  .about20-form{grid-template-columns:1fr}
  .about20-field-full{grid-column:auto}
}

.primary-about-cta{display:inline-block;border:1px solid rgba(255,255,255,.75);padding:16px 24px;color:#fff;margin-top:30px;font-size:13px}


/* =========================================================
   V22 FINAL DELIVERY · TYPOGRAPHY / LEGIBILITY / LEGAL / UX
   ========================================================= */
html{font-size:16px}
body{font-size:16px;line-height:1.45}
button,input,textarea,select{font-size:16px}

/* Header: avoid micro-text on production site */
.links{font-size:12px;letter-spacing:.075em;gap:clamp(20px,2vw,34px)}
.nav-right{font-size:11px;letter-spacing:.075em}
.site-header--overlay .links{font-size:11px;letter-spacing:.055em;gap:clamp(20px,2vw,34px)}
.site-header--overlay .nav-right{font-size:11px}
.site-header--overlay .logo img{width:124px}

/* Reusable labels */
.micro,.v16-eyebrow,.eyebrow,.rule-head,.ene-label,.h19-kicker{
  font-size:11px;
  line-height:1.25;
}
.plain-link,.ene-text-link,.h19-philosophy-copy a,.v16-statement-foot a,
.v16-projects-head>a,.ene-work-head .ene-text-link{
  font-size:11px;
}

/* Eneutra-reference hero metadata */
.ene-project-name{font-size:15px;line-height:1.25}
.ene-project-place{font-size:13px;line-height:1.4}
.ene-dots button{width:8px;height:8px}

/* Home content */
.h19-philosophy-copy p{font-size:clamp(17px,1.22vw,21px);line-height:1.55}
.h19-service-mark{font-size:10px}
.h19-service p{font-size:clamp(15px,1vw,17px);line-height:1.62}
.h19-projects-copy p{font-size:clamp(16px,1.1vw,19px);line-height:1.58}
.h19-project-overlay{font-size:14px}

/* Inner pages */
.rule-head{letter-spacing:.09em}
.body-copy,.prose p{font-size:17px;line-height:1.72}
.prose p:first-child{font-size:22px}
.service-page-item .num{font-size:11px}
.service-page-item p{font-size:16px;line-height:1.68}
.service-page-item ul{font-size:14px;line-height:1.85}
.project-hero-meta{font-size:11px;letter-spacing:.08em}
.project-body .description{font-size:clamp(18px,1.35vw,22px);line-height:1.62}
.tags span{font-size:10px}
.contact-right p{font-size:18px}
.field label{font-size:11px;line-height:1.25}
.field input,.field textarea,.field select{font-size:16px}
.btn{font-size:11px;padding:13px 20px}

/* About */
.about19-hero-copy>div{font-size:clamp(18px,1.7vw,28px)}
.about19-intro-copy p{font-size:clamp(17px,1.2vw,21px);line-height:1.55}
.about19-mission p,.about19-process-intro,.about19-step-body p{font-size:clamp(18px,1.35vw,23px);line-height:1.52}
.about19-step button strong{font-size:clamp(21px,1.75vw,29px)}
.about20-kicker{font-size:11px}
.about20-help-copy>p{font-size:clamp(17px,1.25vw,21px)}
.about20-contactdata{font-size:16px}

/* Footer */
.footer-top{font-size:14px;line-height:1.65}
.footer-bottom{font-size:10px;line-height:1.4}
.cookie-link{
  appearance:none;border:0;background:none;color:inherit;padding:0;margin:0;
  font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer
}
.cookie-link:hover{text-decoration:underline}

/* Privacy checkbox in contact form */
.privacy-check{
  margin-top:22px;display:flex;align-items:flex-start;gap:10px;
  font-size:13px;line-height:1.5;color:#d5dedf
}
.privacy-check input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:#fff}
.privacy-check a{text-decoration:underline;text-underline-offset:2px}

/* Cookie consent */
.cookie-banner{
  position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;
  padding:24px 26px;background:#fff;color:var(--brand);
  border:1px solid rgba(31,47,51,.16);box-shadow:0 18px 60px rgba(15,28,31,.16)
}
.cookie-banner[hidden]{display:none!important}
.cookie-banner strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.025em;margin-bottom:8px}
.cookie-banner p{margin:0;max-width:820px;font-size:14px;line-height:1.55;color:#5b686a}
.cookie-banner a{display:inline-block;margin-top:10px;font-size:12px;text-decoration:underline}
.cookie-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.cookie-actions button{
  border:1px solid var(--brand);background:transparent;color:var(--brand);
  padding:12px 16px;cursor:pointer;font-size:12px
}
.cookie-actions .primary-cookie{background:var(--brand);color:#fff}

/* Legal */
.legal-page{
  padding:clamp(88px,8vw,140px) var(--gutter) clamp(110px,10vw,180px);
  background:#fff
}
.legal-page-head{
  display:grid;grid-template-columns:.34fr 1.66fr;gap:clamp(40px,8vw,140px);
  padding-bottom:70px;border-bottom:1px solid var(--line)
}
.legal-page-head .eyebrow{color:var(--muted)}
.legal-page-head h1{
  margin:0;font-size:clamp(52px,6.2vw,112px);line-height:.9;
  letter-spacing:-.055em;font-weight:400
}
.legal-page-head p{max-width:760px;margin:28px 0 0;font-size:18px;line-height:1.6;color:#596568}
.legal-layout{
  display:grid;grid-template-columns:.34fr 1.66fr;gap:clamp(40px,8vw,140px);
  padding-top:70px
}
.legal-nav{position:sticky;top:105px;align-self:start;display:grid;gap:12px}
.legal-nav a{font-size:13px;color:var(--muted)}
.legal-nav a:hover{color:var(--brand)}
.legal-content{max-width:960px}
.legal-section{padding:0 0 85px;scroll-margin-top:100px}
.legal-section+ .legal-section{padding-top:85px;border-top:1px solid var(--line)}
.legal-section h2{
  margin:0 0 35px;font-size:clamp(35px,3.4vw,58px);
  letter-spacing:-.04em;font-weight:500
}
.legal-section p{
  margin:0 0 18px;font-size:16px;line-height:1.75;color:#4f5d60;white-space:pre-line
}
.legal-note{
  margin-top:28px;padding:18px;border:1px solid #d7c7bd;background:#faf6f2;
  font-size:13px;line-height:1.55;color:#725c4e
}

/* 404 */
.error-page{
  min-height:calc(100svh - 72px);padding:var(--gutter);
  display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw;align-items:center
}
.error-code{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.error-page h1{
  margin:0;font-size:clamp(62px,8vw,145px);line-height:.83;
  letter-spacing:-.065em;font-weight:400
}
.error-page p{max-width:620px;font-size:18px;line-height:1.55;color:#5b686a}
.error-page a{display:inline-block;margin-top:22px;border-bottom:1px solid;font-size:13px}

/* Accessible focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid #9a6647;outline-offset:3px
}

@media(max-width:900px){
  .links,.nav-right{font-size:11px}
  .legal-page-head,.legal-layout,.error-page{grid-template-columns:1fr;gap:28px}
  .legal-nav{position:static;display:flex;flex-wrap:wrap;gap:10px 18px}
  .cookie-banner{grid-template-columns:1fr;align-items:start}
  .cookie-actions{justify-content:flex-start}
}
@media(max-width:600px){
  body{font-size:15px}
  .site-header--overlay .logo img{width:108px}
  .ene-project-name{font-size:14px}.ene-project-place{font-size:12px}
  .h19-service p,.service-page-item p{font-size:15px}
  .cookie-banner{left:10px;right:10px;bottom:10px;padding:18px}
  .cookie-actions{display:grid;grid-template-columns:1fr;width:100%}
  .cookie-actions button{width:100%}
  .legal-page{padding-left:18px;padding-right:18px}
  .legal-section p{font-size:15px}
}


/* =========================================================
   V23 · HOME COVER — DIRECT ENEUTRA REFERENCE
   ========================================================= */

/* The first viewport is ONLY image + navigation + tiny project meta */
body.home-overlay main{padding-top:0}
.home-overlay .site-header--overlay{
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.home-overlay .site-header--overlay .nav{
  height:66px;
  padding:0 22px;
  grid-template-columns:auto 1fr auto;
  gap:34px;
}
.home-overlay .site-header--overlay .logo{justify-self:start}
.home-overlay .site-header--overlay .logo img{
  width:122px;
  filter:brightness(0) invert(1);
}
.home-overlay .site-header--overlay .links{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:clamp(17px,1.7vw,31px);
  font-size:10px;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
  font-weight:500;
}
.home-overlay .site-header--overlay .links .portfolio-link{
  font-style:italic;
  letter-spacing:.18em;
}
.home-overlay .site-header--overlay .nav-right{
  justify-self:end;
  font-size:10px;
  line-height:1;
  letter-spacing:.045em;
}
.home-overlay .site-header--overlay.is-scrolled{
  background:rgba(31,47,51,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(12px)!important;
}

.ene-hero{
  height:100vh;
  height:100svh;
  min-height:650px;
  width:100%;
  margin:0;
  position:relative;
  background:#1F2F33;
}
.ene-slides,.ene-slide{inset:0}
.ene-slide img{
  object-position:center center;
  transform:scale(1.002);
  transition:transform 8.2s cubic-bezier(.2,.6,.25,1);
}
.ene-slide.is-active img{transform:scale(1.035)}
.ene-overlay{
  background:
    linear-gradient(180deg,rgba(11,18,19,.13) 0%,rgba(11,18,19,0) 25%,rgba(11,18,19,0) 68%,rgba(11,18,19,.12) 100%);
}
.ene-project-meta{
  left:40px;
  bottom:36px;
  min-width:0;
  max-width:360px;
}
.ene-dots{
  gap:16px;
  margin-bottom:23px;
}
.ene-dots button{
  width:6px;
  height:6px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:0;
}
.ene-project-name{
  margin-bottom:3px;
  font-size:13px;
  font-weight:400;
  line-height:1.25;
  letter-spacing:-.006em;
}
.ene-project-place{
  font-size:12px;
  line-height:1.3;
  opacity:.92;
}
.ene-hero-index{
  position:absolute;
  z-index:3;
  right:30px;
  bottom:34px;
  display:flex;
  gap:6px;
  color:rgba(255,255,255,.82);
  font-size:9px;
  line-height:1;
  letter-spacing:.1em;
}
@media(max-width:1180px){
  .home-overlay .site-header--overlay .links{
    gap:15px;
    font-size:9px;
  }
}
@media(max-width:980px){
  .home-overlay .site-header--overlay .links,
  .home-overlay .site-header--overlay .nav-right{display:none}
  .home-overlay .site-header--overlay .nav{grid-template-columns:1fr auto}
  .home-overlay .site-header--overlay .menu-btn{display:block;color:#fff}
}
@media(max-width:600px){
  .home-overlay .site-header--overlay .nav{padding:0 18px}
  .home-overlay .site-header--overlay .logo img{width:108px}
  .ene-project-meta{left:20px;bottom:26px}
  .ene-hero-index{right:20px;bottom:27px}
}


/* =========================================================
   V23 · NOSOTROS — EDITORIAL REDESIGN
   ========================================================= */
.about23-hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background-image:var(--about-bg);
  background-size:cover;
  background-position:center;
  color:#fff;
}
.about23-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(20,31,33,.15),rgba(20,31,33,0) 34%),
    linear-gradient(90deg,rgba(20,31,33,.40),rgba(20,31,33,.03) 66%);
}
.about23-hero-side{
  position:absolute;
  z-index:2;
  top:95px;
  left:var(--gutter);
  right:var(--gutter);
  display:flex;
  justify-content:space-between;
  gap:30px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.about23-hero-copy{
  position:relative;
  z-index:2;
  width:100%;
  padding:0 var(--gutter) clamp(48px,6vw,96px);
}
.about23-hero-copy h1{
  margin:0;
  max-width:1150px;
  font-size:clamp(58px,6.9vw,126px);
  line-height:.90;
  letter-spacing:-.058em;
  font-weight:400;
  text-wrap:balance;
}
.about23-hero-foot{
  margin-top:36px;
  display:flex;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.5);
  padding-top:12px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.about23-intro{
  padding:clamp(115px,11vw,200px) var(--gutter);
  display:grid;
  grid-template-columns:.32fr 1.68fr;
  gap:clamp(45px,8vw,145px);
  background:#fff;
}
.about23-intro-aside{
  position:sticky;
  top:110px;
  align-self:start;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.about23-index{
  font-size:10px;
  color:var(--muted);
  letter-spacing:.1em;
}
.about23-intro-aside>div:last-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.about23-intro-aside strong{
  font-size:clamp(38px,3.5vw,62px);
  line-height:.9;
  font-weight:800;
  letter-spacing:-.05em;
}
.about23-intro-aside span{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--muted);
}
.about23-lead{
  margin:0;
  max-width:1170px;
  font-size:clamp(34px,4.1vw,76px);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:400;
  text-wrap:balance;
}
.about23-intro-grid{
  margin-top:clamp(70px,8vw,130px);
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:clamp(38px,6vw,100px);
  align-items:center;
}
.about23-visual{
  overflow:hidden;
  background:#d9ddda;
}
.about23-visual-a{
  height:clamp(480px,56vw,800px);
}
.about23-visual img{
  transition:transform 1s var(--ease);
}
.about23-visual:hover img{transform:scale(1.025)}
.about23-body-copy p{
  margin:0;
  font-size:clamp(17px,1.25vw,21px);
  line-height:1.62;
  color:#526063;
}
.about23-facts{
  margin-top:52px;
  border-top:1px solid var(--line);
}
.about23-facts>div{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.about23-facts span{
  font-size:10px;
  color:var(--muted);
}
.about23-facts strong{
  font-size:17px;
  font-weight:500;
}

.about23-break{
  position:relative;
  height:min(78vh,920px);
  min-height:600px;
  overflow:hidden;
  background:#d9ddda;
}
.about23-break img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1.2s var(--ease);
}
.about23-break:hover img{transform:scale(1.018)}
.about23-break:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.23));
}
.about23-break-caption{
  position:absolute;
  z-index:2;
  left:var(--gutter);
  right:var(--gutter);
  bottom:22px;
  display:flex;
  justify-content:space-between;
  color:#fff;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.about23-mission{
  position:relative;
  overflow:hidden;
  padding:clamp(120px,11vw,205px) var(--gutter);
  background:var(--brand);
  color:#fff;
}
.about23-mission-number{
  position:absolute;
  right:-.02em;
  bottom:-.22em;
  font-size:clamp(180px,26vw,520px);
  line-height:.8;
  letter-spacing:-.075em;
  font-weight:800;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.about23-mission-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.32fr 1.68fr;
  gap:clamp(45px,8vw,145px);
}
.about23-kicker{
  display:flex;
  gap:20px;
  align-items:flex-start;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.about23-kicker span{color:#8da0a2}
.about23-mission h2{
  margin:0;
  max-width:1000px;
  font-size:clamp(52px,6vw,110px);
  line-height:.88;
  letter-spacing:-.057em;
  font-weight:400;
}
.about23-mission p{
  margin:50px 0 0;
  max-width:870px;
  font-size:clamp(18px,1.5vw,25px);
  line-height:1.54;
  color:#cbd5d6;
}

.about23-method{
  padding:clamp(120px,11vw,200px) var(--gutter);
  background:#f5f4ef;
}
.about23-method-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(55px,9vw,155px);
}
.about23-method-intro{
  position:sticky;
  top:105px;
  align-self:start;
}
.about23-method-intro>p{
  margin:48px 0 0;
  max-width:570px;
  font-size:clamp(20px,1.65vw,28px);
  line-height:1.48;
  letter-spacing:-.02em;
}
.about23-method-list{
  border-top:1px solid var(--brand);
}
.about23-method-item{
  position:relative;
  display:grid;
  grid-template-columns:58px .84fr 1.16fr;
  gap:26px;
  padding:30px 0 38px;
  border-bottom:1px solid var(--line);
}
.about23-method-num{
  font-size:10px;
  color:var(--muted);
  padding-top:7px;
}
.about23-method-item h3{
  margin:0;
  font-size:clamp(28px,2.7vw,48px);
  line-height:.96;
  letter-spacing:-.043em;
  font-weight:500;
}
.about23-method-item p{
  margin:3px 0 0;
  font-size:16px;
  line-height:1.62;
  color:#596568;
}
.about23-method-line{
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:2px;
  background:var(--brand);
  transition:width .55s var(--ease);
}
.about23-method-item:hover .about23-method-line{width:100%}

.about23-help{
  padding:clamp(120px,11vw,195px) var(--gutter);
  background:#fff;
}
.about23-help-grid{
  display:grid;
  grid-template-columns:.32fr 1.68fr;
  gap:clamp(45px,8vw,145px);
}
.about23-help h2{
  margin:0;
  max-width:1050px;
  font-size:clamp(54px,6.2vw,112px);
  line-height:.88;
  letter-spacing:-.06em;
  font-weight:400;
}
.about23-help p{
  margin:40px 0 0;
  max-width:730px;
  font-size:18px;
  line-height:1.62;
  color:#596568;
}
.about23-help-links{
  margin-top:45px;
  display:flex;
  gap:35px;
  flex-wrap:wrap;
  align-items:center;
}
.about23-help-links a{
  font-size:14px;
  border-bottom:1px solid;
  padding-bottom:4px;
}
.about23-help-links a:first-child{
  border:1px solid var(--brand);
  padding:14px 20px;
}

@media(max-width:980px){
  .about23-intro,
  .about23-mission-grid,
  .about23-method-grid,
  .about23-help-grid{
    grid-template-columns:1fr;
    gap:46px;
  }
  .about23-intro-aside,
  .about23-method-intro{position:static;min-height:0}
  .about23-intro-aside{display:grid;grid-template-columns:auto 1fr;gap:30px}
  .about23-intro-grid{grid-template-columns:1fr}
  .about23-method-item{grid-template-columns:42px .85fr 1.15fr}
}
@media(max-width:650px){
  .about23-hero-side{top:82px;left:18px;right:18px}
  .about23-hero-side span:last-child{display:none}
  .about23-hero-copy{padding-left:18px;padding-right:18px}
  .about23-hero-copy h1{font-size:clamp(48px,14vw,74px)}
  .about23-intro,.about23-mission,.about23-method,.about23-help{
    padding-left:18px;
    padding-right:18px;
  }
  .about23-intro-grid{margin-top:58px}
  .about23-visual-a{height:520px}
  .about23-break{height:68vh;min-height:500px}
  .about23-break-caption{left:18px;right:18px}
  .about23-method-item{
    grid-template-columns:34px 1fr;
    gap:16px;
  }
  .about23-method-item p{
    grid-column:2;
    font-size:15px;
  }
}


/* =========================================================
   V24 · GLOBAL HEADER — SAME STRUCTURE AS HOME EVERYWHERE
   ========================================================= */
.site-header--unified{
  position:fixed;z-index:100;top:0;left:0;right:0;height:66px;
  border:0;transition:background .28s var(--ease),backdrop-filter .28s var(--ease),border-color .28s var(--ease);
}
.site-header--unified .nav{
  height:66px;padding:0 22px;display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:34px;
}
.site-header--unified .logo{justify-self:start;display:flex;align-items:center}
.site-header--unified .logo img{width:122px;height:auto;filter:brightness(0) invert(1)}
.site-header--unified .links--global{
  justify-self:end;display:flex;align-items:center;gap:clamp(17px,1.7vw,31px);
  font-size:10px;line-height:1;letter-spacing:.035em;text-transform:uppercase;font-weight:500;
}
.site-header--unified .links--global a{position:relative;white-space:nowrap}
.site-header--unified .links--global a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .25s var(--ease)
}
.site-header--unified .links--global a:hover:after,
.site-header--unified .links--global a.active:after{right:0}
.site-header--unified .portfolio-link{font-style:italic;letter-spacing:.18em}
.site-header--unified .nav-right{justify-self:end;display:flex;align-items:center;font-size:10px;line-height:1;letter-spacing:.045em;text-transform:uppercase}
.site-header--unified .langs{display:flex;align-items:center;gap:6px}
.site-header--unified .langs a{opacity:.62}.site-header--unified .langs a.active{opacity:1}
.site-header--unified .menu-btn{display:none}

/* Same header over a photographic hero */
.site-header--unified.site-header--overlay{background:transparent!important;border-bottom:0!important;backdrop-filter:none!important;box-shadow:none!important;color:#fff}
/* Same header on light inner pages, only background changes for legibility */
.site-header--unified.site-header--solid{background:#1F2F33!important;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)!important;backdrop-filter:none!important}
/* Overlay becomes solid after leaving the photographic hero */
.site-header--unified.site-header--overlay.is-scrolled{background:rgba(31,47,51,.96)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(12px)!important}

body:not(.home-overlay) main{padding-top:66px}
body.home-overlay main{padding-top:0}

/* Neutralize older Home-specific header dimensions */
.home-overlay .site-header--unified .nav{height:66px!important;padding:0 22px!important;grid-template-columns:auto 1fr auto!important;gap:34px!important}
.home-overlay .site-header--unified .logo img{width:122px!important}
.home-overlay .site-header--unified .links--global{display:flex!important;gap:clamp(17px,1.7vw,31px)!important;font-size:10px!important}
.home-overlay .site-header--unified .nav-right{display:flex!important;font-size:10px!important}

@media(max-width:1180px){.site-header--unified .links--global{gap:15px;font-size:9px}}
@media(max-width:980px){
  .site-header--unified .nav,.home-overlay .site-header--unified .nav{grid-template-columns:1fr auto!important;padding:0 18px!important}
  .site-header--unified .links--global,.site-header--unified .nav-right,.home-overlay .site-header--unified .links--global,.home-overlay .site-header--unified .nav-right{display:none!important}
  .site-header--unified .menu-btn{display:block!important;justify-self:end;border:0;background:none;color:#fff;font-size:24px;line-height:1;padding:4px;cursor:pointer}
  .site-header--unified .logo img,.home-overlay .site-header--unified .logo img{width:108px!important}
  .site-header--unified .links--global[data-open="1"]{color:#1F2F33}
  .site-header--unified .links--global[data-open="1"] a{color:#1F2F33}
}


/* =========================================================
   V26 · DEDICATED SERVICE PAGES
   ========================================================= */
.service26-hero{
  min-height:100svh;position:relative;display:flex;align-items:flex-end;
  background-image:var(--service-bg);background-size:cover;background-position:center;
  color:#fff;overflow:hidden
}
.service26-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,24,26,.18),rgba(14,24,26,.06) 42%,rgba(14,24,26,.58))
}
.service26-hero-meta{
  position:absolute;z-index:2;top:94px;left:var(--gutter);right:var(--gutter);
  display:flex;justify-content:space-between;gap:20px;
  font-size:10px;text-transform:uppercase;letter-spacing:.1em
}
.service26-hero-copy{
  position:relative;z-index:2;width:100%;padding:0 var(--gutter) clamp(60px,7vw,115px)
}
.service26-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:22px}
.service26-hero-copy h1{
  margin:0;max-width:1200px;font-size:clamp(68px,8.2vw,148px);
  line-height:.82;letter-spacing:-.068em;font-weight:400
}
.service26-hero-copy p{
  margin:35px 0 0;max-width:710px;font-size:clamp(18px,1.45vw,25px);line-height:1.5
}
.service26-intro{
  padding:clamp(110px,10vw,185px) var(--gutter);
  display:grid;grid-template-columns:.28fr 1.72fr;gap:clamp(45px,8vw,140px);background:#fff
}
.service26-index{font-size:10px;color:var(--muted);letter-spacing:.1em}
.service26-copy{max-width:1050px}
.service26-lead{
  margin:0;font-size:clamp(34px,4vw,72px);line-height:1.04;
  letter-spacing:-.045em;text-wrap:balance
}
.service26-copy>p:not(.service26-lead){
  margin:48px 0 0;max-width:700px;font-size:18px;line-height:1.6;color:#586568
}
.service26-capabilities{
  padding:clamp(105px,9vw,170px) var(--gutter);background:var(--soft);
  display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,135px)
}
.service26-cap-head span,.service26-work-head>span{font-size:10px;color:var(--muted)}
.service26-cap-head h2,.service26-work-head h2{
  margin:24px 0 0;font-size:clamp(48px,5.2vw,90px);line-height:.9;letter-spacing:-.05em;font-weight:400
}
.service26-cap-list{border-top:1px solid var(--brand)}
.service26-cap-item{
  display:grid;grid-template-columns:50px 1fr;gap:20px;
  padding:22px 0;border-bottom:1px solid var(--line)
}
.service26-cap-item span{font-size:10px;color:var(--muted)}
.service26-cap-item strong{font-size:clamp(24px,2.3vw,40px);font-weight:500;letter-spacing:-.035em}
.service26-work{padding:clamp(110px,10vw,185px) var(--gutter);background:#fff}
.service26-work-head{
  display:grid;grid-template-columns:50px 1fr auto;gap:25px;align-items:end;margin-bottom:55px
}
.service26-work-head h2{margin:0}
.service26-work-head a{font-size:12px;border-bottom:1px solid;padding-bottom:4px}
.service26-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 14px}
.service26-project>div{height:clamp(360px,40vw,640px);overflow:hidden;background:#ddd}
.service26-project img{transition:transform .8s var(--ease)}
.service26-project:hover img{transform:scale(1.025)}
.service26-project>span{display:block;margin-top:10px;font-size:15px}
.service26-cta{
  padding:clamp(110px,10vw,180px) var(--gutter);
  display:grid;grid-template-columns:.28fr 1.72fr;gap:clamp(45px,8vw,140px);
  background:var(--brand);color:#fff
}
.service26-cta h2{
  margin:0;max-width:1050px;font-size:clamp(52px,6vw,108px);
  line-height:.88;letter-spacing:-.057em;font-weight:400
}
.service26-cta p{margin:35px 0 0;max-width:720px;font-size:18px;line-height:1.6;color:#cbd5d6}
.service26-cta a{display:inline-block;margin-top:40px;border-bottom:1px solid;padding-bottom:4px;font-size:14px}
@media(max-width:900px){
  .service26-intro,.service26-capabilities,.service26-cta{grid-template-columns:1fr}
  .service26-work-head{grid-template-columns:1fr}.service26-work-head>span{display:none}
}
@media(max-width:600px){
  .service26-hero-meta{left:18px;right:18px}
  .service26-hero-copy,.service26-intro,.service26-capabilities,.service26-work,.service26-cta{padding-left:18px;padding-right:18px}
  .service26-work-grid{grid-template-columns:1fr}
  .service26-project>div{height:420px}
}


/* =========================================================
   V28 · GLOBAL HEADER + ACCESSIBILITY / LEGIBILITY PASS
   ========================================================= */

/* One header behaviour everywhere */
.site-header--unified{
  height:66px;
  transition:
    height .25s var(--ease),
    background .25s var(--ease),
    backdrop-filter .25s var(--ease),
    border-color .25s var(--ease);
}
.site-header--unified .nav{
  height:66px;
  transition:height .25s var(--ease),padding .25s var(--ease);
}
.site-header--unified .logo img{
  width:122px!important;
  transition:width .25s var(--ease);
}
.site-header--unified .links--global{
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.035em!important;
  gap:clamp(16px,1.55vw,28px)!important;
}
.site-header--unified .nav-right{
  font-size:12px!important;
  line-height:1.2!important;
}

/* All pages become the exact corporate compact header after scrolling */
.site-header--unified.is-scrolled,
.site-header--unified.is-compact{
  height:56px!important;
  background:rgba(31,47,51,.97)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 2px 18px rgba(9,18,20,.08)!important;
}
.site-header--unified.is-scrolled .nav,
.site-header--unified.is-compact .nav{
  height:56px!important;
}
.site-header--unified.is-scrolled .logo img,
.site-header--unified.is-compact .logo img{
  width:108px!important;
  filter:brightness(0) invert(1)!important;
}
.site-header--unified.is-scrolled .links--global,
.site-header--unified.is-compact .links--global{
  font-size:11.5px!important;
}
.site-header--unified.is-scrolled .nav-right,
.site-header--unified.is-compact .nav-right{
  font-size:11.5px!important;
}

/* Keep top state rules, but scrolled state above always wins */
.site-header--unified.site-header--overlay.is-scrolled,
.site-header--unified.site-header--solid.is-scrolled{
  background:rgba(31,47,51,.97)!important;
}

/* Accessible minimums for information-bearing microcopy */
.micro,
.v16-eyebrow,
.eyebrow,
.rule-head,
.v16-section-title,
.h19-kicker,
.about20-kicker,
.about23-kicker,
.service26-kicker,
.service26-hero-meta,
.project-hero-meta{
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
}
.plain-link,
.v16-statement-foot a,
.v16-projects-head>a,
.h19-philosophy-copy a,
.ene-text-link{
  font-size:12px!important;
  line-height:1.35!important;
}
.ene-project-name{
  font-size:14px!important;
  line-height:1.35!important;
}
.ene-project-place{
  font-size:13px!important;
  line-height:1.4!important;
}
.ene-hero-index{
  font-size:11px!important;
}
.v16-hero-number,
.v16-hero-info span,
.v16-hero-info small,
.v16-service-top,
.v16-project-tags span,
.v16-method-grid small,
.tags span{
  font-size:11px!important;
  line-height:1.4!important;
}
.v16-service p,
.v16-method-grid p,
.service-page-item p{
  font-size:16px!important;
  line-height:1.65!important;
}
.service-page-item ul{
  font-size:15px!important;
  line-height:1.75!important;
}
.body-copy,
.prose p{
  font-size:17px!important;
  line-height:1.72!important;
}
.prose p:first-child{
  font-size:21px!important;
}
.project-body .description{
  font-size:clamp(18px,1.3vw,22px)!important;
  line-height:1.65!important;
}
.h19-service p{
  font-size:16px!important;
  line-height:1.62!important;
}
.h19-projects-copy p,
.about23-body-copy p,
.about20-help-copy>p{
  font-size:17px!important;
  line-height:1.62!important;
}
.footer-top{
  font-size:15px!important;
  line-height:1.65!important;
}
.footer-bottom{
  font-size:12px!important;
  line-height:1.45!important;
}
.field label,
.privacy-check{
  font-size:13px!important;
  line-height:1.5!important;
}
.field input,
.field textarea,
.field select,
button,
input,
textarea,
select{
  font-size:16px;
}
.legal-nav a{
  font-size:14px!important;
}
.legal-section p{
  font-size:16px!important;
  line-height:1.75!important;
}
.cookie-banner p{
  font-size:15px!important;
}
.cookie-actions button{
  font-size:13px!important;
}

/* Improve readable line length on long text */
.prose,
.legal-content,
.about23-body-copy,
.about23-mission p,
.about23-method-item p,
.service26-copy,
.service26-body{
  text-wrap:pretty;
}

/* Focus and tap targets */
.site-header--unified a,
.cookie-actions button,
.btn,
.plain-link{
  min-height:32px;
  display:inline-flex;
  align-items:center;
}
.site-header--unified .langs a{
  min-width:28px;
  justify-content:center;
}
.ene-dots button{
  min-width:18px;
  min-height:18px;
  position:relative;
  border:0!important;
  background:transparent!important;
}
.ene-dots button:after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.95);
  background:transparent;
}
.ene-dots button.active:after{
  background:#fff;
}

/* Responsive nav remains readable */
@media(max-width:1180px) and (min-width:981px){
  .site-header--unified .links--global{
    font-size:11px!important;
    gap:13px!important;
  }
  .site-header--unified .nav-right{
    font-size:11px!important;
  }
}
@media(max-width:980px){
  .site-header--unified .menu-btn{
    min-width:44px;
    min-height:44px;
    display:grid!important;
    place-items:center;
    font-size:25px!important;
  }
  .site-header--unified .links--global[data-open="1"]{
    font-size:24px!important;
    line-height:1.15!important;
  }
  .site-header--unified .links--global[data-open="1"] a{
    width:100%;
    min-height:44px;
  }
}
@media(max-width:600px){
  body{font-size:16px!important}
  .body-copy,.prose p,.service-page-item p{font-size:16px!important}
  .footer-top{font-size:14px!important}
  .footer-bottom{font-size:12px!important}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .site-header--unified,
  .site-header--unified .nav,
  .site-header--unified .logo img{
    transition:none!important;
  }
}


/* =========================================================
   V29 · DESKTOP MENU — IDENTICAL BEFORE / AFTER SCROLL
   ========================================================= */

/* Desktop: scrolling may change header height and logo size,
   but NEVER menu typography, spacing or language selector. */
@media(min-width:1181px){
  .site-header--unified .links--global,
  .site-header--unified.is-scrolled .links--global,
  .site-header--unified.is-compact .links--global{
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
    gap:clamp(16px,1.55vw,28px)!important;
    font-weight:500!important;
  }

  .site-header--unified .nav-right,
  .site-header--unified.is-scrolled .nav-right,
  .site-header--unified.is-compact .nav-right{
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.045em!important;
  }
}

/* Small desktop / large tablet: same principle, same values in both states. */
@media(max-width:1180px) and (min-width:981px){
  .site-header--unified .links--global,
  .site-header--unified.is-scrolled .links--global,
  .site-header--unified.is-compact .links--global{
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
    gap:13px!important;
    font-weight:500!important;
  }

  .site-header--unified .nav-right,
  .site-header--unified.is-scrolled .nav-right,
  .site-header--unified.is-compact .nav-right{
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.045em!important;
  }
}
