/* Cinematic public navigation and the homepage composition. Content stays in the CMS. */
.site-view{--cinema-bg:#071625;--cinema-text:#f6f7fb;--cinema-muted:#c5cfda;--cinema-gold:#f4c27e;--cinema-blue:#8ad4ff;--cinema-line:#c6ddf338}
.site-view.home-view{background:linear-gradient(#071625,#071625) 0 0/100% 160px no-repeat,var(--site-base)}
/* Existing announcement and contact, presented as a compact engineering signature. */
.site-view .announcement{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#1e644a30,transparent 42%),linear-gradient(105deg,#242018,#0a1929 48%,#102d3c);border:0;border-bottom:1px solid #d7e5ef26;color:#dce7f0;box-shadow:inset 0 1px #ffffff08}
.site-view .announcement::before{content:'';position:absolute;inset:auto 0 0;height:1px;pointer-events:none;background:linear-gradient(90deg,#e8b76c99,transparent 35%,#80c8ec55 70%,#96e7b778)}
.site-view .announcement::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 59px,#b8d6e709 60px,transparent 61px 120px);mask-image:linear-gradient(90deg,transparent 20%,#000 65%,transparent)}
.site-view .topbar-inner{min-height:60px;padding-block:7px;gap:24px}
.site-view .topbar-inner::after{content:'';flex:1;order:1;min-width:24px;height:1px;background:linear-gradient(90deg,#eac48636,#90c7dd20 65%,#8de2bd50)}
.site-view .topbar-message{flex:0 1 auto;max-width:760px;gap:12px;font-size:12px;line-height:1.6;color:#dce7f0}
.site-view .topbar-message>span:not(.material-symbols-outlined){min-width:0;overflow-wrap:anywhere}
.site-view .topbar-message>.material-symbols-outlined{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;border:1px solid #eac18338;color:#f4c783;font-size:19px;background:linear-gradient(135deg,#e5b36b1f,#ffffff04);box-shadow:inset 0 1px #ffffff14}
.site-view .announcement a,.site-view .announcement a:hover,.site-view .announcement a:focus-visible,.site-view .announcement a:active{text-decoration:none}
.site-view .topbar-contact{order:2;position:relative;display:inline-flex;align-items:center;gap:11px;min-height:46px;padding:3px 12px 3px 4px;border:1px solid #a6e7c44a;border-radius:15px;background:linear-gradient(120deg,#5bc2881a,#ffffff05);box-shadow:inset 0 1px #e2ffed17,0 5px 18px #0002;color:#cce6db;font-size:11px;transition:background .2s,border-color .2s,box-shadow .2s}
.site-view .topbar-contact strong{color:#f3fff8;font-size:13px;font-weight:750;letter-spacing:.02em}
.site-view .topbar-whatsapp-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #c2f8d775;border-radius:11px;color:#f1fff7;background:linear-gradient(135deg,#2ab773,#11764f 75%);box-shadow:inset 0 1px #e6ffed70,0 3px 9px #0004,0 0 17px #4ce89526}
.site-view .topbar-whatsapp-mark svg{display:block;width:27px;height:27px;overflow:visible}
.site-view .topbar-contact>.topbar-contact-arrow{display:grid;place-items:center;width:24px;height:24px;margin-left:4px;font-size:17px;color:#a9e4c9;border-left:1px solid #bdeed626;transition:transform .2s}
.site-view .topbar-contact:hover{color:#eafff3;border-color:#baf2d08c;background:linear-gradient(120deg,#6fdf9f2a,#ffffff0a);box-shadow:inset 0 1px #e2ffed26,0 6px 22px #0003,0 0 22px #5cdb9a15}
.site-view .topbar-contact:hover>.topbar-contact-arrow{transform:translate(1px,-1px)}
.site-view .announcement a:focus-visible{outline:2px solid #b9f6d6;outline-offset:4px}
@media(max-width:1000px){.site-view .topbar-inner{gap:16px}.site-view .topbar-message{font-size:11px}.site-view .topbar-inner::after{min-width:0}.site-view .topbar-contact{gap:8px}.site-view .topbar-contact strong{font-size:12px}}
@media(max-width:700px){.site-view .topbar-inner{min-height:62px;gap:12px}.site-view .topbar-inner::after{display:none}.site-view .topbar-message{flex:1;gap:9px}.site-view .topbar-contact{display:inline-flex;justify-content:center;width:48px;min-height:48px;padding:3px;border-radius:14px}.site-view .topbar-contact>span:not(.topbar-whatsapp-mark),.site-view .topbar-contact>strong{display:none}.site-view .topbar-whatsapp-mark{width:38px;height:38px}.site-view .topbar-message>.material-symbols-outlined{width:28px;height:28px;font-size:18px;border-radius:9px}}
@media(max-width:620px){.site-view .announcement .topbar-message{font-size:10.5px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.site-view .topbar-contact,.site-view .topbar-contact>.topbar-contact-arrow{transition:none}.site-view .topbar-contact:hover>.topbar-contact-arrow{transform:none}}
@media(forced-colors:active){.site-view .announcement,.site-view .topbar-contact,.site-view .topbar-whatsapp-mark,.site-view .topbar-message>.material-symbols-outlined{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.site-view .announcement::before,.site-view .announcement::after,.site-view .topbar-inner::after{display:none}.site-view .topbar-contact strong{color:CanvasText}}
.site-view .site-header{background:linear-gradient(105deg,#514732f5,#1c3043f5 56%,#41627ef5);color:#fff;border:1px solid #dce9f238;border-top:0;border-radius:0;box-shadow:inset 0 1px #ffffff0a,0 12px 35px #0002;backdrop-filter:blur(24px)}
.site-view .site-header .nav-wrap{min-height:78px}
.site-view .site-header .brand strong{color:#fff;letter-spacing:.02em;font-size:26px}
.site-view .site-header .brand small{color:#e0e4e9;font-size:10px}
.site-view .site-header .brand-icon{background:linear-gradient(140deg,#fffdf5,#e7ddc8);color:#965c2c;border-color:#fff9;box-shadow:0 3px 15px #0002}
.site-view .site-header .brand img{background:#fff;border-radius:12px;padding:4px}
.site-view .site-header .header-nav-links a{color:#f1f3f6;font-size:13px;border-radius:10px;min-height:41px}
.site-view .site-header .header-nav-links a:hover{background:#ffffff12;color:#fff}
.site-view .site-header #main-nav .header-nav-links a[aria-current]{color:#fff;background:linear-gradient(140deg,#ffffff26,#ffffff0b);box-shadow:inset 0 1px #fff3,0 4px 12px #0002;border:1px solid #ffffff21}
.site-view .site-header a.header-cta,.home-view .home-hero .actions>.button:first-child{color:#fff;border:1px solid #ffab6c;background:linear-gradient(105deg,#ce4318,#b35708);box-shadow:inset 0 1px #ffebbe66,0 0 17px #ff78364d,0 8px 24px #0003;font-weight:700;transition:transform .2s,box-shadow .2s}
.site-view .site-header a.header-cta:hover,.home-view .home-hero .actions>.button:first-child:hover{color:#fff;background:linear-gradient(105deg,#bf3911,#a64b00);box-shadow:inset 0 1px #fff5,0 0 25px #ff783673;transform:translateY(-2px)}
.site-view .site-header .menu-toggle{background:#ffffff0d;border-color:#ffffff36;color:#fff}
.site-view .site-header .header-mobile-contact,.site-view .site-header .header-mobile-contact small{color:#e7edf5}
.site-view .site-header .header-mobile-contact>.material-symbols-outlined{color:#a6e4b5}
.site-view .site-header :focus-visible,.home-view .home-hero :focus-visible{outline:2px solid #9bddff;outline-offset:5px}
/* One continuous atmosphere behind the copy, house, statistics and full-body guide. */
.home-view .home-hero{position:relative;isolation:isolate;overflow:clip;margin:0;padding:46px 0 36px;background:radial-gradient(ellipse at 8% 0,#ad772c57,transparent 35%),radial-gradient(ellipse at 96% 9%,#4389c96b,transparent 49%),radial-gradient(ellipse at 6% 105%,#9b472b4d,transparent 33%),linear-gradient(120deg,#0b1724,#07192b 64%,#10283e);color:#f6f7fb;--site-text:#f6f7fb;--site-muted:#c5cfda}
.home-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#f4c27e99 1px,transparent 1.7px),radial-gradient(circle,#79c5ff88 .8px,transparent 1.7px);background-size:183px 157px,251px 199px;background-position:63% 24%,40% 50%;mask-image:linear-gradient(90deg,transparent 25%,#000 70%,transparent)}
.home-view .home-hero-stage{position:relative;isolation:isolate;min-width:0;padding-bottom:8px}
.home-view .home-hero-stage.has-hero-guide{padding-right:clamp(0px,calc(1700px - 100vw),190px)}
.home-view .home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:64px;padding-bottom:34px}
.home-blueprint{position:absolute;z-index:-1;top:-25px;right:-110px;width:76%;height:95%;opacity:.6;pointer-events:none;mask-image:radial-gradient(ellipse,#000 30%,transparent 73%)}
.home-view .home-kicker{padding:7px 12px;border:1px solid #f1c88a4d;border-radius:99px;background:linear-gradient(100deg,#eebd6b2e,#ffffff09);color:#fff0d1;box-shadow:inset 0 1px #ffffff17,0 0 23px #d18c2720;gap:7px;max-width:100%;font-size:11px;line-height:1.5}
.home-view .home-kicker .material-symbols-outlined{color:#f5d19b;font-size:17px}
.home-view .home-hero h1{font-size:clamp(40px,3.4vw,58px);font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:22px 0 20px;max-width:550px;color:#fff;text-wrap:balance;overflow-wrap:anywhere}
.home-view .home-hero-copy>p{font-size:14px;line-height:1.8;max-width:530px;margin-bottom:24px;color:#e0e6ee}
.home-view .home-hero .actions{display:flex;gap:11px;align-items:stretch;flex-wrap:wrap}
.home-view .home-hero .button{min-height:47px;padding:12px 16px;border-radius:11px;line-height:1.5;font-size:11px;white-space:normal}
.home-view .home-hero .actions>.button.secondary{background:linear-gradient(125deg,#e5edff26,#7899bb14);color:#fff;border:1px solid #dbe9fa55;box-shadow:inset 0 1px #ffffff33,0 7px 20px #0003;backdrop-filter:blur(15px);transition:transform .2s,background .2s}
.home-view .home-hero .actions>.button.secondary:hover{color:#fff;background:#c3d8ef26;transform:translateY(-2px)}
.home-view .home-hero .actions>.button.secondary .material-symbols-outlined{color:#a7e2ba}
.home-view .home-hero-trust{display:flex;gap:10px 14px;flex-wrap:wrap;margin-top:22px}
.home-view .home-hero-trust li{color:#d7e0eb;font-size:9px;gap:6px}
.home-view .home-hero-trust .material-symbols-outlined{color:#eac38b;font-size:14px}
/* The drone lives outside the glass frame; its beams continue into the illustration. */
.home-view .home-hero-featured,.home-view .home-hero-featured.has-hero-mascot{position:relative;width:100%;max-width:500px;min-width:0;padding-top:38px;justify-self:end}
.home-view .home-hero-featured:before{content:'';position:absolute;inset:49px 16px 40px -17px;border:1px solid #e6f0fa4d;border-radius:22px;background:linear-gradient(135deg,#eff7ff12,#88b9e610);z-index:-1;transform:rotate(-3deg);box-shadow:inset 0 1px #fff2,0 20px 40px #0002;pointer-events:none}
.home-view .home-hero-featured:after{content:'';position:absolute;inset:60px 24px 28px -8px;z-index:-2;border:1px solid #d7e9f33d;background:#9fbfe20a;border-radius:23px;transform:rotate(-1deg);pointer-events:none}
.home-view .home-hero-visual{position:relative;height:410px;min-height:410px;border:1px solid #f3dda989;border-radius:20px;background:#1a2a37;box-shadow:inset 0 1px #fff4,0 25px 55px #0005,0 0 28px #e3b77518;overflow:hidden;transform:none}
.home-view .home-hero-visual>img{width:100%;height:410px;object-fit:cover;object-position:center;filter:brightness(1.08) saturate(1.08) sepia(.25);transform:none;transition:filter .4s}
.home-view .home-hero-visual:hover>img{transform:none;filter:brightness(1.12) saturate(1.08) sepia(.17)}
.home-view .home-hero-visual:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 0 0,#ffd17d55,transparent 60%),linear-gradient(135deg,#ffcb6d38,transparent 45%,#081c3066),linear-gradient(0deg,#07172566,transparent 48%)}
.home-view .home-hero-caption{position:absolute;z-index:3;bottom:12px;left:12px;right:12px;padding:16px;border:1px solid #f7f2dc66;border-top-color:#fff9;border-radius:14px;color:#fff;background:linear-gradient(125deg,#c7bd8d30,#263b397d),#152922bf;box-shadow:inset 0 1px #fff3,0 10px 26px #0004;backdrop-filter:blur(20px)}
.home-view .home-caption-kicker{color:#edf0e8;font-size:9px;line-height:1.5;gap:10px}
.home-view .home-caption-kicker strong{color:#ffe6ba}
.home-view .home-hero-caption h2{color:#fff;font-size:15px;line-height:1.45;letter-spacing:-.01em;margin-bottom:11px;text-shadow:0 1px 4px #0004}
.home-view .home-caption-specs{border-color:#ffffff38;color:#f2f4e8;font-size:9px;line-height:1.6;padding-top:9px}
.home-view .home-caption-specs>span:last-child{color:#fff0c7}
.home-engineering{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.7;transition:opacity .3s}
.home-roof-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.home-scan-beam{opacity:.35;transition:opacity .4s}
.home-scan-ray{opacity:.45;filter:drop-shadow(0 0 4px #70d9ff)}
.home-scan-ray-warm{filter:drop-shadow(0 0 5px #ffd785aa)}
.home-scan-mesh{opacity:.18;filter:drop-shadow(0 0 5px #79ceff99);transition:opacity .4s}
.home-scan-points{opacity:.5;transition:opacity .4s}
.home-measure-line{stroke:#ffe1a0;stroke-width:1;stroke-dasharray:3 4}
.home-scan-sweep{animation:hero-map-sweep 5s ease-in-out infinite;animation-play-state:paused;opacity:0}
.home-view .home-drone-real{position:absolute;z-index:6;top:-20px;left:auto;right:-25px;width:240px;filter:drop-shadow(0 15px 9px #0005);animation:hero-drone-hover 5s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.home-drone-real img{width:100%;height:auto;object-fit:contain}
.home-drone-real:after{content:'';position:absolute;z-index:-1;left:16%;top:70%;width:155px;height:130px;background:linear-gradient(135deg,#ffe5a73b,#8bd7ff15,transparent 80%);clip-path:polygon(53% 0,0 100%,100% 100%);transform:rotate(28deg);transform-origin:53% 0}
.home-scan-label{position:absolute;top:13px;left:13px;display:flex;align-items:center;gap:6px;padding:6px 8px;background:#0d263a99;border:1px solid #c7e9ff55;border-radius:8px;color:#e7f4ff;font-size:8px;backdrop-filter:blur(12px)}
.home-scan-label .material-symbols-outlined{font-size:15px}
.home-viewfinder{position:absolute;width:23px;height:23px;border-color:#d6edffb3;border-style:solid;border-width:0}
.home-viewfinder-tl{top:10px;left:10px;border-left-width:1px;border-top-width:1px;border-top-left-radius:7px}
.home-viewfinder-br{right:10px;bottom:10px;border-bottom-width:1px;border-right-width:1px;border-bottom-right-radius:7px}
.home-hero[data-effects-active=true] .home-engineering{opacity:1}
.home-hero[data-effects-active=true] .home-scan-beam,.home-hero[data-effects-active=true] .home-scan-ray{opacity:.8}
.home-hero[data-effects-active=true] .home-scan-mesh{opacity:.65}
.home-hero[data-effects-active=true] .home-scan-points,.home-hero[data-effects-active=true] .home-scan-sweep{opacity:1}
.home-hero[data-effects-running=true] .home-drone,.home-hero[data-effects-running=true] .home-scan-sweep{animation-play-state:running}
.home-scan-controls{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 3px 0}
.home-effects-toggle{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid #b4d5ef42;border-radius:8px;background:#ffffff08;color:#e3eff9;font-size:9px;font-weight:600;cursor:pointer;transition:background .2s}
.home-effects-toggle:hover{background:#96cbf51f}
.home-effects-toggle .material-symbols-outlined{font-size:16px}
.home-scan-controls small{font-size:8px;line-height:1.5;text-align:right;color:#c0d0e1;max-width:180px}
/* Name and caption belong to the guide, independent of the featured photograph. */
.home-guide-labels{position:absolute;z-index:5;top:auto;bottom:calc(100% + 14px);right:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:185px;pointer-events:none}
.home-view .home-guide-labels .mascot-badge{position:static;inset:auto;max-width:100%;width:auto;padding:10px 12px;border:1px solid #c4d7a94d;border-radius:14px;background:linear-gradient(135deg,#233c35f2,#12282af0);color:#f5f7fb;box-shadow:0 12px 30px #0004,inset 0 1px #ffffff12;backdrop-filter:blur(12px);font-size:10px;line-height:1.5;gap:8px;transform:none;overflow-wrap:anywhere}
.home-view .home-guide-labels .mascot-badge>span:not(.mascot-badge-icon):not(.mascot-name-mark):not(.mascot-status-dot){min-width:0}
.home-view .home-guide-labels .mascot-badge-name strong{font-size:14px;color:#f5f7fb;max-width:none}
.home-view .home-guide-labels .mascot-badge-name small{font-size:9px;color:#c4cfdb;opacity:1;max-width:none;line-height:1.5}
.home-view .home-guide-labels .mascot-name-mark,.home-view .home-guide-labels .mascot-badge-icon{display:flex;width:27px;height:27px;background:#c5d7ab17;color:#f2dbb4}
.home-view .home-guide-labels .mascot-badge .material-symbols-outlined{font-size:18px}
.home-view .home-guide-labels .mascot-status-dot{display:none}
.home-view .home-hero-stage>.home-hero-mascot{position:absolute;top:auto;right:clamp(-250px,calc((1280px - 100vw)/2),0px);bottom:-24px;width:clamp(200px,16vw,300px);aspect-ratio:2/3;z-index:7;pointer-events:none}
.home-view .home-hero-stage>.home-hero-mascot:before{content:'';position:absolute;left:25%;right:9%;bottom:1%;height:5%;border-radius:50%;background:#0007;filter:blur(9px)}
.home-view .home-hero-stage>.home-hero-mascot>img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 16px #0005);animation:mascot-home-arrive .75s ease-out backwards}
.home-project-proof{position:absolute;z-index:5;bottom:65px;left:-73px;width:100px;min-height:116px;padding:14px 10px 12px;text-align:center;border-radius:50% 50% 18px 18px;border:1px solid #f3e8c970;background:linear-gradient(135deg,#c7c5b36b,#173b53a6);box-shadow:inset 0 1px #fff6,0 12px 28px #0003;backdrop-filter:blur(18px)}
.home-proof-icons{display:flex;justify-content:center;margin-bottom:7px}
.home-proof-icons>.material-symbols-outlined{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #fff9;border-radius:50%;background:#a08e6b;color:#fff3d7;font-size:17px;margin:0 -3px}
.home-proof-icons>.material-symbols-outlined:nth-child(2){background:#476d88}.home-proof-icons>.material-symbols-outlined:nth-child(3){background:#7c684f}
.home-project-proof strong{display:block;font-family:var(--site-heading-font),sans-serif;color:#ffe6bd;font-size:23px;line-height:1.2;letter-spacing:-.04em}
.home-project-proof>span{display:block;font-size:8px;color:#edf0ed;line-height:1.45;margin-top:5px;overflow-wrap:anywhere}
/* Floating authority cards share the backdrop rather than forming a separate footer band. */
.home-view .home-stats-strip{position:relative;background:none;border:0;box-shadow:none}
.home-view .home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:15px 0 0;width:100%;text-align:center}
.home-view .home-stats>.home-stat{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:110px;padding:26px 12px 17px;border:1px solid #e7eef561;border-top-color:#ffffff80;border-radius:15px;background:linear-gradient(135deg,#edf4ff21,#90aac51c 60%,#c6dded30);box-shadow:inset 0 1px #ffffff2b,inset 0 -1px #ffffff19,0 12px 25px #0003;backdrop-filter:blur(18px);transition:transform .25s,border-color .25s}
.home-view .home-stats>.home-stat:first-child{background:linear-gradient(135deg,#c7a5814a,#c1c7d824 70%)}
.home-view .home-stat>.home-stat-icon{position:absolute;top:-15px;left:17px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;margin:0;border:1px solid #fff8;border-radius:12px;background:linear-gradient(135deg,#f5dfb9ab,#637283a1);color:#ffe3b0;box-shadow:inset 0 1px #fff8,0 0 22px #f5ac6140,0 9px 12px #0002;backdrop-filter:blur(10px);transform:rotate(-8deg);transition:transform .25s}
.home-view .home-stat-icon>.material-symbols-outlined{font-size:25px;color:inherit;margin:0}
.home-view .home-stat:nth-child(2)>.home-stat-icon{color:#ffe2ba;background:linear-gradient(135deg,#caddefb3,#405775b3)}
.home-stat-copy{min-width:0}
.home-view .home-stats strong,.home-view .home-stats>div:not(:first-child) strong{color:#f4c994;font-size:32px;font-weight:750;line-height:1.2;letter-spacing:-.035em;text-shadow:0 2px 7px #0004}
.home-view .home-stats .home-stat-copy>span{display:block;color:#f1f2f4;font-size:10px;line-height:1.55;padding:0;margin-top:7px}
@media(hover:hover) and (pointer:fine){.home-view .home-stats>.home-stat:hover{transform:translateY(-4px);border-color:#fff9}.home-view .home-stat:hover>.home-stat-icon{transform:translateY(-3px) rotate(3deg)}}
@keyframes hero-map-sweep{0%,12%{transform:translateX(0)}75%,100%{transform:translateX(760px)}}
@keyframes hero-drone-hover{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:1450px){.home-view .home-hero-grid{gap:45px}.home-project-proof{display:none}.home-view .home-hero h1{font-size:clamp(38px,3.9vw,52px)}.home-view .home-hero-visual,.home-view .home-hero-visual>img{height:390px;min-height:390px}.home-view .home-drone-real{width:205px;right:-18px;top:-10px}.home-view .home-stats strong,.home-view .home-stats>div:not(:first-child) strong{font-size:28px}}
@media(max-width:1100px){.site-view .site-header #main-nav{background:linear-gradient(135deg,#273c50f7,#102436fa);border-color:#e2edfa40;backdrop-filter:blur(24px);box-shadow:0 20px 35px #0005}.site-view .site-header .header-nav-actions{border-color:#ffffff30}.home-view .home-hero-grid{gap:30px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.home-view .home-hero h1{font-size:38px}.home-view .home-hero-copy>p{font-size:13px}.home-view .home-hero .button{padding:11px 13px;font-size:10px}.home-view .home-hero-visual,.home-view .home-hero-visual>img{height:365px;min-height:365px}.home-view .home-stats{gap:12px}.home-view .home-stats strong,.home-view .home-stats>div:not(:first-child) strong{font-size:25px}.home-view .home-stats .home-stat-copy>span{font-size:9px}.home-view .home-hero-caption h2{font-size:13px}}
@media(max-width:900px){.home-view .home-hero{padding:34px 0 28px}.home-view .home-hero-stage.has-hero-guide{padding-right:0;padding-bottom:0}.home-view .home-hero-grid{grid-template-columns:1fr;gap:28px;padding-bottom:34px}.home-view .home-hero-copy{max-width:670px}.home-view .home-hero h1{font-size:clamp(38px,6vw,52px);max-width:620px}.home-view .home-hero-copy>p{font-size:14px;max-width:620px}.home-view .home-hero-featured,.home-view .home-hero-featured.has-hero-mascot{justify-self:start;max-width:600px;padding-top:42px}.home-view .has-hero-guide .home-hero-featured{width:calc(100% - 190px)}.home-view .home-hero-visual,.home-view .home-hero-visual>img{height:390px;min-height:390px}.home-view .home-drone-real{width:205px;right:-18px;top:-3px}.home-view .home-hero-stage>.home-hero-mascot{width:190px;right:-6px;bottom:148px;top:auto}.home-view .home-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.home-view .home-stats>.home-stat{min-height:112px;padding-inline:10px}.home-view .home-stat>.home-stat-icon{left:12px;width:37px;height:37px}.home-view .home-stats strong,.home-view .home-stats>div:not(:first-child) strong{font-size:26px}.home-blueprint{right:-20%;width:115%;top:25%;height:65%}}
@media(max-width:620px){.site-view .site-header .nav-wrap{min-height:72px}.site-view .topbar-message{font-size:9px}.home-view .home-hero{padding-top:28px}.home-view .home-kicker{font-size:10px;border-radius:14px}.home-view .home-hero h1{font-size:clamp(35px,9.1vw,45px);margin-block:20px;max-width:500px}.home-view .home-hero-copy>p{font-size:13px;line-height:1.85}.home-view .home-hero .actions{flex-direction:column}.home-view .home-hero .button{width:100%;min-height:47px;font-size:11px}.home-view .home-hero-trust{gap:10px 13px;margin-top:20px}.home-view .home-hero-trust li{font-size:9px}.home-view .home-hero-featured,.home-view .home-hero-featured.has-hero-mascot{padding-top:50px;max-width:480px}.home-view .has-hero-guide .home-hero-featured{width:100%;padding-right:0;padding-bottom:210px}.home-view .home-hero-visual,.home-view .home-hero-visual>img{height:345px;min-height:345px;border-radius:17px}.home-view .home-hero-featured:before{inset:60px 10px 260px -8px}.home-view .home-hero-featured:after{inset:70px 18px 250px -4px}.home-view .home-drone-real{width:185px;top:4px;right:13px}.home-view .home-hero-caption{left:10px;right:10px;bottom:10px;padding:13px}.home-view .home-hero-caption h2{font-size:13px;line-height:1.45}.home-view .home-caption-kicker,.home-view .home-caption-specs{font-size:8px}.home-scan-label{display:none}.home-scan-controls{justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:6px;min-height:40px;padding-right:150px}.home-scan-controls small{font-size:8px;text-align:left;max-width:145px}.home-effects-toggle{font-size:8px;padding:7px}.home-view .home-hero-stage>.home-hero-mascot{width:150px;right:-7px;bottom:268px;top:auto}.home-view .home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;padding-top:12px}.home-view .home-stats>.home-stat{min-height:103px;padding:27px 10px 15px;border:1px solid #e7eef561}.home-view .home-stat>.home-stat-icon{width:34px;height:34px;left:13px;top:-12px;border-radius:10px}.home-view .home-stat-icon>.material-symbols-outlined{font-size:22px}.home-view .home-stats strong,.home-view .home-stats>div:not(:first-child) strong{font-size:28px}.home-view .home-stats .home-stat-copy>span{font-size:9px;line-height:1.5}.home-view .home-hero-grid{padding-bottom:22px}.home-blueprint{right:-40%;width:150%;top:31%;height:50%}}
@media(max-width:370px){.home-view .home-hero h1{font-size:33px}.home-view .home-hero-stage>.home-hero-mascot{width:146px;right:-2px}.home-view .home-hero-caption h2{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-view .home-hero *{animation:none!important;transition:none!important}.home-view .home-hero-featured:before,.home-view .home-hero-featured:after{transform:none}.site-view .site-header *{transition:none!important}.home-view .home-hero .button:hover,.site-view .site-header a.header-cta:hover,.home-view .home-stats>.home-stat:hover{transform:none}}
@media(forced-colors:active){.home-engineering,.home-drone-real,.home-blueprint,.home-hero:before{display:none}.home-view .home-hero-caption,.home-view .home-stats>.home-stat,.site-view .site-header{background:Canvas;color:CanvasText}}

/* One cinematic footer for every public route, including legal pages.
   Theme overrides stay inside the shared footer; CMS fields and fonts are retained. */
.site-view .site-footer {
  --site-base:#0b1a28;--site-surface:#142231;--site-text:#f5f7fb;
  --site-muted:#c4cfdb;--site-accent:#f4c27e;--site-on-accent:#07131f;
  --text:#f5f7fb;--muted:#c4cfdb;--line:#bed8ee2e;
  position:relative;isolation:isolate;overflow:clip;padding:42px 0 0;
  color:#f5f7fb;border-top:1px solid #bcd7ed24;
  background:radial-gradient(ellipse 85% 540px at 0 0,#c37a2b14,transparent 75%),
             radial-gradient(ellipse 85% 680px at 100% 75%,#4fafff19,transparent 75%),
             linear-gradient(180deg,#07131f,#091725 70%,#06111e);
}
.site-view .site-footer::before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url("engineering-wave.svg?v=2") center 0 / max(100%,1600px) auto repeat-y;
  opacity:.2;
}
.site-view .site-footer .footer-trust {gap:18px;margin-bottom:48px}
.site-view .site-footer .footer-trust>div {
  padding:23px 21px;gap:15px;border:1px solid #e7bf8880;border-radius:15px;
  background:linear-gradient(135deg,#293441dc,#14212ee8);
  box-shadow:inset 0 1px #ffffff19,0 10px 28px #0003,0 0 20px #e8ba800a;
  backdrop-filter:blur(12px);
}
.site-view .site-footer .footer-trust>div:nth-child(2) {
  border-color:#9bd0ff80;background:linear-gradient(135deg,#25394edd,#122130e8);
  box-shadow:inset 0 1px #ffffff19,0 10px 28px #0003,0 0 20px #69bcff10;
}
.site-view .site-footer .footer-trust>div>.material-symbols-outlined {
  width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;margin-top:0;
  border:1px solid #e6c18b4d;border-radius:12px;font-size:26px;color:#f4c27e;
  background:linear-gradient(140deg,#e5bb7e26,#ffffff06);box-shadow:inset 0 1px #fff2;
}
.site-view .site-footer .footer-trust>div:nth-child(2)>.material-symbols-outlined {
  color:#a8d9ff;border-color:#a3d5ff4d;background:linear-gradient(140deg,#85c9ff26,#ffffff06);
}
.site-view .site-footer .footer-trust strong {color:#fff;font-size:14px}
.site-view .site-footer .footer-trust p {color:#c4cfdb;font-size:12px;line-height:1.7}
.site-view .site-footer .footer-grid {gap:46px}
.site-view .site-footer .footer-grid h3,.site-view .site-footer .footer-specialties h3 {
  color:#fff;font-size:17px;font-weight:700;letter-spacing:-.01em;
}
.site-view .site-footer .footer-brand-icon {
  border-color:#fff6;color:#965c2c;background:linear-gradient(140deg,#fffdf5,#e7ddc8);
  box-shadow:inset 0 1px #fff9,0 6px 18px #0003;
}
.site-view .site-footer .footer-brand img {padding:4px;border-radius:12px;background:#fffdf5}
.site-view .site-footer .footer-brand strong {color:#fff}
.site-view .site-footer .footer-brand small {color:#c4cfdb}
.site-view .site-footer .footer-grid .footer-company-name {color:#f5f7fb;font-size:14px}
.site-view .site-footer .footer-grid .footer-description {color:#c4cfdb;line-height:1.8}
.site-view .site-footer .footer-grid .footer-registration {color:#d4dee9;line-height:1.7}
.site-view .site-footer .footer-registration .material-symbols-outlined {color:#f4c27e}
.site-view .site-footer .footer-grid a {color:#e7eef7}
.site-view .site-footer .footer-navigation ul {gap:4px}
.site-view .site-footer .footer-navigation a {
  gap:10px;min-height:36px;padding:5px 9px;margin-left:-9px;
  border:1px solid transparent;border-radius:8px;transition:background .2s,color .2s;
}
.site-view .site-footer .footer-navigation a::before {
  content:"";width:5px;height:5px;flex-shrink:0;border-top:1px solid #a8d9ff;
  border-right:1px solid #a8d9ff;transform:rotate(45deg);
}
.site-view .site-footer .footer-navigation a:hover {color:#f9d59f;background:#ffffff0c;border-color:#c7dff124}
.site-view .site-footer .footer-contact {
  padding:26px;border:1px solid #9bd0ff78;border-radius:17px;
  background:linear-gradient(135deg,#24384cdb,#112334ed);
  box-shadow:inset 0 1px #ffffff24,0 16px 40px #0003,0 0 30px #69bcff0e;
  backdrop-filter:blur(12px);
}
.site-view .site-footer .footer-contact-row>.material-symbols-outlined {color:#9ed5ff}
.site-view .site-footer .footer-contact-label {color:#becddd;font-size:12px}
.site-view .site-footer .footer-grid a.footer-phone {color:#fff;font-size:24px}
.site-view .site-footer .footer-contact address {color:#e7eef7}
.site-view .site-footer .footer-contact address>span {color:#c4cfdb}
.site-view .site-footer .footer-coverage {border-color:#bdd8ee2e}
.site-view .site-footer .footer-grid .footer-coverage p {color:#e7eef7}
.site-view .site-footer .footer-grid a.footer-whatsapp {
  color:#fff;border:1px solid #84d8b97a;border-radius:10px;gap:9px;
  background:linear-gradient(110deg,#0d6650,#125970);
  box-shadow:inset 0 1px #ffffff24,0 5px 20px #35bd8820;font-weight:700;
}
.site-view .site-footer .footer-grid a.footer-whatsapp:hover {
  color:#fff;background:linear-gradient(110deg,#0a5744,#0d4c63);border-color:#a5ead3;
}
.site-view .site-footer .footer-specialties {border-color:#bdd8ee2e}
.site-view .site-footer .footer-specialties li {color:#d4dee9}
.site-view .site-footer .footer-specialties .material-symbols-outlined {color:#f4c27e}
.site-view .site-footer .footer-specialties li:nth-child(even)>.material-symbols-outlined {color:#9ed5ff}
.site-view .site-footer .footer-socials a {
  border-color:#c3d9ed38;color:#e7eef7;
  background:linear-gradient(135deg,#c4def017,#ffffff05);box-shadow:inset 0 1px #ffffff14;
}
.site-view .site-footer .footer-socials a:hover {background:#ffffff14;border-color:#f4c27e;color:#f4c27e}
.site-view .site-footer .copyright {border-color:#bdd8ee2e}
.site-view .site-footer .copyright p {color:#b7c6d6}
.site-view .site-footer .footer-legal-links a {color:#d4dee9}
.site-view .site-footer .footer-legal-links a:hover {color:#f4c27e}
.site-view .site-footer a:focus-visible {outline:3px solid #a1d6ff;outline-offset:4px;border-radius:6px}
@media(max-width:1100px) {
  .site-view .site-footer .footer-grid {gap:30px}
  .site-view .site-footer .footer-trust>div {padding:19px 16px;gap:12px}
}
@media(max-width:700px) {
  .site-view .site-footer {padding-top:32px}
  .site-view .site-footer .footer-trust {gap:13px;margin-bottom:36px}
  .site-view .site-footer .footer-trust>div {padding:20px}
  .site-view .site-footer .footer-contact {padding:23px}
  .site-view .site-footer .footer-navigation a {min-height:44px}
  .site-view .site-footer::before {background-size:max(100%,1000px) auto;opacity:.15}
}
@media(max-width:420px) {
  .site-view .site-footer .footer-contact {padding:20px}
  .site-view .site-footer .footer-grid a.footer-phone {font-size:23px}
}
@media(prefers-reduced-motion:reduce) {
  .site-view .site-footer a {transition:none}
}
@media(forced-colors:active) {
  .site-view .site-footer {background:Canvas;color:CanvasText}
  .site-view .site-footer::before {display:none}
  .site-view .site-footer .footer-trust>div,.site-view .site-footer .footer-contact,
  .site-view .site-footer .footer-grid a.footer-whatsapp {
    background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;
  }
}

/* Shared asynchronous catalog state; filters remain available during requests. */
.site-view [data-catalog-grid]{transition:opacity .15s ease}
.site-view [data-catalog-grid][aria-busy="true"]{opacity:.55}
.site-view [data-public-catalog][data-loading="true"] [data-catalog-tools]{cursor:progress}
.site-view .catalog-update-error{border:1px solid #f1bd8270;background:#38281ded;color:#fff;padding:16px 20px;border-radius:12px;margin:0 0 24px}
.site-view .catalog-update-error p{margin:0 0 8px;color:#f5dfc7;font-size:13px}
.site-view .catalog-update-error .text-link{color:#f4cf9b;font-weight:600}
.site-view .catalog-update-error[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.site-view [data-catalog-grid]{transition:none}}

/* Mobile guide: an intrinsic row before the metrics, with both badges in one column. */
@media(max-width:620px){
  .home-view .has-hero-guide .home-hero-featured{padding-bottom:0}
  .home-view .has-hero-guide .home-hero-featured:before{inset:60px 10px 58px -8px}
  .home-view .has-hero-guide .home-hero-featured:after{inset:70px 18px 48px -4px}
  .home-view .home-scan-controls{padding-right:0;min-height:0;gap:6px}
  .home-view .home-scan-controls small{max-width:none}
  .home-view .home-hero-stage>.home-hero-mascot{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,42%);align-items:center;gap:14px;aspect-ratio:auto;width:100%;max-width:480px;min-height:225px;margin:0 auto 28px;z-index:7}
  .home-view .home-hero-stage>.home-hero-mascot>img{grid-column:2;grid-row:1;align-self:end;aspect-ratio:2/3;width:100%;height:auto;max-height:270px;object-fit:contain}
  .home-view .home-hero-stage>.home-hero-mascot:before{left:61%;right:2%;bottom:0;height:5%}
  .home-view .home-guide-labels{position:static;inset:auto;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;width:auto;min-width:0;max-width:none;gap:12px}
  .home-view .home-guide-labels .mascot-badge{position:static;inset:auto;width:auto;max-width:none;padding:11px 10px;gap:8px;font-size:10px;transform:none}
  .home-view .home-guide-labels .mascot-badge-name strong{font-size:14px;max-width:none}
  .home-view .home-guide-labels .mascot-badge-name small{font-size:9px;max-width:none}
  .home-view .home-guide-labels .mascot-name-mark,.home-view .home-guide-labels .mascot-badge-icon{display:flex;width:24px;height:24px}
}
@media(max-width:370px){
  .home-view .home-hero-stage>.home-hero-mascot{grid-template-columns:minmax(0,1fr) 116px;gap:10px;min-height:200px}
  .home-view .home-guide-labels .mascot-badge{padding:10px;gap:7px}
  .home-view .home-guide-labels .mascot-name-mark{display:none}
}
@media(forced-colors:active){
  .home-view .home-guide-labels .mascot-badge,.home-view .home-guide-labels .mascot-badge-icon,.home-view .home-guide-labels .mascot-name-mark{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
  .home-view .home-guide-labels .mascot-badge-name strong,.home-view .home-guide-labels .mascot-badge-name small{color:CanvasText}
}

/* The selected roofing specialty replaces the drone without changing the work photo. */
.home-view .home-hero-art:not(.home-drone-real){position:absolute;z-index:6;top:-30px;right:-14px;width:220px;aspect-ratio:3/2;pointer-events:none;filter:drop-shadow(0 15px 12px #0006)}
.home-hero-art:not(.home-drone-real):before{content:'';position:absolute;inset:35% 12% 5%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#edbd7333,transparent 68%)}
.home-hero-art:not(.home-drone-real) img{display:block;width:100%;height:100%;object-fit:contain}
.home-hero[data-hero-art=termoacustica]{--hero-material-color:#9fe0f1}
.home-hero[data-hero-art=telhas]{--hero-material-color:#f7c086}
.home-hero[data-hero-art=impermeabilizacao]{--hero-material-color:#89e1d0}
.home-hero[data-hero-art=estrutura]{--hero-material-color:#f5d094}
.home-material-effect{color:var(--hero-material-color);opacity:.16;overflow:hidden}
.home-material-effect>svg{width:100%;height:100%}
.hero-material-trace{stroke-dasharray:110 900;stroke-dashoffset:1010;opacity:0;animation:hero-material-trace 9s linear infinite;animation-play-state:paused}
.hero-thermal-waves{opacity:.4;animation:hero-thermal-flow 4s ease-in-out infinite;animation-play-state:paused}
.hero-water-drops{animation:hero-water-repel 4.5s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
.home-hero[data-effects-active=true] .home-material-effect{opacity:.65}
.home-hero[data-effects-active=true] .hero-material-trace{opacity:.85}
.home-hero[data-effects-running=true] .hero-material-trace,.home-hero[data-effects-running=true] .hero-thermal-waves,.home-hero[data-effects-running=true] .hero-water-drops{animation-play-state:running}
@keyframes hero-material-trace{to{stroke-dashoffset:0}}
@keyframes hero-thermal-flow{0%,100%{transform:translateY(5px);opacity:.25}50%{transform:translateY(-8px);opacity:.8}}
@keyframes hero-water-repel{0%,100%{transform:translateY(0);opacity:.35}55%{transform:translateY(-16px);opacity:.85}}
@media(max-width:1450px){.home-view .home-hero-art:not(.home-drone-real){width:195px;top:-15px;right:-12px}}
@media(max-width:620px){.home-view .home-hero-art:not(.home-drone-real){width:170px;top:4px;right:10px}.home-view .home-hero[data-hero-art=none] .home-hero-featured{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.hero-material-trace,.hero-thermal-waves,.hero-water-drops{animation:none!important;transform:none!important}}
@media(forced-colors:active){.home-hero-art,.home-material-effect{display:none}}

.home-hero:not([data-hero-effects]) .home-hero-art:before,.home-hero:not([data-hero-effects]) .home-hero-art:after{display:none}
