/* Los arcos del símbolo construyen el lenguaje gráfico de NOVA. */
.hero:before,.hero:after,.art-panel:before,.art-panel:after{content:none}
body{background:#f7f0f4;background-image:linear-gradient(90deg,transparent calc(50% - .5px),#52304906 50%,transparent calc(50% + .5px))}
header{background:#f7f0f4ed;border-bottom-color:#d7c4d1}
.hero{gap:45px;padding-top:85px;padding-bottom:95px;min-height:790px;grid-template-columns:1.15fr 1fr}
.hero h1{font-size:clamp(51px,5.5vw,79px);letter-spacing:-4px;line-height:1.055;max-width:660px}
.hero h1 em{display:inline-block;padding-right:15px}
.hero .eyebrow{display:flex;align-items:center;gap:13px;letter-spacing:1.8px}.hero .eyebrow:before{content:'';width:30px;height:2px;background:#a33361;flex:none}
.hero-art{height:565px;position:relative;padding:25px 0 36px}
.art-panel{inset:25px 0 36px 25px;border-radius:6px 140px 6px 6px;background:linear-gradient(130deg,#39233b,#241b29 70%);padding:50px 40px 35px;box-shadow:18px 18px 0 #e8cedd,0 35px 70px #4e274a1c;border:0;overflow:visible;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.art-panel:after{content:'';position:absolute;inset:16px;width:auto;height:auto;border:1px solid #d6a8c123;border-radius:0 110px 0 0;pointer-events:none}
.art-panel>span:not(.nova-motion){font-size:9px;letter-spacing:2px;color:#d5b4c9;margin:0 0 12px}
.art-panel>p{font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1.15;letter-spacing:-.5px;margin:0;max-width:320px}
.nova-track-lines{position:absolute;inset:-40px -18px 0 -40px;pointer-events:none;overflow:hidden}.nova-track-lines svg{width:100%;height:100%;stroke:#b9799c;stroke-opacity:.24;stroke-width:1}
.nova-art-caption{position:absolute;bottom:0;left:27px;right:0;display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.4px;color:#836479}
.nova-motion{display:inline-block;position:relative;flex:none;vertical-align:middle}
.nova-motion svg{width:100%;height:100%;display:block;overflow:visible}
.nova-orbit{transform-origin:152.5px 152.5px}
.nova-piece{transform-box:fill-box;transform-origin:center}
.nova-brand>.nova-motion{width:49px;height:49px;margin:-5px;}
.art-panel>.nova-motion{position:absolute;width:300px;height:300px;left:calc(50% - 150px);top:-4px;z-index:1;filter:drop-shadow(0 18px 25px #00000015)}
.nova-perform .nova-orbit{animation:nova-orbit-turn 1.65s cubic-bezier(.65,0,.25,1) both}
.nova-perform .nova-piece-a{animation:nova-piece-open-a 1.65s cubic-bezier(.65,0,.25,1) both}
.nova-perform .nova-piece-b{animation:nova-piece-open-b 1.65s cubic-bezier(.65,0,.25,1) both}
@keyframes nova-orbit-turn{0%,9%{transform:rotate(0deg)}18%{transform:rotate(-12deg)}76%{transform:rotate(365deg)}90%{transform:rotate(358deg)}100%{transform:rotate(360deg)}}
@keyframes nova-piece-open-a{0%,9%,100%{transform:translate(0,0)}24%,54%{transform:translate(-14px,-14px)}78%{transform:translate(2px,2px)}90%{transform:translate(-1px,-1px)}}
@keyframes nova-piece-open-b{0%,9%,100%{transform:translate(0,0)}24%,54%{transform:translate(14px,14px)}78%{transform:translate(-2px,-2px)}90%{transform:translate(1px,1px)}}
.statement{padding:29px 20px;background:#ead8e3;border-top:1px solid #cfadbf;border-bottom:1px solid #cfadbf;color:#482d43}.statement p{font-family:'Manrope',Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.5px}.statement i{color:#96375e;font-family:Georgia,serif;font-size:31px;margin-left:12px}
.programs{background:#eadde6;position:relative}.program-card{border-radius:4px 42px 4px 4px;box-shadow:none;border-top:4px solid #c44f7c}.program-card.dark{border-top:4px solid #efbdd2;background:#2c1e30}.program-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px #51394c0c}.card-top{padding-bottom:20px;border-bottom:1px solid #d8bed0}.dark .card-top{border-color:#76556e}.badge{border-radius:3px}
.button{border-radius:5px 20px 5px 5px;box-shadow:0 8px 20px #70335416}.button:hover{box-shadow:0 12px 24px #70335425}.small-button{border-radius:4px 20px 4px 4px}.contact{border-radius:5px 70px 5px 5px;background:#eed7e3;box-shadow:14px 14px 0 #e5c8d8;border:1px solid #ddbfce}.pill-row span{border-radius:3px;background:#f1e5ed}
@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:0;padding-top:45px;padding-bottom:60px;gap:40px}.hero h1{font-size:55px;letter-spacing:-3px}.hero-art{height:490px;max-width:440px;padding-bottom:32px}.art-panel{inset:20px 12px 38px 10px;border-radius:4px 105px 4px 4px;padding:35px 25px;box-shadow:10px 12px 0 #e8cedd}.art-panel>.nova-motion{width:240px;height:240px;left:calc(50% - 120px);top:0}.art-panel p{font-size:31px}.art-panel>span:not(.nova-motion){font-size:8px;letter-spacing:1.3px}.nova-art-caption{left:12px;right:4px;font-size:7px;letter-spacing:.6px}.nova-brand>.nova-motion{width:42px;height:42px}.statement p{font-size:17px;line-height:1.8}.statement i{font-size:23px}.contact{border-radius:4px 45px 4px 4px;box-shadow:6px 8px 0 #e5c8d8}}
@media(prefers-reduced-motion:reduce){.nova-perform .nova-orbit{animation-duration:.8s}.nova-perform .nova-piece{animation-duration:.8s}}
