@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap');
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#10120f;--surface:#171b14;--text:#f2f5eb;--muted:#adb5a4;--line:#30382b;--turquoise:#c5f74f;--magenta:#e9efdc;--max:1280px;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--turquoise);outline-offset:7px}::selection{background:var(--turquoise);color:var(--bg)}.shell{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:10px;left:16px;transform:translateY(-160%);padding:15px;background:var(--turquoise);color:var(--bg);z-index:100}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(8,10,12,.86);backdrop-filter:blur(24px)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:26px;letter-spacing:-1.2px;font-weight:750}.brand img{width:36px;height:36px}.brand-system{font-weight:420}.brand-period{color:var(--turquoise)}.desktop-nav{display:flex;gap:34px;font-size:13px;color:#c9cfbd}.desktop-nav a:hover{color:var(--turquoise)}.header-cta{display:flex;gap:24px;align-items:center;font-size:13px;border:1px solid #4b5355;border-radius:30px;padding:13px 21px}.header-cta:hover{border-color:var(--turquoise);color:var(--turquoise)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{padding-top:52px}.hero-topline{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px}.hero-topline .eyebrow:before{content:'';display:inline-block;width:25px;height:2px;background:var(--turquoise);vertical-align:middle;margin-right:12px}.location{font-size:12px;color:var(--muted)}.location span{margin-left:14px;color:var(--turquoise)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center;padding:50px 0 61px}.hero h1{font-size:clamp(67px,calc(7.7vw - 1px),111px);letter-spacing:-.064em;font-weight:570;line-height:1.02;margin:0 0 30px}.accent-text{color:var(--turquoise)}.hero-copy>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:405px;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;min-height:56px;padding:17px 25px;border-radius:40px;font-size:14px;font-weight:560;transition:transform .15s ease,background .2s ease}.button:active,.header-cta:active{transform:scale(.97)}.button span{font-size:21px;line-height:1}.primary{background:var(--turquoise);color:#10120f}.primary:hover{background:#d4ff7e}.hero-visual{position:relative;aspect-ratio:1;min-width:0;isolation:isolate}.hero-visual:before{content:'';position:absolute;inset:5%;background:radial-gradient(ellipse at 30% 45%,#c5f74f18,transparent 58%),radial-gradient(ellipse at 70% 65%,#e9efdc18,transparent 58%);filter:blur(22px);z-index:-1}.orbit{position:absolute;border:1px solid #35402d;border-radius:50%;inset:10%;transform:rotate(-28deg) scaleY(.63)}.orbit-two{transform:rotate(37deg) scaleY(.68);border-color:#494e3c;inset:3%}.orbit-three{inset:18%;transform:rotate(-70deg) scaleY(.82);border-color:#526934}.visual-core{position:absolute;inset:29%;display:grid;place-items:center;transform:rotate(-8deg);border-radius:27%;background:linear-gradient(140deg,#30433f,#111b1b 50%,#493043);box-shadow:0 26px 70px #0008,inset 1px 1px 0 #d7f59a3d,inset -1px -1px 0 #e9efdc40}.visual-core img{width:70%;height:70%;border-radius:26%}.visual-label{position:absolute;border:1px solid #3b4532;background:#181e14cc;backdrop-filter:blur(12px);border-radius:30px;padding:12px 20px;font-size:13px;box-shadow:0 6px 20px #0003}.label-web{top:17%;left:13%;color:var(--turquoise)}.label-mobile{right:0;top:32%}.label-desktop{left:0;bottom:28%}.label-custom{right:9%;bottom:16%;color:var(--magenta);border-color:#626a4f}.visual-caption{position:absolute;bottom:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#94a084}.hero-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);padding:26px 0;font-size:11px;color:var(--muted)}.hero-bottom i{margin:0 12px;color:#5d6c4b;font-style:normal}.hero-bottom a{display:flex;align-items:center;gap:25px;color:var(--text)}
.section{padding-block:120px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:52px}.section-index{display:block;color:var(--turquoise);margin-bottom:27px}.section-heading h2,.faq-heading h2{font-size:clamp(35px,calc(4.2vw - 1px),57px);font-weight:500;letter-spacing:-.045em;line-height:1.12;margin:0}.muted{color:#9da791}.section-heading>p{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 5px;flex-shrink:0}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-card{padding:34px;border-radius:16px;background:linear-gradient(145deg,#1a2015,#12150f);border:1px solid #30382b;display:flex;flex-direction:column;transition:border-color .25s,background .25s}.service-card:hover{border-color:#6c8548;background:linear-gradient(145deg,#232d19,#12150f)}.service-card:nth-child(2):hover,.service-card:nth-child(4):hover{border-color:#737e59}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.service-top svg{width:38px;height:38px;fill:none;stroke:var(--turquoise);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.service-card:nth-child(2) svg,.service-card:nth-child(4) svg{stroke:var(--magenta)}.service-top>span{font-size:11px;color:#a6b395}.service-card h3{font-size:27px;font-weight:530;letter-spacing:-.035em;margin:0 0 15px}.service-card>p{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 26px;max-width:445px}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;margin-bottom:34px}.service-tags span{padding:7px 10px;border:1px solid #39442f;border-radius:6px;font-size:11px;color:#c7cfbb}.text-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;padding-top:20px;border-top:1px solid var(--line)}.text-link>span{font-size:21px;transition:transform .2s}.text-link:hover{color:var(--turquoise)}.text-link:hover>span{transform:translate(2px,-2px)}.services-note{font-size:13px;color:var(--muted);margin:28px 0 0}.services-note a{color:var(--text);text-decoration:underline;text-underline-offset:5px}.project-section{padding-block:108px;background:#13170f;border-block:1px solid #23282b}.project-section .section-index{color:var(--magenta)}.magenta-text{color:var(--magenta)}.project-card{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.project-preview{border-radius:12px;overflow:hidden;position:relative;background:#191b1e;display:block;border:1px solid #4b513d;box-shadow:0 18px 50px #0003}.preview-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-size:10px;color:#b5beaa}.window-dots{display:flex;gap:5px}.window-dots i{width:5px;height:5px;background:#6b6c71;border-radius:50%}.project-preview img{display:block;width:100%;height:auto;aspect-ratio:1.143;object-fit:cover;object-position:top;transition:filter .25s}.preview-link{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);white-space:nowrap;background:var(--text);color:#10120f;border-radius:30px;padding:14px 22px;font-size:13px;display:flex;gap:22px;box-shadow:0 5px 20px #0006}.project-preview:hover img{filter:brightness(.8)}.project-copy>.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--magenta)}.project-copy h3{font-size:clamp(29px,calc(3.7vw - 1px),48px);line-height:1.12;letter-spacing:-.045em;font-weight:530;margin:22px 0}.project-copy>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:375px}.project-features{padding:0;list-style:none;margin:27px 0 35px}.project-features li{font-size:13px;color:#ced5c3;padding:8px 0;display:flex;gap:12px}.project-features li:before{content:'↳';color:var(--magenta)}.project-copy .text-link{max-width:375px}.process-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-grid li{border-top:1px solid #3c4a31;padding-top:25px}.process-number{font-size:12px;color:var(--turquoise);display:block;margin-bottom:38px}.process-grid h3{font-size:20px;letter-spacing:-.04em;line-height:1.35;font-weight:550;min-height:57px;margin:0 0 14px}.process-grid p{font-size:14px;color:var(--muted);line-height:1.75;margin:0}.faq-section{padding-top:30px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.faq-heading h2{font-size:37px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;gap:30px;justify-content:space-between;align-items:center;font-size:15px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{color:var(--turquoise);font-size:23px;line-height:1;flex:none;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);line-height:1.8;margin:0;padding:0 30px 24px 0}.contact-section{background:radial-gradient(ellipse at 100% 100%,#b0bc8c33,transparent 55%),radial-gradient(ellipse at 0 0,#6a852d33,transparent 70%),#151b11;border-block:1px solid #37442c}.contact-inner{padding-block:88px}.contact-inner>.eyebrow{color:var(--turquoise)}.contact-inner h2{font-size:clamp(39px,calc(5.5vw - 1px),75px);letter-spacing:-.055em;font-weight:510;line-height:1.1;margin:35px 0 45px}.contact-inner h2>span{color:var(--turquoise)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-bottom p{font-size:17px;color:var(--muted);line-height:1.8;margin:0}.contact-actions{display:flex;flex-direction:column;gap:20px}.email-link{font-size:13px;display:flex;justify-content:center;gap:20px;color:#d6dec8}.email-link:hover{color:var(--turquoise)}.footer{padding-top:50px}.footer-top{display:flex;align-items:center;gap:50px;padding-bottom:40px}.footer-top p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.back-top{margin-left:auto;font-size:13px;display:flex;gap:25px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:23px 0 30px;color:var(--muted);font-size:11px}.footer-bottom>a:hover{color:var(--turquoise)}
@media(min-width:1600px){.hero-grid{padding-block:70px}.hero h1{font-size:119px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.desktop-nav{gap:22px}.hero h1{font-size:77px}.hero-bottom{font-size:10px}.hero-bottom i{margin:0 7px}.visual-label{padding:10px 16px}.hero-grid{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:90px}.shell{width:calc(100% - 40px)}.header-inner{height:78px;gap:16px}.brand{font-size:24px}.brand img{width:31px;height:31px}.desktop-nav{display:none}.header-cta{margin-left:auto;padding:10px 16px;gap:12px;font-size:12px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;color:var(--text);width:40px;height:44px;padding:9px;cursor:pointer}.menu-toggle span{height:1px;background:currentColor;width:22px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;flex-direction:column;gap:0;background:#171d13;padding:12px 20px 20px;border-bottom:1px solid var(--line)}.mobile-nav a{padding:16px 0}.hero{padding-top:30px}.hero-topline .eyebrow{font-size:9px;letter-spacing:1.4px}.location{font-size:11px}.hero-grid{grid-template-columns:1fr;padding:37px 0 28px;gap:30px}.hero h1{font-size:clamp(63px,calc(13.8vw - 1px),93px);line-height:1.03;margin-bottom:23px}.hero-copy>p{font-size:15px;max-width:340px}.hero-visual{max-width:420px;width:100%;margin:0 auto}.hero-bottom{flex-direction:column;align-items:flex-start;gap:20px;line-height:1.8;font-size:11px}.hero-bottom>span{max-width:330px}.visual-caption{font-size:9px}.button{min-height:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:1050px){.section{padding-block:90px}.section-heading>p{font-size:13px}.service-card{padding:28px}.project-card{gap:35px}.process-grid{gap:20px}.process-grid h3{font-size:18px}.faq-section{gap:35px}.faq-heading h2{font-size:32px}.hero-bottom{font-size:11px}}
@media(max-width:760px){.section{padding-block:75px}.section-heading{display:block;margin-bottom:32px}.section-index{font-size:11px;margin-bottom:23px}.section-heading h2{font-size:35px}.section-heading>p{margin-top:23px;font-size:15px}.services-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:27px}.service-top{margin-bottom:27px}.service-card h3{font-size:26px}.service-tags{margin-bottom:28px}.service-tags span{font-size:11px}.services-note{line-height:1.8}.project-section{padding-block:74px}.project-card{grid-template-columns:1fr;gap:32px}.project-copy h3{font-size:37px}.project-copy .text-link{max-width:none}.project-copy p{max-width:none}.project-features{margin-bottom:25px}.process-grid{grid-template-columns:1fr 1fr;gap:33px 25px}.process-number{margin-bottom:24px}.process-grid h3{font-size:20px;min-height:56px}.process-grid p{font-size:14px}.faq-section{grid-template-columns:1fr;gap:32px;padding-top:15px;padding-bottom:75px}.faq-heading h2{font-size:33px}summary{font-size:15px;gap:18px}.contact-inner{padding-block:65px}.contact-inner>.eyebrow{font-size:9px;letter-spacing:1.3px}.contact-inner h2{font-size:clamp(36px,calc(8.5vw - 1px),57px);margin:28px 0 32px}.contact-bottom{display:block}.contact-bottom p{font-size:15px;margin-bottom:28px}.contact-actions{align-items:flex-start}.contact-actions .button{font-size:13px;gap:22px}.email-link{justify-content:flex-start}.footer-top{flex-wrap:wrap;gap:26px;align-items:flex-start}.footer-top p{order:3;flex-basis:100%}.back-top{gap:10px;font-size:11px;align-self:center}.footer-bottom{font-size:11px;gap:16px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:360px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero-topline .location{display:none}.hero h1{font-size:58px}.section-heading h2{font-size:31px}.process-grid{grid-template-columns:1fr}.process-grid h3{min-height:0}.service-tags span{font-size:11px}.contact-inner h2{font-size:33px}.preview-bar{font-size:9px;padding-inline:10px}}
.no-script-nav{display:flex;flex-wrap:wrap;gap:20px;padding-block:20px}.visual-caption{font-size:11px;letter-spacing:1.5px}.preview-bar,.project-copy>.eyebrow{font-size:11px}.hero-bottom,.footer-bottom{font-size:13px}.process-grid p,details p{font-size:15px}.back-top{font-size:13px}
@media(max-width:760px){.hero-topline .eyebrow,.contact-inner>.eyebrow{font-size:11px}.hero-topline .location{display:none}.hero-bottom{font-size:13px}.contact-inner>.eyebrow{line-height:1.8}.preview-bar{font-size:11px}.preview-bar .window-dots{display:none}.footer-bottom{font-size:13px}}
@media(prefers-reduced-transparency:reduce){.site-header,.visual-label{background:var(--bg);backdrop-filter:none}}

/* Keep the brand lockup on a solid surface across both GZO sites. */
.site-header{background:#000;backdrop-filter:none}
@media(prefers-contrast:more){:root{--muted:#d3dada;--line:#7b8585}.visual-label{background:var(--bg);border-color:#afbbbb}}
@keyframes loaderPulse{from{transform:scale(.92) rotate(-4deg);box-shadow:0 15px 45px #0008,inset 1px 1px 0 #d7f59a3d}to{transform:scale(1.04) rotate(4deg);box-shadow:0 25px 70px #0009,inset 1px 1px 0 #d7f59a3d}}
.page-loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;align-content:center;gap:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}.page-loader.is-visible{opacity:1;visibility:visible;pointer-events:auto}.loader-mark{width:80px;height:80px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(140deg,#263a38,#111b1b 52%,#3a2739);box-shadow:0 20px 60px #0009,inset 1px 1px 0 #d7f59a3d;animation:loaderPulse 1.4s cubic-bezier(.16,1,.3,1) infinite alternate}.loader-mark img{width:48px;height:48px}.page-loader>span{font-size:10px;letter-spacing:3px;color:#b9c4ab}.service-card .service-tags{margin-bottom:0}.project-preview{cursor:pointer}.project-trust{font-size:13px!important;color:#e1e9d3!important;border-left:2px solid var(--magenta);padding-left:16px;margin-top:30px}.whatsapp-float{position:fixed;z-index:40;right:28px;bottom:26px;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 13px;border-radius:40px;background:#20d769;color:#04150b;box-shadow:0 12px 35px #0008,0 0 0 1px #98ffc444;transition:transform .18s ease,box-shadow .2s ease}.whatsapp-float svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.whatsapp-float span{font-size:12px;font-weight:700}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 17px 42px #0009,0 0 0 2px #98ffc466}
@media(max-width:760px){.whatsapp-float{right:16px;bottom:16px;padding:11px;border-radius:50%}.whatsapp-float svg{width:30px;height:30px}.whatsapp-float span{display:none}.project-trust{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.loader-mark{animation:none}.page-loader{transition:none}.whatsapp-float{transition:none}}

/* WhatsApp uses a compact, recognisable floating mark instead of a text button. */
.whatsapp-float{width:56px;height:56px;padding:0;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#061b0d;border:2px solid #061b0d;box-shadow:0 0 0 3px #1fbc59,0 14px 34px #0009;transition:transform .18s ease,box-shadow .2s ease}
.whatsapp-float svg{width:31px;height:31px;stroke-width:1.9}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 3px #31df70,0 20px 38px #0009}
.services-grid{grid-auto-rows:1fr}.service-card--tv{grid-column:1}.service-card--tv>p{max-width:445px}
@media(max-width:760px){.whatsapp-float{width:52px;height:52px;right:17px;bottom:17px}.whatsapp-float svg{width:29px;height:29px}.service-card--tv{grid-column:auto}}

/* Minimal loader: a color-only ring keeps the brand present without a logo plate. */
.loader-spinner{width:54px;aspect-ratio:1;border:3px solid rgba(197,247,79,.16);border-top-color:var(--turquoise);border-right-color:var(--magenta);border-radius:50%;box-shadow:0 0 26px #c5f74f2b,0 0 20px #e9efdc20;animation:system-loader-spin .78s linear infinite}
@keyframes system-loader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loader-spinner{animation:none}}

/* Final type direction: Sora for impact, Manrope for reading. */
:root,button,input,textarea,select{font-family:Manrope,Inter,Arial,sans-serif}
.hero h1,.section-heading h2,.faq-heading h2,.contact-inner h2,.project-copy h3,.service-card h3,.process-grid h3{font-family:Sora,Inter,Arial,sans-serif;font-weight:600}
.hero h1{font-weight:700;letter-spacing:-.07em}.section-heading h2,.faq-heading h2,.contact-inner h2,.project-copy h3{letter-spacing:-.055em}
@keyframes loaderPulse{from{transform:scale(.92) rotate(-4deg);box-shadow:0 15px 45px #0008,inset 1px 1px 0 #d7f59a3d}to{transform:scale(1.04) rotate(4deg);box-shadow:0 25px 70px #0009,inset 1px 1px 0 #d7f59a3d}}
.service-card .service-tags{margin-bottom:0}.project-preview{cursor:pointer}.project-trust{font-size:13px!important;color:#e1e9d3!important;border-left:2px solid var(--magenta);padding-left:16px;margin-top:30px}.whatsapp-float{position:fixed;z-index:40;right:28px;bottom:26px;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 13px;border-radius:40px;background:#20d769;color:#04150b;box-shadow:0 12px 35px #0008,0 0 0 1px #98ffc444;transition:transform .18s ease,box-shadow .2s ease}.whatsapp-float svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.whatsapp-float span{font-size:12px;font-weight:700}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 17px 42px #0009,0 0 0 2px #98ffc466}
.hash-alias{display:block;position:relative;top:-110px;visibility:hidden;height:0}
@media(max-width:760px){.whatsapp-float{right:16px;bottom:16px;padding:11px;border-radius:50%}.whatsapp-float svg{width:30px;height:30px}.whatsapp-float span{display:none}.project-trust{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.loader-mark{animation:none}.page-loader{transition:none}.whatsapp-float{transition:none}}

/* Final floating button rules must follow the shared responsive styles. */
.whatsapp-float{width:56px;height:56px;padding:0;display:grid;place-items:center;border-radius:50%;background:#25d366;border:2px solid #061b0d;box-shadow:0 0 0 3px #1fbc59,0 14px 34px #0009}
.whatsapp-float img{display:block;width:32px;height:32px}
.atom-visual{perspective:1000px}
.atom-scene{position:absolute;inset:2% 0 7%;transform-style:preserve-3d;will-change:transform}
.atom-tracks{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1;stroke:#c5f74f4d}
.atom-tracks ellipse:nth-child(2){stroke:#e9efdc4d}.atom-tracks ellipse:nth-child(3){stroke:#9da97d40}
.atom-scene .visual-core{inset:34%;transform:rotate(-8deg);border:1px solid #65958c40;box-shadow:0 18px 55px #0007,inset 1px 1px 0 #d7f59a3d;z-index:2}
.atom-label{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);z-index:3;white-space:nowrap;font-size:12px;padding:10px 15px;background:#151b11ed;will-change:transform}
.atom-label.label-custom{color:var(--magenta);border-color:#e9efdc55}
.atom-electron{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 12px #c5f74f70;z-index:1}
.electron-two{background:var(--magenta);box-shadow:0 0 12px #e9efdc70}
@media(max-width:760px){.atom-label{font-size:10px;padding:8px 11px}.atom-electron{width:5px;height:5px}}
.page-content{min-height:calc(100svh - 350px);animation:page-enter .4s ease both;overflow-x:clip}
.page-content>.faq-section{padding-top:90px}
.desktop-nav a[aria-current=page],.mobile-nav a[aria-current=page]{color:var(--turquoise)}
.faq-link{font-size:12px;color:var(--muted);margin-left:auto}
.faq-link+.back-top{margin-left:0}
@keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.footer-top .faq-link{order:4;margin-left:0}.page-content>.faq-section{padding-top:65px}}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 3px #31df70,0 20px 38px #0009}
@media(max-width:760px){.services-grid{grid-auto-rows:auto}.whatsapp-float{width:52px;height:52px;padding:0;right:17px;bottom:17px}.whatsapp-float img{width:30px;height:30px}}
.whatsapp-float{width:44px;height:44px;border-width:2px;box-shadow:0 0 0 2px #1fbc59,0 8px 24px #0008}
.whatsapp-float img{width:25px;height:25px}
.whatsapp-float:hover{box-shadow:0 0 0 2px #31df70,0 12px 28px #0009}
@media(max-width:760px){.whatsapp-float{width:44px;height:44px}.whatsapp-float img{width:25px;height:25px}}

.atom-scene .visual-core{will-change:transform}

/* Fit the complete desktop introduction to the usable browser viewport. */
@media(min-width:761px){
  :root{--desktop-header-height:clamp(64px,11svh,96px)}
  .header-inner{height:var(--desktop-header-height)}
  .hero{min-height:calc(100svh - var(--desktop-header-height));padding-top:clamp(18px,4svh,40px);display:flex;flex-direction:column}
  .hero-grid{flex:1;grid-template-columns:1.05fr 1fr;gap:36px;padding:clamp(12px,3svh,32px) 0 36px}
  .hero h1{font-size:clamp(53px,calc(11svh - 1px),105px);margin-bottom:clamp(16px,2.6svh,28px)}
  .hero-copy>p{font-size:clamp(15px,calc(2.4svh - 1px),17px);line-height:1.6;margin-bottom:20px}
  .hero-visual{width:min(100%,clamp(280px,calc(100svh - 230px),600px));justify-self:center}
  .hero-bottom{padding:16px 64px 16px 0;flex-shrink:0;font-size:12px}
}

/* Desktop sections share one viewport rhythm; expanded answers can grow. */
@media(min-width:761px){
  html{scroll-padding-top:var(--desktop-header-height)}
  .section,.project-section,.faq-section,.contact-section{min-height:calc(100svh - var(--desktop-header-height))}
  .section,.project-section{padding-block:clamp(18px,3.5svh,42px)}
  .section{display:flex;flex-direction:column;justify-content:center}
  .section-heading{margin-bottom:clamp(18px,3svh,32px);gap:28px}
  .section-index{margin-bottom:8px;font-size:10px}
  .section-heading h2{font-size:clamp(27px,calc(4.8svh - 1px),47px)}
  .section-heading>p{font-size:13px;line-height:1.5}
  .services-grid{gap:12px;flex:1}
  .service-card{padding:16px 20px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto 1fr auto;column-gap:14px;row-gap:10px;align-content:start}
  .service-top{grid-column:1;grid-row:1;margin:0;align-self:center}
  .service-top svg{width:30px;height:30px}
  .service-card h3{grid-column:2;grid-row:1;align-self:center;font-size:clamp(20px,calc(3.5svh - 1px),27px);margin:0}
  .service-card>p{grid-column:1/-1;font-size:14px;line-height:1.45;margin:0;max-width:none}
  .service-tags{grid-column:1/-1;margin:0;gap:6px}
  .service-tags span{font-size:10px;padding:5px 8px}
  .services-note{margin-top:12px;font-size:12px;line-height:1.5;margin-bottom:0}
  .project-card{grid-template-columns:1fr 1fr;gap:40px}
  .project-preview{width:min(100%,calc((100svh - 270px)*1.143));justify-self:center}
  .preview-bar{padding:10px 12px;font-size:10px}
  .project-copy h3{font-size:clamp(27px,calc(5svh - 1px),45px);margin:12px 0}
  .project-copy>p{font-size:14px;line-height:1.55;margin:12px 0;max-width:460px}
  .project-features{margin:14px 0}
  .project-features li{padding:5px 0;font-size:12px}
  .project-copy .project-trust{margin-top:18px;font-size:12px!important;line-height:1.5}
  .process-grid{gap:26px}
  .process-grid li{padding-top:18px}
  .process-grid h3{font-size:19px;margin-bottom:10px}
  .process-grid p{font-size:14px;line-height:1.65}
  .faq-section{padding-block:clamp(24px,5svh,60px);align-content:center;gap:40px}
  .faq-heading h2{font-size:clamp(27px,calc(4.8svh - 1px),41px)}
  summary{padding:18px 0;font-size:14px}
  details p{font-size:13px;line-height:1.6;padding-bottom:18px}
  .contact-section{display:flex;align-items:center}
  .contact-inner{padding-block:32px}
  .contact-inner h2{font-size:clamp(39px,calc(7.5svh - 1px),71px);margin:24px 0 32px}
  .contact-bottom p{font-size:15px}
}
@media(min-width:761px) and (max-width:1100px) and (max-height:760px){
  .service-card{padding-block:12px}
}

/* A narrower two-by-two service block gives each card a squarer silhouette. */
@media(min-width:1101px){
  #servicios{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,760px);grid-template-rows:1fr auto;column-gap:48px;row-gap:20px}
  #servicios .section-heading{grid-column:1;grid-row:1;display:block;align-self:center;margin:0}
  #servicios .section-heading h2{font-size:clamp(27px,calc(4.8svh - 1px),41px)}
  #servicios .section-heading>p{margin:22px 0 0}
  #servicios .services-grid{grid-column:2;grid-row:1/3;align-self:center;height:min(calc(100svh - var(--desktop-header-height) - clamp(36px,7svh,84px)),640px);flex:none}
  #servicios .service-card{padding:18px 20px;row-gap:14px}
  #servicios .service-tags{align-self:end}
  #servicios .services-note{grid-column:1;grid-row:2;margin:0;max-width:260px;line-height:1.7}
}
@media(min-width:761px) and (max-width:1100px){
  #servicios .services-grid{width:min(100%,800px);align-self:center}
}

/* One-point reduction for text that inherits the browser's base size. */
:root{font-size:15px}

/* Approved symbol stands on its own; the existing wordmark stays as live text. */
.brand img{width:44px;height:44px;object-fit:contain;margin:-4px}
.atom-scene .visual-core{inset:28%;background:none;border:0;border-radius:0;box-shadow:none}
.atom-scene .visual-core img{width:100%;height:100%;border-radius:0;object-fit:contain}
@media(max-width:760px){.brand img{width:39px;height:39px}}

/* Graphite, lime and ivory palette; WhatsApp keeps its official green. */
.site-header{background:#090b08}
.hero-visual:before{background:radial-gradient(ellipse at 45% 50%,#c5f74f12,transparent 65%),radial-gradient(ellipse at 70% 65%,#e9efdc08,transparent 60%)}
.visual-label{background:#181e14ed;border-color:#3b4532}
.service-card:hover{border-color:#6c8548}
.service-card:nth-child(2):hover,.service-card:nth-child(4):hover{border-color:#737e59}
.whatsapp-float{right:max(56px,calc((100vw - var(--max))/2));bottom:24px;box-shadow:0 0 0 2px #1fbc59,0 8px 24px #0008}
.hero-bottom{padding-right:76px}
@media(min-width:761px){.hero-bottom{min-height:92px}.hero-visual{width:min(100%,clamp(280px,calc(100svh - 270px),600px))}}
@media(max-width:1050px) and (min-width:761px){.whatsapp-float{right:32px}}
@media(max-width:760px){.whatsapp-float{right:20px;bottom:20px}.hero-bottom{padding-right:0}.hero-bottom>a{padding-right:56px}}

/* Subtle translucent header, with the full lockup softened equally. */
.site-header{background:rgba(9,11,8,.87);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header .brand{opacity:.9}
.site-header .desktop-nav{opacity:.94}
@media(prefers-reduced-transparency:reduce){.site-header{background:#090b08;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header .brand,.site-header .desktop-nav{opacity:1}}

/* Desktop width follows the viewport, with one shared gutter for every section. */
@media(min-width:761px){
  :root{--desktop-gutter:clamp(32px,4vw,96px)}
  .shell{width:calc(100% - var(--desktop-gutter)*2);max-width:none}
  .whatsapp-float{right:var(--desktop-gutter)}
  .hero-visual{justify-self:end;width:min(100%,clamp(240px,calc(100svh - var(--desktop-header-height) - clamp(18px,4svh,40px) - 18px - clamp(12px,3svh,32px) - 36px - 92px),720px))}
  .project-preview{width:min(100%,calc((100svh - var(--desktop-header-height) - clamp(36px,7svh,84px) - clamp(18px,3svh,32px) - 170px)*1.143))}
  .process-grid p{max-width:36ch}
  .faq-list{width:100%;max-width:740px;justify-self:end}
}
@media(min-width:1101px){
  #servicios{grid-template-columns:minmax(240px,.85fr) minmax(0,1.4fr)}
  #servicios .services-grid{height:min(calc(100svh - var(--desktop-header-height) - clamp(36px,7svh,84px)),840px)}
}

/* A shared, restrained interaction language. */
.desktop-nav a{position:relative;transition:color .2s ease}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--turquoise);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}
.desktop-nav a[aria-current]{color:var(--turquoise)}
.service-card{transition:transform .25s ease,border-color .25s ease,background .25s ease}
.project-preview{transition:transform .3s ease,box-shadow .3s ease}
.button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
summary{transition:color .2s ease}
summary:hover,details[open] summary{color:var(--turquoise)}
summary span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
details[open] summary span{transform:rotate(45deg)}
details.is-closing summary span{transform:rotate(0)}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-3px)}.project-preview:hover{transform:translateY(-3px);box-shadow:0 22px 55px #0005}.button:hover{transform:translateY(-2px);box-shadow:0 5px 18px #c5f74f18}.button:active{transform:scale(.97)}}
@media(prefers-reduced-motion:reduce){.service-card:hover,.project-preview:hover,.button:hover{transform:none}}

/* Local lighting and quiet icon motion add depth without shifting the layout. */
.service-card{position:relative;isolation:isolate;overflow:hidden}
.service-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,50%),#c5f74f16,transparent 72%);opacity:0;transition:opacity .35s ease;z-index:-1}
.service-top svg{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.project-preview img{transition:filter .35s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.button span,.hero-bottom a span,.back-top span{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){.service-card:hover:before{opacity:1}.service-card:hover .service-top svg{transform:translateY(-2px) scale(1.08)}.project-preview:hover img{transform:scale(1.025)}.button:hover span{transform:translate(3px,-3px)}.hero-bottom a:hover span{transform:translateY(3px)}.back-top:hover span{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.service-card:before{display:none}.service-card:hover .service-top svg,.project-preview:hover img,.button:hover span,.hero-bottom a:hover span,.back-top:hover span{transform:none}}

/* Give the fixed contact button its own lane beside the footer divider. */
@media(min-width:761px){
  .whatsapp-float{right:16px;bottom:16px}
  .footer-bottom{position:relative;border-top:0;min-height:76px}
  .footer-bottom:before{content:'';position:absolute;top:0;left:0;right:max(0px,calc(76px - var(--desktop-gutter)));height:1px;background:var(--line)}
}

/* Gentle contact pulse: only the halo moves, so the icon stays aligned. */
.whatsapp-float{isolation:isolate}
.whatsapp-float:before{content:'';position:absolute;inset:-3px;border:1px solid #25d366;border-radius:50%;pointer-events:none;animation:whatsapp-pulse 3s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes whatsapp-pulse{0%,12%{transform:scale(1);opacity:0}20%{opacity:.5}65%,100%{transform:scale(1.4);opacity:0}}
.whatsapp-float:hover:before,.whatsapp-float:focus-visible:before{animation-play-state:paused;opacity:0}
@media(prefers-reduced-motion:reduce){.whatsapp-float:before{animation:none;opacity:0}}
