:root{
  --ink:#101624;
  --muted:#657084;
  --line:#dde3ea;
  --soft:#f3f6f8;
  --white:#fff;
  --navy:#08111f;
  --navy-2:#0d192b;
  --navy-3:#14233a;
  --yellow:#ffd83d;
  --yellow-deep:#e0ab00;
  --green:#80d19a;
  --radius:22px;
  --shadow:0 24px 70px rgba(6,17,31,.13);
  --max:1180px
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{display:block}
.container{width:min(calc(100% - 44px),var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.demo-ribbon{
  position:fixed;
  z-index:90;
  right:-47px;
  top:23px;
  width:190px;
  padding:7px 0;
  transform:rotate(38deg);
  text-align:center;
  background:var(--yellow);
  color:#151515;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.14em;
  box-shadow:0 4px 20px rgba(0,0,0,.13)
}

.site-header{
  position:sticky;
  top:0;
  z-index:60;
  border-bottom:1px solid rgba(221,227,234,.8);
  background:rgba(255,255,255,.91);
  backdrop-filter:blur(18px)
}
.nav{min-height:78px;display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto}
.brand-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--yellow)
}
.brand-icon svg{width:22px;height:22px;fill:#161616}
.brand-text strong,.brand-text small{display:block;line-height:1}
.brand-text strong{font-size:.96rem;letter-spacing:.02em}
.brand-text small{font-size:.63rem;letter-spacing:.25em;margin-top:6px;color:#7a8595;font-weight:850}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:27px}
.primary-nav a{font-size:.91rem;font-weight:760;color:#414b5b}
.primary-nav a:hover{color:#000}
.menu-button{display:none;margin-left:auto;border:0;background:none;padding:8px}
.menu-button>span{display:block;width:25px;height:2px;background:#111827;margin:5px 0}

.button{
  min-height:52px;
  padding:0 22px;
  border-radius:13px;
  border:1px solid transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:900;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease
}
.button:hover{transform:translateY(-1px)}
.button-yellow{background:var(--yellow);color:#111;box-shadow:0 12px 28px rgba(255,216,61,.16)}
.button-yellow:hover{box-shadow:0 16px 34px rgba(255,216,61,.25)}
.button-dark-outline{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff}
.button-small{min-height:43px;padding:0 17px;border-radius:11px}
.button-full{width:100%}
.button-icon{font-size:1.1rem}

.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(115deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(25deg,rgba(255,255,255,.018) 1px,transparent 1px),
    var(--navy);
  background-size:44px 44px,44px 44px,auto;
  color:#fff
}
.hero-glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none}
.hero-glow-one{width:620px;height:620px;right:-160px;top:-180px;background:radial-gradient(circle,rgba(255,216,61,.16),transparent 66%)}
.hero-glow-two{width:500px;height:500px;left:20%;bottom:-380px;background:radial-gradient(circle,rgba(75,132,205,.11),transparent 68%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;gap:78px;align-items:center;padding:94px 0 92px}
.availability{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 11px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);border-radius:999px;
  color:#cfd8e5;font-weight:760;font-size:.78rem;margin-bottom:24px
}
.availability span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(128,209,154,.1)}
.kicker{margin:0 0 13px;color:var(--yellow);font-size:.74rem;font-weight:950;letter-spacing:.19em}
.dark-kicker{color:#9b7900}
.hero h1{
  margin:0;
  max-width:710px;
  font-size:clamp(3rem,5.7vw,5.6rem);
  line-height:.98;
  letter-spacing:-.06em
}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero-intro{max-width:670px;margin:27px 0 32px;color:#b9c4d4;font-size:clamp(1.02rem,1.5vw,1.22rem)}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:43px}
.hero-proof>div{
  min-width:0;display:flex;align-items:center;gap:11px;
  border-top:1px solid rgba(255,255,255,.12);padding-top:15px
}
.proof-icon{flex:0 0 31px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(255,216,61,.1);color:var(--yellow);font-weight:950}
.hero-proof p{margin:0;min-width:0}
.hero-proof strong,.hero-proof small{display:block}
.hero-proof strong{font-size:.86rem}
.hero-proof small{color:#7f8ca0;font-size:.75rem;margin-top:2px}

.hero-visual{position:relative;padding:30px 6px}
.visual-card{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  border-radius:27px;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:0 45px 100px rgba(0,0,0,.35);
  overflow:hidden
}
.visual-toolbar{
  height:52px;padding:0 19px;display:flex;align-items:center;gap:7px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.08)
}
.toolbar-dot{width:8px;height:8px;border-radius:50%;background:#627087}
.toolbar-dot:nth-child(1){background:#fb6a5f}.toolbar-dot:nth-child(2){background:#f5c551}.toolbar-dot:nth-child(3){background:#57c46e}
.visual-toolbar small{margin-left:auto;color:#8290a3;font-size:.7rem}
.panel-scene{
  min-height:420px;position:relative;display:grid;place-items:center;
  background:
    radial-gradient(circle at 72% 28%,rgba(255,216,61,.12),transparent 26%),
    linear-gradient(145deg,#18263b,#0b1422 72%)
}
.panel{
  position:relative;
  z-index:2;
  width:73%;
  padding:24px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(145deg,#d8dde3,#a8b0bb);
  box-shadow:0 28px 55px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.7)
}
.panel-top{display:flex;justify-content:space-between;color:#424953;font-size:.59rem;font-weight:950;letter-spacing:.12em;margin-bottom:20px}
.breaker-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:8px}
.breaker-row i{
  height:54px;border-radius:5px;background:linear-gradient(#f8fafb,#d4d9de);
  border:1px solid #929aa5;position:relative;box-shadow:inset 0 -10px 15px rgba(45,55,65,.07)
}
.breaker-row i:before{content:"";position:absolute;left:50%;top:9px;transform:translateX(-50%);width:52%;height:16px;border-radius:3px;background:#3b4552}
.breaker-row i.active:before{background:#c99c00}
.second i{height:46px}
.panel-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.panel-labels span{padding:5px 2px;text-align:center;background:#c0c6ce;color:#5d6570;border-radius:3px;font-size:.46rem;font-weight:850}
.cable{position:absolute;border:3px solid rgba(255,216,61,.5);border-left:0;border-bottom:0;border-radius:0 80px 0 0}
.cable-a{width:150px;height:115px;right:-15px;bottom:70px;transform:rotate(10deg)}
.cable-b{width:110px;height:90px;left:-32px;top:80px;border-color:rgba(73,135,213,.4);transform:rotate(185deg)}
.spark-mark{position:absolute;right:43px;top:47px;color:var(--yellow);font-size:2.2rem;transform:rotate(9deg)}
.visual-footer{min-height:79px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(2,9,18,.32)}
.visual-footer small,.visual-footer strong{display:block}
.visual-footer small{color:#8290a3;font-size:.68rem}.visual-footer strong{margin-top:3px;font-size:.9rem}.visual-footer a{color:var(--yellow);font-weight:850;font-size:.82rem}
.floating-note{
  position:absolute;z-index:4;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,19,32,.92);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 40px rgba(0,0,0,.25);
  border-radius:14px
}
.floating-note-one{left:-38px;bottom:65px;padding:12px 14px;display:flex;align-items:center;gap:10px}
.floating-note-one>span{width:29px;height:29px;border-radius:50%;background:#193824;color:#8fe6aa;display:grid;place-items:center;font-weight:950}
.floating-note-one strong,.floating-note-one small{display:block}.floating-note-one strong{font-size:.78rem}.floating-note-one small{color:#7f8da1;font-size:.67rem}
.floating-note-two{right:-24px;top:76px;padding:12px 15px}.floating-note-two strong,.floating-note-two small{display:block}.floating-note-two strong{color:var(--yellow);letter-spacing:.05em;font-size:.8rem}.floating-note-two small{color:#8491a3;font-size:.65rem;margin-top:3px}

.trust-strip{border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid div{padding:25px 24px;border-right:1px solid var(--line)}
.trust-grid div:first-child{border-left:1px solid var(--line)}
.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font-size:.93rem}.trust-grid span{font-size:.77rem;color:var(--muted);margin-top:3px}

.section{padding:104px 0}
.section-top{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:48px}
.section-top h2,.process-copy h2,.review-heading h2,.areas-copy h2,.faq-grid h2,.quote-copy h2{
  margin:0;
  font-size:clamp(2.1rem,4.1vw,3.8rem);
  line-height:1.03;
  letter-spacing:-.047em
}
.section-lead,.process-copy>p,.review-heading>p,.areas-copy>p,.quote-copy>p{margin:0;color:var(--muted);font-size:1.04rem}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service{
  position:relative;
  min-height:300px;
  padding:30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease,z-index .2s
}
.service:hover{z-index:2;transform:translateY(-3px);box-shadow:var(--shadow)}
.service-number{position:absolute;right:24px;top:21px;color:#adb5c0;font-size:.68rem;font-weight:900}
.service-symbol{width:49px;height:49px;border-radius:12px;display:grid;place-items:center;margin:8px 0 58px;background:#eef2f5;font-size:1.2rem;font-weight:900}
.featured-service{background:var(--navy);color:#fff}
.featured-service .service-symbol{background:var(--yellow);color:#151515}
.featured-service .service-number{color:#66758a}
.service h3{margin:0 0 9px;font-size:1.23rem}
.service p{margin:0;color:var(--muted);font-size:.93rem}
.featured-service p{color:#91a0b3}
.featured-service a{display:inline-block;margin-top:22px;color:var(--yellow);font-weight:850;font-size:.84rem}

.process-section{background:var(--soft)}
.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.process-copy>p{margin-top:20px}
.text-button{display:inline-flex;align-items:center;gap:15px;margin-top:25px;font-weight:900;border-bottom:1px solid #aeb6c0;padding-bottom:5px}
.text-button span{font-size:1.2rem}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #cfd6dd}
.process-list li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid #cfd6dd}
.process-list>li>span{font-size:.68rem;font-weight:900;color:#969faa;padding-top:5px}
.process-list strong{font-size:1.12rem}.process-list p{margin:5px 0 0;color:var(--muted);font-size:.92rem}

.projects-section{background:var(--navy);color:#fff}
.light-section-top .section-lead{color:#93a1b4}
.projects-grid{display:grid;grid-template-columns:1.35fr .82fr .82fr;gap:16px}
.project{overflow:hidden;border:1px solid rgba(255,255,255,.1);background:var(--navy-2);border-radius:18px}
.project-art{position:relative;min-height:300px;overflow:hidden}
.project-large .project-art{min-height:390px}
.project-art-one{
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 68% 25%,rgba(255,216,61,.18),transparent 24%),
    linear-gradient(145deg,#1e334e,#0b1524 68%)
}
.mini-board{width:50%;padding:22px;border-radius:12px;background:linear-gradient(#d7dce2,#adb4be);display:grid;grid-template-columns:repeat(5,1fr);gap:7px;box-shadow:0 30px 60px rgba(0,0,0,.32)}
.mini-board span{height:74px;border:1px solid #8f98a4;border-radius:4px;background:linear-gradient(#f4f5f6,#ced4da);position:relative}
.mini-board span:after{content:"";position:absolute;left:20%;right:20%;top:15px;height:18px;border-radius:3px;background:#394350}
.project-light{position:absolute;width:170px;height:170px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,#ffd83d,rgba(255,216,61,.13) 28%,transparent 70%);filter:blur(2px)}
.project-art-two{display:grid;place-items:center;background:linear-gradient(145deg,#d9dee4,#8f99a5)}
.socket-shape{width:135px;height:155px;border-radius:17px;background:#eef0f2;border:1px solid #8c949e;box-shadow:0 25px 50px rgba(0,0,0,.22);position:relative}
.socket-shape i{position:absolute;width:20px;height:34px;background:#313842;border-radius:4px;top:48px}.socket-shape i:nth-child(1){left:31px}.socket-shape i:nth-child(2){right:31px}.socket-shape b{position:absolute;width:23px;height:23px;border-radius:50%;left:50%;transform:translateX(-50%);bottom:28px;background:#313842}
.project-art-three{background:linear-gradient(145deg,#172842,#09121f)}
.light-line{position:absolute;left:15%;right:15%;top:39%;height:9px;background:#e8edf4;box-shadow:0 0 28px rgba(255,255,255,.7)}
.second-line{top:58%;left:27%;right:5%}
.project-info{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px}
.project-info small{color:#738399;font-size:.62rem;font-weight:850;letter-spacing:.1em}
.project-info h3{margin:5px 0 0;font-size:1.02rem}
.project-info>span{color:#697a91;font-size:.7rem}
.demo-caption{margin:16px 0 0;color:#607087;font-size:.72rem}

.review-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:75px}
.review-heading>p{margin-top:19px}
.rating-box{display:flex;align-items:center;gap:18px;margin-top:31px}
.rating-box>strong{font-size:3.1rem;line-height:1;letter-spacing:-.05em}
.rating-box div span,.rating-box div small{display:block}.rating-box div span{color:#c79700;letter-spacing:.06em}.rating-box div small{margin-top:4px;color:var(--muted);font-size:.72rem}
.review-cards{display:grid;gap:13px}
.review-cards blockquote{position:relative;margin:0;padding:25px 27px 23px 70px;border:1px solid var(--line);border-radius:16px;background:#fff}
.quote-mark{position:absolute;left:25px;top:19px;color:#d3a900;font-family:Georgia,serif;font-size:3rem;line-height:1}
.review-cards p{margin:0;font-size:1rem}
.review-cards footer{margin-top:17px}.review-cards footer strong,.review-cards footer small{display:block}.review-cards footer strong{font-size:.84rem}.review-cards footer small{color:var(--muted);font-size:.71rem;margin-top:2px}

.areas-section{background:#f7f8fa}
.areas-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}
.areas-map{
  position:relative;
  min-height:465px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--line);
  background:
    linear-gradient(35deg,transparent 48%,rgba(94,112,132,.08) 49%,rgba(94,112,132,.08) 51%,transparent 52%),
    linear-gradient(-40deg,transparent 48%,rgba(94,112,132,.06) 49%,rgba(94,112,132,.06) 51%,transparent 52%),
    #e9edf1;
  background-size:70px 70px,92px 92px,auto
}
.map-ring{position:absolute;border:1px solid rgba(83,102,125,.18);border-radius:50%}
.ring-one{width:180px;height:180px;left:34%;top:31%}.ring-two{width:310px;height:310px;left:21%;top:17%}.ring-three{width:440px;height:440px;left:8%;top:4%}
.map-pin{position:absolute;display:flex;align-items:center;gap:8px}.map-pin span{width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:var(--navy);box-shadow:0 3px 10px rgba(0,0,0,.18)}.map-pin b{font-size:.61rem;letter-spacing:.1em}
.pin-main{left:45%;top:49%}.pin-main span{width:19px;height:19px;background:var(--yellow-deep)}
.pin-a{left:63%;top:31%}.pin-b{left:28%;top:23%}.pin-c{left:65%;top:70%}
.areas-copy>p{margin-top:21px}
.area-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}
.area-pills span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.8rem;font-weight:800}

.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}
.faq-grid>div:first-child .section-lead{margin-top:20px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-weight:860;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:1.3rem;color:#8d96a3}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:-5px 45px 24px 0;color:var(--muted);font-size:.93rem}

.quote-section{position:relative;overflow:hidden;padding:105px 0;background:
  radial-gradient(circle at 85% 25%,rgba(255,216,61,.13),transparent 22%),
  var(--navy);color:#fff}
.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}
.quote-copy>p{margin-top:22px;color:#94a2b5}
.contact-links{display:grid;gap:10px;margin-top:32px}
.contact-links a{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-links>a>span{width:37px;height:37px;border-radius:10px;background:rgba(255,216,61,.1);color:var(--yellow);display:grid;place-items:center}
.contact-links small,.contact-links strong{display:block}.contact-links small{color:#718096;font-size:.59rem;font-weight:900;letter-spacing:.13em}.contact-links strong{font-size:.88rem;margin-top:2px}
.quote-form{padding:31px;border-radius:21px;background:#fff;color:var(--ink);box-shadow:0 34px 80px rgba(0,0,0,.25);display:grid;gap:15px}
.form-head{margin-bottom:4px}.form-head span,.form-head strong{display:block}.form-head span{font-size:.65rem;color:#9b7900;font-weight:950;letter-spacing:.15em}.form-head strong{font-size:1.42rem;margin-top:5px}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.quote-form label{display:grid;gap:6px;font-size:.76rem;font-weight:850;color:#3f4856}
.quote-form input,.quote-form textarea,.quote-form select{
  width:100%;border:1px solid var(--line);border-radius:10px;background:#fafbfd;color:#111827;padding:12px 13px;outline:none
}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:#bf9800;box-shadow:0 0 0 3px rgba(255,216,61,.2)}
.form-note{margin:0;color:#8a94a2;font-size:.7rem;line-height:1.45}

.site-footer{background:#050b13;color:#99a6b8}
.footer-top{min-height:105px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand .brand-text strong{color:#fff}.footer-brand .brand-text small{color:#758398}
.footer-top p{font-size:.76rem}.footer-top>a:last-child{justify-self:end;font-size:.78rem;font-weight:800;color:#d1d8e2}
.footer-bottom{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.69rem}
.mobile-contact{display:none}

@media(max-width:980px){
  .desktop-cta{display:none}
  .menu-button{display:block}
  .primary-nav{
    display:none;position:absolute;left:22px;right:22px;top:69px;padding:10px;
    flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)
  }
  .primary-nav.open{display:flex}
  .primary-nav a{padding:11px 12px;border-radius:9px}
  .primary-nav a:hover{background:var(--soft)}
  .hero-grid,.process-grid,.review-layout,.areas-grid,.faq-grid,.quote-grid{grid-template-columns:1fr;gap:50px}
  .hero-grid{padding:70px 0}
  .hero-visual{max-width:680px;margin-inline:auto;width:100%}
  .section-top{grid-template-columns:1fr;gap:18px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .projects-grid{grid-template-columns:1fr 1fr}.project-large{grid-column:1/-1}
  .project-large .project-art{min-height:340px}
  .areas-map{min-height:390px}
  .footer-top{grid-template-columns:1fr;text-align:center;padding:27px 0}.footer-brand{justify-self:center}.footer-top>a:last-child{justify-self:center}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .demo-ribbon{right:-53px;top:16px;font-size:.6rem}
  .nav{min-height:70px}
  .brand-icon{width:38px;height:38px}.brand-text strong{font-size:.86rem}.brand-text small{font-size:.57rem}
  .hero-grid{padding:53px 0 44px}
  .hero h1{font-size:clamp(2.7rem,13.5vw,4.4rem)}
  .hero-proof{grid-template-columns:1fr;margin-top:33px}
  .hero-proof>div{border-top:0;padding-top:0}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .button{width:100%}
  .visual-card{border-radius:21px}
  .panel-scene{min-height:315px}.panel{width:83%;padding:16px}.breaker-row i{height:43px}.second i{height:38px}
  .floating-note-one{left:8px;bottom:60px}.floating-note-two{right:8px;top:66px}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{padding:18px 14px}.trust-grid div:nth-child(3){border-left:1px solid var(--line)}
  .section{padding:74px 0}
  .services-grid{grid-template-columns:1fr}.service{min-height:255px}.service-symbol{margin-bottom:42px}
  .process-list li{grid-template-columns:48px 1fr}
  .projects-grid{grid-template-columns:1fr}.project-large{grid-column:auto}.project-art,.project-large .project-art{min-height:285px}
  .review-cards blockquote{padding-left:58px}.quote-mark{left:19px}
  .areas-map{min-height:325px}.ring-three{width:360px;height:360px;left:-4%;top:-5%}.ring-two{left:12%;top:11%}.ring-one{left:30%;top:26%}.pin-a{left:62%;top:26%}.pin-b{left:22%;top:21%}.pin-c{left:61%;top:72%}
  .form-two{grid-template-columns:1fr}
  .quote-section{padding:75px 0}
  .quote-form{padding:21px}
  .footer-bottom{padding:18px 0 94px;flex-direction:column;text-align:center;justify-content:center}
  .mobile-contact{
    position:fixed;z-index:80;left:10px;right:10px;bottom:10px;
    display:grid;grid-template-columns:1fr 1.25fr;
    overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.22)
  }
  .mobile-contact a{min-height:54px;display:grid;place-items:center;color:#111827;font-weight:950}
  .mobile-contact .mobile-primary{background:var(--yellow)}
}


/* V3 demo safety / conversion layer */
.demo-ribbon{
  text-decoration:none;
  cursor:pointer;
}

.demo-form-status{
  display:none;
  padding:12px 14px;
  border:1px solid #c8e3cf;
  border-radius:10px;
  background:#eef9f1;
  color:#25683a;
  font-size:.76rem;
  font-weight:800;
  line-height:1.45;
}
.demo-form-status:not(:empty){
  display:block;
}

.demo-modal[hidden]{
  display:none;
}
.demo-modal{
  position:fixed;
  z-index:200;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
}
.demo-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,8,16,.76);
  backdrop-filter:blur(7px);
}
.demo-modal-card{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  padding:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 34px 100px rgba(0,0,0,.4);
}
.demo-modal-close{
  position:absolute;
  right:15px;
  top:13px;
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:#f0f3f6;
  color:#283241;
  font-size:1.45rem;
  line-height:1;
}
.demo-modal-badge{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#fff2a8;
  color:#5a4700;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.1em;
}
.demo-modal-card h2{
  margin:18px 0 10px;
  font-size:clamp(1.8rem,5vw,2.7rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.demo-modal-card p{
  margin:0;
  color:var(--muted);
}
.demo-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
.demo-modal-secondary{
  border:1px solid var(--line);
}
body.demo-modal-open{
  overflow:hidden;
}

@media(max-width:680px){
  .demo-modal-card{
    padding:28px 20px 22px;
  }
  .demo-modal-actions{
    display:grid;
  }
}
