@import url(https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Manrope:wght@400;500;600;700;800&display=swap);:root{--ink:#0e1a1f;--ink-2:#17252b;--deep:#0a1317;--panel:#0f1e23;--muted:#5d6f78;--muted-light:#ffffffa8;--line:#dde5e8;--steel:#eef3f4;--white:#fff;--teal:#0a8b94;--teal-2:#0d7077;--teal-dark:#064d52;--teal-soft:#0a8b941a;--copper:#d4763a;--copper-2:#c36b33;--amber:#f0a35e;--radius:14px;--radius-sm:10px;--shadow:0 24px 70px #0b14182e;--shadow-sm:0 12px 34px #0b141814;--font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--font-body:"Manrope",ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--white);color:#0e1a1f;color:var(--ink);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body);margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-family:var(--font-display);font-weight:800;letter-spacing:-.02em}img{max-width:100%}::selection{background:#d4763a;background:var(--copper);color:#fff}.section-inner{margin:0 auto;width:min(1180px,calc(100% - 48px))}.eyebrow{align-items:center;color:#d4763a;color:var(--copper);display:inline-flex;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.76rem;font-weight:800;gap:8px;letter-spacing:.18em;margin:0 0 16px;text-transform:uppercase}.eyebrow:before{background:#d4763a;background:var(--copper);content:"";height:2px;width:26px}.btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.95rem;font-weight:800;gap:9px;justify-content:center;min-height:50px;padding:0 26px;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease}.btn svg{height:18px;width:18px}.btn-primary{background:#0a8b94;background:var(--teal);box-shadow:0 14px 30px #0a8b9452;color:#fff}.btn-primary:hover{background:#0d7077;background:var(--teal-2);box-shadow:0 18px 40px #0a8b946b;transform:translateY(-2px)}.btn-copper{background:#d4763a;background:var(--copper);box-shadow:0 14px 30px #d4763a57;color:#fff}.btn-copper:hover{background:#c36b33;background:var(--copper-2);transform:translateY(-2px)}.btn-ghost{background:#ffffff0f;border-color:#ffffff52;color:#fff}.btn-ghost:hover{background:#ffffff24;transform:translateY(-2px)}.btn-dark{background:#17252b;background:var(--ink-2);color:#fff}.btn-dark:hover{background:#0a1317;background:var(--deep);transform:translateY(-2px)}.btn-sm{font-size:.85rem;min-height:40px;padding:0 16px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}@media (max-width:620px){.section-inner{width:calc(100% - 32px)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a1317d1;border-bottom:1px solid #ffffff14;position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-shell{align-items:center;display:flex;gap:24px;justify-content:space-between;margin:0 auto;min-height:78px;width:min(1180px,calc(100% - 48px))}.brand-logo{display:block;height:46px;object-fit:contain;width:auto}.nav-links{align-items:center;display:flex;gap:4px}.nav-links a{border-radius:999px;color:#ffffffb8;font-size:.92rem;font-weight:700;padding:10px 16px;position:relative;transition:color .18s ease,background-color .18s ease}.nav-links a:hover{color:#fff}.nav-links a.active{background:#ffffff1a;color:#fff}.nav-cta{margin-left:6px}.menu-toggle{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:none;height:46px;justify-content:center;width:46px}.hero{background:var(--deep);color:#fff;overflow:hidden;position:relative}.hero-bg,.hero-bg:before{inset:0;position:absolute}.hero-bg:before{background:radial-gradient(circle at 78% 20%,#d4763a47,#0000 32%),radial-gradient(circle at 12% 80%,#0a8b944d,#0000 38%),linear-gradient(150deg,#122229,#0a1317 60%);content:""}.hero-grid{background-image:linear-gradient(hsla(0,0%,100%,.045) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.045) 1px,#0000 0);background-size:54px 54px;inset:0;-webkit-mask-image:radial-gradient(circle at 70% 40%,#000 0,#0000 78%);mask-image:radial-gradient(circle at 70% 40%,#000 0,#0000 78%);position:absolute}.hero-nodes span{animation:pulse 3.2s ease-in-out infinite;background:var(--amber);border-radius:50%;box-shadow:0 0 0 5px #f0a35e29,0 0 22px #f0a35e99;height:9px;position:absolute;width:9px}.hero-nodes span:first-child{left:64%;top:26%}.hero-nodes span:nth-child(2){animation-delay:.8s;background:var(--teal);box-shadow:0 0 0 5px #0a8b942e,0 0 22px #0a8b94b3;left:80%;top:58%}.hero-nodes span:nth-child(3){animation-delay:1.6s;left:56%;top:70%}@keyframes pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.hero-content{margin:0 auto;padding:120px 0 104px;position:relative;width:min(1180px,calc(100% - 48px));z-index:1}.hero h1{font-size:clamp(2.7rem,6.4vw,5.4rem);line-height:.98;margin:0;max-width:880px}.hero h1 .accent{color:var(--amber)}.hero-copy{color:var(--muted-light);font-size:1.14rem;line-height:1.7;margin:26px 0 0;max-width:620px}.hero-actions{margin:38px 0 46px}.hero-actions,.hero-stats{display:flex;flex-wrap:wrap;gap:14px}.hero-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:var(--radius);min-width:150px;padding:18px 22px}.hero-stat strong{display:block;font-family:var(--font-display);font-size:1.9rem;line-height:1}.hero-stat span{color:var(--muted-light);display:block;font-size:.82rem;font-weight:600;letter-spacing:.02em;margin-top:7px}.fade-up{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards;opacity:0;transform:translateY(22px)}.fade-up.d1{animation-delay:.1s}.fade-up.d2{animation-delay:.22s}.fade-up.d3{animation-delay:.34s}.fade-up.d4{animation-delay:.46s}@keyframes fadeUp{to{opacity:1;transform:none}}.client-strip{background:#f7fafb;border-block:1px solid var(--line);overflow:hidden}.client-label{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.16em;padding:26px 0 0;text-align:center;text-transform:uppercase}.marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);overflow:hidden;width:100%}.marquee-track{animation:marquee 44s linear infinite;display:flex;gap:18px;padding:26px 0;width:-webkit-max-content;width:max-content}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 22px #1320270d;display:grid;height:92px;place-items:center;width:190px}.marquee-track img{height:64px;object-fit:contain;transition:transform .22s ease;width:78%}.marquee-track span:hover{border-color:#0a8b9459}.marquee-track span:hover img{transform:scale(1.04)}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.section{padding:96px 0}.section.muted{background:var(--steel)}.section.dark{background:var(--deep);color:#fff}.section-head{margin-bottom:48px;max-width:760px}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}.section-head h2{font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.05;margin:0}.section-head p{color:var(--muted);font-size:1.08rem;line-height:1.7;margin:18px 0 0}.section.dark .section-head p{color:var(--muted-light)}.feature-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;padding:30px;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.feature-card:after{background:linear-gradient(90deg,var(--teal),var(--copper));content:"";height:3px;left:0;position:absolute;top:0;transition:width .32s ease;width:0}.feature-card:hover{border-color:#0a8b9457;box-shadow:0 26px 60px #0b141824;transform:translateY(-6px)}.feature-card:hover:after{width:100%}.feature-icon{background:var(--teal-soft);border-radius:13px;color:var(--teal);display:grid;height:54px;margin-bottom:20px;place-items:center;width:54px}.feature-icon svg{height:26px;width:26px}.feature-card h3{font-size:1.2rem;margin:0 0 9px}.feature-card p{color:var(--muted);font-size:.96rem;line-height:1.65;margin:0}.service-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:var(--radius);padding:28px;transition:transform .22s ease,background-color .22s ease}.service-card:hover{background:#ffffff12;transform:translateY(-6px)}.service-badge{background:linear-gradient(135deg,var(--teal),var(--teal-dark));border-radius:12px;color:#fff;display:grid;font-family:var(--font-display);font-size:1.05rem;font-weight:800;height:50px;margin-bottom:18px;place-items:center;width:50px}.service-card.copper .service-badge{background:linear-gradient(135deg,var(--copper),var(--copper-2))}.service-card h3{font-size:1.16rem;margin:0 0 8px}.service-card p{color:var(--muted-light);font-size:.94rem;line-height:1.65;margin:0}.stats-band{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.stat-item{text-align:center}.stat-item .num{color:var(--teal);font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.8rem);line-height:1}.section.dark .stat-item .num{color:var(--amber)}.stat-item .lbl{color:var(--muted);font-size:.95rem;font-weight:700;margin-top:10px}.section.dark .stat-item .lbl{color:var(--muted-light)}.cta-band{align-items:center;background:linear-gradient(130deg,var(--ink-2) 0,var(--teal-dark) 100%);border-radius:20px;color:#fff;display:flex;gap:32px;justify-content:space-between;overflow:hidden;padding:52px;position:relative}.cta-band:before{background:radial-gradient(circle,#f0a35e4d,#0000 70%);border-radius:50%;content:"";height:280px;position:absolute;right:-60px;top:-60px;width:280px}.cta-band h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:0;position:relative}.cta-band p{color:var(--muted-light);margin:12px 0 0;max-width:520px;position:relative}.page-hero{background:linear-gradient(140deg,#122229,#0a1317);color:#fff;overflow:hidden;padding:116px 0 80px;position:relative}.page-hero .hero-grid{-webkit-mask-image:radial-gradient(circle at 80% 30%,#000,#0000 75%);mask-image:radial-gradient(circle at 80% 30%,#000,#0000 75%)}.page-hero-inner{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.5rem,5.4vw,4.2rem);line-height:1;margin:0;max-width:820px}.page-hero p{font-size:1.1rem;line-height:1.7;margin:22px 0 0;max-width:640px}.crumb,.page-hero p{color:var(--muted-light)}.crumb{font-size:.85rem;font-weight:600;margin-bottom:18px}.crumb a:hover{color:#fff}.split-grid{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:.85fr 1fr}.content-stack p{color:var(--muted);font-size:1.02rem;line-height:1.8;margin:0 0 18px}.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.pill{background:var(--teal-soft);border:1px solid #0a8b942e;border-radius:999px;color:var(--teal-2);font-size:.88rem;font-weight:700;padding:9px 16px}.partners-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.partner-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:30px}.partner-avatar{background:linear-gradient(135deg,var(--teal),var(--teal-dark));border-radius:50%;color:#fff;display:grid;font-family:var(--font-display);font-size:1.4rem;font-weight:800;height:64px;margin-bottom:18px;place-items:center;width:64px}.partner-card h3{font-size:1.16rem;margin:0 0 4px}.partner-card .role{color:var(--copper);font-size:.9rem;font-weight:700;margin-bottom:14px}.partner-card a{align-items:center;color:var(--muted);display:inline-flex;font-size:.92rem;font-weight:600;gap:8px}.partner-card a:hover{color:var(--teal)}.partner-card a svg{height:16px;width:16px}.sop-grid{grid-gap:20px;counter-reset:sop;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.sop-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:var(--radius);padding:28px;position:relative}.sop-card .step{color:var(--amber);font-family:var(--font-display);font-size:2.2rem;line-height:1;margin-bottom:14px}.sop-card h3{font-size:1.1rem;margin:0 0 8px}.sop-card p{color:var(--muted-light);font-size:.92rem;line-height:1.6;margin:0}.pe-flow{margin:56px auto 0;max-width:720px;position:relative}.pe-flow:before{background:linear-gradient(180deg,var(--teal),var(--copper));border-radius:3px;bottom:22px;content:"";left:30px;opacity:.75;position:absolute;top:22px;transform:translateX(-50%);width:3px}.pe-step{padding:0 0 26px 92px;position:relative}.pe-step:last-child{padding-bottom:0}.pe-node{background:linear-gradient(135deg,var(--teal),var(--teal-dark));border-radius:16px;box-shadow:0 12px 30px #0a8b9466,0 0 0 6px #0a1317a6;color:#fff;display:grid;height:60px;left:0;place-items:center;position:absolute;top:4px;width:60px;z-index:2}.pe-step:nth-child(2n) .pe-node{background:linear-gradient(135deg,var(--copper),var(--copper-2));box-shadow:0 12px 30px #d4763a66,0 0 0 6px #0a1317a6}.pe-node svg{height:26px;width:26px}.pe-node .num{background:var(--amber);border-radius:50%;box-shadow:0 4px 12px #00000059;color:#1a1006;display:grid;font-family:var(--font-display);font-size:.78rem;font-weight:800;height:24px;place-items:center;position:absolute;right:-9px;top:-9px;width:24px}.pe-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;padding:22px 26px;transition:transform .22s ease,background-color .22s ease,border-color .22s ease}.pe-card:hover{background:#ffffff14;border-color:#0a8b9466;transform:translateX(6px)}.pe-card h3{font-size:1.2rem;margin:0 0 7px}.pe-card p{color:var(--muted-light);font-size:.96rem;line-height:1.6;margin:0}@media (max-width:560px){.pe-step{padding-left:80px}.pe-node{height:54px;width:54px}}.logo-cloud{display:flex;flex-wrap:wrap;gap:10px}.logo-cloud .pill{background:#fff;border:1px solid var(--line);color:var(--ink-2)}.proj-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.tabs{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);display:inline-flex;gap:6px;padding:6px}.tab,.tabs{border-radius:999px}.tab{background:#0000;border:none;color:var(--muted);cursor:pointer;font-family:var(--font-body);font-size:.92rem;font-weight:700;padding:10px 20px;transition:all .18s ease}.tab.active{background:var(--teal);color:#fff}.tab .count{font-size:.82rem;margin-left:5px;opacity:.7}.search-box{position:relative}.search-box svg{color:var(--muted);height:18px;left:14px;position:absolute;top:50%;transform:translateY(-50%);width:18px}.search-box input{background:#fff;border:1px solid var(--line);border-radius:999px;font:inherit;height:48px;max-width:100%;padding:0 16px 0 42px;width:280px}.search-box input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}.proj-summary{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.92rem;font-weight:600;gap:18px;margin-bottom:22px}.proj-summary b{color:var(--ink-2);font-weight:800}.proj-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.proj-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:14px;overflow:hidden;padding:14px 18px 14px 20px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.proj-row:before{background:var(--teal);bottom:0;content:"";left:0;position:absolute;top:0;transition:width .2s ease;width:4px}.proj-row.ongoing:before{background:var(--copper)}.proj-row:hover{border-color:#0a8b9459;box-shadow:0 16px 36px #0b14181a;transform:translateX(4px)}.proj-row:hover:before{width:6px}.proj-ic{background:var(--teal-soft);border-radius:11px;color:var(--teal);display:grid;flex-shrink:0;height:42px;place-items:center;width:42px}.proj-row.ongoing .proj-ic{background:#d4763a1f;color:var(--copper)}.proj-ic svg{height:20px;width:20px}.proj-info{flex:1 1;min-width:0}.proj-info .pn{color:var(--ink-2);font-family:var(--font-display);font-size:1.02rem;font-weight:700;line-height:1.25}.proj-info .pm{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.84rem;font-weight:600;gap:8px;margin-top:4px}.proj-info .pm .sec{color:var(--copper);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.proj-info .pm .loc{align-items:center;display:inline-flex;gap:4px}.proj-info .pm .loc svg{height:13px;width:13px}.proj-dot{align-items:center;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:.74rem;font-weight:800;gap:6px;padding:5px 11px}.proj-dot .d{border-radius:50%;height:7px;width:7px}.proj-dot.ongoing{background:#f0a35e29;color:#b96a2b}.proj-dot.ongoing .d{animation:blink 1.6s ease-in-out infinite;background:var(--copper)}.proj-dot.completed{background:var(--teal-soft);color:var(--teal-2)}.proj-dot.completed .d{background:var(--teal)}.hero-figure{pointer-events:none;position:absolute;right:6%;top:50%;transform:translateY(-50%);width:340px;z-index:1}.hf-card{animation:floatUp 6s ease-in-out infinite;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff29;border-radius:20px;box-shadow:0 30px 80px #0006;padding:26px;position:relative}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hf-head{align-items:center;color:#fff;display:flex;font-size:.92rem;font-weight:700;gap:10px;margin-bottom:22px}.hf-head .hf-dot{animation:blink 1.8s ease-in-out infinite;background:#46d39a;border-radius:50%;box-shadow:0 0 12px #46d39a;height:9px;width:9px}.hf-bars{grid-gap:16px;display:grid;gap:16px}.hf-bar{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:42px 1fr}.hf-bar span{color:#ffffffc7;font-size:.78rem;font-weight:800;letter-spacing:.04em}.hf-bar i{background:#ffffff1f;border-radius:999px;display:block;height:8px;overflow:hidden;position:relative}.hf-bar i:after{animation:barPulse 3.4s ease-in-out infinite;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:999px;content:"";inset:0;position:absolute;width:70%;width:var(--w,70%)}@keyframes barPulse{0%,to{opacity:.85;transform:scaleX(.92);transform-origin:left}50%{opacity:1;transform:scaleX(1)}}.hf-foot{align-items:center;border-top:1px solid #ffffff1f;display:flex;justify-content:space-between;margin-top:24px;padding-top:18px}.hf-foot .v{color:var(--amber);font-family:var(--font-display);font-size:1.5rem;line-height:1}.hf-foot .l{color:#fff9;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@media (max-width:1180px){.hero-figure{display:none}}@media (max-width:900px){.proj-list{grid-template-columns:1fr}}.project-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.project-card:hover{box-shadow:0 26px 60px #0b141824;transform:translateY(-6px)}.project-media{background:radial-gradient(circle at 30% 30%,#ffffff29,#0000 50%),linear-gradient(135deg,var(--teal-dark),var(--ink-2));display:grid;height:150px;overflow:hidden;place-items:center;position:relative}.project-media.completed{background:linear-gradient(135deg,#1f3138,var(--ink-2))}.project-media .pattern{background-image:linear-gradient(#ffffff0f 1px,#0000 0),linear-gradient(90deg,#ffffff0f 1px,#0000 0);background-size:22px 22px;inset:0;position:absolute}.project-media svg{color:#ffffffd9;height:42px;position:relative;width:42px}.project-body{display:flex;flex:1 1;flex-direction:column;padding:22px 24px 24px}.project-sector{color:var(--copper);font-size:.74rem;font-weight:800;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.project-card h3{font-size:1.14rem;line-height:1.25;margin:0 0 10px}.project-meta{align-items:center;color:var(--muted);display:flex;font-size:.9rem;font-weight:600;gap:7px;margin-bottom:12px}.project-meta svg{color:var(--teal);flex-shrink:0;height:15px;width:15px}.project-scope{color:var(--muted);flex:1 1;font-size:.92rem;line-height:1.6;margin:0 0 16px}.status-badge{align-items:center;align-self:flex-start;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;gap:7px;letter-spacing:.02em;padding:6px 13px}.status-badge .dot{border-radius:50%;height:7px;width:7px}.status-badge.ongoing{background:#f0a35e29;color:#b96a2b}.status-badge.ongoing .dot{animation:blink 1.6s ease-in-out infinite;background:var(--copper)}.status-badge.completed{background:var(--teal-soft);color:var(--teal-2)}.status-badge.completed .dot{background:var(--teal)}@keyframes blink{50%{opacity:.35}}.legacy-sector{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden}.legacy-head{align-items:center;background:#0000;border:none;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-display);font-size:1.14rem;font-weight:700;gap:16px;justify-content:space-between;padding:22px 26px;text-align:left;width:100%}.legacy-head .left{align-items:center;display:flex;gap:14px}.legacy-head .badge{background:var(--teal-soft);border-radius:999px;color:var(--teal-2);font-family:var(--font-body);font-size:.8rem;font-weight:800;padding:4px 11px}.legacy-head svg{color:var(--muted);height:20px;transition:transform .24s ease;width:20px}.legacy-sector.open .legacy-head svg{transform:rotate(180deg)}.legacy-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.legacy-sector.open .legacy-body{grid-template-rows:1fr}.legacy-body-inner{overflow:hidden}.legacy-items{display:flex;flex-wrap:wrap;gap:10px;padding:0 26px 26px}.legacy-chip{background:var(--steel);border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:.88rem;font-weight:600;padding:9px 15px}.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.gallery-filter .tab{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--muted)}.gallery-filter .tab:hover{border-color:#0a8b9466;color:var(--teal)}.gallery-filter .tab.active{background:var(--teal);border-color:var(--teal);color:#fff}.gallery-filter .tab.active .count{color:#fffc}.photo-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.photo-card{animation:shimmer 1.6s linear infinite;aspect-ratio:4/3;background:linear-gradient(110deg,#e7eef0 25%,#f3f7f8 37%,#e7eef0 50%);background-size:220% 100%;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;display:block;overflow:hidden;position:relative;width:100%}@keyframes shimmer{to{background-position:-220% 0}}.photo-card img,.photo-card>button{display:block;height:100%;width:100%}.photo-card img{object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.photo-card img.loaded{opacity:1;transform:scale(1)}.photo-card:hover img.loaded{transform:scale(1.07)}.photo-card .overlay{align-items:flex-end;background:linear-gradient(180deg,#0000 45%,#0a1317d1);display:flex;inset:0;opacity:0;padding:16px;position:absolute;transition:opacity .26s ease}.photo-card:hover .overlay{opacity:1}.photo-card .overlay .cap{color:#fff;font-family:var(--font-display);font-size:.96rem;font-weight:700}.photo-card .zoom-ic{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:10px;color:#fff;display:grid;height:38px;opacity:0;place-items:center;position:absolute;right:14px;top:14px;transform:translateY(-6px);transition:opacity .26s ease,transform .26s ease;width:38px}.photo-card:hover .zoom-ic{opacity:1;transform:none}.photo-card .zoom-ic svg{height:17px;width:17px}.lightbox{animation:fadeIn .2s ease;background:#080f12f0;display:grid;inset:0;place-items:center;position:fixed;z-index:200}.lightbox .lb-img{animation:modalUp .26s cubic-bezier(.2,.7,.2,1);border-radius:12px;box-shadow:0 30px 90px #0009;max-height:82vh;max-width:min(1100px,92vw)}.lightbox .lb-cap{bottom:26px;color:#ffffffd9;font-size:.95rem;font-weight:600}.lightbox .lb-cap,.lightbox .lb-count{left:0;position:absolute;right:0;text-align:center}.lightbox .lb-count{color:#fff9;font-size:.85rem;font-weight:700;letter-spacing:.06em;top:26px}.lb-btn{background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;color:#fff;cursor:pointer;display:grid;height:54px;place-items:center;position:absolute;transition:background-color .18s ease,transform .18s ease;width:54px}.lb-btn:hover{background:#ffffff38}.lb-btn svg{height:24px;width:24px}.lb-close{height:46px;right:22px;top:22px;width:46px}.lb-prev{left:24px}.lb-next,.lb-prev{top:50%;transform:translateY(-50%)}.lb-next{right:24px}.lb-next:hover,.lb-prev:hover{transform:translateY(-50%) scale(1.06)}@media (max-width:980px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.photo-grid{grid-template-columns:repeat(2,1fr)}.lb-prev{left:10px}.lb-next{right:10px}}@media (max-width:460px){.photo-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}.contact-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr .85fr}.contact-form,.contact-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:34px}.contact-form{grid-gap:18px;display:grid;gap:18px}.contact-form label{grid-gap:8px;display:grid;font-size:.92rem;font-weight:700;gap:8px}.contact-form input,.contact-form textarea{background:#fbfdfd;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:14px 15px;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}.contact-form textarea{resize:vertical}.contact-panel h2{font-size:1.5rem;margin:0 0 22px}.contact-row{border-bottom:1px solid var(--line);display:flex;gap:14px;padding:14px 0}.contact-row:last-of-type{border-bottom:none}.contact-row .ic{background:var(--teal-soft);border-radius:11px;color:var(--teal);display:grid;flex-shrink:0;height:42px;place-items:center;width:42px}.contact-row .ic svg{height:19px;width:19px}.contact-row .k{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.contact-row .v{color:var(--ink-2);font-weight:700;margin-top:2px}.contact-row .v a:hover{color:var(--teal)}.form-note{color:var(--muted);font-size:.85rem}.form-success{background:var(--teal-soft);border-radius:var(--radius-sm);color:var(--teal-2);font-weight:700;padding:14px 16px}.site-footer{background:var(--deep);border-top:1px solid #ffffff0f;color:var(--muted-light);padding:70px 0 30px}.footer-grid{grid-gap:44px;border-bottom:1px solid #ffffff14;display:grid;gap:44px;grid-template-columns:1.6fr .8fr .8fr 1.2fr;padding-bottom:44px}.footer-grid h4{color:#fff;font-family:var(--font-display);font-size:1rem;margin:0 0 16px}.footer-grid p{line-height:1.7}.footer-grid a,.footer-grid p{color:var(--muted-light);font-size:.94rem}.footer-grid a{display:block;margin-bottom:10px;transition:color .16s ease}.footer-grid a:hover{color:#fff}.footer-logo{height:44px;margin-bottom:18px}.footer-bottom{align-items:center;display:flex;flex-wrap:wrap;font-size:.86rem;gap:12px;justify-content:space-between;padding-top:24px}.footer-bottom a:hover{color:#fff}.admin-shell{background:#f4f7f8;min-height:100vh}.admin-bar{background:var(--deep);color:#fff;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:30}.admin-bar-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;width:min(1240px,calc(100% - 48px))}.admin-bar .brand-logo{height:40px}.admin-bar .tag{border:1px solid #f0a35e66;border-radius:999px;color:var(--amber);font-size:.72rem;font-weight:800;letter-spacing:.12em;padding:4px 10px;text-transform:uppercase}.admin-actions{align-items:center;display:flex;gap:10px}.admin-main{margin:0 auto;padding:36px 0 80px;width:min(1240px,calc(100% - 48px))}.admin-stats{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px 24px}.admin-stat .num{color:var(--teal);font-family:var(--font-display);font-size:2.2rem;line-height:1}.admin-stat.ongoing .num{color:var(--copper)}.admin-stat .lbl{color:var(--muted);font-size:.9rem;font-weight:700;margin-top:8px}.admin-view-tabs{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);display:inline-flex;gap:6px;margin-bottom:22px;padding:6px}.vtab{background:#0000;border:none;border-radius:999px;color:var(--muted);cursor:pointer;font-family:var(--font-body);font-size:.92rem;font-weight:700;padding:10px 24px;transition:all .18s ease}.vtab.active{background:var(--teal);color:#fff}.chip-filter{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;padding:8px 15px;transition:all .16s ease}.chip-filter:hover{border-color:var(--teal);color:var(--teal)}.chip-filter.active{background:var(--teal);border-color:var(--teal);color:#fff}.upload-drop{align-items:center;background:#fafcfc;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;display:flex;gap:16px;padding:22px;transition:border-color .18s ease,background-color .18s ease}.upload-drop:hover{background:var(--teal-soft);border-color:var(--teal)}.upload-drop svg{color:var(--teal);flex-shrink:0;height:34px;width:34px}.upload-drop strong{display:block;font-size:.98rem}.upload-drop span{color:var(--muted);display:block;font-size:.84rem;margin-top:3px}.upload-files{color:var(--teal-2);font-size:.9rem;font-weight:700}.upload-progress{align-items:center;color:var(--muted);display:flex;font-size:.88rem;font-weight:600;gap:12px}.upload-progress .bar{background:var(--line);border-radius:999px;flex:1 1;height:8px;overflow:hidden}.upload-progress .bar span{background:var(--teal);display:block;height:100%;transition:width .22s ease}.gm-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);padding:24px 26px}.gm-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.gm-thumb{background:var(--steel);height:150px;position:relative}.gm-thumb img{display:block;height:100%;object-fit:cover;width:100%}.gm-del{background:#d23f3feb;border:none;border-radius:9px;color:#fff;cursor:pointer;display:grid;height:36px;opacity:0;place-items:center;position:absolute;right:10px;top:10px;transition:opacity .18s ease;width:36px}.gm-card:hover .gm-del{opacity:1}.gm-del svg{height:16px;width:16px}.gm-meta{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;padding:14px 16px}.gm-cat{color:var(--ink-2);font-size:.9rem;font-weight:800}.gm-cap{color:var(--muted);font-size:.82rem;margin-top:3px}.gm-edit{grid-gap:8px;display:grid;gap:8px;padding:12px 14px}.gm-edit input{border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;height:38px;padding:0 10px}.gm-edit input:focus{border-color:var(--teal);outline:none}.gm-edit-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:980px){.gm-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.gm-grid{grid-template-columns:repeat(2,1fr)}}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.admin-panel-head{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:22px 26px}.admin-panel-head h2{font-size:1.3rem;margin:0}.admin-filters{background:#fafcfc;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;padding:18px 26px}.admin-filters input,.admin-filters select{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;height:42px;padding:0 14px}.admin-filters input{flex:1 1;min-width:200px}.admin-filters input:focus,.admin-filters select:focus{border-color:var(--teal);outline:none}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:#fafcfc;color:var(--muted);font-size:.74rem;letter-spacing:.06em;padding:14px 26px;text-align:left;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:1px solid var(--line)}.admin-table td{padding:16px 26px;vertical-align:middle}.admin-table tr:hover td{background:#fbfdfd}.admin-table .pname{color:var(--ink-2);font-weight:700}.admin-table .psub{color:var(--muted);font-size:.86rem;margin-top:3px}.row-actions{display:flex;gap:8px;justify-content:flex-end}.icon-btn{background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;display:grid;height:38px;place-items:center;transition:all .16s ease;width:38px}.icon-btn:hover{border-color:var(--teal);color:var(--teal)}.icon-btn.danger:hover{border-color:#d23f3f;color:#d23f3f}.icon-btn svg{height:17px;width:17px}.status-toggle{border:none;cursor:pointer}.tag-group{border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.tag-group.current{background:var(--teal-soft);color:var(--teal-2)}.tag-group.legacy{background:#ede7f0;color:#7a5c8e}.modal-overlay{animation:fadeIn .18s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a131799;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalUp .22s cubic-bezier(.2,.7,.2,1);background:#fff;border-radius:18px;box-shadow:var(--shadow);max-height:90vh;overflow-y:auto;width:min(560px,100%)}@keyframes modalUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 28px}.modal-head h3{font-size:1.3rem;margin:0}.modal-body{grid-gap:16px;display:grid;gap:16px;padding:26px 28px}.modal-foot{border-top:1px solid var(--line);display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.field{grid-gap:7px;display:grid;gap:7px}.field.row2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.field label{color:var(--ink-2);font-size:.86rem;font-weight:700}.field input,.field select,.field textarea{background:#fbfdfd;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;height:46px;padding:0 14px}.field textarea{height:auto;padding:12px 14px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}.login-wrap{background:var(--deep);display:grid;min-height:100vh;overflow:hidden;padding:24px;place-items:center;position:relative}.login-card{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:40px;position:relative;width:min(420px,100%);z-index:1}.login-card .brand-logo{height:46px;margin-bottom:24px}.login-card h1{font-size:1.7rem;margin:0 0 6px}.login-card p.sub{color:var(--muted);font-size:.95rem;margin:0 0 26px}.login-card .field{margin-bottom:16px}.login-card .field input{height:50px}.login-error{background:#d23f3f1a;border-radius:var(--radius-sm);color:#c0392b;margin-bottom:16px;padding:12px 14px}.login-back,.login-error{font-size:.9rem;font-weight:600}.login-back{align-items:center;color:var(--muted);display:inline-flex;gap:7px;margin-top:20px}.login-back:hover{color:var(--teal)}.empty-state{color:var(--muted);padding:60px;text-align:center}.spinner{animation:spin .8s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--teal);height:38px;margin:0 auto;width:38px}@keyframes spin{to{transform:rotate(1turn)}}.page-loader{display:grid;padding:100px 0;place-items:center}.section.dark{position:relative}.section.dark:before{background-image:linear-gradient(hsla(0,0%,100%,.035) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,#0000 0);background-size:46px 46px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at 50% 0,#000,#0000 80%);mask-image:radial-gradient(circle at 50% 0,#000,#0000 80%);pointer-events:none;position:absolute}.section.dark .section-inner{position:relative;z-index:1}.section.muted{position:relative}.section.muted:before{background-image:radial-gradient(#0a8b941a 1.4px,#0000 0);background-size:30px 30px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#000,#0000 55%);mask-image:linear-gradient(180deg,#000,#0000 55%);opacity:.5;pointer-events:none;position:absolute}.section.muted .section-inner{position:relative;z-index:1}.site-footer{overflow:hidden;position:relative}.site-footer:before{background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:44px 44px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at 15% 0,#000,#0000 60%);mask-image:radial-gradient(circle at 15% 0,#000,#0000 60%);pointer-events:none;position:absolute}.site-footer .section-inner{position:relative;z-index:1}.map-section{padding-bottom:96px}.map-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;position:relative}.map-frame{background:var(--steel);height:420px;position:relative;width:100%}.map-frame iframe{border:0;filter:saturate(1.05);height:100%;inset:0;position:absolute;width:100%}.map-bar{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;justify-content:space-between;padding:20px 26px}.map-bar,.map-bar .mb-loc{align-items:center;display:flex}.map-bar .mb-loc{gap:12px}.map-bar .mb-ic{background:var(--teal-soft);border-radius:12px;color:var(--teal);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.map-bar .mb-ic svg{height:20px;width:20px}.map-bar .mb-name{color:var(--ink-2);font-family:var(--font-display);font-size:1.05rem;font-weight:700}.map-bar .mb-sub{color:var(--muted);font-size:.88rem;font-weight:600}@media (max-width:980px){.admin-stats,.feature-grid,.partners-grid,.service-grid,.sop-grid,.stats-band{grid-template-columns:repeat(2,1fr)}.proj-list{grid-template-columns:1fr}.contact-grid,.split-grid{gap:36px;grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.menu-toggle{display:grid}.nav-links{align-items:stretch;background:#0f1e23;border:1px solid #ffffff1a;border-radius:14px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:4px;left:16px;padding:14px;position:absolute;right:16px;top:78px}.nav-links.open{display:flex}.nav-links a{font-size:1rem;padding:13px 16px}.nav-cta{justify-content:center;margin:6px 0 0}.cta-band{align-items:flex-start;flex-direction:column;padding:36px}}@media (max-width:640px){.admin-stats,.feature-grid,.footer-grid,.partners-grid,.service-grid,.sop-grid,.stats-band{grid-template-columns:1fr}.section{padding:60px 0}.hero-content{padding:78px 0 64px}.hero h1{font-size:clamp(2.3rem,9vw,3rem)}.page-hero{padding:96px 0 60px}.section-head{margin-bottom:32px}.hero-actions .btn{width:100%}.hero-stat{flex:1 1;min-width:0}.hero-stats{gap:10px}.field.row2{grid-template-columns:1fr}.proj-toolbar{align-items:stretch;flex-direction:column;gap:14px}.tabs{justify-content:space-between;width:100%}.tab{flex:1 1;padding:10px 8px;text-align:center}.search-box,.search-box input{width:100%}.map-frame{height:320px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table td,.admin-table tr{display:block;width:100%}.admin-table td{border:none;padding:6px 20px}.admin-table tr{border-bottom:1px solid var(--line);padding:14px 0}.row-actions{justify-content:flex-start;padding-top:8px}.admin-view-tabs{width:100%}.vtab{flex:1 1;padding:10px 12px;text-align:center}.gm-grid{gap:12px;grid-template-columns:repeat(2,1fr);padding:18px}}@media (hover:none){.photo-card .overlay{background:linear-gradient(180deg,#0000 58%,#0a1317c7);opacity:1}.photo-card .zoom-ic{background:#0a131773;opacity:1;transform:none}.photo-card:hover img.loaded{transform:scale(1)}.gm-del{opacity:1}.feature-card:hover,.marquee-track span:hover img,.partner-card:hover,.proj-row:hover,.project-card:hover,.service-card:hover{transform:none}.proj-row:active{transform:translateX(4px)}.feature-card:active,.service-card:active{transform:translateY(-4px)}.marquee:hover .marquee-track{animation-play-state:running}}
/*# sourceMappingURL=main.4fb115b7.css.map*/