.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--cyan),#36e0f7);box-shadow:0 0 12px rgba(22,201,232,.7);pointer-events:none}
.site-header.scrolled{height:72px}.site-header{transition:height .3s,box-shadow .3s}.site-header.scrolled .brand img{max-height:45px}.site-header nav a.current{color:var(--blue)}.site-header nav a.current:after{right:0}
.planner{overflow:hidden;background:#fff}.planner:before{content:"";position:absolute;inset:0 0 auto auto;width:45%;height:100%;background:linear-gradient(135deg,transparent,rgba(22,201,232,.055));pointer-events:none}.planner-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.planner-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.75;max-width:470px}.planner-points{display:grid;gap:12px;margin-top:30px}.planner-points span{font-size:11px;font-weight:800;color:#435564}.planner-points span:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dff7fb;color:#087f95;margin-right:10px}.planner-card{position:relative;background:var(--navy);color:#fff;padding:46px;border-radius:10px;box-shadow:0 30px 70px rgba(7,24,45,.2);overflow:hidden}.planner-card:before{content:"";position:absolute;right:-90px;top:-90px;width:250px;height:250px;border:55px solid rgba(22,201,232,.08);border-radius:50%}.planner-card-head{position:relative;display:flex;justify-content:space-between;align-items:start;margin-bottom:32px}.planner-card-head h3{font:28px var(--serif);margin:0}.planner-card-head span{font-size:9px;letter-spacing:.16em;color:var(--cyan);font-weight:900}.planner-inputs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.planner-inputs label{font-size:9px;font-weight:900;letter-spacing:.11em;color:#92a6b6}.planner-inputs input{width:100%;display:block;margin-top:8px;border:1px solid #31475c;background:#0c2541;color:#fff;padding:13px 11px;outline:none}.planner-inputs input:focus{border-color:var(--cyan)}.planner-result{position:relative;margin-top:24px;padding:24px;background:linear-gradient(120deg,#0d304e,#0c2947);border-left:4px solid var(--cyan);display:flex;align-items:center;justify-content:space-between;gap:24px}.planner-result small{display:block;font-size:9px;letter-spacing:.15em;color:#92a8b8;margin-bottom:5px}.planner-result strong{font:42px var(--serif);color:#fff}.planner-result p{max-width:225px;font-size:11px;line-height:1.55;color:#a9bbc8;margin:0}.planner-disclaimer{position:relative;color:#748a9c;font-size:9px;line-height:1.5;margin:14px 0 0}
.faq{background:#f1f6f8;padding-top:100px}.faq-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:90px}.faq-intro{position:sticky;top:120px;align-self:start}.faq-intro p:not(.eyebrow){color:var(--muted);line-height:1.7}.faq-list{border-top:1px solid #cbd8de}.faq-item{border-bottom:1px solid #cbd8de}.faq-item summary{list-style:none;padding:25px 44px 25px 0;position:relative;font:21px var(--serif);cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:3px;top:20px;width:30px;height:30px;border-radius:50%;border:1px solid #bbcad1;display:grid;place-items:center;font:18px var(--sans);transition:.25s}.faq-item[open] summary:after{content:"−";background:var(--navy);border-color:var(--navy);color:#fff}.faq-item p{color:var(--muted);font-size:13px;line-height:1.75;max-width:690px;padding:0 45px 26px 0;margin:0}
.project-card{cursor:zoom-in}.project-lightbox{width:min(1050px,calc(100% - 34px));padding:0;border:0;background:#07182d;color:#fff;overflow:visible}.project-lightbox::backdrop{background:rgba(2,12,23,.88);backdrop-filter:blur(8px)}.lightbox-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:590px}.project-lightbox img{height:100%;min-height:590px;object-fit:cover;background:#132b42}.lightbox-copy{padding:54px 40px;display:flex;flex-direction:column;justify-content:flex-end}.lightbox-copy span{font-size:9px;letter-spacing:.18em;color:var(--cyan);font-weight:900}.lightbox-copy h2{font-size:42px;margin:15px 0}.lightbox-copy p{font-size:13px;line-height:1.7;color:#aebfcb}.lightbox-close{position:absolute;right:-14px;top:-14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:22px;z-index:2;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.back-top{position:fixed;z-index:49;right:24px;bottom:86px;width:44px;height:44px;border-radius:50%;border:1px solid #d3e0e5;background:#fff;color:var(--navy);box-shadow:0 8px 25px rgba(7,24,45,.14);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.back-top.visible{opacity:1;transform:none;pointer-events:auto}
.motion-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.motion-reveal.in-view{opacity:1;transform:none}.service-card.motion-reveal:nth-child(2),.project-card.motion-reveal:nth-child(2){transition-delay:.08s}.service-card.motion-reveal:nth-child(3){transition-delay:.16s}.service-card.motion-reveal:nth-child(4){transition-delay:.24s}
@media(max-width:900px){.planner-layout,.faq-layout{grid-template-columns:1fr;gap:50px}.faq-intro{position:static}.planner-inputs{grid-template-columns:1fr}.planner-result{align-items:flex-start}.lightbox-grid{grid-template-columns:1fr}.project-lightbox img{min-height:380px;height:52vh}.lightbox-copy{padding:30px;min-height:230px}.lightbox-copy h2{font-size:34px}}
@media(max-width:620px){.planner-card{padding:30px 22px}.planner-result{display:block}.planner-result p{margin-top:12px}.faq{padding-top:75px}.faq-item summary{font-size:18px;padding-right:40px}.project-lightbox img{min-height:320px}.lightbox-close{right:8px;top:8px}.back-top{right:14px;bottom:72px}.motion-reveal{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal{opacity:1;transform:none;transition:none}.btn,.project-card img,.site-header{transition:none!important}}
