/* Full-width surfaces. Only inner content uses the 1200px measure. */
:root{--dark:#111312;--hero-height:740px}
.container{width:calc(100% - 80px);max-width:1200px;margin-inline:auto}
.section{width:100%;padding-block:100px}
.site-header{border-bottom:0}
.header-inner{min-height:88px}
.button{border-radius:0;transition:background 180ms,color 180ms,transform 180ms}
.button:active{transform:scale(.98)}
.button svg,.text-link svg{transition:transform 200ms var(--ease)}
.navigation>a:not(.button){position:relative;padding-block:12px}
.navigation>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease)}
.navigation>a:not(.button):hover{text-decoration:none}
.navigation>a:not(.button):hover:after{transform:scaleX(1)}
.hero{display:block;width:100%;min-height:var(--hero-height);padding:0;position:relative;isolation:isolate;background:var(--dark);color:var(--paper);overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-poster{width:100%;height:100%;object-fit:cover;object-position:center 58%;transition:opacity 300ms}
#hero-player{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100vw;height:56.25vw;min-width:calc(var(--hero-height)*1.7778);min-height:var(--hero-height);border:0;pointer-events:none;opacity:0;transition:opacity 300ms}
.hero.video-visible #hero-player{opacity:1}
.hero.video-visible .hero-poster{opacity:0}
.hero-shade{background:linear-gradient(90deg,rgba(9,12,10,.88) 0%,rgba(9,12,10,.7) 47%,rgba(9,12,10,.35) 100%)}
.hero-content{min-height:var(--hero-height);padding-block:70px 34px;display:flex;flex-direction:column;justify-content:space-between;gap:52px}
.hero-copy{padding:0;max-width:980px}
.hero h1{font-size:clamp(52px,6.7vw,96px);font-weight:750;max-width:1000px;line-height:1.01;letter-spacing:-.04em}
.hero h1>span{color:var(--yellow)}
.hero-copy>p{color:#e3e5de;font-size:17px;line-height:1.8;max-width:490px;margin-top:27px}
.hero-actions{flex-direction:row;align-items:center;gap:28px;margin-top:30px}
.hero .button{padding:19px 25px}
.hero .button:hover{background:var(--paper);color:var(--ink)}
.hero .text-link{font-size:14px}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px;border-top:1px solid #686d62;padding-top:22px}
.hero-bottom>p{font-size:12px;color:#d4d8cc;line-height:1.6}
.hero-bottom strong{color:var(--paper);font-weight:650}
.video-controls{display:flex;align-items:center;gap:25px}
.video-toggle{border:1px solid #a1a799;background:transparent;color:var(--paper);min-height:42px;padding:9px 16px;font-size:12px}
.video-toggle[hidden]{display:none}
.video-toggle:hover{background:var(--paper);color:var(--ink)}
.video-toggle:disabled{cursor:wait;opacity:.65}
.video-source{font-size:12px;display:flex;align-items:center;gap:8px}
.video-source svg{width:16px;height:16px}
.service-strip{background:var(--dark);color:var(--paper);border-top:1px solid #41453d}
.strip-inner{padding-block:29px;gap:20px}
.strip-inner a{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:600;transition:color 180ms}
.strip-inner a:not(:first-child):before{content:'';width:6px;height:6px;background:var(--yellow);border-radius:50%}
.strip-inner a:hover{color:var(--yellow)}
.services{background:var(--paper)}
.section-intro{grid-template-columns:1.7fr 1fr;gap:55px;margin-bottom:55px}
.section-intro h2{font-size:clamp(42px,5.6vw,76px);font-weight:700;line-height:1.07}
.outline-word{color:var(--ink)}
@supports(-webkit-text-stroke:1px #20211f){.outline-word{color:transparent;-webkit-text-stroke:1px var(--ink)}}
.section-intro>p{font-size:16px;max-width:330px;padding-bottom:8px}
.service{border-top:1px solid #b5b8aa;scroll-margin-top:100px}
.service:last-child{border-bottom:1px solid #b5b8aa}
.service>summary{list-style:none;display:grid;grid-template-columns:1.35fr 1fr 40px;align-items:center;gap:35px;min-height:114px;cursor:pointer}
.service>summary::-webkit-details-marker{display:none}
.service>summary h3{font-size:clamp(26px,3.1vw,42px);font-weight:600;letter-spacing:-.03em;line-height:1.1;transition:transform 200ms var(--ease)}
.service-summary{font-size:13px;color:var(--muted)}
.service-plus{position:relative;width:36px;height:36px;justify-self:end}
.service-plus:before,.service-plus:after{content:'';position:absolute;left:4px;right:4px;height:2px;background:var(--ink);top:17px}
.service-plus:after{transform:rotate(90deg);transition:transform 180ms var(--ease)}
.service[open] .service-plus:after{transform:rotate(0)}
.service-body{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;padding-block:8px 44px;align-items:center}
.service-copy>p:first-child{font-size:25px;line-height:1.35;letter-spacing:-.02em;margin-bottom:20px}
.service-copy>p:first-child strong{font-weight:750}
.service-copy>p:nth-child(2){font-size:15px;color:var(--muted);max-width:49ch;line-height:1.8}
.service-image{aspect-ratio:1.4;border-radius:0}
.service-image img{height:100%;object-fit:cover}
.service:hover .service-image img{transform:none}
.tags{font-size:12px;margin-top:20px;gap:10px 20px}
.service-cta{margin-top:25px;font-size:14px;min-height:44px;font-weight:700}
.project{background:var(--yellow);color:var(--ink)}
.project-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:start}
.project-title h2{font-size:clamp(44px,5.8vw,78px);font-weight:700;line-height:1.07}
.project-title h2 span{display:inline-block;transform:rotate(-5deg);font-style:italic}
.project-title>p{font-size:16px;line-height:1.8;margin-top:30px;max-width:330px}
.project-picker{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.project-picker[hidden]{display:none}
.project-picker button{border:1px solid #5e5700;background:transparent;border-radius:30px;padding:12px 17px;font-size:13px;font-weight:650;min-height:46px;transition:background 180ms,color 180ms}
.project-picker button[aria-pressed=true]{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.project-result{min-height:145px}
.project-result h3{font-size:30px;font-weight:700;line-height:1.2;margin-bottom:16px}
.project-result p{font-size:15px;line-height:1.8;max-width:45ch}
.button-dark{background:var(--ink);color:var(--yellow);margin-top:28px}
.button-dark:hover{background:var(--paper);color:var(--ink)}
.about{background:var(--dark)}
.about-layout{gap:85px}
.about-title h2{font-size:clamp(42px,4.7vw,62px);font-weight:650}
.about-signature{margin-top:44px}
.values>div{padding-block:24px}
.values h3{font-size:19px}
.values p{font-size:14px}
.contact{display:block;background:var(--paper)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact-copy h2{font-size:clamp(44px,5.7vw,78px);font-weight:700}
.contact-copy h2>span{color:#646959}
.field input,.field textarea{background:transparent;border-width:0 0 1px;border-radius:0;padding:13px 0;font-size:15px}
.field label{font-size:14px}
.field textarea{min-height:135px}
.submit-button{padding-block:19px}
.contact-note{margin-top:40px}
.site-footer{background:var(--dark)}
@media(hover:hover) and (pointer:fine){.service>summary:hover h3{transform:translateX(8px)}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.project-picker button:hover{background:var(--ink);color:var(--yellow)}}
@media(max-width:1050px){.container{width:calc(100% - 64px);max-width:1200px}.section{padding-block:80px}.hero h1{font-size:76px}.service>summary{grid-template-columns:1fr 40px;gap:20px}.service-summary{display:none}.service-body{gap:40px}.project-layout{gap:55px}.project-title h2{font-size:62px}.about-layout,.contact-layout{gap:55px}}
@media(max-width:760px){:root{--hero-height:700px}.container{width:calc(100% - 40px);max-width:1200px}.header-inner{min-height:78px}.hero-content{padding-block:55px 28px;gap:38px}.hero h1{font-size:clamp(46px,8.7vw,66px);line-height:1.04}.hero-copy>p{font-size:15px;max-width:420px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-bottom{align-items:start;gap:20px}.hero-bottom>p{font-size:11px;max-width:180px}.video-controls{flex-direction:column;align-items:flex-end;gap:10px}.video-toggle,.video-source{font-size:11px}.hero-shade{background:rgba(8,12,9,.76)}.strip-inner{display:grid;grid-template-columns:1fr 1fr;padding-block:23px;gap:18px}.strip-inner a{font-size:12px;gap:10px;min-height:26px}.strip-inner a:before,.strip-inner a:not(:first-child):before{content:'';width:5px;height:5px;background:var(--yellow);border-radius:50%}.section{padding-block:65px}.section-intro{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.section-intro h2{font-size:48px}.section-intro>p{font-size:15px}.service>summary{min-height:100px}.service>summary h3{font-size:27px}.service-plus{width:30px;height:30px}.service-plus:before,.service-plus:after{top:14px}.service-body{grid-template-columns:1fr;gap:28px;padding-block:5px 30px}.service-copy>p:first-child{font-size:24px}.service-image{aspect-ratio:1.7}.service-cta{margin-top:20px}.project-layout{grid-template-columns:1fr;gap:35px}.project-title h2{font-size:54px}.project-title>p{margin-top:22px}.project-picker{margin-bottom:25px}.project-picker button{padding:11px 14px;font-size:12px}.project-result{min-height:125px}.project-result h3{font-size:28px}.button-dark{margin-top:20px}.about-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.about-title h2{font-size:42px}.contact-copy h2{font-size:54px}.contact-copy>p{max-width:400px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:390px){.hero h1{font-size:45px}.hero .button{padding-inline:19px;width:100%;justify-content:space-between}.hero-actions{width:100%}.hero-bottom>p{max-width:150px}.hero-bottom{gap:12px}.video-controls{gap:10px}.video-source{font-size:11px}.video-source svg{width:13px;height:13px}.section-intro h2{font-size:43px}.project-title h2{font-size:49px}.service>summary h3{font-size:25px}.contact-copy h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.project-title h2 span{transform:none}.service>summary:hover h3,.button:hover svg,.text-link:hover svg,.button:active{transform:none}}

/* Footer editorial, superficies completas y contenido de 1200px */
.site-footer{padding-block:70px 26px}.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:52px;border-bottom:1px solid #4b5047}.footer-invitation p{font-size:18px;max-width:24ch;color:#c5cabe}.footer-invitation>a{font-size:clamp(28px,3.7vw,50px);font-weight:700;letter-spacing:-.04em;line-height:1.15;color:var(--yellow)}.footer-invitation>a span{display:inline-block;margin-left:16px;transition:transform .2s}.footer-grid{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1.15fr;gap:36px;padding-block:50px}.footer-about p{font-size:15px;max-width:27ch;line-height:1.7;margin-block:24px 18px;color:#c5cabe}.footer-signature{font-size:12px;color:#c5cabe}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-grid h2{font-size:13px;color:var(--yellow);font-weight:600;letter-spacing:.02em;margin:0 0 8px}.footer-grid nav a{font-size:14px;line-height:1.5;color:#e0e2da;text-underline-offset:5px}.footer-grid nav a:hover{text-decoration:underline}.form-help a{text-decoration:underline;text-underline-offset:3px}.legal-heading{background:var(--dark);color:var(--paper);padding-block:80px}.legal-heading h1{font-size:clamp(40px,5vw,70px);line-height:1.05;letter-spacing:-.04em;max-width:18ch;margin:18px 0 26px}.legal-heading a{font-size:14px;color:var(--yellow)}.legal-heading p{color:#c5cabe}.legal-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:80px;padding-block:65px 90px}.legal-index{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.legal-index a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.legal-copy{font-size:17px;line-height:1.8}.legal-copy section{margin-bottom:38px;scroll-margin-top:110px}.legal-copy h2{font-size:26px;line-height:1.25;margin:0 0 16px;letter-spacing:-.025em}.legal-copy p{margin-bottom:16px}.legal-draft{border-left:3px solid var(--yellow);padding-left:20px;margin-bottom:40px;font-size:15px}.legal-copy ul{padding-left:22px}.legal-copy a{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.footer-invitation>a:hover span{transform:translate(4px,-4px)}}
@media(max-width:1050px){.footer-grid{grid-template-columns:1.4fr 1fr;gap:38px 50px}.legal-layout{grid-template-columns:210px minmax(0,1fr);gap:40px}}
@media(max-width:760px){.site-footer{padding-top:48px}.footer-invitation{align-items:flex-start;flex-direction:column;gap:22px;padding-bottom:36px}.footer-grid{padding-block:36px;gap:32px 24px;grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-about p{max-width:40ch}.legal-heading{padding-block:52px}.legal-layout{grid-template-columns:1fr;gap:38px;padding-block:40px 60px}.legal-index{border-bottom:1px solid #b8b9ae;padding-bottom:28px}.legal-copy{font-size:16px}.legal-copy h2{font-size:24px}}
@media(max-width:390px){.footer-grid{grid-template-columns:1fr}.footer-about{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.footer-invitation>a span{transition:none;transform:none!important}}

/* Marquee continuo: una sola lista accesible, repetición visual sin controles. */
.marquee-window{overflow:hidden}.marquee-track{display:flex;width:max-content;animation:services-marquee 28s linear infinite}.marquee-group{display:flex;flex:0 0 auto;justify-content:space-around;align-items:center;gap:50px;min-width:1200px;padding:29px 25px}.marquee-group a,.marquee-group span{display:flex;align-items:center;gap:50px;white-space:nowrap;font-size:16px;font-weight:600}.marquee-group a:before,.marquee-group a:not(:first-child):before,.marquee-group span:before{content:'';width:7px;height:7px;background:var(--yellow);border-radius:50%;flex-shrink:0}.marquee-window:focus-within .marquee-track{animation:none;transform:none}.marquee-window:focus-within .marquee-group{min-width:0;width:100%;flex-wrap:wrap;gap:24px}.marquee-window:focus-within .marquee-track{width:100%}.marquee-window:focus-within .marquee-copy{display:none}
@keyframes services-marquee{to{transform:translateX(-50%)}}
@media(max-width:760px){.marquee-group{min-width:1050px;padding-block:24px;gap:38px}.marquee-group a,.marquee-group span{font-size:14px;gap:38px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;width:100%}.marquee-group{min-width:0;width:100%;flex-wrap:wrap;gap:24px}.marquee-copy{display:none}.marquee-group a{gap:14px}}
