@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-vietnamese-wdth-normal.38-z0iikg-fbe.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-ext-wdth-normal.27soo5q86xy9f.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-wdth-normal.1h4hl0m83hjjz.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--membrane:#f2f4f3;--membrane-2:#e5e9e8;--white:#fff;--slate:#1f2a33;--slate-2:#2c3a45;--slate-3:#3b4b57;--steel:#8a949b;--steel-ink:#56616a;--red:#c21f2e;--red-dark:#9c1723;--chalk:#2d6bd8;--chalk-soft:#2d6bd81f;--ok:#1f7a4d;--chalk-ink:#1c4fa8;--rule:#cdd4d6;--control-border:#76818a;--on-dark-muted:#c4cdd3;--scrim:#10161bbf;--map-state:#b6c0c4;--warn:#9a6200;--font:"Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs:.8125rem;--t-sm:.9375rem;--t-md:1.0625rem;--t-lg:1.25rem;--t-xl:clamp(1.5rem, 1.2rem + 1vw, 1.95rem);--t-2xl:clamp(1.95rem, 1.4rem + 1.9vw, 2.75rem);--t-3xl:clamp(2.4rem, 1.5rem + 3.4vw, 4.25rem);--t-hero:clamp(2.4rem, 1.3rem + 3.6vw, 4.25rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--max:1240px;--radius-s:3px;--radius-m:6px;--header-h:68px;--ease:cubic-bezier(.2, .7, .1, 1)}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--membrane);color:var(--slate);font-family:var(--font);font-size:var(--t-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-stretch:100%;line-height:1.6}img,video,canvas,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:800;font-stretch:118%;line-height:1.08}p{text-wrap:pretty;margin:0}:focus-visible{outline:3px solid var(--chalk);outline-offset:3px;border-radius:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--slate);color:var(--white);border-radius:var(--radius-s);padding:.75rem 1rem;font-weight:700;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.measure{max-width:64ch}.lede{font-size:var(--t-lg);color:var(--slate-2);line-height:1.55}.muted{color:var(--steel-ink)}.btn{border-radius:var(--radius-s);min-height:48px;font:inherit;font-weight:700;font-stretch:108%;font-size:var(--t-md);cursor:pointer;transition:background-color .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);border:2px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:0 1.4rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--red);color:var(--white)}.btn-primary:hover{background:var(--red-dark)}.btn-ghost{background:0 0;border-color:currentColor}.btn-ghost:hover{background:#1f2a330f}.on-dark .btn-ghost:hover{background:#ffffff1a}.btn[disabled]{opacity:.6;cursor:progress}.text-link{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);font-weight:700}.link-button{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;padding:0}.text-link:hover{color:var(--red)}.announce{background:var(--slate);color:var(--white);font-size:var(--t-sm)}.announce .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:40px;padding-top:.4rem;padding-bottom:.4rem;display:flex}.announce a{white-space:nowrap;font-weight:700}.site-header{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--membrane-2);background:#f2f4f3eb;position:sticky;top:0}.site-header .wrap{height:var(--header-h);align-items:center;gap:1.5rem;display:flex}.brand{align-items:center;gap:.7rem;min-height:44px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{flex:none;width:34px;height:34px}.brand-name{flex-direction:column;line-height:1;display:flex}.brand-name strong{letter-spacing:-.01em;font-size:1.15rem;font-weight:900;font-stretch:125%}.brand-name span{color:var(--steel-ink);letter-spacing:.02em;margin-top:3px;font-size:.72rem;font-weight:600;font-stretch:100%}.nav{align-items:center;gap:1.4rem;display:flex}.nav a{font-weight:600;font-size:var(--t-sm);border-bottom:2px solid #0000;padding:.4rem 0;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--red)}.header-actions{align-items:center;gap:1rem;display:flex}.header-portal{font-weight:600;font-size:var(--t-sm);white-space:nowrap;text-decoration:none}.header-portal:hover{text-decoration:underline}.header-phone{white-space:nowrap;align-items:center;min-height:44px;font-weight:800;font-stretch:112%;text-decoration:none;display:inline-flex}.header-actions .btn{min-height:42px;font-size:var(--t-sm);padding:0 1rem}.menu-toggle{width:44px;height:44px;color:var(--slate);cursor:pointer;background:0 0;border:0;padding:10px;display:none}.mobile-nav{display:none}@media (max-width:980px){.nav,.header-actions .btn,.header-portal{display:none}.menu-toggle{display:block}.mobile-nav[data-open=true]{inset:var(--header-h) 0 0 0;background:var(--membrane);z-index:49;padding:1.5rem var(--gutter) 3rem;display:block;position:fixed;overflow-y:auto}.mobile-nav ul{margin:0;padding:0;list-style:none}.mobile-nav li a{font-size:var(--t-xl);border-bottom:1px solid var(--membrane-2);padding:1rem 0;font-weight:800;font-stretch:115%;text-decoration:none;display:block}.mobile-nav .btn{width:100%;margin-top:1.5rem}}@media (max-width:420px){.header-phone{font-size:var(--t-sm)}.brand-name span{display:none}}.hero{min-height:min(860px, calc(100svh - var(--header-h)));background:linear-gradient(180deg, #cfd8dd 0%, #e7ecec 55%, var(--membrane) 100%);isolation:isolate;align-items:end;display:grid;position:relative;overflow:hidden}.hero-canvas{z-index:-1;position:absolute;inset:0}.hero-canvas canvas{width:100%!important;height:100%!important}.hero-fallback{z-index:-2;background:linear-gradient(180deg, #f2f4f300 40%, var(--membrane) 100%), repeating-linear-gradient(90deg, #b9c1c4 0 2px, transparent 2px 120px), linear-gradient(160deg, #d7dedf, #aeb7bb);position:absolute;inset:0}.hero-content{padding-top:clamp(2rem,8vh,6rem);padding-bottom:clamp(2.5rem,7vh,5rem)}.hero-panel{-webkit-backdrop-filter:blur(6px);border-left:6px solid var(--red);border-radius:0 var(--radius-m) var(--radius-m) 0;background:#f2f4f3db;max-width:600px;padding:clamp(1.25rem,3vw,2.25rem)}.hero h1{font-size:var(--t-hero);letter-spacing:-.02em;font-weight:900;font-stretch:116%;line-height:.98}.hero .lede{max-width:50ch;margin-top:1.1rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.hero-facts{font-size:var(--t-sm);color:var(--slate-2);flex-wrap:wrap;gap:.4rem 1.4rem;margin:1.4rem 0 0;padding:0;font-weight:600;list-style:none;display:flex}.hero-facts li:before{content:"";background:var(--chalk);width:8px;height:8px;margin-right:.5rem;display:inline-block;transform:rotate(45deg)translateY(-1px)}.plan-note{right:var(--gutter);z-index:1;font-size:var(--t-xs);color:var(--chalk);border:1px solid var(--chalk);border-radius:var(--radius-s);background:#ffffffbf;max-width:230px;padding:.35rem .6rem;font-weight:600;line-height:1.35;position:absolute;top:1.5rem}@media (max-width:700px){.plan-note{display:none}.hero{background:var(--membrane);min-height:0;display:block}.hero-canvas,.hero-fallback{z-index:0;height:34svh;min-height:220px;position:relative;inset:auto}.hero-canvas+.hero-content,.hero-fallback+.hero-canvas{margin-top:0}.hero-fallback{display:none}.hero-content{padding-top:0}.hero-panel{background:var(--membrane);-webkit-backdrop-filter:none;border-left-width:4px;margin-top:-2.5rem;position:relative}}.section{padding:clamp(3.5rem,8vw,7rem) 0}.section-tight{padding:clamp(2.5rem,5vw,4rem) 0}.section-dark{background:var(--slate);color:var(--white)}.section-dark .muted,.section-dark .lede{color:var(--on-dark-muted)}.section-white{background:var(--white)}.section-head{gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);display:grid}.section-head h2{font-size:var(--t-3xl)}.section-head-split{grid-template-columns:1fr}@media (min-width:900px){.section-head-split{grid-template-columns:1.1fr 1fr;align-items:end;gap:3rem}}.svc-index{border-top:2px solid var(--slate)}.svc-list{margin:0;padding:0;list-style:none}.svc-short{display:block}.svc-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr;gap:.5rem 2rem;padding:1.4rem 0;text-decoration:none;display:grid;position:relative}.svc-row:hover .svc-name,.svc-row:focus-visible .svc-name{color:var(--red)}.svc-name{font-size:var(--t-xl);transition:color .16s var(--ease);font-weight:800;font-stretch:115%;line-height:1.15}.svc-short{color:var(--steel-ink);margin-top:.3rem}.svc-meta{font-size:var(--t-sm);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;margin:.5rem 0 0;display:grid}.svc-meta dt{font-size:var(--t-xs);color:var(--steel-ink);font-weight:600}.svc-meta dd{margin:0;font-weight:700}.svc-head{display:none}@media (min-width:960px){.svc-row,.svc-head{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,.7fr) minmax(0,.8fr);align-items:baseline}.svc-head{font-size:var(--t-xs);color:var(--steel-ink);border-bottom:1px solid var(--rule);gap:0 2rem;padding:.7rem 0;font-weight:700;display:grid}.svc-meta{display:contents}.svc-meta dt{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.svc-meta div{margin:0}}.gallery-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.chip{border:1.5px solid var(--control-border);background:var(--white);min-height:40px;font:inherit;font-size:var(--t-sm);color:var(--slate);cursor:pointer;border-radius:999px;padding:0 1rem;font-weight:600}.chip[aria-pressed=true]{background:var(--slate);border-color:var(--slate);color:var(--white)}.chip .count{opacity:.7;margin-left:.35rem;font-weight:500}.gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-auto-flow:dense;gap:10px;display:grid}.gallery-item{background:var(--membrane-2);aspect-ratio:4/3;border-radius:var(--radius-s);margin:0;position:relative;overflow:hidden}.gallery-item.is-feature{grid-area:span 2/span 2}@media (max-width:620px){.gallery-item.is-feature{grid-area:auto}}.gallery-item button{all:unset;cursor:zoom-in;width:100%;height:100%;display:block}.gallery-item button:focus-visible{outline:3px solid var(--chalk);outline-offset:-3px}.gallery-item img,.gallery-item video{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.gallery-item:hover img{transform:scale(1.03)}.gallery-item figcaption{color:var(--white);font-size:var(--t-xs);pointer-events:none;background:linear-gradient(#0000,#10161bc7);justify-content:space-between;gap:.5rem;padding:1.5rem .8rem .6rem;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.badge-video{background:var(--scrim);color:var(--white);font-size:var(--t-xs);border-radius:var(--radius-s);padding:.2rem .5rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.gallery-empty{border:1.5px dashed var(--control-border);border-radius:var(--radius-m);padding:2rem}.skeleton{background:linear-gradient(90deg, var(--membrane-2), #eef1f0, var(--membrane-2));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.lightbox{max-width:min(1200px,96vw);max-height:94vh;color:var(--white);background:0 0;border:0;padding:0}.lightbox::backdrop{background:#0a0e11e6}.lightbox-inner{gap:.75rem;display:grid}.lightbox img,.lightbox video{border-radius:var(--radius-s);width:auto;max-height:80vh;margin:0 auto}.lightbox-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lightbox-bar .btn{min-height:40px;color:var(--white)}.ba{aspect-ratio:16/10;border-radius:var(--radius-m);background:var(--membrane-2);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.ba img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ba-after{clip-path:inset(0 0 0 var(--pos,50%))}.ba-handle{top:0;bottom:0;left:var(--pos,50%);background:var(--white);pointer-events:none;width:3px;position:absolute;transform:translate(-50%)}.ba input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba-label{font-size:var(--t-xs);background:var(--scrim);color:var(--white);border-radius:var(--radius-s);padding:.2rem .55rem;font-weight:700;position:absolute;bottom:.75rem}.steps{counter-reset:step;gap:0;margin:0;padding:0;list-style:none;display:grid}@media (min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}.steps li{counter-increment:step;border-top:2px solid #ffffff38;padding:1.5rem 1.5rem 1.5rem 0;position:relative}.steps li:before{content:counter(step);font-size:var(--t-2xl);color:var(--white);opacity:.35;margin-bottom:.75rem;font-weight:900;font-stretch:125%;line-height:1;display:block}.steps h3{font-size:var(--t-lg);margin-bottom:.5rem}.steps p{color:var(--on-dark-muted);font-size:var(--t-sm)}.trust{gap:1.5rem;display:grid}@media (min-width:800px){.trust{grid-template-columns:repeat(3,1fr)}}.trust div{border-left:3px solid var(--chalk);padding-left:1rem}.trust strong{font-size:var(--t-2xl);font-weight:900;font-stretch:125%;line-height:1.05;display:block}.emergency{background:var(--red);color:var(--white)}.emergency .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding-top:1.75rem;padding-bottom:1.75rem;display:flex}.emergency h2{font-size:var(--t-xl)}.emergency .btn{background:var(--white);color:var(--red-dark)}.emergency .btn:hover{background:var(--membrane)}.areas{gap:2rem;display:grid}@media (min-width:900px){.areas{grid-template-columns:1fr 1fr;align-items:center}}.us-map{width:100%;height:auto}.form,.form-grid{gap:1.1rem;display:grid}@media (min-width:700px){.form-grid{grid-template-columns:1fr 1fr}}.field{gap:.35rem;display:grid}.field label,.field legend{font-weight:700;font-size:var(--t-sm)}.field .hint{font-size:var(--t-xs);color:var(--steel-ink)}.field input,.field select,.field textarea{font:inherit;font-size:var(--t-md);border:1.5px solid var(--control-border);border-radius:var(--radius-s);background:var(--white);min-height:48px;color:var(--slate);width:100%;padding:.6rem .8rem}.field textarea{resize:vertical;min-height:120px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--chalk);outline-offset:0;border-color:var(--chalk)}.field [aria-invalid=true]{border-color:var(--red)}.field-error{color:var(--red-dark);font-size:var(--t-sm);font-weight:600}fieldset.field{border:0;margin:0;padding:0}.segmented{flex-wrap:wrap;gap:.5rem;display:flex}.segmented label{border:1.5px solid var(--control-border);background:var(--white);cursor:pointer;border-radius:999px;align-items:center;min-height:44px;padding:0 1rem;font-weight:600;display:inline-flex;position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented label:has(input:checked){background:var(--slate);border-color:var(--slate);color:var(--white)}.segmented label:has(input:focus-visible){outline:3px solid var(--chalk);outline-offset:2px}.segmented label.is-emergency:has(input:checked){background:var(--red);border-color:var(--red)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.notice{border-radius:var(--radius-m);border-left:4px solid var(--chalk);background:var(--chalk-soft);padding:1rem 1.2rem}.notice-error{border-left-color:var(--red);background:#c21f2e14}.notice-ok{border-left-color:var(--ok);background:#1f7a4d14}.contact-layout{gap:3rem;display:grid}@media (min-width:960px){.contact-layout{grid-template-columns:1.4fr 1fr}}.contact-card{background:var(--slate);color:var(--white);border-radius:var(--radius-m);align-content:start;align-self:start;gap:1.25rem;padding:1.75rem;display:grid}.contact-card a{color:var(--white)}.contact-card .muted{color:var(--on-dark-muted);font-size:var(--t-sm)}.contact-card .big{font-size:var(--t-xl);font-weight:900;font-stretch:120%;text-decoration:none}.page-head{border-bottom:1px solid var(--membrane-2);padding:clamp(2.5rem,6vw,5rem) 0 clamp(1.5rem,3vw,2.5rem)}.page-head h1{font-size:var(--t-3xl);max-width:20ch;font-weight:900;font-stretch:125%}.page-head .lede{max-width:60ch;margin-top:1rem}.crumbs{font-size:var(--t-sm);color:var(--steel-ink);margin-bottom:1rem}.crumbs a{font-weight:600}.svc-detail{gap:3rem;display:grid}@media (min-width:960px){.svc-detail{grid-template-columns:1.5fr 1fr}}.facts{border-top:2px solid var(--slate);gap:0;margin:0;display:grid}.facts div{border-bottom:1px solid var(--rule);grid-template-columns:9rem 1fr;gap:1rem;padding:.8rem 0;display:grid}.facts dt{color:var(--steel-ink);font-size:var(--t-sm)}.facts dd{margin:0;font-weight:700}.points{gap:1.75rem;margin-top:2.5rem;display:grid}@media (min-width:700px){.points{grid-template-columns:1fr 1fr}}.points h3{font-size:var(--t-lg);margin-bottom:.4rem}.faq details{border-bottom:1px solid var(--rule);padding:1rem 0}.faq summary{cursor:pointer;font-weight:700;font-size:var(--t-lg);justify-content:space-between;gap:1rem;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.5rem;font-weight:400;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--slate-2);margin-top:.6rem}.showcase{gap:2rem;display:grid}@media (min-width:800px){.showcase{grid-template-columns:repeat(2,1fr)}}.showcase article{gap:.75rem;display:grid}.showcase .cover{aspect-ratio:16/10;background:var(--membrane-2);border-radius:var(--radius-m);overflow:hidden}.showcase .cover img{object-fit:cover;width:100%;height:100%}.showcase h3{font-size:var(--t-xl)}.site-footer{background:var(--slate);color:var(--on-dark-muted);font-size:var(--t-sm);padding:4rem 0 2rem}.site-footer a{color:var(--white);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{gap:2.5rem;display:grid}@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}.site-footer h2{font-size:var(--t-sm);color:var(--white);margin-bottom:.8rem;font-stretch:110%}.site-footer ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.site-footer ul a,.site-footer p a{align-items:center;min-height:44px;display:inline-flex}.footer-base{border-top:1px solid var(--slate-3);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.mobile-bar{display:none}@media (max-width:700px){.mobile-bar{z-index:40;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--membrane-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f2f4f3f5;grid-template-columns:auto 1fr;gap:.5rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bar .btn{min-height:48px;font-size:var(--t-sm);white-space:nowrap;padding:0 1.1rem}body:has(.mobile-bar) .site-footer{padding-bottom:6rem}}.portal-shell{min-height:calc(100svh - var(--header-h));padding:clamp(2rem,5vw,4rem) 0 5rem}.portal-login{background:var(--white);border-radius:var(--radius-m);border-top:6px solid var(--slate);max-width:440px;padding:clamp(1.5rem,4vw,2.5rem)}.portal-login h1{font-size:var(--t-2xl);margin-bottom:.5rem}.portal-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.portal-top h1{font-size:var(--t-2xl)}.project-list{gap:1rem;display:grid}.project-row{background:var(--white);border-radius:var(--radius-m);border:1.5px solid #0000;grid-template-columns:1fr;gap:1rem;padding:1rem;text-decoration:none;display:grid}.project-row:hover{border-color:var(--steel)}@media (min-width:760px){.project-row{grid-template-columns:180px 1fr 220px;align-items:center}}.project-thumb{aspect-ratio:4/3;border-radius:var(--radius-s);background:var(--membrane-2);overflow:hidden}.project-thumb img{object-fit:cover;width:100%;height:100%}.project-row h2{font-size:var(--t-lg)}.progress{gap:.4rem;display:grid}.progress-track{background:var(--membrane-2);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:var(--ok);transform-origin:0;border-radius:999px;height:100%}.progress-label{font-size:var(--t-sm);justify-content:space-between;font-weight:700;display:flex}.status-pill{font-size:var(--t-xs);background:var(--membrane-2);border-radius:999px;padding:.15rem .55rem;font-weight:700;display:inline-block}.status-pill[data-status=active]{color:var(--chalk-ink);background:#2d6bd824}.status-pill[data-status=completed]{color:var(--ok);background:#1f7a4d24}.status-pill[data-status=on_hold]{color:var(--warn);background:#9a620024}.portal-project{gap:2.5rem;display:grid}@media (min-width:1000px){.portal-project{grid-template-columns:340px 1fr;align-items:start}.portal-project aside{top:calc(var(--header-h) + 1.5rem);position:sticky}}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 1.4rem 2rem;position:relative}.timeline li:before{content:"";background:var(--rule);width:2px;position:absolute;top:18px;bottom:0;left:7px}.timeline li:last-child:before{display:none}.timeline .dot{border:2px solid var(--steel);background:var(--membrane);border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:0}.timeline li[data-status=complete] .dot{background:var(--ok);border-color:var(--ok)}.timeline li[data-status=in_progress] .dot{background:var(--white);border-color:var(--chalk);box-shadow:0 0 0 4px var(--chalk-soft)}.timeline li[data-status=skipped]{opacity:.55}.timeline h3{font-size:var(--t-md);font-stretch:105%}.timeline .when{font-size:var(--t-xs);color:var(--steel-ink);font-weight:600}.update{background:var(--white);border-radius:var(--radius-m);gap:.75rem;padding:1.25rem;display:grid}.update h3{font-size:var(--t-lg)}.update-meta{font-size:var(--t-xs);color:var(--steel-ink);font-weight:600}.update-media{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.update-media button{all:unset;cursor:zoom-in;aspect-ratio:1;border-radius:var(--radius-s);background:var(--membrane-2);overflow:hidden}.update-media button:focus-visible{outline:3px solid var(--chalk)}.update-media img{object-fit:cover;width:100%;height:100%}.tabs{border-bottom:2px solid var(--membrane-2);gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tabs button{font:inherit;cursor:pointer;color:var(--steel-ink);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.75rem 1rem;font-weight:700}.tabs button[aria-selected=true]{color:var(--slate);border-bottom-color:var(--red)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.announce,.emergency,.hero-canvas{display:none!important}}.h-section{font-size:var(--t-2xl);margin-bottom:1.5rem}.h-display{font-size:var(--t-3xl)}.map-land{fill:var(--membrane-2)}.map-states{fill:none;stroke:var(--map-state);stroke-width:1px}.map-outline{fill:none;stroke:var(--slate);stroke-width:2px}.map-ring{fill:none;stroke:var(--chalk);stroke-width:1.5px;stroke-dasharray:6 8;opacity:.7}.map-hq-halo{fill:#c21f2e29}.map-hq{fill:var(--red);stroke:var(--white);stroke-width:3px}.map-label{fill:var(--white);stroke:var(--chalk);stroke-width:1.5px}.map-label-title{fill:var(--slate);font-size:18px;font-weight:700}.map-label-sub{fill:var(--steel-ink);font-size:14px}
