@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--blue:#1677ff;--blue2:#0b5ee8;--ink:#07111d;--navy:#07101c;--panel:#0c1827;--line:#dfe5eb;--soft:#f5f7fa;--muted:#697586;--white:#fff;--green:#2fbf71}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.site-body{overflow-x:hidden}.site-nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5%;color:#fff;background:linear-gradient(#07101cbb,transparent);transition:.3s}.site-nav.scrolled{background:#07101cf5;backdrop-filter:blur(14px);height:72px}.site-nav nav{display:flex;gap:30px;margin-left:auto;margin-right:35px}.site-nav nav a{font-size:14px;color:#fff9;transition:.2s}.site-nav nav a:hover{color:#fff}.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.4px;color:#fff}.logo-mark{width:34px;height:25px;border:2px solid currentColor;display:grid;place-items:center;font-size:10px;transform:skew(-14deg);font-weight:800}.nav-cta,.primary,.admin-primary{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:13px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 10px 28px #1677ff33}.nav-cta{padding:12px 18px;font-size:14px}.mobile-menu{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:820px;background:#0a1522 center/cover no-repeat;position:relative;color:#fff;display:flex;align-items:flex-end}.hero-inner{width:100%;padding:150px 8% 70px;max-width:1200px}.eyebrow,.kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:#6b9cff;margin-bottom:18px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(48px,7vw,94px);line-height:.98;letter-spacing:-4px;max-width:950px;margin:0 0 24px}.hero p{max-width:700px;color:#e7edf5;font-size:18px;line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:32px}.ghost{border:1px solid #ffffff66;color:#fff;padding:13px 20px;border-radius:8px;font-weight:700}.hero-bottom{display:flex;justify-content:space-between;margin-top:90px;color:#cbd5e1;font-size:12px}.section{padding:110px 8%;max-width:1500px;margin:auto}.about-home{display:grid;grid-template-columns:1fr 1.1fr 180px;gap:45px;align-items:center}.about-copy h2,.section h2{font-family:Manrope,sans-serif;font-size:clamp(35px,4vw,60px);line-height:1.05;letter-spacing:-2px;margin:0 0 20px}.about-copy p{line-height:1.8;color:#5c6878;max-width:530px}.about-image img{width:100%;height:430px;object-fit:cover;border-radius:14px}.stats-rail{display:grid;gap:22px}.stats-rail div{border-left:2px solid #dce4ed;padding-left:18px}.stats-rail strong{display:block;font-size:28px}.stats-rail span{display:block;color:#748094;font-size:12px;margin-top:4px}.text-link{font-weight:800;font-size:14px;color:var(--blue);display:inline-block;margin-top:12px}.dark-section{max-width:none;background:var(--navy);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head h2{font-size:44px;margin:0}.light-kicker{color:#7ea8ff}.light-link{color:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#101e2f;border:1px solid #ffffff10;border-radius:12px;overflow:hidden;transition:.3s}.service-card:hover{transform:translateY(-5px);border-color:#1677ff66}.service-image{height:230px;position:relative;background:#15263b}.service-image img{width:100%;height:100%;object-fit:cover}.service-no{position:absolute;top:14px;left:14px;background:#07101dcc;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:11px}.service-content{padding:22px;position:relative}.service-content h3{font-size:21px;margin:0 0 9px}.service-content p{color:#9aa9bb;line-height:1.55;font-size:13px;padding-right:25px}.service-content>span{position:absolute;right:20px;bottom:22px;color:#72a6ff}.projects-section{background:#f7f8fa;max-width:none}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-grid-large{grid-template-columns:repeat(2,1fr)}.project-card{display:block}.project-img{height:290px;border-radius:12px;overflow:hidden;background:#dbe2ea;position:relative}.project-grid-large .project-img{height:430px}.project-img img{width:100%;height:100%;object-fit:cover;transition:.6s}.project-card:hover img{transform:scale(1.04)}.project-img>span{position:absolute;right:15px;bottom:15px;background:#07101dcc;color:#fff;padding:9px 12px;border-radius:7px;font-size:12px;opacity:0;transition:.3s}.project-card:hover .project-img>span{opacity:1}.project-meta{padding:16px 2px}.project-meta h3{margin:0 0 6px;font-size:19px}.project-meta p{margin:0;color:#768194;font-size:13px}.quote-band{padding:80px 8%;background:#07101c;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.quote-band h2{font-family:Manrope;font-size:48px;letter-spacing:-2px;margin:0 0 12px}.quote-band p{color:#aebaca;max-width:650px}.site-footer{background:#050b12;color:#fff;padding:65px 8% 25px}.footer-top{display:grid;grid-template-columns:1.5fr .7fr 1fr 1.2fr;gap:50px;padding-bottom:55px}.footer-top .logo{margin-bottom:20px}.footer-top p,.footer-top a,.footer-top span{display:block;color:#91a0b2;font-size:13px;line-height:1.7}.footer-top h4{font-size:13px;text-transform:uppercase;letter-spacing:1px}.footer-top a{margin:7px 0}.footer-btn{display:inline-block!important;background:#1677ff;color:#fff!important;padding:11px 15px;border-radius:7px;margin-top:8px!important}.footer-bottom{border-top:1px solid #ffffff12;padding-top:20px;display:flex;justify-content:space-between;color:#667386;font-size:11px}.flash-wrap{position:fixed;top:90px;right:25px;z-index:50}.flash{background:#fff;border:1px solid #d8e0e8;border-left:4px solid var(--blue);padding:13px 18px;border-radius:8px;box-shadow:0 12px 35px #07101c18;margin-bottom:8px}.page-hero{min-height:520px;padding:190px 8% 80px;background-color:#07101c;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;display:flex;align-items:end}.page-hero h1{font-family:Manrope;font-size:clamp(48px,6vw,82px);line-height:1;letter-spacing:-3px;max-width:950px;margin:0 0 18px}.page-hero p{color:#b6c2d0;font-size:18px;max-width:650px}.article-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.article-layout .lead,.lead{font-size:24px;line-height:1.65;color:#334155}.article-layout aside img{height:500px;width:100%;object-fit:cover;border-radius:14px}.service-list{display:grid;gap:35px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:20px 0 55px;border-bottom:1px solid #e5e9ee}.service-row-image{height:330px;background:#e9eef3;border-radius:12px;overflow:hidden}.service-row-image img{width:100%;height:100%;object-fit:cover}.service-index{font-size:12px;color:var(--blue);font-weight:800}.service-row h2{font-family:Manrope;font-size:42px;letter-spacing:-1.5px;margin:8px 0 15px}.service-row p{color:#687486;line-height:1.7;max-width:560px}.project-detail-hero{min-height:650px;background:#0a1522 center/cover;display:flex;align-items:end;padding:170px 8% 80px;color:#fff}.project-detail-hero h1{font-family:Manrope;font-size:clamp(50px,7vw,100px);letter-spacing:-4px;margin:0 0 12px}.project-detail-hero p{color:#d3dbe5}.project-detail{max-width:1200px}.detail-copy{max-width:1000px}.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid #dfe5eb;border-bottom:1px solid #dfe5eb;padding:25px 0;margin-bottom:45px}.detail-facts span{color:#778293;font-size:11px;text-transform:uppercase;letter-spacing:1px}.detail-facts strong{display:block;color:#0b1725;font-size:15px;margin-top:8px;text-transform:none;letter-spacing:0}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 2% 100px}.gallery img{width:100%;height:520px;object-fit:cover;border-radius:8px}.contact-section{display:grid;grid-template-columns:1.4fr .7fr;gap:80px}.contact-form{display:grid;gap:20px}.contact-form label,.form-grid label{font-size:12px;font-weight:700;color:#4b5869;display:grid;gap:8px}.contact-form input,.contact-form textarea,.contact-form select,.form-grid input,.form-grid textarea,.form-grid select,.stat-edit input{border:1px solid #d7dee7;background:#fff;border-radius:8px;padding:14px;outline:none}.contact-form input:focus,.contact-form textarea:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff12}.contact-form textarea{min-height:180px;resize:vertical}.two,.two-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-aside{border-left:1px solid #e0e6ed;padding-left:35px;display:grid;align-content:start;gap:28px}.contact-aside span{display:block;color:#7a8796;font-size:11px;text-transform:uppercase;letter-spacing:1px}.contact-aside a,.contact-aside p{font-weight:700;margin:6px 0;line-height:1.5}.article{max-width:1000px}.article-inner{max-width:900px;margin:auto}.article-cover{width:100%;max-height:580px;object-fit:cover;border-radius:14px;margin-bottom:40px}.article-body{font-size:17px;line-height:1.8;color:#445164}
/* ADMIN */
.admin-body{background:#07101a;color:#e8eef6}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.admin-side{background:#06101c;border-right:1px solid #ffffff0d;padding:25px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{display:flex;gap:10px;align-items:center;color:#fff;font-weight:800;margin:0 7px 30px}.admin-brand small{display:block;color:#728196;font-size:9px;font-weight:600;margin-top:3px}.admin-brand.dark{color:#0b1725}.admin-group{margin-bottom:22px}.admin-group>small{font-size:9px;letter-spacing:1.5px;color:#506176;margin:0 10px 8px;display:block}.admin-group a,.admin-side-bottom a{display:flex;gap:12px;align-items:center;padding:11px 11px;border-radius:7px;color:#8d9caf;font-size:13px;margin:2px 0}.admin-group a:hover,.admin-group a.active{background:#1677ff18;color:#fff}.admin-side-bottom{margin-top:auto;border-top:1px solid #ffffff0b;padding-top:15px}.admin-main{background:#0a1420;min-width:0}.admin-top{height:72px;border-bottom:1px solid #ffffff0a;display:flex;justify-content:space-between;align-items:center;padding:0 35px;color:#dce4ee;background:#091522}.top-muted{color:#617187;font-size:10px;letter-spacing:1.4px;font-weight:800}.admin-user{display:flex;align-items:center;gap:10px}.admin-user small{display:block;color:#6f7e90;font-size:9px;margin-top:2px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#173b64;color:#8fc1ff;font-size:12px;font-weight:800}.admin-main>.flash-wrap{position:static;margin:15px 35px}.admin-main .flash{background:#0e2134;border-color:#20344a;color:#dce7f2}.page-title{padding:35px;display:flex;align-items:end;justify-content:space-between;gap:25px}.page-title h1{font-family:Manrope;font-size:35px;letter-spacing:-1.2px;margin:6px 0}.page-title p{color:#718095;margin:0}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 35px 20px}.metric,.panel{background:#0d1b2b;border:1px solid #ffffff09;border-radius:10px}.metric{padding:18px;position:relative}.metric-icon{width:36px;height:36px;border-radius:8px;background:#1677ff16;color:#5da0ff;display:grid;place-items:center;margin-bottom:15px}.metric small{display:block;color:#8090a3;font-size:11px}.metric strong{display:block;font-size:27px;margin-top:5px}.metric em{font-style:normal;color:#46c786;font-size:10px}.admin-grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;padding:0 35px 14px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.panel-head small{color:#53647a;font-size:9px;letter-spacing:1.3px;font-weight:800}.panel-head h2{font-size:17px;margin:5px 0 0}.panel-head>a{color:#5ea0ff;font-size:11px}.fake-chart{height:230px;display:flex;flex-direction:column;justify-content:end}.bars{height:190px;display:flex;align-items:end;gap:9px;border-bottom:1px solid #ffffff0b}.bars i{display:block;flex:1;background:linear-gradient(#2d8cff,#0d4f9e);border-radius:4px 4px 0 0;opacity:.9}.chart-labels{display:flex;justify-content:space-between;color:#53647a;font-size:9px;padding-top:10px}.lead-row,.project-admin-row,.content-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #ffffff08}.lead-row:last-child,.project-admin-row:last-child,.content-row:last-child{border-bottom:0}.lead-row>div,.project-admin-row>div,.content-row>div{flex:1;min-width:0}.lead-row b,.project-admin-row b,.content-row b{display:block;font-size:12px}.lead-row small,.project-admin-row small,.content-row small{display:block;color:#68798e;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status,.published{font-size:9px;padding:5px 7px;border-radius:20px;background:#123b2b;color:#55d595}.status.new{background:#2d2b12;color:#e9d36c}.status.contacted{background:#162d46;color:#6cb3ff}.status.quoted{background:#2d1940;color:#ca8fff}.status.in-progress{background:#17372f;color:#64d8aa}.empty{color:#66768a;font-size:12px}.quick-panel{margin:0 35px 14px}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.quick-grid a{background:#0a1624;border:1px solid #ffffff08;padding:18px;border-radius:8px;color:#77b0ff}.quick-grid b,.quick-grid span{display:block;color:#fff;font-size:11px;margin-top:9px}.quick-grid span{color:#64758a;font-size:9px;margin-top:4px}.project-admin-row img,.content-row>img{width:52px;height:38px;border-radius:6px;object-fit:cover;background:#162438}.media-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.media-strip img,.upload-tile{aspect-ratio:1;object-fit:cover;border-radius:6px;background:#101f31}.upload-tile{border:1px dashed #2a4561;display:grid;place-items:center;color:#4c7cae;font-size:20px}.upload-tile span{display:block;font-size:9px}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;padding:0 35px 35px}.builder-grid>div{display:grid;gap:14px}.builder-grid aside{display:grid;align-content:start;gap:14px}.sticky-panel{position:sticky;top:90px}.form-grid{display:grid;gap:15px}.form-grid h2{font-size:18px;margin:0 0 5px}.form-grid textarea{min-height:120px;resize:vertical}.large-text{min-height:300px!important}.two-col{grid-template-columns:1fr 1fr}.two-form{margin:0}.two-form>*{min-width:0}.builder-preview{width:100%;max-height:250px;object-fit:cover;border-radius:8px;border:1px solid #ffffff0b}.small-preview{max-height:180px}.full{width:100%}.secondary-btn,.mini-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:7px;border:1px solid #2a3c51;color:#9aabc0;background:#0a1624;font-size:12px;font-weight:700;cursor:pointer}.hint{color:#68798c;font-size:11px}.stat-edit{display:grid;grid-template-columns:1fr 80px;gap:7px;margin-bottom:8px}.stat-edit input{background:#091523;color:#dfe8f2;border-color:#203246;padding:9px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important}.check input{width:auto}.count-pill{background:#142b45;color:#6baaff;border-radius:20px;padding:5px 8px;font-size:10px}.content-row>a{color:#63a6ff;font-size:10px}.icon-delete{background:none;border:0;color:#7a4550;cursor:pointer;font-size:20px}.table-panel{margin:0 35px}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:11px}.admin-table th{text-align:left;color:#5e7087;font-size:9px;letter-spacing:1px;padding:11px;border-bottom:1px solid #ffffff0b}.admin-table td{padding:13px 11px;border-bottom:1px solid #ffffff08;color:#a8b6c7;vertical-align:top}.admin-table td b,.admin-table td small{display:block}.admin-table td small{color:#627389;margin-top:4px}.admin-table select{background:#0a1624;color:#b8c6d7;border:1px solid #24374d;border-radius:6px;padding:6px;font-size:10px}.message-cell{max-width:300px}.upload-panel{margin:0 35px 20px;display:flex;align-items:center;gap:25px;justify-content:space-between}.upload-panel p{color:#65758a;font-size:12px}.upload-panel input[type=file]{color:#8090a2}.media-library{padding:0 35px 35px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.media-card{background:#0d1b2b;border:1px solid #ffffff08;border-radius:9px;overflow:hidden;position:relative}.media-card img{width:100%;aspect-ratio:1;object-fit:cover}.media-card>div{padding:10px}.media-card b,.media-card small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card small{color:#65758a;margin-top:4px}.media-card form{position:absolute;top:7px;right:7px;background:#07101ccc;border-radius:50%}.narrow{max-width:500px;margin:0 35px}.login-body{min-height:100vh;background:linear-gradient(135deg,#06101c,#10243b);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:14px;padding:38px;box-shadow:0 30px 80px #0007;color:#07111d}.login-card h1{font-family:Manrope;font-size:35px;margin:35px 0 7px}.login-card p{color:#687587}.login-card form{display:grid;gap:16px;margin-top:28px}.login-card label{font-size:12px;font-weight:700;display:grid;gap:7px}.login-card input{padding:13px;border:1px solid #d5dce5;border-radius:7px}.admin-primary{min-height:42px}.login-note{color:#8793a2;display:block;margin-top:18px}.admin-brand.dark .logo-mark{color:#0b1725}
/* Uploaded brand logos are stored as transparent PNGs, so the existing site background shows through. */.brand-logo{display:block;max-width:150px;max-height:42px;width:auto;height:auto;object-fit:contain;background:transparent}.site-logo{max-width:140px;max-height:42px}.footer-logo{max-width:140px;max-height:42px}.admin-brand-logo{display:grid;place-items:center;min-width:34px;max-width:140px}.admin-logo{max-width:120px;max-height:38px}.admin-header-logo{display:block;width:100%;height:100%;object-fit:contain}.logo-preview-box{display:grid;gap:8px;color:#728196;font-size:10px}.logo-preview{max-width:220px;max-height:100px;width:auto;height:auto;object-fit:contain;background:#0a1522;border:1px solid #203246;border-radius:8px;padding:10px}.brand-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.brand-upload-grid label{min-width:0}.admin-brand-logo .logo-mark{color:#fff}.social-links{display:inline-flex;align-items:center;gap:10px;margin-left:14px;vertical-align:middle}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#7188a3;transition:.2s}.social-links a:hover{color:#fff}.social-links svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-links .social-dot{fill:currentColor;stroke:none}@media(max-width:700px){.brand-upload-grid{grid-template-columns:1fr}.site-logo{max-width:120px;max-height:34px}}@media(max-width:1000px){.site-nav nav{display:none}.mobile-menu{display:block}.nav-cta{margin-left:auto;margin-right:15px}.about-home{grid-template-columns:1fr 1fr}.stats-rail{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid-2,.builder-grid{grid-template-columns:1fr}.sticky-panel{position:static}.quick-grid{grid-template-columns:repeat(3,1fr)}.media-library{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.site-nav{height:68px;padding:0 20px}.nav-cta{display:none}.hero{min-height:720px}.hero-inner{padding:130px 22px 40px}.hero h1{font-size:48px;letter-spacing:-2.5px}.hero p{font-size:15px}.hero-bottom{margin-top:55px}.section{padding:70px 22px}.about-home,.article-layout,.contact-section,.service-row{grid-template-columns:1fr}.about-image img{height:300px}.stats-rail{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}.section-head h2{font-size:35px}.service-grid,.project-grid,.project-grid-large{grid-template-columns:1fr}.project-img,.project-grid-large .project-img{height:280px}.quote-band{padding:65px 22px;flex-direction:column;align-items:start}.quote-band h2{font-size:38px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.page-hero{min-height:440px;padding:140px 22px 55px}.page-hero h1{font-size:47px}.two,.two-form,.two-col{grid-template-columns:1fr}.detail-facts{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;padding:0 12px 60px}.gallery img{height:330px}.admin-shell{grid-template-columns:1fr}.admin-side{position:relative;height:auto}.admin-group,.admin-side-bottom{display:none}.admin-top{padding:0 20px}.page-title{padding:25px 20px;align-items:start;flex-direction:column}.admin-stats,.admin-grid-2,.builder-grid{padding-left:20px;padding-right:20px}.quick-panel,.table-panel,.upload-panel,.narrow{margin-left:20px;margin-right:20px}.quick-grid{grid-template-columns:1fr 1fr}.media-library{padding:0 20px 25px;grid-template-columns:1fr 1fr}.admin-brand{margin-bottom:0}.admin-main>.flash-wrap{margin:10px 20px}.upload-panel{align-items:start;flex-direction:column}.admin-table{min-width:800px}}


/* Standard Canopy AI help widget — isolated so existing page design stays unchanged. */
.ai-widget{position:fixed;right:24px;bottom:24px;z-index:9999;font-family:inherit}.ai-fab{border:0;border-radius:999px;padding:12px 17px;background:#0a1522;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25);display:flex;gap:8px;align-items:center;font:600 13px inherit;cursor:pointer}.ai-fab span:first-child{font-size:16px;color:#d8c276}.ai-panel{display:none;position:absolute;right:0;bottom:54px;width:360px;height:540px;background:#fff;border:1px solid #dfe5eb;border-radius:14px;box-shadow:0 20px 55px rgba(5,15,28,.28);overflow:hidden}.ai-panel.open{display:flex;flex-direction:column}.ai-head{height:62px;background:#0a1522;color:#fff;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.ai-head strong{display:block;font-size:14px}.ai-head small{display:block;color:#aab7c7;font-size:11px;margin-top:2px}.ai-head button{background:none;border:0;color:#fff;font-size:24px;cursor:pointer}.ai-messages{flex:1;padding:14px;overflow:auto;background:#f7f8fa}.ai-msg{max-width:88%;padding:10px 12px;border-radius:11px;margin:0 0 10px;font-size:13px;line-height:1.5;white-space:pre-wrap}.ai-msg.bot{background:#fff;color:#25364a;border:1px solid #e1e6ec;margin-right:auto}.ai-msg.user{background:#0a1522;color:#fff;margin-left:auto}.ai-msg.typing{opacity:.65}.ai-quick{padding:8px 10px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #e5e9ee}.ai-quick button{border:1px solid #d6dde5;background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;cursor:pointer;color:#33465b}.ai-form{display:flex;padding:10px;border-top:1px solid #e5e9ee;gap:7px}.ai-form input{flex:1;border:1px solid #d6dde5;border-radius:8px;padding:10px 11px;outline:none;font:13px inherit}.ai-form button{width:40px;border:0;border-radius:8px;background:#0a1522;color:#fff;cursor:pointer}.ai-note{padding:0 12px 10px;color:#8491a1;font-size:9px;line-height:1.35}.ai-form input:disabled{opacity:.6}@media(max-width:700px){.ai-widget{right:14px;bottom:14px}.ai-panel{position:fixed;right:10px;bottom:66px;width:calc(100vw - 20px);height:min(620px,calc(100vh - 90px))}}
/* Final functional additions — existing design system is unchanged. */
.map-section{max-width:none;background:#f7f8fa}.map-card{position:relative;height:480px;border-radius:14px;overflow:hidden;border:1px solid #dfe5eb;background:#e8edf2}.map-card iframe{width:100%;height:100%;border:0;display:block}.map-click{display:none}.catalog-btn{margin-top:8px}.management-section{max-width:none;background:#f7f8fa}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 48px;padding-top:55px}.management-card{position:relative;background:linear-gradient(105deg,#07111f 0%,#0b1d35 55%,#123b68 100%);border:1px solid rgba(59,130,246,.35);border-radius:0 0 4px 4px;overflow:visible;min-height:355px;padding:100px 34px 35px;text-align:center;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18),0 0 30px rgba(37,99,235,.08)}.management-card>img{position:absolute;top:-82px;left:50%;transform:translateX(-50%);width:170px;height:170px;object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:0 0 0 4px #718d28,0 8px 22px #00000025;background:#fff}.management-copy{padding:0}.management-copy h3{font-family:Manrope;font-size:24px;margin:20px 0 10px;color:#fff}.management-copy strong{display:block;color:#fff;font-size:16px;margin-bottom:16px}.management-copy p{color:#fff;line-height:1.65;margin:0;font-size:15px}@media(max-width:700px){.management-grid{grid-template-columns:1fr;gap:105px 0;padding-top:55px}.management-card{padding-left:22px;padding-right:22px}}.banner-manager{display:grid;gap:12px}.banner-slot{border:1px solid #ffffff0b;background:#091523;border-radius:9px;padding:12px;display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.banner-slot img{width:110px;height:70px;border-radius:6px;object-fit:cover;background:#142438}.banner-slot .banner-fields{display:grid;gap:8px}.banner-slot label{display:flex!important;align-items:center;gap:7px}.banner-slot input[type=file]{font-size:11px}.pdf-preview{font-size:11px;color:#7ea8ff}.management-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.management-admin-list{display:grid;gap:10px}.management-admin-item{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #ffffff08;background:#0a1624;border-radius:8px}.management-admin-item img{width:60px;height:60px;object-fit:cover;border-radius:7px}.management-admin-item b{font-size:12px}.management-admin-item small{display:block;color:#6f8197;margin-top:4px}.management-admin-item .mini-actions{display:flex;gap:6px}.management-admin-item a,.management-admin-item button{font-size:10px}.@media(max-width:700px){.management-grid{grid-template-columns:1fr}.management-admin-grid{grid-template-columns:1fr}.banner-slot{grid-template-columns:1fr}.banner-slot img{width:100%;height:150px}.map-card{height:360px}}

/* Lead management controls */
.lead-edit-form{display:flex;flex-direction:column;gap:6px;min-width:145px}.lead-edit-form textarea{min-width:180px;min-height:74px;resize:vertical}.lead-edit-form label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}


/* Requested compact glass search — intentionally small so the existing header design stays intact. */
.site-search{position:relative;display:flex;align-items:center;width:34px;height:34px;margin-left:8px;box-sizing:border-box}
.site-search-toggle{width:34px;height:34px;padding:0;border:0;background:transparent;color:#c5d0dd;display:grid;place-items:center;cursor:pointer;border-radius:50%;transition:.2s}
.site-search-toggle:hover{color:#fff;background:rgba(255,255,255,.08)}
.site-search-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-search input{position:absolute;right:0;top:0;width:0;height:34px;opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.18);outline:0;border-radius:999px;background:rgba(7,16,28,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:0;transition:width .22s ease,opacity .18s ease;padding-left:0;padding-right:0}
.site-search.open{width:220px}
.site-search.open input{width:186px;opacity:1;pointer-events:auto;padding:0 40px 0 14px}
.site-search.open .site-search-toggle{position:absolute;right:0;z-index:2}
.site-search input::placeholder{color:#9eacbc}
.site-search:focus-within input{border-color:rgba(255,255,255,.34)}

.page-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.page-card{display:flex;min-height:150px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid #dfe5eb;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:.2s}
.page-card:hover{transform:translateY(-2px);border-color:#b9c8d8;box-shadow:0 12px 30px rgba(7,16,28,.08)}
.page-card-kicker{font-size:10px;letter-spacing:1.2px;color:#7b8a9c;font-weight:800}
.page-card h2{margin:7px 0 7px;font-family:Manrope;font-size:21px}
.page-card p{margin:0;color:#718096;font-size:12px;line-height:1.55}
.page-card-arrow{margin-top:18px;color:var(--blue);font-size:12px;font-weight:800}

.category-toolbar{margin:0 0 14px;padding:12px 14px;border:1px solid #dfe5eb;border-radius:10px;background:#fff;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.category-list{display:flex;gap:6px;flex-wrap:wrap}
.category-list a{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid #dfe5eb;color:#637287;text-decoration:none;font-size:11px}
.category-list a.active,.category-list a:hover{background:#07101c;color:#fff;border-color:#07101c}
.category-add{display:flex;gap:7px;margin:0}
.category-add input{height:34px;border:1px solid #d6dee7;border-radius:7px;padding:0 10px;outline:0;font:12px inherit}
@media(max-width:1000px){.site-search{display:none}.page-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.page-cards{grid-template-columns:1fr}.category-toolbar{align-items:stretch}.category-add{width:100%}.category-add input{flex:1}}

/* Lift the fixed AI button just enough to keep footer social icons visible. */
.ai-widget{bottom:62px}
@media(max-width:700px){.ai-widget{bottom:42px}}

/* About page banner — improve text brightness and contrast */
.page-hero .kicker {
    color: #75b6ff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.page-hero h1 {
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}

.page-hero p {
    color: #ffffff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
    font-weight: 500;
}

/* Homepage hero: brighter image and responsive mobile framing */
.hero {
  background-position: center center;
  background-size: cover;
}

@media (max-width: 700px) {
  .hero {
    min-height: 680px;
    min-height: min(760px, 92svh);
    background-position: center center;
    background-size: cover;
  }

  .hero-inner {
    padding: 120px 22px 32px;
    max-width: 100%;
  }

  .hero h1 {
    font-size: clamp(38px, 10vw, 52px);
    line-height: 1.04;
    letter-spacing: -1.8px;
    overflow-wrap: anywhere;
  }

  .hero p {
    font-size: 15px;
    line-height: 1.55;
  }

  .hero-actions {
    flex-wrap: wrap;
    gap: 10px;
  }

  .hero-actions a {
    max-width: 100%;
  }

  .hero-bottom {
    margin-top: 38px;
  }
}

/* SC MOBILE LAYOUT REFINEMENT */
@media (max-width: 700px) {
  .site-nav {
    height: 68px;
    padding: 0 16px;
    gap: 10px;
    background: linear-gradient(#07101cbb, transparent);
  }

  .site-nav .logo {
    flex: 1;
    min-width: 0;
    gap: 7px;
  }

  .site-nav .site-logo {
    max-width: 82px;
    max-height: 38px;
    width: auto;
    object-fit: contain;
  }

  .site-nav .logo > span {
    display: block;
    font-size: clamp(10px, 2.8vw, 13px);
    line-height: 1.15;
    letter-spacing: 0;
    white-space: normal;
  }

  .site-nav nav,
  .site-nav .site-search {
    display: none;
  }

  .site-nav .mobile-menu {
    display: block;
    flex: 0 0 38px;
    width: 38px;
    padding: 0;
  }

  .hero {
    display: flex;
    align-items: flex-end;
    min-height: 0;
    height: auto;
    padding-top: 0;
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  .hero-inner {
    padding: 56vw 22px 28px;
  }

  .hero h1 {
    font-size: clamp(32px, 8vw, 42px);
    line-height: 1.08;
    letter-spacing: -1.5px;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .hero-bottom {
    margin-top: 28px;
  }
}

/* Standard Canopy: consistent mobile hero/banner layout */
@media (max-width: 700px) {
  .hero {
    min-height: 690px;
    background-position: center center;
    background-size: cover;
  }

  .hero-inner {
    width: 100%;
    padding: 115px 22px 36px;
  }

  .hero h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .hero-actions a {
    max-width: 100%;
  }

  .page-hero {
    min-height: 300px;
    height: auto;
    padding: 115px 22px 45px;
    background-position: center center;
    background-size: cover;
    overflow-wrap: anywhere;
  }

  .page-hero h1 {
    max-width: 100%;
    font-size: clamp(32px, 9vw, 47px);
    line-height: 1.08;
    letter-spacing: -1.5px;
    overflow-wrap: anywhere;
  }

  .project-detail-hero {
    min-height: 430px;
    padding: 125px 22px 48px;
    background-position: center center;
    background-size: cover;
  }

  .project-detail-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 52px);
    line-height: 1.08;
    letter-spacing: -1.5px;
    overflow-wrap: anywhere;
  }

  .article-layout {
    gap: 24px;
  }

  .article-layout .lead,
  .lead {
    font-size: 18px;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }
}

/* Mobile: show complete banner image width without side cropping */
@media (max-width: 700px) {
  .hero,
  .page-hero,
  .project-detail-hero {
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }

  .page-hero {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 9;
    padding: 100px 18px 24px;
    align-items: flex-end;
  }

  .project-detail-hero {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
    padding: 100px 20px 28px;
    align-items: flex-end;
  }

  .hero {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
    align-items: flex-end;
  }

  .hero-inner {
    padding: 100px 20px 28px;
  }
}

/* Mobile homepage hero: image on top at its true ratio (1670x941 = 56.35vw), text below on white */
@media (max-width: 700px) {
  #heroBanner {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-color: #fff !important;
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    color: #07111d !important;
  }
  #heroBanner::before { content: none !important; display: none !important; }
  #heroBanner .hero-inner {
    background: transparent !important;
    padding: calc(56.35vw + 20px) 22px 28px !important;
    color: #07111d !important;
  }
  #heroBanner .eyebrow { color: #1677ff !important; }
  #heroBanner h1 { color: #07111d !important; }
  #heroBanner .hero-inner p,
  #heroBanner .hero-bottom { color: #475569 !important; }
  #heroBanner .ghost { color: #07111d !important; border-color: #64748b !important; }
}

/* Mobile hero: area below the image (full-width mode) must be pure white, not grey */
@media (max-width: 700px) {
  #heroBanner:not(.has-mobile-img) .hero-inner {
    background: linear-gradient(to bottom, transparent 0, transparent 56.35vw, #fff 56.35vw, #fff 100%) !important;
  }
}

/* Mobile menu dropdown */
@media (max-width: 1000px) {
  .site-nav .mobile-menu { cursor: pointer; position: relative; z-index: 2; -webkit-tap-highlight-color: transparent; }
  .site-nav.nav-open nav {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding: 8px 20px 16px;
    background: #07101cf5;
    backdrop-filter: blur(14px);
    border-top: 1px solid #ffffff14;
    box-shadow: 0 18px 40px rgba(0,0,0,.35);
  }
  .site-nav.nav-open nav a {
    display: block;
    padding: 14px 4px;
    font-size: 16px;
    color: #fff;
    border-bottom: 1px solid #ffffff12;
  }
  .site-nav.nav-open nav a:last-child { border-bottom: 0; }
}

/* Mobile: Contact and Projects hero has inline min-height:520px; let it follow the image ratio instead */
@media (max-width: 700px) {
  .page-hero[style*="min-height:520px"] {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    padding: 0 !important;
  }
}

/* Homepage hero slider */
#heroBanner { cursor: grab; touch-action: pan-y; }
#heroBanner.sc-drag { cursor: grabbing; user-select: none; -webkit-user-select: none; }
#heroBanner .sc-track { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; z-index: 0; }
#heroBanner .sc-slide { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; will-change: transform; }
#heroBanner .hero-inner { position: relative; z-index: 1; }
@media (max-width: 700px) {
  #heroBanner .sc-track { bottom: auto; height: 56.35vw; }
}
