@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.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}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.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{--color-bg:#0d2021;--color-bg-deep:#091819;--color-bg-alt:#122b2c;--color-surface:#15302f;--color-surface-raised:#1a3837;--color-header-surface:#0d2021;--color-line:#ece2cb24;--color-line-strong:#ece2cb42;--color-text:#f1eadb;--color-text-strong:#fbf6ea;--color-text-muted:#b9bfb3;--color-text-soft:#8f9c95;--color-ivory:#f3ecdd;--color-sage:#8fa391;--color-slate:#7c8a8e;--color-brass:#c9a15a;--color-brass-soft:#dcc08a;--color-ink:#122628;--color-ink-muted:#4c5c5a;--font-serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--font-sans:"Figtree Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:var(--font-serif);--font-body:var(--font-sans);--container-width:1360px;--gutter:clamp(20px, 4vw, 56px);--header-height:72px;--radius:4px;--shadow-stone:0 1px 0 #fff8e614 inset, 0 18px 40px -18px #000000b3, 0 4px 10px -4px #00000073;--ease-out:cubic-bezier(.22, .8, .28, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text);background:radial-gradient(1200px 700px at 78% -10%, #34585661, transparent 70%), radial-gradient(900px 600px at -10% 40%, #18343480, transparent 70%), var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;font-size:17px;line-height:1.6;overflow-x:hidden}body.has-sheet{overflow:hidden}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text-strong);letter-spacing:-.012em;font-optical-sizing:auto;font-weight:450;line-height:1.12}h1{letter-spacing:-.02em;font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.02}h2{font-size:clamp(1.9rem,3.2vw,2.9rem)}h3{font-size:1.35rem}p{text-wrap:pretty}a{color:inherit;text-decoration:none;transition:color .2s}.mosaic-stage,.mosaic-stage *{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--color-brass-soft);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--color-ivory);color:var(--color-ink);padding:10px 16px;font-weight:600;transition:top .2s;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}#app{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.eyebrow,.project-category{font-family:var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.1rem;font-size:.74rem;font-weight:500}.lead,.project-lead{color:var(--color-text);max-width:34em;font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.55}.section-heading{max-width:44rem;margin-bottom:2.2rem}.section-heading p:not(.eyebrow){color:var(--color-text-muted);margin-top:.9rem}.btn{border-radius:var(--radius);min-height:48px;font-family:var(--font-sans);letter-spacing:.01em;transition:background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s var(--ease-out);justify-content:center;align-items:center;gap:.7em;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:18px;height:18px}.btn.primary{background:var(--color-ivory);color:var(--color-ink);box-shadow:inset 0 1px #ffffff80,0 10px 24px -14px #000c}.btn.primary:hover{background:#fffaf0;transform:translateY(-1px)}.btn.ghost{border:1px solid var(--color-line-strong);color:var(--color-text)}.btn.ghost:hover{border-color:var(--color-brass)}.text-link,.software-secondary-link,.back-link{color:var(--color-text);border-bottom:1px solid var(--color-brass);align-items:center;gap:.45em;padding-block:.3rem;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.text-link:hover,.software-secondary-link:hover,.back-link:hover{color:var(--color-brass-soft)}.icon-button{width:44px;height:44px;color:var(--color-text);border-radius:999px;place-items:center;transition:background-color .2s,color .2s;display:inline-grid}.icon-button svg,.text-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-button:hover{color:var(--color-text-strong);background:#f3ecdd1a}.text-button{min-height:44px;color:var(--color-text);align-items:center;gap:.5em;font-size:.95rem;display:inline-flex}.text-button span{border-bottom:1px solid var(--color-brass)}.coming-soon,.status-badge,.project-status{border:1px solid var(--color-line-strong);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .7rem;font-size:.8rem;font-weight:500;display:inline-flex}.project-status{color:var(--color-sage);border-color:#8fa39180}.project-status.is-planned,.status-badge{color:var(--color-brass-soft);border-color:#c9a15a8c}.site-header{z-index:40;background:color-mix(in srgb, var(--color-header-surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-line);position:sticky;top:0}.site-header nav{max-width:calc(var(--container-width) + 2 * var(--gutter));height:var(--header-height);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex;position:relative}.logo{font-family:var(--font-sans);letter-spacing:.01em;color:var(--color-text-strong);align-items:center;gap:12px;font-size:1.45rem;font-weight:600;display:inline-flex}.logo-mark{width:30px;height:30px;color:var(--color-brass)}.site-header ul{align-items:center;gap:clamp(18px,2.6vw,38px);list-style:none;display:flex;position:relative}.site-header ul a{min-height:44px;color:var(--color-text-muted);align-items:center;font-size:.95rem;display:inline-flex}.site-header ul a:hover,.site-header ul a.is-active{color:var(--color-text-strong)}.service-nav-item{border-left:1px solid var(--color-line);padding-left:clamp(18px,2.6vw,38px)}.language-link{letter-spacing:.08em;font-weight:600;color:var(--color-brass-soft)!important}.nav-active-indicator{background:var(--color-brass);opacity:0;height:1px;transition:transform .35s var(--ease-out), width .35s var(--ease-out), opacity .2s ease;pointer-events:none;position:absolute;bottom:4px;left:0}.nav-active-indicator.is-visible{opacity:1}.nav-menu-toggle{align-items:center;gap:12px;min-height:44px;font-size:.95rem;display:none}.nav-menu-icon{gap:6px;width:22px;display:inline-grid}.nav-menu-icon i{height:1.5px;transition:transform .25s var(--ease-out);background:currentColor;display:block}@media (width<=860px){.nav-menu-toggle{display:inline-flex}.site-header ul{top:calc(var(--header-height) - 1px);padding:8px var(--gutter) 20px;background:var(--color-bg-deep);border-bottom:1px solid var(--color-line);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;left:0;right:0;box-shadow:0 24px 40px -20px #000000b3}.is-menu-open ul{display:flex}.site-header ul a{border-bottom:1px solid var(--color-line);width:100%;min-height:52px;font-size:1.05rem}.service-nav-item{border-left:0;padding-left:0}.nav-active-indicator{display:none}.is-menu-open .nav-menu-icon i:first-child{transform:translateY(3.75px)rotate(45deg)}.is-menu-open .nav-menu-icon i:last-child{transform:translateY(-3.75px)rotate(-45deg)}}.discovery{max-width:calc(var(--container-width) + 2 * var(--gutter));padding:clamp(32px, 6vh, 72px) var(--gutter) 96px;grid-template:"intro stage""finder stage"1fr/minmax(380px,.72fr) minmax(0,1.28fr);column-gap:clamp(32px,4vw,72px);margin:0 auto;display:grid}.discovery-intro{grid-area:intro;padding-bottom:72px}.discovery-intro h1{margin-bottom:1.6rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:2.2rem;display:flex}.portfolio-count{color:var(--color-text-soft);letter-spacing:.02em;margin-top:2rem;font-size:.9rem}.discovery-stage{top:calc(var(--header-height) + 12px);height:calc(100svh - var(--header-height) - 88px);grid-area:stage;align-self:start;min-height:520px;max-height:900px;position:sticky}.discovery-finder{border-top:1px solid var(--color-line);grid-area:finder;padding-top:56px}.mosaic-stage{flex-direction:column;height:100%;display:flex;position:relative}.mosaic-viewport{flex:1;min-height:0;position:relative}.mosaic-static,.mosaic-canvas-host{position:absolute;inset:0}.mosaic-canvas-host,.mosaic-stage.is-3d .mosaic-static{display:none}.mosaic-stage.is-3d .mosaic-canvas-host{display:block}.mosaic-stage.is-loading .mosaic-static{opacity:.85}.mosaic-canvas{touch-action:pan-y;position:absolute;inset:0;width:100%!important;height:100%!important}.mosaic-svg{width:100%;height:100%;overflow:visible}.mosaic-svg-tile,.mosaic-svg-filler,.mosaic-svg-christ{filter:drop-shadow(0 10px 12px #0000006b)drop-shadow(0 2px 2px #00000059)}.mosaic-svg-tile{transition:opacity .25s ease, transform .25s var(--ease-out), filter .25s ease;transform-box:fill-box;transform-origin:50%}.mosaic-svg-tile:hover,.mosaic-svg-tile:focus-visible,.mosaic-svg-tile.is-active{filter:drop-shadow(0 18px 18px #00000080)drop-shadow(0 3px 3px #00000059);outline:none;transform:translateY(-4px)}.mosaic-svg-tile:focus-visible .mosaic-svg-edge{stroke:var(--color-brass-soft);stroke-width:3px}.mosaic-svg-tile.is-rest{opacity:.3;transform:scale(.94)}.mosaic-svg-tile.is-match{transform:translateY(-5px)scale(1.05)}.mosaic-svg-tile.is-match .mosaic-svg-edge{stroke:#dcc08acc}.mosaic-svg-edge{fill:none;stroke:url(#mosaic-bevel);stroke-width:2.5px}.mosaic-svg-filler{opacity:.9}.mosaic-svg-label{font-family:var(--font-serif);fill:#f5efe1;paint-order:stroke;stroke:#091a1b8c;stroke-width:3px;pointer-events:none;font-weight:500}.mosaic-text{text-align:center;align-content:center;justify-items:center;min-height:210px;padding:12px 0 4px;display:grid}.mosaic-text>*{grid-area:1/1}.mosaic-caption{color:var(--color-text-soft);font-size:.9rem;transition:opacity .3s}.mosaic-stage.has-info .mosaic-caption{opacity:0;visibility:hidden;transition:opacity .28s,visibility 0s linear .28s}.mosaic-hint[data-hint-touch]{display:none}@media (hover:none){.mosaic-hint[data-hint-pointer]{display:none}.mosaic-hint[data-hint-touch]{display:inline}}.mosaic-stage:has([data-static-note]:not([hidden])) .mosaic-hint:not([data-static-note]){display:none}.mosaic-info{width:min(36rem,100%);transition:opacity .35s ease, transform .35s var(--ease-out)}.mosaic-info.is-fading{opacity:0;transition-duration:.28s;transform:translateY(6px)}.mosaic-center-panel.is-open{animation:info-in .5s var(--ease-out) both}@keyframes info-in{0%{opacity:0;transform:translateY(8px)}}.mosaic-info h2{outline:none;margin-bottom:.55rem;font-size:clamp(1.7rem,2.5vw,2.2rem)}.mosaic-info p{max-width:32em;color:var(--color-text);margin:0 auto;font-size:1rem;line-height:1.55}.mosaic-info p strong{color:var(--color-text-strong);font-weight:500}.mosaic-info .mosaic-info-kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.45rem;font-size:.72rem}.mosaic-info .mosaic-info-note{color:var(--color-brass-soft);margin-top:.6rem;font-size:.92rem}.mosaic-info-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 18px;margin-top:1.1rem;display:flex}.mosaic-info-actions .btn{min-height:44px;padding:.55rem 1.1rem;font-size:.95rem}.mosaic-tooltip{z-index:3;border:1px solid var(--color-line-strong);border-radius:var(--radius);pointer-events:none;white-space:nowrap;background:#091819e6;gap:2px;margin-top:-14px;padding:8px 14px 9px;display:grid;position:absolute;top:0;left:0;translate:-50% -100%;box-shadow:0 12px 24px -12px #000c}.mosaic-tooltip strong{font-family:var(--font-serif);color:var(--color-text-strong);font-size:1.05rem;font-weight:500}.mosaic-tooltip span{letter-spacing:.04em;color:var(--color-text-muted);font-size:.78rem}.mosaic-stage.is-3d:has(.mosaic-keys :focus-visible) .mosaic-canvas-host{outline-offset:-1px;border-radius:var(--radius);outline:1px solid #dcc08a59}.mosaic-center-trigger{z-index:3;pointer-events:none;border-radius:50%;display:none;position:absolute;top:0;left:0;translate:-50% -50%}.mosaic-center-trigger:focus-visible{outline:2px solid var(--color-brass-soft);outline-offset:4px}.mosaic-stage.is-3d .mosaic-center-trigger{display:block}.mosaic-svg-center-link{cursor:pointer;outline:none}.mosaic-svg-center-link polygon{fill:#0000}.mosaic-svg-christ-edge{transition:stroke .2s,stroke-width .2s}.mosaic-svg-center-link:hover .mosaic-svg-christ-edge,.mosaic-svg-center-link:focus-visible .mosaic-svg-christ-edge{stroke:var(--color-brass-soft);stroke-width:4px}.mosaic-svg-tile,.mosaic-svg-filler,.mosaic-svg-christ{transform-box:fill-box;transform-origin:50%}.mosaic-stage.is-center-moving .mosaic-svg-tile,.mosaic-stage.is-center-moving .mosaic-svg-filler,.mosaic-stage.is-center-moving .mosaic-svg-christ{transition:transform 1.1s cubic-bezier(.45,0,.25,1),opacity 1.1s}.mosaic-stage.is-centered .mosaic-svg-tile,.mosaic-stage.is-centered .mosaic-svg-filler{transform:var(--center-to);opacity:.62;pointer-events:none}.mosaic-stage.is-centered .mosaic-svg-christ{filter:drop-shadow(0 22px 22px #0000008c)drop-shadow(0 4px 4px #0006);transform:scale(1.5)}.mosaic-stage.is-centered .mosaic-tooltip{visibility:hidden}html:not(.js) .mosaic-center-panel:not(:target),html.js .mosaic-center-panel:not(.is-open){display:none}.project-finder{gap:22px;display:grid}.finder-search{display:block;position:relative}.finder-search svg{fill:none;width:20px;height:20px;stroke:var(--color-text-muted);stroke-width:1.6px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:18px;translate:0 -50%}.finder-search input{border:1px solid var(--color-line-strong);border-radius:var(--radius);width:100%;min-height:54px;color:var(--color-text-strong);font:inherit;background:#0816178c;padding:0 18px 0 52px;font-size:1.02rem;transition:border-color .2s,background-color .2s}.finder-search input::placeholder{color:var(--color-text-soft)}.finder-search input:focus{border-color:var(--color-brass);background:#081617cc;outline:none}.finder-mobile-bar{display:none}.finder-filters{gap:20px;display:grid}.sheet-head,.sheet-foot{display:none}.filter-group{border:0;min-width:0}.filter-group legend{color:var(--color-text-muted);margin-bottom:10px;font-size:.9rem}.filter-buttons{flex-wrap:wrap;gap:8px;display:flex}.filter-buttons button{border:1px solid var(--color-line-strong);border-radius:var(--radius);min-height:42px;color:var(--color-text);background:#0816174d;padding:0 16px;font-size:.93rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.filter-buttons button:hover:not(:disabled){border-color:var(--color-brass)}.filter-buttons button[aria-pressed=true]{background:var(--color-ivory);border-color:var(--color-ivory);color:var(--color-ink);font-weight:600;box-shadow:0 8px 20px -12px #000000e6}.filter-buttons button:disabled{opacity:.38;cursor:not-allowed}.finder-note{color:var(--color-text-soft);max-width:36em;font-size:.85rem}.finder-status{border-bottom:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin:36px 0 8px;padding-bottom:14px;display:flex}.project-results{font-family:var(--font-serif);color:var(--color-text-strong);font-size:1.5rem}.project-results.is-empty{font-family:var(--font-sans);color:var(--color-text-muted);font-size:1rem}.project-grid{display:grid}.project-card{border-bottom:1px solid var(--color-line);grid-template-columns:76px minmax(0,1fr);gap:20px;padding:22px 0;transition:background-color .2s;display:grid}.project-card.is-active,.project-card.is-selected{background:linear-gradient(90deg,#c9a15a12,#0000 70%)}.project-card.is-selected h3{color:var(--color-brass-soft)}.project-card-stone{filter:drop-shadow(0 8px 10px #00000073);width:76px;height:76px;transition:transform .22s var(--ease-out);position:relative}.project-card.is-active .project-card-stone{transform:translateY(-3px)}.project-card-stone img,.related-stone img{object-fit:cover;width:100%;height:100%;clip-path:var(--stone-clip,polygon(6% 4%, 94% 0, 100% 90%, 3% 100%))}.project-card-muted .project-card-stone img{filter:saturate(.4)brightness(.8)}.project-card-meta{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px;font-size:.72rem;display:flex}.project-card-meta .status-badge{letter-spacing:.04em;text-transform:none}.project-language{letter-spacing:.04em;text-transform:none;color:var(--color-text-soft)}.project-card h3{overflow-wrap:anywhere;margin-bottom:6px;font-size:1.6rem}.project-fit{color:var(--color-text-muted);font-size:.97rem}.project-fit strong{color:var(--color-text);font-weight:500}.project-card-actions{flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:12px;font-size:.95rem;display:flex}.project-card-actions a{align-items:center;gap:.4em;min-height:40px;font-weight:500;display:inline-flex}.project-details{border-bottom:1px solid var(--color-brass);padding-block:4px;min-height:auto!important}.project-open{color:var(--color-brass-soft)}.project-open:hover,.project-details:hover{color:var(--color-text-strong)}.mission-section,.services-section,.about-section{max-width:calc(var(--container-width) + 2 * var(--gutter));padding:clamp(72px, 10vw, 128px) var(--gutter);border-top:1px solid var(--color-line);margin:0 auto}.mission-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,96px);display:grid}.mission-copy p:not(.eyebrow){color:var(--color-text-muted);max-width:32em;margin-top:1.1rem}.kerygma-quote{border-left:1px solid var(--color-brass);background:linear-gradient(90deg,#c9a15a0f,#0000 80%);padding:clamp(28px,4vw,48px);position:relative}.kerygma-quote blockquote,.magisterial-quote blockquote{font-family:var(--font-serif);color:var(--color-text-strong);font-size:clamp(1.35rem,2.3vw,1.9rem);font-style:italic;line-height:1.38}.kerygma-quote figcaption,.magisterial-quote figcaption{color:var(--color-text-muted);margin-top:1.2rem;font-size:.9rem}.services-section{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,6vw,96px);display:grid}.services-intro p:not(.eyebrow){color:var(--color-text-muted);margin-top:1rem}.services-intro .services-proof{color:var(--color-sage);font-size:.95rem}.services-action{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:2rem;display:flex}.services-grid{background:var(--color-line);border:1px solid var(--color-line);align-content:start;gap:1px;display:grid}.service-card{background:var(--color-bg);padding:28px 30px}.service-card span{font-family:var(--font-serif);color:var(--color-brass);font-size:1rem}.service-card h3{margin:.4rem 0 .5rem}.service-card p{color:var(--color-text-muted);font-size:.97rem}.about-section .team{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:820px;display:grid}.member{--portrait-size:clamp(72px, 8vw, 96px);grid-template-columns:var(--portrait-size) minmax(0, 1fr);border:1px solid var(--color-line);border-radius:var(--radius);align-items:center;gap:6px 18px;padding:22px;display:grid}.member-portrait{width:var(--portrait-size);height:var(--portrait-size);object-fit:cover;background:var(--color-ivory);clip-path:polygon(8% 4%,96% 0,100% 88%,4% 100%);grid-row:1/3}.member h3{align-self:end;font-size:1.3rem}.member h3 a:hover{color:var(--color-brass-soft)}.member p{color:var(--color-text-muted);align-self:start;font-size:.92rem}.site-footer{border-top:1px solid var(--color-line);background:var(--color-bg-deep)}.footer-content{max-width:calc(var(--container-width) + 2 * var(--gutter));padding:44px var(--gutter) 40px;color:var(--color-text-muted);grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;margin:0 auto;font-size:.93rem;display:grid}.footer-brand p{font-family:var(--font-serif);color:var(--color-text-soft);margin-top:8px;font-size:1.05rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 28px;display:flex}.footer-links a{min-height:44px;color:var(--color-text);align-items:center;display:inline-flex}.footer-links a:hover{color:var(--color-brass-soft)}.footer-legal{border-top:1px solid var(--color-line);color:var(--color-text-soft);grid-column:1/-1;padding-top:18px;font-size:.85rem}.project-detail-page>section{max-width:calc(var(--container-width) + 2 * var(--gutter));padding:clamp(56px, 8vw, 104px) var(--gutter);margin:0 auto}.project-detail-page>section+section{border-top:1px solid var(--color-line)}.project-hero-detail{padding-top:clamp(32px,5vw,56px)!important}.back-link{color:var(--color-text-muted);border-bottom-color:#0000;margin-bottom:clamp(28px,4vw,48px);font-size:.95rem}.back-link:before{content:"←";color:var(--color-brass)}.project-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(36px,5vw,80px);display:grid}.project-heading-meta{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:1.1rem;display:flex}.project-heading-meta .project-category{margin:0}.project-hero-grid h1{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;margin-bottom:1.4rem;font-size:clamp(2.3rem,4.2vw,3.8rem)}.project-hero-grid>div>p:not(.project-category):not(.project-lead){color:var(--color-text-muted);max-width:36em;margin-top:1rem}.project-facts{border-top:1px solid var(--color-line);gap:14px;margin-top:1.8rem;padding-top:1.4rem;display:grid}.project-facts div{grid-template-columns:9rem 1fr;gap:16px;display:grid}.project-facts dt{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-soft);padding-top:3px;font-size:.78rem}.project-facts dd{color:var(--color-text)}.project-actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:2rem;display:flex}.project-direct-link{color:var(--color-brass-soft);font-weight:500}.project-preview{filter:drop-shadow(0 30px 34px #0000008c)drop-shadow(0 6px 8px #0006);transition:transform .6s var(--ease-out);position:relative;transform:perspective(1400px)rotateY(-6deg)rotateX(3deg)}.project-preview:hover{transform:perspective(1400px)rotateY(-2deg)rotateX(1deg)translateZ(12px)}.project-preview img,.project-preview:after{clip-path:var(--slab-clip,polygon(2% 2%, 98% 0, 100% 97%, 0 100%))}.project-preview img{object-fit:cover;width:100%;height:auto;max-height:560px}.project-preview:after{content:"";pointer-events:none;background:linear-gradient(135deg,#fff8e629,#0000 30% 70%,#00000038);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff8e61f}.project-preview-fallback{background:var(--color-surface);padding:40px}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);display:grid}.story-grid.project-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid article h2{margin-bottom:.9rem;font-size:clamp(1.4rem,2vw,1.75rem)}.story-grid article p{color:var(--color-text-muted)}.story-grid article p+p{margin-top:.9rem}.story-grid article a{border-bottom:1px solid var(--color-brass);color:var(--color-text)}.project-offers h2,.related-projects-section h2{margin-bottom:1.8rem}.project-offers ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;list-style:none;display:grid}.project-offers li{border-bottom:1px solid var(--color-line);color:var(--color-text);padding:16px 0 16px 28px;position:relative}.project-offers li:before{content:"";background:var(--color-brass);clip-path:polygon(20% 0,100% 15%,85% 100%,0 80%);width:9px;height:9px;position:absolute;top:25px;left:2px}.related-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.related-project{border:1px solid var(--color-line);border-radius:var(--radius);transition:border-color .2s ease, transform .25s var(--ease-out);background:linear-gradient(#1a383766,#0000);grid-template-columns:64px minmax(0,1fr);align-items:start;gap:18px;padding:22px;display:grid}.related-project:hover{border-color:var(--color-line-strong);transform:translateY(-3px)}.related-stone{filter:drop-shadow(0 8px 10px #00000073);width:64px;height:64px}.related-copy{gap:4px;display:grid}.related-copy span{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-soft);font-size:.72rem}.related-copy strong{font-family:var(--font-serif);color:var(--color-text-strong);font-size:1.45rem;font-weight:450}.related-copy small{color:var(--color-text-muted);font-size:.92rem}.project-service-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px;display:flex}.project-service-cta h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}.project-service-cta p:not(.project-category){color:var(--color-text-muted);max-width:36em;margin-top:.7rem}.software-hero .project-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.software-hero h1{font-size:clamp(2.4rem,4.6vw,4.2rem)}.software-signal{border:1px solid var(--color-line);border-radius:var(--radius);background:linear-gradient(160deg,#1a38378c,#09181933);flex-wrap:wrap;align-content:center;gap:10px;padding:28px;display:flex}.software-signal span,.software-highlight-points span{border:1px solid var(--color-line-strong);border-radius:var(--radius);color:var(--color-text);padding:8px 14px;font-size:.93rem}.software-signal span:nth-child(3n+1){border-color:#c9a15a73}.magisterial-quote{border-left:1px solid var(--color-brass);grid-column:1/-1;max-width:52rem;padding:8px 0 8px clamp(20px,3vw,36px)}.magisterial-quote blockquote{font-size:clamp(1.2rem,2vw,1.6rem)}.software-hero-actions{grid-column:1/-1;margin-top:0}.service-proof{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.service-proof-intro p:not(.project-category){color:var(--color-text-muted);margin-top:1rem}.service-proof-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.service-proof-links a{align-content:start;gap:6px;display:grid}.proof-stone{aspect-ratio:4/3;filter:drop-shadow(0 16px 18px #00000080)drop-shadow(0 3px 4px #00000059);transition:transform .25s var(--ease-out), filter .25s ease;margin-bottom:12px;display:block}.proof-stone img{object-fit:cover;object-position:top center;width:100%;height:100%;clip-path:var(--slab-clip)}.service-proof-links a:hover .proof-stone{filter:drop-shadow(0 24px 22px #0000008c)drop-shadow(0 4px 5px #00000059);transform:translateY(-6px)}.service-proof-links a span:not(.proof-stone){letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-soft);font-size:.75rem}.service-proof-links strong{font-family:var(--font-serif);color:var(--color-text-strong);font-size:1.5rem;font-weight:450}.software-highlight{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.software-highlight p:not(.project-category){color:var(--color-text-muted);margin-top:1rem}.software-highlight-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.software-highlight-points span{font-family:var(--font-serif);background:#1a383759;padding:22px;font-size:1.2rem}.software-capabilities{background:var(--color-line);border:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:2rem;display:grid}.software-capabilities article{background:var(--color-bg);padding:28px}.software-capabilities h3{margin-bottom:.6rem}.software-capabilities p{color:var(--color-text-muted);font-size:.97rem}.software-offers h2{margin-bottom:0}.software-gift-grid h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}.software-process article{border-top:1px solid var(--color-brass);padding-top:22px;position:relative}.software-cta{text-align:left}.software-cta h2{max-width:22em;margin-bottom:1rem!important}.software-cta>p:not(.project-category){color:var(--color-text-muted);max-width:40em}.content-page{max-width:calc(46rem + 2 * var(--gutter));padding:clamp(48px, 8vw, 96px) var(--gutter) clamp(72px, 10vw, 120px);margin:0 auto}.content-page h1{margin-bottom:1.4rem;font-size:clamp(2.4rem,5vw,3.6rem)}.content-page h2{border-top:1px solid var(--color-line);margin:2.6rem 0 .8rem;padding-top:1.6rem;font-size:clamp(1.35rem,2.2vw,1.7rem)}.content-page h3{margin:1.6rem 0 .5rem;font-size:1.15rem}.content-page p,.content-page li{color:var(--color-text);line-height:1.72}.content-page p+p{margin-top:.9rem}.content-page ul,.content-page ol{margin:.8rem 0 .8rem 1.3rem}.content-page a{color:var(--color-brass-soft);overflow-wrap:anywhere;border-bottom:1px solid #dcc08a66}.js .reveal{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(14px)}.js .reveal.visible{opacity:1;transform:none}@media (width<=1080px){.discovery{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.services-section,.mission-section,.service-proof,.software-highlight{grid-template-columns:1fr}.related-projects,.software-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.discovery{grid-template-columns:1fr;grid-template-areas:"intro""stage""finder"}.discovery-intro{padding-bottom:28px}.discovery-stage{height:auto;min-height:0;max-height:none;position:relative;top:auto}.mosaic-viewport{aspect-ratio:1.3;flex:none}.discovery-finder{margin-top:24px;padding-top:40px}.project-hero-grid,.software-hero .project-hero-grid{grid-template-columns:1fr}.project-preview{transform:none}.story-grid,.story-grid.project-story-grid{grid-template-columns:1fr}}@media (width<=760px){body{font-size:16px}.discovery{padding-top:28px}.mosaic-svg-label{display:none}.mosaic-text{min-height:0;padding-top:16px}.finder-mobile-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finder-chips{display:contents}.finder-chip{border-radius:var(--radius);background:var(--color-ivory);min-height:44px;color:var(--color-ink);align-items:center;gap:8px;padding:0 12px 0 16px;font-weight:500;display:inline-flex}.finder-chip svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.finder-sheet-open{min-height:44px;padding:0 16px}.finder-count{background:#f3ecdd24;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:.85rem;display:inline-grid}.finder-filters{z-index:60;max-height:86vh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line-strong);background:var(--color-bg-deep);visibility:hidden;transition:transform .3s var(--ease-out), visibility 0s linear .3s;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%);box-shadow:0 -30px 60px #0009}.finder-filters.is-open{visibility:visible;transition:transform .3s var(--ease-out);transform:none}.has-sheet:after{content:"";z-index:50;background:#040c0c99;position:fixed;inset:0}.sheet-head,.sheet-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h3{font-size:1.5rem}.sheet-foot{background:var(--color-bg-deep);padding:12px 0 4px;position:sticky;bottom:-20px}.sheet-foot .btn{flex:1}.filter-buttons button{min-height:44px}.project-results{font-size:1.2rem}.project-card{grid-template-columns:64px minmax(0,1fr);gap:16px}.project-card-stone{width:64px;height:64px}.project-card h3{font-size:1.45rem}.project-card-actions .project-open{border-radius:var(--radius);background:var(--color-ivory);min-height:48px;color:var(--color-ink);flex:100%;order:-1;justify-content:center;font-weight:600}.footer-content{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.related-projects,.software-capabilities,.service-proof-links,.software-highlight-points,.project-offers ul{grid-template-columns:1fr}.project-facts div{grid-template-columns:1fr;gap:4px}simon-widget{bottom:max(8px, env(safe-area-inset-bottom));transform-origin:100% 100%;right:2px;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.project-preview,.project-preview:hover{transform:none}}
