@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{font-family:Manrope,'DM Sans',Arial,sans-serif;color:#f6f7fc;background:#060b15;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}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{outline:2px solid #a9a1ff;outline-offset:4px}.container{width:min(1280px,calc(100% - 96px));margin:auto}.announcement{height:29px;display:flex;justify-content:center;align-items:center;gap:12px;background:#10172a;color:#a8b2cf;font-size:9px;font-weight:800;letter-spacing:2px}.pulse,.dot{width:6px;height:6px;border-radius:50%;background:#65d9a2;display:inline-block;box-shadow:0 0 12px #65d9a2}.announcement .line{height:12px;width:1px;background:#47516b}.header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;position:relative;z-index:20;background:#070d18;border-bottom:1px solid #222a40}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.6px;font-size:19px}.brand-symbol{font-weight:900;color:#a58bff;border:3px solid #735cff;display:grid;place-items:center;width:35px;height:35px;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);font-size:23px}.desktop-nav{display:flex;gap:32px;color:#c0c7d9;font-size:12px;font-weight:700}.desktop-nav a:hover,.footer-links a:hover{color:#a996ff}.nav-actions{display:flex;gap:12px;align-items:center}.nav-contact{font-size:12px;border:1px solid #3d4863;padding:12px 19px;border-radius:8px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:linear-gradient(120deg,#4e46d9,#7251fa);padding:16px 23px;border-radius:8px;font-size:12px;font-weight:800;box-shadow:0 8px 30px #3c31b33b;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.18)}.btn-small{padding:13px 18px;gap:13px}.btn-outline{border:1px solid #73719f;background:#0a1024a8;box-shadow:none}.hamburger,.mobile-nav{display:none}.hero{min-height:675px;position:relative;overflow:hidden;display:flex;align-items:center;border-bottom:1px solid #25304d}.hero-photo{position:absolute;inset:0 0 0 36%;background-position:center center;background-size:cover;background-repeat:no-repeat;opacity:.88}.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#060b15 0%,#060b15 24%,#060b15e8 39%,#060b1580 59%,#060b1510 100%),linear-gradient(0deg,#060b15 0%,transparent 24%,transparent 82%,#060b152c 100%)}.hero-content{position:relative;z-index:2;padding:55px 0 74px}.eyebrow,.section-kicker{font-size:10px;color:#a99cff;letter-spacing:2.5px;font-weight:800}.tiny-line{display:inline-block;width:20px;height:1px;background:#a99cff;vertical-align:middle;margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(46px,5.5vw,82px);line-height:1.06;letter-spacing:-3.5px;max-width:840px;margin:26px 0 24px;font-weight:800}h1 em,.city h2 em,.closing h2 em{font-style:normal;color:#a38cff}h2{font-size:clamp(32px,3.7vw,54px);line-height:1.15;letter-spacing:-2px;font-weight:800}h2 span{color:#a7a1c4}.hero-copy{max-width:540px;color:#d2d7e6;font-size:15px;line-height:1.85}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.hero-foot{display:flex;gap:27px;flex-wrap:wrap;margin-top:56px;color:#c6cee2;font-size:10px;font-weight:700}.hero-foot span{display:flex;gap:8px;align-items:center}.dot.violet{background:#a394ff;box-shadow:0 0 10px #a394ff}.dot.blue{background:#60a9ff;box-shadow:0 0 10px #60a9ff}.hero-side{position:absolute;right:5%;top:8%;display:flex;flex-direction:column;gap:11px;color:#d6dcf0;font-size:10px;letter-spacing:2px;font-weight:800;opacity:.85}.hero-side i{height:1px;background:#a7b4d055;width:80px}.scroll-hint{position:absolute;bottom:28px;right:5%;font-size:9px;letter-spacing:2px;color:#b6c0d7}.scroll-hint span{margin-left:12px}.statement{padding:100px 0 70px}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin:28px 0 60px}.statement-grid p{font-size:15px;color:#aab6cc;line-height:1.95}.statement-grid strong{color:#f2f4fc;font-weight:600}.stat-line{border-top:1px solid #2a3249;border-bottom:1px solid #2a3249;display:flex;justify-content:space-between;gap:15px;padding:22px 0;color:#8f9ab5;letter-spacing:2px;font-size:10px;font-weight:800}.section-dark{background:#090f1d;border-top:1px solid #20283e;border-bottom:1px solid #20283e}.industries{padding:95px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:20px 0 35px}.section-heading h2{margin:0}.section-heading>p{color:#a7b2ca;max-width:400px;line-height:1.85;font-size:14px}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.industry-card{background:#0c1425;border:1px solid #26314b;overflow:hidden;transition:transform .2s,border-color .2s}.industry-card:hover{transform:translateY(-5px);border-color:#7366c8}.industry-photo{height:185px;background-image:linear-gradient(0deg,#0c1425 0%,transparent 60%),var(--photo);background-position:center;background-size:cover}.industry-body{padding:24px 25px 29px;min-height:235px}.industry-number{font-size:9px;letter-spacing:2px;color:#a494ff;font-weight:800}.industry-body h3{font-size:20px;letter-spacing:-.5px;line-height:1.25;margin:13px 0}.industry-body p{font-size:12px;line-height:1.75;color:#b4bdd1;margin:0}.disclaimer{font-size:10px;line-height:1.7;color:#7e8ca8;margin:20px 0 0}.city{min-height:570px;position:relative;display:flex;align-items:center;overflow:hidden}.city-image{position:absolute;inset:0;background:url('assets/smart-city.jpg') center/cover no-repeat}.city-shade{position:absolute;inset:0;background:linear-gradient(90deg,#060b15f5 0%,#060b15c4 42%,#060b1540 100%),linear-gradient(0deg,#060b15aa,transparent 35%)}.city-inner{position:relative;padding:85px 0}.city h2{margin:22px 0;font-size:clamp(40px,5vw,70px)}.city p{max-width:490px;color:#d3d9e7;line-height:1.85;font-size:14px}.city-note{font-size:9px;color:#c1c9da;letter-spacing:1.5px;margin-top:36px}.how{padding:100px 0}.diagram{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:50px 0 22px}.controller,.subject-node{border:1px solid #374362;border-radius:12px;flex:1;min-height:235px;padding:24px 16px;text-align:center;background:linear-gradient(160deg,#101a30,#090e1a)}.controller>span,.subject-node>span,.connector span{font-size:9px;color:#99a5c3;letter-spacing:1.3px}.controller-icon{font-size:40px;color:#9a8fff;margin:13px 0}.subject-node{border-color:#7864f5;box-shadow:0 0 45px #644af22b;background:radial-gradient(circle at 50% 35%,#30215d,#101426 75%)}.subject-logo{font-size:58px;color:#ad9cff;font-weight:900;margin:5px 0}.diagram h3{margin:7px 0;font-size:17px}.diagram p{font-size:11px;color:#aab6d1;line-height:1.6}.subject-node small{font-size:9px;color:#d7caff;border:1px solid #6153a8;padding:5px 10px;border-radius:50px}.connector{text-align:center;flex:0 0 105px}.connector span{font-size:8px}.arrow{font-size:48px;color:#8b6bfa}.diagram-caption{color:#8997b4;font-size:11px;line-height:1.7}.proof{padding:95px 0}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.proof-grid article{padding:25px;background:#0c1425;border:1px solid #29344e;min-height:275px;display:flex;flex-direction:column}.proof-icon{font-size:34px;color:#a293ff}.proof-tag{font-size:9px;letter-spacing:1.2px;color:#7cdda8;margin:14px 0 6px}.proof-grid h3{font-size:21px;margin:5px 0}.proof-grid p{color:#aab5cd;font-size:12px;line-height:1.7}.proof-grid a,.protocol-grid a{color:#b3a5ff;font-size:11px;font-weight:800;margin-top:auto}.protocols{padding:95px 0}.protocol-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.protocol-grid article{padding:22px 18px;background:#0d1423;border:1px solid #2c354d;min-height:220px;display:flex;flex-direction:column}.protocol-grid .featured{border-color:#7662e8;background:linear-gradient(150deg,#251c50,#0d1423)}.protocol-grid span{font-size:9px;color:#a79de5;letter-spacing:1px}.protocol-grid h3{font-size:17px;margin:27px 0 8px}.protocol-grid p{font-size:11px;color:#abb7cf;line-height:1.7}.closing{padding:100px 0;background:radial-gradient(ellipse at 80% 110%,#392678,#090e1c 65%);border-top:1px solid #28314b}.closing h2{font-size:clamp(55px,7vw,100px);margin:22px 0}.closing p{max-width:620px;color:#c0c9df;line-height:1.8;font-size:14px}footer{border-top:1px solid #26304a;background:#060a12}.footer-inner{padding:48px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer-inner p{color:#a7b3ca;font-size:12px;text-align:right}.footer-links{display:flex;gap:22px;font-size:12px;color:#c2cbe0}.footer-inner small{color:#7885a0;font-size:10px;text-align:right}@media(max-width:1050px){.desktop-nav{gap:14px}.industry-grid{grid-template-columns:repeat(2,1fr)}.protocol-grid{grid-template-columns:repeat(3,1fr)}.proof-grid{grid-template-columns:repeat(2,1fr)}.diagram{flex-wrap:wrap}.connector{flex:0 0 50px}.connector span{display:none}}@media(max-width:760px){.container{width:min(100% - 36px,580px)}.header{height:66px;padding:0 18px}.brand{font-size:16px}.desktop-nav,.nav-contact,.nav-actions>.btn{display:none}.hamburger{display:block;border:1px solid #41496c;background:#11182a;color:white;border-radius:7px;font-size:20px;width:40px;height:40px}.mobile-nav.open{display:flex}.mobile-nav{position:absolute;z-index:30;top:95px;left:0;right:0;flex-direction:column;background:#0d1424;border-bottom:1px solid #41496c;padding:16px 24px;gap:18px;font-size:13px}.hero{min-height:710px;align-items:end}.hero-photo{inset:0;background-position:57% 10%;opacity:.55}.hero-gradient{background:linear-gradient(0deg,#060b15 2%,#060b15d9 45%,#060b154a 100%),linear-gradient(90deg,#060b15b0,transparent)}.hero-content{padding:80px 0 45px}.hero-side,.scroll-hint{display:none}h1{font-size:clamp(42px,10vw,64px);letter-spacing:-2px}.hero-copy{font-size:13px}.hero-foot{margin-top:32px;gap:12px}.hero-buttons .btn{width:100%}.statement,.how,.protocols{padding:70px 0}.statement-grid,.section-heading{display:block}.statement-grid{margin:25px 0}.section-heading>p{margin-top:22px}.stat-line{flex-wrap:wrap;font-size:9px}.industries,.proof{padding:70px 0}.industry-grid{grid-template-columns:1fr}.industry-photo{height:210px}.industry-body{min-height:0}.city{min-height:610px}.city-shade{background:linear-gradient(90deg,#060b15ed,#060b1590),linear-gradient(0deg,#060b15a0,transparent)}.diagram{display:grid;grid-template-columns:1fr;gap:6px}.connector{height:45px}.arrow{transform:rotate(90deg);font-size:37px;line-height:35px}.controller,.subject-node{min-height:0;padding:20px}.proof-grid{grid-template-columns:1fr}.proof-grid article{min-height:230px}.protocol-grid{grid-template-columns:1fr 1fr}.protocol-grid article{min-height:190px}.footer-inner{grid-template-columns:1fr}.footer-inner p,.footer-inner small{text-align:left}.footer-links{flex-wrap:wrap}.closing{padding:75px 0}}@media(max-width:420px){.protocol-grid{grid-template-columns:1fr}.hero-foot{display:grid}.announcement{font-size:7px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* GulliANT Website v2: legibility, editorial rhythm, photographic treatment */
:root{--body-text:#c9d3e6;--muted:#aebbd2}
body{font-size:16px}
.desktop-nav{font-size:13px}
.hero-photo{inset:0 0 0 32%;filter:saturate(.9) contrast(1.06)}
.hero-gradient{background:linear-gradient(90deg,#060b15 0%,#060b15 17%,#060b15e8 33%,#060b1594 52%,#060b152b 100%),linear-gradient(0deg,#060b15 0%,transparent 30%,transparent 85%,#060b1540 100%)}
.hero-copy{font-size:17px;max-width:590px;line-height:1.75}
.hero-foot{font-size:12px}
.hero-side{font-size:11px;right:4%;top:12%;background:#080e1ca6;padding:22px 24px;border:1px solid #ffffff1c;backdrop-filter:blur(12px)}
.statement-grid p,.section-heading>p{font-size:16px;color:var(--body-text);line-height:1.8}
.industry-body{min-height:242px;padding:28px}
.industry-body h3{font-size:23px;line-height:1.22}
.industry-body p{font-size:14px;line-height:1.7;color:var(--body-text)}
.industry-number,.section-kicker{font-size:11px}
.disclaimer{font-size:12px;color:#9eacc5;line-height:1.65}
.city{min-height:735px}
.city-image{background-image:url('assets/clean-smart-city.jpg');filter:contrast(1.1) saturate(.88)}
.city-shade{background:linear-gradient(90deg,#060b15f7 0%,#060b15d4 38%,#060b1568 78%,#060b153d 100%),linear-gradient(0deg,#060b15d9 0%,transparent 55%)}
.city p{font-size:17px;max-width:630px}
.city-domains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:55px;max-width:980px}
.city-domains span{padding:20px 14px;border-top:1px solid #9b88ff;background:#0b1425aa;backdrop-filter:blur(9px);font-size:11px;font-weight:800;letter-spacing:1.2px;color:#e6e8f5}
.city-note{font-size:11px;color:#d2d9e9}
.diagram h3{font-size:20px}.diagram p,.diagram-caption{font-size:13px}.controller>span,.subject-node>span,.connector span{font-size:10px}
.proof-intro{margin:8px 0 25px;padding:21px 24px;background:linear-gradient(110deg,#1d1a3c,#0c1424);border-left:3px solid #9982ff;font-size:15px;line-height:1.7;color:#bdc9df}
.proof-intro strong{color:white}.proof-intro span{margin-left:5px}
.proof-grid article{padding:29px;min-height:315px;transition:border-color .2s,transform .2s}
.proof-grid article:hover{border-color:#8e7cfc;transform:translateY(-3px)}
.proof-grid h3{font-size:24px}.proof-grid p{font-size:14px;line-height:1.7;color:#c5cfe2}
.proof-grid a,.protocol-grid a{font-size:13px}
.protocol-grid article{padding:24px 20px;min-height:245px}
.protocol-grid h3{font-size:19px}.protocol-grid p{font-size:13px;line-height:1.65}
.closing p{font-size:16px}
@media(max-width:1050px){.city-domains{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero-photo{inset:0;background-position:center}.hero-gradient{background:linear-gradient(0deg,#060b15 2%,#060b15e6 48%,#060b1566 100%)}.hero-copy{font-size:15px}.industry-body{min-height:0}.city{min-height:730px}.city-domains{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:35px}.city-domains span{font-size:10px;padding:16px 10px}.city p{font-size:15px}.proof-intro{font-size:14px}.proof-grid article{min-height:240px}}
@media(max-width:390px){.city-domains{grid-template-columns:1fr}}

/* v2 focused homepage — editorial hero, horizontal industry exploration, deep pages */
html{scroll-behavior:smooth;scroll-padding-top:85px}
.hero{min-height:min(790px,calc(100svh - 95px))}
.hero h1{max-width:850px}
.industries{padding:92px 0 100px;overflow:hidden}
.industries .section-heading{position:relative;align-items:end;gap:28px;margin-bottom:30px}
.industries .section-heading h2{font-size:clamp(32px,4vw,58px)}
.carousel-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.carousel-count{font-size:13px;letter-spacing:2px;color:#98a9ce;margin-right:8px}
.carousel-count strong{color:#b59aff}
.carousel-arrow{width:50px;height:50px;border:1px solid #53617d;border-radius:50%;background:#0e182b;color:#fff;font-size:25px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.carousel-arrow:hover:not(:disabled){background:#34246c;border-color:#a68dff;transform:translateY(-2px)}
.carousel-arrow:disabled{opacity:.35;cursor:not-allowed}
.industry-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#6e5de4 #0d1526;padding:0 0 22px;overscroll-behavior-x:contain}
.industry-slide{flex:0 0 clamp(290px,36%,450px);min-width:0;scroll-snap-align:start;transition:border-color .2s,transform .2s}
.industry-slide:hover{border-color:#9e87ff;transform:translateY(-3px)}
.industry-slide .industry-photo{height:240px}
.industry-slide .industry-body{min-height:230px}
.industry-detail{display:inline-block;margin-top:14px;color:#b29cff;font-weight:700;font-size:13px}
.homepage-action{padding:110px 0;background:radial-gradient(ellipse at 85% 40%,#29204d 0%,#0b1021 58%,#070c16 100%);border-top:1px solid #26314b}
.action-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:10%}
.homepage-action h2{font-size:clamp(36px,5vw,72px);line-height:1.08;margin:20px 0}
.homepage-action h2 em{font-style:normal;color:#a38aff}
.homepage-action p{font-size:17px;color:#c6d1e8;max-width:540px;line-height:1.7}
.action-links{display:flex;flex-direction:column;justify-content:center}
.action-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:27px 4px;border-bottom:1px solid #4a5473;color:#f5f6ff;text-decoration:none;font-weight:700;font-size:18px}
.action-links a:hover{color:#b9a6ff}
.interior-hero{padding:115px 0 80px;background:radial-gradient(ellipse at 90% 10%,#27204d,#090e1b 65%);border-bottom:1px solid #25314a}
.interior-hero h1{font-size:clamp(44px,6vw,86px);margin:20px 0}
.interior-hero p{font-size:19px;color:#c8d4ec;max-width:680px}
.interior-next{display:flex;gap:18px;padding-top:40px;padding-bottom:100px;flex-wrap:wrap}
body:has(.interior-hero) .proof,body:has(.interior-hero) .how,body:has(.interior-hero) .protocols,body:has(.interior-hero) .closing{padding-top:85px;padding-bottom:85px}
body:has(.interior-hero) .city{margin:0}
@media(max-width:850px){.industries .section-heading{display:block}.carousel-controls{margin-top:24px}.industry-slide{flex-basis:min(78vw,380px)}.action-layout{grid-template-columns:1fr;gap:35px}.homepage-action{padding:70px 0}.interior-hero{padding:80px 0 55px}}
@media(max-width:520px){.industry-slide{flex-basis:85vw}.industry-slide .industry-photo{height:190px}.industry-slide .industry-body{min-height:0}.carousel-arrow{width:45px;height:45px}.hero{min-height:740px}}

/* GulliANT v2: single-screen executive homepage, industry carousel in lower-right quadrant */
.hero{min-height:calc(100svh - 105px);height:auto;max-height:none;align-items:center}
.hero-content{width:min(1280px,calc(100% - 96px));padding:42px 0 55px;pointer-events:none}
.hero-content>*{pointer-events:auto}
.hero-content h1{font-size:clamp(45px,4.65vw,73px);max-width:720px;margin:20px 0}
.hero-copy{max-width:490px;font-size:14px;line-height:1.7}
.hero-foot{margin-top:34px;max-width:660px;gap:15px}
.hero-side,.scroll-hint{display:none!important}
.hero-industries{position:absolute;z-index:5;right:max(4.5%,calc((100vw - 1420px)/2));bottom:30px;width:clamp(330px,30vw,460px);padding:17px 18px 10px;background:linear-gradient(145deg,#0b1324f5,#0b1020f0);border:1px solid #59628b99;box-shadow:0 22px 80px #0009;backdrop-filter:blur(16px);border-radius:10px}
.hero-industries-top{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:12px}
.hero-industries .panel-kicker{color:#b0a2ff;font-size:9px;letter-spacing:1.6px;font-weight:800}
.hero-industries h2{font-size:17px;letter-spacing:-.4px;margin:6px 0 0;line-height:1.2}
.hero-industries .carousel-controls{display:flex;align-items:center;gap:7px;margin:0;flex-shrink:0}
.hero-industries .carousel-count{font-size:10px;white-space:nowrap}
.hero-industries .carousel-arrow{width:31px;height:31px;font-size:16px}
.hero-industries .industry-track{gap:0;padding:0;scrollbar-width:none;border:1px solid #33405f;border-radius:7px}
.hero-industries .industry-track::-webkit-scrollbar{display:none}
.hero-industries .industry-slide{flex:0 0 100%;min-width:100%;border:0;border-radius:0;display:grid;grid-template-columns:40% 60%;min-height:194px;background:#0c1426}
.hero-industries .industry-photo{height:100%;min-height:194px;background-position:center}
.hero-industries .industry-body{min-height:0;padding:15px 14px;display:flex;flex-direction:column;justify-content:center}
.hero-industries .industry-number{font-size:8px;letter-spacing:1.1px}
.hero-industries .industry-body h3{font-size:15px;line-height:1.2;margin:9px 0}
.hero-industries .industry-body p{font-size:10px;line-height:1.5;color:#c4cde0}
.hero-industries .industry-detail{font-size:10px;margin-top:8px}
.hero-industries .panel-footnote{font-size:9px;color:#a5b0ca;margin:10px 0 0}
@media(min-width:1100px) and (max-height:760px){.hero{min-height:670px}.hero-content h1{font-size:clamp(45px,4.2vw,64px)}.hero-foot{margin-top:20px}}
@media(max-width:1100px){.hero{min-height:850px;align-items:start}.hero-content{padding-top:70px}.hero-industries{right:5%;bottom:28px;width:min(480px,50vw)}.hero-content h1{font-size:clamp(44px,5.2vw,65px)}}
@media(max-width:760px){.hero{min-height:0;display:block;padding-bottom:24px}.hero-content{width:min(100% - 36px,580px);padding:55px 0 15px}.hero-content h1{font-size:clamp(41px,9vw,60px)}.hero-industries{position:relative;right:auto;bottom:auto;width:min(100% - 36px,580px);margin:20px auto 0}.hero-foot{margin-top:25px}.hero-industries .industry-slide{grid-template-columns:39% 61%}}
@media(max-width:420px){.hero-industries .industry-slide{grid-template-columns:36% 64%}.hero-industries .industry-body{padding:12px}.hero-industries .industry-body h3{font-size:13px}.hero-industries .industry-body p{font-size:9px}.hero-industries h2{font-size:14px}}

/* v2.2 — balanced centered hero, accessible readable typography, cinematic carousel */
:root{--readable:#e3e9f6}
body{font-size:18px}
.desktop-nav{font-size:16px;gap:22px}.nav-contact{font-size:16px}.btn{font-size:16px}.btn-small{font-size:15px}
.announcement{font-size:12px;letter-spacing:1.1px}
.hero-copy{font-size:19px;line-height:1.58;color:var(--readable)}
.hero-foot{font-size:14px;gap:17px}
.eyebrow,.section-kicker{font-size:14px;letter-spacing:1.4px}
/* Balanced framing: the city fills the viewport, with symmetric edge vignette. */
.hero-photo{inset:0;background-position:center 52%;background-size:cover;opacity:.83;filter:saturate(.9) contrast(1.07)}
.hero-gradient{background:linear-gradient(90deg,#060b15e8 0%,#060b15a8 28%,#060b1533 52%,#060b1540 76%,#060b15bc 100%),linear-gradient(0deg,#060b15dd 0%,transparent 28%,transparent 75%,#060b1595 100%)}
@media(min-width:1101px){
 html,body{height:100%;min-height:0}
 body{display:flex;flex-direction:column;overflow:hidden}
 .announcement{flex:0 0 27px}.header{flex:0 0 75px}
 main#top{flex:1 1 auto;min-height:0;display:flex}
 .hero{flex:1;min-height:0;height:100%;max-height:none;align-items:center}
 .hero-content{width:min(1460px,calc(100% - 100px));padding:0;position:relative;margin:auto;transform:translateY(-3%)}
 .hero-content h1{font-size:clamp(45px,3.85vw,68px);max-width:700px;letter-spacing:-2.5px;margin:17px 0 19px}
 .hero-copy{max-width:min(43vw,610px)}
 .hero-buttons{margin:22px 0}.hero-foot{margin-top:27px;max-width:620px}
 .hero-industries{right:max(50px,calc((100vw - 1460px)/2));bottom:clamp(26px,4vh,58px);width:min(44vw,670px);height:clamp(290px,44vh,430px);padding:23px 25px 20px;display:flex;flex-direction:column;box-shadow:0 24px 85px #000b;border:1px solid #7c86a9a6;border-radius:14px;background:linear-gradient(135deg,#0a1324f5,#0c1021e8)}
 .hero-industries-top{margin-bottom:16px;align-items:center}
 .hero-industries h2{font-size:25px;letter-spacing:-.5px;margin-top:6px}
 .hero-industries .panel-kicker{font-size:13px;letter-spacing:1.2px}
 .hero-industries .carousel-count{font-size:15px}
 .hero-industries .carousel-arrow{width:47px;height:47px;font-size:24px}
 .hero-industries .industry-track{flex:1;min-height:0}
 .hero-industries .industry-slide{min-height:0;height:100%;grid-template-columns:44% 56%}
 .hero-industries .industry-photo{height:100%;min-height:0}
 .hero-industries .industry-body{padding:22px;justify-content:center}
 .hero-industries .industry-number{font-size:13px;letter-spacing:1px}
 .hero-industries .industry-body h3{font-size:clamp(21px,1.65vw,27px);line-height:1.23;margin:12px 0}
 .hero-industries .industry-body p{font-size:clamp(15px,1.06vw,18px);line-height:1.48;color:#e0e7f5}
 .hero-industries .industry-detail{font-size:15px}
 .hero-industries .panel-footnote{font-size:13px;margin-top:11px;color:#cad4e9}
 footer{flex:0 0 auto}
 .footer-inner{padding:13px 0!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px}
 footer .brand{font-size:17px}footer .brand-symbol{width:28px;height:28px;font-size:18px}
 footer p,footer small,.footer-links{font-size:13px!important;margin:0!important}
}
/* Compact desktop: keep text readable, allow scroll rather than clip on short windows */
@media(min-width:1101px) and (max-height:740px){body{overflow:auto}.hero{min-height:660px}.hero-industries{height:310px;bottom:20px}.hero-content{transform:none}.hero-content h1{font-size:48px}.hero-copy{font-size:17px}.hero-foot{font-size:13px}}
@media(max-width:1100px){.hero-photo{inset:0;background-position:center}.hero-gradient{background:linear-gradient(90deg,#060b15e8,#060b1570 58%,#060b1588),linear-gradient(0deg,#060b15d0,transparent 65%)}.hero{min-height:920px}.hero-copy{font-size:18px}.hero-industries{width:min(580px,55vw);padding:22px}.hero-industries .industry-body p{font-size:15px}.hero-industries .industry-body h3{font-size:21px}.hero-industries .industry-number{font-size:12px}.hero-industries .panel-kicker{font-size:12px}.hero-industries h2{font-size:22px}.hero-industries .carousel-arrow{width:42px;height:42px}.hero-industries .panel-footnote{font-size:13px}}
@media(max-width:760px){.hero{min-height:0}.hero-content{padding:45px 0 20px}.hero-content h1{font-size:clamp(38px,8.5vw,58px);letter-spacing:-1.7px}.hero-copy{font-size:18px}.hero-foot{font-size:14px}.hero-industries{width:calc(100% - 32px);padding:18px;margin:22px auto 12px}.hero-industries .industry-slide{grid-template-columns:41% 59%;min-height:265px}.hero-industries .industry-photo{min-height:265px}.hero-industries .industry-body{padding:16px}.hero-industries .industry-body h3{font-size:21px}.hero-industries .industry-body p{font-size:15px;line-height:1.45}.hero-industries .industry-number{font-size:12px}.hero-industries .panel-kicker{font-size:12px}.hero-industries h2{font-size:22px}.hero-industries .carousel-arrow{width:44px;height:44px;font-size:22px}.hero-industries .panel-footnote{font-size:13px}.btn{font-size:15px}.announcement{font-size:10px}}
@media(max-width:480px){.hero-industries .industry-slide{display:flex;flex-direction:column;min-height:0}.hero-industries .industry-photo{height:175px;min-height:175px;flex:none}.hero-industries .industry-body{min-height:230px}.hero-industries .industry-body h3{font-size:22px}.hero-industries .industry-body p{font-size:16px}.hero-industries .carousel-count{font-size:13px}.hero-industries .carousel-arrow{width:42px;height:42px}.hero-industries h2{font-size:20px}.hero-industries .panel-kicker{font-size:11px}}
@media(prefers-reduced-motion:reduce){.industry-track{scroll-behavior:auto}}

/* V2 industry navigation: concise, readable carousel with full-card links */
.hero-industries .industry-slide{position:relative;display:block;overflow:hidden;text-decoration:none;color:white;isolation:isolate}
.hero-industries .industry-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;background-size:cover;background-position:center;transition:transform .65s ease}
.hero-industries .industry-slide:hover .industry-photo,.hero-industries .industry-slide:focus-visible .industry-photo{transform:scale(1.045)}
.hero-industries .industry-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050b18f5 0%,#0710229a 38%,#07102210 85%);pointer-events:none}
.hero-industries .industry-body{position:absolute;inset:auto 0 0;z-index:2;min-height:0;padding:25px 30px 28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:12px}
.hero-industries .industry-body h3{font-size:clamp(26px,2.15vw,36px);line-height:1.16;margin:0;text-shadow:0 2px 16px #000c}
.hero-industries .slide-link{font-size:17px;font-weight:650;color:#e7e0ff}
.hero-industries .panel-kicker{font-size:14px}
.hero-industries .panel-footnote{font-size:15px}
.hero-industries .carousel-count{font-size:16px}
.hero-industries .industry-track{touch-action:pan-x pan-y}
.hero-industries .industry-slide:focus-visible{outline:3px solid #b3a1ff;outline-offset:-3px}
.desktop-nav{font-size:17px}.nav-contact{font-size:17px}.hero-foot{font-size:15px}.footer-links,footer p,footer small{font-size:15px!important}
.industries-page{overflow:auto}.industry-detail-main{max-width:1300px;margin:0 auto;padding:85px 38px 110px}.industry-detail-intro{max-width:960px}.detail-index{color:#b8a7ff;font-size:16px;font-weight:750;letter-spacing:.11em}.industry-detail-intro h1{font-size:clamp(46px,5.3vw,78px);line-height:1.07;letter-spacing:-.045em;margin:22px 0}.industry-detail-intro h1 em{font-style:normal;color:#ad97ff}.industry-detail-intro p{font-size:21px;line-height:1.65;color:#e2e9f5;max-width:860px}.industry-jump{display:flex;flex-wrap:wrap;gap:12px;margin:42px 0 65px}.industry-jump a{font-size:17px;color:#f5f5ff;text-decoration:none;border:1px solid #58647d;border-radius:8px;padding:13px 17px;background:#10192b}.industry-jump a:hover,.industry-jump a:focus-visible{border-color:#a999ff;background:#1c2541}.industry-detail-section{scroll-margin-top:110px;display:grid;grid-template-columns:44% 56%;gap:40px;align-items:center;padding:42px 0;border-top:1px solid #354059;min-height:410px}.industry-detail-image{height:330px;border-radius:10px;background-position:center;background-size:cover}.industry-detail-content h2{font-size:clamp(32px,3vw,48px);line-height:1.15;margin:15px 0}.industry-detail-content p{font-size:20px;line-height:1.65;color:#dce5f5}.industry-detail-content a{font-size:18px;color:#b7a5ff;font-weight:650;text-decoration:none}
@media(max-width:760px){.hero-industries .industry-slide{display:block;min-height:300px}.hero-industries .industry-photo{height:100%;min-height:0}.hero-industries .industry-body{padding:24px}.hero-industries .industry-body h3{font-size:30px}.hero-industries .panel-kicker{font-size:13px}.hero-industries .panel-footnote{font-size:14px}.industry-detail-main{padding:52px 22px 80px}.industry-detail-intro p{font-size:19px}.industry-detail-section{grid-template-columns:1fr;gap:22px}.industry-detail-image{height:240px}.industry-detail-content p{font-size:19px}.industry-jump a{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-industries .industry-photo{transition:none}}

/* v2.5 — remove repeated CTAs, compact carousel chrome and footer */
.hero-industries .hero-industries-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.hero-industries .industry-active-heading{font-size:clamp(26px,2.15vw,35px);line-height:1.18;margin:0;font-weight:750;letter-spacing:-.7px}
.hero-industries .carousel-controls{display:flex;gap:10px;flex:none}
.hero-industries .industry-slide{height:100%;min-height:0}
.hero-industries .industry-photo{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center}
.hero-industries .industry-slide::after{background:linear-gradient(0deg,#050b1838,transparent 55%)}
.hero-industries .industry-track{flex:1;min-height:0}
.footer-inner{justify-content:space-between}
footer .footer-links{gap:20px}
footer small{font-size:15px!important;color:#c2cce0}
@media(min-width:1101px){.hero-content{transform:translateY(-3%)}.hero-foot{margin-top:30px}.hero-industries{height:clamp(310px,42vh,430px)}.footer-inner{min-height:46px}}
@media(max-width:760px){.hero-industries .industry-slide{min-height:280px}.hero-industries .industry-active-heading{font-size:27px}.footer-inner{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.hero-industries .industry-photo{height:100%;min-height:0}}
@media(max-width:480px){.hero-industries .industry-slide{display:block;min-height:260px}.hero-industries .industry-photo{height:100%;min-height:0}.hero-industries .industry-active-heading{font-size:25px}.hero-industries .carousel-arrow{width:46px;height:46px}}

/* v2.7 — headline ribbon and footer alignment */
.announcement{font-size:clamp(11px,1vw,14px);letter-spacing:1.2px;font-weight:800}
.footer-inner{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important}
.footer-inner small{text-align:left!important;order:0}
.footer-inner .footer-links{order:1;justify-content:flex-end}
@media(max-width:760px){.announcement{font-size:10px;letter-spacing:.4px;gap:7px;padding:0 7px;text-align:center}.footer-inner{flex-wrap:wrap!important}.footer-inner .footer-links{justify-content:flex-start}}

/* v2.8 — carousel moved to the outer right; image-edge hover navigation */
@media(min-width:1101px){
 .hero-industries{right:clamp(18px,2.1vw,42px);width:clamp(410px,33vw,545px)}
}
.hero-industries .industry-track{cursor:pointer}
.hero-industries .industry-slide:hover{transform:none}
@media(hover:hover) and (pointer:fine){
 .hero-industries .industry-slide:hover .industry-photo{transform:none}
}

/* v2.9: precise 1.5s auto-advance and static, unzoomed industry photography */
.hero-industries .industry-track{scroll-behavior:auto!important;scroll-snap-type:none!important;overflow-y:hidden}
.hero-industries .industry-slide,.hero-industries .industry-slide:hover,.hero-industries .industry-slide:focus-visible{transform:none!important}
.hero-industries .industry-photo,.hero-industries .industry-slide:hover .industry-photo,.hero-industries .industry-slide:focus-visible .industry-photo{transform:none!important;transition:none!important;background-size:cover!important}

/* v3.0: coherent city photograph, optically centered desktop navigation, breathable footer */
@media(min-width:1101px){
  .header{position:relative}
  .desktop-nav{position:absolute;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
  .footer-inner{min-height:76px!important;padding:23px 0!important}
}
@media(min-width:761px) and (max-width:1100px){.footer-inner{min-height:70px!important;padding:20px 0!important}}
@media(max-width:760px){.footer-inner{padding:21px 0!important;min-height:76px!important;row-gap:12px!important}}

/* Approved original GulliANT brand artwork */
.header .brand{display:flex;align-items:center;flex:0 0 auto;line-height:1}
.header .brand-logo{display:block;width:205px;height:auto;max-height:52px;object-fit:contain;object-position:left center}
@media(max-width:1100px){.header .brand-logo{width:175px}}
@media(max-width:600px){.header .brand-logo{width:158px;max-height:46px}}

/* Premium clarity pass: typography, context, optical spacing */
.hero-content .hero-copy{max-width:540px;font-size:clamp(18px,1.18vw,20px);line-height:1.58;color:#f0f2fb;text-shadow:0 2px 14px #040812a8}
.hero-content .hero-foot{display:flex;flex-wrap:wrap;gap:12px 19px;max-width:660px}
.hero-content .hero-foot span{font-size:clamp(13px,.9vw,15px);white-space:normal}
.hero-industries{padding:17px 19px 19px;box-shadow:0 20px 65px #020714bb;border-color:#5b70978c}
.hero-industries .industry-overline{font-size:11px;letter-spacing:.16em;font-weight:750;color:#b5c7ec;margin-bottom:9px}
.hero-industries .hero-industries-top{margin-bottom:13px}
.hero-industries .industry-track{border-radius:7px;overflow:hidden}
.hero-industries .industry-photo{background-position:center;background-repeat:no-repeat}
.hero-industries .industry-slide:focus-visible{outline:2px solid #9dc5ff;outline-offset:-2px}
.header .brand-logo{width:215px}
.footer-inner{max-width:1420px;min-height:80px}
footer .footer-links a{padding:8px 0}
@media(min-width:1101px){.hero-content{padding-left:clamp(0px,1vw,16px)}.hero-industries{right:clamp(20px,2vw,38px)}}
@media(max-width:1100px){.hero-content .hero-copy{font-size:18px}.hero-industries .industry-overline{font-size:11px}}
@media(max-width:760px){.hero-content .hero-foot{gap:10px 14px}.hero-industries{padding:18px}.footer-inner{padding:20px 0!important}}

/* Quality pass: one-line evidence strip, clearer application image, balanced desktop layout */
@media(min-width:1101px){
 .hero-content .hero-foot{max-width:none;display:flex;flex-wrap:nowrap;align-items:center;gap:13px;margin-top:26px}
 .hero-content .hero-foot span{font-size:clamp(12px,.86vw,14px);white-space:nowrap;letter-spacing:-.01em}
 .hero-industries{bottom:clamp(27px,5.4vh,68px)}
}
.hero-industries .industry-photo{filter:brightness(1.08) saturate(1.08)}
.hero-industries .industry-track{background:#0c1629}
@media(min-width:761px) and (max-width:1250px){.hero-content .hero-foot{flex-wrap:wrap!important;max-width:500px!important}}
@media(max-width:760px){.hero-content .hero-foot{flex-wrap:wrap;gap:10px 15px}.hero-content .hero-foot span{font-size:14px}}

/* v3.2 — final first-screen composition pass */
.hero-photo{background-size:cover!important;background-position:center center!important;opacity:.80!important}
.hero-gradient{background:linear-gradient(90deg,rgba(4,9,20,.80) 0%,rgba(4,9,20,.62) 27%,rgba(4,9,20,.18) 55%,rgba(4,9,20,.22) 100%),linear-gradient(0deg,rgba(3,8,18,.50),transparent 34%)!important}
.hero-industries{background:linear-gradient(135deg,rgba(8,17,33,.92),rgba(8,17,34,.86))!important;border-color:rgba(124,157,205,.43)!important;box-shadow:0 16px 46px rgba(0,5,17,.36)!important;backdrop-filter:blur(11px)}
.hero-industries .industry-overline{font-size:13px!important;letter-spacing:.10em!important;color:#cad8f2!important}
.hero-industries .industry-active-heading{font-size:clamp(25px,1.85vw,32px)!important}
.hero-industries .industry-track{border-color:rgba(120,156,209,.28)!important}
.hero-industries .industry-photo{filter:brightness(1.14) saturate(1.06)!important}
.hero-content .hero-foot span{font-size:14px!important;color:#e9f0ff!important}
.hero-content .eyebrow{font-size:13px!important}
@media(min-width:1251px){
 .hero-industries{bottom:clamp(48px,8.5vh,92px)!important;right:clamp(20px,2.1vw,42px)!important;width:clamp(400px,29vw,475px)!important}
 .hero-content{transform:translateY(-1%)!important}
 .hero-content .hero-foot{gap:18px!important}
}
@media(min-width:1101px) and (max-width:1250px){.hero-industries{bottom:42px!important}.hero-content .hero-foot{flex-wrap:wrap!important}}
@media(max-width:1100px){.hero-photo{background-position:57% center!important}.hero-gradient{background:linear-gradient(90deg,rgba(4,9,20,.86),rgba(4,9,20,.43)),linear-gradient(0deg,rgba(4,9,20,.60),transparent 70%)!important}}
@media(max-width:760px){.hero-industries{margin-top:24px!important}.hero-content .hero-foot span{font-size:14px!important}}

/* v4: One continuous photograph (no mirrored halves, no seams). */
.hero-photo{background-position:center 48%!important;background-size:cover!important;opacity:.79!important}
@media(min-width:1250px){
 .hero-industries{width:clamp(440px,29.8vw,490px)!important;right:clamp(24px,2.3vw,46px)!important;bottom:clamp(47px,7vh,76px)!important}
 .hero-industries .industry-active-heading{font-size:clamp(23px,1.7vw,29px)!important;line-height:1.12!important;letter-spacing:-.025em!important}
 .hero-industries .industry-overline{font-size:13px!important}
 .hero-content .hero-foot span{font-size:14px!important}
}
@media(min-width:1101px) and (max-width:1249px){.hero-industries{width:420px!important}.hero-industries .industry-active-heading{font-size:23px!important}}


/* v5: final brand consistency and photographic clarity */
.hero-photo{inset:0!important;filter:none!important;opacity:.93!important;background-position:50% 48%!important}
.hero-gradient{background:linear-gradient(90deg,rgba(3,8,19,.83) 0%,rgba(3,8,19,.65) 27%,rgba(3,8,19,.32) 52%,rgba(3,8,19,.18) 100%),linear-gradient(0deg,rgba(3,8,19,.42),transparent 31%)!important}
.hero-content .hero-copy{font-size:clamp(18px,1.18vw,20px)!important;line-height:1.54!important;max-width:530px!important}
.hero-content .hero-foot span{font-size:clamp(13px,.88vw,15px)!important;font-weight:700!important;text-shadow:0 2px 10px #050918}
.hero-content .eyebrow{font-size:13px!important}
.hero-industries{background:linear-gradient(145deg,rgba(8,17,32,.89),rgba(8,17,33,.84))!important;border:1px solid rgba(155,178,221,.43)!important;box-shadow:0 16px 44px #02071573!important}
.hero-industries .industry-overline{font-size:13px!important;color:#d5def3!important;letter-spacing:.085em!important}
.hero-industries .industry-active-heading{font-size:clamp(24px,1.65vw,29px)!important;line-height:1.12!important}
.hero-industries .industry-photo{filter:brightness(1.13) saturate(1.08)!important;transform:none!important;background-size:cover!important}
.hero-industries .industry-slide:hover .industry-photo{transform:none!important}
.announcement{font-size:11px!important;letter-spacing:1.15px!important}
.desktop-nav{font-size:15px!important;gap:22px!important}
.nav-contact,.btn-small{font-size:14px!important}
.footer-inner{max-width:1420px!important;min-height:80px!important;align-items:center!important}
.footer-inner small,.footer-links{font-size:13px!important}
.industry-detail-section[id='cities'] .industry-detail-image{background-position:center 42%!important}
.industry-detail-image{background-size:cover!important;background-repeat:no-repeat!important}
.city-image{background-image:url('assets/smart-city-daylight.jpg')!important;background-position:center 43%!important}
.city-shade{background:linear-gradient(90deg,rgba(4,10,22,.90) 0%,rgba(4,10,22,.71) 38%,rgba(4,10,22,.14) 100%),linear-gradient(0deg,rgba(4,10,22,.35),transparent 55%)!important}
.city-note{font-size:12px!important;letter-spacing:.065em!important}
@media(min-width:1250px){
 .hero-content{transform:translateY(-1%)!important}
 .hero-industries{width:clamp(440px,29.8vw,490px)!important;right:clamp(26px,2.3vw,46px)!important;bottom:clamp(54px,7.3vh,84px)!important}
 .hero-content .hero-foot{gap:16px!important}
}
@media(min-width:761px) and (max-width:1249px){.desktop-nav{font-size:13px!important;gap:12px!important}.hero-content .hero-foot{flex-wrap:wrap!important}}
@media(max-width:760px){
 .announcement{font-size:9px!important;letter-spacing:.2px!important;gap:7px!important;padding:0 6px!important}
 .hero-photo{background-position:54% center!important}
 .hero-gradient{background:linear-gradient(0deg,rgba(3,8,19,.90),rgba(3,8,19,.58) 63%,rgba(3,8,19,.32))!important}
 .hero-content .hero-copy{font-size:17px!important}
 .hero-content .hero-foot span{font-size:13px!important}
 .hero-industries{width:100%!important;max-width:540px!important}
 .footer-inner{min-height:90px!important}
}

/* v6 final quality pass: maintain approved composition; improve typography and responsive resilience */
.hero-photo{background-position:50% 48%!important;opacity:.94!important}
.hero-content .hero-foot{display:flex!important;align-items:center!important;gap:13px!important;row-gap:9px!important;flex-wrap:wrap!important}
.hero-content .hero-foot span{font-size:clamp(15px,.98vw,17px)!important;font-weight:650!important;letter-spacing:-.012em!important;line-height:1.5!important}
.hero-industries .industry-overline{font-size:14px!important;letter-spacing:.07em!important}
.hero-industries .industry-active-heading{font-size:clamp(25px,1.7vw,30px)!important}
.footer-inner{min-height:86px!important;padding-top:17px!important;padding-bottom:17px!important}
.footer-inner small,.footer-links,.footer-links a{font-size:15px!important;line-height:1.5!important}
@media(min-width:1250px){.hero-content .hero-foot{max-width:650px!important}.hero-industries{width:clamp(440px,29.8vw,490px)!important}}
@media(max-width:760px){.hero-content .hero-foot span{font-size:14px!important}.hero-industries .industry-overline{font-size:12px!important}.footer-inner small,.footer-links,.footer-links a{font-size:13px!important}.footer-inner{min-height:94px!important}}

/* v7: Use the original, unprocessed, single-scene archive source.
   Keep gradients in CSS; never sharpen/upscale/composite the photo. */
.hero-photo{background-size:cover!important;background-position:50% 48%!important;opacity:1!important;filter:none!important;transform:none!important;}
.hero::before{pointer-events:none;}
@media(min-width:1200px){.hero-photo{background-position:center 48%!important;}}



/* v9 final: genuine standalone skyline photograph, no embedded website UI. */
.hero-photo{background-size:cover!important;background-position:50% 48%!important;opacity:1!important;filter:none!important;transform:none!important;}
.hero-gradient{background:linear-gradient(90deg,rgba(4,9,22,.82) 0%,rgba(4,9,22,.60) 28%,rgba(4,9,22,.30) 53%,rgba(4,9,22,.13) 76%,rgba(4,9,22,.34) 100%),linear-gradient(0deg,rgba(4,9,22,.35),transparent 23%)!important;}
@media(max-width:760px){.hero-photo{background-position:50% center!important}.hero-gradient{background:linear-gradient(180deg,rgba(4,9,22,.60),rgba(4,9,22,.40) 46%,rgba(4,9,22,.85))!important}}

/* Clean skyline asset; no UI, cards or text baked into background. */
.hero-photo{background-image:url("assets/hero-city-approved-clean.png")!important;background-position:center center!important;background-size:cover!important;filter:none!important;transform:none!important;}

/* Shared header accessibility and navigation polish — 2026-10-10 */
@media(min-width:761px){
  .desktop-nav{font-size:15px!important;gap:clamp(15px,1.7vw,29px)!important;align-items:center}
  .nav-contact{font-size:15px!important;padding:11px 17px!important}
  .nav-actions>.btn{font-size:15px!important;padding:12px 17px!important}
}
.desktop-nav a{padding:10px 11px;border:1px solid transparent;border-radius:7px;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.desktop-nav a[aria-current="page"]{color:#fff!important;background:linear-gradient(120deg,#4e46d9,#7251fa);border-color:#a394ff;box-shadow:0 5px 16px #4b3bc94a}
.desktop-nav a:hover{color:#fff;background:#252047}
.mobile-nav a[aria-current="page"]{color:#fff;background:#4034ad;border-radius:6px;padding:8px 12px}
.announcement{position:relative;padding-left:44px!important;padding-right:44px!important;font-size:clamp(12px,.92vw,14px)!important;letter-spacing:1px!important}
.announcement-dismiss{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #47516b;border-radius:5px;background:#19223a;color:#d5d9ef;font-size:18px;line-height:1;cursor:pointer}
.announcement-dismiss:hover{background:#342c6e;color:#fff}
.announcement[hidden]{display:none!important}
@media(min-width:761px) and (max-width:1250px){.desktop-nav{gap:5px!important;font-size:13px!important}.desktop-nav a{padding:8px 5px}.nav-contact,.nav-actions>.btn{font-size:13px!important}}
@media(max-width:760px){.announcement{font-size:clamp(8px,2.1vw,11px)!important;letter-spacing:.15px!important;gap:5px!important;padding:0 31px 0 7px!important}.announcement-dismiss{right:4px;width:22px;height:22px}}

/* Home carousel: remove the blue-tinted left edge of the image viewport only. */
.hero-industries .industry-track{border-left:0!important;}

/* Consistent desktop chrome across Home and Industries. */
@media (min-width:1101px){
 body:not(.industries-page){min-height:100svh;display:flex;flex-direction:column}
 body:not(.industries-page)>main{flex:1;min-height:0;display:flex;flex-direction:column}
 body:not(.industries-page)>main>.hero{flex:1;min-height:0}
 body:not(.industries-page)>footer,body.industries-page>footer{flex-shrink:0}
 body .footer-inner{height:68px!important;min-height:68px!important;padding:10px 0!important;box-sizing:border-box!important}
 /* Remove the 1px left seam in the home carousel, without changing the image. */
 .hero-industries .industry-track{border-left:0!important;outline:0!important}
 .hero-industries .industry-slide{border-left:0!important;box-shadow:none!important}
 .hero-industries .industry-photo{left:-1px!important;width:calc(100% + 2px)!important}
}

/* Interior pages (Technology, Proof, Protocols, Developers, Smart Cities): normal scrolling document.
   The one-screen app-shell layout belongs to the homepage only; here it clipped content under the footer. */
html:has(body.interior-page){height:auto;min-height:100%;overflow-y:auto}
body.interior-page{height:auto;min-height:100vh;overflow:visible;display:flex;flex-direction:column}
body.interior-page>main#top{display:block;flex:1 0 auto;min-height:0}
body.interior-page>footer{flex:0 0 auto;margin-top:auto}
body.interior-page .header{position:sticky;top:0;z-index:50}
body.interior-page .interior-hero{padding:84px 0 60px}
body.interior-page .interior-hero h1{font-size:clamp(40px,5vw,72px);margin:16px 0}
body.interior-page .interior-next{padding-bottom:90px}

/* ===== Interior pages v2: no kickers, one screen on desktop, readable on phones ===== */
/* The page <h1> stays for accessibility/SEO but is visually hidden; each section carries its own headline. */
body.interior-page .interior-hero{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.interior-page>main#top{display:flex;flex-direction:column;justify-content:center}
body.interior-page main>section.proof,body.interior-page main>section.how,body.interior-page main>section.protocols,body.interior-page main>section.closing{padding-top:clamp(28px,5vh,64px);padding-bottom:clamp(18px,3vh,40px)}
body.interior-page .interior-next{padding-top:clamp(10px,2vh,24px);padding-bottom:clamp(20px,4vh,48px)}
body.interior-page .section-heading{margin-bottom:clamp(14px,2.4vh,30px)}
body.interior-page .section-heading h2{font-size:clamp(30px,3.3vw,52px);line-height:1.08}
body.interior-page .container{width:min(1280px,calc(100% - 48px))}

/* Desktop: everything on a single screen, no page scrolling. */
@media(min-width:1101px) and (min-height:740px){
  html:has(body.interior-page){height:100%;overflow:hidden}
  body.interior-page{height:100dvh;min-height:0;overflow:hidden}
  body.interior-page>main#top{flex:1 1 auto;min-height:0;overflow:hidden}
  body.interior-page .proof-intro{margin:4px 0 clamp(10px,2vh,20px);padding:12px 20px;font-size:14px}
  body.interior-page .proof-grid article{min-height:0;padding:clamp(16px,2.6vh,28px)}
  body.interior-page .proof-grid h3{font-size:clamp(19px,2.3vh,24px)}
  body.interior-page .proof-grid p{font-size:clamp(12.5px,1.55vh,14px);line-height:1.55}
  body.interior-page .protocol-grid article{min-height:0;padding:clamp(16px,3vh,28px) 20px;height:clamp(150px,26vh,240px)}
  body.interior-page .diagram{margin-top:clamp(8px,2vh,24px)}
  body.interior-page .diagram-caption,body.interior-page .disclaimer{margin-top:clamp(8px,1.6vh,16px);font-size:12.5px;line-height:1.5}
  body.interior-page .closing h2{font-size:clamp(40px,7.5vh,78px);line-height:1.04}
  body.interior-page .closing p{max-width:760px}
  body.interior-page footer .footer-inner{padding:12px 0!important}
}
/* Short laptop windows: allow normal scrolling instead of clipping. */
@media(min-width:1101px) and (max-height:739px){
  html:has(body.interior-page){overflow-y:auto}
  body.interior-page{height:auto;overflow:visible}
  body.interior-page .interior-hero{position:absolute}
}
/* Tablet and phone: natural scrolling, comfortable type, single-column cards. */
@media(max-width:1100px){
  body.interior-page main>section.proof,body.interior-page main>section.how,body.interior-page main>section.protocols,body.interior-page main>section.closing{padding-top:36px;padding-bottom:24px}
  body.interior-page .section-heading{display:block}
  body.interior-page .section-heading>p{margin-top:14px;font-size:16px;line-height:1.65}
  body.interior-page .proof-grid,body.interior-page .protocol-grid{grid-template-columns:1fr 1fr}
  body.interior-page .proof-grid article,body.interior-page .protocol-grid article{min-height:0}
  body.interior-page .diagram{display:grid;grid-template-columns:1fr;gap:12px}
  body.interior-page .diagram .connector{flex-direction:row;justify-content:center}
  body.interior-page .diagram .connector .arrow{transform:rotate(90deg)}
  body.interior-page .interior-next{padding-bottom:36px}
}
@media(max-width:620px){
  body.interior-page .container{width:calc(100% - 36px)}
  body.interior-page .section-heading h2{font-size:clamp(30px,9vw,40px)}
  body.interior-page .proof-grid,body.interior-page .protocol-grid{grid-template-columns:1fr}
  body.interior-page .proof-intro{padding:14px 16px;font-size:14px}
  body.interior-page .proof-intro span{display:block;margin:4px 0 0}
  body.interior-page .closing h2{font-size:clamp(40px,12vw,56px)}
  body.interior-page .hero-buttons,body.interior-page .interior-next{flex-direction:column;align-items:stretch}
  body.interior-page .hero-buttons .btn,body.interior-page .interior-next .btn{text-align:center;justify-content:center}
}
body.interior-page>main#top{justify-content:safe center}
@media(min-width:1101px) and (min-height:740px){body.interior-page .interior-next{padding-top:0;padding-bottom:clamp(10px,2vh,24px)}body.interior-page main>section.how{padding-bottom:clamp(6px,1vh,14px)}}
