:root{--ink:#1a1110;--ink-2:#241816;--espresso:#3d2420;--clay:#6b4237;--clay-soft:#8b6054;--gold:#d4a03c;--gold-soft:#e7c27a;--gold-deep:#94681a;--paper:#fbf8f3;--bone:#f4ede2;--white:#fff;--text:#241816;--text-muted:#6b5d55;--text-on-dark:#f4ede2;--text-on-dark-2:#f4ede2ad;--line:#2418161f;--line-dark:#e7c27a29;--status-done:#5e7f57;--status-active:#d4a03c;--font-display:"Fraunces", Georgia, serif;--font-sans:"Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--fs-hero:clamp(2.75rem, 1.6rem + 5.2vw, 6rem);--fs-h2:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--fs-h3:clamp(1.25rem, 1.1rem + .6vw, 1.625rem);--fs-lead:clamp(1.0625rem, 1rem + .3vw, 1.25rem);--fs-body:1rem;--fs-small:.875rem;--fs-eyebrow:.75rem;--container:1240px;--gutter:clamp(16px, 4vw, 32px);--section-y:clamp(72px, 10vw, 140px);--r-sm:4px;--r-md:8px;--r-lg:14px;--r-pill:999px;--shadow-1:0 1px 2px #1a11100f, 0 6px 20px #1a11100f;--shadow-2:0 30px 60px -24px #1a111073;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--dur-1:.2s;--dur-2:.45s;--dur-3:.9s}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.eyebrow{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);align-items:center;gap:12px;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:32px;height:1px}.on-dark .eyebrow,.eyebrow--dark{color:var(--gold)}.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.bp-grid{isolation:isolate;position:relative}.bp-grid:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px), linear-gradient(#e7c27a10 1px, transparent 1px), linear-gradient(90deg, #e7c27a10 1px, transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 35%,#0000 85%);mask-image:radial-gradient(#000 35%,#0000 85%)}.bp-corners{position:relative}.bp-corners:before,.bp-corners:after,.bp-corners__far:before,.bp-corners__far:after{content:"";pointer-events:none;border:0 solid var(--gold);width:14px;height:14px;position:absolute}.bp-corners:before{border-top-width:1.5px;border-left-width:1.5px;top:10px;left:10px}.bp-corners:after{border-top-width:1.5px;border-right-width:1.5px;top:10px;right:10px}.bp-corners__far{pointer-events:none;position:absolute;inset:0}.bp-corners__far:before{border-bottom-width:1.5px;border-left-width:1.5px;bottom:10px;left:10px}.bp-corners__far:after{border-bottom-width:1.5px;border-right-width:1.5px;bottom:10px;right:10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}}.clip-reveal{clip-path:inset(100% 0 0);transition:clip-path 1.1s var(--ease-out)}.visible .clip-reveal{clip-path:inset(0)}.hl{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.hl>span{transition:transform 1s var(--ease-out);transition-delay:calc(var(--i,0) * .12s);display:block;transform:translateY(105%)}.visible .hl>span,.hl.visible>span{transform:none}.display{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-weight:500;line-height:1.05}@media (prefers-reduced-motion:reduce){.clip-reveal{clip-path:none}.hl>span{transform:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text);background:var(--paper);max-width:100%;line-height:1.6;overflow-x:hidden}img,picture,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{font-weight:inherit}.reveal{opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}.stagger-1{transition-delay:80ms}.stagger-2{transition-delay:.16s}.stagger-3{transition-delay:.24s}.btn{font-family:var(--font-sans);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1), transform var(--dur-1), box-shadow var(--dur-1);border:1px solid #0000;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;line-height:1.2;display:inline-flex}.btn-primary{background:var(--gold);color:var(--ink)}.btn-outline{color:var(--white);background:0 0;border-color:#fff6}@media (hover:hover){.btn-primary:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 10px 28px #d4a03c59}.btn-outline:hover{border-color:var(--gold);color:var(--gold);background:#d4a03c14}}.nav{z-index:1000;transition:background var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), -webkit-backdrop-filter var(--dur-2);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line-dark);background:#1a1110d9}.nav.is-open{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom-color:#0000}.nav-inner{height:56px;max-width:var(--container);padding:0 var(--gutter);align-items:center;gap:28px;margin:0 auto;display:flex;position:relative}.nav-mark{border-radius:var(--r-md);opacity:0;pointer-events:none;width:40px;height:40px;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);background:#fff;justify-content:center;align-items:center;display:flex;transform:translateY(-4px)}.nav-mark.is-visible{opacity:1;pointer-events:auto;transform:none}.nav-mark img{width:32px;height:auto}.nav-links,.nav-call{display:none}.nav-burger{cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-left:auto;position:relative}.nav-burger span{background:var(--white);height:2px;transition:transform var(--dur-2) var(--ease-out), top var(--dur-2) var(--ease-out);position:absolute;left:11px;right:11px}.nav-burger span:first-child{top:17px}.nav-burger span:nth-child(2){top:25px}.is-open .nav-burger span:first-child{top:21px;transform:rotate(45deg)}.is-open .nav-burger span:nth-child(2){top:21px;transform:rotate(-45deg)}.mm{z-index:-1;padding:96px var(--gutter) 40px;background:var(--ink);visibility:hidden;opacity:0;transition:opacity var(--dur-2) var(--ease-out), visibility 0s linear var(--dur-2);flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.mm.is-open{visibility:visible;opacity:1;transition-delay:0s}.mm-links{gap:6px;list-style:none;display:grid}.mm-links li,.mm-contact{opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);transform:translateY(16px)}.mm.is-open .mm-links li,.mm.is-open .mm-contact{opacity:1;transition-delay:calc(80ms + var(--i) * 60ms);transform:none}.mm-links a{min-height:56px;font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-on-dark);align-items:baseline;gap:16px;font-size:40px;font-weight:500;line-height:1.2;display:flex}.mm-links a:hover{color:var(--gold)}.mm-index{color:var(--gold);min-width:24px;font-size:12px}.mm-contact{border-top:1px solid var(--line-dark);gap:6px;margin-top:auto;padding-top:32px;display:grid}.mm-contact a{min-height:44px;color:var(--text-on-dark-2);align-items:center;font-size:16px;display:flex}@media (width>=768px){.nav-inner{height:72px}.nav-burger,.mm{display:none}.nav-links{align-items:center;gap:28px;margin:0 0 0 auto;padding:0;list-style:none;display:flex;position:relative}.nav-links a{color:var(--text-on-dark-2);transition:color var(--dur-1);padding:8px 0;font-size:14px;font-weight:500;display:block}.nav-links a:hover,.nav-links a.is-active{color:var(--gold)}.nav-indicator{background:var(--gold);height:1px;transition:transform var(--dur-2) var(--ease-out), width var(--dur-2) var(--ease-out), opacity var(--dur-2);position:absolute;bottom:0;left:0}.nav-call{min-height:44px;color:var(--gold);border:1px solid var(--gold);border-radius:var(--r-sm);transition:background var(--dur-1), color var(--dur-1);align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.nav-call:hover{background:var(--gold);color:var(--ink)}}.hero{background:var(--ink);min-height:max(100svh,720px);color:var(--text-on-dark);align-items:center;display:flex;position:relative;overflow:hidden}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.2s var(--ease-io)}.hero-slide picture,.hero-slide img{width:100%;max-width:none;height:100%;display:block}.hero-slide img{object-fit:cover}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide.is-leaving{z-index:0}.hero-slide.is-active img,.hero-slide.is-leaving img{animation:7.2s linear forwards heroKenBurns}@keyframes heroKenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero-overlay{z-index:2;background:linear-gradient(90deg, #1a1110eb 0%, #1a1110b8 42%, #1a111026 100%), linear-gradient(180deg, transparent 62%, var(--ink) 100%);position:absolute;inset:0}.hero-inner{z-index:3;width:100%;max-width:var(--container);padding:88px var(--gutter) 44px;flex-direction:column;align-items:flex-start;margin:0 auto;display:flex;position:relative}.hero-plaque-wrap{position:relative}.hero-badge{background:var(--gold);color:var(--ink);border-radius:var(--r-md);animation:heroRise .8s var(--ease-out) .4s both;padding:14px 22px;font-size:13px;font-weight:700;position:absolute;bottom:-20px;left:-20px;box-shadow:0 12px 32px #d4a03c4d}.hero-badge strong{font-family:var(--font-display);font-size:28px;line-height:1.1;display:block}.hero-plaque{border-radius:var(--r-lg);width:100%;height:100%;animation:heroPlaque .9s var(--ease-out) both;background:#fff;justify-content:center;align-items:center;padding:14px 16px;display:flex;box-shadow:0 0 0 1px #e7c27a8c,0 24px 56px #0006}.hero-plaque img{object-fit:contain;width:100%;height:100%}.hero-eyebrow{color:var(--gold);animation:heroRise .8s var(--ease-out) 50ms both;margin-top:24px}.hero-title{font-family:var(--font-display);font-weight:500;font-size:min(var(--fs-hero), 9.5svh);letter-spacing:-.02em;font-optical-sizing:auto;color:var(--white);text-wrap:balance;margin-top:14px;line-height:1.02}.hero-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.hero-line>span{animation:heroLine 1s var(--ease-out) both;animation-delay:calc(.1s + var(--i) * 80ms);display:block}.hero-title em{color:var(--gold);font-style:italic}.hero-after{animation:heroRise .7s var(--ease-out) .12s both}.hero-lead{max-width:34ch;font-size:var(--fs-lead);color:#f4ede2d1;margin:20px 0 28px;line-height:1.55}.hero-buttons{flex-wrap:wrap;gap:14px;display:flex}.hero-buttons .btn{min-height:48px}.hero-stats{animation:heroRise .8s var(--ease-out) .3s both;gap:16px;margin-top:32px;display:flex}.hero-stat{border:1px solid var(--line-dark);border-radius:var(--r-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;min-width:168px;padding:16px 20px}.hero-stat-num{font-family:var(--font-display);color:var(--gold);font-size:40px;font-weight:500;line-height:1}.hero-stat-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-on-dark-2);margin-top:8px;font-size:11px;font-weight:500}.hero-meta{z-index:3;right:var(--gutter);width:min(460px,42vw);animation:heroRise .8s var(--ease-out) .4s both;position:absolute;bottom:40px}.hero-caption{color:var(--text-on-dark-2);text-align:right;margin:0 0 6px;font-size:11px}.hero-progress{align-items:center;gap:12px;display:flex}.hero-count{color:var(--text-on-dark-2);font-size:11px}.hero-segments{flex:1;gap:6px;display:flex}.hero-seg{cursor:pointer;background:0 0;border:0;flex:1;height:44px;padding:0;position:relative}.hero-seg:before{content:"";background:#f4ede240;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.hero-seg-fill{background:var(--gold);width:0;height:2px;margin-top:-1px;position:absolute;top:50%;left:0}.hero-seg.is-done .hero-seg-fill{width:100%}.hero-seg.is-active .hero-seg-fill{animation:6s linear forwards heroFill}@keyframes heroPlaque{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes heroLine{0%{transform:translateY(105%)}to{transform:none}}@keyframes heroFill{0%{width:0}to{width:100%}}@media (width>=768px){.hero-inner{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:48px;display:grid}.hero-inner>*{grid-column:1}.hero-plaque-wrap{aspect-ratio:240/176;grid-area:1/2/span 6;align-self:center;width:clamp(240px,24vw,330px);margin-right:clamp(0px,4vw,64px)}.hero-eyebrow{margin-top:0}}@media (width<=767px){.hero{align-items:stretch}.hero-overlay{background:linear-gradient(#1a11108c 0%,#1a1110eb 100%)}.hero-inner{text-align:center;align-items:center;padding:72px 20px 4px}.hero-plaque-wrap{width:180px;height:132px}.hero-badge{display:none}.hero-plaque{padding:10px 12px}.hero-eyebrow{letter-spacing:.1em;text-align:center;color:var(--gold-soft);justify-content:center;margin-top:16px;font-size:10.5px}.hero-eyebrow:before{display:none}.hero-title{margin-top:8px;font-size:2.75rem}.hero-lead{max-width:34ch;margin:12px auto 18px;font-size:15px}.hero-buttons{flex-direction:column;gap:10px;width:100%}.hero-buttons .btn{justify-content:center;width:100%;min-height:46px;padding-top:0;padding-bottom:0}.hero-stats{gap:10px;width:100%;margin-top:18px}.hero-stat{text-align:left;flex:1;min-width:0;padding:10px 12px}.hero-stat-num{font-size:28px}.hero-stat-label{letter-spacing:.08em;margin-top:6px;font-size:10px}.hero-meta{z-index:3;width:100%;margin-top:0;padding:0 20px 4px;position:relative;bottom:auto;right:auto}.hero-caption{text-align:center;margin-bottom:-10px;font-size:10px}.hero-progress{margin-top:0}.hero-seg{height:44px}.hero{flex-direction:column;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.hero-slide.is-active img,.hero-slide.is-leaving img{animation:none}.hero-seg.is-active .hero-seg-fill{width:100%;animation:none}}.marquee{background:var(--gold);height:64px;color:var(--ink);align-items:center;display:flex;overflow:hidden}.marquee-track{flex:none;width:max-content;animation:40s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{flex:none;align-items:center;display:flex}.marquee-item{font-family:var(--font-display);white-space:nowrap;align-items:center;font-size:24px;font-style:italic;font-weight:400;line-height:1;display:inline-flex}.marquee-sep{margin:0 28px;font-size:16px;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee{padding:0 var(--gutter);justify-content:center}.marquee-track{width:auto;min-width:0;animation:none}.marquee-group[aria-hidden]{display:none}.marquee-group{overflow:hidden}.marquee-item{text-overflow:ellipsis;overflow:hidden}}.about{background:var(--paper);color:var(--text);padding:var(--section-y) 0}.about-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.about-grid{gap:40px;display:grid}.about-media{margin:0;position:relative}.about-frame{display:none}.about-photo-wrap{display:block}.about-photo{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--bone);position:relative;overflow:hidden}.about-photo img{object-fit:cover;object-position:center 35%;width:100%;height:100%}.about-est{background:var(--ink);color:var(--text-on-dark);border-radius:var(--r-sm);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;display:flex;position:absolute;bottom:12px;right:12px}.about-est .mono{color:var(--text-on-dark-2);font-size:10px}.about-est strong{color:var(--gold);font-size:32px}.about-text .eyebrow{margin-bottom:18px}.about-title{font-size:var(--fs-h2);color:var(--espresso);margin-bottom:24px}.about-text>p:not(.eyebrow){font-size:var(--fs-body);color:var(--text-muted);max-width:58ch;margin-bottom:16px;line-height:1.75}.about-values{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:28px;list-style:none;display:grid}.about-values li{border-top:1px solid var(--line);color:var(--text);align-items:center;gap:10px;padding:14px 0;font-size:14px;font-weight:600;display:flex}.about-values svg{color:var(--gold-deep);flex:none}.about-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,7vw,96px);display:grid}.about-stat{text-align:center;padding:28px 8px 0}.about-stat+.about-stat{border-left:1px solid var(--line)}.about-stat-num{color:var(--espresso);font-size:40px;line-height:1}.about-stat-num span{color:var(--gold)}.about-stat-label{color:var(--text-muted);letter-spacing:.1em;margin-top:10px;font-size:10px}@media (width>=1024px){.about-grid{grid-template-columns:repeat(12,1fr);align-items:center;gap:0 24px}.about-media{grid-column:1/span 5;margin-bottom:20px;margin-right:20px}.about-text{grid-column:7/span 6}.about-photo{aspect-ratio:4/5}.about-photo img{object-position:center}.about-frame{border:1px solid var(--gold);border-radius:var(--r-md);display:block;position:absolute;inset:0;transform:translate(20px,20px)}.about-est{padding:14px 22px;bottom:-16px;right:-16px}.about-est strong{font-size:40px}.about-stat{padding-top:40px}.about-stat-num{font-size:72px}.about-stat-label{letter-spacing:.14em;margin-top:14px;font-size:12px}}@media (width>=768px) and (width<=1023px){.about-stat-num{font-size:56px}}.services{background:var(--bone);color:var(--text);padding:var(--section-y) 0}.services-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.services-header{gap:16px;margin-bottom:clamp(32px,5vw,64px);display:grid}.services-header .eyebrow{margin-bottom:16px}.services-title{font-size:var(--fs-h2);color:var(--espresso)}.services-lead{font-size:var(--fs-lead);color:var(--text-muted);max-width:46ch;line-height:1.6}.services-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.service-cell{isolation:isolate;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:color var(--dur-2) var(--ease-out);background:0 0;flex-direction:column;padding:18px 18px 48px;display:flex;position:relative;overflow:hidden}.service-cell:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform var(--dur-2) var(--ease-out);position:absolute;inset:0;transform:scaleY(0)}.service-index{color:var(--text-muted);transition:color var(--dur-2);font-size:11px}.service-icon{width:32px;height:32px;color:var(--gold-deep);transition:color var(--dur-2);margin:28px 0 20px}.service-cell h3{font-family:var(--font-sans);margin-bottom:8px;font-size:15px;font-weight:700;line-height:1.3}.service-cell p{color:var(--text-muted);transition:color var(--dur-2);font-size:13px;line-height:1.55}.service-arrow{width:18px;height:18px;color:var(--gold-deep);transition:transform var(--dur-2) var(--ease-out), color var(--dur-2);position:absolute;bottom:16px;right:16px}@media (hover:hover){.service-cell:hover:before{transform:scaleY(1)}.service-cell:hover{color:var(--text-on-dark)}.service-cell:hover p,.service-cell:hover .service-index{color:var(--text-on-dark-2)}.service-cell:hover .service-icon,.service-cell:hover .service-arrow{color:var(--gold)}.service-cell:hover .service-arrow{transform:translate(4px,-4px)}}@media (width>=768px){.services-header{grid-template-columns:1fr 1fr;align-items:end;gap:48px}.service-cell{padding:28px 28px 64px}.service-icon{width:40px;height:40px;margin:40px 0 28px}.service-cell h3{font-size:var(--fs-h3);font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:12px;font-weight:500}.service-cell p{font-size:15px}.service-arrow{width:22px;height:22px;bottom:24px;right:24px}}@media (width>=1100px){.services-grid{grid-template-columns:repeat(4,1fr)}}.process{background:var(--ink);color:var(--text-on-dark);padding:var(--section-y) 0}.process-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.process-header{text-align:center;margin-bottom:clamp(40px,6vw,80px)}.process-header .eyebrow{margin-bottom:18px}.process-title{font-size:var(--fs-h2);color:var(--text-on-dark)}.proc{gap:32px;padding-left:48px;list-style:none;display:grid;position:relative}.proc-track{background:var(--line-dark);width:1px;position:absolute;top:8px;bottom:8px;left:7px}.proc-fill{background:var(--gold);transform:scaleY(var(--p,0));transform-origin:top;will-change:transform;position:absolute;inset:0}.proc-step{position:relative}.proc-node{background:var(--ink);border:1px solid var(--line-dark);width:16px;height:16px;transition:background var(--dur-2), border-color var(--dur-2), box-shadow var(--dur-2);border-radius:50%;position:absolute;top:2px;left:-48px}.proc-step.is-active .proc-node{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px #d4a03c29,0 0 18px #d4a03c80}.proc-index{color:var(--gold);font-size:11px}.proc-body h3{font-family:var(--font-sans);color:var(--text-on-dark);margin:6px 0;font-size:17px;font-weight:600}.proc-body p{color:var(--text-on-dark-2);max-width:46ch;font-size:14px;line-height:1.6}@media (width>=1100px){.proc{grid-template-columns:repeat(7,1fr);gap:20px;padding:0}.proc-track{width:auto;height:1px;inset:7px 0 auto}.proc-fill{transform:scaleX(var(--p,0));transform-origin:0}.proc-node{margin-bottom:24px;display:block;position:relative;top:0;left:0}.proc-body p{font-size:14px}}@media (prefers-reduced-motion:reduce){.proc-fill{transition:none}}.lb{z-index:2000;color:var(--text-on-dark);animation:lbIn .3s var(--ease-out) both;overscroll-behavior:contain;background:#1a1110f5;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes lbIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.lb-bar{align-items:center;gap:16px;padding:12px 16px;display:flex}.lb-title{flex-direction:column;flex:1;min-width:0;display:flex}.lb-title strong{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:500;overflow:hidden}.lb-title span{color:var(--text-on-dark-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.lb-count{color:var(--gold);font-size:12px}.lb-close,.lb-nav{width:44px;height:44px;color:var(--text-on-dark);border:1px solid var(--line-dark);cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.lb-close:hover,.lb-nav:hover{background:var(--gold);color:var(--ink)}.lb-stage{touch-action:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.lb-frame{max-width:92vw;display:inline-flex;position:relative}.lb-frame img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:92vw;height:auto;max-height:78svh;animation:lbImg .35s var(--ease-out) both;display:block}@keyframes lbImg{0%{opacity:0}to{opacity:1}}.lb-nav{z-index:2;margin-top:-22px;display:none;position:absolute;top:50%}.lb-nav--prev{left:20px}.lb-nav--next{right:20px}.lb-thumbs{justify-content:center;gap:10px;padding:14px 16px 20px;display:none;overflow-x:auto}.lb-thumb{border-radius:var(--r-sm);cursor:pointer;opacity:.6;background:0 0;border:1px solid #0000;flex:none;width:72px;height:52px;padding:0;overflow:hidden}.lb-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lb-thumb:hover{opacity:1}.lb-thumb.is-active{opacity:1;outline:2px solid var(--gold);outline-offset:2px}@media (width>=768px){.lb-bar{padding:16px 28px}.lb-nav,.lb-thumbs{display:flex}}@media (prefers-reduced-motion:reduce){.lb,.lb-frame img{animation:none}}.projects{background:var(--paper);color:var(--text);padding:var(--section-y) 0}.projects-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.projects-header{flex-direction:column;gap:20px;margin-bottom:clamp(28px,4vw,48px);display:flex}.projects-header .eyebrow{margin-bottom:16px}.projects-title{font-size:var(--fs-h2);color:var(--espresso)}.projects-filters{flex-wrap:wrap;gap:8px;display:flex}.pfilter{min-height:44px;font:600 14px/1 var(--font-sans);color:var(--text);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1);background:0 0;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.pfilter .mono{letter-spacing:.05em;opacity:.65;font-size:11px}.pfilter:hover{border-color:var(--ink)}.pfilter.is-active{background:var(--ink);color:var(--text-on-dark);border-color:var(--ink)}.pgrid{grid-template-columns:1fr;gap:16px;display:grid}.pcard{position:relative}.pcard-hit{isolation:isolate;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--ink-2);color:#fff;cursor:pointer;touch-action:pan-y;position:relative;overflow:hidden}.pcard--portrait .pcard-hit{aspect-ratio:4/5}.pcard-media,.pcard-track{position:absolute;inset:0}.pcard-track img{object-fit:cover;object-position:center 30%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;max-width:none;height:100%;transition:transform 1.2s var(--ease-out)}.pcard-shade{z-index:1;pointer-events:none;transition:opacity var(--dur-2);background:linear-gradient(#1a11104d 0%,#0000 24%,#1a11109e 46%,#1a1110ed 100%);position:absolute;inset:0}.pcard-top{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:14px;left:14px;right:14px}.pcard-status{font:600 12px/1 var(--font-sans);color:var(--ink);border-radius:var(--r-pill);background:#ffffffe6;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.pcard-dot-status{background:var(--status-done);border-radius:50%;width:8px;height:8px}.pcard-status.is-ongoing .pcard-dot-status{background:var(--gold);animation:1.8s ease-out infinite pulseDot}@keyframes pulseDot{0%{box-shadow:0 0 #d4a03c99}to{box-shadow:0 0 0 8px #d4a03c00}}.pcard-count{letter-spacing:.08em;border-radius:var(--r-sm);background:#1a111099;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.pcard-info{z-index:2;pointer-events:none;position:absolute;bottom:16px;left:18px;right:18px}.pcard-kicker{color:var(--gold-soft);margin-bottom:6px;font-size:10px}.pcard-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:500;line-height:1.15}.pcard-loc{color:var(--text-on-dark-2);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.pcard-desc{color:#f4ede2cc;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.pcard-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pcard-chip{letter-spacing:.1em;border-radius:var(--r-sm);color:var(--text-on-dark);background:#ffffff1a;border:1px solid #e7c27a59;align-items:center;gap:6px;padding:6px 10px;font-size:10.5px;display:inline-flex}.pcard-chip i{color:var(--gold);font-style:normal}.pcard-view{color:var(--gold-soft);align-items:center;gap:6px;font-size:13px;font-weight:600;display:none}.pcard-dots{z-index:3;display:flex;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.pcard-dot{cursor:pointer;background:0 0;border:0;width:28px;height:44px;padding:0;position:relative}.pcard-dot:before{content:"";width:6px;height:6px;transition:background var(--dur-1), transform var(--dur-1);background:#ffffff80;border-radius:50%;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%}.pcard-dot.is-active:before{background:var(--gold);transform:scale(1.3)}.pcard-arrow{z-index:3;color:#fff;cursor:pointer;opacity:0;width:40px;height:40px;transition:opacity var(--dur-1), background var(--dur-1);background:#1a111099;border:1px solid #e7c27a59;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:42%}.pcard-arrow--prev{left:12px}.pcard-arrow--next{right:12px}.pcard-arrow:hover{background:var(--gold);color:var(--ink)}.pcard-hit:focus-visible{outline-offset:4px}.pcard-arrow:focus-visible{opacity:1}.pshow{width:100%;min-height:52px;font:600 15px/1 var(--font-sans);color:var(--ink);border:1px solid var(--ink);border-radius:var(--r-sm);cursor:pointer;background:0 0;margin-top:20px;display:block}.ledger{margin-top:clamp(40px,6vw,72px)}.ledger-label{color:var(--gold-deep);margin-bottom:12px;font-size:12px}.ledger-list{border-top:1px solid var(--line);list-style:none}.ledger-row{border-bottom:1px solid var(--line);transition:background var(--dur-1);grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:16px 8px;display:grid}.ledger-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:18px;font-weight:500}.ledger-meta{color:var(--text-muted);grid-area:2/1;font-size:13px}.ledger-status{border:1px solid var(--line);background:0 0;grid-area:1/2}.ledger-type{display:inline}@media (width>=768px){.projects-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.pgrid{grid-template-columns:1fr 1fr;gap:20px}.pcard-hit,.pcard--portrait .pcard-hit{aspect-ratio:4/3}.pcard-name{font-size:24px}.pshow{display:none}.ledger-row{grid-template-columns:1.4fr 1fr 1fr auto;padding:20px 12px}.ledger-name{font-size:22px}.ledger-meta{grid-area:auto;font-size:14px;display:contents}.ledger-dot{display:none}.ledger-status{grid-area:auto}}@media (width>=1024px){.pgrid{grid-template-columns:repeat(12,1fr);grid-auto-rows:280px;grid-auto-flow:dense}.pcard{grid-column:span 6;height:100%}.pcard-hit,.pcard--portrait .pcard-hit{aspect-ratio:auto;height:100%}.pcard:nth-child(5n+1){grid-area:span 2/span 7}.pcard:nth-child(5n+2),.pcard:nth-child(5n+3){grid-column:span 5}.pcard:nth-child(5n+1) .pcard-name{font-size:28px}.pcard-info{bottom:22px;left:24px;right:24px}.pcard:not(:nth-child(5n+1)) .pcard-desc{opacity:0;max-height:0;transition:max-height var(--dur-2) var(--ease-out), opacity var(--dur-2), margin var(--dur-2);margin-top:0}}@media (hover:hover) and (width>=768px){.pcard-arrow{display:flex}.pcard-view{opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);display:inline-flex;transform:translateY(10px)}.pcard-hit:hover .pcard-track img{transform:scale(1.04)}.pcard-hit:hover .pcard-arrow,.pcard-hit:focus-within .pcard-arrow{opacity:1}.pcard-hit:hover .pcard-view,.pcard-hit:focus-visible .pcard-view{opacity:1;transform:none}.pcard-hit:hover .pcard-shade{opacity:1;background:linear-gradient(#1a111059 0%,#1a111073 40%,#1a1110f2 100%)}.ledger-row:hover{background:var(--bone)}}@media (hover:hover) and (width>=1024px){.pcard:not(:nth-child(5n+1)) .pcard-hit:hover .pcard-desc{opacity:1;max-height:4.5em;margin-top:8px}}@media (prefers-reduced-motion:reduce){.pcard-track img{transition:none}.pcard-hit:hover .pcard-track img{transform:none}}.film{background:var(--ink);color:var(--text-on-dark);padding:var(--section-y) 0}.film-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.film-header{text-align:center;margin-bottom:clamp(32px,5vw,56px)}.film-header .eyebrow{margin-bottom:18px}.film-title{font-size:var(--fs-h2);color:var(--text-on-dark)}.film-frame{aspect-ratio:16/9;background:var(--ink-2);border-radius:var(--r-lg);max-width:1040px;box-shadow:var(--shadow-2);margin:0 auto;position:relative;overflow:hidden}.film-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.film-poster{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.film-poster img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease-out), filter var(--dur-2);filter:brightness(.8);display:block}.film-play{width:88px;height:88px;color:var(--ink);background:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin:-44px 0 0 -44px;display:flex;position:absolute;top:50%;left:50%}.film-play svg{fill:currentColor;stroke:none;margin-left:4px}.film-ring{border:1px solid var(--gold);border-radius:50%;animation:2.4s ease-out infinite filmRing;position:absolute;inset:0}.film-ring--2{animation-delay:1.2s}@keyframes filmRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.film-caption{text-align:center;color:var(--text-on-dark-2);margin-top:18px;font-size:11px}@media (hover:hover){.film-poster:hover img{filter:brightness(.95);transform:scale(1.03)}}@media (width<=767px){.film-play{width:68px;height:68px;margin:-34px 0 0 -34px}.film-frame{border-radius:var(--r-md)}}@media (prefers-reduced-motion:reduce){.film-ring{opacity:0;animation:none}}.cta{min-height:70vh;padding:var(--section-y) var(--gutter);background:var(--ink);color:var(--text-on-dark);text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cta-bg{will-change:transform;position:absolute;inset:0}.cta-bg picture,.cta-bg img{object-fit:cover;width:100%;max-width:none;height:100%;display:block}.cta-overlay{background:#1a1110cc;position:absolute;inset:0}.cta-inner{z-index:1;max-width:760px;position:relative}.cta-title{color:#fff;font-size:clamp(2.25rem,1.4rem + 3.6vw,4rem)}.cta-lead{max-width:46ch;font-size:var(--fs-lead);color:#f4ede2d1;margin:22px auto 34px;line-height:1.6}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cta-buttons .btn{min-height:52px}@media (width>=1024px){.cta-bg{inset:-18% 0}}@media (width<=767px){.cta{min-height:0}.cta-buttons{flex-direction:column}.cta-buttons .btn{justify-content:center;width:100%}}.contact{background:var(--paper);color:var(--text);padding:var(--section-y) 0}.contact-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.contact-grid{gap:20px;display:grid}.cpanel{background:var(--ink);color:var(--text-on-dark);border-radius:var(--r-md);padding:28px 22px;overflow:hidden}.cpanel.bp-grid:before{display:none}.cpanel .eyebrow{margin-bottom:16px}.cpanel-title{color:#fff;margin-bottom:28px;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem)}.crows{gap:22px;list-style:none;display:grid}.crows li{align-items:flex-start;gap:16px;display:flex}.crow-icon{width:40px;height:40px;color:var(--gold);border:1px solid var(--gold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.crow-label{color:var(--gold);margin:2px 0 6px;font-size:10.5px;display:block}.crows p{color:var(--text-on-dark);font-size:15px;line-height:1.6}.crows a{transition:color var(--dur-1);padding:10px 0;display:inline-block}.crows a:hover{color:var(--gold)}.crow-link{min-height:44px;color:var(--gold);align-items:center;gap:6px;margin-top:8px;font-size:14px;font-weight:600;display:inline-flex}.cform{border-radius:var(--r-md);box-shadow:var(--shadow-1);background:#fff;padding:24px 20px}.cform h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--espresso);margin-bottom:22px;font-size:26px;font-weight:500}.cform-row{gap:0;display:grid}.ff{margin-bottom:18px;position:relative}.ff input,.ff select,.ff textarea{width:100%;font:400 16px/1.4 var(--font-sans);color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color var(--dur-1), box-shadow var(--dur-1), background var(--dur-1);appearance:none;outline:none;padding:24px 14px 8px;display:block}.ff input,.ff select{min-height:56px}.ff textarea{resize:vertical;min-height:120px}.ff select{background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 20px) 28px,calc(100% - 15px) 28px;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.ff label{color:var(--text-muted);pointer-events:none;transform-origin:0 0;transition:transform var(--dur-2) var(--ease-out), color var(--dur-1);font-size:15px;position:absolute;top:17px;left:15px}.ff input:focus+label,.ff input:not(:placeholder-shown)+label,.ff textarea:focus+label,.ff textarea:not(:placeholder-shown)+label,.ff select:focus+label,.ff select:valid+label{transform:translateY(-11px)scale(.78)}.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--gold-deep);background:#fff;box-shadow:0 0 0 3px #d4a03c38}.ff input:focus+label,.ff textarea:focus+label,.ff select:focus+label{color:var(--gold-deep)}.ff.has-error input,.ff.has-error select,.ff.has-error textarea{border-color:#b3382c}.ff.has-error label{color:#b3382c}.ff-error{color:#b3382c;margin-top:6px;font-size:13px}.cform-error{color:#8f2a20;border-radius:var(--r-sm);background:#fbeceb;border-left:3px solid #b3382c;margin:0 0 14px;padding:12px 14px;font-size:14px}.cform-submit{justify-content:center;width:100%;min-height:54px}.cform-submit:disabled{opacity:.75;cursor:progress}.spinner{border:2px solid #1a111040;border-top-color:var(--ink);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite cspin}@keyframes cspin{to{transform:rotate(360deg)}}.csuccess{text-align:center;flex-direction:column;align-items:center;padding:36px 8px;display:flex}.csuccess-check circle{stroke:var(--gold);stroke-width:2px;stroke-dasharray:202;stroke-dashoffset:202px;animation:cdraw .7s var(--ease-out) forwards}.csuccess-check path{stroke:var(--gold-deep);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50px;animation:cdraw .5s var(--ease-out) .55s forwards}@keyframes cdraw{to{stroke-dashoffset:0}}.csuccess h3{font-family:var(--font-display);color:var(--espresso);margin:22px 0 6px;font-size:30px;font-weight:500}.csuccess p{color:var(--text-muted);font-size:16px}.csuccess-again{border:0;border-bottom:1px solid var(--gold-deep);min-height:44px;font:600 14px var(--font-sans);color:var(--gold-deep);cursor:pointer;background:0 0;margin-top:24px;padding:0 4px}@media (width>=768px){.cpanel,.cform{padding:36px 32px}.cform-row{grid-template-columns:1fr 1fr;gap:16px}}@media (width>=1024px){.contact-grid{grid-template-columns:5fr 7fr;gap:32px}.cpanel{padding:48px 40px}.cpanel.bp-grid:before{opacity:.55;display:block}.cform{padding:48px 44px}}@media (prefers-reduced-motion:reduce){.csuccess-check circle,.csuccess-check path{stroke-dashoffset:0;animation:none}.spinner{animation-duration:1.4s!important;animation-iteration-count:infinite!important}}.footer{background:var(--ink);color:var(--text-on-dark);padding-top:clamp(56px,8vw,96px);overflow:hidden}.footer-inner{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.footer-top{gap:32px;padding-bottom:clamp(32px,5vw,64px);display:grid}.footer-brand p{max-width:42ch;color:var(--text-on-dark-2);margin-top:18px;font-size:14px;line-height:1.7}.footer-mark{border-radius:var(--r-md);background:#fff;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.footer-mark img{width:44px;height:auto}.footer-h{color:var(--gold);margin-bottom:16px;font-size:11px;font-weight:500}.footer-col ul{gap:4px;list-style:none;display:grid}.footer-col a{min-height:44px;color:var(--text-on-dark-2);transition:color var(--dur-1);align-items:center;font-size:14px;display:inline-flex}.footer-col a:hover{color:var(--gold)}.footer-addr{color:var(--text-on-dark-2);margin-top:6px;font-size:13px;line-height:1.6}.footer-col--services{display:none}.footer-wordmark{--wm:clamp(44px, 14.4vw, 250px);height:calc(var(--wm) * .62);padding:0 var(--gutter);text-align:center;white-space:nowrap;border-top:1px solid var(--line-dark);margin-top:8px;position:relative;overflow:hidden}.footer-wordmark span{font-family:var(--font-display);font-weight:600;font-size:var(--wm);letter-spacing:-.02em;color:#0000;-webkit-text-stroke:1px #e7c27a47;padding-top:calc(var(--wm) * .06);line-height:.8;display:block}.footer-bottom{color:var(--text-on-dark-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;padding:18px 0 24px;font-size:13px;display:flex}.footer-gst{font-size:11px}.footer-top-btn{cursor:pointer;min-height:44px;font:600 13px var(--font-sans);color:var(--gold);background:0 0;border:0;align-items:center;gap:8px;display:inline-flex}.footer-top-btn:hover{color:var(--gold-soft)}@media (width>=768px){.footer-top{grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px}.footer-col--services{display:block}.footer-wordmark{--wm:clamp(100px, 15.6vw, 250px)}}.fab{z-index:900;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;color:var(--ink);background:var(--gold);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(16px)scale(.9);box-shadow:0 10px 28px #1a111059}.fab.is-visible{opacity:1;pointer-events:auto;transform:none}@media (width>=768px){.fab{display:none}}
