:root{--ink:#17221e;--muted:#57635d;--accent:#2563eb;--paper:#fff;--soft:#f2f5f2;--line:#d7ded8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #2563eb;outline-offset:5px}img{max-width:100%;display:block}.wrap{max-width:1320px;margin:auto;padding-left:54px;padding-right:54px}.draft{height:30px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 54px;font-size:11px;letter-spacing:1.4px}.draft span{letter-spacing:.3px;color:#c1c9c4}.header{position:sticky;top:0;z-index:20;background:#ffffffef;backdrop-filter:blur(14px);border-bottom:1px solid #edf0ed;max-width:none;padding:25px max(54px,calc((100vw - 1212px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:162px;flex-shrink:0}.brand img{width:158px;height:auto}.brand span{display:block;font-size:10px;letter-spacing:.4px;white-space:nowrap;margin-top:5px}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.header nav>a:not(.button):hover{box-shadow:0 2px var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:#fff;border:0;border-radius:4px;padding:16px 23px;font-weight:700;font-size:15px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#1d4ed8;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button.small{padding:12px 18px;font-size:14px;gap:24px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:35px;padding-top:44px;padding-bottom:48px;min-height:680px}.hero-copy{padding-top:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;margin:0 0 22px}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.06;letter-spacing:-3.6px;margin:0 0 26px;font-weight:600}h1>span{position:relative;white-space:nowrap;background:linear-gradient(transparent 79%,var(--accent) 79%,var(--accent) 93%,transparent 93%)}.intro{color:var(--muted);line-height:1.7;margin-bottom:28px;font-size:17px}.hero-foot{display:flex;gap:12px;align-items:center;margin-top:35px;font-size:12px;color:var(--muted);line-height:1.5}.sun-icon{font-size:35px;color:#2563eb}.hero-photo{position:relative;overflow:hidden;border-radius:5px;min-height:540px}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:52% center}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#10211bbb)}.photo-caption{position:absolute;z-index:1;bottom:28px;left:30px;right:25px;color:#fff}.photo-caption span{font-size:10px;letter-spacing:1.9px;display:block;margin-bottom:6px}.photo-caption strong{font-size:21px;font-weight:500}.region-bar{background:var(--ink);color:#fff;font-size:13px;padding:20px 0}.region-bar>.wrap{display:flex;justify-content:space-between;gap:20px}.region-bar span+span{color:#c9d0c9}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:44px}h2{font-size:clamp(35px,3.5vw,49px);line-height:1.13;letter-spacing:-1.8px;font-weight:500;margin:0}.section-heading>p{max-width:340px;margin:0 0 3px;color:var(--muted);font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.services article{padding:32px 30px 0 0;display:flex;flex-direction:column;align-items:flex-start}.services article+article{border-left:1px solid var(--line);padding-left:30px}.service-number{font-size:11px;letter-spacing:1.5px;color:var(--muted);font-weight:bold}.services h3{font-size:29px;line-height:1.2;font-weight:500;letter-spacing:-.7px;margin:28px 0 18px}.services p{font-size:15px;color:var(--muted);margin:0 0 28px}.services a{margin-top:auto;display:flex;justify-content:space-between;width:100%;font-size:14px;font-weight:bold}.services a span{font-size:22px}.projects{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project{border:0;padding:0;background:none;text-align:left;color:inherit;cursor:pointer}.project>img{width:100%;height:310px;object-fit:cover;border-radius:4px;transition:filter .2s}.project:hover>img{filter:brightness(1.06)}.project>span{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);gap:10px}.project strong{font-size:17px;font-weight:500}.project>span>span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:22px}.project b{font-size:22px;font-weight:400}.about{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.portrait{position:relative}.portrait>img{width:100%;height:550px;object-fit:cover;object-position:50% 35%;border-radius:4px}.portrait>span{display:block;background:var(--accent);padding:18px 24px;position:absolute;bottom:-20px;left:22px;right:-25px;font-size:20px;font-weight:600}.portrait small{font-size:12px;display:block;font-weight:400;margin-top:2px}.about-copy h2{margin-bottom:30px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:465px}.text-link{display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid var(--ink);padding:9px 0;font-size:14px;font-weight:600}.text-link span{font-size:21px}.partners{background:var(--ink);color:white}.partners .eyebrow{color:var(--accent)}.partners .section-heading>p{color:#c1cdc4}.manufacturers{padding:36px 0 44px;border-top:1px solid #526058;border-bottom:1px solid #526058;margin-top:55px}.manufacturers>p{font-size:11px;letter-spacing:1.7px;color:#b5c2b9;margin:0 0 26px}.manufacturers>div{display:flex;justify-content:space-between;max-width:920px;align-items:center;font-size:42px;font-weight:bold;letter-spacing:3px}.manufacturers .tesla{font-weight:400;letter-spacing:9px;font-size:35px}.partner-list a{display:grid;grid-template-columns:220px 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid #526058;padding:26px 0}.partner-list a:hover{color:var(--accent)}.partner-list span{font-size:11px;letter-spacing:1.5px;color:#b5c2b9}.partner-list strong{font-size:21px;font-weight:400}.partner-list b{font-weight:400;font-size:24px}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.rating{font-size:70px;line-height:1.2;letter-spacing:-3px;display:flex;align-items:center;gap:25px}.rating>span{font-size:29px;color:#2563eb;letter-spacing:3px}.review-summary>p{margin:4px 0 14px;color:var(--muted)}.review-summary>small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:20px}.contact{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contact aside{align-self:start;position:sticky;top:130px}.contact aside h2{font-size:clamp(34px,3.4vw,46px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:20px}.contact aside>p:not(.eyebrow){color:var(--muted);margin-top:0}.contact-intro{font-size:16px;line-height:1.7;max-width:360px}.contact-person{display:flex;align-items:center;gap:16px;margin:28px 0 24px}.contact-person img{width:72px;height:72px;flex-shrink:0;object-fit:cover;object-position:50% 20%;border-radius:50%}.contact-person strong{display:block;font-size:19px}.contact-person span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.contact-links{display:grid;gap:0;border-top:1px solid var(--line)}.contact-links a{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.contact-links a>span{font-size:12px;color:var(--muted)}.contact-links strong{font-size:18px;font-weight:500;letter-spacing:-.3px;overflow-wrap:anywhere}.contact-links a:hover strong{color:#526f8b;text-decoration:underline;text-underline-offset:4px}.contact aside .address{font-size:13px;line-height:1.7;margin-top:22px}.contact aside .eyebrow{font-size:10px;letter-spacing:1.5px}
form{background:white;border-radius:6px;padding:38px}form h3{font-size:29px;font-weight:500;letter-spacing:-.8px;margin:0}.form-intro{color:var(--muted);font-size:14px;margin:3px 0 30px}fieldset{margin:0 0 28px;padding:0;border:0}legend{font-size:16px;font-weight:bold;margin-bottom:14px}legend span{font-weight:400;font-size:12px;color:var(--muted)}fieldset>p{font-size:12px;margin:-5px 0 18px;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}label{display:block;font-size:13px;font-weight:500}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;min-height:46px;padding:11px 12px;border:1px solid #c9d2cb;border-radius:3px;background:#fff;color:var(--ink);font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:#647c68;box-shadow:0 0 0 2px #e3e9df}textarea{resize:vertical}.message{margin-top:20px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;margin-bottom:25px;color:var(--muted)}.consent input{margin:3px 0 0;width:17px;height:17px;flex-shrink:0;accent-color:var(--ink)}.consent a{text-decoration:underline}form>.button{width:100%}.demo-note{font-size:12px;color:var(--muted);margin:12px 0 0}#form-status{padding:14px;background:var(--soft);font-size:14px;border-left:3px solid var(--accent)}footer{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:50px!important;padding-bottom:30px!important}footer img{width:140px}footer p{font-size:11px;color:var(--muted);margin-top:8px}.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;align-content:center;gap:12px 24px;font-size:12px}.footer-links a:hover{text-decoration:underline}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px;margin-top:15px}dialog{border:0;border-radius:5px;padding:20px;max-width:1000px;width:90vw;max-height:90vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101b18dc}dialog img{max-height:72vh;width:100%;object-fit:contain}dialog p{margin:12px 0 0}.close{position:absolute;right:25px;top:25px;border:0;border-radius:50%;background:white;color:var(--ink);width:42px;height:42px;font-size:28px;cursor:pointer;box-shadow:0 2px 12px #0002}
@media(min-width:1500px){.hero{min-height:710px}}@media(max-width:1050px){.wrap{padding-left:30px;padding-right:30px}.header{padding:22px 30px}.header nav{gap:18px}.header nav>a:not(.button){font-size:13px}.hero{gap:25px;min-height:620px}h1{font-size:58px}.hero-photo{min-height:490px}.about{gap:60px}.contact-grid{gap:35px;grid-template-columns:.7fr 1.3fr}form{padding:28px}.section{padding-top:75px;padding-bottom:75px}.project>img{height:260px}}@media(max-width:780px){html{scroll-padding-top:90px}.draft{padding:0 22px;font-size:9px;height:27px}.header{padding:18px 22px}.brand{width:139px}.brand img{width:136px}.brand span{font-size:9px}.menu-toggle{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:white;border-radius:3px;padding:7px 12px;font-size:13px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 22px;box-shadow:0 10px 15px #0001;align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:18px}.header nav>a:not(.button){font-size:16px}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px;gap:28px}.hero-copy{padding-top:0}h1{font-size:clamp(46px,9vw,68px);letter-spacing:-2.5px}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:18px}.intro{font-size:16px}.hero-foot{display:none}.hero-photo{height:370px;min-height:0}.region-bar>.wrap{flex-direction:column;gap:4px;font-size:11px}.region-bar{padding:18px 0}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:500px;font-size:15px}h2{font-size:37px;letter-spacing:-1.3px}.services{grid-template-columns:1fr}.services article,.services article+article{border-left:0;padding:25px 0;border-bottom:1px solid var(--line)}.services h3{font-size:27px;margin:15px 0}.services h3 br{display:none}.services p{margin-bottom:18px}.project-grid{gap:25px;grid-template-columns:1fr}.project>img{height:280px}.project strong{font-size:16px}.about{grid-template-columns:1fr;gap:60px}.portrait{max-width:440px}.portrait>img{height:470px}.portrait>span{right:-8px;left:20px}.about-copy h2{font-size:40px}.manufacturers{margin-top:30px;padding:25px 0}.manufacturers>div{font-size:25px;letter-spacing:1px}.manufacturers .tesla{font-size:21px;letter-spacing:4px}.manufacturers>p{font-size:9px}.partner-list a{grid-template-columns:1fr 24px;gap:4px;padding:22px 0}.partner-list span{grid-column:1;font-size:10px}.partner-list strong{grid-column:1;font-size:18px}.partner-list b{grid-column:2;grid-row:1/3}.reviews{grid-template-columns:1fr;gap:30px}.rating{font-size:62px}.rating>span{font-size:26px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact aside{position:static}.contact aside h2{font-size:36px}.contact aside .eyebrow{font-size:9px}.contact-person{margin:25px 0 15px}form{padding:26px 20px}.fields{gap:16px;grid-template-columns:1fr}label{font-size:14px}input:not([type=checkbox]),select,textarea{font-size:16px}.consent{font-size:12px}footer{grid-template-columns:1fr;gap:20px}.footer-links{justify-content:flex-start}.copyright{margin-top:5px}.photo-caption{left:23px;bottom:22px}.photo-caption strong{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Blue accents with accessible contrast. */
h1>span{background:linear-gradient(transparent 79%,#bfdbfe 79%,#bfdbfe 93%,transparent 93%)}.portrait>span{color:#fff}.partners .eyebrow,.partner-list a:hover{color:#93c5fd}

/* Restrained blue for buttons. */
.button{background:#526f8b;color:#fff}.button:hover{background:#435e78}

.manufacturers .manufacturer-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:none}.manufacturer-logo{height:146px;background:#fff;border-radius:4px;display:flex;justify-content:center;align-items:center;padding:28px}.manufacturer-logo img{width:100%;max-width:240px;max-height:85px;object-fit:contain}.huawei-logo{display:block;width:110px;height:105px;background-image:url('assets/manufacturer-huawei-source.png');background-repeat:no-repeat;background-size:1120px 786px;background-position:-62px -65px;}
@media(max-width:780px){.manufacturers .manufacturer-logos{gap:12px;grid-template-columns:1fr}.manufacturer-logo{height:130px;padding:24px}}
/* Original Google reviews from the WordPress export. */
.review-carousel{grid-column:1/-1;min-width:0;margin-top:0}.review-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.review-controls>span{font-size:15px;color:var(--muted)}.review-controls>div{display:flex;gap:10px}.review-controls button{border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);width:44px;height:44px;font-size:23px;cursor:pointer}.review-controls button:hover{background:#edf2f7;border-color:#526f8b}.review-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bdcbd7 transparent;padding-bottom:14px;align-items:flex-start}.review-card{flex:0 0 calc((100% - 24px)/2);min-width:0;scroll-snap-align:start;background:var(--soft);padding:30px;border-radius:5px}.review-author{display:flex;align-items:center;gap:13px}.review-avatar{display:flex;align-items:center;justify-content:center;background:#526f8b;color:white;border-radius:50%;width:46px;height:46px;flex-shrink:0;font-size:17px}.review-author h3{margin:0;font-size:17px;font-weight:600;line-height:1.3}.review-author time{font-size:13px;color:var(--muted)}.review-source{margin-left:auto;font-size:13px;color:var(--muted)}.review-stars{color:#526f8b;letter-spacing:3px;font-size:23px;margin:20px 0 12px}.review-text{font-size:16px;line-height:1.7;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0}.review-text.expanded{display:block}.review-more{border:0;border-bottom:1px solid #8191a0;background:none;color:#435e78;padding:0;margin-top:18px;font-size:14px;cursor:pointer}.review-position{font-size:12px;color:var(--muted);margin:10px 0 0}@media(max-width:780px){.review-card{flex-basis:100%;padding:22px}.review-author h3{font-size:16px}.review-source{font-size:12px}.review-carousel{margin-top:4px}.review-controls>span{font-size:14px}}@media(prefers-reduced-motion:reduce){.review-track{scroll-behavior:auto}}
/* Legal pages share the site's navigation and restrained typography. */
.legal-page{padding-top:42px;padding-bottom:90px}.legal-back{font-size:14px;color:#435e78;display:inline-block;margin-bottom:38px}.legal-heading{border-bottom:1px solid var(--line);padding-bottom:35px;margin-bottom:44px}.legal-heading h1{font-size:clamp(34px,4vw,56px);line-height:1.15;letter-spacing:-1.8px;overflow-wrap:anywhere;margin:0}.legal-heading .eyebrow{color:var(--muted);margin-bottom:14px}.legal-grid{display:grid;grid-template-columns:225px minmax(0,1fr);gap:65px;align-items:start}.legal-nav{position:sticky;top:125px;display:flex;flex-direction:column;gap:5px}.legal-nav a{font-size:14px;padding:11px 14px;border-radius:3px;color:var(--muted)}.legal-nav a:hover,.legal-nav a[aria-current=page]{background:#edf2f7;color:#334e68}.legal-nav a[aria-current=page]{font-weight:bold;border-left:3px solid #526f8b}.legal-content{max-width:800px;min-width:0;font-size:16px;line-height:1.85;overflow-wrap:anywhere}.legal-content> :first-child{margin-top:0}.legal-content p{margin:0 0 21px}.legal-content h2{font-size:27px;line-height:1.3;letter-spacing:-.5px;margin:40px 0 20px}.legal-content h3{font-size:21px;line-height:1.4;margin:30px 0 15px}.legal-content h4,.legal-content h5,.legal-content h6{font-size:17px;margin:25px 0 14px}.legal-content a{color:#435e78;text-decoration:underline;text-underline-offset:3px}.legal-content ul,.legal-content ol{padding-left:25px;margin:18px 0 25px}.legal-content li{margin-bottom:8px}.legal-content table{border-collapse:collapse;width:100%}.legal-content td,.legal-content th{padding:10px;border:1px solid var(--line)}@media(max-width:780px){.legal-page{padding-top:26px;padding-bottom:60px}.legal-back{margin-bottom:26px}.legal-heading{padding-bottom:24px;margin-bottom:25px}.legal-grid{grid-template-columns:1fr;gap:30px}.legal-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:6px}.legal-nav a{font-size:13px;padding:10px}.legal-content h2{font-size:25px}.legal-content{font-size:16px}}

.portrait>span{background:#526f8b;color:#fff}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.65;cursor:wait;transform:none}.review-controls button:disabled{opacity:.4;cursor:default}
