html,body{background:#fff0}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:400;color:#003D5C;background:#FFF;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{list-style:none}:root{--navy:#003D5C;--navy-soft:#0a4d70;--navy-deep:#002a40;--turquoise:#7FA89C;--turquoise-light:#D4E4DD;--turquoise-dark:#698f83;--white:#FFFFFF;--cream:#F4F1EC;--gray:#F5F5F5;--gray-line:#E8ECEF;--gray-text:#5a6772;--whatsapp:#25D366;--shadow-sm:0 2px 8px rgba(0, 61, 92, 0.06);--shadow-md:0 8px 24px rgba(0, 61, 92, 0.08);--shadow-lg:0 20px 50px rgba(0, 61, 92, 0.14);--radius:14px;--container:1280px}.container{max-width:var(--container);margin:0 auto;padding:0 24px}h1,h2,h3,h4{font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--navy)}h1{font-size:clamp(2.4rem, 5.5vw, 4.8rem);font-weight:800;letter-spacing:-.035em}h2{font-size:clamp(1.9rem, 3.6vw, 3.2rem);letter-spacing:-.03em}h3{font-size:1.2rem}.serif{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;font-weight:600;color:var(--turquoise)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:.97rem;letter-spacing:-.005em;transition:transform 0.2s ease,box-shadow 0.2s ease,background 0.2s ease,color 0.2s ease;white-space:nowrap;cursor:pointer;border:1.5px solid #fff0}.btn-primary{background:var(--turquoise);color:var(--navy);font-weight:800}.btn-primary:hover{background:var(--turquoise-dark);transform:translateY(-2px);box-shadow:0 12px 30px rgb(127 168 156 / .32)}.btn-dark{background:var(--navy);color:var(--white)}.btn-dark:hover{background:var(--navy-deep);transform:translateY(-2px);box-shadow:0 12px 30px rgb(0 61 92 / .32)}.btn-outline-white{background:#fff0;color:var(--white);border-color:rgb(255 255 255 / .55)}.btn-outline-white:hover{background:var(--white);color:var(--navy)}.btn-whatsapp{background:var(--whatsapp);color:var(--white)}.btn-whatsapp:hover{background:#1fb959;transform:translateY(-2px);box-shadow:0 12px 30px rgb(37 211 102 / .34)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;color:var(--white);transition:color 0.3s ease}.logo-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--turquoise);border-radius:10px;color:var(--white)}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-text .l1{font-size:.95rem;font-weight:800}.logo-text .l2{font-size:.7rem;font-weight:600;opacity:.75;letter-spacing:.08em}.menu-toggle{display:none;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;color:var(--white)}.menu-toggle svg{width:24px;height:24px}@media (max-width:1024px){.menu-toggle{display:inline-flex}}.hero{position:relative;background:var(--navy);color:var(--white);overflow:hidden;padding:100px 0 90px}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 90% 20%,rgb(212 228 221 / .22),transparent 60%),radial-gradient(ellipse 80% 60% at 10% 90%,rgb(127 168 156 / .18),transparent 65%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}@media (max-width:1000px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero-meta{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255 / .75)}.hero-meta .pill{padding:6px 14px;border:1px solid rgb(255 255 255 / .25);border-radius:999px;background:rgb(255 255 255 / .05)}.hero-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--turquoise-light);animation:pulse 2.4s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgb(212 228 221 / .25)}50%{box-shadow:0 0 0 8px #fff0}}.hero h1{color:var(--white);margin-bottom:24px;text-wrap:balance}.hero h1 .accent{color:var(--turquoise-light);font-family:'Fraunces',serif;font-weight:400;font-style:italic}.hero-sub{font-size:clamp(1.02rem, 1.2vw, 1.12rem);line-height:1.65;max-width:560px;color:rgb(255 255 255 / .78);margin-bottom:32px;text-wrap:pretty}.hero-cta{display:flex;flex-wrap:wrap;gap:14px}.hero-example{position:relative;border-radius:24px;background:rgb(255 255 255 / .05);border:1px solid rgb(255 255 255 / .12);overflow:hidden;padding:18px}.hero-example .ex-tag{position:absolute;top:18px;left:18px;padding:6px 12px;background:rgb(127 168 156 / .95);color:var(--white);border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;z-index:3}.hero-example .ex-visual{border-radius:18px;aspect-ratio:4 / 3;background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2025/11/Sauna-exterior-de-madera-con-iluminacion-calida.png);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}.hero-example .ex-info{display:flex;align-items:center;justify-content:space-between;padding:14px 6px 4px;color:var(--white)}.hero-example .ex-info h4{color:var(--white);font-size:.95rem;font-weight:600}.hero-example .ex-info p{color:rgb(255 255 255 / .6);font-size:.78rem;margin-top:2px}.hero-example .ex-info .arrow{width:36px;height:36px;border-radius:50%;background:rgb(212 228 221 / .18);display:grid;place-items:center;color:var(--turquoise-light);border:1px solid rgb(212 228 221 / .4)}.hero-example .ex-info .arrow svg{width:16px;height:16px}.section{padding:100px 0;position:relative}.section-cream{background:var(--cream)}.section-gray{background:var(--gray)}.section-navy{background:var(--navy);color:rgb(255 255 255 / .82)}.section-navy h2,.section-navy h3,.section-navy h4{color:var(--white)}.section-head{text-align:center;max-width:760px;margin:0 auto 64px}.section-head .eyebrow{display:block;margin-bottom:14px}.section-head h2{margin-bottom:16px;text-wrap:balance}.section-head p{color:var(--gray-text);font-size:1.05rem;line-height:1.65}.section-navy .section-head p{color:rgb(255 255 255 / .72)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media (max-width:900px){.benefits{grid-template-columns:1fr}}.benefit-card{background:var(--white);border:1px solid var(--gray-line);border-radius:18px;padding:32px 28px;text-align:left;transition:transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgb(127 168 156 / .4)}.benefit-card .ico{width:48px;height:48px;border-radius:12px;background:rgb(127 168 156 / .12);display:grid;place-items:center;color:var(--turquoise);margin-bottom:20px}.benefit-card .ico svg{width:26px;height:26px}.benefit-card h3{font-size:1.1rem;margin-bottom:8px;letter-spacing:-.01em}.benefit-card p{color:var(--gray-text);font-size:.94rem;line-height:1.6}.solutions{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width:800px){.solutions{grid-template-columns:1fr}}.solution-card{position:relative;border-radius:22px;overflow:hidden;background:rgb(255 255 255 / .04);border:1px solid rgb(255 255 255 / .1);transition:transform 0.4s cubic-bezier(.2,.8,.2,1),border-color 0.3s ease}.solution-card:hover{transform:translateY(-6px);border-color:rgb(212 228 221 / .4)}.solution-visual{aspect-ratio:16 / 10;position:relative;overflow:hidden}.solution-visual.var-sauna-int{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/holls-sauna-interior-spa-tenerife.jpg-1.jpeg.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.solution-visual.var-sauna-ext{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/holls-sauna-cubo-tenerife.jpg-1.jpeg.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.solution-visual.var-spa{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/jacuzzi-spa-terraza-tenerife-luxury.jpg-1.jpeg.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.solution-visual.var-ice{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/ufc-ice-bath-wellness-tenerife.jpg-1.jpeg.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.solution-body{padding:26px 28px 30px}.solution-body .tag{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--turquoise-light);margin-bottom:8px}.solution-body h3{color:var(--white);font-size:1.4rem;margin-bottom:10px}.solution-body p{color:rgb(255 255 255 / .72);font-size:.96rem;line-height:1.6}.advice-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}@media (max-width:900px){.advice-grid{grid-template-columns:1fr;gap:40px}}.advice-text h2{margin-bottom:20px}.advice-text p{color:var(--gray-text);font-size:1.02rem;line-height:1.7;margin-bottom:14px}.advice-list{margin-top:22px;display:flex;flex-direction:column;gap:12px}.advice-list li{display:flex;align-items:flex-start;gap:12px;font-size:.96rem;color:var(--navy);font-weight:500}.advice-list .tick{width:24px;height:24px;border-radius:50%;background:rgb(127 168 156 / .12);color:var(--turquoise);display:grid;place-items:center;flex-shrink:0;margin-top:2px}.advice-list .tick svg{width:14px;height:14px}.advice-image{border-radius:22px;aspect-ratio:4 / 5;position:relative;overflow:hidden;background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/holls-sauna-terraza-tenerife.jpeg.webp);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:var(--shadow-lg)}.spas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media (max-width:900px){.spas{grid-template-columns:1fr}}.spa-card{background:rgb(255 255 255 / .04);border:1px solid rgb(255 255 255 / .1);border-radius:20px;padding:26px;transition:transform 0.3s ease,border-color 0.3s ease}.spa-card:hover{transform:translateY(-4px);border-color:rgb(212 228 221 / .4)}.spa-visual{aspect-ratio:16 / 11;border-radius:14px;margin-bottom:22px;position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.spa-visual.v1{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/spa-hinchable-terraza-tenerife-1.jpeg.webp)}.spa-visual.v2{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/spa-semirrigido-terraza-tenerife-1.jpeg.webp)}.spa-visual.v3{background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/spa-acrilico-geometrico-luxury-tenerife-1.jpeg.webp)}.spa-card h3{color:var(--white);font-size:1.2rem;margin-bottom:8px}.spa-card p{color:rgb(255 255 255 / .7);font-size:.92rem;line-height:1.6}.spa-card .price{margin-top:14px;display:inline-block;padding:4px 12px;border-radius:999px;background:rgb(212 228 221 / .12);color:var(--turquoise-light);font-size:.78rem;font-weight:600;letter-spacing:.04em}.ice-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}@media (max-width:900px){.ice-grid{grid-template-columns:1fr;gap:40px}}.ice-text h2{color:var(--white);margin-bottom:20px}.ice-text p{color:rgb(255 255 255 / .78);font-size:1.02rem;line-height:1.7;margin-bottom:14px}.ice-list{margin-top:24px;display:grid;gap:12px}.ice-list li{display:flex;gap:12px;color:rgb(255 255 255 / .86);font-size:.96rem;align-items:flex-start}.ice-list .tick{color:var(--turquoise-light);flex-shrink:0;margin-top:4px}.ice-image{border-radius:22px;aspect-ratio:5 / 4;background-image:url(https://tupiscinatenerife.com/wp-content/uploads/2026/04/18389_large.jpg.webp);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden;box-shadow:0 30px 60px rgb(0 0 0 / .5)}.why{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}@media (max-width:900px){.why{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.why{grid-template-columns:1fr}}.why-card{background:rgb(255 255 255 / .04);border:1px solid rgb(255 255 255 / .1);border-radius:16px;padding:28px 24px;transition:background 0.3s ease,border-color 0.3s ease,transform 0.3s ease}.why-card:hover{background:rgb(212 228 221 / .06);border-color:rgb(212 228 221 / .3);transform:translateY(-3px)}.why-card .num{font-family:'Fraunces',serif;font-style:italic;font-size:2.2rem;color:var(--turquoise-light);line-height:1;margin-bottom:18px;font-weight:400}.why-card h3{color:var(--white);font-size:1.05rem;margin-bottom:10px}.why-card p{color:rgb(255 255 255 / .7);font-size:.9rem;line-height:1.6}.form-section{background:var(--cream)}.form-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:start}@media (max-width:900px){.form-grid{grid-template-columns:1fr;gap:40px}}.form-side h2{margin-bottom:18px;text-wrap:balance}.form-side p{color:var(--gray-text);font-size:1.02rem;line-height:1.65;margin-bottom:28px;max-width:460px}.form-side .quick{display:flex;gap:10px;flex-wrap:wrap}.form-card{background:var(--white);border-radius:22px;padding:36px;box-shadow:var(--shadow-md);border:1px solid var(--gray-line)}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-row.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.form-row.row-2>div{display:flex;flex-direction:column;gap:6px}.form-row label{font-size:.78rem;font-weight:600;color:var(--navy);letter-spacing:.04em;text-transform:uppercase}.form-row input,.form-row select,.form-row textarea{background:var(--gray);border:1.5px solid #fff0;border-radius:12px;padding:14px 16px;font-size:.95rem;color:var(--navy);font-family:inherit;transition:border-color 0.2s ease,background 0.2s ease}.form-row input::placeholder,.form-row textarea::placeholder{color:#9ca3af}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--turquoise);background:var(--white)}.form-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237FA89C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}.form-row textarea{resize:vertical;min-height:110px}.form-honey{position:absolute;left:-9999px;top:-9999px}.rgpd{display:flex;align-items:flex-start;gap:10px;margin:6px 0 18px;font-size:.84rem;color:var(--gray-text);line-height:1.5}.rgpd input{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:var(--turquoise)}.rgpd a{color:var(--turquoise);text-decoration:underline}.form-submit{width:100%;padding:16px;border-radius:12px;background:var(--navy);color:var(--white);font-weight:700;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;transition:background 0.2s ease,transform 0.2s ease}.form-submit:hover{background:var(--turquoise);transform:translateY(-1px)}.form-status{margin-top:14px;font-size:.9rem;text-align:center;min-height:1.2em}.form-status.ok{color:#15803d;font-weight:600}.form-status.err{color:#b91c1c;font-weight:600}.faq-wrap{display:grid;grid-template-columns:0.9fr 1.4fr;gap:64px;align-items:start}@media (max-width:900px){.faq-wrap{grid-template-columns:1fr;gap:40px}}.faq-aside{position:sticky;top:40px}.faq-aside h2{margin-bottom:16px;text-wrap:balance}.faq-aside p{color:rgb(255 255 255 / .72);margin-bottom:24px;font-size:1rem;line-height:1.65}.faq-list{display:flex;flex-direction:column}.faq-item{border-top:1px solid rgb(255 255 255 / .1);padding:4px 0}.faq-item:last-child{border-bottom:1px solid rgb(255 255 255 / .1)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;text-align:left;font-size:clamp(1.02rem, 1.4vw, 1.18rem);font-weight:600;color:var(--white);letter-spacing:-.01em;cursor:pointer;transition:color 0.2s ease}.faq-q:hover{color:var(--turquoise-light)}.faq-q .toggle{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:rgb(255 255 255 / .06);display:grid;place-items:center;color:var(--white);transition:background 0.3s ease}.faq-q .toggle svg{width:14px;height:14px;transition:transform 0.4s cubic-bezier(.2,.8,.2,1)}.faq-item.open .faq-q .toggle{background:var(--turquoise)}.faq-item.open .faq-q .toggle svg{transform:rotate(180deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s cubic-bezier(.2,.8,.2,1)}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a>div{overflow:hidden;font-size:.97rem;color:rgb(255 255 255 / .72);line-height:1.65}.faq-a>div p{padding:0 0 22px;max-width:720px;text-wrap:pretty}.cta-close{background:var(--navy);color:var(--white);text-align:center;padding:90px 0;position:relative;overflow:hidden}.cta-close::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgb(212 228 221 / .22),transparent 60%)}.cta-close .container{position:relative;z-index:1}.cta-close h2{color:var(--white);font-size:clamp(1.8rem, 3.2vw, 2.6rem);margin-bottom:14px;text-wrap:balance}.cta-close p{color:rgb(255 255 255 / .78);font-size:1.05rem;max-width:600px;margin:0 auto 28px}.cta-close .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;margin-bottom:50px}@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:500px){.footer-grid{grid-template-columns:1fr}}.footer-col h4{color:var(--white);font-size:.95rem;margin-bottom:16px;font-weight:600}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-col a:hover{color:var(--turquoise-light)}.footer-col li.contact-line{line-height:1.5}.footer-col li.contact-line strong{color:var(--white);display:block;font-size:.82rem;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}.footer-brand p{margin-top:14px;max-width:320px;line-height:1.6}.footer-socials{display:flex;gap:10px;margin-top:20px}.footer-socials a{width:38px;height:38px;border-radius:50%;background:rgb(255 255 255 / .08);display:grid;place-items:center;color:var(--white);transition:background 0.2s ease,transform 0.2s ease}.footer-socials a:hover{background:var(--turquoise);transform:translateY(-2px)}.footer-socials svg{width:18px;height:18px}.payment-band{border-top:1px solid rgb(255 255 255 / .1);border-bottom:1px solid rgb(255 255 255 / .1);padding:22px 0;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.payment-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgb(255 255 255 / .55);font-weight:600}.payment-logos{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pay-chip{height:30px;padding:0 12px;background:rgb(255 255 255 / .94);border-radius:6px;display:grid;place-items:center;font-size:.74rem;font-weight:800;color:var(--navy);letter-spacing:.02em;font-family:-apple-system,'Segoe UI',sans-serif}.footer-bottom{padding-top:4px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.84rem}.whatsapp-wrap{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;align-items:center;gap:12px}.whatsapp-tooltip{background:var(--white);color:var(--navy);font-size:.86rem;font-weight:600;padding:10px 16px;border-radius:12px;box-shadow:0 8px 24px rgb(0 61 92 / .16);white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity 0.3s ease,transform 0.3s ease;pointer-events:none;position:relative}.whatsapp-tooltip::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:12px;height:12px;background:var(--white)}.whatsapp-wrap:hover .whatsapp-tooltip,.whatsapp-wrap.show-tip .whatsapp-tooltip{opacity:1;transform:translateX(0)}.whatsapp-float{width:60px;height:60px;background:var(--whatsapp);border-radius:50%;display:grid;place-items:center;color:var(--white);box-shadow:0 12px 28px rgb(37 211 102 / .45);transition:transform 0.25s ease,box-shadow 0.25s ease;position:relative}.whatsapp-float:hover{transform:scale(1.07)}.whatsapp-float svg{width:30px;height:30px}.whatsapp-float::before{content:'';position:absolute;inset:-6px;border-radius:50%;background:var(--whatsapp);opacity:.35;z-index:-1;animation:ripple 2.4s infinite}@media (max-width:600px){.whatsapp-tooltip{display:none}}@keyframes ripple{0%{transform:scale(1);opacity:.4}100%{transform:scale(1.5);opacity:0}}.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s ease,transform 0.8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.delay-1{transition-delay:0.08s}.reveal.delay-2{transition-delay:0.16s}.reveal.delay-3{transition-delay:0.24s}.reveal.delay-4{transition-delay:0.32s}@property --overlay-angle{syntax:'<angle>';initial-value:0deg;inherits:false}.gs-browser-overlay{position:fixed;inset:0;z-index:2147483640;pointer-events:none}.gs-overlay-border{position:fixed;inset:-1.25em;border:solid;border-width:2.5em;border-color:#fff0;z-index:2147483645;pointer-events:none;opacity:.95;border-image:conic-gradient(from var(--overlay-angle),#1e40af 0%,#3b82f6 25%,#60a5fa 50%,#3b82f6 75%,#1e40af 100%) 1;animation:gs-rotate-gradient 1250ms linear infinite}@keyframes gs-rotate-gradient{to{--overlay-angle:360deg}}.gs-overlay-base{position:fixed;inset:0;z-index:2147483646;padding:24px;opacity:.4;pointer-events:none;background:rgb(0 0 0 / .1);box-shadow:inset 0 0 100px rgb(0 0 0 / .1)}.gs-overlay-pulse{position:fixed;inset:-1.25em;border:solid;border-width:2.5em;border-color:#fff0;border-image:conic-gradient(from var(--overlay-angle),rgb(30 64 175 / .5) 0%,rgb(59 130 246 / .5) 25%,rgb(96 165 250 / .5) 50%,rgb(59 130 246 / .5) 75%,rgb(30 64 175 / .5) 100%) 1;z-index:2147483644;pointer-events:none;opacity:1;animation:gs-pulse 2s ease-in-out infinite}@keyframes gs-pulse{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.gs-action-indicator{position:fixed;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%)}.gs-click-ripple{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgb(59 130 246) 0%,rgb(59 130 246 / .6) 50%,transparent 70%);box-shadow:0 0 20px rgb(59 130 246 / .8);animation:gs-click-ripple 1500ms ease-out forwards}@keyframes gs-click-ripple{0%{transform:scale(0);opacity:1}100%{transform:scale(2.5);opacity:0}}.gs-input-indicator{width:56px;height:56px;background:rgb(59 130 246 / .15);border:3px solid #3b82f6;border-radius:50%;box-shadow:0 0 20px rgb(59 130 246 / .6);display:flex;align-items:center;justify-content:center;animation:gs-input-pulse 1500ms ease-in-out infinite}.gs-input-indicator::before{content:'';width:2px;height:20px;background:#3b82f6;border-radius:1px;animation:gs-cursor-blink 900ms ease-in-out infinite}@keyframes gs-input-pulse{0%,100%{transform:scale(1);border-color:#3b82f6}50%{transform:scale(1.08);border-color:#60a5fa}}@keyframes gs-cursor-blink{0%,49%{opacity:1}50%,100%{opacity:0}}.gs-scroll-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.gs-scroll-indicator.vertical{width:6px;height:120px}.gs-scroll-indicator.horizontal{width:120px;height:6px}.gs-scroll-indicator::before{content:'';position:absolute;background:rgb(59 130 246 / .3);border-radius:3px;box-shadow:0 0 10px rgb(59 130 246 / .5);width:100%;height:100%}.gs-scroll-indicator::after{content:'';position:absolute;width:16px;height:16px;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:50%;box-shadow:0 0 20px rgb(59 130 246);animation-duration:1200ms;animation-timing-function:ease-in-out;animation-fill-mode:forwards}.gs-scroll-indicator.down::after{left:50%;transform:translateX(-50%);animation-name:gs-scroll-down}@keyframes gs-scroll-down{0%{top:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}.gs-scroll-indicator.up::after{left:50%;transform:translateX(-50%);animation-name:gs-scroll-up}@keyframes gs-scroll-up{0%{top:100%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:0%;opacity:0}}.gs-scroll-indicator.right::after{top:50%;transform:translateY(-50%);animation-name:gs-scroll-right}@keyframes gs-scroll-right{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}.gs-scroll-indicator.left::after{top:50%;transform:translateY(-50%);animation-name:gs-scroll-left}@keyframes gs-scroll-left{0%{left:100%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:0%;opacity:0}}.gs-hover-indicator{width:64px;height:64px;border:5px solid rgb(59 130 246);border-radius:50%;box-shadow:0 0 20px rgb(59 130 246 / .8);animation:gs-hover-pulse 1400ms ease-in-out infinite}@keyframes gs-hover-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.gs-drag-indicator{width:40px;height:40px;position:fixed;pointer-events:none}.gs-drag-indicator::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:#3b82f6;border-radius:50%;box-shadow:0 0 0 4px rgb(59 130 246 / .3),0 0 0 8px rgb(59 130 246 / .15)}.gs-drag-indicator::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border-radius:50%}.gs-keypress-indicator{padding:12px 24px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-size:18px;font-weight:700;border-radius:12px;border:2px solid rgb(147 197 253 / .8);box-shadow:0 6px 20px rgb(59 130 246 / .6);animation:gs-keypress-pop 600ms ease-out forwards}@keyframes gs-keypress-pop{0%{transform:scale(.7);opacity:0}40%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}.gs-navigate-indicator{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#3b82f6);border:3px solid rgb(147 197 253 / .8);box-shadow:0 0 25px rgb(59 130 246 / .8);display:flex;align-items:center;justify-content:center;animation:gs-navigate-spin 1400ms ease-out forwards}.gs-navigate-indicator::after{content:'→';font-size:32px;font-weight:700;color:#fff}@keyframes gs-navigate-spin{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}.gs-overlay-stop-button{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);height:32px;padding:0 16px;border-radius:8px;background:rgb(59 130 246 / .4);border:1px solid rgb(255 255 255 / .3);box-shadow:0 2px 12px rgb(59 130 246 / .2);cursor:pointer;z-index:2147483648;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 200ms ease-out;pointer-events:auto;color:#fff;font-size:14px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;text-transform:uppercase;letter-spacing:.5px}.gs-overlay-stop-button:hover{transform:translateX(-50%) translateY(-2px);box-shadow:0 4px 16px rgb(59 130 246 / .3);background:rgb(59 130 246 / .5);border-color:rgb(255 255 255 / .4)}.gs-overlay-stop-button:active{transform:translateX(-50%) translateY(0)}.gs-overlay-stop-button::before{content:'';width:14px;height:14px;background:#fff;border-radius:2px;flex-shrink:0}.gs-overlay-stop-button.hidden{display:none}