/* Gray, graphite and black with Technoenergostroy red and SolaX orange. */
:root{color-scheme:light;--ink:#202528;--orange:#ff8a42;--red:#b91b27;--red-on-dark:#ff776f;--paper:#e3e6e8;--muted:#5f676f;--line:#bfc5ca;--background:#dfe2e5;--graphite:#2a2e33;--black:#111315}
body{background:var(--background);color:var(--ink)}
header{background:#000;border-bottom-color:#282c30}
.topbar{background:var(--black);color:#cbd1d7}
.header .brand{width:276px;padding:12px 0;background:transparent;border-radius:0}
.footer-grid .brand{padding:0;background:transparent;border-radius:0}
nav a{color:#e1e5e8}
nav a:hover,nav a[aria-current=page]{color:var(--red-on-dark)}
.eyebrow,.number,.product .category{color:var(--red)}
.hero h1 span{color:var(--red)!important}
.btn{background:var(--orange);border-color:var(--orange);color:#191c20}
.btn:hover{background:#ffa064;border-color:#ffa064;color:#191c20}
.btn.secondary{background:transparent;border-color:#79828b;color:var(--ink)}
.btn.secondary:hover{background:#dce0e3;border-color:#555f69}
.btn.light{background:var(--orange);border-color:var(--orange);color:#191c20}
.menu{background:#363c43;border-color:#66717d;color:#f2f4f5}
.hero .lead{color:var(--muted)}
.hero-photo{background:var(--black);border:1px solid #565e66}
.hero-photo>img{object-position:60% 50%}
.photo-caption{background:rgba(17,19,21,.92);color:#d9dfe4;border:1px solid #59626d;backdrop-filter:blur(10px)}
.photo-caption strong{color:#fff}
.solax-logo{width:148px;padding:8px 10px;background:#fff;border-radius:3px}
.partner-badge{color:var(--muted)}
.proof{border-color:var(--line)}
.proof strong{color:var(--ink)}
.proof span{color:var(--muted)}
.solution{background:var(--graphite);border-color:#4c555f;color:#f2f4f5}
.solution:hover{background:#343a42;border-color:var(--red-on-dark)}
.solution p{color:#c1c8ce}
.solution .number{color:var(--red-on-dark)}
.textlink{border-bottom-color:var(--red)}
.solution .textlink,.product .textlink{border-bottom-color:var(--red-on-dark)}
.dark{background:var(--black);color:#f2f4f5}
.dark p{color:#bec6ce}
.dark .eyebrow,.partner-panel .eyebrow{color:var(--red-on-dark)}
.benefits{border-color:#4c555e}
.catalog{background:#cfd4d8}
.filter{background:#e8ebed;border-color:#9da7b0;color:var(--ink)}
.filter:hover{border-color:var(--red)}
.filter.active{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}
.product{background:#30353b;border-color:#525d67;color:#f2f4f5}
.product p{color:#c1c8ce}
.product .category{color:var(--red-on-dark)}
.project{border-color:#aeb7bf}
.project .meta{color:var(--muted)}
.partner-panel{background:var(--graphite);border:1px solid #555e67;color:#f2f4f5}
.partner-panel p{color:#c1c8ce}
.partner-list li{border-color:#59636d}
.partner-list li::before{color:var(--red-on-dark)}
.cta{background:var(--black);border-top:3px solid var(--red);border-bottom:1px solid #3f464e;color:#f3f4f5}
.cta p{color:#c2c9d0}
footer{background:#000}
.footer-bottom{border-color:#3e474f;color:#bbc4cc}
.footer-grid p{color:#b8c2ca}
.form{background:#dce1e5;border:1px solid #a3adb6}
.form input,.form select,.form textarea{background:#f2f4f5;border-color:#7c8994;color:var(--ink)}
.form input::placeholder,.form textarea::placeholder{color:#65717c}
.status{background:#e9ecef;color:var(--ink);border-color:var(--red)}
.skip{background:#f5f5f5;color:#1b2025}
.contact-info hr{border-top-color:#aab4bd!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--red)}
header a:focus-visible,header button:focus-visible,.solution a:focus-visible,.product a:focus-visible,.dark a:focus-visible,.partner-panel a:focus-visible,.cta a:focus-visible,footer a:focus-visible{outline-color:var(--red-on-dark)}
@media(max-width:1100px){.header .brand{width:240px;padding:11px 0}}
@media(max-width:980px) and (min-width:851px){.header .brand{width:218px;padding:11px 0}}
@media(max-width:850px){.header .brand{width:268px}.hero-photo{aspect-ratio:1.65}}
@media(max-width:540px){.header .brand{width:222px;padding:11px 0}.solax-logo{width:136px}.hero-photo{aspect-ratio:1.2}.photo-caption{font-size:12px}}


/* Edge-to-edge photographic hero. The light/graphite theme continues below it. */
.hero-cover{position:relative;isolation:isolate;display:flex;align-items:center;min-height:calc(100svh - 132px);padding:48px 0 44px;background:#111315;color:#fff;overflow:hidden;gap:0}
.hero-cover .hero-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% 10%}
.hero-cover::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,12,.91),rgba(7,9,12,.76) 40%,rgba(7,9,12,.28) 78%,rgba(7,9,12,.12)),linear-gradient(0deg,rgba(7,9,12,.42),transparent 48%)}
.hero-cover .hero-content{width:100%;position:relative}
.hero-cover .eyebrow{color:#ff9b82;margin-bottom:18px}
.hero-cover h1{max-width:960px;font-size:clamp(42px,4.65vw,68px);line-height:1.1;letter-spacing:-2px;font-weight:700;margin-bottom:22px}
.hero-cover h1 .hero-word{color:#fff!important}
.hero-cover h1 .hero-accent{display:block;color:#ff8a42!important}
.hero-cover .lead{max-width:670px;font-size:18px;line-height:1.6;color:#e9edf0;margin-bottom:26px}
.hero-cover .btn.secondary{color:#fff;border-color:#aeb5bc;background:rgba(17,19,21,.28)}
.hero-cover .btn.secondary:hover{background:rgba(55,61,68,.8);border-color:#fff}
.hero-cover .partner-badge{color:#d5dce2;margin-top:28px;gap:20px}
.hero-cover .partner-badge strong{display:block;color:#fff;font-size:15px;line-height:1.5;margin-bottom:4px}
.hero-cover .partner-badge span{font-size:1rem}
.hero-cover a:focus-visible{outline-color:#ff9b82}
.proof{margin-top:0}
@media(min-width:1500px){.hero-cover{padding:70px 0}.hero-cover .hero-background{object-position:center 12%}}
@media(max-width:850px){.hero-cover{min-height:calc(100svh - 134px);padding:50px 0}.hero-cover h1{font-size:52px;max-width:700px}.hero-cover .hero-background{object-position:65% 12%}.hero-cover::before{background:linear-gradient(90deg,rgba(7,9,12,.87),rgba(7,9,12,.7) 65%,rgba(7,9,12,.43))}}
@media(max-width:540px){.hero-cover{padding:40px 0;min-height:calc(100svh - 134px)}.hero-cover h1{font-size:clamp(30px,9.4vw,40px);line-height:1.13;letter-spacing:-1px;margin-bottom:20px}.hero-cover h1 .hero-word{display:block}.hero-cover .eyebrow{font-size:11px;letter-spacing:1.4px;max-width:300px;margin-bottom:18px}.hero-cover .lead{font-size:16px;line-height:1.6;margin-bottom:22px}.hero-cover .actions{gap:12px}.hero-cover .partner-badge{gap:14px;margin-top:25px;align-items:center}.hero-cover .solax-logo{width:116px;padding:7px 8px}.hero-cover .partner-badge strong{font-size:13px}.hero-cover .partner-badge span{font-size:.875rem;display:block;line-height:1.5}}



/* Concrete SolaX model cards and specification pages. */
.product-model{padding:24px}
.product-image,.product-visual{background:#20262d;color:#f2f4f5}
.product-image .image-placeholder,.product-visual .image-placeholder{color:#c1c8ce}
.product-image{display:flex;align-items:center;justify-content:center;border-radius:3px;margin-bottom:24px;height:230px;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:contain;padding:22px}
.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 24px;padding-top:16px;border-top:1px solid #56616c}
.product-facts dt{font-size:12px;color:#c1c8ce}
.product-facts dd{font-size:14px;font-weight:700;margin:4px 0 0;color:#fff}
.product-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.product-visual{padding:40px;border:1px solid #525d67;border-radius:4px}
.product-visual img{display:block;width:100%;height:470px;object-fit:contain}
.product-info h2{font-size:32px}
.product-info ul{padding-left:22px;margin:24px 0;color:#3c454d}
.specifications{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.specifications>div{padding:14px 0;border-bottom:1px solid #b1bcc5}
.specifications dt{font-size:13px;color:#56626d}
.specifications dd{font-size:16px;font-weight:700;margin:5px 0 0;color:#202528}
.product-info .actions{margin-top:25px}
@media(max-width:850px){.product-detail{grid-template-columns:1fr;gap:35px}.product-visual img{height:350px}}
@media(max-width:540px){.product-image{height:250px}.product-visual{padding:25px}.product-visual img{height:300px}.product-info h2{font-size:28px}.specifications{grid-template-columns:1fr}.product-facts{gap:12px}}


.home-products{grid-template-columns:repeat(4,1fr)}.home-products .product-model{padding:20px}.home-products .product-image{height:200px}@media(max-width:1100px){.home-products{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.home-products{grid-template-columns:1fr}}

/* Company locations and shared opening hours. */
.contact-info .contact-map-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;padding:10px 14px;margin:14px 0 0}
.portfolio-intro{max-width:960px;padding-bottom:0}.portfolio-intro>p:not(.eyebrow){max-width:670px;font-size:17px}.portfolio-jump{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;padding:15px 0 0;margin:0}.portfolio-jump a{display:inline-flex;align-items:center;gap:15px;color:var(--ink);border:1px solid #a5afb7;border-radius:3px;padding:12px 18px;background:#e9ecee;font-size:14px}.portfolio-jump a:hover{color:var(--red);border-color:var(--red);background:#f0f2f3}.portfolio-jump span,.portfolio-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:#2a2e33;color:#fff;font-size:12px;font-weight:700;letter-spacing:0}.portfolio-count{margin-left:15px;vertical-align:middle}.portfolio-section{scroll-margin-top:24px;padding:60px 0}.portfolio-progress{padding-bottom:0}.portfolio-section h2{font-size:clamp(27px,3vw,40px)}.portfolio-section-note{font-size:14px;margin:0;max-width:360px}.portfolio-grid{gap:35px 24px}.portfolio-card{display:flex;flex-direction:column;min-width:0;border:1px solid #bcc4ca;background:#e9ecee;border-radius:4px;overflow:hidden;padding:0;transition:border-color .2s,box-shadow .2s}.portfolio-card:hover{border-color:#b91b27;box-shadow:0 8px 24px #20252812}.portfolio-image{display:block;overflow:hidden;background:#c5cdd3}.portfolio-card .portfolio-image img{display:block;width:100%;height:240px;object-fit:cover;margin:0;transition:transform .35s}.portfolio-card:hover .portfolio-image img{transform:scale(1.025)}.portfolio-copy{padding:25px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.project-badge{display:inline-flex;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:7px 10px;border-radius:2px;background:#30353b;color:#fff}.project-badge.in-progress{background:#b91b27;color:#fff}.portfolio-location{font-size:12px;color:#626c75;margin:18px 0 6px}.portfolio-card h3{font-size:22px;margin:0 0 10px;line-height:1.3;letter-spacing:-.6px}.portfolio-card h3 a:hover{color:var(--red)}.portfolio-power{font-size:24px;font-weight:600;color:#262d33;letter-spacing:-.8px;margin:0 0 25px}.portfolio-card .textlink{margin-top:auto;white-space:normal}.portfolio-featured{display:grid;grid-template-columns:1.05fr 1fr}.portfolio-featured .portfolio-image{background:#f3f4f4}.portfolio-featured .portfolio-image img{height:330px;object-fit:contain;padding:20px}.portfolio-featured .portfolio-copy{padding:35px 45px}.portfolio-featured h3{font-size:27px}.project-breadcrumb{display:flex;gap:20px;justify-content:space-between;padding-top:35px;font-size:13px;color:#69737d}.project-breadcrumb a{font-weight:700;color:var(--ink)}.project-breadcrumb a:hover{color:var(--red)}.project-intro{max-width:1000px;padding-top:35px;padding-bottom:5px}.project-intro .project-badge{margin-bottom:22px}.project-intro h1{max-width:960px}.project-heading-power{font-size:34px;font-weight:600;letter-spacing:-1px;color:var(--red);margin:0}.project-overview{padding:40px 0 65px}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:55px;align-items:start}.project-cover{display:block;position:relative;background:#f1f2f3;border:1px solid #bbc4cb;border-radius:4px;overflow:hidden}.project-cover img{display:block;width:100%;height:auto;max-height:610px;object-fit:contain}.project-photo-hint{display:inline-block;position:absolute;bottom:16px;left:16px;background:#111315e8;color:#fff;padding:9px 14px;border-radius:2px;font-size:12px}.project-facts dl{margin:0 0 28px}.project-facts dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:13px 0;border-bottom:1px solid #b7c0c7;font-size:14px}.project-facts dt{color:#616b74}.project-facts dd{margin:0;font-weight:650;line-height:1.6}.project-facts .eyebrow{margin-bottom:10px}.project-story{background:#e9ecee;border-top:1px solid #c2c9cf;border-bottom:1px solid #c2c9cf;padding:65px 0}.project-story-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}.project-story-grid p{color:#4b555f;line-height:1.85}.project-story-grid p:last-child{margin-bottom:0}.project-gallery-section{padding-bottom:40px}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-gallery>a{display:block;position:relative;overflow:hidden;border-radius:3px;background:#f0f2f3;border:1px solid #b5c0c8}.project-gallery img{display:block;width:100%;height:260px;object-fit:contain}.project-gallery a>span{position:absolute;right:12px;bottom:12px;background:#181d22df;color:#fff;padding:5px 9px;font-size:12px;border-radius:2px}.project-gallery a:hover{border-color:var(--red)}.project-videos{padding-top:35px}.project-source{font-size:13px}.photo-dialog{width:min(1240px,95vw);max-width:95vw;max-height:95dvh;padding:20px;border:1px solid #414a52;border-radius:5px;background:#111315;color:#fff}.photo-dialog::backdrop{background:#080a0ddf;backdrop-filter:blur(5px)}.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.photo-dialog-head p{color:#dbe1e5;margin:0;font-size:14px}.photo-dialog button{background:#2a3036;color:#fff;border:1px solid #687681;border-radius:3px;padding:10px 15px;cursor:pointer}.photo-dialog button:hover{background:#424c55}.photo-dialog img{display:block;max-width:100%;width:auto;height:auto;max-height:72dvh;object-fit:contain;margin:auto}.photo-dialog-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px}.photo-dialog-controls span{font-size:13px;color:#cbd3da}
@media(max-width:850px){.portfolio-featured{grid-template-columns:1fr 1fr}.portfolio-featured .portfolio-copy{padding:28px}.portfolio-featured .portfolio-image img{height:100%;min-height:300px}.project-overview-grid{grid-template-columns:1fr;gap:35px}.project-facts{max-width:650px}.project-story-grid{grid-template-columns:1fr;gap:15px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery img{height:240px}}
@media(max-width:540px){.portfolio-jump{gap:8px}.portfolio-jump a{padding:11px 13px;gap:10px;font-size:12px}.portfolio-section{padding:45px 0}.portfolio-progress{padding-bottom:0}.portfolio-featured{grid-template-columns:1fr}.portfolio-featured .portfolio-image img{height:240px;min-height:0}.portfolio-featured .portfolio-copy{padding:25px}.portfolio-featured h3{font-size:23px}.portfolio-count{margin-left:10px;min-width:25px;height:25px}.portfolio-copy{padding:23px}.project-breadcrumb{padding-top:25px}.project-breadcrumb>span{display:none}.project-intro{padding-top:25px}.project-heading-power{font-size:28px}.project-overview{padding:30px 0 45px}.project-facts dl>div{grid-template-columns:1fr 1.3fr;gap:12px;font-size:13px}.project-gallery{gap:10px}.project-gallery img{height:150px}.project-gallery a>span{right:6px;bottom:6px;padding:3px 6px;font-size:10px}.project-story{padding:45px 0}.photo-dialog{padding:12px}.photo-dialog-head{gap:10px}.photo-dialog-head p{font-size:12px}.photo-dialog button{padding:9px 11px}.photo-dialog-controls{gap:12px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card img{transition:none}}
.location-block{border-top:1px solid #b5bec5;padding-top:20px;margin-top:24px}.location-block h3,.hours-block h3{font-size:18px;margin-bottom:8px}.location-block address{font-style:normal;line-height:1.7}.hours-block{margin-top:24px}.hours-block p{margin-bottom:0}.footer-location{margin-top:20px}.footer-location strong,.footer-hours strong{display:block;margin-bottom:5px}.footer-location address{font-style:normal;line-height:1.7;color:#b8c2ca}.footer-hours{margin-top:20px}.footer-hours p{margin:0}

/* Larger original vector artwork and photographic solution cards. */
.header .brand{width:340px;padding:14px 0;background:transparent;border-radius:0;flex-shrink:0}.footer-grid .brand{width:420px;max-width:100%;padding:0;background:transparent;border-radius:0}.brand img{height:auto;image-rendering:auto}
.solution-with-photo{padding:0 0 30px;overflow:hidden}.solution-photo{display:block;width:100%;margin:0 0 28px;overflow:hidden}.solution-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.solution-with-photo>.number,.solution-with-photo>h3,.solution-with-photo>p,.solution-with-photo>.textlink{margin-left:30px;margin-right:30px}.solution-with-photo>.number{margin-bottom:24px}.solution-with-photo>p{margin-bottom:24px}.solution-with-photo>.textlink{margin-top:auto}
@media(max-width:1100px){.header .brand{width:292px;padding:12px 0}}@media(max-width:980px) and (min-width:851px){.header .brand{width:252px;padding:12px 0}}@media(max-width:850px){.header .brand{width:292px}.footer-grid .brand{width:380px}}@media(max-width:540px){.header .brand{width:min(270px,calc(100% - 84px));padding:12px 0}.footer-grid .brand{width:100%;max-width:380px}.solution-with-photo>.number,.solution-with-photo>h3,.solution-with-photo>p,.solution-with-photo>.textlink{margin-left:24px;margin-right:24px}}

/* Partner brands and company social links. */
.brand-partners{background:#e9ecee;border-top:1px solid #bbc4cb;padding:55px 0 65px}.brand-partners h2{font-size:30px;margin-bottom:28px}.partner-brands-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.partner-brand{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid #c7cdd2;border-radius:4px;min-height:116px;padding:20px;transition:border-color .2s}.partner-brand img{display:block;width:100%;max-width:190px;height:65px;object-fit:contain}.partner-brand:hover{border-color:#b91b27}.footer-bottom{flex-wrap:wrap;align-items:center}.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.social-link{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #566069;border-radius:4px;font-size:13px;color:#f2f4f5}.social-link svg{width:19px;height:19px;flex-shrink:0}.social-link:hover{background:#2a2e33;border-color:#ff776f;color:#fff}@media(max-width:1100px){.partner-brands-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.partner-brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-brand{min-height:98px;padding:16px}.partner-brand img{height:54px}.brand-partners{padding:40px 0 45px}.footer-bottom{align-items:flex-start}.social-links{width:100%}}@media(prefers-reduced-motion:reduce){.partner-brand{transition:none}}
.project-summary-visual{min-height:240px;padding:24px;background:#30353b;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:20px}.project-summary-visual>p{margin:0;color:#ff7680;font-size:14px;font-weight:700;letter-spacing:.5px}.project-summary-visual dl{display:grid;gap:16px;margin:0}.project-summary-visual dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.project-summary-visual dt{font-size:14px;line-height:1.5;color:#dbe1e5}.project-summary-visual dd{margin:0;font-size:22px;font-weight:650;white-space:nowrap}.project-cover>.project-summary-visual{min-height:360px;padding:36px}
.partner-card-media{width:100%;aspect-ratio:16/5;margin-bottom:24px;overflow:hidden;border:1px solid #61717e;border-radius:3px;background:#8196b2}.partner-card-media img{display:block;width:100%;height:100%;object-fit:cover}.partner-card .number{margin-bottom:18px}.partner-card h3{margin-bottom:16px}
.partner-card-equipment img{transform:scale(1.6);transform-origin:50% 80%}

/* Three solution detail pages: photography, readable service blocks and consultation. */
.solution-intro{padding:52px 0 48px}
.solution-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:60px;align-items:center}
.solution-intro-copy{max-width:560px}
.solution-intro-copy .eyebrow{font-size:14px;letter-spacing:1.5px;margin-bottom:18px}
.solution-intro-copy h1{font-size:clamp(38px,4.4vw,56px);line-height:1.12;letter-spacing:-1.8px;margin-bottom:22px}
.solution-intro-copy>p:last-child{font-size:18px;line-height:1.75;color:#4b555e;margin:0;max-width:48ch}
.solution-intro-image{overflow:hidden;border-radius:4px;border:1px solid #aeb8c1;background:#c5cdd3}
.solution-intro-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.solution-services{padding:0 0 48px}
.solution-services h2{font-size:32px;line-height:1.25;letter-spacing:-.8px;margin-bottom:26px}
.solution-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.solution-service{padding:26px 28px 30px;border:1px solid #b8c1c8;border-top:3px solid var(--red);border-radius:3px;background:#eef0f2}
.solution-service-number{display:block;color:var(--red);font-size:16px;font-weight:750;margin-bottom:18px}
.solution-service h3{font-size:22px;line-height:1.35;letter-spacing:-.4px;margin-bottom:14px}
.solution-service p{font-size:16px;line-height:1.75;color:#4b555e;margin:0}
.solution-consult-section{padding:0 0 70px}
.solution-consult{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding:40px 44px;border-top:3px solid var(--red);border-radius:4px;background:var(--graphite);color:#f2f4f5}
.solution-consult h2{font-size:32px;line-height:1.25;letter-spacing:-.8px;margin-bottom:18px}
.solution-consult-copy>p{font-size:16px;line-height:1.75;color:#c9d0d6;margin-bottom:24px;max-width:47ch}
.solution-consult a:focus-visible{outline-color:var(--red-on-dark)}
.solution-preparation{margin:0;display:grid;gap:18px;align-content:start}
.solution-preparation>div{border-bottom:1px solid #58636d;padding-bottom:18px}
.solution-preparation>div:last-child{border-bottom:0;padding-bottom:0}
.solution-preparation dt{font-size:16px;font-weight:700;margin-bottom:5px;color:#fff}
.solution-preparation dd{font-size:16px;line-height:1.65;color:#c9d0d6;margin:0}
@media(max-width:1000px){.solution-intro-grid{gap:36px}.solution-service{padding:24px}.solution-consult{gap:40px;padding:34px}}
@media(max-width:850px){.solution-intro-grid{grid-template-columns:1fr;gap:28px}.solution-intro-copy{max-width:650px}.solution-intro-copy>p:last-child{max-width:60ch}.solution-intro-image img{aspect-ratio:16/9}.solution-services-grid{grid-template-columns:1fr;gap:16px}.solution-service{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:18px}.solution-service-number{grid-row:1/3;margin:0}.solution-service h3{margin-bottom:10px}.solution-service p{grid-column:2}.solution-consult{grid-template-columns:1fr;gap:30px}.solution-consult-copy>p{max-width:60ch}}
@media(max-width:540px){.solution-intro{padding:34px 0}.solution-intro-copy .eyebrow{letter-spacing:1px;margin-bottom:14px}.solution-intro-copy h1{font-size:38px;margin-bottom:18px}.solution-intro-copy>p:last-child{font-size:16px}.solution-services{padding-bottom:32px}.solution-services h2,.solution-consult h2{font-size:28px}.solution-service{padding:22px 20px;grid-template-columns:28px minmax(0,1fr);column-gap:14px}.solution-service h3{font-size:20px}.solution-consult-section{padding-bottom:44px}.solution-consult{padding:28px 22px}.solution-consult .btn{width:100%;white-space:normal}}

/* Existing team hierarchy, with original circular portraits and three new members last. */
.team-section{padding:60px 0 70px;background:#e9ecee;border-top:1px solid #bfc7ce}
.team-section h2{text-align:center;margin-bottom:48px}
.team-rows{display:grid;gap:46px}
.team-row{display:grid;gap:28px;margin-inline:auto;width:100%}
.team-row-1{grid-template-columns:minmax(0,1fr);max-width:340px}
.team-row-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px}
.team-row-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1050px}
.team-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.team-member{min-width:0;text-align:center}
.team-portrait{display:block;width:200px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto 22px;background:#fff}
.team-member h3{font-size:21px;line-height:1.4;letter-spacing:-.4px;margin-bottom:8px}
.team-member p{font-size:16px;line-height:1.6;color:#59646d;margin:0}
@media(max-width:850px){.team-row-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;max-width:700px}.team-row-3{gap:24px}.team-member h3{font-size:20px}.team-portrait{width:180px}}
@media(max-width:540px){.team-section{padding:44px 0 50px}.team-section h2{margin-bottom:34px}.team-rows{gap:32px}.team-row-2,.team-row-3,.team-row-4{grid-template-columns:minmax(0,1fr);max-width:340px;gap:32px}.team-portrait{width:190px;margin-bottom:18px}.team-member h3{font-size:21px}}

/* Company introduction without a decorative photograph. */
.about-intro{padding:62px 0 54px}
.about-intro-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:60px;align-items:center}
.about-intro-copy .eyebrow{font-size:14px;letter-spacing:1.5px;margin-bottom:18px}
.about-intro-copy h1{font-size:clamp(38px,4.3vw,56px);line-height:1.15;letter-spacing:-1.8px;margin-bottom:24px}
.about-lead{font-size:19px;line-height:1.75;color:#45515b;max-width:60ch;margin-bottom:26px}
.about-partnership{border-left:3px solid var(--red);padding-left:16px;font-size:16px;font-weight:700;color:var(--ink);margin:0}
.about-history{background:var(--graphite);color:#f2f4f5;border-top:3px solid var(--red);border-radius:4px;padding:30px 32px}
.about-history h2{font-size:16px;line-height:1.5;font-weight:650;letter-spacing:0;margin-bottom:12px}
.about-history-year{font-size:52px;line-height:1.1;font-weight:650;letter-spacing:-1.5px;color:var(--orange);margin-bottom:20px}
.about-history>p:last-child{font-size:16px;line-height:1.75;color:#c9d0d6;margin:0}
.about-work{padding:0 0 58px}
.about-work-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2.3fr);gap:54px}
.about-work h2{font-size:32px;line-height:1.3;letter-spacing:-.8px;margin:0;padding-top:24px}
.about-services{border-top:1px solid #adb8c0;margin-bottom:24px}
.about-service{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:32px;padding:24px 0;border-bottom:1px solid #adb8c0}
.about-service h3{font-size:21px;line-height:1.4;letter-spacing:-.4px;margin:0}
.about-service p{font-size:16px;line-height:1.75;color:#4b555e;margin:0}
@media(max-width:1100px){.about-intro-grid{gap:36px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.about-history{padding:28px}.about-work-grid{gap:32px}.about-service{gap:24px}}
@media(max-width:850px){.about-intro{padding:42px 0}.about-intro-grid{grid-template-columns:1fr;gap:30px;align-items:start}.about-history{max-width:650px}.about-work-grid{grid-template-columns:1fr;gap:24px}.about-work h2{padding-top:0}.about-work{padding-bottom:44px}}
@media(max-width:540px){.about-intro{padding:34px 0}.about-intro-copy h1{font-size:clamp(28px,7.6vw,40px);letter-spacing:-.8px;margin-bottom:20px}.about-lead{font-size:17px;margin-bottom:22px}.about-history{padding:24px}.about-history-year{font-size:46px;margin-bottom:16px}.about-work h2{font-size:28px}.about-service{grid-template-columns:1fr;gap:10px;padding:22px 0}.about-service h3{font-size:20px}.about-work{padding-bottom:34px}}

/* Project locations: self-contained country map with clustered project markers. */
.project-map-section{padding:42px 0 10px;scroll-margin-top:24px}
.project-map-canvas{background:transparent}
.projects-map{height:560px;z-index:0;background:transparent;font:16px/1.5 Manrope,Arial,sans-serif}
.project-map-fallback{height:560px;text-align:center}
.project-map-fallback>svg{display:block;width:100%;height:100%}
.project-map-country{filter:drop-shadow(0 8px 10px #1824311c);stroke-linejoin:round}
.project-map-city{font:18px Arial,sans-serif;fill:#48535e}
.project-map-city-label{font-size:14px;color:#48535e;text-align:left;line-height:24px;white-space:nowrap;pointer-events:none;font-weight:700;text-shadow:0 1px 3px #fff}
.project-map-city-west{text-align:right}
.project-map-city-south{text-align:center}
.project-map-marker{background:transparent;border:0}
.project-map-marker>span{display:flex;width:38px;height:34px;overflow:hidden;align-items:center;justify-content:center;border:1.5px solid var(--red);border-radius:5px;background:#fff;box-shadow:0 3px 8px #17212b45;transition:transform .18s ease}
.project-map-marker>span>img,.project-map-cluster>span>img{display:block;flex:none;width:56px;height:56px;max-width:none;object-fit:contain;pointer-events:none;user-select:none}
.project-map-marker:after{content:"";position:absolute;left:14px;top:32px;width:10px;height:8px;background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}
.project-map-marker:hover>span,.project-map-marker:focus-visible>span{transform:translateY(-2px)}
.project-map-marker:focus-visible{outline:3px solid #17212b;outline-offset:3px;border-radius:6px}
.project-map-region>span{width:58px;height:52px;border:2px solid #c76a20;border-radius:8px}
.project-map-region>span>img{width:86px;height:86px}
.project-map-region:after{left:23px;top:50px;width:12px;height:10px;background:#c76a20}
.project-map-cluster{background:transparent;border:0}
.project-map-cluster>span{display:flex;align-items:center;justify-content:center;width:58px;height:52px;overflow:hidden;background:#fff;border:2px solid var(--red);border-radius:8px;box-shadow:0 0 0 3px #fff,0 0 0 5px #b91b2733,0 5px 12px #17212b45;transition:transform .18s ease}
.project-map-cluster>span>img{width:86px;height:86px}
.project-map-cluster-label{position:absolute;top:57px;left:50%;transform:translateX(-50%);padding:2px 5px;background:#ffffffd9;color:#394550;border-radius:3px;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;pointer-events:none}
.project-map-cluster:hover>span,.project-map-cluster:focus-visible>span{transform:scale(1.08)}
.project-map-cluster:focus-visible{outline:3px solid #17212b;outline-offset:6px;border-radius:50%}
.projects-map .leaflet-top .leaflet-control{margin-top:22px}
.projects-map .leaflet-right .leaflet-control{margin-right:24px}
.projects-map .leaflet-control-zoom{border:1px solid #99a6b1;border-radius:7px;overflow:hidden;box-shadow:0 4px 14px #17212b12}
.projects-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;background:#fff;color:#20262d;border-color:#d5dde3;font-size:23px}
.projects-map .leaflet-control-zoom a:hover{background:#edf1f4;color:#20262d}
.projects-map .leaflet-control-zoom a.leaflet-disabled{background:#f8fafb;color:#8b98a2}
.projects-map .leaflet-popup-content{margin:22px;font:16px/1.6 Manrope,Arial,sans-serif}
.projects-map .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 28px #17212b44}
.project-map-popup h3{font-size:19px;line-height:1.4;letter-spacing:-.3px;margin:0 0 12px}
.projects-map .project-map-popup p{margin:0 0 12px}
.project-map-popup-location{font-size:14px;color:#63717c}
.project-map-popup-power{font-size:18px;font-weight:700;color:var(--red)}
.project-map-popup-note{font-size:14px;color:#63717c}
.project-map-popup .btn{font-size:14px;padding:10px 16px;color:#191c20}
.projects-map .project-map-place-name{padding:2px 5px;color:#394550;background:#ffffffd9;border:0;border-radius:3px;box-shadow:none;font-size:14px;font-weight:700;line-height:1.4}
.projects-map .project-map-place-name:before{display:none}
.project-map-area-popup ul{list-style:none;padding:0;margin:0}
.project-map-area-popup li{padding:12px 0;border-top:1px solid #d9e0e5}
.project-map-area-popup li a{display:block;color:#991c27;font-size:15px;font-weight:750;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.project-map-area-popup li span{display:block;margin-top:3px;color:#63717c;font-size:14px}
.project-map-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:26px;margin:16px 0 0;font-size:14px}
.project-map-legend>span{display:inline-flex;align-items:center;gap:9px}
.map-legend-point,.map-legend-region{display:inline-block;flex:none;width:38px;height:34px;border:1.5px solid var(--red);border-radius:5px;background:#fff url('/assets/map/tes-map-logo.jpg') center/56px 56px no-repeat}
.map-legend-region{width:58px;height:52px;border-width:2px;border-radius:8px;background-size:86px 86px}
.project-map-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.project-map-source{font-size:12px;color:#667580;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.project-map-section{padding-top:34px}.projects-map,.project-map-fallback{height:460px}}
@media(max-width:540px){.projects-map,.project-map-fallback{height:360px}.projects-map .leaflet-popup-content{margin:16px}.project-map-legend{gap:16px}.projects-map .leaflet-right .leaflet-control{margin-right:14px}.projects-map .leaflet-top .leaflet-control{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.project-map-marker>span,.project-map-cluster>span{transition:none}}

/* Completed phases within a single project. */
.project-stages{padding:46px 0 30px;border-top:1px solid #c2c9cf}
.project-stages h2{font-size:clamp(28px,3vw,40px);margin-bottom:30px}
.project-stage-list{list-style:none;padding:0;margin:0}
.project-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;padding:32px 0;border-top:1px solid #b4bec6}
.project-stage-copy .eyebrow{font-size:14px;color:var(--red);margin-bottom:14px}
.project-stage-copy h3{font-size:26px;line-height:1.35;letter-spacing:-.5px;margin:0 0 18px}
.project-stage-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#4b555f;margin:0 0 22px}
.project-stage-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 24px}
.project-stage-metrics dt{font-size:14px;line-height:1.5;color:#65727c;margin-bottom:6px}
.project-stage-metrics dd{font-size:20px;line-height:1.45;font-weight:700;color:var(--ink);margin:0}
.project-stage-copy .textlink{font-size:14px}
.project-stage-visual{display:block;min-width:0;border:1px solid #b5c0c8;border-radius:4px;overflow:hidden;background:#e9ecee}
.project-stage-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.project-stage-visual span{display:block;padding:12px 16px;font-size:14px;font-weight:650;color:var(--red);border-top:1px solid #b5c0c8}
.project-stage-visual:hover{border-color:var(--red)}
.project-gallery-group{scroll-margin-top:24px;margin-top:32px}
.project-gallery-group h3{font-size:22px;line-height:1.4;margin:0 0 20px}
@media(max-width:850px){.project-stage{grid-template-columns:1fr;gap:24px}.project-stage-visual{max-width:650px}.project-stage-visual img{aspect-ratio:16/9}.project-stage-metrics{max-width:650px}}
@media(max-width:540px){.project-stages{padding:34px 0 20px}.project-stage{padding:26px 0}.project-stage-copy h3{font-size:23px}.project-stage-metrics{gap:16px}.project-stage-metrics dd{font-size:18px}.project-gallery-group h3{font-size:20px}}
