@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@400&display=swap');

500;600;700;800;900&display=swap');
:root{--ink:#080b12;--plum:#230037;--pink:#EE4D90;--cyan:#67CAE2;--paper:#f3f5f8;--muted:#a3a9b6;--line:#252b36;--gutter:clamp(22px,6vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ink);color:#f8f9fc;font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}svg{width:23px;height:23px;flex-shrink:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.75}section{scroll-margin-top:102px}.wrap{max-width:1440px;margin:auto;padding-inline:var(--gutter)}.section{padding:100px var(--gutter)}.section-inner{max-width:1240px;margin:auto}.header{position:sticky;top:0;background:#fff;color:var(--plum);border-bottom:1px solid #ede4f0;z-index:20}.nav{height:88px;display:flex;justify-content:space-between;align-items:center;gap:28px}.brand img{display:block;width:210px;height:auto}.nav-links{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.nav-links a:hover{color:#bd2165}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:51px;padding:16px 24px;border-radius:100px;font-weight:700;font-size:12px;line-height:1.4;border:1px solid transparent;transition:transform .2s,background .2s}.button svg{width:17px;height:17px}.button:hover{transform:translateY(-3px)}.pink{background:#ce2b73;color:white}.pink:hover{background:#b51c61}.outline{border-color:#39414e;color:#f8f9fc;background:transparent}.outline:hover{background:#ffffff0b}.dark-button{background:var(--plum);color:#fff}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:700;text-underline-offset:5px}.text-link:hover{text-decoration:underline}.menu-toggle{display:none;border:0;background:#f3eef6;color:var(--plum);width:43px;height:43px;border-radius:50%}.pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #74314f;background:#ee4d9012;color:var(--cyan);border-radius:100px;padding:9px 15px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.pill svg{width:16px;height:16px}.light .pill{color:#6b6372;border-color:#d5d4db;background:transparent}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0% 0%,#3d132c70,transparent 55%),radial-gradient(ellipse at 100% 30%,#153b4c70,transparent 60%),var(--ink)}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:76px 76px;pointer-events:none}.hero-inner{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center;min-height:740px;padding-block:82px 75px}.hero h1{font-size:clamp(42px,4.8vw,77px);letter-spacing:-.055em;line-height:1.05;font-weight:900;margin:25px 0 25px;text-transform:uppercase}.hero h1 span{color:var(--pink)}.hero-copy>p{color:#b1b5bf;font-size:15px;max-width:530px}.hero-copy>p strong{color:#f5f5f7;font-weight:600}.hero-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:30px}.hero-note{font-size:10px!important;color:#818895!important;margin-top:20px}.hero-visual{position:relative;min-width:0;padding:10px 35px 20px 25px}.avatar-phone{position:relative;width:73%;margin:auto;border:6px solid #161d2b;border-radius:34px;overflow:hidden;aspect-ratio:.72;background:#d6dce0;transform:rotate(3deg);box-shadow:0 25px 80px #0006}.avatar-phone img{width:100%;height:100%;object-fit:cover}.phone-top{position:absolute;top:13px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:8px;letter-spacing:.1em;font-weight:700;text-shadow:0 1px 3px #000}.phone-top span{background:#080b12aa;border-radius:30px;padding:7px 9px}.phone-bottom{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 24px;background:linear-gradient(transparent,#080b12e6);color:white}.phone-bottom strong{display:block;font-weight:800;font-size:20px;line-height:1.15}.phone-bottom small{display:block;margin-top:8px;font-size:8px;color:#d5d9e2;letter-spacing:.05em}.float-tag{position:absolute;border-radius:14px;padding:16px 18px;background:#f7f8fa;color:var(--plum);box-shadow:0 16px 50px #0002;font-size:10px;display:flex;gap:12px;align-items:center}.float-tag strong{display:block;font-size:13px;margin-top:5px}.float-tag svg{color:#c72b73;width:29px;height:29px}.float-one{left:0;top:22%;transform:rotate(-5deg)}.float-two{right:-4px;bottom:17%;background:#ccecf3;transform:rotate(-3deg)}.visual-caption{font-size:9px;text-align:center;color:#8d95a6;margin-top:28px}.service-ribbon{border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10}.ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;font-size:11px;font-weight:600;color:#d9dce3}.ribbon-inner i{color:var(--pink);font-style:normal}.light{background:var(--paper);color:var(--ink)}.section-title{font-size:clamp(33px,4vw,59px);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:1.1;margin-top:25px;max-width:950px}.section-title em{color:#cf2a76;font-style:normal}.section-intro{font-size:15px;color:#777e8b;max-width:660px;margin-top:24px}.light .section-intro{color:#6c717a}.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.pain-card{background:#fff;border:1px solid #e5e6e9;padding:30px;border-radius:21px}.pain-card svg{color:#cf2a76}.pain-card h3{font-size:18px;letter-spacing:-.04em;line-height:1.4;margin:23px 0 12px}.pain-card p{font-size:12px;color:#747782}.pain-end{display:flex;align-items:center;gap:16px;margin-top:27px;font-size:12px;color:#656873}.pain-end span{width:28px;height:2px;background:var(--pink)}.solutions-heading{padding-bottom:48px}.service-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}.service-tabs a{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid #2c313d;border-radius:15px;font-size:12px;font-weight:700;background:#0e121b;transition:border-color .2s,transform .2s}.service-tabs a>svg{color:var(--cyan)}.service-tabs a:hover{border-color:var(--pink);transform:translateY(-3px)}.solution{padding-top:70px;padding-bottom:75px;border-top:1px solid #ffffff0b}.solution-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.solution-reverse .solution-copy{order:2}.solution h2{font-size:clamp(33px,3.6vw,52px);text-transform:uppercase;font-weight:900;letter-spacing:-.04em;line-height:1.13;margin-top:24px}.solution h2 span{color:var(--cyan)}.solution-copy>p{color:#9ea6b4;font-size:14px;line-height:1.8;margin-top:23px}.light.solution{border-color:#e2e4e8}.light.solution h2 span{color:#c72870}.light.solution .solution-copy>p{color:#68717d}.check-list{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:13px}.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#d4dae3}.check-list svg{width:17px;height:17px;color:var(--cyan);margin-top:1px}.light .check-list li{color:#4c5361}.light .check-list svg{color:#b52266}.solution-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.mockup{border:1px solid #2a303c;border-radius:25px;padding:30px;min-width:0;background:#101722;position:relative}.mock-caption{font-size:9px;letter-spacing:.05em;color:#8d95a2;margin-top:17px;text-align:center}.clone-demo{display:grid;grid-template-columns:1fr .85fr;gap:17px;align-items:center}.clone-shot{overflow:hidden;border-radius:20px;position:relative;aspect-ratio:.71}.clone-shot img{width:100%;height:100%;object-fit:cover;display:block}.clone-shot>span{position:absolute;bottom:15px;left:12px;background:#0a1021b8;color:white;border-radius:20px;padding:7px 10px;font-size:8px;letter-spacing:.08em;font-weight:700}.clone-shot.small{aspect-ratio:.72;transform:translateY(25px)}.clone-shot.small img{transform:scale(1.12);object-position:65% center;filter:saturate(.7)}.clone-label{grid-column:1/-1;display:flex;justify-content:center;gap:10px;align-items:center;font-size:11px;color:#cbd4e2;padding-top:17px}.clone-label span{height:5px;width:5px;border-radius:50%;background:#67CAE2}.browser-demo{background:white;border-color:#e1e3e8;padding:0;overflow:hidden;box-shadow:0 25px 70px #23003709;transform:rotate(-2deg)}.browser-bar{height:40px;display:flex;align-items:center;gap:5px;background:#f5f6f8;border-bottom:1px solid #e7e8ed;padding:12px 15px}.browser-bar i{width:6px;height:6px;border-radius:50%;background:#d3d5de}.browser-bar span{font-size:8px;color:#818592;background:white;padding:6px 35px;border-radius:5px;margin:auto}.demo-nav{display:flex;justify-content:space-between;padding:20px 25px;font-size:8px;color:#767883}.demo-nav strong{color:#34313e;font-size:11px}.demo-web-body{padding:20px 25px 27px;display:grid;grid-template-columns:1.1fr 1fr;gap:15px}.demo-web-copy small{font-size:7px;color:#b21d63;letter-spacing:.06em}.demo-web-copy h3{font-size:27px;line-height:1.12;letter-spacing:-.05em;margin:10px 0;color:#230037}.demo-web-copy p{font-size:8px;color:#777}.demo-web-copy span{font-size:8px;display:inline-block;background:#230037;color:white;padding:9px 11px;border-radius:30px;margin-top:13px}.demo-web-art{border-radius:45% 45% 12px 12px;background:#f9e6ef;position:relative;overflow:hidden;display:grid;place-items:center}.demo-web-art img{width:125%;mix-blend-mode:multiply}.demo-web-bottom{display:flex;justify-content:space-between;margin:0 25px 24px;padding-top:20px;border-top:1px solid #eee;font-size:8px;color:#6c6b78}.mobile-mini{position:absolute;right:0;bottom:-10px;width:110px;border:5px solid #232535;background:#fff;border-radius:18px;padding:22px 9px;color:#230037;box-shadow:0 12px 30px #23003722}.mobile-mini strong{font-size:15px;letter-spacing:-.04em;line-height:1.15;display:block}.mobile-mini span{display:block;margin-top:10px;background:#ee4d90;height:40px;border-radius:5px}.web-visual{position:relative;padding-right:25px;padding-bottom:25px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-top strong{font-size:14px}.calendar-top span{font-size:8px;padding:7px 10px;border-radius:20px;background:#67cae220;color:#9bd9e9}.calendar-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px;text-align:center;font-size:8px;color:#7d8797}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.calendar-cell{min-height:72px;border-radius:9px;background:#192130;border:1px solid #273143;padding:8px;font-size:8px;color:#7b879b}.calendar-cell b{display:block;font-weight:500;font-size:7px;line-height:1.4;margin-top:10px;padding:5px 4px;border-radius:5px;background:#67cae21a;color:#a6dfec}.calendar-cell:nth-child(3n) b{background:#ee4d9026;color:#faa7cd}.calendar-cell:nth-child(4n) b{background:#a193dc26;color:#c9b9fa}.calendar-summary{display:flex;gap:15px;align-items:center;border-top:1px solid #29303f;margin-top:22px;padding-top:19px;font-size:10px;color:#9ba6b8}.calendar-summary svg{color:#67CAE2}.ads-mock{background:#fff;border-color:#e3e4e9;color:#230037;box-shadow:0 25px 70px #23003709}.ads-head{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.ads-head span{font-size:8px;color:#8a8490}.funnel{display:grid;gap:13px;margin-top:30px}.funnel-row{border-radius:10px;padding:16px 18px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:12px;background:#f9e7f0;width:100%}.funnel-row:nth-child(2){background:#e0f2f7;width:85%;margin:auto}.funnel-row:nth-child(3){background:#230037;color:white;width:68%;margin:auto}.funnel-row svg{width:18px}.funnel-row>span{font-size:9px;margin-left:auto;opacity:.6}.ads-note{margin-top:27px;font-size:10px;color:#7d7684;padding:16px;border-radius:12px;background:#f4f5f8;line-height:1.7}.ads-note strong{color:#230037}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.process-card{border:1px solid #e3e5ea;border-radius:20px;padding:27px;background:white}.process-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.process-card-top svg{color:#c82a71}.process-card-top span{font-size:29px;color:#d8d9e1;font-weight:800;letter-spacing:-.06em}.process-card h3{font-size:15px;line-height:1.4;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:14px}.process-card p{font-size:12px;color:#777b84}.audience{border-top:1px solid #ffffff0b}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.audience-grid article{padding:23px;border:1px solid #2b303c;border-radius:15px;background:#0d121c}.audience-grid h3{font-size:13px;margin-bottom:9px}.audience-grid p{font-size:11px;color:#909aab}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px;align-items:stretch}.plan{padding:30px;background:#fff;border:1px solid #e2e3e9;border-radius:21px;display:flex;flex-direction:column;position:relative}.plan.featured{border:2px solid #d03c7c}.plan-type{font-size:9px;letter-spacing:.14em;font-weight:700;color:#a12b5d;text-transform:uppercase}.plan h3{font-size:25px;letter-spacing:-.05em;margin:17px 0}.plan>p{font-size:12px;line-height:1.8;color:#777681;min-height:66px}.plan .check-list{flex:1;margin:25px 0}.plan .check-list li{font-size:11px}.plan .button{width:100%}.plan-note{font-size:11px;color:#7a7782;margin-top:25px}.ranking-strip{background:#dff2f7;color:#230037}.ranking-inner{display:flex;gap:40px;align-items:center;justify-content:space-between}.ranking-inner h2{font-size:clamp(28px,3vw,42px);font-weight:800;letter-spacing:-.05em;line-height:1.15;margin:12px 0}.ranking-inner p{font-size:13px;color:#687383;max-width:650px}.ranking-inner .button{flex-shrink:0}.google-reviews{background:#fff;color:#230037;border-top:1px solid #eee}.google-reviews-top{display:grid;grid-template-columns:1.6fr .7fr;align-items:center;gap:55px;max-width:1240px;margin:auto}.google-reviews .small-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a52461}.google-reviews h2{font-size:clamp(30px,3vw,45px);letter-spacing:-.045em;line-height:1.15;margin:20px 0}.google-reviews-intro{font-size:13px;color:#747480;max-width:590px}.google-review-cta{display:inline-flex;align-items:center;gap:13px;padding:15px 22px;border-radius:30px;background:#230037;color:#fff;font-size:11px;font-weight:600;margin-top:23px}.google-rating-card{background:#f5f5f9;border:1px solid #e8e6ed;border-radius:20px;padding:30px}.google-rating-source{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600}.google-rating-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#dff2f7}.google-rating-line{display:flex;align-items:center;gap:15px;margin:20px 0 10px}.google-rating-line strong{font-size:57px;line-height:1;letter-spacing:-.06em}.google-rating-stars{color:#aa7100;font-size:18px;letter-spacing:1px}.google-rating-count{font-size:11px;color:#797780}.google-rating-date{border-top:1px solid #e0dce5;margin-top:17px;padding-top:15px;font-size:9px;color:#8a838e;line-height:1.7}.google-review-grid{max-width:1240px;margin:30px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.google-review-grid[hidden]{display:none}.google-review-item{border:1px solid #e5e1eb;padding:23px;border-radius:15px;display:flex;flex-direction:column;gap:16px}.google-review-item blockquote{margin:0;font-size:12px;line-height:1.7;flex:1}.google-review-item footer{font-size:11px;font-weight:700}.google-review-item a{font-size:10px;text-decoration:underline}.faq-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.faq-list{padding-top:8px}.faq-list details{border-bottom:1px solid #d9dce2;padding:22px 0}.faq-list summary{font-size:13px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#b32363;font-size:23px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;color:#6e7480;margin:15px 30px 0 0;line-height:1.85}.contact{position:relative;text-align:center;background:radial-gradient(ellipse at 50% 100%,#3c153d70,transparent 70%),#080b12}.contact h2{font-size:clamp(40px,5.5vw,77px);text-transform:uppercase;font-weight:900;line-height:1.07;letter-spacing:-.05em;max-width:950px;margin:25px auto}.contact h2 span{color:#67CAE2}.contact>div>p{font-size:14px;color:#9fa5b2;max-width:610px;margin:0 auto 30px}.contact-mail{display:block;margin-top:20px;color:#8e97a7;font-size:11px}.footer{background:#fff;color:#6a6673;padding:28px var(--gutter)}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center;max-width:1240px;margin:auto}.footer img{width:145px;display:block}.footer small{font-size:9px}.footer-social{display:flex;gap:17px;font-size:10px;font-weight:600}.footer-social a:hover{color:#bb2667}.back-top{position:fixed;bottom:20px;right:20px;z-index:10;background:#fff;color:#230037;border:1px solid #ddd;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 20px #0001;font-size:18px}
#ranking-dialog{border:1px solid #e4e7e9;border-radius:24px;padding:0;width:min(650px,calc(100% - 30px));max-height:90svh;color:#202126}#ranking-dialog::backdrop{background:#080b12c9;backdrop-filter:blur(6px)}.ranking-dialog-inner{padding:40px}.ranking-dialog-inner h2{font-size:30px;letter-spacing:-1px;margin:16px 0}.dialog-close{position:absolute;right:13px;top:10px;background:transparent;border:0;font-size:28px;color:#555}#ranking-progress{font-size:11px;color:#6a6e74;margin-bottom:25px}#ranking-form fieldset{border:0;padding:0;margin:0;min-width:0}#ranking-form label{display:grid;gap:9px;font-size:11px;font-weight:700;margin-bottom:18px}#ranking-form input,#ranking-form select{font:inherit;font-size:13px;font-weight:400;width:100%;border:1px solid #d5dbe0;padding:14px;border-radius:10px;background:#fff;min-height:47px;color:#202126}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}#ranking-form .btn{border:0;cursor:pointer;padding:15px 22px;border-radius:30px;background:#ce2b73;color:white;font-weight:600;font-size:12px}.ranking-back{background:#edf0f4!important;color:#333!important}.form-note,#ranking-status{font-size:11px;line-height:1.7;color:#68707b;margin:15px 0}.copy-request{background:transparent;border:0;text-decoration:underline;color:#b62264;padding:10px 0;font-size:12px}.buttons{display:flex;gap:10px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){.hero-inner{min-height:790px}}@media(max-width:1100px){.nav-links{gap:18px}.hero-inner{gap:30px;min-height:680px}.hero-visual{padding:10px 15px}.hero h1{font-size:56px}.float-tag{padding:13px;font-size:8px}.float-tag strong{font-size:10px}.float-tag svg{width:23px}.solution-inner{gap:40px}.service-tabs a{padding:17px 13px;font-size:10px}.section{padding:80px var(--gutter)}.mockup{padding:22px}.process-card{padding:22px}.process-card h3{font-size:13px}.plan{padding:24px}.plan h3{font-size:23px}}
@media(max-width:820px){.nav{height:76px}.brand img{width:175px}.menu-toggle{display:grid;place-items:center}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px var(--gutter);border-bottom:1px solid #ddd;flex-direction:column;align-items:stretch;gap:24px}.nav-links.open{display:flex}.nav-links .button{text-align:center}.hero-inner{grid-template-columns:1fr;gap:40px;padding-block:55px}.hero h1{font-size:clamp(45px,8vw,70px);max-width:710px}.hero-copy>p{max-width:650px}.hero-visual{max-width:500px;width:100%;margin:auto}.avatar-phone{width:58%;aspect-ratio:.76}.float-one{left:0;top:20%}.float-two{right:0;bottom:15%}.hero-note{margin-top:15px}.hero-visual .visual-caption{margin-top:18px}.ribbon-inner{flex-wrap:wrap;justify-content:center;font-size:9px;padding-block:20px;gap:12px}.pain-grid{grid-template-columns:1fr;gap:13px}.pain-card{padding:24px;display:grid;grid-template-columns:28px 1fr;gap:8px 17px}.pain-card h3{margin:0;font-size:16px}.pain-card p{grid-column:2;font-size:12px}.service-tabs{grid-template-columns:repeat(2,1fr)}.solution-inner{grid-template-columns:1fr;gap:35px}.solution-reverse .solution-copy{order:0}.solution h2{max-width:610px}.solution-copy>p{max-width:650px}.solution-visual{max-width:580px;width:100%;margin:0 auto}.clone-demo{max-width:500px;margin:auto}.section-title{max-width:680px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-card-top{margin-bottom:24px}.audience-grid{grid-template-columns:repeat(2,1fr)}.plan-grid{grid-template-columns:1fr;gap:17px}.plan{padding:30px}.plan>p{min-height:0}.plan .check-list{grid-template-columns:1fr 1fr;gap:13px 20px}.plan .button{width:auto;align-self:flex-start}.ranking-inner{flex-direction:column;align-items:flex-start;gap:25px}.google-reviews-top{grid-template-columns:1fr;gap:28px}.google-rating-card{max-width:420px}.google-review-grid{grid-template-columns:repeat(2,1fr)}.faq-layout{grid-template-columns:1fr;gap:25px}.footer-inner{flex-wrap:wrap}.contact h2{font-size:clamp(40px,7vw,60px)}}
@media(max-width:480px){html{scroll-padding-top:90px}.section{padding:65px 22px}.hero-inner{padding-block:43px 40px}.hero h1{font-size:44px;letter-spacing:-.05em;margin-top:24px}.hero-copy>p{font-size:13px}.hero-actions{gap:14px;margin-top:25px}.hero-actions .button{font-size:11px;padding:15px 18px}.hero-actions .text-link{font-size:10px}.hero-visual{padding:5px 8px}.avatar-phone{width:68%;border-width:5px}.phone-bottom strong{font-size:18px}.float-tag{padding:11px 12px;border-radius:12px;gap:8px}.float-one{left:-4px;top:17%}.float-two{right:-2px;bottom:12%}.float-tag strong{font-size:10px}.float-tag svg{width:20px;height:20px}.pill{font-size:8px;padding:8px 12px}.section-title{font-size:34px}.section-intro{font-size:13px}.service-tabs{gap:10px}.service-tabs a{font-size:10px;padding:17px 12px;gap:9px}.service-tabs svg{width:20px}.solution h2{font-size:34px}.solution-copy>p{font-size:13px}.solution .button{font-size:11px}.solution-links{gap:17px}.check-list li{font-size:11px}.mockup{padding:19px}.clone-demo{gap:12px}.clone-shot{border-radius:15px}.clone-label{font-size:9px}.browser-demo{padding:0;border-radius:16px}.demo-web-body{padding:15px 17px;gap:8px}.demo-web-copy h3{font-size:22px}.demo-nav{padding:17px}.demo-nav span{font-size:7px}.demo-web-copy small{font-size:6px}.demo-web-bottom{margin:0 17px 17px;font-size:6px;gap:8px}.mobile-mini{width:85px;border-width:4px;padding:18px 7px}.mobile-mini strong{font-size:12px}.calendar-cell{min-height:61px;padding:7px 5px}.calendar-cell b{font-size:6px;padding:4px 2px}.calendar-grid{gap:5px}.calendar-summary{font-size:8px}.calendar-top strong{font-size:12px}.funnel-row{font-size:10px;padding:15px 12px;gap:8px}.funnel-row>span{font-size:7px}.ads-head{font-size:11px}.ads-note{font-size:9px}.process-grid{grid-template-columns:1fr;gap:13px}.process-card{padding:25px}.process-card h3{font-size:15px}.process-card-top{margin-bottom:18px}.audience-grid{grid-template-columns:1fr;gap:12px}.plan{padding:27px}.plan .check-list{grid-template-columns:1fr}.google-review-grid{grid-template-columns:1fr}.google-rating-card{padding:25px}.google-reviews h2{font-size:32px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer-social{flex-wrap:wrap}.ranking-dialog-inner{padding:34px 22px 24px}.form-pair{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.button:hover,.service-tabs a:hover{transform:none}}


/* Avista reference design: centered hero, luminous waves, large type and bento modules. */
:root{--ink:#07000C;--plum:#14001F;--paper:#F4F1F6;--muted:#A99BB5;--line:#31213d;--gutter:48px}
body{background:#07000C;color:#fff}.header{background:#07000C;border-color:#ffffff12;color:#fff;position:relative}.wrap{max-width:1240px}.nav{min-height:88px;height:auto;padding-top:16px;padding-bottom:16px}.brand{display:flex;flex-direction:column;align-items:center;gap:7px}.brand img{width:170px;height:auto}.logo-descriptor{font-size:7px;font-weight:600;letter-spacing:.36em;color:#c9bdd3;white-space:nowrap}.nav-links{font-size:13px;font-weight:500;gap:25px;color:#c9bdd3}.nav-links a:hover{color:white}.nav-links>.button{background:white;color:#07000c;font-size:12px;min-height:46px}.button{font-size:13px;font-weight:700;min-height:46px;padding:14px 22px}.pink{background:#EE4D90;color:#1a0024}.pink:hover{background:#f56da6;color:#1a0024}.dark-button{background:#14001f}.section{padding-top:110px;padding-bottom:110px}.section-inner{max-width:1144px}.section-title{font-size:52px;font-weight:700;text-transform:none;letter-spacing:-.035em;line-height:1.08;max-width:900px}.section-intro{color:#A99BB5;font-size:17px;line-height:1.6}.light{background:#F4F1F6;color:#14001f}.light .section-intro{color:#5e5068}.pill{font-size:12px;letter-spacing:0;text-transform:none;color:#c9bdd3;background:#ffffff06;border-color:#ffffff17}.light .pill{background:white;color:#14001f;border:0;box-shadow:0 6px 20px #14001f0a}.avista-tag{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border-radius:999px;font-size:13px;font-weight:600;background:#ffffff0f;border:1px solid #ffffff1e;align-self:flex-start}.avista-tag i{height:6px;width:6px;background:#EE4D90;border-radius:50%}.light .avista-tag{background:#fff;border:0;box-shadow:0 6px 20px #14001f0a}.avista-heading{font-size:56px;letter-spacing:-.04em;font-weight:800;line-height:1.06;max-width:1000px;margin-top:26px;text-transform:none}.avista-heading em{font-style:normal;color:#ee4d90}.light .avista-heading em{color:#cc2470}.avista-hero{position:relative;overflow:hidden;padding-top:66px;background:#07000c}.avista-intro{display:flex;align-items:center;flex-direction:column;text-align:center;gap:29px;position:relative;z-index:2}.avista-intro .avista-tag{align-self:center}.avista-intro h1{font-size:89.6px;font-weight:800;letter-spacing:-.05em;line-height:.98;text-wrap:balance;max-width:1120px;margin:0}.avista-intro h1 span{background:linear-gradient(90deg,#EE4D90,#67CAE2);background-clip:text;-webkit-background-clip:text;color:transparent}.avista-intro>p{font-size:20px;line-height:1.55;color:#c9bdd3;max-width:690px}.avista-trust{display:flex;align-items:center;gap:25px;justify-content:center}.trust-link{display:flex;gap:13px;align-items:center;color:white}.trust-symbol{background:#ee4d90;color:#1a0024;border:3px solid #07000c;border-radius:50%;font-size:30px;width:54px;height:54px;display:grid;place-items:center}.trust-link>span:last-child{display:flex;flex-direction:column;gap:5px;text-align:left}.trust-stars{color:#F2A900;letter-spacing:2px;font-size:20px}.trust-link small{font-size:12px;color:#c9bdd3}.trust-link b{color:white}.round-link{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1.5px solid #ffffff80;border-radius:50%;flex-shrink:0;transition:background .2s,color .2s}.round-link svg{width:22px;height:22px}.round-link:hover{background:#fff;color:#07000c}.waves-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none}.waves{position:absolute;left:-10%;top:0;width:120%;height:100%}.blurw{filter:blur(22px);opacity:.9}.wv{animation:avista-drift 16s ease-in-out infinite alternate;transform-origin:center}.wv2{animation-duration:22s;animation-direction:alternate-reverse}@keyframes avista-drift{from{transform:translate(-40px,10px)}to{transform:translate(40px,-14px)}}.avista-hero-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:end;margin-top:60px;position:relative;z-index:2}.hero-card{height:365px;border-radius:26px;overflow:hidden;position:relative;background:#1a0827;display:block;transition:transform .3s}.hero-card:hover{transform:translateY(-6px)}.hero-card-main{height:430px}.hero-card img{width:100%;height:100%;object-fit:cover;display:block}.hero-card-main img{object-position:center 24%}.hero-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0c0017df)}.hero-card-title{position:absolute;left:25px;bottom:28px;right:80px;font-size:24px;line-height:1.16;letter-spacing:-.03em;font-weight:800;z-index:2}.hero-card .round-link{position:absolute;bottom:22px;right:20px;background:#fff;color:#07000c;border-color:#fff;z-index:2;width:48px;height:48px}.hero-card small{position:absolute;top:15px;left:15px;color:#fff;background:#14001f90;padding:7px 9px;border-radius:30px;font-size:8px;letter-spacing:.1em;z-index:2}.hero-card-art img{object-position:45% center}.avista-marquee{position:relative;padding:120px 0 70px;overflow:hidden;background:#07000c}.metal-wave{height:30px;width:105%;background:linear-gradient(115deg,#3a3a44,#f4f4f8 25%,#77778a 45%,#fff 70%,#4a4a55);position:absolute;top:30px;left:-3%;border-radius:50%;transform:rotate(-3deg)}.marquee-window{overflow:hidden;white-space:nowrap}.marquee-content{display:flex;align-items:center;gap:36px;width:max-content;padding-bottom:12px;animation:avista-marquee 40s linear infinite}.marquee-content span{font-weight:800;font-size:64px;letter-spacing:-.04em;line-height:1.1}.marquee-content i{color:#ee4d90;font-size:36px;font-style:normal}.reverse .marquee-content{animation-direction:reverse;animation-duration:46s}.reverse span{color:transparent;-webkit-text-stroke:1.5px #ffffff88}@keyframes avista-marquee{to{transform:translateX(-50%)}}.avista-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:52px}.bento-box{border-radius:26px;padding:32px;position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:12px;background:#fff;box-shadow:0 10px 40px #14001f0a}.bento-number{font-weight:800;font-size:64px;line-height:1;letter-spacing:-.05em}.bento-box>span:not(.bento-number){font-size:15px;line-height:1.6}.bento-box small{font-size:10px;color:#a99bb5}.bento-rating{grid-column:span 2;color:#14001f;min-height:220px}.bento-rating .trust-stars{color:#b57c00}.bento-rating small{color:#7d7086}.bento-solutions{grid-column:span 2;background:radial-gradient(500px 260px at 80% 0%,#ee4d9070,transparent 70%),#14001f;color:#fff;min-height:220px;justify-content:flex-end}.bento-growth{grid-column:span 2;grid-row:span 2;background:#14001f;color:#fff;box-shadow:none}.bento-eyebrow{font-size:11px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#67cae2}.bento-growth h3{font-size:36px;letter-spacing:-.035em;line-height:1.1}.bento-growth p{font-size:14px;color:#a99bb5;max-width:420px}.bento-growth svg{height:180px;width:100%;margin-top:auto;filter:drop-shadow(0 0 10px #ee4d9066)}.bento-clone{background:linear-gradient(140deg,#ee4d90,#b8206a);color:white;min-height:235px;justify-content:space-between}.bento-clone .bento-eyebrow{color:white}.bento-clone h3{font-size:27px;letter-spacing:-.03em;line-height:1.1}.bento-arrow{align-self:flex-end;font-size:27px!important}.bento-chat{justify-content:space-between;gap:12px}.chat-in,.chat-out{padding:11px 13px;font-size:11px!important;border-radius:16px;line-height:1.5!important}.chat-in{background:#f4f1f6;color:#14001f;align-self:flex-start;border-bottom-left-radius:5px}.chat-out{background:#ee4d90;color:#14001f;align-self:flex-end;border-bottom-right-radius:5px;font-weight:600}.bento-chat h3{font-size:21px;letter-spacing:-.025em;line-height:1.2}.bento-chat small{color:#7d7086}.bento-team{grid-column:span 2;flex-direction:row;align-items:center;gap:24px;min-height:190px}.team-symbol{display:grid;place-items:center;width:100px;height:100px;flex-shrink:0;background:#e2f4f9;border-radius:20px;color:#230037;font-size:55px!important}.bento-team h3{font-size:22px;letter-spacing:-.03em;line-height:1.2;margin-bottom:10px}.bento-team p{font-size:12px;color:#5e5068}.avista-services{background:radial-gradient(900px 500px at 15% 0%,#ee4d902b,transparent 60%),#07000c}.avista-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.avista-tab{border:1px solid transparent;background:transparent;color:#a99bb5;font-size:13px;font-weight:600;padding:13px 17px;border-radius:999px;display:flex;align-items:center;gap:9px}.avista-tab b{color:#6e5f7c}.avista-tab.selected{background:#ffffff1a;border-color:#ffffff29;color:#fff}.avista-tab.selected b{color:#ee4d90}.avista-tab:hover{color:#fff}.avista-service-panel[hidden]{display:none}.avista-service-panel{background:transparent!important;border:0;padding:0 var(--gutter);color:#fff}.avista-service-panel .solution-inner{gap:25px;grid-template-columns:.9fr 1.1fr;align-items:stretch}.avista-service-panel .solution-copy{order:0;border:1px solid #ffffff1a;background:linear-gradient(180deg,#ffffff0d,#ffffff04);border-radius:20px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.avista-service-panel h2{font-size:31px;font-weight:800;line-height:1.15;text-transform:none;letter-spacing:-.03em;margin-top:20px}.avista-service-panel h2 span{color:#fff}.avista-service-panel .solution-copy>p{font-size:14px;color:#a99bb5}.avista-service-panel .check-list li{font-size:12px;color:#e7deee}.avista-service-panel .solution-links{margin-top:auto}.avista-service-panel .solution-copy>.button{margin-top:auto;background:#ee4d90;color:#1a0024}.avista-service-panel .mockup{background:#12001c;border-color:#ffffff1a;border-radius:20px;height:100%;min-height:420px}.avista-service-panel .solution-visual{margin:0;max-width:none;width:100%;display:flex;flex-direction:column;justify-content:center}.avista-service-panel .mock-caption{color:#a99bb5;font-size:9px;margin-top:14px}.avista-service-panel .web-visual{padding-right:22px;padding-bottom:20px}.avista-service-panel .browser-demo{height:auto;min-height:0;background:#fff;transform:none}.avista-service-panel .demo-web-body{padding-block:36px}.avista-service-panel .ads-mock{background:#f4f1f6;color:#14001f;height:auto;min-height:400px}.avista-service-panel .ads-note{background:#fff}.avista-service-panel .calendar-cell{background:#22102f;border-color:#ffffff14}.avista-service-panel .calendar-summary{border-color:#ffffff1a}.avista-service-panel .clone-demo{min-height:0;height:auto}.avista-service-panel .clone-shot{max-height:340px}.process-grid{gap:22px}.process-card{border:0;border-radius:26px;padding:30px;box-shadow:0 10px 40px #14001f0a}.process-card h3{text-transform:none;font-size:17px}.process-card p{font-size:13px;color:#5e5068}.process-card-top{margin-bottom:28px}.audience{background:#07000c}.audience-grid article{border:1px solid #ffffff1a;border-radius:20px;background:linear-gradient(180deg,#ffffff08,#ffffff03);padding:28px}.audience-grid p{color:#a99bb5;font-size:12px}.audience-grid h3{font-size:15px}.plan{border:0;border-radius:26px;padding:33px;box-shadow:0 10px 40px #14001f0a}.plan.featured{background:radial-gradient(600px 300px at 100% 0%,#ee4d9055,transparent 70%),#14001f;color:white;border:0}.plan.featured .plan-type{color:#ee4d90}.plan.featured>p{color:#c9bdd3}.plan.featured .check-list li{color:#e7deee}.plan.featured .check-list svg{color:#67cae2}.plan h3{font-size:30px;line-height:1.13;font-weight:800}.plan .check-list li{font-size:12px}.plan>p{color:#5e5068;font-size:14px}.ranking-strip{background:#e2f4f9}.google-reviews{background:#07000c;color:#fff;border:0;padding-bottom:100px}.google-reviews-top{grid-template-columns:1.5fr .75fr;gap:40px}.google-reviews .small-label{color:#67cae2;text-transform:none;letter-spacing:0;font-size:13px}.google-reviews h2{font-size:52px;line-height:1.08;letter-spacing:-.035em}.google-reviews h2 span{color:#67cae2}.google-reviews-intro{color:#a99bb5;font-size:15px}.google-review-cta{border:1px solid #ffffff25;background:transparent;font-size:13px}.google-rating-card{background:#14001f;border:1px solid #ffffff1a;color:#fff}.google-rating-count{color:#c9bdd3}.google-rating-date{color:#a99bb5;border-color:#ffffff1a}.google-rating-icon{background:#281237;color:#67cae2}.google-rating-stars{color:#f2a900}.google-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.google-review-item{border:1px solid #ffffff1a;background:linear-gradient(180deg,#ffffff08,#ffffff03);border-radius:20px;padding:28px;gap:18px}.google-review-item blockquote{color:#e7deee;font-size:14px;line-height:1.7}.google-review-item footer{color:white;font-size:13px}.google-review-item a{color:#67cae2;font-size:11px}.faq-list details{border-color:#dbd4df}.faq-list details p{color:#5e5068}.contact{background:#07000c;overflow:hidden}.contact h2{text-transform:none;font-size:88px;line-height:1;letter-spacing:-.05em;font-weight:800;max-width:1000px}.contact h2 span{color:#fff}.contact .button{background:#fff;color:#07000c;font-size:15px;padding:18px 30px;min-height:54px}.footer{background:#07000c;color:#a99bb5;border-top:1px solid #ffffff14}.footer small{font-size:11px}.footer-social{color:#fff}.footer img{width:160px;height:auto}.back-top{background:#14001f;border-color:#ffffff33;color:white}.menu-toggle{background:#ffffff14;color:#fff}.nav-links.open{background:#14001f;border-color:#ffffff1a}.text-link{color:inherit}
@media(max-width:1000px){.avista-intro h1{font-size:60.8px}.avista-heading{font-size:43px}.avista-service-panel .solution-inner{grid-template-columns:1fr}.avista-service-panel .solution-visual{max-width:680px;margin:auto}.avista-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.avista-bento>*{grid-column:auto;grid-row:auto}.bento-growth,.bento-team{grid-column:span 2}.bento-growth{min-height:350px}.nav-links{gap:17px;font-size:11px}.avista-hero-cards{gap:18px}.hero-card{height:310px}.hero-card-main{height:365px}.hero-card-title{font-size:20px;left:20px;right:70px}.hero-card .round-link{width:40px;height:40px;right:16px;bottom:22px}.section-title,.google-reviews h2{font-size:40px}.contact h2{font-size:65px}.marquee-content span{font-size:48px}}
@media(max-width:820px){.nav{height:80px;min-height:80px}.nav-links{top:80px}.avista-intro h1{font-size:54.4px}.avista-hero{padding-top:48px}.avista-hero-cards{margin-top:50px}.hero-card{height:270px}.hero-card-main{height:325px}.hero-card-title{font-size:18px}.hero-card-title br{display:none}.hero-card .round-link{width:35px;height:35px;right:13px}.hero-card .round-link svg{width:18px;height:18px}.google-reviews-top{grid-template-columns:1fr}.google-review-grid{grid-template-columns:1fr}.avista-service-panel .solution-copy{padding:28px}.section{padding-top:85px;padding-bottom:85px}.avista-service-panel{padding-block:0}.avista-services{padding-bottom:85px}.hero-card img{object-position:center}.avista-marquee{padding-top:105px;padding-bottom:55px}}
@media(max-width:640px){:root{--gutter:20px}.avista-hero{padding-top:36px}.avista-intro{gap:24px}.avista-intro h1{font-size:38.4px;line-height:1}.avista-intro>p{font-size:17px}.avista-trust{gap:17px}.trust-link small{font-size:11px}.trust-stars{font-size:18px}.trust-symbol{width:46px;height:46px;font-size:26px}.round-link{width:46px;height:46px}.avista-tag{font-size:11px;padding:9px 15px}.avista-hero-cards{gap:12px;grid-template-columns:1fr 1fr;align-items:stretch;margin-top:40px}.hero-card{height:240px;border-radius:20px}.hero-card-main{grid-row:1;grid-column:1/-1;height:350px}.hero-card-main img{object-position:center 29%}.hero-card-title{font-size:20px;left:18px;bottom:24px;right:65px}.hero-card:not(.hero-card-main) .hero-card-title{font-size:15px;left:15px;bottom:65px;right:15px}.hero-card .round-link{right:15px;bottom:15px}.hero-card-main .round-link{width:46px;height:46px;right:20px;bottom:20px}.hero-card-main .hero-card-title{font-size:26px}.hero-card-main .hero-card-title br{display:block}.hero-card img{object-position:50% center}.avista-marquee{padding-top:90px;padding-bottom:45px}.marquee-content{gap:25px}.marquee-content span{font-size:35px}.marquee-content i{font-size:26px}.metal-wave{height:20px;top:27px}.avista-heading{font-size:34px;line-height:1.1;margin-top:22px}.avista-bento{grid-template-columns:1fr;gap:17px;margin-top:32px}.avista-bento>*{grid-column:auto}.bento-box{padding:27px;border-radius:22px}.bento-rating{min-height:200px}.bento-growth h3{font-size:33px}.bento-growth{min-height:350px}.bento-clone{min-height:210px}.bento-chat{min-height:240px}.bento-team{gap:18px;flex-wrap:wrap}.team-symbol{width:65px;height:65px;font-size:40px!important}.bento-team h3{font-size:21px}.bento-team>div{flex:1;min-width:180px}.section{padding:65px 20px}.avista-service-panel{padding:0 20px}.avista-services{padding-bottom:65px}.avista-tabs{gap:5px;margin-top:25px;display:grid;grid-template-columns:1fr 1fr}.avista-tab{padding:11px 10px;justify-content:center;font-size:11px;gap:7px}.avista-service-panel .solution-copy{padding:24px}.avista-service-panel h2{font-size:29px}.avista-service-panel .solution-copy>p{font-size:13px}.avista-service-panel .solution-inner{gap:22px}.avista-service-panel .mockup{min-height:330px}.avista-service-panel .clone-demo{min-height:0}.avista-service-panel .browser-demo{min-height:0}.avista-service-panel .solution-copy>.button{font-size:12px}.avista-service-panel .ads-mock{min-height:370px}.section-title,.google-reviews h2{font-size:33px}.section-intro{font-size:15px}.process-card{padding:27px}.plan{padding:29px}.plan h3{font-size:28px}.google-review-item blockquote{font-size:14px}.contact h2{font-size:47px;line-height:1.05}.footer small{font-size:10px}.footer-social{font-size:11px}.contact .button{font-size:13px}.avista-intro>p br{display:none}}
@media(prefers-reduced-motion:reduce){.wv,.marquee-content{animation:none}.hero-card:hover{transform:none}}
/* Panels inherit the outer section gutter; avoid doubling it on phones. */
.avista-services>.avista-service-panel{padding:0}

/* Requested typography adjustment only. */
h1, h2 {
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
h3, .hero-card-title {
  font-weight: 600 !important;
}

/* Give the hero title room while preserving its type size. */
.avista-intro{max-width:1600px;padding-inline:0}
@media(max-width:1200px){.avista-intro{padding-inline:var(--gutter)}}
.avista-intro h1{max-width:100%}
@media(min-width:1360px){.avista-intro h1{white-space:nowrap;text-wrap:nowrap}}

/* Google reviews: brand-colored rating banner and customer cards. */
.google-reviews{background:#FBF8FB;color:#230037;padding-block:100px}
.google-reviews-top{display:block;max-width:1240px}
.google-reviews h2{font-size:clamp(33px,4vw,56px);line-height:1.08;text-transform:uppercase;margin:0 0 44px;text-wrap:balance}
.google-reviews h2 span{color:#EE4D90}
.google-rating-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#230037;color:#fff;border-radius:26px;padding:32px 36px}
.google-banner-score{display:flex;align-items:center;gap:18px;flex-shrink:0}
.google-logo-tile{width:76px;height:76px;background:#fff;border-radius:22px;display:grid;place-items:center}
.google-logo-tile img{width:44px;height:44px;object-fit:contain}
.google-banner-score strong{font-size:34px;line-height:1.15;font-weight:700}
.google-reviews .google-rating-stars{color:#EE4D90;font-size:23px;letter-spacing:2px;line-height:1.5}
.google-banner-description p{font-size:16px;line-height:1.5;color:#fff}
.google-banner-description small{display:block;color:#c9bdd3;font-size:11px;margin-top:7px;line-height:1.5}
.google-rating-banner .google-review-cta{margin:0;flex-shrink:0;border:1px solid #ffffff50;border-radius:999px;padding:14px 22px;color:#fff;background:transparent;font-size:14px;text-decoration:none;display:inline-flex;gap:12px;align-items:center}
.google-rating-banner .google-review-cta:hover{background:#ffffff12;border-color:#67CAE2}
.google-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.google-review-item{position:relative;background:#fff;border:1px solid #EDE4F0;border-radius:26px;padding:30px 28px;gap:22px;box-shadow:0 14px 35px #23003708}
.google-review-item::after{content:'”';position:absolute;right:26px;top:12px;color:#EDE4F0;font-size:58px;line-height:1;font-family:Georgia,serif}
.google-review-item blockquote{color:#655d6d;font-size:15px;line-height:1.75}
.google-review-item footer{border-top:1px solid #EDE4F0;padding-top:20px;color:#230037;font-size:14px;font-weight:700}
.google-review-item a{color:#82758c;font-size:11px;text-decoration:none}
.google-review-item a:hover{color:#230037;text-decoration:underline}
@media(max-width:1000px){.google-rating-banner{flex-wrap:wrap}.google-banner-description{flex:1;min-width:230px}.google-rating-banner .google-review-cta{margin-left:auto}.google-review-item{padding:25px 22px}}
@media(max-width:820px){.google-review-grid{grid-template-columns:1fr}.google-rating-banner{padding:26px;gap:22px}.google-reviews{padding-block:80px}}
@media(max-width:540px){.google-reviews h2{font-size:33px;margin-bottom:28px}.google-rating-banner{align-items:flex-start;flex-direction:column;border-radius:22px}.google-rating-banner .google-review-cta{margin-left:0}.google-logo-tile{width:66px;height:66px;border-radius:18px}.google-banner-description{min-width:0}.google-banner-description p{font-size:15px}}

/* Scroll depth for the decorative home background only. */
@media(prefers-reduced-motion:no-preference){
  .avista-hero .waves-wrap{inset:-12% 0;transform:translate3d(0,var(--hero-parallax-y,0px),0);will-change:transform}
}

/* Keep the tilted separator whole above the marquee boundary. */
.avista-marquee .metal-wave{left:0;top:12px;width:100%;height:90px;border-radius:0;transform:none;clip-path:polygon(0 65%,100% 0,100% 30%,0 95%)}
@media(max-width:640px){.avista-marquee .metal-wave{height:60px}}

/* Finish the hero background below the cards without a hard edge. */
.avista-hero{padding-bottom:40px}
.avista-hero::after{content:'';position:absolute;inset:auto 0 0;height:190px;background:linear-gradient(to bottom,transparent,#07000c);pointer-events:none;z-index:1}
@media(max-width:640px){.avista-hero{padding-bottom:24px}.avista-hero::after{height:120px}}

/* Six stages, manually navigated with scroll snap. */
.hero-journey{position:relative;z-index:2;margin-top:60px}
.journey-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:26px;padding-top:8px}
.journey-track::-webkit-scrollbar{display:none}
.journey-track:focus-visible{outline:2px solid #67CAE2;outline-offset:6px}
.journey-track .journey-card{flex:0 0 calc((100% - 48px)/3);height:365px;scroll-snap-align:start;scroll-margin:0;min-width:0}
.journey-card img{object-position:center}.journey-card-2 img{object-position:center 24%}
.journey-number{position:absolute;left:22px;top:20px;z-index:2;font-size:13px;font-weight:600;letter-spacing:.06em;color:#fff;background:#23003788;border:1px solid #ffffff40;border-radius:999px;padding:8px 12px;backdrop-filter:blur(8px)}
.journey-card .avatar-note{left:auto;right:16px;top:25px;font-size:7px}
.journey-copy{position:absolute;left:26px;right:76px;bottom:30px;z-index:2}
.journey-copy h3{font-size:25px;line-height:1.15;letter-spacing:-.02em;margin-bottom:9px;color:#fff}
.journey-copy p{font-size:14px;line-height:1.5;color:#eee5f3;text-wrap:pretty}
.journey-card .round-link{width:38px;height:38px;right:20px;bottom:32px}.journey-card .round-link svg{width:20px;height:20px}
.journey-art{height:100%;display:flex;justify-content:center;align-items:center;padding-bottom:45px;background:radial-gradient(ellipse at 75% 15%,#67CAE25e,transparent 65%),linear-gradient(135deg,#35104d,#230037);color:#67CAE2}
.journey-art svg{width:70%;height:70%;filter:drop-shadow(0 12px 25px #67CAE233)}
.journey-art-loyal{background:radial-gradient(ellipse at 75% 15%,#EE4D9066,transparent 65%),linear-gradient(135deg,#4b164b,#230037);color:#EE4D90}
.journey-art-measure{background:radial-gradient(ellipse at 20% 10%,#67CAE270,transparent 65%),linear-gradient(135deg,#182b47,#230037);color:#a0e6f5}
.journey-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px}
.journey-status{margin-right:12px;color:#c9bdd3;font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.journey-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff55;border-radius:50%;background:#23003780;color:#fff;transition:background .2s,border-color .2s}
.journey-controls button:hover:not(:disabled){background:#EE4D90;border-color:#EE4D90}.journey-controls button:disabled{opacity:.3;cursor:default}.journey-prev svg{transform:rotate(180deg)}
@media(max-width:1000px){.journey-track{gap:18px}.journey-track .journey-card{flex-basis:calc((100% - 18px)/2)}.journey-copy h3{font-size:24px}}
@media(max-width:640px){.hero-journey{margin-top:36px}.journey-track{gap:16px}.journey-track .journey-card{flex-basis:100%;height:340px}.journey-controls{justify-content:space-between}.journey-status{margin-right:auto}.journey-copy h3{font-size:26px}}

/* Centered, smoothly emphasized carousel stage. */
.hero-journey .journey-track{gap:24px;height:430px;align-items:center;padding-block:30px;scroll-snap-type:x mandatory;border-radius:0}
.journey-track::before,.journey-track::after{content:'';flex:0 0 calc((100% - 48px)/3);height:1px}
.hero-journey .journey-track .journey-card{flex-basis:calc((100% - 48px)/3);height:350px;scroll-snap-align:center;transform:scale(var(--journey-scale,.9));transform-origin:center;transition:transform 90ms linear,filter .35s;filter:brightness(.8);will-change:transform}
.hero-journey .journey-track .journey-card.is-center{filter:brightness(1);z-index:1}
.journey-card img{transition:transform .6s cubic-bezier(.22,1,.36,1)}
.journey-card.is-center img{transform:scale(1.025)}
.hero-journey .journey-controls{justify-content:center;margin-top:6px;min-height:24px}
.hero-journey .journey-status{margin:0}
.hero-journey .journey-controls button{position:absolute;top:215px;transform:translateY(-50%);z-index:4;width:52px;height:52px;background:#230037e8;border-color:#ffffff65;box-shadow:0 6px 24px #07000c66;backdrop-filter:blur(10px)}
.hero-journey .journey-prev{left:calc(var(--gutter) - 26px)}
.hero-journey .journey-next{right:calc(var(--gutter) - 26px)}
.hero-journey .journey-controls button:disabled{opacity:.35}
@media(max-width:820px){.hero-journey .journey-track{height:390px;gap:16px;padding-block:25px}.journey-track::before,.journey-track::after{display:none}.hero-journey .journey-track .journey-card{flex-basis:100%;height:330px;transform:scale(1)}.hero-journey .journey-controls button{top:195px;width:44px;height:44px}.hero-journey .journey-prev{left:calc(var(--gutter) - 16px)}.hero-journey .journey-next{right:calc(var(--gutter) - 16px)}}
@media(prefers-reduced-motion:reduce){.hero-journey .journey-card,.journey-card img{transition:none}}

/* Stage services stay inside the centered card, without a separate panel. */
.journey-copy .journey-inline-services{margin-top:12px;padding-top:11px;border-top:1px solid #ffffff30;font-size:12px;line-height:1.55;color:#e9e0ef;text-wrap:pretty;animation:journey-services-in .3s ease-out}
.journey-inline-services[hidden]{display:none}
.journey-card.is-center::after{background:linear-gradient(transparent 20%,#0c0017b3 58%,#0c0017f5)}
@keyframes journey-services-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.journey-copy .journey-inline-services{font-size:12px;margin-top:10px;padding-top:10px}}
@media(prefers-reduced-motion:reduce){.journey-copy .journey-inline-services{animation:none}}

/* The two benefit ribbons follow page scrolling. */
.avista-marquee .marquee-content,.avista-marquee .reverse .marquee-content{animation:none;gap:0;will-change:transform}
.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:36px;padding-right:36px}
@media(max-width:640px){.marquee-group{gap:25px;padding-right:25px}}
@media(prefers-reduced-motion:reduce){.avista-marquee .marquee-content{will-change:auto;transform:none!important}}

/* Bring the benefit ribbons closer to the home slider. */
.avista-marquee{padding-top:40px}
@media(max-width:640px){.avista-marquee{padding-top:24px}}

/* The entire stage is the link; only the carousel has arrow controls. */
.journey-card .journey-copy{right:26px}
.hero-journey .journey-track .journey-card{outline:2px solid transparent;outline-offset:-2px;transition:transform 90ms linear,filter .35s,outline-color .35s,box-shadow .35s}
.hero-journey .journey-track .journey-card.is-center{outline-color:#67CAE2;box-shadow:0 14px 32px #EE4D9038,0 0 18px #67CAE21f}
.hero-journey .journey-track .journey-card:focus-visible{outline-color:#EE4D90;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.hero-journey .journey-track .journey-card{transition:none}}

/* Draw the active border above photos and their dark overlay. */
.hero-journey .journey-card::before{content:'';position:absolute;inset:0;border:2px solid #67CAE2;border-radius:inherit;z-index:4;pointer-events:none;opacity:0;transition:opacity .3s}
.hero-journey .journey-card.is-center::before{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-journey .journey-card::before{transition:none}}

/* The real problem: disconnected pieces of a good business. */
.problem-section{background:linear-gradient(135deg,#F3F4F8,#E4E7EF);color:#230037;padding:100px var(--gutter)}
.problem-label{display:inline-flex;align-items:center;gap:10px;border:1px solid #23003712;border-radius:999px;padding:11px 17px;background:#ffffffc9;font-size:11px;font-weight:600;letter-spacing:.08em;color:#230037}
.problem-label svg{width:17px;height:17px;color:#E23A85}
.problem-section h2{font-family:Montserrat,Arial,sans-serif;font-size:clamp(56px,4.45vw,64px);line-height:1.1;margin:27px 0 21px;text-wrap:balance}
.problem-section h2 span{color:#E23A85}
.problem-support{font-family:Inter,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6;color:#5A5F6E;margin:0;max-width:100%}
.problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:46px}
.problem-card{display:flex;flex-direction:column;align-items:flex-start;min-height:270px;padding:30px;background:#fff;border:1px solid #ffffffa3;border-radius:24px;box-shadow:0 12px 30px #23003708;transition:transform .3s ease,box-shadow .3s ease}
.problem-quote{display:block;color:#E23A85;margin-bottom:22px}
.problem-quote svg{width:30px;height:30px}
.problem-phrase{font-family:Montserrat,Arial,sans-serif;font-size:21px;font-weight:600;line-height:1.45;color:#230037;margin:0 0 28px;text-wrap:pretty}
.problem-stage{display:block;margin-top:auto;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.13em;color:#777b89}
.problem-card-close{background:linear-gradient(135deg,#51205F,#230037);border-color:#51205F;gap:18px;box-shadow:none}
.problem-close-icon{color:#67CAE2}
.problem-close-icon svg{width:25px;height:25px}
.problem-card-close p{font-size:16px;line-height:1.65;color:#c8c5d0;margin:0}
.problem-card-close strong{font-family:Montserrat,Arial,sans-serif;font-size:22px;line-height:1.25;font-weight:700;color:#fff;margin-top:auto;max-width:270px}
@media(hover:hover){.problem-card:not(.problem-card-close):hover{transform:translateY(-6px);box-shadow:0 20px 38px #23003712}}
.problem-reveal .problem-card{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease,box-shadow .3s ease}
.problem-reveal .problem-card.is-visible{opacity:1;transform:translateY(0)}
@media(hover:hover){.problem-reveal .problem-card.is-visible:not(.problem-card-close):hover{transform:translateY(-6px)}}
@media(max-width:1100px){.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-section h2{font-size:50px}.problem-support{max-width:900px}}
@media(max-width:640px){.problem-section{padding-block:68px}.problem-section h2{font-size:34px;line-height:1.15;margin-top:23px}.problem-support{font-size:17px;line-height:1.65}.problem-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.problem-card{min-height:235px;padding:27px}.problem-phrase{font-size:21px}.problem-card-close{min-height:270px}.problem-card-close strong{font-size:23px}.problem-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.problem-card,.problem-reveal .problem-card{transition:none;opacity:1;transform:none}}

/* Repeat the hero's pink-to-cyan accent on selected headings. */
h2 .brand-gradient{background:linear-gradient(90deg,#EE4D90,#67CAE2);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* Connected digital ecosystem, between the problem and the service tabs. */
.ecosystem-section{background:radial-gradient(ellipse at 0 0,rgba(238,77,144,.16),transparent 55%),radial-gradient(ellipse at 100% 0,rgba(103,202,226,.10),transparent 55%),#05040A;color:#fff;padding-block:112px}
.ecosystem-shell{max-width:1336px;padding-inline:48px;margin:auto}
.ecosystem-label{display:inline-flex;align-items:center;gap:11px;border:1px solid #ffffff1f;border-radius:999px;background:#ffffff05;padding:12px 18px;font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.22em}
.ecosystem-label svg{width:19px;height:19px;color:#EE4D90}
.ecosystem-section h2{font-family:Montserrat,Arial,sans-serif;font-size:60px;line-height:1.05;letter-spacing:-.02em;margin:28px 0 22px;text-wrap:balance}
.ecosystem-section h2 span{background:linear-gradient(90deg,#EE4D90 0%,#B98AC8 55%,#5BC0E4 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ecosystem-intro{font-family:Inter,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6;color:#9AA0AE;max-width:720px}
.ecosystem-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:44px}
.ecosystem-card{background:#0B0A12;border:1px solid #ffffff14;border-radius:24px;padding:24px 22px;min-width:0;transition:border-color .25s,transform .25s}
.ecosystem-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}
.ecosystem-icon{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;background:#2A0F22;border-radius:16px;color:#67CAE2}
.ecosystem-icon svg{width:27px;height:27px}
.ecosystem-number{color:#E23A85;font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em}
.ecosystem-stage{display:block;color:#67CAE2;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.6}
.ecosystem-card h3{font-family:Montserrat,Arial,sans-serif;font-weight:700!important;font-size:22px;line-height:1.25;margin:12px 0 18px;color:#fff;text-wrap:pretty}
.ecosystem-card p{font-family:Inter,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.6;color:#9AA0AE;margin:0}
.ecosystem-measure{display:flex;align-items:center;gap:24px;margin-top:22px;padding:26px 30px;border:1px solid #ffffff14;background:#0B0A12;border-radius:24px}
.ecosystem-measure .ecosystem-stage{margin-bottom:7px}
.ecosystem-measure p{font-family:Inter,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.6;color:#9AA0AE;margin:0}
.ecosystem-action{display:flex;justify-content:center;margin-top:36px}
.ecosystem-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#D1296F;color:#fff;border-radius:999px;padding:19px 29px;font-family:Montserrat,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.4;text-align:center;transition:background .2s,transform .2s}
.ecosystem-button svg{width:21px;height:21px}.ecosystem-button:hover{background:#E23A85;transform:translateY(-2px)}
@media(hover:hover){.ecosystem-card:hover{border-color:#67CAE250;transform:translateY(-4px)}}
.photography-preview{position:relative;border-radius:26px;overflow:hidden;background:#230037;min-height:450px}
.photography-preview>img{width:100%;height:450px;display:block;object-fit:cover}
.photography-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#230037ef)}
.photography-preview-label{position:absolute;z-index:2;left:32px;bottom:32px;display:flex;align-items:center;gap:18px;color:#fff;font-size:19px;line-height:1.5}
.photography-preview-label>svg{width:40px;height:40px;color:#67CAE2}.photography-preview-label strong{font-size:28px}
.photography-corner{position:absolute;z-index:2;width:46px;height:46px;border-color:#ffffffbb;border-style:solid;pointer-events:none}.photography-corner-tl{top:25px;left:25px;border-width:2px 0 0 2px}.photography-corner-br{right:25px;bottom:25px;border-width:0 2px 2px 0}
@media(max-width:1100px){.ecosystem-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.ecosystem-card{grid-column:span 2}.ecosystem-card:nth-last-child(-n+2){grid-column:span 3}.ecosystem-shell{padding-inline:36px}}
@media(max-width:820px){.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem-card,.ecosystem-card:nth-last-child(-n+2){grid-column:auto}.ecosystem-card:last-child{grid-column:1/-1}.ecosystem-section h2{font-size:48px}.ecosystem-section{padding-block:90px}}
@media(max-width:640px){.ecosystem-section{padding-block:76px}.ecosystem-shell{padding-inline:20px}.ecosystem-label{font-size:11px;letter-spacing:.22em}.ecosystem-section h2{font-size:36px;line-height:1.05}.ecosystem-intro{font-size:18px}.ecosystem-grid{grid-template-columns:1fr;gap:14px;margin-top:32px}.ecosystem-card:last-child{grid-column:auto}.ecosystem-card{padding:25px}.ecosystem-card-top{margin-bottom:22px}.ecosystem-card h3{font-size:22px}.ecosystem-measure{align-items:flex-start;gap:16px;padding:23px 21px}.ecosystem-measure p{font-size:15px}.ecosystem-button{font-size:14px;padding:18px 23px}.photography-preview,.photography-preview>img{min-height:340px;height:340px}.photography-preview-label{left:25px;bottom:28px;font-size:16px}.photography-preview-label strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ecosystem-card,.ecosystem-button{transition:none}}
/* Clear paths from discovery to contact, retaining the established identity. */
.hero-main-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:28px 0 0}.hero-work-link{border:1px solid #ffffff38;color:#fff;background:transparent}.quick-trust{background:#130b1c;border-block:1px solid #ffffff12;color:#fff}.quick-trust-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:27px}.quick-trust-rating{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;flex-shrink:0}.quick-trust-rating strong{display:block;font:700 22px Montserrat,sans-serif}.quick-trust-rating small{display:block;margin-top:5px;color:#bdb7c6;font-size:12px}.quick-trust-rating .trust-stars{font-size:17px;margin-left:7px;color:#EE4D90}.quick-trust p{font-size:15px;color:#c7c2ce;max-width:310px;margin:0}.quick-trust-inner>a:last-child{color:#67CAE2;font-size:14px}.service-detail-link{display:inline-block;margin:18px 0 24px;color:#B8206A;font:600 14px Montserrat,sans-serif;text-underline-offset:4px}.work-section{background:linear-gradient(120deg,#f3f4f8,#e4e7ef);color:#230037}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}.work-card{background:#fff;border:1px solid #2300370d;border-radius:24px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.work-number{font:700 38px Montserrat,sans-serif;color:#E23A85;margin-bottom:24px}.work-tag{font:600 12px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#9b2960}.work-card h3{font:600 23px/1.3 Montserrat,sans-serif;margin:14px 0}.work-card p{color:#5A5F6E;font:400 16px/1.7 Inter,sans-serif;margin:0 0 25px}.work-card a{margin-top:auto;color:#84224f;font:600 13px/1.6 Montserrat,sans-serif}.work-bottom{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:35px}.work-bottom>a:last-child{color:#64204c}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:35px}.team-card{display:flex;align-items:center;gap:22px;border:1px solid #23003715;background:#fff;padding:30px;border-radius:24px}.team-monogram{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:76px;height:76px;border-radius:23px;background:linear-gradient(135deg,#fde3ee,#e2f4f9);font:700 25px Montserrat,sans-serif;color:#7d245a}.team-card h3{font:600 22px Montserrat,sans-serif;margin:0 0 7px}.team-card p{font-size:15px;line-height:1.6;margin:0;color:#5A5F6E}.contact-audit{margin:25px 0}.audit-secondary{display:block;margin:35px auto 0;background:none;border:0;color:#67CAE2;cursor:pointer}.site-footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:22px 20px;border-top:1px solid #ffffff14}.site-footer-links a{color:#bdb6c6;font-size:13px}.page-nav{display:flex;gap:24px;flex-wrap:wrap}.page-nav a{color:#d0c9d6;font:600 13px Montserrat,sans-serif}.detail-page{background:#f3f4f8;color:#230037;padding:70px 0 90px;min-height:70vh}.detail-page>.section-inner{max-width:1100px}.page-back{display:block;margin-bottom:35px;color:#7c2456;font-size:14px}.detail-page h1{font:700 clamp(36px,5vw,60px)/1.08 Montserrat,sans-serif;letter-spacing:-.02em;margin:24px 0}.detail-page h2{font:700 26px/1.25 Montserrat,sans-serif;letter-spacing:-.02em}.detail-page p,.detail-page li{font:400 17px/1.75 Inter,sans-serif;color:#565363;max-width:780px}.detail-page .detail-lead{font-size:22px;line-height:1.6;margin-bottom:30px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:40px 0}.detail-card{background:#fff;border:1px solid #2300370e;border-radius:24px;padding:32px}.detail-card h2{margin-top:0}.detail-card a{color:#9c285e;font-weight:600}.detail-card li{margin-bottom:12px}.detail-card ul{padding-left:20px}.detail-cta{border-radius:24px;padding:38px;background:#230037;margin-top:45px;color:white}.detail-cta p{color:#d4cbdc}.detail-cta .service-detail-link{color:#67CAE2;margin:20px}.detail-cta .button,.detail-card .button{color:white}.case-detail{margin-top:30px;scroll-margin-top:110px}.case-detail blockquote{margin:25px 0;padding-left:22px;border-left:3px solid #E23A85;color:#5A5F6E;font:400 18px/1.75 Inter,sans-serif}.detail-page .section{padding:45px 0}.detail-page .section-inner{padding-inline:0}.detail-page .section-title{font-size:38px}
@media(max-width:900px){.quick-trust-inner{flex-wrap:wrap}.quick-trust p{max-width:330px}.work-grid{gap:16px}.work-card{padding:24px}.team-card{padding:24px;align-items:flex-start}.team-monogram{width:58px;height:58px;font-size:20px}.team-card h3{font-size:20px}}
@media(max-width:640px){.hero-main-actions{gap:12px;margin-top:22px}.hero-main-actions .button{font-size:13px;padding:15px 19px}.quick-trust-inner{justify-content:center;text-align:center;padding-block:24px;gap:17px}.quick-trust-rating{text-align:left}.quick-trust p{display:none}.work-grid,.team-grid,.detail-grid{grid-template-columns:1fr}.work-grid{margin-top:28px}.work-card{padding:27px}.work-number{margin-bottom:18px}.work-card h3{font-size:22px}.work-bottom{gap:20px}.team-card{gap:16px}.page-nav{gap:13px;width:100%;justify-content:center}.page-nav a{font-size:12px}.header:has(.page-nav) .nav{flex-wrap:wrap;justify-content:center;gap:18px;padding-block:20px}.detail-page{padding:40px 0 65px}.detail-page>.section-inner{padding-inline:20px}.detail-card,.detail-cta{padding:25px}.detail-page h2{font-size:23px}.detail-page p,.detail-page li{font-size:16px}.detail-page .detail-lead{font-size:19px}.detail-cta .service-detail-link{margin:20px 0 0}.detail-page .section-inner{padding-inline:0}.detail-page>.section-inner{padding-inline:20px}.site-footer-links{gap:15px}}
.detail-page .pill{background:#fde3ee;color:#84224f;border-color:#e23a8525}.detail-page .brand-gradient{background:linear-gradient(90deg,#bf286c,#8765a5,#2395b8);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== Navegación unificada (fase 1) ===== */
.sh{position:sticky;top:0;z-index:50;background:rgba(7,0,12,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;font-family:Montserrat,system-ui,sans-serif}
.sh-bar{max-width:1240px;margin:0 auto;padding:14px 48px;min-height:84px;box-sizing:border-box;display:flex;align-items:center;gap:28px}
.sh-brand{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;flex-shrink:0}
.sh-brand img{display:block;width:170px;height:auto}
.sh-brand span{font-size:7px;font-weight:600;letter-spacing:.36em;padding-left:.36em;color:#c9bdd3;white-space:nowrap}
.sh-panel{flex:1;display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
.sh-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.sh-link{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:0;background:transparent;color:#c9bdd3;font:500 14px/1 Montserrat,system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:color .2s,background .2s}
.sh-link:hover,.sh-link[aria-current="page"],.sh-drop-btn[data-current="true"]{color:#fff;background:rgba(255,255,255,.07)}
.sh-drop-btn svg{transition:transform .2s}
.sh-drop{position:relative}
.sh-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,6px);width:min(640px,80vw);padding:18px;border-radius:22px;background:#14001F;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(238,77,144,.06);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s}
.sh-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.sh-drop.open .sh-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sh-drop.open .sh-drop-btn svg{transform:rotate(180deg)}
@media (hover:hover) and (min-width:981px){.sh-drop:hover .sh-menu,.sh-drop:focus-within .sh-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.sh-drop:hover .sh-drop-btn svg{transform:rotate(180deg)}}
.sh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.sh-item{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;text-decoration:none;color:#fff;transition:background .2s}
.sh-item:hover,.sh-item[aria-current="page"]{background:rgba(255,255,255,.06)}
.sh-item strong{display:block;font-size:14px;font-weight:700;line-height:1.3}
.sh-item small{display:block;margin-top:3px;font:400 13px/1.4 Inter,system-ui,sans-serif;color:#a99bb5}
.sh-ico{width:40px;height:40px;border-radius:12px;background:rgba(238,77,144,.12);color:#67CAE2;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sh-ico-sm{width:28px;height:28px;border-radius:8px}
.sh-menu-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:14px 14px 4px;border-top:1px solid rgba(255,255,255,.08)}
.sh-menu-foot a{display:inline-flex;align-items:center;gap:10px;color:#EE4D90;font-size:13px;font-weight:700;text-decoration:none}
.sh-menu-foot a:last-child{color:#fff}
.sh-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sh-wa{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s}
.sh-wa:hover{background:rgba(255,255,255,.08);color:#fff}
.sh-cta{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;background:#fff;color:#07000c;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}
.sh-cta:hover{background:#FDE3EE;color:#07000c;transform:translateY(-1px)}
.sh-toggle{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;align-items:center;justify-content:center}
.sh-toggle .sh-close{display:none}
.sh-toggle[aria-expanded="true"] .sh-close{display:flex}.sh-toggle[aria-expanded="true"] .sh-open{display:none}
.sh-toggle span{display:flex}
.sh a:focus-visible,.sh button:focus-visible,.sf a:focus-visible,.wa-float:focus-visible{outline:3px solid #67CAE2;outline-offset:3px}
@media (max-width:1100px){.sh-bar{padding:12px 28px;gap:18px}.sh-link{padding:10px;font-size:13px}.sh-wa{padding:0 14px}}
@media (max-width:980px){
.sh-toggle{display:flex}
.sh-panel{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 84px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:20px;padding:20px 24px 28px;background:#0d0016;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.sh-panel.open{display:flex}
.sh-nav{flex-direction:column;align-items:stretch;gap:2px;margin:0}
.sh-link{justify-content:space-between;width:100%;padding:16px 12px;border-radius:12px;font-size:17px;font-weight:600;color:#fff}
.sh-menu{position:static;transform:none;width:auto;opacity:1;visibility:visible;display:none;padding:6px 0 10px;background:transparent;border:0;box-shadow:none}
.sh-drop.open .sh-menu{display:block;transform:none}
.sh-menu::before{display:none}
.sh-grid{grid-template-columns:1fr;gap:2px}
.sh-item{padding:10px 12px}
.sh-menu-foot{padding:12px 12px 4px}
.sh-actions{flex-direction:column;align-items:stretch;gap:10px}
.sh-wa,.sh-cta{justify-content:center;min-height:54px;font-size:15px}
}
@media (max-width:640px){.sh-bar{padding:10px 20px;min-height:72px}.sh-brand img{width:150px}.sh-panel{max-height:calc(100vh - 72px)}}

.sf{background:#07000C;color:#a99bb5;border-top:1px solid rgba(255,255,255,.08);font-family:Montserrat,system-ui,sans-serif}
.sf-inner{max-width:1240px;margin:0 auto;padding:64px 48px 48px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.sf-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.sf-brand img{width:170px;height:auto;display:block}
.sf-brand p{margin:0 0 6px;font:400 15px/1.6 Inter,system-ui,sans-serif;color:#c9bdd3;max-width:300px}
.sf-contact{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.sf-contact svg{color:#67CAE2}
.sf-col{display:flex;flex-direction:column;gap:12px}
.sf-col h2{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#EE4D90}
.sf-col a{color:#c9bdd3;font-size:14px;text-decoration:none}
.sf a:hover{color:#fff}
.sf-bottom{max-width:1240px;margin:0 auto;padding:22px 48px;box-sizing:border-box;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}
.sf-bottom span{display:flex;gap:20px}
.sf-bottom a{color:#a99bb5;text-decoration:none}
@media (max-width:900px){.sf-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:48px 28px 36px}.sf-brand{grid-column:span 2}.sf-bottom{padding:20px 28px}}
@media (max-width:520px){.sf-inner{grid-template-columns:minmax(0,1fr);padding:44px 20px 30px}.sf-brand{grid-column:auto}.sf-bottom{padding:20px}}

.wa-float{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 22px 0 18px;border-radius:999px;background:#25D366;color:#063b1c;font:700 15px Montserrat,system-ui,sans-serif;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.4);transition:transform .2s}
.wa-float:hover{transform:translateY(-2px);color:#063b1c}
.back-top{bottom:92px!important}
@media (max-width:640px){.wa-float{width:58px;padding:0;justify-content:center}.wa-float span{display:none}}
@media (prefers-reduced-motion:reduce){.sh-menu,.sh-link,.sh-cta,.wa-float,.sh-drop-btn svg{transition:none}}
.sh-menu-open .wa-float,.sh-menu-open .back-top{display:none!important}
.contact-wa{display:inline-flex;align-items:center;gap:10px;margin-top:14px}

/* ===== Formulario de contacto (fase 1b) ===== */
.cf-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start;text-align:left;max-width:1240px;margin:0 auto}
.cf-wrap .cf-intro{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.contact .cf-wrap h2{margin:18px 0 10px;font-size:clamp(40px,4.6vw,66px);text-align:left;max-width:none}
.contact .cf-wrap .cf-intro>p{margin:0 0 18px;font-size:17px;line-height:1.6;color:#a99bb5;max-width:520px;text-align:left}
.cf-wrap .contact-audit{margin:8px 0 0}
.cf-wrap .contact-mail{margin-top:18px;font-size:14px;color:#c9bdd3}
.cf-wrap #open-ranking{margin:10px 0 0!important;align-self:flex-start;text-align:left;padding-left:0}
.cf{background:#14001F;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:34px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px;color:#fff;text-align:left;font-family:Montserrat,system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cf p.cf-title{color:#fff;margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}
.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cf-full{grid-column:1/-1}
.cf label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#c9bdd3}
.cf input,.cf select,.cf textarea{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:400 16px/1.4 Inter,system-ui,sans-serif;transition:border-color .2s,background .2s}
.cf select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9bdd3' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.cf select option{background:#14001F;color:#fff}
.cf textarea{resize:vertical;min-height:110px}
.cf input::placeholder,.cf textarea::placeholder{color:#7d6e8a}
.cf input:focus,.cf select:focus,.cf textarea:focus{outline:none;border-color:#EE4D90;background:rgba(255,255,255,.08)}
.cf [aria-invalid="true"]{border-color:#ff7aa8}
.cf-actions{display:flex;gap:12px;flex-wrap:wrap}
.cf-btn{flex:1 1 200px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 22px;border-radius:999px;border:0;font:700 15px Montserrat,system-ui,sans-serif;cursor:pointer;transition:transform .2s,background .2s}
.cf-btn:hover{transform:translateY(-1px)}
.cf-btn:focus-visible{outline:3px solid #67CAE2;outline-offset:3px}
.cf-btn[disabled]{opacity:.6;cursor:progress}
.cf-wa{background:#25D366;color:#063b1c}
.cf-mail{background:#fff;color:#07000c}
.cf p.cf-note{margin:-6px 0 0;font:400 13px/1.5 Inter,system-ui,sans-serif;color:#8f819c}
.cf p.cf-status{margin:0;font:600 14px/1.5 Inter,system-ui,sans-serif;color:#67CAE2}
.cf p.cf-status:empty{display:none}
.cf p.cf-status.err{color:#ff8fb6}
.cf p.cf-status .cf-link{display:inline-flex;margin-top:8px;padding:10px 16px;border-radius:999px;background:#25D366;color:#063b1c;text-decoration:none;font-weight:700}
.cf-page{margin-top:40px}
.cf-page .cf{max-width:820px}
@media (max-width:980px){.cf-wrap{grid-template-columns:minmax(0,1fr);gap:40px}}
@media (max-width:560px){.cf{padding:24px 20px;border-radius:22px}.cf-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.cf-btn,.cf input,.cf select,.cf textarea{transition:none}}

/* ===== Reseñas de Google con slider (fase 1c) ===== */
.gr-slider{max-width:1240px;margin:44px auto 0}
.gr-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 10px;overscroll-behavior-x:contain}
.gr-track::-webkit-scrollbar{display:none}
.gr-card{flex:0 0 min(380px,86%);scroll-snap-align:start;box-sizing:border-box;background:#F7F5FA;border:1px solid #ECE6F1;border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:14px;color:#14001F;font-family:Montserrat,system-ui,sans-serif}
.gr-head{display:flex;align-items:center;gap:12px}
.gr-av{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:19px;overflow:hidden}
.gr-av img{width:100%;height:100%;object-fit:cover}
.gr-who{display:flex;flex-direction:column;min-width:0;flex:1}
.gr-who strong{font-size:16px;font-weight:700;line-height:1.3}
.gr-who small{font-size:12px;color:#6f6680}
.gr-g{width:28px;height:28px;flex-shrink:0}
.gr-stars{color:#F4B400;font-size:18px;letter-spacing:2px}
.gr-card blockquote{margin:0;font:400 16px/1.6 Inter,system-ui,sans-serif;color:#3a3046}
.gr-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.gr-controls span{display:flex;gap:10px}
.gr-all{font-weight:700;font-size:14px;color:#B8206A;text-decoration:none}
.gr-prev,.gr-next{width:50px;height:50px;border-radius:50%;border:1px solid #DCD3E5;background:#fff;color:#14001F;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
.gr-prev svg{transform:rotate(180deg)}
.gr-prev:hover,.gr-next:hover{background:#14001F;color:#fff}
.gr-prev:disabled,.gr-next:disabled{opacity:.35;cursor:default}
.gr-prev:focus-visible,.gr-next:focus-visible,.gr-track:focus-visible{outline:3px solid #67CAE2;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.gr-track{scroll-behavior:auto}}

/* ===== Páginas nuevas (fase 2): portafolio y landing del clon ===== */
.x-page{background:#07000C;color:#fff}
.x-wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));box-sizing:border-box}
@media (min-width:700px){.x-wrap{padding-left:48px;padding-right:48px}}
.x-hero{padding:72px 0 88px;background:radial-gradient(900px 520px at 10% -5%,rgba(238,77,144,.24),transparent 62%),radial-gradient(800px 480px at 95% 5%,rgba(103,202,226,.14),transparent 60%),#07000C}
.x-hero-sm{padding-bottom:40px}
.x-sec{padding:96px 0}
.x-tight{padding-top:24px}
.x-light{background:#F4F1F6;color:#14001F}
.x-tag{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(238,77,144,.5);background:rgba(238,77,144,.08);color:#67CAE2;font:600 12px Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.x-light .x-tag{border-color:#DCD3E5;background:#fff;color:#8E1650}
.x-h1{margin:22px 0 18px;font:800 clamp(42px,6.4vw,84px)/1.02 Montserrat,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.x-h2{margin:18px 0 14px;font:800 clamp(32px,4.4vw,56px)/1.06 Montserrat,sans-serif;letter-spacing:-.035em;text-wrap:balance}
.x-grad{background:linear-gradient(90deg,#EE4D90,#B98AC8 55%,#5BC0E4);-webkit-background-clip:text;background-clip:text;color:transparent}
.x-pkt{color:#CC2470}
.x-lead{margin:0;max-width:640px;font:400 19px/1.6 Inter,system-ui,sans-serif;color:#b9adc5}
.x-light .x-lead{color:#5E5068}
.x-head{margin-bottom:44px}
.x-center{text-align:center}.x-center .x-lead{margin:0 auto}
.x-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.x-row-c{justify-content:center}
.x-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;font:700 15px Montserrat,sans-serif;text-decoration:none;transition:transform .2s,background .2s;box-sizing:border-box}
.x-btn:hover{transform:translateY(-1px)}
.x-pk{background:#D1296F;color:#fff}.x-pk:hover{background:#E23A85;color:#fff}
.x-ol{border:1.5px solid rgba(255,255,255,.3);color:#fff}.x-ol:hover{background:rgba(255,255,255,.08);color:#fff}
.x-light .x-ol{border-color:#14001F;color:#14001F}
.x-wa{background:#25D366;color:#063b1c}.x-wa:hover{color:#063b1c}
.x-btn:focus-visible,.pf-f:focus-visible,.pf-item:focus-visible,.cl-vid:focus-visible{outline:3px solid #67CAE2;outline-offset:3px}
.x-cta{background:radial-gradient(800px 400px at 50% 100%,rgba(238,77,144,.22),transparent 70%),#07000C}
/* portafolio */
.pf-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.pf-f{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#c9bdd3;font:600 14px Montserrat,sans-serif;cursor:pointer}
.pf-f.on{background:#fff;color:#07000c;border-color:#fff}
.pf-grid{columns:3 300px;column-gap:18px}
.pf-item{display:block;break-inside:avoid;margin:0 0 18px;border-radius:20px;overflow:hidden;position:relative;background:#14001F;text-decoration:none;color:#fff}
.pf-item[hidden]{display:none!important}
.ph-card img{display:block;width:100%;height:auto;transition:transform .5s}
.ph-card:hover img{transform:scale(1.04)}
.pf-tag{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(7,0,12,.75);font:600 12px Montserrat,sans-serif;letter-spacing:.04em}
/* tarjetas de video */
.vid-card{display:block;position:relative;aspect-ratio:9/14;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#3A1552,#14001F);color:#fff;text-decoration:none}
.vid-thumb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}
.vid-card:hover .vid-thumb{transform:scale(1.05)}
.vid-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,0,12,.9))}
.vid-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:1;width:64px;height:64px;border-radius:50%;background:#EE4D90;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(238,77,144,.5)}
.vid-cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:flex;flex-direction:column;gap:3px}
.vid-cap small{font:600 11px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#67CAE2}
.vid-cap strong{font:700 17px Montserrat,sans-serif}
.cl-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
/* modales */
.vid-modal,.ph-modal{border:0;padding:0;background:transparent;max-width:min(94vw,1100px);max-height:92vh;overflow:visible}
.vid-modal::backdrop,.ph-modal::backdrop{background:rgba(5,0,10,.88)}
.vid-frame{width:min(90vw,420px);aspect-ratio:9/16;max-height:80vh;border-radius:18px;overflow:hidden;background:#000}
.vid-frame iframe{width:100%;height:100%;border:0}
.vid-yt{display:block;text-align:center;margin-top:12px;color:#fff;font:600 14px Montserrat,sans-serif}
.vid-close{position:absolute;top:-14px;right:-14px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#07000c;font-size:26px;line-height:1;cursor:pointer}
.ph-modal img{display:block;max-width:min(90vw,1100px);max-height:86vh;border-radius:14px}
.ph-prev,.ph-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#07000c;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ph-prev{left:12px}.ph-prev svg{transform:rotate(180deg)}.ph-next{right:12px}
/* landing clon */
.cl-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.cl-trust{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:#c9bdd3;font:500 14px Inter,system-ui,sans-serif;text-decoration:none}
.cl-trust strong{color:#fff}.cl-trust .gr-stars{font-size:14px;color:#F4B400}
.cl-visual{position:relative;margin:0;max-width:440px;justify-self:center;width:100%}
.cl-visual img{display:block;width:100%;height:auto;border-radius:28px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(238,77,144,.25)}
.cl-visual figcaption{position:absolute;top:16px;left:16px;padding:6px 10px;border-radius:999px;background:rgba(7,0,12,.7);font:600 10px Montserrat,sans-serif;letter-spacing:.14em}
.cl-chip{position:absolute;left:-18px;bottom:28px;padding:14px 18px;border-radius:16px;background:#14001F;border:1px solid rgba(255,255,255,.14);font:700 15px Montserrat,sans-serif}
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.st,.cc{background:#fff;border:1px solid #E6DEEC;border-radius:22px;padding:28px;box-shadow:0 14px 34px rgba(20,0,31,.06)}
.st-n{font:800 40px Montserrat,sans-serif;color:#D9CFE2}
.st h3,.cc h3{margin:12px 0 8px;font:700 21px Montserrat,sans-serif;color:#14001F}
.st p,.cc p{margin:0;font:400 16px/1.6 Inter,system-ui,sans-serif;color:#5E5068}
.cc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.cc{background:#14001F;border-color:#14001F}.cc h3{color:#EE4D90;margin-top:0}.cc p{color:#c9bdd3}
.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.pl{position:relative;display:flex;flex-direction:column;gap:12px;padding:32px;border-radius:26px;background:#100018;border:1px solid rgba(255,255,255,.1)}
.pl-on{border:1.5px solid #EE4D90;background:radial-gradient(400px 260px at 100% 0%,rgba(238,77,144,.22),transparent 70%),#14001F}
.pl-badge{position:absolute;top:-13px;left:28px;padding:6px 12px;border-radius:999px;background:#EE4D90;color:#fff;font:700 11px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.pl h3{margin:0;font:800 26px Montserrat,sans-serif}
.pl-sub{margin:0;color:#a99bb5;font:500 15px Inter,system-ui,sans-serif}
.pl-price{margin:6px 0 0;font:800 44px/1 Montserrat,sans-serif;letter-spacing:-.03em}
.pl-offer{margin:0;color:#67CAE2;font:600 14px Inter,system-ui,sans-serif}
.pl ul{list-style:none;margin:8px 0 10px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}
.pl li{display:flex;gap:10px;font:400 15px/1.45 Inter,system-ui,sans-serif;color:#e4d9ea}
.pl li svg{color:#EE4D90;flex-shrink:0;margin-top:1px}
.pl-alt{color:#c9bdd3;font:600 14px Inter,system-ui,sans-serif}
.pl-foot{margin:28px auto 0;max-width:860px;text-align:center;color:#a99bb5;font:400 15px/1.6 Inter,system-ui,sans-serif}
.pl-foot strong{color:#fff}
.cl-revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cl-revs .gr-card{flex:none;background:#fff}
.cl-faq{max-width:900px}
.x-faq details{border-bottom:1px solid rgba(255,255,255,.12);padding:20px 0}
.x-faq summary{cursor:pointer;font:700 18px Montserrat,sans-serif;color:#fff;list-style:none;display:flex;justify-content:space-between;gap:16px}
.x-faq summary::after{content:"+";color:#EE4D90;font-size:24px;line-height:1}
.x-faq details[open] summary::after{content:"–"}
.x-faq p{margin:12px 0 0;font:400 16px/1.6 Inter,system-ui,sans-serif;color:#c9bdd3}
@media (max-width:980px){.cl-hero,.pl-grid,.st-grid,.cc-grid,.cl-revs{grid-template-columns:minmax(0,1fr)}.cl-chip{left:12px}.x-sec{padding:72px 0}}
@media (prefers-reduced-motion:reduce){.ph-card img,.vid-thumb,.x-btn{transition:none}}

/* ===== Equipo con fotos (fase 2b) ===== */
.tm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0 28px;max-width:900px}
.tm-card{background:#fff;border:1px solid #E6DEEC;border-radius:26px;overflow:hidden;box-shadow:0 18px 44px rgba(20,0,31,.08);display:flex;flex-direction:column;text-align:left}
.tm-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#EFE7F3}
.tm-info{padding:24px 26px 28px;display:flex;flex-direction:column;gap:6px}
.tm-info h3{margin:0;font:700 22px Montserrat,sans-serif;color:#14001F;letter-spacing:-.01em}
.tm-role{font:700 12px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#B8206A}
.tm-info p{margin:8px 0 0;font:400 15px/1.6 Inter,system-ui,sans-serif;color:#5E5068}
@media (max-width:640px){.tm-grid{grid-template-columns:minmax(0,1fr);max-width:420px}}

/* equipo: solo rostro (fase 2d) */
.tm-card{flex-direction:row;align-items:center;gap:22px;padding:24px}
.tm-photo{width:120px;height:120px;flex:0 0 120px;aspect-ratio:1;border-radius:50%;object-position:center;box-shadow:0 0 0 4px #fff,0 0 0 6px #EE4D90}
.tm-info{padding:0}
@media (max-width:420px){.tm-card{flex-direction:column;text-align:center}.tm-info{align-items:center}}

/* ===== Ecosistema con pestañas (fase 2e) ===== */
.eco-tabs{display:flex;flex-wrap:wrap}
.eco-list a{color:inherit;text-decoration:none;border-bottom:1px solid #EE4D9066}.eco-list a:hover{color:#EE4D90}
.eco-close{text-align:center;padding-top:10px;padding-bottom:20px;display:flex;flex-direction:column;align-items:center;gap:22px}
.eco-close p{font:800 clamp(24px,3.4vw,38px)/1.15 Montserrat,sans-serif;color:#fff;margin:0;letter-spacing:-.02em}
.em-rows{display:grid;gap:11px;margin-top:24px}
.em-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#f9e7f0;font-size:12px;font-weight:600}
.em-row.c{background:#e0f2f7}.em-row.d{background:#230037;color:#fff}
.em-ic{width:26px;height:26px;border-radius:8px;background:#fff;color:#B8206A;display:grid;place-items:center;font-size:12px;flex:none}
.em-row.d .em-ic{background:#ffffff1f;color:#67CAE2}
.em-tag{margin-left:auto;font-size:9px;letter-spacing:.08em;opacity:.6}
.em-tl .em-ic{border-radius:50%;font-weight:800}
.em-bars{display:flex;align-items:flex-end;gap:7px;height:70px;margin-top:20px}
.em-bars span{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#EE4D90,#67CAE2)}
.em-bars.dark{height:110px;margin-top:22px}
.em-photos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:120px 120px;gap:10px;margin-top:20px}
.em-photos img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.em-photos img:nth-child(2){grid-row:span 2;object-position:center top}
.em-photos img:nth-child(3),.em-photos img:nth-child(4){display:none}
.em-review{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:14px;background:#fff;color:#14001F}
.em-review strong{display:block;font-size:14px}.em-review small{font-size:10px;color:#7d7684}
.em-stars{color:#F5B301;letter-spacing:1px}
.em-chip{margin-left:auto;font-size:10px;font-weight:700;color:#fff;padding:7px 11px;border-radius:999px;background:linear-gradient(90deg,#EE4D90,#67CAE2)}
.em-browser{border-radius:14px;overflow:hidden;background:#fff;border:1px solid #e3e4e9}
.em-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#f4f1f6}
.em-bar i{width:8px;height:8px;border-radius:50%;background:#d9d2df}
.em-bar span{margin-left:10px;font-size:10px;color:#8a8490;background:#fff;padding:3px 12px;border-radius:999px}
.em-page{padding:22px;display:grid;gap:10px;background:linear-gradient(135deg,#14001F,#3a0a52)}
.em-page b{display:block;height:10px;border-radius:6px;background:#ffffff33}
.em-page .em-l1{height:16px;width:80%;background:linear-gradient(90deg,#EE4D90,#67CAE2)}.em-page .em-l2{width:65%}.em-page .em-l3{width:45%}
.em-cta{justify-self:start;margin-top:6px;font-size:11px;font-weight:700;color:#fff;background:#EE4D90;padding:9px 16px;border-radius:999px}
.em-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}
.em-slots span{font-size:10px;font-weight:600;text-align:center;padding:9px 4px;border-radius:9px;background:#fff;border:1px solid #e3e4e9}
.em-slots .on{background:#230037;color:#fff;border-color:#230037}
.em-chat{display:grid;gap:10px;margin-top:20px}
.em-chat p{margin:0;font-size:12px;line-height:1.5;padding:11px 14px;border-radius:14px;max-width:82%}
.em-chat .in{background:#ffffff14;color:#fff;border-bottom-left-radius:4px}
.em-chat .out{justify-self:end;background:#25D366;color:#06210f;border-bottom-right-radius:4px}
.em-chat small{display:block;font-size:9px;opacity:.7;margin-top:4px}
.em-crm{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.em-crm div{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:10px;display:grid;gap:7px;align-content:start;min-height:96px}
.em-crm span{font-size:8px;letter-spacing:.1em;color:#a99bb5}
.em-crm b{display:block;height:20px;border-radius:6px;background:#ffffff1f}
.em-crm .win b{background:linear-gradient(90deg,#EE4D90,#67CAE2)}
.em-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.em-kpis div{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;padding:14px 16px}
.em-kpis small{display:block;font-size:10px;color:#a99bb5}
.em-kpis b{font:800 26px Montserrat,sans-serif;color:#fff}
@media (max-width:640px){.eco-tabs{display:grid;grid-template-columns:1fr 1fr}.em-photos{grid-template-rows:100px 100px}.em-slots{grid-template-columns:1fr 1fr}}
.em-photos img:nth-child(3){display:block}
.eco-close{padding-top:56px}

/* ===== Servicios sueltos (fase 2f) ===== */
.sv-wrap{padding-top:64px}
.sv-head{text-align:center;margin-bottom:28px}
.sv-title{font:800 clamp(22px,3vw,32px)/1.2 Montserrat,sans-serif;color:#fff;margin:14px 0 0;letter-spacing:-.02em}
.sv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sv-card{display:flex;flex-direction:column;background:#12001c;border:1px solid #ffffff1a;border-radius:20px;overflow:hidden;text-decoration:none;color:#fff;transition:transform .2s,border-color .2s}
.sv-card:hover{transform:translateY(-4px);border-color:#EE4D90}
.sv-mock{height:170px;position:relative;overflow:hidden;background:#1d0a2a}
.sv-img{width:100%;height:100%;object-fit:cover;display:block}.sv-img.top{object-position:center 18%}
.sv-badge{position:absolute;top:12px;right:12px;font:800 11px Montserrat,sans-serif;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,#EE4D90,#67CAE2)}
.sv-web{padding:18px 18px 0;background:linear-gradient(135deg,#2a0a3e,#12001c)}
.sv-web .em-bar{border-radius:10px 10px 0 0}.sv-web .em-page{padding:16px;gap:8px;height:100%}
.sv-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.sv-feed img{width:100%;height:100%;object-fit:cover;display:block}
.sv-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.sv-body h3{margin:0;font:700 17px/1.25 Montserrat,sans-serif}
.sv-body p{margin:0;font-size:13px;line-height:1.55;color:#a99bb5;flex:1}
.sv-go{font-size:12px;font-weight:700;color:#EE4D90;margin-top:6px}
@media (max-width:980px){.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.sv-grid{grid-template-columns:minmax(0,1fr)}.sv-mock{height:150px}}

/* ===== Nosotros: historia (fase 2g) ===== */
.ab-story{max-width:760px;margin:40px 0 10px}
.ab-story p{font-size:16px;line-height:1.75}
.ab-quote{font:800 clamp(22px,3vw,30px)/1.2 Montserrat,sans-serif;color:#14001F;margin-top:24px;letter-spacing:-.02em}
.ab-vals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:36px 0 50px;max-width:900px}
.ab-val{background:#fff;border:1px solid #E6DEEC;border-radius:22px;padding:24px 26px;box-shadow:0 14px 36px rgba(20,0,31,.06)}
.ab-n{font:800 13px Montserrat,sans-serif;background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-val h3{margin:8px 0 6px;font:700 19px Montserrat,sans-serif;color:#14001F}
.ab-val p{margin:0;font-size:14px;line-height:1.6;color:#5E5068}
.ab-h{margin-top:10px}
@media (max-width:640px){.ab-vals{grid-template-columns:minmax(0,1fr)}}
.detail-page .ab-story p{font-size:16px;line-height:1.75;margin:0 0 14px}
.detail-page .ab-story p.ab-quote{font:800 clamp(22px,3vw,30px)/1.2 Montserrat,sans-serif;color:#14001F;margin-top:26px;letter-spacing:-.02em}
/* servicios sueltos: banda clara (fase 2h) */
.sv-wrap{position:relative;margin-top:64px;padding-top:64px;padding-bottom:70px;background:#F4F1F6;box-shadow:0 0 0 100vmax #F4F1F6;clip-path:inset(0 -100vmax)}
.sv-title{color:#14001F}
.sv-wrap .avista-tag{color:#14001F;border-color:#14001F22;background:#fff}
.sv-card{background:#fff;border-color:#E6DEEC;color:#14001F;box-shadow:0 14px 36px rgba(20,0,31,.07)}
.sv-body p{color:#5E5068}
.sv-go{color:#B8206A}
/* carrusel hero más luminoso (fase 2k) */
.journey-card{filter:brightness(.95)}
.journey-card::after{background:linear-gradient(transparent 50%,#1d0730cc)}
.journey-card.is-center::after{background:linear-gradient(transparent 35%,#1d0730b3 65%,#1d0730ee)}
/* tarjeta seleccionada más clara (fase 2l) */
.journey-card img{transition:filter .45s ease}
.journey-card:not(.is-center){filter:brightness(.85)}
.journey-card.is-center img{filter:brightness(1.45) saturate(1.1)}
.journey-card.is-center::after{background:linear-gradient(transparent 45%,#3a1258a6 68%,#2a0b40e6);transition:background .45s}
/* contraste servicios en tarjeta (fase 2m) */
.journey-card.is-center::after{background:linear-gradient(transparent 40%,#2a0b40cc 60%,#14001Ff7 82%)}
.journey-card .journey-copy p.journey-inline-services{color:#fff;font-weight:600;font-size:13px;line-height:1.5;opacity:1;text-shadow:0 1px 8px #000a;border-top-color:#ffffff40}

.journey-track .journey-card{transition:transform .35s ease,filter .35s,outline-color .35s,box-shadow .35s}
.journey-track .journey-card-1{transform-origin:left center}.journey-track .journey-card-6{transform-origin:right center}

/* carrusel infinito (fase 2n) */
.journey-track.jt-loop{position:relative;overflow:hidden;scroll-snap-type:none;display:block}
.journey-track.jt-loop::before,.journey-track.jt-loop::after{display:block;content:none}
.journey-track.jt-loop .journey-card{position:absolute;top:50%;margin:0;transform-origin:center!important;transition:transform .5s cubic-bezier(.22,.8,.3,1),opacity .4s,filter .4s,outline-color .4s,box-shadow .4s}
.journey-track.jt-loop::before,.journey-track.jt-loop::after{display:none}
/* paneles del ecosistema más legibles (fase 2o) */
#ecosistema .solution-copy h2 span{background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent}
#ecosistema .solution-copy>p{color:#E4DAEC;font-size:16px;line-height:1.7}
#ecosistema .eco-list{gap:10px;margin:24px 0 28px}
#ecosistema .eco-list li{align-items:center;gap:14px;font-size:15px;font-weight:600;color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;padding:13px 16px;line-height:1.4}
#ecosistema .eco-list li svg{flex:none;width:26px;height:26px;padding:5px;margin:0;border-radius:50%;color:#fff;background:linear-gradient(135deg,#EE4D90,#67CAE2)}
#ecosistema .eco-list a{color:#fff;border-bottom:0}
#ecosistema .eco-list li:has(a){border-color:#EE4D9066}
#ecosistema .eco-list li:has(a):hover{background:#EE4D901f}
#ecosistema .eco-list a:hover{color:#fff}
#ecosistema .pill{color:#fff;font-weight:700}

/* flechas entre etapas (fase 2p) */
.eco-nav{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid #ffffff1a}
.eco-arrow{font:700 14px Montserrat,sans-serif;color:#fff;background:#ffffff12;border:1px solid #ffffff33;border-radius:999px;height:46px;min-width:46px;padding:0 16px;cursor:pointer;transition:background .2s,border-color .2s}
.eco-arrow:hover{background:#EE4D9033;border-color:#EE4D90}
.eco-arrow.next{margin-left:auto}
.eco-step{font:700 12px Montserrat,sans-serif;letter-spacing:.12em;color:#a99bb5}
#ecosistema .eco-list,.eco-nav{width:100%;align-self:stretch}

.sv-grad{background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent}
.sv-intro{max-width:620px;margin:14px auto 0;font-size:16px;line-height:1.65;color:#5E5068}

.sv-wrap .avista-heading.sv-h{color:#14001F;text-align:center;margin-left:auto;margin-right:auto}

.cf-actions{grid-template-columns:1fr!important}.cf .cf-btn.cf-mail{background:#EE4D90;color:#fff;border-color:#EE4D90;width:100%}.cf .cf-btn.cf-mail:hover{background:#d63a7c}
/* titulares unificados en fondos claros (fase 2q): primera línea oscura, segunda en degradado */
#el-problema h2,#como-funciona .section-title,.google-reviews h2{color:#14001F;text-transform:none;font-weight:800;letter-spacing:-.04em;line-height:1.08}
#el-problema h2 span,#como-funciona .section-title em,.google-reviews h2 span,.sv-wrap .avista-heading em{background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:normal;display:inline-block;padding-bottom:.06em}
#el-problema h2,#como-funciona .section-title,.google-reviews h2{font-size:clamp(34px,4.4vw,56px)}

/* ===== Fase 3 ===== */
.sh-brand span{color:#D9CCF2;font-weight:700}
.sh-wa{background:#25D366;border-color:#25D366;color:#06210f}
.sh-wa:hover{background:#1fbd5a;color:#06210f}
.sf-col a{display:flex;align-items:center;gap:10px}
.sf-col a svg{flex:none;opacity:.9}
#como-funciona .section-inner>.pill{display:flex;width:max-content;margin-left:auto;margin-right:auto}
#como-funciona .section-title{text-align:center;margin-left:auto;margin-right:auto}
.gr-slider{background:#fff;border:1px solid #E6DEEC;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(20,0,31,.07);padding-bottom:6px}
.gr-browser{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#F3EEF6;border-bottom:1px solid #E6DEEC}
.gr-browser i{width:11px;height:11px;border-radius:50%;background:#d4cadb}
.gr-browser span{margin-left:12px;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#5E5068;background:#fff;padding:5px 14px;border-radius:999px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gr-slider .gr-track{padding:22px 18px}
/* animación de carga */
.avista-intro>*{animation:rvUp .8s cubic-bezier(.2,.7,.2,1) both}
.avista-intro>*:nth-child(2){animation-delay:.08s}.avista-intro>*:nth-child(3){animation-delay:.16s}.avista-intro>*:nth-child(4){animation-delay:.24s}
.hero-journey{animation:rvUp .9s .3s cubic-bezier(.2,.7,.2,1) both}
.sh{animation:rvFade .6s both}
@keyframes rvUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rvFade{from{opacity:0}to{opacity:1}}
.rv-on .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--rv-d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--rv-d,0ms)}
.rv-on .rv.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.avista-intro>*,.hero-journey,.sh{animation:none}}

/* fase 3b */
#ecosistema{padding-bottom:0!important}
.sv-wrap{margin-bottom:0}
.gr-slider{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible;padding-bottom:0}
.gr-slider .gr-track{padding:0}
.google-reviews .pill{margin-bottom:18px}
.sh-cta{background:linear-gradient(90deg,#EE4D90,#B34FC8);color:#fff;border-color:transparent}
.sh-cta:hover{background:linear-gradient(90deg,#d63a7c,#9c3db3);color:#fff}

/* ===== Páginas de fotografía y video (fase 4) ===== */
.sv2-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:26px 0 8px}
.sv2-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0 10px}
.sv2-gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;display:block}
.sv2-h{margin:56px 0 20px}
.sv2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sv2-grid.sv2-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sv2-card{background:#fff;border:1px solid #E6DEEC;border-radius:22px;padding:26px 26px 22px;box-shadow:0 14px 36px rgba(20,0,31,.06)}
.sv2-card h3{margin:0 0 8px;font:700 20px Montserrat,sans-serif;color:#14001F}
.sv2-card p{margin:0 0 14px;color:#5E5068;font-size:15px;line-height:1.6}
.sv2-card ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sv2-card li{position:relative;padding-left:26px;font-size:14px;font-weight:600;color:#14001F;line-height:1.45}
.sv2-card li:before{content:'';position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:linear-gradient(135deg,#EE4D90,#67CAE2)}
.sv2-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.sv2-chips li{background:#fff;border:1px solid #EE4D9055;color:#14001F;font-weight:600;font-size:14px;padding:11px 18px;border-radius:999px}
.sv2-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sv2-steps li{background:#fff;border:1px solid #E6DEEC;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:6px}
.sv2-steps b{font:800 13px Montserrat,sans-serif;background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent}
.sv2-steps strong{font:700 16px Montserrat,sans-serif;color:#14001F}
.sv2-steps span{font-size:14px;line-height:1.55;color:#5E5068}
.sv2-note{margin:40px 0 10px;font-size:15px}
.sv2-note a{font-weight:700;color:#B8206A}
@media (max-width:900px){.sv2-grid.sv2-3,.sv2-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.sv2-gal{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.sv2-grid,.sv2-grid.sv2-3,.sv2-steps{grid-template-columns:minmax(0,1fr)}}

/* ===== Cabecera con ondas en páginas internas (fase 5) ===== */
.ph-hero{position:relative;overflow:hidden;background:#07000c;color:#fff;padding:64px 0 76px}
.ph-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07000cd9 0%,#07000c80 55%,#07000c33 100%);z-index:1;pointer-events:none}
.ph-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#07000c);z-index:1;pointer-events:none}
.ph-in{position:relative;z-index:2}
.ph-hero h1{color:#fff;margin:14px 0 0;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.04em;max-width:900px}
.ph-hero .detail-lead{color:#E4DAEC;max-width:680px;margin-top:18px;font-size:18px;line-height:1.6}
.ph-hero .page-back{color:#cdbfd8;display:inline-block;margin-bottom:18px}
.ph-hero .pill{background:#ffffff14;border-color:#ffffff33;color:#fff}
main.detail-page.ph-after{padding-top:56px}
.x-hero{position:relative;overflow:hidden}
.x-hero>.x-wrap{position:relative;z-index:2}
.x-hero>.waves-wrap{opacity:.7;z-index:0}
.x-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07000cd9,#07000c66);z-index:1;pointer-events:none}
.ph-in>*{animation:rvUp .8s cubic-bezier(.2,.7,.2,1) both}.ph-in>*:nth-child(2){animation-delay:.08s}.ph-in>*:nth-child(3){animation-delay:.16s}.ph-in>*:nth-child(4){animation-delay:.24s}@media (prefers-reduced-motion:reduce){.ph-in>*{animation:none}}

/* ===== Fase 6: CTA por servicio y galería de eventos ===== */
.sv2-gal8{grid-template-columns:repeat(4,1fr)}
.sv2-gal a{display:block;border-radius:18px;overflow:hidden}.sv2-gal a img{transition:transform .4s}.sv2-gal a:hover img{transform:scale(1.04)}
.cta2{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:34px 38px}
.cta2-ic{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#EE4D90,#67CAE2);box-shadow:0 14px 34px #EE4D9044}
.cta2-txt h2{margin:0 0 6px}.cta2-txt p{margin:0}
.cta2-btns{display:flex;flex-direction:column;gap:10px}
.cta2 .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.cta2 .cta-wa{background:#25D366;color:#06210f;border-color:#25D366}
.cta2 .cta-wa:hover{background:#1fbd5a}
.cta2 .cta-form{background:#fff;color:#14001F;border-color:#fff}
.cta2 .cta-form:hover{background:#F3EEF6}
@media (max-width:860px){.cta2{grid-template-columns:1fr;text-align:left;gap:18px;padding:28px 24px}.cta2-btns{flex-direction:column}}

/* fase 7: galería redes */
.sv2-sub{color:#5E5068;margin:-8px 0 20px;font-size:15px}
.rd-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rd-item{position:relative;display:block;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #E6DEEC;box-shadow:0 12px 30px rgba(20,0,31,.06)}
.rd-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.rd-item:hover img{transform:scale(1.04)}
.rd-item span{position:absolute;left:12px;bottom:12px;background:#14001Fd9;color:#fff;font:700 12px Montserrat,sans-serif;padding:6px 12px;border-radius:999px}
@media (max-width:900px){.rd-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rd-gal{grid-template-columns:minmax(0,1fr)}}

/* ===== Fase 10 ===== */
/* paneles del ecosistema: mismo tamaño, compactos y alineados */
@media (min-width:901px){
#ecosistema .avista-service-panel .solution-inner{grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;height:500px}
#ecosistema .solution-copy{display:flex;flex-direction:column;justify-content:space-between;height:100%;box-sizing:border-box;padding:28px 30px!important;overflow:hidden}
#ecosistema .solution-visual{height:100%;margin:0;display:flex;flex-direction:column}
#ecosistema .solution-visual .mockup{flex:1;min-height:0!important;height:auto;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding:24px 26px;overflow:hidden}
#ecosistema .solution-visual .mock-caption{margin-top:8px}
}
#ecosistema .solution-copy h2{font-size:clamp(24px,2.4vw,30px);line-height:1.12;margin:12px 0 10px}
#ecosistema .solution-copy>p{font-size:15px;line-height:1.6;margin:0}
#ecosistema .eco-list{gap:8px;margin:16px 0 18px}
#ecosistema .eco-list li{padding:10px 14px;font-size:14px}
#ecosistema .eco-list li svg{width:22px;height:22px;padding:4px}
#ecosistema .solution-copy .button{align-self:flex-start;padding-top:12px;padding-bottom:12px}
#ecosistema .em-photos{grid-template-rows:96px 96px}
#ecosistema .em-bars.dark{height:80px}
#ecosistema .em-kpis b{font-size:22px}
/* navegación entre etapas */
.eco-nav{margin-top:18px;padding-top:16px;gap:12px}
.eco-dots{display:flex;align-items:center;gap:7px;margin:0 auto}
.eco-dot{width:9px;height:9px;min-width:0;padding:0;border-radius:999px;background:#ffffff33;border:0;cursor:pointer;transition:width .3s,background .3s}
.eco-dot:hover{background:#ffffff80}
.eco-dot.on{width:26px;background:linear-gradient(90deg,#EE4D90,#67CAE2)}
.eco-arrow:not(.eco-dot){height:42px;min-width:42px;font-size:13px}
.eco-arrow.eco-next{margin-left:0;background:linear-gradient(90deg,#EE4D90,#B34FC8);border-color:transparent}
.eco-arrow.eco-next:hover{filter:brightness(1.08)}
/* reseñas: tarjetas completas, nunca cortadas */
.gr-slider .gr-track{gap:20px;padding:6px 0 10px}
.gr-slider .gr-card{flex:0 0 calc((100% - 40px)/3);width:auto;scroll-snap-align:start}
@media (max-width:1000px){.gr-slider .gr-card{flex-basis:calc((100% - 20px)/2)}}
@media (max-width:640px){.gr-slider .gr-card{flex-basis:100%}}
/* VSL en portafolio */
.pf-vsl{background:#14001F}
.pf-embed{position:relative;aspect-ratio:16/9}
.pf-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.pf-vsl .pf-tag{position:static;display:inline-block;margin:12px 14px 14px}
@media (min-width:901px){#ecosistema .avista-service-panel .solution-inner{height:580px}}

.vsl-facade{position:absolute;inset:0;width:100%;border:0;cursor:pointer;color:#fff;text-align:left;display:flex;align-items:flex-end;padding:20px;background:radial-gradient(circle at 30% 30%,#EE4D9099,transparent 55%),radial-gradient(circle at 80% 70%,#67CAE288,transparent 55%),#14001F}
.vsl-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#fff;color:#EE4D90;display:grid;place-items:center;box-shadow:0 14px 40px #0008;transition:transform .25s}
.vsl-facade:hover .vsl-play{transform:translate(-50%,-50%) scale(1.08)}
.vsl-txt small{display:block;font:700 10px Montserrat,sans-serif;letter-spacing:.14em;color:#67CAE2}
.vsl-txt strong{font:700 16px Montserrat,sans-serif}

/* portafolio ordenado: cuadrícula uniforme (fase 11) */
.pf-grid{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.pf-item{margin:0;aspect-ratio:4/3;border-radius:18px;box-shadow:0 10px 28px #0006}
.pf-item img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .45s ease}
.pf-item:hover img{transform:scale(1.05)}
.pf-item .pf-tag{position:absolute;left:12px;bottom:12px;z-index:2}
.pf-item.ph-card::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#14001Fb3);pointer-events:none}
.pf-vsl .pf-embed{position:absolute;inset:0;aspect-ratio:auto}
.pf-vsl .pf-tag{position:absolute;margin:0}
.pf-vsl .vsl-facade{padding-bottom:48px}
.pf-filters{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){.pf-grid{grid-template-columns:1fr 1fr;gap:10px}.pf-item .pf-tag{font-size:10px;left:8px;bottom:8px}}
/* nota de enlace cruzado como banner (fase 12) */
.sv2-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;margin:40px 0 10px;padding:22px 26px;border-radius:20px;background:#fff;border:1px solid #E6DEEC;box-shadow:0 12px 30px rgba(20,0,31,.06);font:600 17px/1.4 Montserrat,sans-serif;color:#14001F;letter-spacing:-.01em}
.sv2-note a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:700 14px Montserrat,sans-serif;color:#fff;background:linear-gradient(90deg,#EE4D90,#B34FC8);padding:12px 20px;border-radius:999px;text-decoration:none;transition:filter .2s}
.sv2-note a:hover{filter:brightness(1.08);color:#fff}

/* visor de fotos a pantalla completa (fase 13) */
.ph-modal{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:transparent;padding:24px 90px}
.ph-modal[open]{display:flex}
.ph-modal::backdrop{background:rgba(7,0,12,.94);backdrop-filter:blur(6px)}
.ph-modal img{max-width:min(100%,1100px);max-height:calc(100vh - 140px);width:auto;height:auto;border-radius:16px;box-shadow:0 30px 80px #000c;object-fit:contain}
.ph-cap{display:flex;align-items:center;gap:14px;margin:0;font:600 13px Montserrat,sans-serif;color:#E4DAEC}
.ph-tag{background:#ffffff14;border:1px solid #ffffff2e;padding:6px 14px;border-radius:999px}
.ph-count{color:#a99bb5;letter-spacing:.1em}
.ph-modal .ph-prev,.ph-modal .ph-next{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:#ffffff14;border:1px solid #ffffff38;color:#fff;backdrop-filter:blur(8px);transition:background .2s}
.ph-modal .ph-prev:hover,.ph-modal .ph-next:hover{background:#EE4D90;border-color:#EE4D90}
.ph-modal .ph-prev{left:24px}.ph-modal .ph-next{right:24px}
.ph-modal .vid-close{position:fixed;top:20px;right:24px;width:48px;height:48px;background:#ffffff14;border:1px solid #ffffff38;color:#fff;font-size:26px;backdrop-filter:blur(8px)}
.ph-modal .vid-close:hover{background:#EE4D90;border-color:#EE4D90}
@media (max-width:700px){.ph-modal{padding:70px 12px 90px}.ph-modal img{max-height:calc(100vh - 200px);border-radius:12px}
.ph-modal .ph-prev,.ph-modal .ph-next{top:auto;bottom:22px;transform:none;width:50px;height:50px}.ph-modal .ph-prev{left:calc(50% - 64px)}.ph-modal .ph-next{right:calc(50% - 64px)}
.ph-modal .vid-close{top:14px;right:14px}.ph-cap{font-size:12px}}
/* móvil (fase 13b) */
.ph-hero .page-back{display:block;width:max-content}
@media (max-width:700px){.ph-hero{padding:40px 0 56px}.ph-hero .ph-in{padding-left:20px;padding-right:20px}.ph-hero h1{font-size:34px}.ph-hero .detail-lead{font-size:16px}
.pf-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-20px;padding-right:20px}.pf-filters::-webkit-scrollbar{display:none}.pf-f{flex:none}}
.pf-item.ph-card .pf-tag{display:none}.pf-item.ph-card::after{display:none}

/* ===== Contacto (fase 14) ===== */
.ct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.ct-info{display:grid;gap:14px}
.ct-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #E6DEEC;border-radius:20px;padding:20px 22px;box-shadow:0 12px 30px rgba(20,0,31,.06);text-decoration:none;color:#14001F}
.ct-card h2{margin:0 0 4px;font:700 16px Montserrat,sans-serif;color:#14001F}
.ct-card p{margin:0;font-size:14px;line-height:1.55;color:#5E5068}
.ct-card p.ct-big{font:700 18px Montserrat,sans-serif;color:#14001F;margin-bottom:4px}
.ct-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#EE4D90,#67CAE2)}
.ct-wa .ct-ic{background:#25D366;color:#06210f}
.ct-btn-wa{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:#25D366;color:#06210f;border-color:#25D366}
.ct-btn-wa svg{width:18px;height:18px}
.ct-follow{display:block}
.ct-socs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.ct-soc{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:14px;background:#F6F1F8;border:1px solid #E6DEEC;color:#14001F;font:600 12px Montserrat,sans-serif;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.ct-soc svg{width:22px;height:22px}
.ct-soc:hover{background:linear-gradient(135deg,#EE4D90,#B34FC8);color:#fff;transform:translateY(-2px)}
.ct-rank{align-items:center;background:#14001F;border-color:#14001F}
.ct-rank h2{color:#fff}.ct-rank p{color:#cdbfd8}
.ct-go{margin-left:auto;font-size:22px;color:#EE4D90}
.ct-rank:hover .ct-go{transform:translateX(3px)}
.ct-form{margin:0}
.ct-form .cf{position:sticky;top:96px}
@media (max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-form{order:-1}.ct-form .cf{position:static}}
@media (max-width:420px){.ct-socs{grid-template-columns:repeat(2,1fr)}}

/* slider de logos de clientes (fase 16) */
.lg-sec{background:#07000c;padding:44px 0 52px;overflow:hidden}
.lg-title{text-align:center;margin:0 0 28px;font:700 12px Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#a99bb5}
.lg-track{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.lg-row{display:flex;align-items:center;gap:64px;width:max-content;list-style:none;margin:0;padding:0;animation:lgMove 55s linear infinite}
.lg-track:hover .lg-row{animation-play-state:paused}
.lg-row li{flex:none}
.lg-row img{display:block;height:52px;width:auto;max-width:170px;object-fit:contain;opacity:.7;transition:opacity .25s,transform .25s}
.lg-row img:hover{opacity:1;transform:scale(1.06)}
@keyframes lgMove{to{transform:translateX(calc(-50% - 32px))}}
@media (max-width:640px){.lg-row{gap:40px;animation-duration:40s}.lg-row img{height:40px;max-width:130px}@keyframes lgMove{to{transform:translateX(calc(-50% - 20px))}}}
@media (prefers-reduced-motion:reduce){.lg-row{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* fase 17: reseñas y logos dentro de páginas internas */
.detail-page .google-reviews{margin:56px 0 0;padding:0;background:none}
.detail-page .google-reviews>.section-inner{padding:0}
.detail-page .lg-sec{margin:48px calc(50% - 50vw) 56px;border-radius:0}
/* móvil: filtros en varias filas y videos del clon en una columna (fase 18) */
@media (max-width:700px){
.pf-filters{flex-wrap:wrap!important;overflow:visible!important;margin-right:0!important;padding-right:0!important;gap:8px}
.pf-f{flex:none;padding:9px 14px;font-size:13px}
.pf-f:focus-visible{outline-offset:2px}
.x-hero .pf-filters{margin-bottom:0}
.cl-vids{grid-template-columns:minmax(0,1fr)!important;max-width:420px;margin-left:auto;margin-right:auto}
}
@media (max-width:700px){.x-hero.x-hero-sm{padding-bottom:20px!important}.x-sec.x-tight{padding-top:20px!important}}

/* tarjetas por marca (fase 19) */
.pf-item.pf-brand .pf-tag{display:inline-block;position:absolute;left:12px;bottom:12px;z-index:2}
.pf-item.pf-brand::after{display:block}
.pf-count{position:absolute;top:12px;right:12px;z-index:2;font:700 11px Montserrat,sans-serif;color:#fff;background:#14001Fcc;border:1px solid #ffffff33;padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.rd-item em{position:absolute;top:12px;right:12px;font:700 11px Montserrat,sans-serif;font-style:normal;color:#fff;background:#14001Fcc;padding:5px 10px;border-radius:999px}

/* ===== Redes sociales (fase 21) ===== */
.rs-light{color:#fff}
.rs-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;margin:10px 0 20px}
.rs-intro h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.03em;margin:14px 0 0;color:#14001F}
.rs-intro>p{font-size:17px;line-height:1.75;color:#5E5068;margin:0}
.rs-bens{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.rs-ben{background:#fff;border:1px solid #E6DEEC;border-radius:20px;padding:22px 20px;box-shadow:0 12px 30px rgba(20,0,31,.06);transition:transform .3s,box-shadow .3s}
.rs-ben:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(238,77,144,.16)}
.rs-n{font:800 28px Montserrat,sans-serif;background:linear-gradient(90deg,#EE4D90,#67CAE2);-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-ben h3{margin:10px 0 6px;font:700 16px/1.25 Montserrat,sans-serif;color:#14001F}
.rs-ben p{margin:0;font-size:14px;line-height:1.55;color:#5E5068}
.rs-pils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:p}
.rs-pil{position:relative;background:#fff;border:1px solid #E6DEEC;border-radius:22px;padding:26px;overflow:hidden;transition:transform .3s,border-color .3s}
.rs-pil::before{content:'';position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,#EE4D90,#67CAE2);transition:width 1s .3s ease}
.rs-pil.rv-in::before,.rs-pil:hover::before{width:100%}
.rs-pil:hover{transform:translateY(-6px);border-color:#EE4D9055}
.rs-pil-top{display:flex;align-items:center;justify-content:space-between}
.rs-ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#EE4D90,#67CAE2);box-shadow:0 12px 26px #EE4D9040;transition:transform .4s}
.rs-pil:hover .rs-ic{transform:rotate(-8deg) scale(1.08)}
.rs-step{font:800 40px Montserrat,sans-serif;color:#F1EAF5}
.rs-pil h3{margin:16px 0 6px;font:700 20px Montserrat,sans-serif;color:#14001F}
.rs-pil p{margin:0 0 12px;font-size:15px;line-height:1.6;color:#5E5068}
.rs-pil ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rs-pil li{position:relative;padding-left:24px;font-size:14px;font-weight:600;color:#14001F}
.rs-pil li::before{content:'';position:absolute;left:0;top:4px;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,#EE4D90,#67CAE2)}
.rs-dark{margin:64px calc(50% - 50vw) 0;padding:64px max(20px,calc(50vw - 550px));background:radial-gradient(circle at 15% 20%,#EE4D9033,transparent 45%),radial-gradient(circle at 85% 80%,#67CAE22e,transparent 45%),#07000c;color:#fff;text-align:center}
.rs-dark h2{font-size:clamp(28px,3.4vw,42px);margin:0 0 10px;color:#fff}
.rs-dark>p{color:#cdbfd8;max-width:620px;margin:0 auto 34px;font-size:16px;line-height:1.6}
.rs-mets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;text-align:left}
.rs-met{position:relative;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:20px;padding:22px;overflow:hidden}
.rs-met strong{display:block;font:800 22px Montserrat,sans-serif;margin-bottom:6px}
.rs-met span{font-size:14px;color:#cdbfd8;line-height:1.5}
.rs-met i{position:absolute;left:22px;right:22px;bottom:16px;height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}
.rs-met i::after{content:'';position:absolute;inset:0;width:0;background:linear-gradient(90deg,#EE4D90,#67CAE2);transition:width 1.4s .4s cubic-bezier(.2,.7,.2,1)}
.rs-met.rv-in i::after{width:78%}
.rs-met:nth-child(2).rv-in i::after{width:64%}.rs-met:nth-child(3).rv-in i::after{width:52%}.rs-met:nth-child(4).rv-in i::after{width:88%}
.rs-met{padding-bottom:40px}
.rs-faqs{display:grid;gap:10px;max-width:860px}
.rs-faq{background:#fff;border:1px solid #E6DEEC;border-radius:16px;padding:0 22px;transition:border-color .2s}
.rs-faq[open]{border-color:#EE4D9066}
.rs-faq summary{cursor:pointer;list-style:none;padding:18px 0;font:700 16px Montserrat,sans-serif;color:#14001F;display:flex;justify-content:space-between;gap:16px}
.rs-faq summary::-webkit-details-marker{display:none}
.rs-faq summary::after{content:'+';font-size:22px;color:#EE4D90;transition:transform .3s}
.rs-faq[open] summary::after{transform:rotate(45deg)}
.rs-faq p{margin:0 0 18px;color:#5E5068;line-height:1.65}
@media (max-width:1000px){.rs-bens{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-pils{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-mets{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-intro{grid-template-columns:1fr;gap:16px}}
@media (max-width:600px){.rs-bens,.rs-pils,.rs-mets{grid-template-columns:minmax(0,1fr)}}
/* fase 22: botón solo centrado y FAQ a ancho completo */
.sv2-note.sv2-only{justify-content:center;background:none;border:0;box-shadow:none;padding:0;margin:28px 0 0}
.rs-faqs{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
.rs-faq summary{font-size:15px}
@media (max-width:800px){.rs-faqs{grid-template-columns:minmax(0,1fr)}}

/* fase 23: galería de fotografía */
.fg-h{margin:26px 0 12px;font:700 18px Montserrat,sans-serif;color:#14001F}
.fg-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.fg-gal a{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#EFE7F3}
.fg-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.fg-gal a:hover img{transform:scale(1.06)}
.rs-nobar{padding-bottom:22px}
@media (max-width:560px){.fg-gal{grid-template-columns:repeat(2,1fr);gap:8px}}

.fg-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fg-city{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #E6DEEC;border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(20,0,31,.06);transition:transform .3s}
.fg-city:hover{transform:translateY(-5px)}
.fg-city .rs-ic{flex:none;width:48px;height:48px}
.fg-city h3{margin:2px 0 4px;font:700 20px Montserrat,sans-serif;color:#14001F}
.fg-city p{margin:0;font-size:14px;line-height:1.55;color:#5E5068}
@media (max-width:800px){.fg-city-grid{grid-template-columns:minmax(0,1fr)}}
/* beneficios en morado, más dinámicos (fase 25) */
.rs-bens{gap:16px;align-items:start}
.rs-ben{position:relative;overflow:hidden;border:0;color:#fff;padding:26px 22px 28px;border-radius:24px;background:linear-gradient(160deg,#3a0f5c 0%,#230037 55%,#14001F 100%);box-shadow:0 18px 40px rgba(35,0,55,.28);isolation:isolate}
.rs-ben:nth-child(even){margin-top:28px;background:linear-gradient(160deg,#5a1a7a 0%,#2e0a48 60%,#14001F 100%)}
.rs-ben::before{content:'';position:absolute;width:180px;height:180px;right:-70px;top:-70px;border-radius:50%;background:radial-gradient(circle,#EE4D9066,transparent 70%);z-index:-1;transition:transform .5s}
.rs-ben::after{content:'';position:absolute;left:0;bottom:0;height:4px;width:0;background:linear-gradient(90deg,#EE4D90,#67CAE2);transition:width .8s .2s ease}
.rs-ben.rv-in::after{width:100%}
.rs-ben:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(238,77,144,.3)}
.rs-ben:hover::before{transform:scale(1.4)}
.rs-ben .rs-n{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:20px;color:#fff;-webkit-text-fill-color:#fff;background:linear-gradient(135deg,#EE4D90,#B34FC8 60%,#67CAE2);box-shadow:0 10px 24px #EE4D9055}
.rs-ben h3{color:#fff;font-size:17px;margin:18px 0 8px}
.rs-ben p{color:#d8c9e6}
@media (max-width:1000px){.rs-ben:nth-child(even){margin-top:0}}
/* invitación al portafolio centrada (fase 26) */
.sv2-note.sv2-only{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:none;box-sizing:border-box;gap:14px;margin:40px 0 0;font:600 16px Montserrat,sans-serif;color:#5E5068}
.sv2-note.sv2-only a{padding:16px 30px;font-size:15px;box-shadow:0 14px 32px rgba(238,77,144,.3);transition:transform .25s,box-shadow .25s}
.sv2-note.sv2-only a b{display:inline-block;transition:transform .25s}
.sv2-note.sv2-only a:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(238,77,144,.4)}
.sv2-note.sv2-only a:hover b{transform:translateX(5px)}

/* ===== Mosaico editorial (fase 28) ===== */
.pf-grid,.fg-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:14px}
.pf-grid .pf-item,.fg-gal a{aspect-ratio:auto;height:100%;margin:0}
.fg-gal a{border-radius:16px}
.mz-wide{grid-column:span 2}
.mz-tall{grid-row:span 2}
.mz-big{grid-column:span 2;grid-row:span 2}
.pf-item img,.fg-gal img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.pf-grid,.fg-gal{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:180px}}
@media (max-width:560px){.pf-grid,.fg-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px}.mz-big{grid-column:span 2;grid-row:span 2}}

/* portafolio en álbumes (fase 29) */
#pf-grid.pf-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;gap:20px}
#pf-grid .pf-album{aspect-ratio:4/3;height:auto;border-radius:20px;box-shadow:0 16px 36px #0007;transition:transform .3s,box-shadow .3s}
#pf-grid .pf-album:hover{transform:translateY(-6px);box-shadow:0 24px 50px #EE4D9040}
#pf-grid .pf-album .pf-tag{font-size:14px;padding:8px 14px}
#pf-grid .pf-album::before{content:'';position:absolute;inset:8px -6px auto;height:100%;border-radius:20px;background:#ffffff14;z-index:-1}
#pf-grid .pf-vsl.pf-album{aspect-ratio:4/3}
@media (max-width:900px){#pf-grid.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#pf-grid.pf-grid{grid-template-columns:minmax(0,1fr);gap:14px}}

/* ===== Portada animada (fase 30) ===== */
.avista-hero .waves{transform:translate3d(calc(var(--mx,0)*-60px),calc(var(--my,0)*-40px),0) scale(1.05);transition:transform .1s linear}
.avista-hero .waves.blurw{transform:translate3d(calc(var(--mx,0)*-110px),calc(var(--my,0)*-70px),0) scale(1.1)}
.avista-hero .wv{animation:hxDrift 12s ease-in-out infinite alternate!important}
.avista-hero .wv2{animation-duration:16s!important;animation-direction:alternate-reverse!important}
@keyframes hxDrift{0%{transform:translate(-60px,12px) scaleY(1)}50%{transform:translate(10px,-18px) scaleY(1.08)}100%{transform:translate(60px,8px) scaleY(.95)}}
.avista-hero .waves-wrap::after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;left:calc(50% + var(--mx,0)*600px - 260px);top:calc(40% + var(--my,0)*400px - 260px);background:radial-gradient(circle,#EE4D9033,transparent 65%);filter:blur(20px);pointer-events:none}
.avista-intro{transform:translate3d(calc(var(--mx,0)*18px),calc(var(--my,0)*12px),0)}
.hx{perspective:800px}
.hx .hw{display:inline-block;opacity:0;transform:translateY(40px) rotateX(-60deg);transform-origin:50% 100%;animation:hxIn .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*90ms + .15s)}
.hx .hw:nth-child(odd){translate:calc(var(--mx,0)*14px) calc(var(--my,0)*10px)}
.hx .hw:nth-child(even){translate:calc(var(--mx,0)*-10px) calc(var(--my,0)*-8px)}
@keyframes hxIn{to{opacity:1;transform:none}}
.hx .hx-grad{background:linear-gradient(90deg,#EE4D90,#B34FC8,#67CAE2,#EE4D90);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hxIn .9s cubic-bezier(.2,.8,.2,1) forwards calc(5*90ms + .15s),hxShine 6s linear infinite 1.2s}
@keyframes hxShine{to{background-position:300% 0}}
@media (prefers-reduced-motion:reduce){.hx .hw{opacity:1;transform:none;animation:none}.avista-hero .wv{animation:none!important}}
.avista-intro h1.hx .hw:not(.hx-grad){color:#fff;-webkit-text-fill-color:#fff;background:none}
.hx .hw:nth-child(odd){translate:calc(var(--mx,0)*8px) calc(var(--my,0)*5px)}
.hx .hw:nth-child(even){translate:calc(var(--mx,0)*-6px) calc(var(--my,0)*-4px)}
/* fondo animado de La solución (fase 31) */
#ecosistema{position:relative;isolation:isolate;overflow:hidden}
#ecosistema::before,#ecosistema::after{content:'';position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none;will-change:transform}
#ecosistema::before{width:620px;height:620px;left:-160px;top:6%;background:#EE4D90;opacity:.22;animation:ecoA 18s ease-in-out infinite alternate;translate:calc(var(--ex,0)*80px) calc(var(--ey,0)*60px)}
#ecosistema::after{width:560px;height:560px;right:-140px;top:38%;background:#67CAE2;opacity:.18;animation:ecoB 22s ease-in-out infinite alternate;translate:calc(var(--ex,0)*-90px) calc(var(--ey,0)*-60px)}
@keyframes ecoA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(180px,120px) scale(1.15)}100%{transform:translate(60px,320px) scale(.9)}}
@keyframes ecoB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-200px,-140px) scale(1.12)}100%{transform:translate(-80px,160px) scale(.95)}}
@media (prefers-reduced-motion:reduce){#ecosistema::before,#ecosistema::after{animation:none}}

/* fase 32: VSL destacado */
.vd-feature{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;align-items:center;background:#14001F;border-radius:24px;padding:18px;box-shadow:0 20px 50px rgba(20,0,31,.25)}
.vd-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.vd-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vd-side{color:#fff;padding:10px 14px}
.vd-side h3{margin:0 0 8px;font:700 22px Montserrat,sans-serif;color:#fff}
.vd-side p{color:#cdbfd8;line-height:1.6;margin:0 0 14px}
.vd-side .service-detail-link{color:#67CAE2}
@media (max-width:800px){.vd-feature{grid-template-columns:1fr}}
/* cabeceras internas animadas (fase 33) */
.ph-hero .waves,.x-hero .waves{transform:translate3d(calc(var(--mx,0)*-60px),calc(var(--my,0)*-40px),0) scale(1.05)}
.ph-hero .waves.blurw,.x-hero .waves.blurw{transform:translate3d(calc(var(--mx,0)*-110px),calc(var(--my,0)*-70px),0) scale(1.1)}
.ph-hero .wv,.x-hero .wv{animation:hxDrift 12s ease-in-out infinite alternate!important}
.ph-hero .wv2,.x-hero .wv2{animation-duration:16s!important;animation-direction:alternate-reverse!important}
.ph-hero .waves-wrap::after,.x-hero .waves-wrap::after{content:'';position:absolute;width:480px;height:480px;border-radius:50%;left:calc(50% + var(--mx,0)*600px - 240px);top:calc(45% + var(--my,0)*400px - 240px);background:radial-gradient(circle,#EE4D9033,transparent 65%);filter:blur(20px);pointer-events:none}
.ph-in,.x-hero>.x-wrap{transform:translate3d(calc(var(--mx,0)*16px),calc(var(--my,0)*10px),0)}
.ph-in>h1{animation:none!important}
h1.hx-in{opacity:1!important;transform:none!important}
.hx .hx-g2{animation:hxIn .9s cubic-bezier(.2,.8,.2,1) forwards calc(var(--i)*90ms + .15s),hxShine 6s linear infinite 1.2s;background-image:linear-gradient(90deg,#EE4D90,#B34FC8,#67CAE2,#EE4D90);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ph-hero h1.hx .hw:not(.hx-g2),.x-hero h1.hx .hw:not(.hx-g2){color:#fff;-webkit-text-fill-color:#fff}
/* ===== Micro movimientos al pasar el mouse (fase 34) ===== */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
.button,.sh-cta,.sh-wa,.x-btn,.ecosystem-button,.cf-btn,.eco-arrow,.pf-f,.ct-soc,.gr-prev,.gr-next{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,filter .25s}
.button:hover,.sh-cta:hover,.sh-wa:hover,.x-btn:hover,.ecosystem-button:hover,.cf-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(238,77,144,.28)}
.button:active,.sh-cta:active,.x-btn:active,.cf-btn:active{transform:translateY(0) scale(.98)}
.button,.sh-cta,.x-btn{position:relative;overflow:hidden}
.button::after,.sh-cta::after,.x-btn::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.button:hover::after,.sh-cta:hover::after,.x-btn:hover::after{left:130%}
.sh-link,.sf-col a,.service-detail-link,.page-back{position:relative;transition:color .2s}
.sh-link::after,.sf-col a::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:2px;background:linear-gradient(90deg,#EE4D90,#67CAE2);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.sh-link:hover::after,.sf-col a:hover::after{transform:scaleX(1)}
.sf-col a{display:inline-flex;width:max-content}
.sf-col a svg,.ct-soc svg,.sh-ico svg{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.sf-col a:hover svg,.ct-soc:hover svg{transform:translateY(-2px) rotate(-8deg) scale(1.1)}
.sh-item:hover .sh-ico svg{transform:scale(1.15) rotate(-6deg)}
.sh-item{transition:transform .25s,background .25s}.sh-item:hover{transform:translateX(3px)}
.page-back:hover{color:#EE4D90}
.service-detail-link:hover{transform:translateX(3px)}
.pf-f:hover{transform:translateY(-2px)}
.eco-arrow:hover{transform:translateY(-2px)}
.gr-prev:hover,.gr-next:hover{transform:scale(1.08)}
.rs-ic,.cta2-ic,.ct-ic,.ecosystem-icon{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.ct-card:hover .ct-ic,.detail-cta:hover .cta2-ic{transform:rotate(-8deg) scale(1.08)}
.ct-card,.gr-card,.process-card,.problem-card,.tm-card,.ab-val,.detail-card,.sv2-card,.sv2-steps li,.fg-city,.rd-item,.sv-card,.rs-met{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.ct-card:hover,.gr-card:hover,.process-card:hover,.problem-card:hover,.ab-val:hover,.detail-card:hover,.sv2-card:hover,.sv2-steps li:hover,.rs-met:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(20,0,31,.12)}
.tm-card:hover .tm-photo{transform:scale(1.05)}.tm-photo{transition:transform .4s}
.lg-row img:hover{transform:scale(1.08) translateY(-2px)}
.sv2-chips li{transition:transform .25s,background .25s,color .25s}.sv2-chips li:hover{transform:translateY(-2px);background:#EE4D90;color:#fff}
.rs-faq{transition:transform .25s,border-color .25s,box-shadow .25s}.rs-faq:hover{transform:translateX(3px);box-shadow:0 10px 24px rgba(20,0,31,.06)}
.eco-list li{transition:transform .25s,background .25s}.eco-list li:hover{transform:translateX(4px)}
.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .2s ease-out}
}
/* entrada sutil de logos (fase 36) */
.lg-wait .lg-title{opacity:0;transform:translateY(12px);transition:opacity 1s ease,transform 1s ease}
.lg-wait .lg-row li{opacity:0;filter:blur(6px);transform:translateY(14px) scale(.96)}
.lg-wait .lg-row{animation-play-state:paused}
.lg-wait.lg-in .lg-title{opacity:1;transform:none}
.lg-wait.lg-in .lg-row{animation-play-state:running}
.lg-wait.lg-in .lg-row li{opacity:1;filter:none;transform:none;transition:opacity 1.2s ease,filter 1.2s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k,0)*90ms + .2s)}
.lg-wait.lg-in .lg-track:hover .lg-row{animation-play-state:paused}
