/* Shared visual finish: tinted glass, architectural arcs and tonal depth. */
:root{--glass-edge:#aec3b6;--glass-light:#ffffffd9}
.solution.service-card{--edge:#b0c598;--tint:#dbe6c9;border:1px solid var(--edge);background:linear-gradient(132deg,#ffffffc9 0%,#f4f8edb8 37%,#dde9c9ba 100%);box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffff9e,inset 0 -1px 0 #ffffff70,0 14px 35px -26px #294d3850;isolation:isolate;overflow:hidden}
.solution.service-1{--edge:#95c5b8;--tint:#bfe4da;background:linear-gradient(132deg,#f5fffd 0%,#e6f4efc9 40%,#c8e6dda6 100%)}
.solution.service-2{--edge:#d6c18f;--tint:#ecddb4;background:linear-gradient(132deg,#fffdf6 0%,#faf3dfc9 40%,#ecdfbba6 100%)}
.solution.service-3{--edge:#b7add4;--tint:#d9d1eb;background:linear-gradient(132deg,#fdfbff 0%,#f0edf8c9 40%,#dcd5eca6 100%)}
.solution.service-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,#fff8 0%,#fff0 44%,#ffffff24 65%,#fff0 100%);border:1px solid #ffffff80}
.solution.service-card:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;right:-170px;bottom:-155px;border-radius:50%;border:1px solid #ffffffb3;background:linear-gradient(140deg,#ffffff45,var(--tint));opacity:.7;pointer-events:none}
.solution.service-card.is-expanded{border-color:var(--edge);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px #ffffff66,0 21px 44px -28px #294d3866}.service-top{position:relative;z-index:2}.service-brand{letter-spacing:2px}.service-top .solution-num{font-size:14px;color:#607b70}.service-detail .service-summary{color:#50665c}.service-detail .service-extra{color:#677d6e}
.about.section{isolation:isolate;background:radial-gradient(ellipse at 0 0,#e4edda 0,transparent 56%),linear-gradient(120deg,#fafcf6,#f3f7f0 60%,#e4f0e9);border-color:#c4d3bd;box-shadow:inset 0 1px 0 #fff,0 20px 55px -42px #22463866}.about.section:before{content:"";position:absolute;z-index:-1;right:-190px;top:-190px;width:440px;height:440px;border-radius:50%;border:1px solid #ffffffad;background:linear-gradient(135deg,#c3dcc735,#ffffff80);pointer-events:none}.about-note{background:linear-gradient(115deg,#214e3f,#366753 65%,#53795b);box-shadow:inset 0 1px 0 #b9d1b74d,0 13px 24px -22px #163828}
.production-card{border-color:#bdcdb6;box-shadow:inset 0 1px 0 #fff,0 10px 24px -20px #244a3866}.production-copy{background:linear-gradient(120deg,#ffffffe0,#eaf0e2b3)}
.solutions.section{position:relative;background:radial-gradient(ellipse at 2% 45%,#e5ecdf66,transparent 44%),radial-gradient(ellipse at 100% 80%,#e2e9e766,transparent 44%)}
#models .section-heading{position:relative;isolation:isolate;padding:22px 0 12px}#models .section-heading:after{content:"";position:absolute;z-index:-1;right:0;top:-8px;width:150px;height:150px;border-radius:100% 0 0 0;background:linear-gradient(135deg,#d9e5d660,#edf2e622);pointer-events:none}
.model-panel{isolation:isolate;border-color:#b8cbb0;background:linear-gradient(125deg,#f8fbf3,#eef4e6 55%,#e5efdf);box-shadow:inset 0 1px 0 #fff,0 16px 32px -27px #2c513c55}.model-panel:after{content:"";position:absolute;z-index:-1;right:-115px;bottom:-170px;width:370px;height:370px;border-radius:50%;border:1px solid #fff9;background:linear-gradient(140deg,#d0dfbd66,#ffffff70);pointer-events:none}.model-steps>div{border-color:#cddbc1;background:linear-gradient(120deg,#fffffff0,#ffffff99);box-shadow:inset 0 1px 0 white,0 4px 10px -8px #2d543955}
.projects{background:linear-gradient(120deg,#eaf0e6,#f5f7f0 52%,#e7eeeb)}.project-photo{border:1px solid #b9cbbc;box-shadow:0 12px 28px -22px #23473366}.technology-metrics{border-color:#b7cbb2;background:linear-gradient(130deg,#fbfff7,#e5efdf);box-shadow:inset 0 1px 0 #fff,0 14px 25px -23px #1f4b3255}
.process-grid article{border-color:#bccfb7}.process-grid article:nth-child(2){border-color:#b2cfc3}.process-grid article:nth-child(3){border-color:#d5c8a6}.process-grid article:nth-child(4){border-color:#c1bbd6}.process-grid article:after{content:"";position:absolute;right:-65px;bottom:-85px;width:180px;height:180px;border-radius:50%;background:linear-gradient(130deg,#b8cbb331,#ffffff70);border:1px solid #ffffffb3;pointer-events:none}.process-grid article h3,.process-grid article p{position:relative;z-index:1}
.contact{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 95% 15%,#658a694d,transparent 55%),linear-gradient(115deg,#103e33 0%,#215847 48%,#377565 100%);border:1px solid #628876;box-shadow:inset 0 1px 0 #b7d1b64d}.contact:before{content:"";position:absolute;z-index:-1;right:-160px;top:-210px;width:650px;height:650px;border-radius:50%;border:1px solid #d4e7ce30;background:linear-gradient(130deg,#c4ddaa17,#d8ecda05);pointer-events:none}.contact:after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-285px;width:650px;height:650px;border-radius:50%;border:1px solid #d4e7ce38;background:linear-gradient(135deg,#76b59f10,#cee2a325);pointer-events:none}.contact-details{padding:24px 28px;border:1px solid #bddec13b;border-radius:20px;background:linear-gradient(130deg,#efffe00a,#ffffff05);box-shadow:inset 0 1px 0 #e5ffe512;backdrop-filter:blur(8px)}
@media(max-width:700px){.contact:before{width:360px;height:360px;right:-180px;top:-130px}.contact:after{width:420px;height:420px;bottom:-220px;right:-200px}.contact-details{padding:22px}.solution.service-card:after{width:260px;height:260px;right:-150px;bottom:-155px}#models .section-heading:after{width:100px;height:100px}.about.section:before{width:300px;height:300px;right:-180px;top:-170px}}
.model-intro:before{content:attr(data-chapter);position:absolute;right:0;top:-27px;font-family:var(--sans);font-size:112px;font-weight:650;line-height:1;letter-spacing:-8px;color:#97b28a20;pointer-events:none;z-index:-1}.model-intro .eyebrow,.model-intro h3{position:relative}
/* Balanced pastel palette and a single architectural light plane. */
.solutions.section{background:none}
.solution.service-0{--edge:#b4c7d8;--tint:#dce7f2;background:linear-gradient(135deg,#f0f5fb,#e5edf7)}
.solution.service-1{--edge:#a9cbbf;--tint:#d5e9df;background:linear-gradient(135deg,#eef7f2,#e0eee7)}
.solution.service-2{--edge:#d6c5b7;--tint:#eee0d6;background:linear-gradient(135deg,#faf3ee,#f1e6dd)}
.solution.service-3{--edge:#c4bbd6;--tint:#e4deef;background:linear-gradient(135deg,#f5f1fa,#eae4f3)}
.solution.service-card:before{background:linear-gradient(150deg,#ffffff35,transparent 65%);border-color:#ffffff85}.solution.service-card:after{display:none}.solution.service-card,.solution.service-card.is-expanded{box-shadow:inset 0 1px 0 #ffffffdc,0 12px 26px -23px #35473c55}.service-card>strong,.service-card .service-extra{color:#64756e}.service-top .service-brand,.service-top .solution-num{color:#61756d}
.contact{background:linear-gradient(112deg,#153e35 0%,#1e4a40 56%,#2d5b50 100%);border-color:#486d60}
.contact:before{inset:0;width:auto;height:auto;border:0;border-radius:0;background:radial-gradient(ellipse at 100% 0,#b6cf9830,transparent 57%);opacity:1}
.contact:after{top:0;bottom:0;left:auto;right:-8%;width:43%;height:auto;border:0;border-left:1px solid #dcebc22b;border-radius:0;transform:skewX(-19deg);background:linear-gradient(100deg,#b9d4b20c,#d6e5c511 40%,transparent);opacity:.8}
.contact-details{background:#0c2f282b;border-color:#bcd5c242;backdrop-filter:none;box-shadow:inset 0 1px 0 #ffffff0c}.contact-details small{color:#b8cbbe}.contact-details p,.contact-details a{color:#e0e9e0}.contact-invitation>p{color:#d1ddd4}
@media(max-width:700px){.contact:after{right:-26%;width:65%}.contact:before{width:auto;height:auto;inset:0}.contact-details{background:#123b3380}}
/* Final reading rhythm: stable typography and consistent supporting text. */
.service-card>strong{line-height:1.65;font-weight:450}.service-detail .service-summary{line-height:1.8}.contact-invitation h3{max-width:560px;text-wrap:balance}.contact-invitation>p{max-width:500px;line-height:1.85}.contact-invitation .hero-buttons{gap:26px}.contact-details{border-radius:18px}.model-steps>div{box-shadow:inset 0 1px 0 #fff,0 3px 8px -7px #29493233}.production-heading>p{color:#627264}.production-copy>span{color:#607758}
@media(max-width:580px){.contact-invitation h3{font-size:23px;line-height:1.45}.contact-invitation .hero-buttons{gap:20px}.service-card>strong{font-size:13px}}
/* One solar centre: concentric, cropped arcs instead of intersecting discs. */
.contact:before{inset:0;width:auto;height:auto;border:0;border-radius:0;transform:none;background:radial-gradient(circle at 94% 8%,#d3dba232 0%,#aacbaf15 28%,transparent 60%);opacity:1}
.contact:after{inset:auto;right:-170px;top:-275px;bottom:auto;left:auto;width:760px;height:760px;border:1px solid #d6e3bd38;border-radius:50%;transform:none;background:radial-gradient(circle at 38% 38%,#dce6bd15,#c2d9bc08 65%,#ffffff05);box-shadow:0 0 0 55px #d5e3c007,0 0 0 56px #d5e3c021,0 0 0 115px #d5e3c005,0 0 0 116px #d5e3c014;opacity:1;pointer-events:none}
@media(max-width:700px){.contact:after{width:440px;height:440px;right:-240px;top:-205px;box-shadow:0 0 0 35px #d5e3c007,0 0 0 36px #d5e3c021,0 0 0 75px #d5e3c005,0 0 0 76px #d5e3c014}.contact:before{inset:0;width:auto;height:auto}}
.contact:after{width:700px;height:700px;right:-180px;top:-260px;border:0;box-shadow:none;background:radial-gradient(circle,transparent 0 48%,#dce8c51a 48.1% 48.25%,#dce8c50a 48.4% 58%,#dce8c528 58.1% 58.25%,transparent 58.4% 69%,#dce8c51c 69.1% 69.25%,transparent 69.4%)}
@media(max-width:700px){.contact:after{width:460px;height:460px;right:-220px;top:-180px;box-shadow:none}}
/* Readable project figures and a single softly lit translucent disc. */
.project-capacity strong{font-family:var(--sans);font-size:30px;font-weight:500;letter-spacing:-.6px;font-variant-numeric:lining-nums tabular-nums;line-height:1.2}.project-capacity{align-items:baseline;gap:8px}.project-capacity>span:not(.project-index){font-size:12px;color:#65766d}
.contact:before{background:radial-gradient(ellipse at 100% 0,#c6d4ae1c,transparent 63%)}
.contact:after{width:610px;height:610px;right:-145px;top:-290px;border-radius:50%;border:1px solid #ecf2d531;box-shadow:inset 0 1px 0 #ffffee14;background:linear-gradient(145deg,#e2e9c922 0%,#c2d5c014 45%,#aac7b403 85%);transform:none;opacity:1}
@media(max-width:700px){.contact:after{width:340px;height:340px;right:-165px;top:-165px;box-shadow:inset 0 1px 0 #ffffee14}.project-capacity strong{font-size:29px}}
