/* SESPIN Main visual system. Composition reference: Coastal Grid; all media are SESPIN assets. */
body.visual-main{--vm-ink:#0b2638;--vm-night:#092435;--vm-teal:#1f777a;--vm-gold:#d9b35c;--vm-paper:#f3f4f0;--vm-muted:#a9bdc8;background:var(--vm-paper);color:var(--vm-ink)}
body.visual-main *,body.visual-main *::before,body.visual-main *::after{box-sizing:border-box}
body.visual-main .site-header{background:var(--vm-night)!important;color:#fff!important;border-bottom:1px solid #ffffff24!important;box-shadow:none!important}
body.visual-main .utility-strip{background:#061c2a!important;border:0!important;color:#d9e6e9!important;min-height:30px}
body.visual-main .utility-strip .utility-copy span{color:#d9e6e9!important;letter-spacing:.16em!important;font-size:.65rem!important;text-transform:uppercase}
body.visual-main .nav-shell{min-height:84px!important;width:min(1460px,calc(100% - 7vw))!important;margin:auto!important}
body.visual-main .brand--image{display:flex;align-items:center;background:#fff;padding:7px 12px;border-radius:3px}
body.visual-main .brand-logo{width:clamp(148px,15vw,205px)!important;height:auto!important;max-height:54px;object-fit:contain}
body.visual-main .site-nav{gap:clamp(10px,1.5vw,25px)!important}
body.visual-main .site-nav a{color:#e5eeee!important;font-size:clamp(.74rem,.82vw,.91rem)!important;font-weight:650!important;letter-spacing:.015em!important;text-decoration:none!important}
body.visual-main .site-nav a:hover,body.visual-main .site-nav a.is-active{color:#fff!important}
body.visual-main .site-nav a[data-page]::after{background:var(--vm-gold)!important;height:2px!important}
body.visual-main .menu-toggle{color:#fff!important;border-color:#ffffff50!important}
body.visual-main main{background:var(--vm-paper)}
body.visual-main :is(main h1,main h2,main h3){font-family:Sora,Manrope,Arial,sans-serif!important;letter-spacing:-.055em!important;text-wrap:balance}
body.visual-main :is(main h1){font-weight:760!important;line-height:1.02!important}
body.visual-main :is(main h2){font-weight:740!important;line-height:1.08!important}
body.visual-main :is(main p,main li){line-height:1.67}
body.visual-main :is(.se-label,.studies-eyebrow,.eyebrow,.page-eyebrow,.section-eyebrow){letter-spacing:.17em!important;text-transform:uppercase!important;font-weight:800!important;font-size:.69rem!important}
body.visual-main :is(.se-button,.studies-button,.button--primary,.hero-actions .button,.se-text-link){border-radius:2px!important;transition:transform .2s ease,background .2s ease,color .2s ease!important}
body.visual-main :is(.se-button,.studies-button,.button--primary,.hero-actions .button):hover{transform:translateY(-3px)}
body.visual-main :is(.se-button,.studies-button,.button--primary,.hero-actions .button):focus-visible,body.visual-main a:focus-visible,body.visual-main button:focus-visible{outline:3px solid var(--vm-gold)!important;outline-offset:4px!important}

/* Full photographic opening, with the original SESPIN image and live links. */
body.visual-main #mainContent.se-editorial>.se-intro{isolation:isolate;position:relative;display:flex!important;align-items:center;width:100%!important;max-width:none!important;min-height:min(790px,83vh)!important;padding:clamp(78px,9vw,150px) max(5vw,calc((100vw - 1360px)/2)) 126px!important;margin:0!important;background:var(--vm-night);overflow:hidden}
body.visual-main .se-intro-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;z-index:0!important}
body.visual-main .se-intro-photo img{position:absolute;inset:0;z-index:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 44%!important;border-radius:0!important}
body.visual-main #mainContent.se-editorial .se-intro-photo::after{content:""!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important;background:linear-gradient(90deg,#061b2af5 0%,#08273be0 36%,#0c2c3c4d 64%,#071c281f 100%)!important}
body.visual-main .se-intro-photo figcaption{position:absolute;z-index:2;right:5vw;bottom:21px;color:#fff!important;background:#061d2bbb!important;padding:10px 16px!important;border-left:3px solid var(--vm-gold);font-size:.74rem!important;letter-spacing:.04em}
body.visual-main #mainContent.se-editorial .se-intro-copy{position:relative;z-index:2;width:min(690px,60%)!important;max-width:none!important;padding:0!important;color:#fff!important}
body.visual-main #mainContent.se-editorial .se-intro-copy :is(h1,h1 em,p,.se-label){color:#fff!important}
body.visual-main #mainContent.se-editorial .se-intro-copy .se-label{display:inline-flex;border:1px solid #ffffff57;padding:10px 14px;background:#10384b9c;color:#e9d293!important}
body.visual-main #mainContent.se-editorial .se-intro h1{font-size:clamp(3.25rem,5.2vw,5.7rem)!important;max-width:14ch!important;margin:27px 0 24px!important}
body.visual-main #mainContent.se-editorial .se-intro h1 em{font-style:normal!important;color:#e7bc63!important}
body.visual-main #mainContent.se-editorial .se-intro p{font-size:clamp(1.04rem,1.32vw,1.27rem)!important;max-width:50ch;color:#e4eff2!important}
body.visual-main #mainContent.se-editorial .se-intro-actions{margin:34px 0 38px!important}
body.visual-main #mainContent.se-editorial .se-intro .se-button{background:var(--vm-gold)!important;color:#092435!important;border:1px solid var(--vm-gold)!important;padding:15px 23px!important}
body.visual-main #mainContent.se-editorial .se-intro .se-text-link{color:#fff!important;border-bottom:1px solid #ffffff80!important}
body.visual-main #mainContent.se-editorial .se-intro-topics{border-top:1px solid #ffffff70!important;padding-top:17px!important;max-width:710px!important}
body.visual-main #mainContent.se-editorial .se-intro-topics a{background:#092435c7!important;color:#fff!important;border:1px solid #ffffff55!important;border-radius:2px;padding:9px 13px!important}

/* Shared hero language across every other public page. */
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro){background:#102f43!important;color:#fff!important;position:relative;isolation:isolate;overflow:hidden}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro)::before{content:"";position:absolute;inset:auto -12% -160px 46%;height:480px;background:radial-gradient(circle,#2f79804d,transparent 68%);pointer-events:none;z-index:-1}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro) :is(h1,h1 *,p){color:#fff!important}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro) h1{font-size:clamp(3rem,5vw,6.1rem)!important;max-width:15ch!important;margin-block:20px 26px!important;line-height:1.04!important}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro) p{color:#dce9ed!important;font-size:clamp(1rem,1.18vw,1.19rem)!important;max-width:56ch}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero) img{object-fit:cover!important;border-radius:3px!important}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero) figure,body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero) .media-frame{box-shadow:22px 22px 0 #d9b35c25}
body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero) figcaption{letter-spacing:.04em}
body.visual-main .page-hero{padding-block:clamp(70px,8vw,126px)!important;min-height:clamp(510px,66vh,760px);display:flex;align-items:center}
body.visual-main .page-hero-layout{width:min(1360px,calc(100% - 9vw))!important;margin-inline:auto!important;gap:clamp(34px,5vw,92px)!important}
body.visual-main .page-hero-copy{position:relative;z-index:1}
body.visual-main .page-hero-copy::before,body.visual-main .studies-hero__grid>div:first-child::before{content:"SESPIN  /  INGENIERÍA APLICADA";display:block;color:#e7bf70;font-size:.71rem;font-weight:800;letter-spacing:.19em;margin-bottom:20px}
body.visual-main .studies-hero{padding-block:clamp(72px,8vw,126px)!important}
body.visual-main .studies-hero__grid{width:min(1360px,calc(100% - 9vw))!important;grid-template-columns:1.05fr .95fr!important;gap:clamp(36px,5vw,90px)!important}
body.visual-main .studies-hero__grid>div:first-child::before{content:"SESPIN  /  SISTEMAS DE POTENCIA"}
body.visual-main .studies-hero h1{font-size:clamp(3.1rem,5.1vw,6.15rem)!important;max-width:16ch!important}
body.visual-main .studies-hero p{color:#d9e7ec!important}
body.visual-main .studies-hero .studies-eyebrow{color:#e5bc65!important}
body.visual-main .studies-hero figure{min-height:480px!important}
body.visual-main .studies-hero figure img{object-position:center}
body.visual-main .studies-hero figure:after{height:6px!important;width:50%!important;left:0!important;bottom:-22px!important;background:var(--vm-gold)!important}
body.visual-main .studies-actions>a:not(.studies-button){color:#fff!important;text-decoration-color:#d9b35c!important}
body.visual-main .studies-button{background:var(--vm-gold)!important;color:#102f43!important;border-color:var(--vm-gold)!important}
body.visual-main .studies-breadcrumb{padding-block:22px!important}
body.visual-main .catalog-hero{padding-block:clamp(72px,7vw,112px)!important;min-height:550px}
body.visual-main #mainContent.catalog-studies .catalog-hero h1{color:#fff!important;max-width:15ch!important}
body.visual-main #mainContent.catalog-studies .catalog-hero .catalog-eyebrow{color:#e6bd67!important}
body.visual-main:has(.legal-doc) .page-hero-layout{background:none!important;border:0!important;box-shadow:none!important}
body.visual-main:has(.interpretation-method) .page-hero-layout{background:none!important;border:0!important;box-shadow:none!important}
body.visual-main:has(.interpretation-method) .page-hero .kicker{color:#e7bf70!important}
body.visual-main:has(.legal-doc) .page-hero h1{font-size:clamp(2.8rem,4.4vw,5.1rem)!important}
body.visual-main .fc-hero{padding-block:clamp(80px,9vw,130px)!important;min-height:570px}
body.visual-main .se-experience-intro{width:100%!important;max-width:none!important;padding:clamp(90px,9vw,140px) max(5vw,calc((100vw - 1360px)/2))!important}
body.visual-main :is(.catalog-hero,.fc-hero,.se-experience-intro) h1{font-size:clamp(3rem,5vw,6rem)!important;max-width:15ch!important}

/* Editorial rhythm, hierarchy and industrial material throughout Main. */
body.visual-main :is(.section,.studies-section,.catalog-intro,.catalog-secondary,.se-cases,.se-gallery,.se-retained,.story-intro){padding-block:clamp(72px,7.7vw,130px)!important}
body.visual-main :is(.section,.studies-section,.catalog-intro,.catalog-secondary,.se-cases,.se-gallery,.se-retained) h2{font-size:clamp(2.2rem,3.5vw,4.2rem)!important;max-width:22ch}
body.visual-main :is(.section,.studies-section,.catalog-intro,.catalog-secondary,.se-cases,.se-gallery,.se-retained):nth-of-type(even){background:#e7ecea!important}
body.visual-main .studies-section{background:var(--vm-paper)!important}
body.visual-main .studies-section:nth-of-type(even){background:#e8efed!important}
body.visual-main .studies-section__head{margin-bottom:50px!important}
body.visual-main .study-card{background:#fff!important;border:0!important;border-top:5px solid var(--vm-gold)!important;min-height:350px!important;padding:36px!important;box-shadow:0 12px 38px #082a4814!important;transition:transform .25s ease,box-shadow .25s ease}
body.visual-main .study-card:hover{transform:translateY(-8px);box-shadow:0 22px 52px #082a4826!important}
body.visual-main .study-card strong{font-size:clamp(1.42rem,2vw,2rem)!important}
body.visual-main .studies-band{background:#082435!important;padding-block:clamp(80px,8vw,130px)!important}
body.visual-main .studies-band h2{font-size:clamp(2.25rem,3.5vw,4.25rem)!important}
body.visual-main .studies-detail{gap:clamp(40px,6vw,100px)!important}
body.visual-main .studies-steps li{padding-block:28px!important}
body.visual-main main :is(img,video){max-width:100%}
body.visual-main :is(.card,.service-card,.catalog-card,.case-card,.se-case-card){border-radius:3px!important}
body.visual-main .site-footer,body.visual-main footer{background:#071e2c;color:#e5eef0}
body.visual-main .dga-public-link{left:auto!important;bottom:auto!important;right:23px!important;top:138px!important;max-width:220px!important}
body.visual-main .dga-public-link a{background:#d9b35c!important;color:#082435!important;border-color:#d9b35c!important;box-shadow:0 10px 30px #071b2970!important}
/* The contact form sits inside a dark hero, but its own card is white. */
body.visual-main .page-hero--contact-premium .contact-form-card h1{color:#0b3040!important;font-size:clamp(2rem,3vw,3rem)!important;line-height:1.1!important}
body.visual-main .page-hero--contact-premium .contact-form-card .contact-form-intro,
body.visual-main .page-hero--contact-premium .contact-form-card .form-note,
body.visual-main .page-hero--contact-premium .contact-form-card .form-note a{color:#33475c!important}
body.visual-main .page-hero--contact-premium .contact-form-card .form-note a{text-decoration:underline!important}
body.visual-main .page-hero--contact-premium .contact-command .kicker{color:#e7bf70!important}

@media(max-width:980px){body.visual-main .nav-shell{width:calc(100% - 40px)!important}body.visual-main .site-nav.is-open{background:#0b2638!important;padding:22px!important}body.visual-main .site-nav.is-open a{color:#fff!important}body.visual-main .studies-hero__grid{gap:32px!important}body.visual-main :is(.page-hero,.catalog-hero,.studies-hero) h1{font-size:clamp(2.8rem,6vw,5rem)!important}}
@media(max-width:700px){body.visual-main .nav-shell{min-height:72px!important}body.visual-main .brand-logo{width:150px!important}body.visual-main .dga-public-link{top:117px!important;right:12px!important}body.visual-main .dga-public-link a{min-height:34px!important;font-size:.69rem!important;padding:5px 10px!important}body.visual-main #mainContent.se-editorial>.se-intro{min-height:680px!important;padding:78px 23px 70px!important;align-items:flex-end}body.visual-main #mainContent.se-editorial .se-intro-copy{width:100%!important}body.visual-main #mainContent.se-editorial .se-intro h1{font-size:clamp(2.7rem,10vw,4.45rem)!important;max-width:13ch!important}body.visual-main #mainContent.se-editorial .se-intro-photo::after{background:linear-gradient(0deg,#061b2af5 1%,#092b3bd9 65%,#071c2870 100%)!important}body.visual-main .se-intro-photo figcaption{display:none!important}body.visual-main #mainContent.se-editorial .se-intro-topics{gap:6px!important}body.visual-main #mainContent.se-editorial .se-intro-topics a{font-size:.7rem!important;padding:7px 8px!important}body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro){min-height:0!important;padding-block:60px!important}body.visual-main :is(.page-hero,.catalog-hero,.studies-hero,.fc-hero,.se-experience-intro) h1{font-size:clamp(2.6rem,10vw,4.2rem)!important;max-width:16ch!important}body.visual-main .studies-hero__grid{width:calc(100% - 40px)!important;grid-template-columns:1fr!important}body.visual-main .studies-hero figure{min-height:290px!important}body.visual-main :is(.section,.studies-section,.catalog-intro,.catalog-secondary,.se-cases,.se-gallery,.se-retained){padding-block:64px!important}body.visual-main .study-card{min-height:250px!important;padding:26px!important}}
@media(prefers-reduced-motion:reduce){body.visual-main *,body.visual-main *::before,body.visual-main *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
