:root{--navy:#071426;--navy2:#0b1f38;--blue:#1778f2;--blue2:#0f63cf;--cyan:#4bc8ff;--green:#19c56b;--ink:#142033;--muted:#657184;--line:#e2e8f0;--soft:#f4f7fb;--white:#fff;--max:1180px;--radius:22px;--shadow:0 22px 60px rgba(15,34,59,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img,svg{display:block;max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:16px;top:-80px;background:#fff;color:#111;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}.skip-link:focus{top:16px}.site-header{height:82px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(220,228,239,.9);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--blue),#0b53ae);color:#fff;display:grid;place-items:center;font-size:1.45rem;font-weight:900;box-shadow:0 8px 20px rgba(23,120,242,.24)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:1rem;letter-spacing:.055em;color:var(--navy)}.brand-copy small{font-size:.69rem;color:var(--muted);margin-top:5px}.main-nav{display:flex;align-items:center;gap:27px}.main-nav>a{text-decoration:none;font-size:.91rem;font-weight:700;color:#3e4b60;transition:.2s}.main-nav>a:hover{color:var(--blue)}.main-nav .nav-cta{padding:11px 18px;border-radius:10px;background:var(--blue);color:#fff;box-shadow:0 7px 18px rgba(23,120,242,.2)}.main-nav .nav-cta:hover{background:var(--blue2);color:#fff;transform:translateY(-1px)}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:9px;cursor:pointer}.menu-toggle span{height:2px;background:var(--navy);display:block;margin:5px 0;border-radius:10px}
html {
    scroll-behavior: smooth;
}
.hero-home{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 10%,rgba(50,143,255,.16),transparent 34%),linear-gradient(135deg,#061220 0%,#0a1b31 55%,#0b213c 100%);color:#fff;padding:98px 0 92px;min-height:680px;display:flex;align-items:center}.hero-home:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(110,190,255,.35),transparent)}.hero-orb{position:absolute;border:1px solid rgba(91,171,255,.13);border-radius:50%}.hero-orb-one{width:540px;height:540px;right:-120px;top:-150px;box-shadow:0 0 0 80px rgba(33,113,207,.02),0 0 0 160px rgba(33,113,207,.015)}.hero-orb-two{width:280px;height:280px;left:-180px;bottom:-120px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:2}.eyebrow{margin:0 0 19px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:.75rem;color:#8bc8ff;display:flex;align-items:center;gap:10px}.eyebrow>span{width:27px;height:2px;background:currentColor}.eyebrow-dark{color:var(--blue)}.hero-copy h1{font-size:clamp(3rem,5.5vw,5.35rem);line-height:.98;letter-spacing:-.052em;max-width:780px;margin:0}.hero-copy h1 em{font-style:normal;color:#61bdff}.hero-lead{font-size:1.15rem;line-height:1.7;color:#c0ccda;max-width:650px;margin:27px 0 0}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 21px;border-radius:11px;text-decoration:none;font-size:.94rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-whatsapp{background:var(--green);color:#fff;box-shadow:0 12px 28px rgba(25,197,107,.19)}.button-whatsapp:hover{background:#13ae5d}.button-whatsapp svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55}.button-ghost{border:1px solid rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.04)}.button-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.4)}.button-outline{border:1px solid #cdd7e3;background:#fff;color:var(--navy)}.button-outline:hover{border-color:var(--blue);color:var(--blue)}.button-light{background:#fff;color:var(--navy)}.button-ghost-light{border:1px solid rgba(255,255,255,.25);color:#fff;background:transparent}.hero-trust{display:flex;flex-wrap:wrap;gap:21px;margin-top:31px;color:#9fb0c4;font-size:.78rem}.hero-trust span{display:flex;align-items:center;gap:7px}.hero-trust i{font-style:normal;color:#45dd8f;font-weight:900}.hero-visual{height:450px;position:relative;display:grid;place-items:center}.device-card{width:410px;max-width:88%;transform:perspective(900px) rotateY(-8deg) rotateX(2deg);filter:drop-shadow(0 30px 45px rgba(0,0,0,.3))}.device-topbar{height:28px;background:#182a42;border-radius:18px 18px 0 0;padding:10px 12px;display:flex;gap:5px}.device-topbar span{width:7px;height:7px;background:#3f546f;border-radius:50%}.device-screen{height:275px;border:8px solid #182a42;border-top:0;background:linear-gradient(145deg,#0f5fc5,#2f9ff7);position:relative;padding:45px 34px;overflow:hidden}.device-screen:before,.device-screen:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}.device-screen:before{width:220px;height:220px;right:-100px;top:-100px}.device-screen:after{width:150px;height:150px;left:-80px;bottom:-90px}.device-badge{font-size:.63rem;letter-spacing:.16em;font-weight:900;opacity:.75}.device-mark{width:55px;height:55px;border:1px solid rgba(255,255,255,.4);border-radius:15px;margin:30px 0 18px;display:grid;place-items:center;background:rgba(0,0,0,.08)}.device-mark span{font-size:2rem;font-weight:900}.device-screen strong,.device-screen small{display:block;position:relative;z-index:2}.device-screen strong{font-size:1.23rem}.device-screen small{font-size:.75rem;margin-top:4px;opacity:.76}.device-base{height:17px;background:linear-gradient(#c5d0dd,#8595a8);border-radius:0 0 50% 50%;width:106%;margin-left:-3%;position:relative}.device-base:before{content:"";position:absolute;top:0;left:42%;width:16%;height:4px;background:#718297;border-radius:0 0 5px 5px}.floating-card{position:absolute;background:rgba(255,255,255,.96);color:var(--ink);padding:12px 15px;border-radius:13px;box-shadow:0 18px 40px rgba(0,0,0,.2);display:flex;align-items:center;gap:10px;min-width:205px}.floating-card-top{top:50px;right:-12px}.floating-card-bottom{bottom:42px;left:0}.floating-icon{width:34px;height:34px;border-radius:10px;background:#e8f5ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:.83rem}.floating-card small{font-size:.67rem;color:var(--muted);margin-top:1px}
.quick-strip{border-bottom:1px solid var(--line);background:#fff}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-grid>div{display:flex;align-items:center;gap:14px;padding:24px 26px;border-right:1px solid var(--line)}.quick-grid>div:first-child{padding-left:0}.quick-grid>div:last-child{border-right:0}.quick-icon{font-size:.68rem;color:var(--blue);font-weight:900;border:1px solid #cfe2fb;border-radius:8px;padding:4px 7px}.quick-grid p{display:flex;flex-direction:column;margin:0;line-height:1.35}.quick-grid small{font-size:.62rem;letter-spacing:.13em;font-weight:800;color:#8793a4}.quick-grid strong{font-size:.81rem;margin-top:4px}
.section{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:44px}.section-heading>div{max-width:680px}.section-heading h2,.about-copy h2,.websites-band h2,.faq-intro h2,.location-copy h2{font-size:clamp(2.1rem,4vw,3.45rem);line-height:1.07;letter-spacing:-.04em;margin:0;color:var(--navy)}.section-heading>p{max-width:410px;color:var(--muted);margin:0 0 2px}.services-section{background:var(--soft)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{position:relative;padding:31px 28px 27px;background:#fff;border:1px solid #e4eaf2;border-radius:17px;min-height:276px;transition:.25s;overflow:hidden}.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transition:.25s;transform-origin:bottom}.service-card:hover{transform:translateY(-5px);box-shadow:0 19px 44px rgba(13,37,66,.09);border-color:#d4dfec}.service-card:hover:before{transform:scaleY(1)}.service-icon{width:48px;height:48px;border-radius:13px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;margin-bottom:25px}.service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.service-number{position:absolute;right:24px;top:23px;color:#b9c4d1;font-size:.67rem;font-weight:900;letter-spacing:.08em}.service-card h3{font-size:1.12rem;line-height:1.3;margin:0 0 10px;color:var(--navy)}.service-card p{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0 0 17px}.service-card a,.text-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--blue);font-size:.83rem;font-weight:800}.service-card a span,.text-link span{transition:.2s}.service-card a:hover span,.text-link:hover span{transform:translateX(4px)}.section-cta{margin-top:31px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 25px;background:#e9f3ff;border-radius:13px}.section-cta p{margin:0;font-size:.88rem;color:#425168}.section-cta a{white-space:nowrap;text-decoration:none;color:var(--blue);font-weight:900;font-size:.82rem}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-visual{height:470px;position:relative;background:linear-gradient(145deg,#0a1a30,#102d4f);border-radius:25px;overflow:hidden;box-shadow:var(--shadow)}.about-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}.about-pattern:before{content:"S";position:absolute;right:-15px;bottom:-135px;font-size:28rem;font-weight:900;color:rgba(255,255,255,.035);line-height:1}.about-big-number{position:absolute;top:80px;left:55px;color:#fff;display:flex;align-items:end;gap:16px}.about-big-number strong{font-size:5.5rem;line-height:.85;letter-spacing:-.08em;color:#53b8ff}.about-big-number span{font-size:.8rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:#b6c7da;font-weight:800}.about-mini-card{position:absolute;left:40px;right:40px;bottom:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:16px 18px;color:#dce7f3;font-size:.79rem;backdrop-filter:blur(5px)}.about-mini-card span{color:#53b8ff;margin-right:7px}.about-copy .lead{font-size:1.08rem;color:#47556a;font-weight:600;line-height:1.7;margin:24px 0 14px}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted);font-size:.93rem}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:25px 0}.check-grid span{font-size:.82rem;font-weight:750;color:#39485d}.check-grid span::first-letter{color:var(--green)}
.process-section{background:var(--navy);color:#fff}.section-heading.centered{justify-content:center;text-align:center}.section-heading.centered .eyebrow{justify-content:center}.process-section .section-heading h2{color:#fff}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:step}.process-grid article{padding:28px 28px 22px;border-left:1px solid rgba(255,255,255,.11);position:relative}.process-grid article:first-child{border-left:0}.process-grid article>span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:rgba(64,163,255,.12);border:1px solid rgba(64,163,255,.28);color:#7bc5ff;font-weight:900;font-size:.8rem;margin-bottom:21px}.process-grid h3{font-size:1.02rem;margin:0 0 9px}.process-grid p{font-size:.8rem;line-height:1.65;color:#9caec1;margin:0}
.reviews-section{background:#fff}.reviews-section .section-heading h2{font-size:clamp(2rem,3.45vw,3.05rem)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.review-card{padding:29px;border:1px solid var(--line);border-radius:17px;background:#fff;display:flex;flex-direction:column;min-height:265px}.review-stars{letter-spacing:.12em;color:#f7ad1b;font-size:.82rem}.review-card blockquote{margin:18px 0 25px;font-size:.92rem;line-height:1.7;color:#445166;flex:1}.review-card footer{display:flex;flex-direction:column;margin-top:auto}.review-card footer strong{font-size:.84rem;color:var(--navy)}.review-card footer .review-source{font-size:.69rem;color:#7d8999;margin-top:5px;display:inline-flex;align-items:center;gap:6px}.review-source i{font-style:normal;width:17px;height:17px;border:1px solid #d7dee8;border-radius:50%;display:inline-grid;place-items:center;background:#fff;color:#4285f4;font-size:.63rem;font-weight:900;line-height:1}.reviews-placeholder{border:1px solid var(--line);border-radius:17px;min-height:150px;padding:30px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff,#f6faff)}.reviews-placeholder>div:first-child{display:flex;flex-direction:column}.reviews-placeholder strong{font-size:1.1rem}.reviews-placeholder span{font-size:.82rem;color:var(--muted)}.reviews-placeholder .review-stars{font-size:1.2rem}.reviews-action{text-align:center;margin-top:30px}
.websites-band{padding:85px 0;background:linear-gradient(135deg,#1474e8,#0d59bd);color:#fff;overflow:hidden}.websites-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.websites-band h2{color:#fff}.websites-band p:not(.eyebrow){color:#dcecff;max-width:600px}.browser-mock{height:315px;background:#f8fbff;border-radius:16px;transform:rotate(2deg);box-shadow:0 30px 70px rgba(0,0,0,.23);overflow:hidden}.browser-bar{height:38px;background:#e6edf5;display:flex;align-items:center;gap:6px;padding:0 12px;color:#6d7a8e;font-size:.57rem}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#b3bfcd}.browser-bar span{margin-left:12px;background:#fff;border-radius:4px;padding:3px 25px;flex:1}.browser-content{padding:40px;background:#fff;height:calc(100% - 38px)}.browser-content>b{width:38px;height:38px;border-radius:10px;background:#1678ef;display:block}.browser-content>strong{display:block;width:60%;height:17px;background:#152238;margin:20px 0 12px;border-radius:4px}.browser-content>p{width:85%;height:7px;background:#dbe3ec;margin:8px 0;border-radius:4px}.browser-content>p:nth-of-type(2){width:68%}.browser-content>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.browser-content>div i{height:66px;background:#edf3f9;border-radius:8px}
.faq-section{background:var(--soft)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}.faq-intro>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.faq-list details{background:#fff;border-bottom:1px solid var(--line)}.faq-list details:first-child{border-radius:14px 14px 0 0}.faq-list details:last-child{border-radius:0 0 14px 14px;border-bottom:0}.faq-list summary{list-style:none;cursor:pointer;padding:21px 23px;font-weight:800;font-size:.88rem;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{width:27px;height:27px;border-radius:50%;background:#edf4fc;display:grid;place-items:center;color:var(--blue);font-size:1rem;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details div{padding:0 23px 20px}.faq-list details p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.7}
.location-section{padding:100px 0;background:linear-gradient(135deg,#071426,#0d2949);color:#fff}.location-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.location-copy h2{color:#fff}.location-info{margin:28px 0;display:grid;gap:17px}.location-info div{display:grid;grid-template-columns:145px 1fr;gap:15px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:13px}.location-info span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#7590ac;font-weight:800}.location-info strong{font-size:.83rem;color:#dae7f4}.location-actions{display:flex;gap:12px;flex-wrap:wrap}.map-card{height:360px;position:relative;overflow:hidden;border-radius:22px;background:#e7eef1;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 28px 60px rgba(0,0,0,.19)}.map-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(32deg,transparent 46%,rgba(185,201,209,.45) 47%,rgba(185,201,209,.45) 50%,transparent 51%),linear-gradient(-42deg,transparent 52%,rgba(198,212,219,.48) 53%,rgba(198,212,219,.48) 56%,transparent 57%);background-size:100px 100px,130px 130px;opacity:.8}.map-road{position:absolute;height:11px;background:#fff;border:1px solid #d5e0e5;border-radius:10px}.road-one{width:140%;transform:rotate(-20deg);top:35%;left:-20%}.road-two{width:120%;transform:rotate(36deg);bottom:27%;left:-10%}.road-three{height:6px;width:90%;transform:rotate(75deg);left:18%;top:44%}.map-pin{position:relative;z-index:3;width:52px;height:52px;background:var(--blue);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 10px 25px rgba(23,120,242,.35);margin-bottom:18px}.map-pin span{width:15px;height:15px;border-radius:50%;background:#fff}.map-card strong,.map-card small,.map-card em{position:relative;z-index:3}.map-card strong{font-size:1.1rem}.map-card small{color:#67798a}.map-card em{font-style:normal;font-size:.73rem;color:var(--blue);font-weight:900;margin-top:12px;background:#fff;padding:7px 11px;border-radius:8px}
.site-footer{background:#050e19;color:#94a7bb;padding:66px 0 23px}.footer-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr 1fr;gap:55px}.brand-footer .brand-copy strong{color:#fff}.footer-brand p{font-size:.8rem;max-width:300px;line-height:1.7;margin-top:19px}.footer-grid h2{font-size:.71rem;text-transform:uppercase;letter-spacing:.14em;color:#d9e4f0;margin:6px 0 16px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start}.footer-grid a,.footer-grid>div:not(.footer-brand)>p{font-size:.76rem;text-decoration:none;color:#899db2;margin:0 0 9px;line-height:1.55}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:45px;padding-top:21px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem}.footer-bottom a{text-decoration:none;color:#a9bbcd}.whatsapp-float{position:fixed;right:21px;bottom:21px;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;z-index:90;box-shadow:0 10px 30px rgba(10,82,46,.28);transition:.2s}.whatsapp-float:hover{transform:translateY(-3px) scale(1.03)}
.content{max-width:850px;padding:60px 0}.lead{font-size:1.15rem;color:var(--muted)}
@media(max-width:980px){.main-nav{gap:17px}.main-nav>a{font-size:.82rem}.hero-grid,.about-grid,.websites-grid,.faq-grid,.location-grid{grid-template-columns:1fr;gap:55px}.hero-home{padding:80px 0}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-actions,.hero-trust{justify-content:center}.hero-lead{margin-inline:auto}.hero-visual{height:390px}.services-grid{grid-template-columns:1fr 1fr}.about-visual{max-width:650px;width:100%;margin:auto}.process-grid{grid-template-columns:1fr 1fr}.process-grid article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.11)}.process-grid article:nth-child(4){border-top:1px solid rgba(255,255,255,.11)}.reviews-grid{grid-template-columns:1fr 1fr}.browser-mock{max-width:650px;width:100%;margin:auto}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:800px){.site-header{height:72px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 35px rgba(11,31,56,.12);padding:15px 20px 22px;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a{padding:11px 4px;border-bottom:1px solid #edf1f5;font-size:.88rem}.main-nav .nav-cta{text-align:center;border:0;margin-top:9px}.quick-grid{grid-template-columns:1fr}.quick-grid>div,.quick-grid>div:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.quick-grid>div:last-child{border-bottom:0}.section{padding:76px 0}.section-heading{display:block}.section-heading>p{margin-top:16px}.section-cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.location-section{padding:76px 0}}
@media(max-width:600px){.container{width:min(calc(100% - 30px),var(--max))}.brand-copy small{display:none}.hero-home{padding:62px 0 55px;min-height:auto}.hero-copy h1{font-size:clamp(2.65rem,15vw,3.75rem)}.hero-lead{font-size:1rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-trust{align-items:flex-start;flex-direction:column;gap:8px;text-align:left;margin-left:5px}.hero-visual{height:315px;margin-top:15px}.device-card{width:320px}.device-screen{height:215px;padding:28px 25px}.device-mark{margin:18px 0 12px}.floating-card{min-width:175px;padding:10px}.floating-card-top{right:-4px;top:10px}.floating-card-bottom{left:-4px;bottom:15px}.services-grid,.reviews-grid,.process-grid{grid-template-columns:1fr}.process-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.11)}.process-grid article:first-child{border-top:0}.about-visual{height:390px}.about-big-number{left:30px;top:60px}.about-big-number strong{font-size:4.4rem}.about-mini-card{left:22px;right:22px;bottom:24px}.check-grid{grid-template-columns:1fr}.reviews-placeholder{align-items:flex-start;flex-direction:column;gap:16px}.websites-band{padding:70px 0}.browser-mock{height:260px}.browser-content{padding:30px}.faq-grid{gap:38px}.location-info div{grid-template-columns:1fr;gap:3px}.map-card{height:300px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-brand,.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.whatsapp-float{width:51px;height:51px;right:15px;bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Dicas: conteúdos permanentes e artigos */
.tips-featured-grid { margin-bottom: 28px; }
.tips-featured-grid .tip-support-card { max-width: 560px; }
.tips-articles-grid { margin-top: 0; }
.tips-placeholder { margin-top: 28px; }


/* Refinamentos Home 0.2.4 */
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:99px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.main-nav>a:not(.nav-cta):hover::after{transform:scaleX(1)}
.quick-grid>.quick-item{display:flex;align-items:center;gap:14px;padding:24px 26px;border-right:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s ease}
.quick-grid>.quick-item:first-child{padding-left:0}
.quick-grid>.quick-item:last-child{border-right:0}
a.quick-item:hover{background:#f8fbff}
.service-card{display:flex;flex-direction:column}
.service-card p{flex:1}
.service-card a{margin-top:auto;align-self:flex-start}
.location-phone{color:inherit;text-decoration:none}
.location-phone:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(23,120,242,.35);outline-offset:4px;border-radius:8px}
@media(max-width:800px){.main-nav>a:not(.nav-cta)::after{display:none}.quick-grid>.quick-item,.quick-grid>.quick-item:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.quick-grid>.quick-item:last-child{border-bottom:0}a.quick-item:hover{background:transparent}}


/* Caixas Atendimento / Horário / Contato */

.quick-strip {
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 26px 0;
}

.quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.quick-grid > .quick-item,
.quick-grid > .quick-item:first-child,
.quick-grid > .quick-item:last-child {
    min-height: 112px;
    padding: 22px 24px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #fff;

    display: flex;
    align-items: center;
    gap: 18px;

    color: var(--ink);
    text-decoration: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}



a.quick-item:hover {
    background: #fff;
    border-color: #b9d5f7;
    box-shadow: 0 10px 28px rgba(15, 45, 78, .08);
    transform: translateY(-2px);
}

.quick-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: #eef5ff;
    color: var(--blue);

    display: grid;
    place-items: center;
}

.quick-icon svg {
    width: 29px;
    height: 29px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.quick-grid p {
    display: flex;
    flex-direction: column;
    margin: 0;
    line-height: 1.4;
}

.quick-grid small {
    margin-bottom: 5px;

    font-size: .82rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;

    color: var(--ink);
}

.quick-grid strong {
    margin-top: 0;
	max-width: 270px;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.5;

    color: #34465c;
}


@media (max-width: 800px) {

    .quick-strip {
        padding: 20px 0;
    }

    .quick-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .quick-grid > .quick-item,
    .quick-grid > .quick-item:first-child,
    .quick-grid > .quick-item:last-child {
        min-height: 100px;
        padding: 18px 20px;

        border: 1px solid #dbe5ef;
        border-radius: 15px;
    }

    a.quick-item:hover {
        background: #fff;
        transform: none;
    }

    .quick-icon {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }

    .quick-icon svg {
        width: 26px;
        height: 26px;
    }
}

/* CTA WhatsApp após os serviços */

.services-cta {
    margin-top: 30px;
    padding: 32px 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;

    background: #071c33;
    border-radius: 16px;
}

.services-cta-text {
    display: flex;
    flex-direction: column;
    gap: 6px;

    color: #fff;
}

.services-cta-text strong {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
}

.services-cta-text span {
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.services-cta-whatsapp {
    min-height: 56px;
    padding: 0 26px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    flex-shrink: 0;

    background: #25d366;
    border-radius: 10px;

    color: #fff;
    font-size: .95rem;
    font-weight: 800;
    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.services-cta-whatsapp:hover {
    background: #20bd5a;
    color: #fff;

    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37, 211, 102, .22);
}

.services-cta-whatsapp-icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;

    fill: currentColor;
}

.services-cta-whatsapp:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .8);
    outline-offset: 3px;
}


/* Celular */

@media (max-width: 700px) {

    .services-cta {
        padding: 24px 20px;

        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .services-cta-text strong {
        font-size: 1.08rem;
    }

    .services-cta-text span {
        font-size: .95rem;
    }

    .services-cta-whatsapp {
        width: 100%;
        min-height: 52px;
    }
}

.about-copy h2 {
    font-size: clamp(2.4rem, 4.2vw, 4rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.about-lead strong {
    color: var(--ink);
    font-weight: 800;
}

.about-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 28px;
    margin: 26px 0;
}

.about-point {
    display: flex;
    align-items: center;
    gap: 9px;
}

.about-check {
    width: 22px;
    height: 22px;
    min-width: 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #20bd5a;

    color: #fff;
    font-size: .72rem;
    font-weight: 900;
}

.about-point strong {
    color: var(--ink);
    font-size: .88rem;
    font-weight: 700;
}


@media (max-width: 700px) {
    .about-points {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .about-copy h2 {
        font-size: clamp(2.2rem, 11vw, 3rem);
    }
}






/* Imagem do bloco 25+ anos */

.experience-card {
    position: relative;
    overflow: hidden;
}

.experience-card .experience-number,
.experience-card .experience-note {
    position: relative;
    z-index: 2;
}

.about-visual {
    position: relative;
    overflow: hidden;

    background:
        linear-gradient(
            rgba(4, 25, 49, 0.62),
            rgba(4, 25, 49, 0.78)
        ),
        url("../images/close-up-teclado-sendo-desinfetado.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-pattern {
    display: none;
}

.about-big-number {
    position: relative;
    z-index: 2;
}


.about-commercial {
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 38px;
    z-index: 2;
}

.about-commercial strong {
    display: block;

    color: #fff;
    font-size: clamp(2.6rem, 4vw, 4.4rem);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -0.045em;
}

.about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 10px;
    padding: 14px 22px;

    background: #36a9f5;
    border-radius: 9px;

    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .035em;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.about-button span {
    color: #fff;
    font-size: 1rem;
    transition: transform .2s ease;
}

.about-button:hover {
    background: #168fe0;
    color: #fff;

    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(54, 169, 245, .22);
}

.about-button:hover span {
    transform: translateX(3px);
}

.about-button:focus-visible {
    outline: 3px solid rgba(54, 169, 245, .3);
    outline-offset: 3px;
}

/* =========================================================
   COMO FUNCIONA
   ========================================================= */

.process-section {
    padding: 90px 0 100px;
    background: #07182d;
    color: #fff;
}

.process-heading {
    max-width: 800px;
    margin: 0 auto 54px;
    text-align: center;
}

.process-eyebrow {
    justify-content: center;
    margin-bottom: 22px;
    color: #55baff;
}

.process-eyebrow span {
    background: #55baff;
}

.process-heading h2 {
    margin: 0;

    color: #fff;
    font-size: clamp(2.5rem, 4.2vw, 4rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.04em;
}


/* Cards */

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.process-card {
    min-height: 310px;
    padding: 34px 26px 30px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;

    background: rgba(15, 48, 82, .30);
    border: 1px solid rgba(71, 174, 245, .26);
    border-radius: 16px;
}


/* Número */

.process-number {
    width: 80px;
    height: 80px;
    margin: 0 auto 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #45b5ff;
    border-radius: 50%;

    color: #55baff;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;

    background: rgba(30, 91, 145, .15);
}


/* Títulos dos passos */

.process-card h3 {
    margin: 0 0 18px;

    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


/* Descrições */

.process-card p {
    max-width: 250px;
    margin: 0;

    color: #b9cee2;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 1000px) {

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .process-section {
        padding: 65px 0 70px;
    }

    .process-heading {
        margin-bottom: 38px;
    }

    .process-heading h2 {
        font-size: clamp(2.2rem, 10vw, 3rem);
    }

    .process-heading h2 br {
        display: none;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .process-card {
        min-height: auto;
        padding: 28px 22px 30px;
    }

    .process-number {
        width: 70px;
        height: 70px;
        margin-bottom: 24px;

        font-size: 1.75rem;
    }

}

.brand-logo {
    display: block;
    width: auto;
    height: 52px;
    max-width: 240px;
    object-fit: contain;
}

@media (max-width: 700px) {
    .brand-logo {
        height: 42px;
        max-width: 195px;
    }
}

/* =========================================================
   HERO - versão simplificada
   ========================================================= */

.hero-home .hero-grid {
    align-items: center;
}

.hero-simple-visual {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-computer {
    display: block;

    width: 100%;
    max-width: 520px;
    height: auto;

    filter: drop-shadow(0 22px 38px rgba(0, 0, 0, .20));
}


/* WhatsApp */

.button-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.hero-whatsapp-icon {
    width: 21px;
    height: 21px;
    min-width: 21px;

    display: block;

    color: #fff;
}


/* Tablet */

@media (max-width: 1000px) {

    .hero-computer {
        max-width: 430px;
    }

}


/* Celular */

@media (max-width: 760px) {

    .hero-simple-visual {
        margin-top: 20px;
    }

    .hero-computer {
        max-width: 360px;
    }

}

/* Presença Digital - ilustração do navegador */

.browser-mock {
    width: 88%;
    justify-self: end;
}



/* =========================================================
   FAQ - botão abrir / fechar
   ========================================================= */

.faq-list summary {
    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}


/* Container do ícone */

.faq-list summary .faq-toggle-icon {
    position: relative;

    width: 34px;
    height: 34px;
    min-width: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 50%;

    background: #eef5ff;
    color: #147cf3;

    font-size: 0;
    line-height: 1;

    transform: none !important;

    transition:
        background .2s ease,
        color .2s ease;
}


/* Cancela qualquer pseudo-elemento antigo */

.faq-list summary .faq-toggle-icon::before,
.faq-list summary .faq-toggle-icon::after {
    content: none !important;
    display: none !important;
}


/* SVGs */

.faq-list summary .faq-toggle-icon svg {
    position: static;

    width: 17px;
    height: 17px;

    margin: 0;
    padding: 0;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;

    transform: none !important;
}


/* Fechado: mostra somente o + */

.faq-list summary .faq-icon-plus {
    display: block !important;
}

.faq-list summary .faq-icon-up {
    display: none !important;
}


/* Aberto */

.faq-list details[open] summary .faq-toggle-icon {
    background: #147cf3;
    color: #fff;

    transform: none !important;
}


/* Aberto: esconde + */

.faq-list details[open] summary .faq-icon-plus {
    display: none !important;
}


/* Aberto: mostra somente a seta */

.faq-list details[open] summary .faq-icon-up {
    display: block !important;
    transform: none !important;
}



/* Botão WhatsApp */

.faq-whatsapp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    margin-top: 18px;
    padding: 13px 19px;

    background: #25d366;
    border-radius: 9px;

    color: #fff;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.faq-whatsapp-button svg {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;

    color: #fff;
}

.faq-whatsapp-button:hover {
    background: #20bd5a;
    color: #fff;

    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37, 211, 102, .20);
}

.faq-whatsapp-button:focus-visible {
    outline: 3px solid rgba(37, 211, 102, .28);
    outline-offset: 3px;
}

/* =========================================================
   Localização - botões
   ========================================================= */

.location-actions .button-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.location-whatsapp-icon {
    display: block;

    width: 21px;
    height: 21px;
    min-width: 21px;

    color: #fff;
}


/* =========================================================
   Botão Como chegar
   ========================================================= */

.location-actions a.button.location-maps-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 22px;

    background-color: #168df1;
    border: 1px solid #168df1;
    border-radius: 10px;

    color: #ffffff;
    text-decoration: none;

    font-weight: 800;
    line-height: 1;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.location-actions a.button.location-maps-button:hover {
    background-color: #0878db;
    border-color: #0878db;
    color: #ffffff;

    transform: translateY(-2px);
}

.location-actions a.button.location-maps-button:focus-visible {
    outline: 3px solid rgba(22, 141, 241, .35);
    outline-offset: 3px;
}

/* =========================================================
   Footer - logo
   ========================================================= */

.footer-logo {
    display: inline-block;
    margin-bottom: 22px;
}

.footer-logo img {
    display: block;
    width: 82px;
    height: auto;
    object-fit: contain;

    transition: transform .2s ease;
}

.footer-logo:hover img {
    transform: scale(1.05);
}

/* =========================================================
   Footer - nova cor
   ========================================================= */

.site-footer {
    background: #168df1;
    color: #ffffff;
}

/* Títulos */

.site-footer h2 {
    color: #ffffff;
}

/* Links */

.site-footer a {
    color: rgba(255, 255, 255, .88);
}

.site-footer a:hover {
    color: #ffffff;
}

/* Textos */

.site-footer p {
    color: rgba(255, 255, 255, .82);
}

/* Texto da descrição da empresa */

.site-footer .footer-brand p {
    color: rgba(255, 255, 255, .88);
}

/* Linha que separa o rodapé inferior */

.site-footer .footer-bottom {
    border-top-color: rgba(255, 255, 255, .20);
}

/* Copyright */

.site-footer .footer-bottom span {
    color: rgba(255, 255, 255, .75);
}

/* Voltar ao topo */

.site-footer .footer-bottom a {
    color: #ffffff;
    font-weight: 700;
}

/* Footer - contato sempre branco */

.site-footer .footer-grid > div:last-child p {
    color: #ffffff;
}

.site-footer .footer-grid > div:last-child a {
    color: #ffffff;
}

.whatsapp-float svg {
    width: 27px;
    height: 27px;
    display: block;

    color: #ffffff;
    fill: currentColor;
}

/* =========================================================
   PÁGINA DE SERVIÇOS
   ========================================================= */


/* ---------------------------------------------------------
   Hero
   --------------------------------------------------------- */

.services-page-hero {
    position: relative;
    overflow: hidden;

    padding: 82px 0 88px;

    background: #071c33;
    color: #fff;
}

.services-page-hero-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: center;
    gap: 70px;
}

.services-page-hero-copy h1 {
    max-width: 730px;
    margin: 0;

    color: #fff;
    font-size: clamp(3.1rem, 5.3vw, 5.4rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.05em;
}

.services-page-hero-copy h1 em {
    color: #48b8ff;
    font-style: normal;
}

.services-page-hero-lead {
    max-width: 670px;

    margin: 28px 0 0;

    color: rgba(255,255,255,.82);
    font-size: 1.08rem;
    line-height: 1.75;
}

.services-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;

    margin-top: 32px;
}

.services-page-whatsapp-icon {
    width: 21px;
    height: 21px;

    color: #fff;
}

.services-page-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center;
}

.services-page-device {
    display: block;

    width: 100%;
    max-width: 480px;
    height: auto;

    filter: drop-shadow(0 24px 40px rgba(0,0,0,.20));
}


/* ---------------------------------------------------------
   Cabeçalho da lista de serviços
   --------------------------------------------------------- */

.services-page-main {
    background: #f4f7fb;
}

.services-page-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    align-items: end;
    gap: 60px;

    margin-bottom: 42px;
}

.services-page-heading h2 {
    max-width: 700px;
    margin: 0;

    color: var(--ink);
    font-size: clamp(2.6rem, 4.5vw, 4.2rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.services-page-heading > p {
    max-width: 440px;
    margin: 0 0 5px;

    color: #52657b;
    font-size: .98rem;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   Cards dos serviços
   --------------------------------------------------------- */

.services-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.services-page-card {
    position: relative;

    min-height: 330px;
    padding: 32px 28px 28px;

    display: flex;
    flex-direction: column;

    background: #fff;
    border: 1px solid #dce5ef;
    border-radius: 17px;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.services-page-card:hover {
    transform: translateY(-3px);

    border-color: #bdd8f4;

    box-shadow: 0 14px 32px rgba(12, 42, 73, .07);
}

.services-card-number {
    position: absolute;
    top: 27px;
    right: 27px;

    color: #b5c0cd;

    font-size: .75rem;
    font-weight: 800;
}

.services-page-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 26px;

    display: grid;
    place-items: center;

    background: #eaf4ff;
    border-radius: 12px;

    color: #147cf3;
}

.services-page-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.services-page-card h3 {
    margin: 0 0 12px;

    color: var(--ink);

    font-size: 1.08rem;
    line-height: 1.35;
}

.services-page-card p {
    margin: 0 0 24px;

    color: #586c82;

    font-size: .9rem;
    line-height: 1.7;
}

.services-page-card > a {
    margin-top: auto;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #087cf0;

    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
}

.services-page-card > a span {
    transition: transform .2s ease;
}

.services-page-card > a:hover span {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   Problemas
   --------------------------------------------------------- */

.problems-section {
    background: #fff;
}

.problems-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 85px;
}

.problems-heading h2 {
    max-width: 560px;

    margin: 0 0 22px;

    color: var(--ink);

    font-size: clamp(2.5rem, 4vw, 3.9rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.problems-heading > p:last-child {
    max-width: 540px;

    color: #586c82;

    line-height: 1.75;
}

.problems-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.problems-list > div {
    min-height: 68px;

    padding: 16px 18px;

    display: flex;
    align-items: center;
    gap: 12px;

    background: #f4f8fc;
    border: 1px solid #e2eaf2;
    border-radius: 12px;
}

.problems-list span {
    width: 24px;
    height: 24px;
    min-width: 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #20bd5a;
    border-radius: 50%;

    color: #fff;
    font-size: .76rem;
    font-weight: 900;
}

.problems-list strong {
    color: var(--ink);

    font-size: .88rem;
    line-height: 1.35;
}


/* ---------------------------------------------------------
   Processo
   --------------------------------------------------------- */

.service-process-section {
    background: #071c33;
    color: #fff;
}

.service-process-heading {
    max-width: 780px;

    margin: 0 auto 48px;

    text-align: center;
}

.service-process-heading .eyebrow {
    justify-content: center;
}

.service-process-heading h2 {
    margin: 0 0 18px;

    color: #fff;

    font-size: clamp(2.5rem, 4.2vw, 4rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.service-process-heading > p:last-child {
    color: #b8cce0;

    font-size: 1rem;
}

.service-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.service-process-grid article {
    padding: 30px 24px;

    text-align: center;

    background: rgba(19, 59, 96, .30);
    border: 1px solid rgba(72, 184, 255, .23);
    border-radius: 15px;
}

.service-process-grid article > span {
    width: 68px;
    height: 68px;

    margin: 0 auto 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #48b8ff;
    border-radius: 50%;

    color: #48b8ff;

    font-size: 1.6rem;
    font-weight: 800;
}

.service-process-grid h3 {
    margin: 0 0 11px;

    color: #fff;

    font-size: 1rem;
}

.service-process-grid p {
    margin: 0;

    color: #b8cce0;

    font-size: .88rem;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   Por que Smart Info
   --------------------------------------------------------- */

.services-why-section {
    background: #fff;
}

.services-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(460px, 1fr);
    align-items: center;
    gap: 80px;
}

.services-why-grid h2 {
    max-width: 600px;

    margin: 0 0 20px;

    color: var(--ink);

    font-size: clamp(2.5rem, 4vw, 3.8rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.services-why-grid p {
    max-width: 590px;

    color: #586c82;

    line-height: 1.75;
}

.services-why-grid p strong {
    color: var(--ink);
}

.services-why-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.services-why-points > div {
    min-height: 150px;

    padding: 25px 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: #f4f8fc;
    border: 1px solid #e2eaf2;
    border-radius: 14px;
}

.services-why-points strong {
    display: block;

    color: #168df1;

    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
}

.services-why-points span {
    margin-top: 9px;

    color: #41566d;

    font-size: .8rem;
    font-weight: 700;
    line-height: 1.35;
}


/* ---------------------------------------------------------
   CTA final
   --------------------------------------------------------- */

.services-final-cta {
    padding: 0 0 80px;

    background: #fff;
}

.services-final-box {
    padding: 34px 38px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;

    background: #071c33;
    border-radius: 17px;
}

.services-final-box h2 {
    margin: 0 0 8px;

    color: #fff;

    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
    line-height: 1.1;
}

.services-final-box p {
    margin: 0;

    color: #c1d1df;
}

.services-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    flex-shrink: 0;
}

.services-map-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 22px;

    background: #168df1;
    border: 1px solid #168df1;
    border-radius: 10px;

    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.services-map-button:hover {
    background: #0878db;
    color: #fff;
}


/* ---------------------------------------------------------
   Responsivo
   --------------------------------------------------------- */

@media (max-width: 1050px) {

    .services-page-hero-grid,
    .problems-grid,
    .services-why-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .services-page-hero-visual {
        justify-content: flex-start;
    }

    .services-page-device {
        max-width: 420px;
    }

    .services-page-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .services-why-points {
        max-width: 650px;
    }

}


@media (max-width: 760px) {

    .services-page-hero {
        padding: 62px 0 68px;
    }

    .services-page-hero-grid {
        gap: 35px;
    }

    .services-page-hero-copy h1 {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .services-page-heading {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .services-page-grid,
    .problems-list,
    .service-process-grid,
    .services-why-points {
        grid-template-columns: 1fr;
    }

    .services-page-card {
        min-height: auto;
    }

    .services-final-box {
        padding: 28px 22px;

        flex-direction: column;
        align-items: flex-start;
    }

    .services-final-actions {
        width: 100%;
    }

    .services-final-actions .button {
        width: 100%;
    }

}

/* =========================================================
   HERO DAS PÁGINAS INTERNAS
   ========================================================= */

.internal-hero {
    position: relative;
    overflow: hidden;
    padding: 72px 0 76px;
    background: #071f38;
    color: #fff;
}

.internal-hero::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -150px;
    top: -210px;
    border: 1px solid rgba(72, 184, 255, .14);
    border-radius: 50%;
    pointer-events: none;
}

.internal-hero .container {
    position: relative;
    z-index: 1;
}

.internal-hero .eyebrow {
    margin: 0 0 16px;
    color: #64bdff;
}

.internal-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

@media (max-width: 760px) {
    .internal-hero {
        padding: 52px 0 56px;
    }

    .internal-hero h1 {
        font-size: clamp(2rem, 9vw, 2.7rem);
    }
}

/* =========================================================
   PÁGINA INDIVIDUAL DE SERVIÇO
   ========================================================= */

.service-detail {
    background: #fff;
}

.service-detail-grid {
    max-width: none;
}

.service-detail-content {
    max-width: none;
}

.service-detail-lead {
    margin: 0 0 28px;
    font-size: 1.25rem;
    line-height: 1.7;
    color: #5b6b7e;
}

.service-detail-body {
    color: #26384b;
    font-size: 1.05rem;
    line-height: 1.8;
}

.service-detail-body p {
    margin: 0 0 22px;
}

.service-detail-body h2 {
    margin: 42px 0 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    color: #0b223d;
}

.service-detail-body h3 {
    margin: 32px 0 14px;
    font-size: 1.35rem;
    color: #0b223d;
}

.service-detail-body ul,
.service-detail-body ol {
    margin: 0 0 24px 22px;
}

.service-detail-body li {
    margin-bottom: 8px;
}

/* =========================================================
   PÁGINA INDIVIDUAL DE SERVIÇO
   ========================================================= */

.service-detail {
    background: #fff;
}

.service-detail-container {
    max-width: 1200px;
}

.service-detail-content {
    width: 100%;
	max-width: none;
}

.service-detail-lead {
    max-width: none;
    margin: 0 0 34px;

    color: #0b0b0b;
    font-size: 1.55rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.service-detail-body {
    max-width: none;
    color: #26384b;
    font-size: 1.05rem;
    line-height: 1.85;
}

.service-detail-body p {
    margin: 0 0 24px;
}

.service-detail-body h2 {
    margin: 48px 0 20px;
    color: #0b223d;
    font-size: 1.9rem;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.service-detail-body h3 {
    margin: 38px 0 16px;
    color: #0b223d;
    font-size: 1.4rem;
    line-height: 1.25;
}

.service-detail-body ul,
.service-detail-body ol {
    margin: 0 0 28px;
    padding-left: 24px;
}

.service-detail-body li {
    margin-bottom: 10px;
}

.service-detail-body a {
    color: #168df1;
    font-weight: 700;
}

.service-detail-image {
    max-width: 820px;
    margin: 0 0 40px;
    overflow: hidden;
    border-radius: 18px;
}

.service-detail-image img {
    display: block;
    width: 100%;
    height: auto;
}

.service-back-link {
    margin-top: 46px;
    padding-top: 28px;
    border-top: 1px solid #e4ebf2;
}

.service-back-link a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #168df1;
    font-weight: 800;
    text-decoration: none;
}

.service-back-link a:hover {
    text-decoration: underline;
}


/* =========================================================
   CTA DO SERVIÇO
   ========================================================= */

.service-detail-cta {
    padding: 0 0 80px;
    background: #fff;
}

.service-detail-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 48px 54px;
    border-radius: 24px;
    background: #071f38;
    color: #fff;
}

.service-detail-cta-copy {
    max-width: 650px;
}

.service-detail-cta-copy .eyebrow {
    margin: 0 0 14px;
    color: #65beff;
}

.service-detail-cta-copy h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.12;
}

.service-detail-cta-copy > p:last-child {
    margin: 0;
    max-width: 600px;
    color: rgba(255, 255, 255, .76);
    line-height: 1.65;
}

.service-detail-cta-actions {
    flex: 0 0 auto;
}

.service-detail-whatsapp-icon {
    width: 19px;
    height: 19px;
}


/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 800px) {

    .service-detail-lead {
        font-size: 1.3rem;
    }

    .service-detail-cta {
        padding-bottom: 55px;
    }

    .service-detail-cta-box {
        align-items: flex-start;
        flex-direction: column;
        gap: 28px;
        padding: 36px 28px;
    }

    .service-detail-cta-actions {
        width: 100%;
    }

    .service-detail-cta-actions .button {
        width: 100%;
        justify-content: center;
    }

}

/* Conteúdo das páginas internas */
.internal-page-content {
    padding-top: 25px;
}

@media (max-width: 760px) {
    .internal-page-content {
        padding-top: 40px;
    }
}

.internal-page-summary {
    margin-bottom: 24px;
    color: #0b223d;
    font-size: 1.25rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: -0.01em;
}

@media (max-width: 760px) {
    .internal-page-summary {
        font-size: 1.12rem;
    }
}

/* =========================================================
   PÁGINA DICAS
   ========================================================= */

.tips-page {
    background: #fff;
}

.tips-intro {
    max-width: 760px;
    margin-bottom: 48px;
}

.tips-intro > p {
    margin: 0;
    color: #0b223d;
    font-size: 1.25rem;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.tips-featured-grid {
    margin-top: 0;
}

.tips-articles-heading {
    margin-top: 72px;
    margin-bottom: 32px;
}

.tips-articles-heading .eyebrow {
    margin-bottom: 14px;
}

.tips-articles-heading h2 {
    margin: 0;
    color: #0b223d;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

@media (max-width: 760px) {
    .tips-intro {
        margin-bottom: 36px;
    }

    .tips-intro > p {
        font-size: 1.12rem;
    }

    .tips-articles-heading {
        margin-top: 52px;
    }
}

/* =========================================================
   PÁGINA CONTATO
   ========================================================= */

.contact-page {
    background: #fff;
}

.contact-page-intro {
    max-width: 780px;
    margin-bottom: 46px;
}

.contact-page-intro p {
    margin: 0;
    color: #0b223d;
    font-size: 1.25rem;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.contact-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.contact-page-card {
    padding: 38px;
    border: 1px solid #e3eaf1;
    border-radius: 22px;
    background: #fff;
}

.contact-page-card .eyebrow {
    margin-bottom: 15px;
}

.contact-page-card h2 {
    margin: 0 0 30px;
    color: #0b223d;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.contact-page-info {
    display: grid;
    gap: 0;
}

.contact-page-info > div {
    padding: 19px 0;
    border-top: 1px solid #e7edf3;
}

.contact-page-info span {
    display: block;
    margin-bottom: 5px;
    color: #6d7c8c;
    font-size: .86rem;
    font-weight: 700;
}

.contact-page-info strong {
    display: block;
    color: #0b223d;
    line-height: 1.55;
}

.contact-page-info a {
    color: inherit;
    text-decoration: none;
}

.contact-page-info a:hover {
    color: #168df1;
}

.contact-page-actions {
    margin-top: 28px;
}

.contact-whatsapp-icon {
    width: 19px;
    height: 19px;
}

.contact-map-card {
    position: relative;
    display: flex;
    min-height: 230px;
    margin-top: 6px;
    padding: 34px;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 18px;
    background: #eef5fb;
    color: #0b223d;
    text-decoration: none;
}

.contact-map-card .map-road {
    position: absolute;
}

.contact-map-card .map-pin {
    position: absolute;
}

.contact-map-card > strong,
.contact-map-card > small,
.contact-map-card > em {
    position: relative;
    z-index: 2;
}

.contact-map-card > strong {
    font-size: 1.25rem;
}

.contact-map-card > small {
    margin-top: 3px;
    color: #637487;
}

.contact-map-card > em {
    margin-top: 18px;
    color: #168df1;
    font-style: normal;
    font-weight: 800;
}



@media (max-width: 850px) {
    .contact-page-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .contact-page-intro {
        margin-bottom: 34px;
    }

    .contact-page-intro p {
        font-size: 1.12rem;
    }

    .contact-page-card {
        padding: 28px 24px;
    }
}

.contact-maps-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 22px;
    padding: 14px 22px;

    border-radius: 10px;
    background: #168df1;
    color: #fff;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.contact-maps-button:hover {
    background: #0f7fdb;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(22, 141, 241, .22);
}

/* =========================================================
   GALERIA - PÁGINA INDIVIDUAL DE SERVIÇO
   ========================================================= */

.service-gallery {
    width: 100%;
    margin: 65px 0 55px;
    padding-top: 45px;
    border-top: 1px solid #e1e8f0;
}


/* Cabeçalho */

.service-gallery-heading {
    max-width: 760px;
    margin-bottom: 28px;
}

.service-gallery-heading .eyebrow {
    margin-bottom: 12px;
}

.service-gallery-heading h2 {
    margin: 0 0 10px;

    color: #0b223d;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.1;
    letter-spacing: -.03em;
}

.service-gallery-heading > p:last-child {
    margin: 0;

    color: #64758a;
    font-size: .98rem;
}


/* =========================================================
   Imagem principal
   ========================================================= */

.service-gallery-main {
    width: 100%;
}

.service-gallery-featured {
    position: relative;
    overflow: hidden;

    width: 100%;
    height: 480px;
    padding: 0;

    display: block;

    background: #edf2f7;
    border: 0;
    border-radius: 16px;

    cursor: zoom-in;
}

.service-gallery-featured img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    background: #eef2f6;
}


/* =========================================================
   Antes / Depois
   ========================================================= */

.service-gallery-label {
    position: absolute;
    top: 18px;
    left: 18px;

    padding: 8px 14px;

    border-radius: 7px;

    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .04em;

    box-shadow: 0 5px 16px rgba(0, 0, 0, .16);
}

.service-gallery-label.antes {
    background: #d84a4a;
}

.service-gallery-label.depois {
    background: #20a760;
}


/* =========================================================
   Botão ampliar
   ========================================================= */

.service-gallery-zoom {
    position: absolute;
    right: 18px;
    bottom: 18px;

    padding: 9px 14px;

    background: rgba(7, 28, 51, .88);
    border-radius: 7px;

    color: #fff;
    font-size: .75rem;
    font-weight: 800;

    opacity: 0;

    transform: translateY(4px);

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.service-gallery-featured:hover .service-gallery-zoom {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   Legenda
   ========================================================= */

.service-gallery-caption {
    margin-top: 12px;

    color: #52657a;
    font-size: .9rem;
    line-height: 1.5;
}


/* =========================================================
   Miniaturas
   ========================================================= */

.service-gallery-thumbnails {
    margin-top: 20px;

    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.service-gallery-thumbnail {
    position: relative;
    overflow: hidden;

    width: 130px;
    height: 87px;
    padding: 0;

    flex: 0 0 130px;

    background: #edf2f7;

    border: 2px solid transparent;
    border-radius: 10px;

    cursor: pointer;

    opacity: .72;

    transition:
        opacity .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.service-gallery-thumbnail img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.service-gallery-thumbnail:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.service-gallery-thumbnail.is-active {
    opacity: 1;

    border-color: #168df1;

    box-shadow:
        0 0 0 2px rgba(22, 141, 241, .12);
}


/* Tipo da miniatura */

.service-gallery-thumbnail-label {
    position: absolute;
    left: 6px;
    bottom: 6px;

    padding: 4px 7px;

    border-radius: 5px;

    color: #fff;
    font-size: .58rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;

    box-shadow: 0 3px 8px rgba(0, 0, 0, .18);
}

.service-gallery-thumbnail-label.antes {
    background: #d84a4a;
}

.service-gallery-thumbnail-label.depois {
    background: #20a760;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 900px) {

    .service-gallery-featured {
        height: 480px;
    }

}


/* =========================================================
   Celular
   ========================================================= */

@media (max-width: 600px) {

    .service-gallery {
        margin: 50px 0 40px;
        padding-top: 35px;
    }

    .service-gallery-featured {
        height: 330px;
        border-radius: 12px;
    }

    .service-gallery-label {
        top: 12px;
        left: 12px;
    }

    .service-gallery-zoom {
        display: none;
    }

    .service-gallery-thumbnails {
        flex-wrap: nowrap;
        overflow-x: auto;

        padding-bottom: 8px;

        scrollbar-width: thin;
    }

    .service-gallery-thumbnail {
        width: 120px;
        height: 80px;

        flex: 0 0 120px;
    }

}

/* =========================================================
   LIGHTBOX - GALERIA DE SERVIÇOS
   ========================================================= */

body.lightbox-open {
    overflow: hidden;
}

.service-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1000;

    display: none;
}

.service-lightbox.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Fundo */

.service-lightbox-backdrop {
    position: absolute;
    inset: 0;

    background: rgba(3, 12, 22, .94);

    backdrop-filter: blur(4px);
}


/* Área principal */

.service-lightbox-content {
    position: relative;
    z-index: 2;

    width: min(94vw, 1400px);
    height: 92vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 55px 85px;
}


/* Imagem */

.service-lightbox-figure {
    width: 100%;
    height: 100%;

    margin: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.service-lightbox-image-wrapper {
    position: relative;

    max-width: 100%;
    max-height: calc(92vh - 110px);
}

.service-lightbox-image-wrapper img {
    display: block;

    max-width: 100%;
    max-height: calc(92vh - 150px);

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 8px;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .45);
}


/* Antes / Depois */

.service-lightbox-label {
    position: absolute;
    top: 15px;
    left: 15px;

    padding: 8px 13px;

    border-radius: 6px;

    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, .2);
}

.service-lightbox-label.antes {
    background: #d84a4a;
}

.service-lightbox-label.depois {
    background: #20a760;
}


/* Legenda */

.service-lightbox-caption {
    min-height: 25px;

    margin-top: 15px;

    color: rgba(255,255,255,.88);
    font-size: .9rem;
    text-align: center;
}


/* Fechar */

.service-lightbox-close {
    position: absolute;
    top: 8px;
    right: 12px;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;

    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.service-lightbox-close:hover {
    background: rgba(255,255,255,.2);
    transform: rotate(5deg);
}


/* Navegação */

.service-lightbox-nav {
    position: absolute;
    top: 50%;

    width: 50px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    transform: translateY(-50%);

    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 9px;

    color: #fff;
    font-size: 1.7rem;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.service-lightbox-nav:hover {
    background: rgba(255,255,255,.2);

    transform:
        translateY(-50%)
        scale(1.04);
}

.service-lightbox-prev {
    left: 10px;
}

.service-lightbox-next {
    right: 10px;
}


/* Celular */

@media (max-width: 700px) {

    .service-lightbox-content {
        width: 100%;
        height: 100%;

        padding: 70px 15px 75px;
    }

    .service-lightbox-image-wrapper img {
        max-height: calc(100vh - 180px);
    }

    .service-lightbox-close {
        top: 14px;
        right: 14px;
    }

    .service-lightbox-nav {
        top: auto;
        bottom: 14px;

        width: 48px;
        height: 48px;

        transform: none;
    }

    .service-lightbox-nav:hover {
        transform: none;
    }

    .service-lightbox-prev {
        left: calc(50% - 58px);
    }

    .service-lightbox-next {
        right: calc(50% - 58px);
    }

}

/* =========================================================
   BANNERS DA HOME / CARROSSEL
   ========================================================= */

.home-banner-carousel {
    position: relative;
    overflow: hidden;
    background: #07182d;
    color: #fff;
}

.home-banner-track {
    position: relative;
    min-height: 610px;
}

.home-banner-slide {
    position: absolute;
    inset: 0;
    min-height: 610px;
    display: flex;
    align-items: center;
    background-image: var(--banner-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .65s ease, visibility .65s ease;
}

.home-banner-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

.home-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(2, 14, 28, var(--banner-overlay));
}

.home-banner-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
}

.home-banner-content {
    width: min(760px, 72%);
    padding: 92px 0 105px;
}

.home-banner-align-esquerda .home-banner-inner {
    justify-content: flex-start;
    text-align: left;
}

.home-banner-align-centro .home-banner-inner {
    justify-content: center;
    text-align: center;
}

.home-banner-align-direita .home-banner-inner {
    justify-content: flex-end;
    text-align: right;
}

.home-banner-content h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(3rem, 5.2vw, 5.15rem);
    font-weight: 800;
    line-height: .99;
    letter-spacing: -.052em;
    text-wrap: balance;
    text-shadow: 0 3px 24px rgba(0, 0, 0, .18);
}

.home-banner-content h1 em {
    color: #61bdff;
    font-style: normal;
}

.home-banner-content p {
    max-width: 680px;
    margin: 26px 0 0;
    color: #fff;
    font-size: 1.12rem;
    line-height: 1.7;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .3);
}

.home-banner-align-centro .home-banner-content p {
    margin-left: auto;
    margin-right: auto;
}

.home-banner-align-direita .home-banner-content p {
    margin-left: auto;
}

.home-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.home-banner-align-centro .home-banner-actions {
    justify-content: center;
}

.home-banner-align-direita .home-banner-actions {
    justify-content: flex-end;
}

.home-banner-button {
    min-height: 52px;
    padding: 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #fff;
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.home-banner-button:hover {
    color: #fff;
    transform: translateY(-2px);
}

.home-banner-button-primary {
    background: #168df1;
    box-shadow: 0 12px 28px rgba(0, 82, 170, .22);
}

.home-banner-button-primary:hover {
    background: #0878d6;
}

.home-banner-button-secondary {
    border: 1px solid rgba(255, 255, 255, .52);
    background: rgba(4, 20, 38, .18);
    backdrop-filter: blur(4px);
}

.home-banner-button-secondary:hover {
    border-color: #fff;
    background: rgba(4, 20, 38, .35);
}

.home-banner-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    background: rgba(3, 18, 34, .28);
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
    backdrop-filter: blur(5px);
    transition: background .2s ease, border-color .2s ease;
}

.home-banner-arrow:hover {
    background: rgba(3, 18, 34, .65);
    border-color: rgba(255, 255, 255, .65);
}

.home-banner-arrow span {
    display: block;
    margin-top: -4px;
    font-size: 2.3rem;
    font-weight: 300;
    line-height: 1;
}

.home-banner-prev { left: 24px; }
.home-banner-next { right: 24px; }

.home-banner-dots {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 9px;
    transform: translateX(-50%);
}

.home-banner-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .5);
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}

.home-banner-dot.is-active {
    width: 30px;
    background: #fff;
}

@media (max-width: 900px) {
    .home-banner-track,
    .home-banner-slide {
        min-height: 560px;
    }

    .home-banner-content {
        width: min(680px, 82%);
        padding: 80px 0 95px;
    }

    .home-banner-arrow {
        width: 44px;
        height: 44px;
    }

    .home-banner-prev { left: 14px; }
    .home-banner-next { right: 14px; }
}

@media (max-width: 700px) {
    .home-banner-track,
    .home-banner-slide {
        min-height: 520px;
    }

    .home-banner-slide {
        background-position: center;
    }

    .home-banner-inner,
    .home-banner-align-esquerda .home-banner-inner,
    .home-banner-align-centro .home-banner-inner,
    .home-banner-align-direita .home-banner-inner {
        justify-content: center;
        text-align: center;
    }

    .home-banner-content {
        width: 100%;
        padding: 68px 38px 92px;
    }

    .home-banner-content h1 {
        font-size: clamp(2.45rem, 12vw, 3.5rem);
    }

    .home-banner-content p,
    .home-banner-align-direita .home-banner-content p {
        margin-left: auto;
        margin-right: auto;
        font-size: 1rem;
        line-height: 1.6;
    }

    .home-banner-actions,
    .home-banner-align-direita .home-banner-actions {
        justify-content: center;
    }

    .home-banner-arrow {
        top: auto;
        bottom: 17px;
        width: 40px;
        height: 40px;
        transform: none;
    }

    .home-banner-prev { left: 15px; }
    .home-banner-next { right: 15px; }

    .home-banner-dots {
        bottom: 31px;
    }
}

@media (max-width: 480px) {
    .home-banner-content {
        padding-left: 28px;
        padding-right: 28px;
    }

    .home-banner-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .home-banner-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-banner-slide {
        transition: none;
    }
}
/* =========================================================
   BANNERS HOME - ALINHAMENTO DO CONTEÚDO
   ========================================================= */

.home-banner-content {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
