:root{--violet:#281536;--violet-2:#3A214B;--violet-soft:#EEE9F0;--lime:#B8C96A;--olive:#687F30;--calculator:#F29A2E;--calculator-hover:#FFAD45}
.mainNav{background:var(--violet);border-bottom-color:#FFFFFF1F}.mainNav .navCta{background:var(--lime);color:var(--violet);border-color:var(--lime)}.mainNav .navCta:hover{background:#D0DB91;border-color:#D0DB91}.mainNav nav>a:not(.navCta):after{background:var(--lime)}
.hero3d{background:var(--violet-soft)}.heroContent{background:linear-gradient(118deg,#F1EDF2 0%,#F1EDF2 82%,rgba(241,237,242,0) 100%);border-color:#D8CFDC}.heroModel{background:radial-gradient(circle at 64% 40%,#F8F6F8 0,#EEE9F0 48%,#E2DCE5 100%)}.heroContent:after{border-color:#8B6A98}.hero3d .heroTitle h1 em:after{background:var(--lime)}.heroActions .heroPrimary{background:var(--violet)!important;border-color:var(--violet)!important}.heroActions .heroPrimary:hover{background:var(--lime)!important;border-color:var(--lime)!important;color:var(--violet)!important}.heroActions .heroSecondary{color:var(--violet)!important;border-color:#8D7C94}.modelInfo{background:var(--violet)}
.heroModel .spot{animation:spotFloat 4.8s ease-in-out infinite;will-change:transform}.heroModel .spot.solar{animation-delay:-.5s}.heroModel .spot.glass{animation-delay:-2.1s}.heroModel .spot.extension{animation-delay:-3.3s}.heroModel .spot.climate{animation-delay:-1.2s}.heroModel .spot>span{transition:transform .35s cubic-bezier(.2,.9,.25,1.4),box-shadow .35s,background .35s}.heroModel .spot>span:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(104,127,48,.28);animation:markerOrbit 3.2s ease-in-out infinite}.heroModel .spot:hover>span,.heroModel .spot.active>span{transform:translateY(-5px) scale(1.12);background:var(--violet);color:var(--lime);box-shadow:0 0 0 8px rgba(184,201,106,.28),0 22px 48px rgba(40,21,54,.3)}.heroModel .spot:hover svg,.heroModel .spot.active svg{color:var(--lime)}.heroModel .spot b{border-left:0;border-bottom:4px solid var(--lime);color:var(--violet);font-weight:750;letter-spacing:.01em}.heroModel .spot.active b{max-width:190px;opacity:1;padding:12px 16px}
.photoServices .service{background:#F2EFF3}.photoServices .service.active,.photoServices .service:hover{background:#FFF}.photoServices .servicePhoto{background:#D9D4DB}.photoServices .servicePhoto img{filter:saturate(.82) contrast(1.04)}
.proofSection{padding:130px 5%;background:#F5F2F6}.proofIntro{grid-template-columns:.38fr 1fr;align-items:start;border-top:1px solid #AFA5B2;padding:28px 0 64px}.proofIntro>div{display:grid;grid-template-columns:1fr .55fr;gap:8%}.proofIntro h2{margin:0;color:var(--violet)}.proofIntro p{margin:10px 0 0;color:#66606A;font-size:18px;line-height:1.6}.processGrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #9E94A2;border-bottom:1px solid #9E94A2}.processCard{min-height:390px;padding:25px 24px 28px;border-left:1px solid #B8AFBB;display:flex;flex-direction:column;background:transparent;transition:background .35s,transform .35s,color .35s}.processCard:last-child{border-right:1px solid #B8AFBB}.processCard:hover{background:var(--violet);color:#fff;transform:translateY(-10px)}.processIndex{display:flex;align-items:center;justify-content:space-between;color:var(--olive)}.processIndex svg{width:20px;transition:transform .35s}.processCard:hover .processIndex{color:var(--lime)}.processCard:hover .processIndex svg{transform:translateX(6px)}.processCard h3{font-size:28px;line-height:1.06;letter-spacing:-1px;margin:80px 0 18px}.processCard p{font-size:16px;line-height:1.6;color:#68636B}.processCard:hover p{color:#D8CFDC}.processCard b{margin-top:auto;padding-top:18px;border-top:1px solid #C8C0CA;font-size:13px;letter-spacing:.04em;color:var(--olive)}.processCard:hover b{border-color:#FFFFFF38;color:var(--lime)}
.faqSection{padding:130px 5%;grid-template-columns:.72fr 1.28fr;gap:8%;background:var(--violet);color:#fff}.faqIntro{position:sticky;top:165px;align-self:start}.faqIntro .eyebrow{color:var(--lime)}.faqIntro h2{font-size:clamp(42px,4.4vw,66px);line-height:1;letter-spacing:-3px;margin:32px 0 26px}.faqIntro>p{max-width:520px;color:#C9BECE;font-size:18px;line-height:1.62}.faqFacts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid #FFFFFF30;border-bottom:1px solid #FFFFFF30}.faqFacts span{padding:18px 12px 18px 0;color:#B8ADBD;font-size:12px;line-height:1.35}.faqFacts b{display:block;color:var(--lime);font-size:22px;margin-bottom:4px}.faqList{border-color:#FFFFFF3A}.faqList details{border-color:#FFFFFF30}.faqList summary{display:grid;grid-template-columns:42px 1fr 36px;gap:12px;color:#fff}.faqList summary>i{font-style:normal;color:var(--lime);font-size:13px;letter-spacing:.08em}.faqList summary span{justify-self:end;background:var(--lime);color:var(--violet);transition:transform .3s,background .3s}.faqList details[open] summary span{background:#fff;color:var(--violet)}.faqList details p{margin-left:54px;color:#C9BECE}.contactActions a:first-child{background:var(--violet);border-color:var(--violet)}footer{background:#21122B;border-top-color:var(--lime)}
@keyframes spotFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes markerOrbit{0%,100%{transform:scale(.88);opacity:.2}50%{transform:scale(1.12);opacity:.75}}
@media(max-width:1000px){.processGrid{grid-template-columns:1fr 1fr}.processCard:nth-child(2){border-right:1px solid #B8AFBB}.processCard{border-bottom:1px solid #B8AFBB}.proofIntro>div{grid-template-columns:1fr}.faqIntro{position:static}.faqSection{grid-template-columns:1fr}}
@media(max-width:760px){.processGrid{grid-template-columns:1fr}.processCard{min-height:300px;border-right:1px solid #B8AFBB}.processCard h3{margin-top:48px}.proofIntro{grid-template-columns:1fr;gap:20px}.proofIntro>div{display:block}.faqFacts{grid-template-columns:1fr 1fr 1fr}.faqSection{padding:85px 6%}.faqList summary{grid-template-columns:32px 1fr 34px;font-size:16px}.faqList details p{margin-left:44px}.heroModel .spot{animation-duration:5.5s}}
@media(prefers-reduced-motion:reduce){.heroModel .spot,.heroModel .spot>span:before{animation:none!important}}

/* Calculator actions use one clear orange signal */
.heroActions .heroPrimary,.contactActions a:first-child{background:var(--calculator)!important;color:var(--violet)!important;border-color:var(--calculator)!important}.heroActions .heroPrimary:hover,.contactActions a:first-child:hover{background:var(--calculator-hover)!important;color:var(--violet)!important;border-color:var(--calculator-hover)!important}
.mainNav .navCta{background:transparent!important;color:#fff!important;border-color:#ffffff66!important}.mainNav .navCta:hover{background:var(--lime)!important;color:var(--violet)!important;border-color:var(--lime)!important}
.photoServices .serviceBody button{margin-top:4px;padding:15px 16px;border:0;background:var(--calculator);color:var(--violet);font-weight:750;align-items:center;transition:background .25s,transform .25s}.photoServices .serviceBody button:hover{background:var(--calculator-hover);transform:translateY(-2px)}

/* Tighter editorial spacing for the vision block */
.manifesto{padding-top:88px;padding-bottom:88px}.manifestoText{padding-top:46px}
@media(max-width:760px){.manifesto{padding-top:64px;padding-bottom:64px}.manifestoText{padding-top:18px}}
