
:root{--ink:#07090b;--ink2:#11161a;--paper:#f3f5f2;--steel:#dfe5e7;--steel2:#c8d0d3;--lime:#b8f32d;--orange:#ff6a32;--blue:#4c93ff;--text:#14181b;--muted:#69727a;--line:rgba(20,24,27,.14);--max:1300px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 48px));margin:auto}section{padding:104px 0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.052em}h1{font-size:clamp(4rem,8.25vw,8.9rem);line-height:.81;font-weight:720}h2{font-size:clamp(2.7rem,5vw,5.35rem);line-height:.92;font-weight:660}h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05;font-weight:650}p{line-height:1.68}.muted{color:var(--muted)}.kicker{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:830}.eyebrow{display:flex;align-items:center;gap:11px;font-size:.71rem;letter-spacing:.18em;text-transform:uppercase;font-weight:830}.eyebrow:before{content:"";width:30px;height:2px;background:var(--lime)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 23px;border-radius:999px;border:1px solid transparent;font-weight:690;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-lime{background:var(--lime);color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--ink)}.btn-ghost{border-color:rgba(255,255,255,.34);color:#fff;background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.site-header{position:absolute;inset:0 0 auto;z-index:100;color:#fff}.nav-shell{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.14)}.brand{justify-self:start;display:flex;align-items:center;gap:13px}.brand-mark{width:49px;height:49px;position:relative;border:1px solid rgba(255,255,255,.44);border-radius:13px;overflow:hidden}.brand-mark:before{content:"BDW";position:absolute;inset:0;display:grid;place-items:center;font-size:.72rem;font-weight:950;letter-spacing:-.06em;color:var(--lime)}.brand-mark:after{content:"";position:absolute;left:8px;right:8px;bottom:8px;height:4px;background:var(--orange);border-radius:999px;transform:skewX(-28deg)}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:1rem;font-weight:800;letter-spacing:.115em}.brand-copy span{font-size:.49rem;letter-spacing:.18em;text-transform:uppercase;color:#c5cdd1;margin-top:5px}.nav-links{display:flex;gap:28px;align-items:center;justify-content:center;font-size:.91rem;font-weight:460}.nav-links>a,.nav-dropdown-trigger{opacity:.82;position:relative}.nav-links>a:hover,.nav-links>a.active,.nav-dropdown:hover .nav-dropdown-trigger,.nav-dropdown.active .nav-dropdown-trigger{opacity:1}.nav-links>a.active:after,.nav-dropdown.active>.nav-dropdown-trigger:after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:2px;background:var(--lime)}.nav-actions{justify-self:end;display:flex;align-items:center;gap:10px}.nav-phone{font-size:.84rem;opacity:.84}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.58rem}.mobile-panel{display:none}.nav-dropdown{position:relative;display:flex;align-items:center;padding-bottom:9px;margin-bottom:-9px}.nav-dropdown:after{content:"";position:absolute;left:-26px;right:-26px;top:100%;height:22px;background:transparent}.nav-dropdown-trigger{background:none;border:0;color:inherit;font:inherit;padding:14px 0;display:flex;align-items:center;gap:7px}.nav-dropdown-trigger span{transition:.2s}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-6px);min-width:390px;background:#fff;color:var(--text);border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:10px;box-shadow:0 28px 78px rgba(0,0,0,.26);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s linear .3s}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}.nav-dropdown:hover .nav-dropdown-trigger span,.nav-dropdown.open .nav-dropdown-trigger span{transform:rotate(180deg)}.nav-dropdown-menu a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px;border-radius:12px;font-size:.84rem;font-weight:720}.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active{background:#eff6dd;color:#617500}.nav-dropdown-menu small{display:block;margin-top:4px;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.hero{min-height:100svh;background:linear-gradient(90deg,rgba(4,7,9,.99),rgba(4,7,9,.91) 46%,rgba(4,7,9,.28)),url("https://images.unsplash.com/photo-1531835551805-16d864c8d311?auto=format&fit=crop&w=2200&q=88") center/cover;color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to right,#000,transparent 90%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:240px;background:linear-gradient(transparent,rgba(0,0,0,.74))}.hero-grid{position:relative;z-index:2;min-height:100svh;display:grid;grid-template-columns:1.12fr .6fr;gap:74px;align-items:end;padding:166px 0 126px}.hero-copy h1{margin:25px 0 30px;max-width:1010px}.hero-copy h1 em{font-style:normal;color:var(--lime)}.hero-copy p{font-size:1.15rem;max-width:780px;color:#d4dde1}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.hero-panel{border:1px solid rgba(255,255,255,.15);background:rgba(8,12,15,.88);backdrop-filter:blur(18px);border-radius:25px;padding:27px;position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;right:-90px;bottom:-90px;width:200px;height:200px;border-radius:50%;border:1px solid rgba(184,243,45,.14);box-shadow:0 0 0 44px rgba(184,243,45,.035)}.hero-panel>*{position:relative;z-index:2}.hero-panel small{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:820}.hero-panel h3{font-size:1.6rem;margin:15px 0 12px}.hero-panel p{color:#b5c0c5}.hero-routes{display:grid;margin-top:10px}.hero-routes a{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.11)}.hero-routes .n{font-size:.63rem;color:var(--orange)}.hero-routes .go{transition:.2s}.hero-routes a:hover .go{transform:translateX(4px);color:var(--lime)}.hero-bar{position:absolute;z-index:4;left:0;right:0;bottom:0;background:rgba(5,8,10,.58);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12)}.hero-bar-grid{display:grid;grid-template-columns:repeat(4,1fr)}.hero-stat{padding:18px 22px;border-right:1px solid rgba(255,255,255,.12)}.hero-stat:first-child{padding-left:0}.hero-stat:last-child{border-right:0}.hero-stat b{display:block;font-size:1.18rem;font-weight:620}.hero-stat span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#b5c0c5}.ticker{overflow:hidden;background:var(--lime);color:var(--ink)}.ticker-track{display:flex;width:max-content;animation:scroll 29s linear infinite}.ticker-track span{display:flex;align-items:center;padding:16px 0;font-size:.71rem;letter-spacing:.15em;text-transform:uppercase;font-weight:860}.ticker-track span:after{content:"◆";margin:0 28px;color:var(--orange);font-size:.68rem}@keyframes scroll{to{transform:translateX(-50%)}}
.split-head{display:grid;grid-template-columns:.83fr 1.17fr;gap:82px;align-items:end;margin-bottom:58px}.split-head p{max-width:690px;margin-left:auto}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.visual-card{position:relative;min-height:550px;border-radius:28px;overflow:hidden;color:#fff;background:#222}.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(5,8,10,.96) 100%)}.visual-card:hover img{transform:scale(1.045)}.visual-card .inner{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.visual-card small{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:820}.visual-card h3{font-size:2.2rem;margin:11px 0}.visual-card p{color:#d1dadd}.visual-card .link{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.16);padding-top:17px;font-size:.86rem;font-weight:720}.dark{background:var(--ink);color:#fff}.dark .muted{color:#afbbc0}.feature-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:16px}.feature-visual{min-height:650px;border-radius:28px;position:relative;overflow:hidden;background:center/cover}.feature-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(5,8,10,.95))}.feature-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:31px}.feature-caption small{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--lime)}.feature-caption h3{font-size:2.5rem;margin:10px 0 0}.feature-list{display:grid;gap:12px}.feature-item{padding:24px 27px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:#11161a;display:grid;grid-template-columns:46px 1fr auto;gap:15px}.feature-item .n{font-size:.65rem;color:var(--orange)}.feature-item h3{margin:0 0 7px}.feature-item p{margin:0;color:#afbbc0}.feature-item .icon{color:var(--lime)}
.project-zone{background:var(--steel)}.project-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.project-feature,.project-card{position:relative;overflow:hidden;border-radius:28px;background:#222;color:#fff}.project-feature{min-height:660px}.project-card{min-height:323px}.project-feature img,.project-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:.65s}.project-feature:hover img,.project-card:hover img{transform:scale(1.035)}.project-feature:after,.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(5,8,10,.92))}.project-info{position:absolute;left:28px;right:28px;bottom:27px;z-index:2}.project-info small{font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:820}.project-info h3{font-size:2rem;margin:9px 0 6px}.project-info p{margin:0;color:#ccd5d9;font-size:.9rem}.project-stack{display:grid;gap:14px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:29px;min-height:275px;display:flex;flex-direction:column}.profile-card .code{font-size:.63rem;letter-spacing:.13em;color:var(--orange);font-weight:820}.profile-card h3{margin:42px 0 11px}.profile-card p{color:var(--muted)}.profile-card .meta{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:.8rem;font-weight:720}.proof-zone{background:var(--steel2)}.proof-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:70px}.proof-card{background:var(--ink);color:#fff;border-radius:30px;padding:35px;position:relative;overflow:hidden}.proof-card:after{content:"BDW";position:absolute;right:-28px;bottom:-60px;font-size:10.5rem;font-weight:950;letter-spacing:-.1em;color:rgba(184,243,45,.05)}.proof-card>*{position:relative;z-index:2}.proof-card .label{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:820}.proof-card h3{font-size:2.4rem;margin:15px 0 22px}.proof-row{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:17px 0;border-top:1px solid rgba(255,255,255,.13)}.proof-row small{font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;color:#849097}.proof-row strong{font-weight:580}.proof-note{font-size:.78rem;color:#89959b;margin-top:18px}.proof-list{border-top:1px solid var(--line)}.proof-item{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.proof-item .n{font-size:.64rem;color:var(--orange)}.proof-item h3{margin:0 0 7px}.proof-item p{margin:0;color:var(--muted)}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.workflow-step{padding:30px 27px 10px 0;border-right:1px solid var(--line);min-height:265px}.workflow-step:not(:first-child){padding-left:27px}.workflow-step:last-child{border-right:0}.workflow-step .n{font-size:.65rem;color:var(--orange);letter-spacing:.13em;font-weight:800}.workflow-step h3{margin:44px 0 12px}.workflow-step p{color:var(--muted)}.cta-section{padding:90px 0}.cta-box{background:var(--blue);color:#fff;border-radius:32px;padding:57px;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:end;position:relative;overflow:hidden}.cta-box:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-155px;top:-185px;box-shadow:0 0 0 70px rgba(255,255,255,.035)}.cta-box>*{position:relative;z-index:2}.cta-box p{color:#e0ebff}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.page-hero{padding:188px 0 96px;background:var(--ink);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-170px;top:-170px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(184,243,45,.12);box-shadow:0 0 0 85px rgba(184,243,45,.02),0 0 0 170px rgba(255,106,50,.018)}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(3.5rem,7.4vw,7.6rem);max-width:1130px;margin:24px 0 0}.page-lead{font-size:1.14rem;color:#bac4c8;max-width:850px;margin-top:28px}.scope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.scope-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:29px;min-height:285px}.scope-card small{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:var(--orange);font-weight:820}.scope-card h3{font-size:1.82rem;margin:25px 0 11px}.scope-card p{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.principle-list{border-top:1px solid var(--line)}.principle{padding:22px 0;border-bottom:1px solid var(--line)}.principle small{display:block;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--orange);margin-bottom:7px}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px}.contact-card{background:var(--ink);color:#fff;border-radius:26px;padding:34px;position:sticky;top:30px}.contact-line{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-line small{display:block;color:#849097;font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fbfcf9;border-radius:12px;padding:15px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange)}.field textarea{min-height:155px;resize:vertical}.form-note{font-size:.8rem;color:var(--muted)}.footer{background:#020304;color:#fff;padding:72px 0 28px}.footer-grid{display:grid;grid-template-columns:1.18fr .8fr .8fr 1fr;gap:50px}.footer p{font-size:.9rem;color:#849097;max-width:390px}.footer h4{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:#748087;margin:0 0 18px}.footer a{display:block;margin:10px 0;color:#d4dbdf;font-size:.9rem}.footer a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;color:#748087}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1080px){.cards3,.profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:980px){.container{width:min(var(--max),calc(100% - 34px))}.nav-shell{grid-template-columns:1fr auto}.nav-links,.nav-phone,.nav-actions .btn{display:none}.menu-btn{display:block}.mobile-panel{position:fixed;inset:0;z-index:110;background:var(--ink);color:#fff;padding:28px;display:none;overflow:auto}.mobile-panel.open{display:block}.mobile-top{display:flex;justify-content:space-between;align-items:center}.close-menu{background:none;border:0;color:#fff;font-size:2rem}.mobile-links{display:grid;gap:20px;margin-top:65px}.mobile-links>a{font-size:2rem;letter-spacing:-.03em}.mobile-sub{display:grid;gap:10px;padding-left:18px;border-left:1px solid rgba(255,255,255,.16)}.mobile-sub a{font-size:1.05rem;color:#c4ced2}.mobile-contact{margin-top:40px;display:grid;gap:10px}.hero-grid{grid-template-columns:1fr;padding:140px 0 190px}.hero-bar-grid{grid-template-columns:1fr 1fr}.split-head,.feature-grid,.project-grid,.proof-grid,.cta-box,.about-grid,.contact-grid{grid-template-columns:1fr;gap:42px}.scope-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){section{padding:76px 0}.container{width:calc(100% - 28px)}.nav-shell{height:74px}.brand-copy strong{font-size:.84rem}.brand-copy span{font-size:.45rem}.hero-grid{padding:112px 0 196px}.hero-copy h1{font-size:clamp(3.4rem,15vw,5.8rem)}.hero-actions .btn{width:100%}.hero-stat{padding:13px 8px}.hero-stat b{font-size:.95rem}.hero-stat span{font-size:.51rem}.cards3,.profile-grid{grid-template-columns:1fr}.feature-visual{min-height:430px}.project-feature{min-height:500px}.workflow-grid{grid-template-columns:1fr}.workflow-step,.workflow-step:not(:first-child){min-height:auto;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.workflow-step:last-child{border-bottom:0}.proof-row{grid-template-columns:1fr;gap:6px}.page-hero{padding:136px 0 70px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}

/* =========================================================
   EXPERIENCE V2 — robust content visibility + custom visuals
   ========================================================= */
section{padding:88px 0}

/* Content must never disappear if JS is delayed or blocked. */
.reveal,.reveal.in{opacity:1;transform:none}

.scroll-progress{position:fixed;inset:0 0 auto;z-index:200;height:3px;pointer-events:none;background:transparent}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--lime),var(--orange));box-shadow:0 0 22px rgba(184,243,45,.5)}

.quote-rail{position:fixed;right:0;top:50%;z-index:90;transform:translateY(-50%);display:flex;align-items:center;gap:12px;padding:15px 12px 15px 15px;border-radius:16px 0 0 16px;background:rgba(7,9,11,.94);color:#fff;border:1px solid rgba(255,255,255,.12);border-right:0;box-shadow:0 20px 50px rgba(0,0,0,.25);backdrop-filter:blur(12px);transition:.25s}
.quote-rail span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;letter-spacing:.2em;font-weight:850;color:#cbd4d8}
.quote-rail b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:.75rem}
.quote-rail:hover{padding-right:18px;background:#0d1114}

.roofline-art{position:absolute;z-index:1;right:-4%;bottom:55px;width:min(52vw,850px);height:230px;opacity:.23;pointer-events:none}
.roofline-art svg{width:100%;height:100%}
.roofline-art polyline{fill:none;stroke:var(--lime);stroke-width:2;vector-effect:non-scaling-stroke}
.roofline-art .roofline-art-secondary{stroke:rgba(255,255,255,.55);stroke-width:1}
.page-hero .roofline-art{bottom:0;right:-8%;opacity:.16;width:min(60vw,900px)}

/* Add depth without requiring photography to load. */
.visual-card,.project-feature,.project-card,.profile-card,.proof-card,.feature-item,.scope-card,.contact-card,.hero-panel,.roof-lab-shell,.scale-shell,.assembly-visual,.inspection-visual,.coverage-visual{position:relative;isolation:isolate}
.visual-card:before,.project-feature:before,.project-card:before,.profile-card:before,.scope-card:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(184,243,45,.10),transparent 42%);opacity:0;transition:.25s}
.visual-card:hover:before,.project-feature:hover:before,.project-card:hover:before,.profile-card:hover:before,.scope-card:hover:before{opacity:1}

/* ---------------- Roof profile lab ---------------- */
.roof-lab-section{background:#eef1ec;overflow:hidden}
.roof-lab-shell{display:grid;grid-template-columns:.84fr 1.16fr;gap:54px;padding:32px;border-radius:32px;background:linear-gradient(135deg,#f9faf6 0%,#e7ece8 100%);border:1px solid rgba(20,24,27,.12);box-shadow:0 34px 90px rgba(20,24,27,.08)}
.roof-lab-copy{padding:30px 12px 24px 18px;align-self:center}
.roof-lab-copy h2{font-size:clamp(2.7rem,4.6vw,4.7rem);margin:18px 0 20px}
.profile-selector{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 24px}
.profile-chip,.material-chip,.assembly-key,.scale-row,.defect-marker{border:0}
.profile-chip{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.77rem;font-weight:760;transition:.2s}
.profile-chip:hover,.profile-chip.active{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}
.profile-readout{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.profile-readout>div{padding:14px 15px;border:1px solid var(--line);background:rgba(255,255,255,.56);border-radius:14px}
.profile-readout small{display:block;margin-bottom:5px;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.profile-readout strong{font-size:1rem}
.profile-description{margin:0;font-size:.9rem;color:var(--muted)}
.roof-lab-visual{position:relative;overflow:hidden;min-height:610px;border-radius:25px;background:#0b0e10;color:#fff;padding:22px;box-shadow:0 25px 70px rgba(0,0,0,.20)}
.roof-lab-visual:after{content:"";position:absolute;inset:auto -130px -130px auto;width:370px;height:370px;border-radius:50%;border:1px solid rgba(184,243,45,.2);box-shadow:0 0 0 62px rgba(184,243,45,.035);pointer-events:none}
.lab-topline{position:relative;z-index:3;display:flex;justify-content:space-between;gap:20px;font-size:.56rem;letter-spacing:.18em;color:#87939a;font-weight:800}
.lab-topline span:last-child{color:var(--lime)}
.profile-svg{position:relative;z-index:2;width:100%;height:370px;margin-top:18px}
.profile-grid-lines path{fill:none;stroke:rgba(255,255,255,.07);stroke-width:1}
.profile-sheet,.profile-sheet-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:.45s cubic-bezier(.2,.7,.2,1)}
.profile-sheet-shadow{stroke:rgba(0,0,0,.45);stroke-width:18;filter:url(#sheetShadow)}
.profile-sheet{stroke:var(--sheet-tone,#dfe5e7);stroke-width:11;filter:url(#sheetShadow)}
.datum-line{stroke:rgba(184,243,45,.28);stroke-width:1;stroke-dasharray:5 8}
.material-console{position:relative;z-index:3;display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:end;padding:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:17px}
.material-title span{display:block;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:#7f8a90;margin-bottom:5px}
.material-title strong{font-size:1rem}
.material-selector{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.material-chip{padding:8px 10px;border-radius:999px;color:#cbd4d8;background:#151b1f;border:1px solid rgba(255,255,255,.1);font-size:.68rem;font-weight:720;transition:.2s}
.material-chip:hover,.material-chip.active{background:#fff;color:#101417;border-color:#fff}
.lab-quote-link{position:relative;z-index:3;margin-top:12px;display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-radius:15px;background:var(--lime);color:var(--ink);font-size:.84rem;font-weight:800;transition:.22s}
.lab-quote-link:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(184,243,45,.12)}

/* ---------------- Project scale visual ---------------- */
.scale-section{background:#0a0d0f;color:#fff;overflow:hidden}
.scale-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:68px;align-items:center}
.scale-copy h2{margin:18px 0 20px;font-size:clamp(2.8rem,4.6vw,4.8rem)}
.scale-copy .muted{color:#aeb9bf}
.scale-focus{margin-top:32px;display:grid;gap:4px;padding:18px 19px;border-radius:18px;border:1px solid rgba(255,255,255,.11);background:#11171a}
.scale-focus small{font-size:.57rem;text-transform:uppercase;letter-spacing:.14em;color:#849097}
.scale-focus strong{font-size:1.15rem}
.scale-focus span{color:var(--lime);font-weight:800}
.scale-chart{display:grid;gap:8px;position:relative}
.scale-chart:before{content:"";position:absolute;inset:-16px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;border-radius:28px;pointer-events:none}
.scale-row{position:relative;display:grid;grid-template-columns:160px 1fr 80px;gap:15px;align-items:center;min-height:56px;padding:0 12px;background:transparent;color:#fff;border-radius:14px;text-align:left;transition:.2s}
.scale-row:hover,.scale-row.active{background:#12191d}
.scale-label{font-size:.77rem;font-weight:720;color:#c8d2d6}
.scale-track{height:12px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.scale-track span{display:block;height:100%;width:var(--scale);border-radius:inherit;background:linear-gradient(90deg,var(--orange),var(--lime));transform-origin:left;transition:width .6s cubic-bezier(.2,.7,.2,1),filter .2s}
.scale-row:not(.active) .scale-track span{filter:saturate(.68) brightness(.8)}
.scale-row b{text-align:right;font-size:.85rem;color:var(--lime);font-variant-numeric:tabular-nums}

/* ---------------- Roof assembly visual ---------------- */
.assembly-section{background:#e7ece8}
.assembly-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center}
.assembly-legend{display:grid;gap:8px;margin-top:28px}
.assembly-key{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:14px 15px;border-radius:14px;background:rgba(255,255,255,.65);border:1px solid var(--line);text-align:left;font-weight:730;transition:.2s}
.assembly-key span{font-size:.6rem;color:var(--orange)}
.assembly-key.active,.assembly-key:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateX(4px)}
.assembly-visual{min-height:560px;border-radius:30px;background:#0a0d0f;overflow:hidden;perspective:1200px;border:1px solid rgba(0,0,0,.15);box-shadow:0 34px 90px rgba(20,24,27,.16)}
.assembly-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
.assembly-layer{position:absolute;left:15%;right:15%;height:86px;border-radius:12px;transform:skewX(-20deg) rotateX(58deg) rotateZ(-6deg);transform-origin:center;display:flex;align-items:center;padding-left:34px;border:1px solid rgba(255,255,255,.18);transition:.28s;box-shadow:0 25px 30px rgba(0,0,0,.25)}
.assembly-layer span{transform:skewX(20deg) rotateZ(6deg);font-size:.58rem;letter-spacing:.16em;font-weight:850}
.layer-sheet{top:85px;background:linear-gradient(90deg,#cdd5d7,#f8faf9 42%,#9aa6aa);color:#101416}
.layer-fix{top:180px;background:linear-gradient(90deg,#ff6a32,#f89b76);color:#160805}
.layer-support{top:275px;background:linear-gradient(90deg,#4c93ff,#76b3ff);color:#07101b}
.layer-structure{top:370px;background:linear-gradient(90deg,#252c31,#596269);color:#fff}
.assembly-layer.active{left:10%;right:10%;filter:brightness(1.18);box-shadow:0 28px 48px rgba(184,243,45,.10);outline:1px solid rgba(184,243,45,.35)}
.assembly-axis{position:absolute;right:16px;bottom:14px;color:#6e7a81;font-size:.52rem;letter-spacing:.18em;font-weight:800}

/* ---------------- Maintenance condition map ---------------- */
.inspection-section{background:#eef1ec}
.inspection-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.inspection-visual{min-height:560px;border-radius:30px;overflow:hidden;background:#0a0d0f;box-shadow:0 34px 90px rgba(20,24,27,.15)}
.inspection-roof{position:absolute;inset:10% 7% 17%;border-radius:22px;background:linear-gradient(135deg,#86949a,#dae0e1 40%,#6a777d);clip-path:polygon(9% 8%,88% 0,100% 78%,20% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.inspection-roof:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(112deg,rgba(0,0,0,.22) 0 2px,transparent 2px 46px)}
.defect-marker{position:absolute;left:var(--x);top:var(--y);z-index:4;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;color:#0a0d0f;font-size:.65rem;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:.2s}
.defect-marker:hover,.defect-marker.active{background:var(--lime);transform:translate(-50%,-50%) scale(1.1)}
.defect-marker:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(184,243,45,.26);border-radius:50%;animation:pulseRing 2.2s ease-in-out infinite}
@keyframes pulseRing{0%,100%{transform:scale(.8);opacity:.2}50%{transform:scale(1.18);opacity:.8}}
.inspection-readout{position:absolute;left:24px;right:24px;bottom:22px;z-index:5;padding:18px;border-radius:18px;background:rgba(8,11,13,.88);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.12)}
.inspection-readout small{display:block;color:var(--lime);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}
.inspection-readout strong{font-size:1.1rem}
.inspection-readout p{margin:7px 0 0;color:#b7c2c7;font-size:.85rem}

/* ---------------- Coverage network ---------------- */
.coverage-section{background:#e2e7e5}
.coverage-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center}
.coverage-visual{min-height:520px;border-radius:30px;overflow:hidden;background:#0a0d0f;color:#fff;box-shadow:0 34px 90px rgba(20,24,27,.15)}
.coverage-gridlines{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
.coverage-visual svg{position:absolute;inset:0;width:100%;height:100%}
.network-lines path{fill:none;stroke:rgba(184,243,45,.23);stroke-width:1.5;stroke-dasharray:7 8}
.hub{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:4;width:132px;height:132px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--lime);color:var(--ink);box-shadow:0 0 0 14px rgba(184,243,45,.08),0 0 0 28px rgba(184,243,45,.035)}
.hub b{font-size:.72rem;letter-spacing:.08em}.hub span{font-size:.58rem;margin-top:4px}
.coverage-node{position:absolute;z-index:3;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#141a1e;color:#cbd4d8;font-size:.66rem;font-weight:740}
.n1{left:31%;top:51%}.n2{left:47%;top:10%}.n3{right:11%;top:19%}.n4{right:4%;top:55%}.n5{left:44%;bottom:8%}.n6{left:15%;bottom:10%}.n7{left:3%;top:61%}.n8{left:7%;top:24%}.n9{left:23%;top:44%}

/* ---------------- Contact completion meter ---------------- */
.quote-health{margin:22px 0 26px;padding:18px 19px;border-radius:18px;background:#0a0d0f;color:#fff;border:1px solid rgba(255,255,255,.05)}
.quote-health-top{display:flex;justify-content:space-between;gap:20px;align-items:end}
.quote-health-top small{display:block;color:#7f8b91;text-transform:uppercase;font-size:.55rem;letter-spacing:.12em;margin-bottom:4px}
.quote-health-top strong{font-size:1.25rem;color:var(--lime)}
.quote-health-top>span{font-size:.75rem;color:#b8c3c8;text-align:right}
.quote-health-bar{height:9px;margin:12px 0 10px;border-radius:999px;overflow:hidden;background:#182025}
.quote-health-bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--orange),var(--lime));border-radius:inherit;transition:.3s}
.quote-health p{margin:0;font-size:.79rem;color:#8f9ca2}

/* Compact sections + richer card movement */
.visual-card,.project-feature,.project-card,.profile-card,.scope-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.profile-card:hover,.scope-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(20,24,27,.09);border-color:rgba(20,24,27,.22)}

@media(max-width:1080px){
  .roof-lab-shell,.scale-shell,.assembly-grid,.inspection-grid,.coverage-grid{grid-template-columns:1fr}
  .roof-lab-copy{padding:10px 6px}
  .roof-lab-visual{min-height:560px}
  .scale-copy{max-width:760px}
}
@media(max-width:980px){
  section{padding:76px 0}
  .quote-rail{display:none}
  .roofline-art{width:80vw;right:-20%;opacity:.12}
  .material-console{grid-template-columns:1fr}
  .material-selector{justify-content:flex-start}
  .scale-row{grid-template-columns:135px 1fr 68px}
}
@media(max-width:640px){
  section{padding:66px 0}
  .roof-lab-shell{padding:18px;border-radius:24px}
  .roof-lab-visual{min-height:520px;padding:16px}
  .profile-svg{height:315px}
  .profile-readout{grid-template-columns:1fr}
  .profile-selector{gap:6px}
  .profile-chip{font-size:.68rem;padding:9px 10px}
  .scale-shell{gap:36px}
  .scale-row{grid-template-columns:1fr 58px;gap:10px;padding:10px}
  .scale-label{grid-column:1/-1}
  .assembly-visual,.inspection-visual,.coverage-visual{min-height:440px}
  .assembly-layer{left:9%;right:9%;height:72px;padding-left:20px}
  .layer-sheet{top:65px}.layer-fix{top:145px}.layer-support{top:225px}.layer-structure{top:305px}
  .assembly-layer.active{left:5%;right:5%}
  .coverage-node{font-size:.56rem;padding:6px 7px}
  .hub{width:105px;height:105px}
  .n1{left:24%}.n9{left:18%}.n7{left:2%}.n3{right:2%}.n4{right:1%}
}
