:root { --ink:#062b3b; --ink-deep:#041e2b; --aqua:#32d5e2; --aqua-dark:#0aaebb; --foam:#f4faf9; --paper:#f8fbfa; --mist:#dbe8e9; --slate:#66818a; --line:#d2e0e0; --white:#fff; --radius:14px; --shadow:0 24px 60px rgba(4,30,43,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Avenir Next','Segoe UI',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color:transparent; }
.container { width:min(1180px, calc(100% - 56px)); margin-inline:auto; }
.preloader { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--ink-deep); transition:opacity .65s ease, visibility .65s ease; }
.preloader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.preloader__inner { width:180px; text-align:center; color:rgba(255,255,255,.62); }
.preloader img { display:block; width:112px; height:112px; object-fit:contain; margin:0 auto 22px; border-radius:0; }
.preloader__line { display:block; width:100%; height:2px; background:rgba(255,255,255,.14); overflow:hidden; }
.preloader__line i { display:block; width:40%; height:100%; background:var(--aqua); animation:loading 1.15s ease-in-out infinite; }
.preloader p { margin:12px 0 0; font:11px 'DM Mono',monospace; letter-spacing:.08em; }
@keyframes loading { 0%{transform:translateX(-110%)} 50%,100%{transform:translateX(260%)} }
.site-header { position:absolute; z-index:10; inset:0 0 auto; color:var(--white); }
.nav-wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand img { width:52px; height:52px; object-fit:contain; border-radius:0; }
.brand__type { font-size:13px; font-weight:800; letter-spacing:.07em; line-height:1.05; }
.brand__type small { display:block; margin-top:5px; color:var(--aqua); font:10px 'DM Mono',monospace; letter-spacing:.3em; }
.main-nav { display:flex; align-items:center; gap:34px; font-size:13px; font-weight:600; }
.main-nav a:not(.nav-call) { color:rgba(255,255,255,.7); transition:color .25s ease; }
.main-nav a:not(.nav-call):hover, .main-nav a:not(.nav-call):focus-visible { color:var(--white); }
.nav-call { display:inline-flex; align-items:center; gap:10px; padding:12px 16px; color:var(--white); border:1px solid rgba(50,213,226,.75); border-radius:10px; }
.nav-call span { color:var(--aqua); font-size:16px; }
.menu-toggle { display:none; }
.hero { position:relative; min-height:720px; overflow:hidden; color:var(--white); background:var(--ink); }
.hero__gridlines { position:absolute; inset:92px 0 0; opacity:.14; background-image:linear-gradient(rgba(165,231,235,.38) 1px, transparent 1px),linear-gradient(90deg,rgba(165,231,235,.38) 1px,transparent 1px); background-size:78px 78px; mask-image:linear-gradient(90deg,#000 0%,#000 56%,transparent 80%); }
.hero__gridlines::after { content:''; position:absolute; width:420px; height:420px; left:33%; top:10%; border:1px solid rgba(50,213,226,.24); border-radius:50%; box-shadow:0 0 0 48px rgba(50,213,226,.04),0 0 0 96px rgba(50,213,226,.025); }
.hero__inner { position:relative; min-height:720px; display:grid; grid-template-columns:46% 54%; align-items:stretch; }
.hero__copy { display:flex; flex-direction:column; justify-content:center; padding:130px 42px 72px 0; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 25px; color:rgba(255,255,255,.66); font:11px 'DM Mono',monospace; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:30px; height:1px; background:var(--aqua); }
.eyebrow--dark { color:var(--aqua-dark); }
.hero h1 { max-width:540px; margin:0; font-size:clamp(3.5rem, 6vw, 5.4rem); font-weight:800; line-height:.96; letter-spacing:-.075em; }
h1 em, h2 em { color:var(--aqua); font-style:normal; }
.hero__intro { max-width:510px; margin:28px 0 0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.55; }
.hero__actions { display:flex; align-items:center; gap:27px; margin-top:35px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:0 21px; border:1px solid transparent; border-radius:var(--radius); font-size:13px; font-weight:800; transition:transform .25s ease,background .25s ease,border-color .25s ease; }
.button:hover, .button:focus-visible { transform:translateY(-2px); }
.button:active { transform:translateY(0) scale(.98); }
.button--aqua { color:var(--ink); background:var(--aqua); box-shadow:0 12px 28px rgba(50,213,226,.2); }
.button--aqua:hover { background:#6ee5ed; }
.button__mark { display:grid; place-items:center; width:24px; height:24px; border:1.5px solid currentColor; border-radius:50%; font-size:8px; letter-spacing:-.04em; }
.button__arrow { font-size:20px; font-weight:400; line-height:0; }
.text-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.56); color:var(--white); font-size:13px; font-weight:700; transition:color .25s ease,border-color .25s ease; }
.text-link:hover { color:var(--aqua); border-color:var(--aqua); }
.text-link span { color:var(--aqua); font-size:18px; }
.hero__proof { display:flex; gap:18px; margin-top:72px; }
.hero__proof > div { display:flex; align-items:center; gap:9px; padding-right:18px; border-right:1px solid rgba(255,255,255,.24); }
.hero__proof > div:last-child { padding-right:0; border-right:0; }
.proof-icon { display:grid; place-items:center; width:27px; height:27px; color:var(--aqua); border:1px solid rgba(50,213,226,.62); border-radius:50%; font-size:14px; }
.hero__proof strong,.hero__proof small { display:block; }
.hero__proof strong { font-size:10px; font-weight:700; }
.hero__proof small { margin-top:3px; color:rgba(255,255,255,.5); font-size:9px; }
.hero__visual { position:relative; margin-left:0; min-height:720px; }
.hero__image-wrap { position:absolute; inset:92px 0 0 20px; overflow:hidden; clip-path:polygon(14% 0,100% 0,100% 100%,0 100%); }
.hero__image-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,43,59,.34),transparent 28%),linear-gradient(0deg,rgba(6,43,59,.28),transparent 26%); pointer-events:none; }
.hero__image-wrap img { width:100%; height:100%; object-fit:cover; object-position:63% center; transform:scale(1.03); }
.hero__image-caption { position:absolute; z-index:1; left:15%; bottom:28px; display:flex; flex-direction:column; gap:5px; color:var(--white); font-size:11px; }
.hero__image-caption span { color:var(--aqua); font:10px 'DM Mono',monospace; letter-spacing:.17em; text-transform:uppercase; }
.hero__image-caption strong { font-size:14px; }
.hero__seal { position:absolute; z-index:2; right:20px; bottom:42px; display:grid; grid-template-columns:34px auto; column-gap:10px; align-items:center; padding:12px 15px 12px 12px; color:var(--ink); background:rgba(255,255,255,.9); border-radius:10px; box-shadow:var(--shadow); }
.hero__seal span { grid-row:span 2; display:grid; place-items:center; width:31px; height:31px; color:var(--aqua-dark); border:1px solid var(--aqua-dark); border-radius:50%; }
.hero__seal strong { font-size:11px; }
.hero__seal small { margin-top:2px; color:var(--slate); font:9px 'DM Mono',monospace; }
.scroll-cue { position:absolute; z-index:2; right:28px; bottom:22px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.5); font:10px 'DM Mono',monospace; letter-spacing:.08em; transform:rotate(-90deg) translateX(100%); transform-origin:right bottom; }
.scroll-cue i { display:grid; place-items:center; width:25px; height:25px; color:var(--aqua); border:1px solid rgba(50,213,226,.5); border-radius:50%; font-style:normal; font-size:16px; transform:rotate(90deg); }
.signal-strip { background:var(--aqua); color:var(--ink); }
.signal-strip__inner { min-height:72px; display:grid; grid-template-columns:145px 1fr auto; align-items:center; gap:22px; }
.signal-strip__lead { font:11px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.location-marquee { display:flex; justify-content:center; align-items:center; gap:18px; font-size:13px; font-weight:800; }
.location-marquee i { font-style:normal; opacity:.55; }
.signal-strip__note { color:rgba(6,43,59,.6); font:10px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.section { padding:130px 0; }
.section-intro { display:grid; grid-template-columns:1.05fr .75fr; gap:80px; align-items:end; margin-bottom:56px; }
h2 { margin:0; font-size:clamp(2.5rem,4.5vw,4.4rem); line-height:1; letter-spacing:-.07em; }
.section-intro > p, .coverage__copy > p:not(.eyebrow), .process__lead > p:not(.eyebrow), .faq__intro > p:not(.eyebrow) { max-width:410px; margin:0 0 4px; color:var(--slate); font-size:15px; line-height:1.65; }
.services__grid { display:grid; grid-template-columns:1.28fr 1fr 1fr; gap:14px; }
.service-card { position:relative; min-height:290px; display:flex; flex-direction:column; justify-content:space-between; padding:28px 28px 25px; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.service-card:hover { transform:translateY(-5px); border-color:rgba(10,174,187,.5); box-shadow:0 18px 40px rgba(6,43,59,.1); }
.service-card--feature { grid-row:span 2; min-height:594px; color:var(--white); background:var(--ink); border-color:var(--ink); overflow:hidden; }
.service-card--feature::after { content:''; position:absolute; width:300px; height:300px; right:-110px; bottom:-110px; border:1px solid rgba(50,213,226,.22); border-radius:50%; box-shadow:0 0 0 38px rgba(50,213,226,.04),0 0 0 76px rgba(50,213,226,.03); }
.service-card--wide { grid-column:span 2; min-height:290px; }
.service-card__media { height:145px; margin:17px -28px 25px; overflow:hidden; background:var(--mist); }
.service-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.service-card:hover .service-card__media img { transform:scale(1.04); }
.service-card--feature .service-card__media { height:245px; margin:17px -28px 28px; }
.service-card--wide .service-card__media { height:145px; }
.service-card__number { color:var(--aqua-dark); font:11px 'DM Mono',monospace; letter-spacing:.08em; }
.service-card--feature .service-card__number { color:var(--aqua); }
.service-card__glyph { display:grid; place-items:center; width:55px; height:55px; margin-top:20px; color:var(--aqua-dark); border:1px solid rgba(10,174,187,.35); border-radius:50%; font-size:26px; }
.service-card--feature .service-card__glyph { color:var(--aqua); border-color:rgba(50,213,226,.5); }
.service-card__content { position:relative; z-index:1; }
.service-card h3 { margin:0 0 10px; font-size:22px; letter-spacing:-.045em; }
.service-card p { max-width:300px; margin:0; color:var(--slate); font-size:13px; line-height:1.6; }
.service-card--feature p { color:rgba(255,255,255,.68); }
.service-card a { display:inline-flex; align-items:center; gap:7px; margin-top:22px; color:var(--aqua-dark); font-size:11px; font-weight:800; }
.service-card--feature a { color:var(--aqua); }
.service-card a span { font-size:17px; font-weight:400; }
.process { color:var(--white); background:var(--ink); }
.process__grid { display:grid; grid-template-columns:.8fr 1fr; gap:150px; align-items:start; }
.process__lead h2 { margin-bottom:25px; }
.process__lead > p:not(.eyebrow) { color:rgba(255,255,255,.64); }
.button--outline { margin-top:32px; color:var(--white); border-color:rgba(50,213,226,.6); }
.button--outline:hover { color:var(--ink); background:var(--aqua); }
.process__steps { padding-top:14px; }
.step { position:relative; display:grid; grid-template-columns:44px 1fr; gap:22px; padding:0 0 42px; }
.step:last-child { padding-bottom:0; }
.step__line { position:absolute; left:13px; top:28px; bottom:0; width:1px; background:rgba(50,213,226,.35); }
.step:last-child .step__line { display:none; }
.step__index { display:grid; place-items:center; width:28px; height:28px; color:var(--aqua); border:1px solid rgba(50,213,226,.5); border-radius:50%; font:10px 'DM Mono',monospace; }
.step h3 { margin:2px 0 9px; font-size:19px; letter-spacing:-.035em; }
.step p { max-width:390px; margin:0; color:rgba(255,255,255,.59); font-size:13px; line-height:1.65; }
.coverage { background:var(--foam); }
.coverage__grid { display:grid; grid-template-columns:1.12fr .88fr; gap:100px; align-items:center; }
.coverage__map { position:relative; height:470px; overflow:hidden; background:#d9f0f0; border-radius:var(--radius); }
.map-grid { position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(10,174,187,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(10,174,187,.18) 1px,transparent 1px); background-size:55px 55px; transform:rotate(-7deg) scale(1.15); }
.coverage__map::before { content:''; position:absolute; inset:0; opacity:.5; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 30.2%,transparent 30.8%),linear-gradient(25deg,transparent 48%,rgba(255,255,255,.65) 48.3%,transparent 49%); }
.map-ring { position:absolute; border:1px solid rgba(10,174,187,.27); border-radius:50%; }
.map-ring--one { width:380px; height:380px; right:-80px; top:-90px; box-shadow:0 0 0 42px rgba(10,174,187,.05); }
.map-ring--two { width:230px; height:230px; left:20px; bottom:-95px; }
.map-pin { position:absolute; display:flex; align-items:center; gap:8px; color:var(--ink); font-size:11px; font-weight:800; }
.map-pin i { display:block; width:10px; height:10px; background:var(--aqua-dark); border:3px solid rgba(255,255,255,.8); border-radius:50%; box-shadow:0 0 0 5px rgba(10,174,187,.17); }
.map-pin--cancun { top:30%; right:28%; }.map-pin--morelos { top:40%; left:37%; }.map-pin--playa { bottom:29%; left:47%; }.map-pin--cozumel { bottom:16%; right:19%; }
.map-label { position:absolute; left:34px; top:34px; color:rgba(6,43,59,.35); font:12px 'DM Mono',monospace; line-height:1.5; letter-spacing:.1em; }.map-label small { font-size:9px; }
.coverage__copy h2 { max-width:490px; margin-bottom:25px; }
.coverage__list { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:32px 0 34px; border-top:1px solid var(--line); }
.coverage__list span { padding:13px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:700; }
.coverage__list span:nth-child(odd) { margin-right:15px; }
.text-link--dark { color:var(--ink); border-color:var(--ink); }
.text-link--dark:hover { color:var(--aqua-dark); border-color:var(--aqua-dark); }
.faq { background:var(--paper); }
.faq__grid { display:grid; grid-template-columns:.75fr 1fr; gap:130px; }
.faq__intro h2 { max-width:450px; }
.faq__list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; cursor:pointer; list-style:none; font-size:15px; font-weight:800; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--aqua-dark); font-size:24px; font-weight:400; transition:transform .25s ease; }
details[open] summary span { transform:rotate(45deg); }
details p { max-width:500px; margin:-4px 35px 22px 0; color:var(--slate); font-size:13px; line-height:1.7; }
.contact-cta { position:relative; overflow:hidden; color:var(--white); background:var(--ink); }
.contact-cta__texture { position:absolute; inset:0; opacity:.4; background:radial-gradient(circle at 80% 0%,rgba(50,213,226,.28),transparent 29%),linear-gradient(135deg,transparent 52%,rgba(50,213,226,.07) 52.1%,transparent 52.6%),linear-gradient(45deg,transparent 68%,rgba(255,255,255,.05) 68.1%,transparent 68.5%); }
.contact-cta__inner { position:relative; padding:125px 0 135px; }
.contact-cta h2 { max-width:690px; font-size:clamp(3.1rem,6vw,6.2rem); }
.contact-cta p:not(.eyebrow) { max-width:420px; margin:28px 0 0; color:rgba(255,255,255,.66); font-size:16px; line-height:1.6; }
.contact-cta__actions { display:flex; gap:14px; margin-top:35px; }
.button--light { color:var(--ink); background:var(--white); }.button--light:hover { background:var(--mist); }
.site-footer { color:rgba(255,255,255,.68); background:var(--ink-deep); }
.site-footer__inner { min-height:150px; display:grid; grid-template-columns:1.4fr 1fr .9fr auto; align-items:center; gap:34px; }
.site-footer .brand__type { color:var(--white); }.site-footer .brand img { width:45px; height:45px; }.site-footer p { margin:0; font-size:11px; line-height:1.6; }.footer__contact span,.footer__contact a { display:block; }.footer__contact span { margin-bottom:5px; color:var(--aqua); font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }.footer__contact a { color:var(--white); font-size:15px; font-weight:800; }.footer__copy { color:rgba(255,255,255,.38); font:10px 'DM Mono',monospace; }
.floating-actions { position:fixed; z-index:20; right:22px; bottom:22px; display:flex; flex-direction:column; gap:10px; }
.float-action { display:flex; align-items:center; justify-content:center; gap:9px; width:47px; height:47px; overflow:hidden; color:var(--ink); border-radius:50%; box-shadow:0 10px 25px rgba(4,30,43,.2); transition:width .3s ease,transform .25s ease; }.float-action b { display:none; font-size:11px; white-space:nowrap; }.float-action:hover,.float-action:focus-visible { width:116px; border-radius:14px; transform:translateY(-2px); }.float-action:hover b,.float-action:focus-visible b { display:block; }.float-action span { font-size:12px; font-weight:800; }.float-action--wa { background:var(--aqua); }.float-action--call { color:var(--white); background:var(--ink); border:1px solid rgba(255,255,255,.2); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .75s ease,transform .75s ease; }.reveal.is-visible { opacity:1; transform:none; }.reveal--delay { transition-delay:.12s; }
@media (max-width: 980px) { .container { width:min(100% - 40px,720px); }.main-nav { gap:18px; }.hero__inner { grid-template-columns:1fr 1fr; }.hero__copy { padding-right:25px; }.hero h1 { font-size:clamp(3rem,7vw,4.5rem); }.hero__proof { gap:9px; }.hero__proof > div { padding-right:9px; }.hero__proof strong { font-size:9px; }.hero__proof small { font-size:8px; }.services__grid { grid-template-columns:1fr 1fr; }.service-card--feature { grid-row:span 2; }.service-card--wide { grid-column:span 1; }.process__grid { gap:70px; }.coverage__grid,.faq__grid { gap:60px; }.site-footer__inner { grid-template-columns:1.3fr 1fr 1fr; }.footer__copy { grid-column:3; } }
@media (max-width: 760px) { .container { width:calc(100% - 32px); }.nav-wrap { min-height:74px; }.brand__type { font-size:11px; }.brand img { width:43px; height:43px; }.menu-toggle { display:flex; align-items:center; gap:7px; padding:10px 0; color:var(--white); background:none; border:0; cursor:pointer; }.menu-toggle span { display:block; width:17px; height:1px; background:var(--aqua); }.menu-toggle span:nth-child(2) { margin-left:-17px; transform:translateY(5px); }.menu-toggle b { margin-left:4px; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.main-nav { position:absolute; top:74px; left:16px; right:16px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:7px 18px 18px; background:var(--ink); border:1px solid rgba(255,255,255,.12); border-top:0; border-radius:0 0 14px 14px; }.main-nav.is-open { display:flex; }.main-nav a { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); }.main-nav .nav-call { justify-content:center; margin-top:12px; border:1px solid rgba(50,213,226,.6); }.hero { min-height:auto; }.hero__gridlines { inset:74px 0 0; }.hero__inner { display:flex; flex-direction:column; min-height:auto; }.hero__copy { min-height:600px; padding:138px 0 45px; }.hero h1 { max-width:480px; font-size:clamp(3.4rem,15vw,5rem); }.hero__intro { max-width:440px; font-size:15px; }.hero__actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:30px; }.hero__proof { flex-wrap:wrap; margin-top:52px; }.hero__proof > div { flex:1 1 130px; }.hero__visual { min-height:390px; margin:0 -16px; }.hero__image-wrap { inset:0; clip-path:polygon(0 10%,100% 0,100% 100%,0 100%); }.hero__image-wrap img { object-position:62% center; }.hero__image-caption { left:24px; bottom:20px; }.hero__seal { right:14px; bottom:20px; }.scroll-cue { display:none; }.signal-strip__inner { min-height:100px; grid-template-columns:1fr; gap:8px; padding:22px 0; }.location-marquee { justify-content:flex-start; flex-wrap:wrap; gap:8px 12px; }.signal-strip__note { display:none; }.section { padding:88px 0; }.section-intro,.process__grid,.coverage__grid,.faq__grid { grid-template-columns:1fr; gap:36px; }.section-intro { margin-bottom:38px; }.services__grid { grid-template-columns:1fr; }.service-card,.service-card--feature,.service-card--wide { grid-column:auto; grid-row:auto; min-height:260px; }.service-card--feature { min-height:390px; }.process__steps { padding-top:4px; }.coverage__map { height:340px; }.coverage__copy h2 { max-width:450px; }.faq__list { margin-top:5px; }.contact-cta__inner { padding:88px 0 100px; }.contact-cta__actions { align-items:stretch; flex-direction:column; max-width:290px; }.site-footer__inner { grid-template-columns:1fr 1fr; gap:28px 14px; padding:32px 0; }.site-footer p { grid-column:2; }.footer__contact { grid-column:1 / -1; }.footer__copy { grid-column:1 / -1; }.floating-actions { right:14px; bottom:14px; }.float-action { width:49px; height:49px; }.float-action:hover,.float-action:focus-visible { width:49px; border-radius:50%; }.float-action:hover b,.float-action:focus-visible b { display:none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.preloader__line i { animation:none; }.reveal { opacity:1; transform:none; transition:none; }.button,.service-card,.float-action { transition:none; } }

/* Hero direction: control center. The blueprint language is intentionally tied to appliance measurement and repair. */
.hero--control { min-height:760px; background:#041f2c; }
.hero--control .hero__gridlines { inset:92px 0 0; opacity:.11; mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 100%); }
.hero--control .hero__gridlines::after { display:none; }
.hero--control .hero__inner { min-height:760px; grid-template-columns:39% 61%; }
.hero--control .hero__copy { position:relative; z-index:3; padding:145px 32px 112px 0; }
.hero--control h1 { max-width:480px; font-size:clamp(3.25rem,5.7vw,5.25rem); }
.hero--control .hero__intro { max-width:360px; }
.hero--control .hero__visual { min-height:760px; }
.hero--control .hero__image-wrap { inset:92px -45px 18px -40px; clip-path:none; border-radius:0; }
.hero--control .hero__image-wrap::after { background:linear-gradient(90deg,rgba(4,31,44,.9) 0%,rgba(4,31,44,.4) 22%,transparent 49%),linear-gradient(0deg,rgba(4,31,44,.52),transparent 28%); }
.hero--control .hero__image-wrap img { object-position:center; transform:scale(1.02); }
.hero--control .hero__visual::after { content:""; position:absolute; z-index:2; inset:92px -45px 18px -40px; pointer-events:none; border:1px solid rgba(50,213,226,.22); border-left:0; }
.hero__blueprint { position:absolute; z-index:2; right:17%; top:28%; width:420px; height:420px; border:1px solid rgba(50,213,226,.38); border-radius:50%; opacity:.82; pointer-events:none; box-shadow:0 0 0 42px rgba(50,213,226,.025),0 0 0 85px rgba(50,213,226,.025); }
.hero__blueprint::before,.hero__blueprint::after { content:""; position:absolute; left:50%; top:50%; background:rgba(50,213,226,.32); transform:translate(-50%,-50%); }
.hero__blueprint::before { width:100%; height:1px; }.hero__blueprint::after { width:1px; height:100%; }
.hero__blueprint i { position:absolute; inset:60px; display:block; border:1px dashed rgba(50,213,226,.38); border-radius:50%; }
.hero__tech-tag { position:absolute; z-index:5; display:flex; align-items:center; gap:10px; color:var(--white); font-size:12px; font-weight:700; }
.hero__tech-tag::before { content:""; width:58px; height:1px; background:var(--aqua); }
.hero__tech-tag::after { content:""; position:absolute; left:29px; top:16px; width:1px; height:72px; background:linear-gradient(var(--aqua),transparent); opacity:.75; }
.hero__tech-icon { display:grid; place-items:center; width:40px; height:40px; color:var(--aqua); border:1px solid rgba(50,213,226,.8); border-radius:50%; font-size:19px; font-weight:400; }
.hero__tech-tag--diagnostic { left:24%; top:25%; }.hero__tech-tag--repair { right:2%; top:19%; }.hero__tech-tag--repair::after { left:auto; right:29px; }.hero__tech-tag--install { right:13%; bottom:18%; }.hero__tech-tag--install::after { left:auto; right:29px; top:auto; bottom:16px; height:72px; transform:translateY(100%); background:linear-gradient(transparent,var(--aqua)); }
.hero__dimension { position:absolute; z-index:5; color:rgba(50,213,226,.7); font:10px 'DM Mono',monospace; letter-spacing:.08em; }
.hero__dimension--top { right:36%; top:22%; }.hero__dimension--bottom { right:17%; bottom:14%; }
.hero__baseline { position:absolute; z-index:4; left:50%; bottom:21px; display:flex; align-items:center; gap:16px; color:rgba(255,255,255,.52); font:10px 'DM Mono',monospace; letter-spacing:.18em; text-transform:uppercase; transform:translateX(-50%); }
.hero__baseline i { display:block; width:64px; height:1px; background:var(--aqua); }
.hero__mobile-dock { display:none; }
.hero__mobile-reference,.hero__mobile-cta-hit { display:none; }

@media (max-width: 980px) {
  .hero--control .hero__inner { grid-template-columns:39% 61%; }
  .hero--control .hero__copy { padding-right:22px; }
  .hero__blueprint { right:7%; width:340px; height:340px; }
  .hero__tech-tag--diagnostic { left:12%; }
}
@media (max-width: 760px) {
  .hero--control { min-height:auto; }
  .hero--control .hero__gridlines { inset:74px 0 0; mask-image:linear-gradient(180deg,#000 0%,transparent 82%); }
  .hero--control .hero__inner { min-height:auto; display:flex; }
  .hero--control .hero__copy { min-height:610px; padding:138px 0 45px; }
  .hero--control .hero__visual { min-height:430px; margin:0 -16px; }
  .hero--control .hero__image-wrap { inset:0; border-radius:0; }
  .hero--control .hero__image-wrap::after { background:linear-gradient(180deg,rgba(4,31,44,.2),transparent 33%),linear-gradient(0deg,rgba(4,31,44,.54),transparent 50%); }
  .hero--control .hero__visual::after { inset:0; border:1px solid rgba(50,213,226,.22); border-top:0; }
  .hero__blueprint { right:9%; top:26%; width:250px; height:250px; opacity:.5; }
  .hero__tech-tag { font-size:10px; }
  .hero__tech-tag::before,.hero__tech-tag::after,.hero__dimension { display:none; }
  .hero__tech-icon { width:33px; height:33px; font-size:15px; }
  .hero__tech-tag--diagnostic { left:25px; top:35px; }.hero__tech-tag--repair { right:25px; top:70px; }.hero__tech-tag--install { right:25px; bottom:34px; }
  .hero__baseline { position:relative; left:auto; bottom:auto; width:calc(100% - 32px); min-height:70px; justify-content:space-between; gap:8px; transform:none; font-size:8px; letter-spacing:.1em; }
  .hero__baseline i { width:28px; }
}

/* Mobile concept 2: the appliance becomes the hero object, with copy floating over the dark negative space. */
.hero__headline--mobile,.hero__intro--mobile,.mobile-nav-call { display:none; }
@media (max-width: 760px) {
  .site-header .container,
  .hero--control .hero__inner { width:calc(100% - 56px); }
  .site-header .nav-wrap { min-height:154px; padding-top:12px; align-items:flex-start; }
  .site-header .brand { gap:0; }
  .site-header .brand img { width:160px; height:160px; }
  .site-header .brand__type { display:none; }
  .site-header .main-nav { top:154px; }
  .mobile-nav-call { width:70px; height:38px; margin-top:23px; margin-right:17px; border-radius:999px; }
  .menu-toggle { width:38px; height:38px; margin-top:23px; padding:0; display:grid; place-items:center; gap:6px; }
  .menu-toggle span { width:30px; height:2px; margin:0 !important; transform:none !important; background:var(--white); }
  .menu-toggle b { display:none; }
  .hero--control { min-height:760px; background:#031b28; }
  .hero--control { min-height:100dvh; }
  .hero--control .hero__inner { min-height:100dvh; position:relative; display:block; }
  .hero--control .hero__visual { position:absolute; z-index:1; inset:0 -28px; min-height:0; margin:0; pointer-events:none; }
  .hero--control .hero__image-wrap { inset:0; overflow:hidden; }
  .hero--control .hero__image-wrap img { width:100%; height:100%; object-fit:cover; object-position:78% center; transform:scale(1.08); }
  .hero--control .hero__image-wrap::after { background:linear-gradient(90deg,rgba(3,27,40,.94) 0%,rgba(3,27,40,.65) 39%,rgba(3,27,40,.08) 76%),linear-gradient(180deg,rgba(3,27,40,.78) 0%,transparent 28%,rgba(3,27,40,.9) 100%); }
  .hero--control .hero__visual::after { inset:74px 0 0; border:0; border-right:1px solid rgba(50,213,226,.18); }
  .hero--control .hero__copy { position:relative; z-index:4; min-height:100dvh; padding:154px 0 44px; justify-content:flex-start; }
  .hero--control .hero__copy > .eyebrow,.hero--control .hero__headline--desktop,.hero--control .hero__intro--desktop { display:none; }
  .hero--control .hero__headline--mobile { display:block; max-width:240px; margin-top:0; font-size:clamp(3.25rem,15.5vw,4.25rem); line-height:.94; letter-spacing:-.075em; }
  .hero--control .hero__headline--mobile { max-width:300px; font-size:clamp(2.8rem,13vw,3.8rem); }
  .hero--control .hero__intro--mobile { display:block; max-width:230px; margin-top:23px; color:rgba(255,255,255,.78); font-size:16px; line-height:1.45; }
  .hero--control .hero__intro--mobile { max-width:290px; font-size:15px; line-height:1.35; }
  .hero--control .hero__actions { align-items:flex-start; margin-top:27px; }
  .hero--control .hero__actions .text-link { display:none; }
  .hero--control .hero__actions .button { width:min(100%,220px); min-height:60px; }
  .hero--control .hero__actions .button__mark { display:none; }
  .hero--control .hero__proof { display:none; }
  .hero--control .hero__blueprint { z-index:3; right:-28px; top:46%; width:300px; height:300px; opacity:.52; }
  .hero--control .hero__tech-tag { z-index:5; pointer-events:none; padding:7px 11px; color:var(--white); border:1px solid var(--aqua); border-radius:8px; background:rgba(3,27,40,.68); font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
  .hero--control .hero__tech-tag::before,.hero--control .hero__tech-tag::after { display:none; }
  .hero--control .hero__tech-icon { width:25px; height:25px; font-size:14px; border:0; background:none; }
  .hero--control .hero__tech-tag--diagnostic { left:55%; top:56%; }
  .hero--control .hero__tech-tag--repair { right:14px; top:68%; }
  .hero--control .hero__tech-tag--install { right:18px; bottom:12%; }
  .hero--control .hero__dimension { display:block; z-index:5; color:var(--aqua); font-size:9px; }
  .hero--control .hero__dimension--height { left:18px; top:58%; padding:12px 0; writing-mode:vertical-rl; border-left:1px solid var(--aqua); }
  .hero--control .hero__dimension--top { display:none; }
  .hero--control .hero__dimension--bottom { left:auto; right:18px; top:auto; bottom:15%; writing-mode:initial; }
  .hero--control .hero__baseline { display:none; }
  .mobile-nav-call { display:grid; place-items:center; width:42px; height:42px; margin-left:auto; margin-right:10px; color:var(--aqua); border:1px solid rgba(50,213,226,.7); border-radius:14px; }
  .mobile-nav-call span { color:var(--white); font-size:17px; }
  .floating-actions { opacity:0; pointer-events:none; transform:translateY(14px); transition:opacity .25s ease,transform .25s ease; }
  body.is-scrolled .floating-actions { opacity:1; pointer-events:auto; transform:none; }
}

/* Final mobile spacing pass: preserve a clear brand-to-copy and CTA-to-annotation rhythm. */
@media (max-width: 760px) {
  .site-header .nav-wrap { min-height:170px; }
  .site-header .brand img { width:148px; height:148px; }
  .site-header .main-nav { top:170px; }
  .hero--control .hero__copy { padding-top:180px; }
  .hero--control .hero__tech-tag--diagnostic { left:60%; top:62%; }
  .hero--control .hero__tech-tag--repair { top:72%; }
  .floating-actions { display:none; }
  .hero__mobile-dock { position:absolute; z-index:7; left:28px; right:28px; bottom:16px; width:auto; display:grid; grid-template-columns:1.1fr 1fr; gap:4px; padding:4px; color:var(--white); border:1px solid rgba(50,213,226,.48); border-radius:14px; background:rgba(3,27,40,.82); box-shadow:0 16px 32px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
  .hero__mobile-dock a { min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; color:rgba(255,255,255,.82); font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
  .hero__mobile-dock a span { display:grid; place-items:center; width:24px; height:24px; border:1px solid currentColor; border-radius:50%; font-size:9px; }
  .hero__mobile-dock a b { font-weight:700; }
  .hero__mobile-dock .hero__mobile-dock-primary { color:var(--ink); background:var(--aqua); }
}

/* Exact mobile proposal composition: the supplied artwork is the visual source of truth. */
@media (max-width: 760px) {
  .hero--control { min-height:100dvh; padding:6px 10px 0; background:#202020; }
  .hero--control .hero__gridlines,
  .hero--control .hero__inner,
  .hero--control .hero__baseline,
  .hero--control .hero__mobile-dock { display:none; }
  .hero__mobile-reference { position:absolute; z-index:2; inset:6px 10px 0; display:block; overflow:hidden; border-radius:14px 14px 0 0; background:#062b3b; }
  .hero__mobile-reference img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
  .hero__mobile-cta-hit { position:absolute; z-index:9; left:4%; top:40%; display:block; width:50%; height:6%; }
  .hero__mobile-dock { display:none; }
  .floating-actions { z-index:12; right:14px; bottom:14px; display:flex; opacity:1; pointer-events:auto; transform:none; }
  .site-header { z-index:10; inset:0; pointer-events:none; }
  .site-header .nav-wrap { position:absolute; inset:0; width:auto; min-height:0; padding:0; border:0; pointer-events:none; }
  .site-header .brand { display:none; }
  .site-header .mobile-nav-call { position:absolute; top:4.2%; right:24%; display:block; width:16%; height:5%; margin:0; opacity:0; pointer-events:auto; }
  .site-header .menu-toggle { position:absolute; top:4%; right:9%; display:block; width:10%; height:6%; margin:0; padding:0; opacity:0; pointer-events:auto; }
  .site-header .main-nav { top:11%; left:10px; right:10px; pointer-events:auto; }
}

/* Mobile contact dock: fixed to the viewport, never rendered as floating circles. */
@media (max-width: 760px) {
  .floating-actions { display:none; }
  .hero--control .hero__mobile-dock { position:fixed; z-index:30; left:10px; right:10px; bottom:10px; width:auto; display:grid; }
}
