:root{--navy:#062b38;--navy-2:#0a3948;--green:#a8d43a;--green-dark:#6f9819;--ink:#12252b;--muted:#5c6b6f;--mist:#edf2f0;--white:#fff;--line:#d6dfdc;--pad:clamp(1.3rem,5vw,5.5rem);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Manrope",sans-serif;line-height:1.08;letter-spacing:-.04em}h2{font-size:clamp(2.35rem,5vw,5.5rem);font-weight:600}h2 span,h2 em,h1 em{color:var(--green);font-style:normal}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.7rem 1rem;background:#fff}.skip:focus{top:1rem}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:absolute;inset:0 0 auto;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{display:flex;align-items:center;gap:.7rem;font-family:"Manrope",sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.04em}.brand>span:last-child>span{color:var(--green)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.72rem;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.5rem);font-size:.92rem;font-weight:500}.site-header nav a:not(.nav-cta){opacity:.88}.site-header nav a:hover{opacity:1;color:var(--green)}.nav-cta{padding:.72rem 1.1rem;border:1px solid rgba(255,255,255,.65);border-radius:99px}.menu-button{display:none;background:none;border:0;color:#fff}.hero{position:relative;min-height:780px;height:100svh;max-height:980px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background-image:linear-gradient(135deg,rgba(6,43,56,.14),rgba(6,43,56,.05)),url("assets/territorio-galicia.png");background-size:cover;background-position:center}.hero-overlay{background:linear-gradient(90deg,rgba(1,31,42,.92) 0%,rgba(1,31,42,.58) 48%,rgba(1,31,42,.16) 76%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%)}.hero-content{position:relative;z-index:2;width:min(920px,75%);padding:9rem var(--pad) 5rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:600;color:var(--green-dark);margin-bottom:1.5rem}.eyebrow.light{color:var(--green)}.hero h1{font-size:clamp(3.2rem,7.5vw,7.7rem);font-weight:600;margin-bottom:1.7rem}.hero-copy{max-width:690px;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55;color:rgba(255,255,255,.85)}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:99px;padding:.95rem 1.35rem;font-weight:600;transition:.25s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--green);color:#102a1d}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.text-link{font-weight:600;display:inline-flex;gap:.6rem;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:.2rem}.light-link{color:#fff;border-color:rgba(255,255,255,.45)}.hero-note{position:absolute;z-index:2;right:var(--pad);bottom:2.2rem;width:270px;border-top:1px solid rgba(255,255,255,.5);padding-top:1rem;display:flex;gap:1rem;color:rgba(255,255,255,.82)}.hero-note span{color:var(--green);font-size:.78rem}.hero-note p{font-size:.86rem;line-height:1.5;margin:0}.section{padding:clamp(5rem,10vw,10rem) var(--pad);max-width:var(--max);margin:auto}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,9rem);align-items:start}.intro h2{font-size:clamp(2.6rem,5vw,5.2rem)}.intro-copy{padding-top:4rem}.intro-copy p{color:var(--muted);max-width:620px}.intro-copy .lead{font-size:1.35rem;color:var(--ink);line-height:1.55}.intro-copy .text-link{margin-top:1.3rem}.services{background:var(--mist);max-width:none}.section-head{max-width:calc(var(--max) - var(--pad)*2);margin:0 auto 4rem;display:flex;justify-content:space-between;gap:3rem;align-items:end}.section-head h2{font-size:clamp(2.5rem,4.5vw,4.7rem);margin-bottom:0}.section-head>p{max-width:380px;color:var(--muted);margin-bottom:.7rem}.service-grid{max-width:calc(var(--max) - var(--pad)*2);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #bdcac5;border-left:1px solid #bdcac5}.service{min-height:330px;padding:1.8rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #bdcac5;border-bottom:1px solid #bdcac5;transition:.3s;background:transparent}.service:hover,.service.featured{background:var(--navy);color:#fff}.service-number{font-size:.75rem;color:var(--green-dark)}.service h3{font-size:1.7rem;margin-bottom:1rem;letter-spacing:-.025em}.service p{color:var(--muted);font-size:.95rem}.service:hover p,.service.featured p{color:rgba(255,255,255,.68)}.service-arrow{font-size:1.35rem;align-self:flex-end;color:var(--green)}.team{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px}.team-photo{background-image:linear-gradient(140deg,rgba(6,43,56,.08),rgba(168,212,58,.06)),url("assets/equipo-senior.png");background-size:cover;background-position:center}.team-panel{background:var(--navy);color:#fff;padding:clamp(4rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.team-panel h2{font-size:clamp(2.7rem,4.5vw,5rem)}.team-panel>p:not(.eyebrow){font-size:1.1rem;color:rgba(255,255,255,.72);max-width:600px}.team-panel blockquote{margin:2rem 0;border-left:2px solid var(--green);padding-left:1.4rem;font-size:1.15rem;font-style:italic;color:rgba(255,255,255,.88)}.team-panel .button{align-self:flex-start}.method{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.method-title h2{position:sticky;top:2rem;font-size:clamp(3rem,5vw,5.5rem)}.steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:75px 1fr;padding:2rem 0;border-bottom:1px solid var(--line)}.steps li>span{color:var(--green-dark);font-size:.78rem}.steps h3{font-size:1.65rem;margin-bottom:.7rem}.steps p{color:var(--muted);max-width:600px;margin:0}.values{padding-top:3rem}.value-row{display:grid;grid-template-columns:1fr 1.2fr 50px;gap:2rem;align-items:center;padding:1.8rem 0;border-top:1px solid var(--line)}.value-row:last-child{border-bottom:1px solid var(--line)}.value-row h3{font-size:clamp(1.8rem,3vw,3.4rem);margin:0}.value-row p{margin:0;color:var(--muted);max-width:500px}.value-row span{color:var(--green-dark);font-size:.78rem;text-align:right}.contact{background:var(--navy);color:#fff;padding:clamp(5rem,9vw,9rem) var(--pad);display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:end}.contact h2{font-size:clamp(3rem,6.5vw,7rem);margin:0}.contact-copy{padding-bottom:1rem}.contact-copy p{font-size:1.25rem;color:rgba(255,255,255,.73);max-width:480px;margin-bottom:2rem}footer{background:#031f29;color:#fff;padding:3rem var(--pad);display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center;font-size:.9rem}footer p{margin:0;color:rgba(255,255,255,.58)}footer>div{display:flex;gap:1.5rem}footer a:hover{color:var(--green)}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:1.5rem}
@media(max-width:900px){.site-header{height:72px}.menu-button{display:flex;align-items:center;gap:4px;flex-direction:column;position:relative;padding:1rem}.menu-button span{width:22px;height:1px;background:currentColor}.menu-button b{position:absolute;right:2.7rem;top:.58rem;font-size:.83rem;font-weight:500}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:2rem var(--pad);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{min-height:740px}.hero-content{width:100%;padding-top:8rem}.hero-note{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.25rem}.intro,.team,.method,.contact{grid-template-columns:1fr}.intro-copy{padding-top:0}.service-grid{grid-template-columns:1fr 1fr}.team{min-height:0}.team-photo{min-height:480px}.section-head{align-items:start;flex-direction:column}.method-title h2{position:static}.value-row{grid-template-columns:1fr 40px}.value-row p{grid-column:1/-1;grid-row:2}.value-row span{grid-column:2;grid-row:1}.contact-copy{padding-top:1rem}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}.copyright{grid-column:auto}}
@media(max-width:600px){h2{letter-spacing:-.045em}.hero{min-height:700px}.hero h1{font-size:3.2rem}.hero-copy{font-size:1rem}.section{padding-top:5.5rem;padding-bottom:5.5rem}.service-grid{grid-template-columns:1fr}.service{min-height:260px}.team-photo{min-height:360px}.team-panel{padding:4rem 1.4rem}.steps li{grid-template-columns:48px 1fr}.contact{padding-top:5.5rem;padding-bottom:5.5rem}.contact h2{font-size:3.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.rollup{overflow:hidden;padding:clamp(4.5rem,8vw,8rem) 0;background:#fff}.rollup-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:0 var(--pad) 2.5rem;max-width:var(--max);margin:auto}.rollup-head h2{font-size:clamp(2.4rem,4.5vw,4.8rem);margin:0}.rollup-toggle{border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);padding:.7rem 1rem;cursor:pointer;font-weight:600}.rollup-toggle:hover{border-color:var(--green-dark)}.rollup-window{overflow:hidden}.rollup-track{display:flex;width:max-content;animation:rollup-move 70s linear infinite;will-change:transform}.rollup-track:hover,.rollup-track:focus-within,.rollup-track.is-paused{animation-play-state:paused}.rollup-set{display:flex;gap:1rem;padding-right:1rem}.rollup-set img{display:block;width:clamp(290px,35vw,540px);aspect-ratio:16/9;object-fit:cover;border-radius:2px}.rollup-set img:nth-child(3n+2){width:clamp(260px,31vw,470px)}@keyframes rollup-move{to{transform:translateX(-50%)}}@media(max-width:600px){.rollup-head{align-items:flex-start;flex-direction:column}.rollup-toggle{align-self:flex-end}.rollup-track{animation-duration:55s}.rollup-set img{width:82vw}.rollup-set img:nth-child(3n+2){width:72vw}}@media(prefers-reduced-motion:reduce){.rollup-track{animation:none;overflow-x:auto;max-width:100vw}.rollup-toggle{display:none}}
.contact-details,.footer-contact{font-style:normal}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:-.6rem 0 2rem;color:#fff;font-size:1.02rem}.contact-details a{border-bottom:1px solid rgba(255,255,255,.35)}.contact-details a:hover{color:var(--green);border-color:var(--green)}.contact-details span{color:rgba(255,255,255,.66)}.footer-contact{display:flex;flex-direction:column;gap:.2rem;color:rgba(255,255,255,.7)}.footer-contact a:hover{color:var(--green)}.footer-contact span{color:rgba(255,255,255,.48)}
.senior-video{display:block;width:100%;height:auto;aspect-ratio:910/512;object-fit:cover;margin-top:1.4rem;border:1px solid rgba(255,255,255,.18);background:#031f29;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.hero .eyebrow{font-size:clamp(1rem,1.35vw,1.3rem);letter-spacing:.14em;line-height:1.35;margin-bottom:1.65rem}
.service-grid{border:0;gap:1rem}.service{--service-accent:#24667a;--service-bg:#e1ebed;border:1px solid color-mix(in srgb,var(--service-accent) 23%,transparent);background:var(--service-bg);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,background .3s}.service::after{content:"";position:absolute;right:-3rem;bottom:-4rem;width:10rem;height:10rem;border:1px solid color-mix(in srgb,var(--service-accent) 20%,transparent);border-radius:50%;pointer-events:none}.service:hover,.service.featured{color:var(--ink);background:color-mix(in srgb,var(--service-bg) 70%,#fff)}.service:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(6,43,56,.12)}.service-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.service-number{font-weight:700;letter-spacing:.12em;color:var(--service-accent)}.service-icon{width:64px;height:64px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--service-accent);background:rgba(255,255,255,.58);border:1px solid color-mix(in srgb,var(--service-accent) 28%,transparent)}.service-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.service p,.service:hover p,.service.featured p{color:#465b60;margin-bottom:0}.service-territory{--service-accent:#23657a;--service-bg:#e1ecef}.service-enterprise{--service-accent:#9b6825;--service-bg:#f1e8d9}.service-projects{--service-accent:#4f5e78;--service-bg:#e5e8ee}.service-sustainability{--service-accent:#5f7f2e;--service-bg:#e7edda}
