:root{--bg:#15171b;--bg-soft:#20242a;--surface:#fff;--surface-soft:#f4f6f8;--text:#d8dde3;--text-dark:#20242a;--muted:#78828f;--muted-light:#aeb6c0;--line:#ffffff1f;--line-dark:#dce2e8;--copper:#c8383e;--copper-dark:#8f1e23;--cyan:#4fb7c5;--metal:#5c6670;--shadow:0 20px 60px #00000038;--container:1360px;--radius:8px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:140px}body{background:var(--bg);margin:0}body,button,a{font:inherit}img,video{max-width:100%;display:block}a{color:inherit}p{margin:0;line-height:1.7}h1,h2,h3{color:inherit;margin:0;line-height:1.08}h1{max-width:850px;font-size:clamp(2.55rem,6vw,4.9rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}h3{font-size:1.18rem}.container{width:min(100% - 40px, var(--container));margin:0 auto}.section{padding:96px 0}.section-light{color:var(--text-dark);background:var(--surface)}.section-heading{max-width:760px;margin-bottom:42px}.section-heading p:not(.eyebrow){color:var(--muted);margin-top:18px}.eyebrow{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:.78rem;font-weight:800}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;font-weight:800;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button:focus-visible{outline-offset:3px;outline:3px solid #4fb7c573}.button-primary{color:#fff;background:linear-gradient(135deg, var(--copper), var(--copper-dark));box-shadow:0 14px 30px #c8383e40}.button-secondary{color:var(--text);border-color:var(--line);background:#ffffff0d}.section-light .button-secondary{color:var(--text-dark);border-color:var(--line-dark);background:#fff}.hero{background:linear-gradient(120deg,#c8383e2e,#0000 32%),linear-gradient(160deg,#4fb7c529,#0000 42%),#15171b;align-items:center;min-height:calc(100vh - 74px);display:grid;position:relative;overflow:hidden}.hero:before{content:"";opacity:.26;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(320px,.76fr);align-items:center;gap:52px;display:grid;position:relative}.hero-lead{max-width:710px;color:var(--muted-light);margin-top:24px;font-size:1.18rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero-visual{border:1px solid var(--line);border-radius:var(--radius);min-height:470px;box-shadow:var(--shadow);background:radial-gradient(circle at 25% 20%,#c8383e38,#0000 32%),linear-gradient(145deg,#ffffff14,#ffffff05);position:relative;overflow:hidden}.model-grid{background-image:linear-gradient(#4fb7c538 1px,#0000 1px),linear-gradient(90deg,#4fb7c538 1px,#0000 1px);background-size:28px 28px;border:1px solid #ffffff2e;position:absolute;inset:48px 30px;transform:perspective(780px)rotateX(58deg)rotate(-28deg)}.model-card{z-index:2;border-radius:var(--radius);background:#15171bd6;border:1px solid #ffffff29;width:min(78%,310px);padding:24px;position:absolute;bottom:44px;right:38px}.model-card span,.model-card small{color:var(--muted-light);display:block}.model-card strong{color:#fff;margin:8px 0;font-size:4.3rem;line-height:.95;display:block}.model-node{background:linear-gradient(135deg,#c8383ec7,#8f1e2394);border:1px solid #ffffff38;width:78px;height:78px;position:absolute;transform:rotate(45deg)skew(-8deg,-8deg)}.node-one{top:96px;left:82px}.node-two{background:linear-gradient(135deg,#4fb7c5b8,#5c6670a3);top:172px;right:92px}.node-three{bottom:104px;left:154px}.model-axis{background:#4fb7c5b3;position:absolute}.axis-x{height:2px;top:238px;left:70px;right:82px;transform:rotate(-18deg)}.axis-y{width:2px;top:70px;bottom:80px;left:220px;transform:rotate(24deg)}.services-grid,.process-grid,.preview-grid,.library-resource-grid,.sectors-grid{gap:18px;display:grid}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card,.preview-card,.sector-card,.revit-card,.process-grid div,.library-resource-grid article{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft)}.service-card{min-height:280px;padding:0;overflow:hidden}.service-card img{aspect-ratio:16/9;object-fit:cover;background:var(--bg-soft);width:100%}.service-card-body{padding:26px}.service-card-wide{grid-column:span 2}.service-icon{width:44px;height:44px;color:var(--copper);border:1px solid #c8383e4d;border-radius:6px;justify-content:center;align-items:center;margin-bottom:24px;font-weight:900;display:inline-flex}.service-card p,.revit-card p,.process-grid p,.sector-card p{color:var(--muted);margin-top:14px}.split-layout,.about-grid,.library-grid,.contact-box{grid-template-columns:.86fr 1.14fr;align-items:start;gap:54px;display:grid}.split-layout p:not(.eyebrow),.about-grid p,.library-grid p,.contact-box p{color:var(--muted-light);margin-top:18px}.experience-list{gap:14px;display:grid}.experience-list div{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0d;padding:22px}.experience-list strong,.experience-list span{display:block}.experience-list span{color:var(--muted-light);margin-top:8px;line-height:1.55}.sectors-grid{grid-template-columns:repeat(2,1fr)}.preview-card,.library-resource-grid article{padding:26px}.library-resource-grid article h3{color:var(--text-dark)}.library-resource-grid article p{color:var(--muted);margin-top:14px}.sector-card{overflow:hidden}.sector-card img,.sector-card video{aspect-ratio:16/10;object-fit:cover;background:var(--bg-soft);width:100%}.sector-card div{padding:24px}.preview-card span,.library-resource-grid span,.revit-card span{color:var(--copper);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.preview-grid{grid-template-columns:repeat(3,1fr)}.preview-card .button{margin-top:22px}.library-grid{align-items:center}.library-grid .button{margin-top:28px}.revit-card{padding:32px}.revit-card ul{color:var(--muted);margin:22px 0 0;padding-left:20px;line-height:1.75}.process-grid{grid-template-columns:repeat(3,1fr)}.process-grid div{border-color:var(--line);background:#ffffff0d;padding:24px}.process-grid span{color:var(--cyan);font-weight:900}.page-hero{background:linear-gradient(120deg,#c8383e33,#0000 34%),linear-gradient(160deg,#4fb7c526,#0000 45%),#15171b}.page-hero-grid{grid-template-columns:1fr 360px;align-items:end;gap:48px;display:grid}.page-summary{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0f;padding:28px}.page-summary strong,.page-summary span{display:block}.page-summary strong{color:#fff;font-size:1.2rem}.page-summary span{color:var(--muted-light);margin-top:12px;line-height:1.6}.library-resource-grid{grid-template-columns:repeat(3,1fr)}.bim-library-status{border:1px solid var(--line-dark);border-radius:var(--radius);color:var(--muted);background:var(--surface-soft);padding:24px;font-weight:800}.bim-component-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.bim-component-card{color:var(--text-dark);border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft);overflow:hidden}.bim-component-media{aspect-ratio:16/10;background:var(--bg-soft);position:relative;overflow:hidden}.bim-component-media img,.bim-component-placeholder{width:100%;height:100%}.bim-component-media img{object-fit:cover}.bim-component-placeholder{background:linear-gradient(135deg,#c8383e38,#0000 44%),linear-gradient(160deg,#4fb7c533,#0000 54%),#20242a;place-items:center;display:grid;position:absolute;inset:0}.bim-component-placeholder:before{content:"";opacity:.26;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.bim-component-placeholder span{color:#fff;background:#15171bc2;border:1px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;width:62px;height:62px;font-weight:900;display:inline-flex;position:relative}.bim-component-placeholder.is-hidden{display:none}.bim-component-body{gap:18px;padding:24px;display:grid}.bim-component-body p{color:var(--muted)}.bim-component-meta{gap:10px;margin:0;display:grid}.bim-component-meta div{border-bottom:1px solid var(--line-dark);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.bim-component-meta dt{color:var(--muted);font-weight:800}.bim-component-meta dd{color:var(--text-dark);text-align:right;margin:0;font-weight:900}.bim-download-disabled{pointer-events:none}.auth-layout{grid-template-columns:minmax(0,.78fr) minmax(300px,.52fr);align-items:stretch;gap:26px;display:grid}.auth-form,.auth-panel,.portal-card{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft)}.auth-form{gap:18px;padding:32px;display:grid}.auth-form[hidden]{display:none}.auth-form p:not(.eyebrow){color:var(--muted);margin-top:14px}.auth-form label{color:var(--text-dark);gap:8px;font-weight:900;display:grid}.auth-form input,.auth-form select,.profile-form input,.profile-form select,.profile-form textarea{border:1px solid var(--line-dark);width:100%;min-height:48px;color:var(--text-dark);background:#fff;border-radius:6px;padding:12px 14px}.auth-form input:focus,.auth-form select:focus,.profile-form input:focus,.profile-form select:focus,.profile-form textarea:focus{outline-offset:2px;outline:3px solid #4fb7c557}.profile-form textarea{resize:vertical;min-height:120px;font:inherit;font-weight:400;line-height:1.55}.auth-message{min-height:28px;color:var(--muted);font-weight:800}.auth-panel{color:#fff;background:linear-gradient(135deg,#c8383eb8,#0000 46%),linear-gradient(160deg,#4fb7c566,#0000 58%),#20242a;align-content:end;gap:16px;min-height:360px;padding:32px;display:grid}.auth-panel span,.portal-card span{color:var(--copper);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.auth-panel span{color:#fff}.auth-panel p{color:var(--muted-light)}.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.portal-card{padding:26px}.portal-card p{color:var(--muted);margin-top:14px}.portal-profile-layout,.admin-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:26px;display:grid}.portal-profile-layout{grid-template-columns:minmax(0,1fr)}.account-removal{border-top:1px solid var(--line-dark);padding-top:26px}#delete-confirm{border:1px solid var(--line-dark);border-radius:var(--radius);width:min(540px,100% - 40px);color:var(--text-dark);background:#fff;padding:32px}#delete-confirm::backdrop{background:#000000a6}#delete-confirm h2{font-size:1.65rem}#delete-confirm p{line-height:1.7}.page-summary .session-role{color:#fff;letter-spacing:.06em;margin-top:8px}.admin-shortcuts{flex-wrap:wrap;gap:10px}.admin-shortcuts .button{padding:12px 18px}.admin-section[id]{scroll-margin-top:24px}.admin-layout{grid-template-columns:360px minmax(0,1fr)}.profile-form,.danger-panel,.admin-users-panel{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft)}.profile-form{gap:22px;padding:30px;display:grid}.profile-form .section-heading{margin-bottom:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-form label,.profile-photo-row label{color:var(--text-dark);gap:8px;font-weight:900;display:grid}.profile-photo-row{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;display:grid}.profile-photo-preview{border:1px solid var(--line-dark);border-radius:var(--radius);width:120px;height:120px;color:var(--muted);background:#fff;place-items:center;font-weight:900;display:grid;overflow:hidden}.profile-photo-preview img{object-fit:cover;width:100%;height:100%}.danger-panel{gap:16px;padding:24px;display:grid}.danger-panel p:not(.eyebrow),.delete-confirm p{color:var(--muted)}.delete-confirm{gap:10px;display:grid}.admin-users-panel{padding:24px}.admin-users-panel .section-heading{margin-bottom:20px}.admin-users-list{gap:10px;display:grid}.admin-user-row{border:1px solid var(--line-dark);width:100%;color:var(--text-dark);text-align:left;cursor:pointer;background:#fff;border-radius:6px;gap:6px;padding:14px;display:grid}.admin-user-row.is-active,.admin-user-row:hover{background:#c8383e12;border-color:#c8383e8c}.admin-user-row span{color:var(--muted);font-size:.9rem}#admin-projects-list .admin-user-row strong{font-weight:600}.admin-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-section{gap:24px;display:grid}.section-admin-users{padding-top:0}.form-grid-full{grid-column:1/-1}.checkbox-field{align-items:center;grid-template-columns:none!important;gap:10px!important;display:flex!important}.checkbox-field input{width:18px;min-height:18px;accent-color:var(--copper)}.admin-current-files{border:1px solid var(--line-dark);color:var(--muted);background:#fff;border-radius:6px;gap:8px;padding:14px;font-weight:800;display:grid}.admin-current-files:empty{display:none}.admin-current-files a{color:var(--copper)}.admin-empty{border:1px dashed var(--line-dark);color:var(--muted);background:#fff;border-radius:6px;margin:0;padding:14px}.admin-gallery-admin{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-gallery-admin>.admin-gallery-count{color:var(--muted);grid-column:1/-1;margin:0;font-weight:800}.admin-gallery-admin:empty{display:none}.admin-gallery-admin figure{border:1px solid var(--line-dark);background:#fff;border-radius:6px;margin:0;overflow:hidden}.admin-gallery-admin img{aspect-ratio:4/3;object-fit:cover;width:100%}.admin-gallery-admin figcaption{color:var(--muted);gap:8px;padding:10px;font-size:.86rem;font-weight:800;display:grid}.admin-gallery-admin button{min-height:34px;color:var(--copper);cursor:pointer;background:#c8383e12;border:1px solid #c8383e59;border-radius:6px;font-weight:900}.projects-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:26px;display:grid}.projects-menu{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft);padding:24px;position:sticky;top:156px}.projects-menu h2{font-size:1.55rem}.projects-menu nav{gap:8px;margin-top:20px;display:grid}.projects-menu a{border:1px solid var(--line-dark);color:var(--text-dark);background:#fff;border-radius:6px;padding:11px 12px;font-weight:600;line-height:1.25;text-decoration:none;transition:transform .18s,border-color .18s,background .18s}.projects-menu a:hover,.projects-menu a:focus-visible{background:#c8383e12;border-color:#c8383e73;transform:translateY(-1px)}.projects-list{gap:24px;display:grid}.project-detail{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-soft);padding:28px;scroll-margin-top:24px}.project-detail-heading{grid-template-columns:auto 1fr;align-items:start;gap:18px;margin-bottom:24px;display:grid}.project-detail-heading>span{width:48px;height:48px;color:var(--copper);border:1px solid #c8383e47;border-radius:6px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.project-detail-heading h2{font-size:clamp(1.6rem,2.4vw,2.35rem)}.project-detail-heading p{color:var(--muted);margin-top:12px}.project-featured{color:var(--copper);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:900;display:inline-block}.project-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.project-placeholder{margin:0}.project-image img,.project-image video{aspect-ratio:4/3;border:1px solid var(--line-dark);object-fit:cover;background:var(--bg-soft);border-radius:6px;width:100%}.project-image-open{cursor:zoom-in;background:0 0;border:0;border-radius:6px;width:100%;padding:0;display:block}.project-image-open:focus-visible{outline-offset:3px;outline:3px solid #4fb7c5a6}.project-lightbox{border-radius:var(--radius);color:#fff;width:min(1120px,100% - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);background:#15171b;border:1px solid #ffffff29;padding:56px 20px 20px;overflow:auto}.project-lightbox::backdrop{background:#07090ce0}.project-lightbox img{object-fit:contain;width:100%;max-height:calc(100dvh - 180px);display:block}.project-lightbox p{color:var(--muted-light);text-align:center;margin-top:14px}.project-lightbox-close{color:#fff;background:var(--copper-dark);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;width:38px;height:38px;font-size:1.5rem;position:absolute;top:12px;right:12px}.page-hero-single{grid-template-columns:minmax(0,1fr)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none;animation:none}}.project-placeholder div{aspect-ratio:4/3;border:1px solid var(--line-dark);background:linear-gradient(135deg,#c8383e2e,#0000 42%),linear-gradient(160deg,#4fb7c529,#0000 54%),#20242a;border-radius:6px;place-items:center;display:grid;position:relative;overflow:hidden}.project-placeholder div:before{content:"";opacity:.28;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.project-placeholder div span{color:#fff;background:#15171bb8;border:1px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:inline-flex;position:relative}.project-placeholder figcaption{color:var(--muted);margin-top:8px;font-size:.88rem;font-weight:800}.cta-band{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0d;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:34px;display:grid}.cta-band p:not(.eyebrow){color:var(--muted-light);margin-top:16px}.contact{background:linear-gradient(135deg, #c8383e38, #4fb7c51f), var(--bg-soft)}.contact-box{align-items:center}.contact-actions{flex-direction:column;gap:14px;display:flex}.social-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.social-actions a{border:1px solid var(--line);color:#fff;background:#ffffff0d;border-radius:6px;justify-content:flex-start;align-items:center;gap:10px;min-height:48px;padding:12px 16px;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.social-actions a:hover,.social-actions a:focus-visible{background:#c8383e24;border-color:#c8383ea6;transform:translateY(-2px)}.social-actions svg{fill:currentColor;flex:none;width:22px;height:22px}.social-actions span{min-width:0}.site-footer{border-top:1px solid var(--line);background:#101215;padding:46px 0}.footer-grid{grid-template-columns:1fr auto;align-items:center;gap:36px;display:grid}.site-footer img{width:280px;max-width:100%;margin-bottom:18px}.site-footer p,.site-footer small{color:var(--muted-light)}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:14px 22px;display:flex}@media (width<=1320px){.hero-grid,.page-hero-grid,.split-layout,.about-grid,.library-grid,.auth-layout,.portal-profile-layout,.admin-layout,.projects-layout,.contact-box,.footer-grid,.cta-band{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:380px}.services-grid,.process-grid,.preview-grid,.sectors-grid,.portal-grid,.bim-component-grid,.library-resource-grid{grid-template-columns:repeat(2,1fr)}.projects-menu{position:static}.projects-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-gallery-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card-wide{grid-column:span 1}.footer-links{justify-content:flex-start}.cta-band .button{justify-self:start}}@media (width<=680px){.container{width:min(100% - 28px, var(--container))}.section{padding:72px 0}.hero-grid{gap:34px}.hero-actions,.contact-actions{align-items:stretch}.hero-actions .button,.contact-actions .button{width:100%}.social-actions,.services-grid,.process-grid,.preview-grid,.sectors-grid,.portal-grid,.bim-component-grid,.library-resource-grid,.projects-menu nav,.project-gallery,.admin-gallery-admin{grid-template-columns:1fr}.project-detail{padding:20px}.project-detail-heading{grid-template-columns:1fr}.page-summary,.cta-band,.profile-form,.danger-panel,.admin-users-panel{padding:22px}.form-grid,.profile-photo-row{grid-template-columns:1fr}.hero-visual{min-height:320px}.model-card{padding:18px;bottom:22px;right:18px}.model-card strong{font-size:3.2rem}.model-grid{inset:38px 18px}}.footer-links a{color:var(--muted-light);font-size:.9rem;font-weight:700;text-decoration:none}.footer-links a:hover{color:#fff}
