@font-face{font-family:Gold;src:url('assets/Goldplay-Regular.ttf')}@font-face{font-family:Gold;src:url('assets/Goldplay-SemiBold.ttf');font-weight:600}@font-face{font-family:Alt;src:url('assets/GoldplayAlt-Medium.ttf')}@font-face{font-family:Mensch;src:url('assets/mensch-bold.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fafaf7;color:#5b5f70;font-family:Gold,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #80709e;outline-offset:5px}header{padding:18px 6%;display:flex;align-items:center;justify-content:space-between;background:#e6e7f2;position:relative;z-index:5}header img{width:95px;height:auto;display:block}nav{display:flex;gap:35px;font-size:15px}.menu{display:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Alt,Gold,sans-serif;font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(52px,6.4vw,100px)}h2{font-size:clamp(40px,4.8vw,72px)}h1 span,h2 span{color:#8874b2}.eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:24px} .hero{background:#e6e7f2;position:relative;overflow:hidden;padding:70px 8% 24px;display:grid;grid-template-columns:1.1fr 1fr;min-height:660px;gap:20px}.hero-copy{position:relative;z-index:2}.intro{max-width:420px;margin:28px 0 32px}.button{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 23px;border-radius:40px;min-height:56px;font-size:15px;width:fit-content;border:none;cursor:pointer}.dark{background:#5b5f70;color:white}.button span{font-size:23px}.hero-art{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center}.organic{width:78%;height:440px;object-fit:contain;transform:rotate(15deg);position:relative;z-index:1}.orbit-label{position:absolute;left:0;top:44%;transform:rotate(-70deg);font-size:12px;letter-spacing:.08em}.small-star{position:absolute;right:3%;top:3%;font-size:55px;color:#a799ce}.pattern{position:absolute;right:-40%;bottom:-10%;width:95%;opacity:.3}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:50px;font-size:12px;letter-spacing:.04em}.hero-bottom a{font-size:26px}.manifesto{padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:32px 80px}.manifesto>.eyebrow{grid-column:1/-1;margin:0}.manifesto p+p{margin-top:20px}.small-art{width:105px;margin-top:28px}.proposals{padding:80px 8%;background:#f0eff5}.section-heading{max-width:740px;margin-bottom:60px}.section-heading>p:last-child{margin-top:24px;max-width:430px}.service{padding:35px 0;border-top:1px solid #c9c7d3;display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-title{position:relative;padding-left:48px}.number{position:absolute;left:0;top:0;font-size:12px}.service-title img{width:78px;height:80px;object-fit:contain;margin-bottom:20px}.service-title h3{font-size:38px}.service-title p{font-size:13px;margin-top:9px}.service-copy{align-self:end}.service-copy>p{max-width:430px}details{margin-top:25px}summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d3d0dd;padding:18px 0;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:22px}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;margin-bottom:16px}details a{font-size:14px;border-bottom:1px solid #5b5f70}.pause{padding:100px 8%;background:#a799ce;position:relative;overflow:hidden;display:flex;align-items:center;gap:10%;min-height:390px}.pause img{width:25%;transform:rotate(-15deg)}.pause>p{font-family:Alt;font-size:clamp(40px,5.6vw,82px);line-height:1.06;letter-spacing:-.04em}.pause>p span{color:#fafaf7}.pause-note{position:absolute;bottom:35px;right:8%;font-size:11px}.contact{background:#5b5f70;color:#fff;padding:90px 8%;position:relative}.contact h2{font-size:clamp(64px,8vw,110px)}.contact h2 span{color:#d1c6ed}.contact>p:not(.eyebrow):not(.contact-note){max-width:380px;margin-top:30px}.contact label{display:block;font-size:13px;margin:35px 0 10px}.contact select{padding:15px 40px 15px 17px;width:100%;max-width:380px;border:1px solid #b6b8c4;border-radius:8px;background:#5b5f70;color:white}.light{background:#e6e7f2;color:#464959;margin-top:18px;width:100%;max-width:380px}.contact-note{font-size:12px;color:#e6e7f2;margin-top:18px;max-width:380px}footer{padding:40px 8%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px}footer img{width:110px}footer a{font-size:12px}@media(min-width:900px){.contact{padding-left:52%}.contact .eyebrow{position:absolute;left:8%;top:105px;max-width:220px}.contact:before{content:'';position:absolute;left:8%;top:190px;width:27%;height:300px;background:url('assets/elem03.webp') center/contain no-repeat;opacity:.3}}@media(max-width:650px){body{font-size:16px}header{padding:16px 24px}header img{width:84px}.menu{display:flex;align-items:center;gap:14px;background:none;border:1px solid #b6b5c4;border-radius:30px;padding:8px 15px;font-size:13px;color:inherit}.menu span{font-size:21px}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#e6e7f2;padding:24px;box-shadow:0 18px 20px #5b5f7010}nav.open{display:flex;flex-direction:column;gap:25px}.hero{padding:40px 24px 20px;display:block;min-height:0}.eyebrow{font-size:11px;margin-bottom:22px}h1{font-size:clamp(48px,12.8vw,68px)}.intro{margin:24px 0 25px;font-size:16px;max-width:330px}.hero-art{min-height:270px;height:270px;margin-top:35px}.organic{height:270px;width:75%;transform:rotate(17deg)}.orbit-label{left:-35px;font-size:10px;top:45%}.small-star{font-size:37px;right:6%;top:5%}.pattern{width:85%;right:-30%;bottom:-30%;opacity:.25}.hero-bottom{margin-top:25px;font-size:10px}.manifesto{padding:65px 24px;display:block}.manifesto>.eyebrow{margin-bottom:24px}.manifesto h2{font-size:43px;margin-bottom:30px}.small-art{width:90px;margin-top:26px}.proposals{padding:60px 24px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:40px}.section-heading>p:last-child{margin-top:22px}.service{display:block;padding:30px 0 16px}.service-title{padding-left:34px;min-height:105px;padding-right:78px}.service-title img{position:absolute;right:0;top:3px;width:68px;height:70px;margin:0}.service-title h3{font-size:35px}.service-title p{font-size:12px}.service-copy>p{font-size:16px}.service-copy{margin-top:14px}details{margin-top:20px}.pause{padding:60px 24px 75px;display:block;min-height:400px}.pause img{width:108px;margin-bottom:27px}.pause>p{font-size:49px}.pause-note{left:24px;right:24px;bottom:25px;font-size:10px}.contact{padding:65px 24px}.contact .eyebrow{max-width:250px}.contact h2{font-size:74px}footer{padding:35px 24px 40px;flex-wrap:wrap;gap:25px}footer img{width:90px}footer p{font-size:12px}footer a{width:100%;border-top:1px solid #dedee4;padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Movimiento sutil y progresivo, sin alterar la composición original. */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.service:nth-of-type(2){transition-delay:.08s}.service:nth-of-type(3){transition-delay:.16s}.service:nth-of-type(4){transition-delay:.24s}
.organic{animation:percebe-float 8s ease-in-out infinite}
.service{transition:transform .35s ease,background-color .35s ease}
.service:hover{transform:translateX(7px)}
.service summary{transition:color .2s ease}.service summary:hover{color:#8874b2}
.button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 9px 20px #5b5f7030}
@keyframes percebe-float{0%,100%{transform:rotate(15deg) translateY(0)}50%{transform:rotate(17deg) translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.organic{animation:none}.service,.button{transition:none}.service:hover,.button:hover{transform:none}}
.contact-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.details-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s ease,opacity .3s ease}
.details-body>div{min-height:0;overflow:hidden}
details[open] .details-body{grid-template-rows:1fr;opacity:1}
summary span{transition:transform .3s ease}

/* Las opciones permanecen fijas; solo se anima el contenido expandido. */
.service:hover{transform:none}
.details-body{transform:translateY(-8px);transition:grid-template-rows .4s ease,opacity .3s ease,transform .4s ease}
details[open] .details-body{transform:translateY(0)}

.details-body{grid-template-rows:0fr;opacity:0;transform:translateY(-4px);transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1),opacity .5s ease .08s,transform .7s cubic-bezier(.22,1,.36,1)}
.details-body>div{transform:translateY(-5px);transition:transform .7s cubic-bezier(.22,1,.36,1)}
details[open] .details-body{grid-template-rows:1fr;opacity:1;transform:translateY(0)}
details[open] .details-body>div{transform:translateY(0)}

@keyframes details-copy-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
details[open] .details-body>div{animation:details-copy-in .7s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){details[open] .details-body>div{animation:none}}

/* Acordeón controlado para animar apertura y cierre en cada interacción. */
.accordion{margin-top:25px}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border:0;border-top:1px solid #d3d0dd;background:transparent;color:inherit;text-align:left;cursor:pointer;font-size:14px}
.accordion-trigger span{font-size:22px;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.accordion.open .accordion-trigger span{transform:rotate(45deg)}
.accordion .details-body{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-8px);pointer-events:none;transition:grid-template-rows .65s cubic-bezier(.22,1,.36,1),opacity .45s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.accordion .details-body>div{min-height:0;overflow:hidden;transform:translateY(-5px);transition:transform .65s cubic-bezier(.22,1,.36,1)}
.accordion.open .details-body{grid-template-rows:1fr;opacity:1;transform:translateY(0);pointer-events:auto}
.accordion.open .details-body>div{transform:translateY(0)}
.accordion-content p,.accordion .details-body p{font-size:15px;margin-bottom:16px}
@media(max-width:650px){.accordion{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.accordion-trigger span,.accordion .details-body,.accordion .details-body>div{transition:none}.accordion .details-body{transform:none}.accordion .details-body>div{transform:none}}

.contact label span{opacity:.7;font-size:.9em}
.contact-input{display:block;width:100%;max-width:380px;padding:14px 16px;border:1px solid #b6b8c4;border-radius:8px;background:#5b5f70;color:#fff;font:inherit;resize:vertical}
.contact-input::placeholder{color:#e6e7f2aa}
.contact-input:focus{outline:3px solid #d1c6ed;outline-offset:3px}
.contact-message{min-height:92px}
nav a{position:relative;transition:color .25s ease}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .3s ease}nav a:hover:after{right:0}
.pause img{animation:pause-drift 7s ease-in-out infinite}
.small-star{animation:star-pulse 4s ease-in-out infinite}
@keyframes pause-drift{0%,100%{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(-11deg) translateY(-8px)}}
@keyframes star-pulse{0%,100%{opacity:.7;transform:scale(1) rotate(0)}50%{opacity:1;transform:scale(1.08) rotate(8deg)}}
@media(max-width:650px){.contact-input{max-width:none}.contact label{margin-top:28px}.contact .button{max-width:none}.accordion-trigger{padding:17px 0}}
@media(prefers-reduced-motion:reduce){nav a,.pause img,.small-star{transition:none;animation:none}nav a:after{transition:none}}

/* Las propuestas no llevan numeración. */
.service-title{padding-left:0}
.number{display:none}
@media(max-width:650px){.service-title{padding-left:0}}
