.hbs{--t: #b8472c;--t-deep: #8f3520;--ivory: #f6f0e6;--paper: #fbf8f2;--ink: #2a211b;--ink-2: #5e5147;--walnut: #3a281d;--sage: #b3ba7c;--line: rgba(42, 33, 27, .14);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--gutter: clamp(18px, 5vw, 72px);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}.hbs *,.hbs *:before,.hbs *:after{box-sizing:border-box}.hbs a{color:inherit;text-decoration:none}.hbs img{display:block;max-width:100%}.hbs main{position:relative}.hbs:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hbs-muted{color:var(--ink-2)}.hbs-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--t)}.hbs-eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.hbs-h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,60px);line-height:1.04;margin:14px 0 0;letter-spacing:-.01em}.hbs-h3{font-family:var(--serif);font-weight:600;font-size:clamp(26px,2.6vw,36px);line-height:1.1;margin:6px 0 12px}.hbs h1 em,.hbs h2 em,.hbs-h2 em{font-style:italic;color:var(--t);font-weight:500}.hbs-lead{font-size:clamp(17px,1.35vw,19px);color:var(--ink-2);line-height:1.75;margin:18px 0 0}.hbs-meta{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.hbs-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;border:0;cursor:pointer;background:var(--t);color:#fff!important;font:600 15px/1 var(--sans);letter-spacing:.02em;transition:background .25s,transform .25s,box-shadow .25s;box-shadow:0 10px 24px -12px #b8472cb3}.hbs-btn:hover{background:var(--t-deep);transform:translateY(-2px)}.hbs-btn:disabled{opacity:.6;cursor:default;transform:none}.hbs-btn-sm{padding:10px 18px;font-size:14px}.hbs-btn-light{background:var(--ivory);color:var(--t)!important;box-shadow:none}.hbs-btn-light:hover{background:#fff}.hbs-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:4px;transition:color .2s,border-color .2s,gap .2s}.hbs-link:hover{color:var(--t);border-color:var(--t);gap:12px}.hbs-header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:24px;padding:18px var(--gutter);transition:background .3s,padding .3s,box-shadow .3s}.hbs-header.solid{background:#fbf8f2e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 var(--line)}.hbs-logo{display:flex;align-items:center;gap:12px;margin-right:auto}.hbs-logo img{width:44px;height:44px;object-fit:contain}.hbs-logo span{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.hbs-nav{display:flex;align-items:center;gap:30px}.hbs-nav>a:not(.hbs-btn){font-size:15px;font-weight:500;position:relative;padding:4px 0}.hbs-nav>a:not(.hbs-btn):after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--t);transition:right .3s}.hbs-nav>a:not(.hbs-btn):hover:after,.hbs-nav>a.active:after{right:0}.hbs-burger{display:none;border:0;background:transparent;color:var(--ink);cursor:pointer;padding:6px}.hbs-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:90px var(--gutter) 40px;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .55s cubic-bezier(.7,0,.2,1)}.hbs-menu.open{clip-path:circle(150% at calc(100% - 40px) 40px)}.hbs-menu nav{display:flex;flex-direction:column;gap:6px}.hbs-menu nav a{font-family:var(--serif);font-size:46px;line-height:1.15}.hbs-menu nav a:hover{color:var(--t);font-style:italic}.hbs-menu-contact{margin-top:40px;display:flex;flex-direction:column;gap:6px;color:var(--ink-2)}.hbs-hero{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(28px,5vw,80px);padding:120px var(--gutter) 70px;position:relative;background:radial-gradient(1200px 600px at 85% 20%,rgba(184,71,44,.08),transparent 60%),var(--paper)}.hbs-hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7.4vw,112px);line-height:.98;letter-spacing:-.02em;margin:22px 0 0}.hbs-hero-sub{max-width:560px;font-size:clamp(17px,1.4vw,20px);line-height:1.7;color:var(--ink-2);margin:26px 0 0}.hbs-hero-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:38px}.hbs-hero-art{position:relative;justify-self:center;width:min(100%,520px)}.hbs-hero-img{aspect-ratio:4 / 5.2;box-shadow:0 40px 80px -40px #3a281d8c}.hbs-arch-outline{position:absolute;top:-22px;right:22px;bottom:22px;left:-22px;border:1px solid var(--t);border-radius:999px 999px 0 0;opacity:.55}.hbs-badge{position:absolute;left:-54px;bottom:40px;width:150px;height:150px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:0 18px 40px -20px #3a281d80}.hbs-badge-ring{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);animation:hbs-spin 22s linear infinite}.hbs-badge-ring text{font:600 13px var(--sans);letter-spacing:.12em;fill:var(--walnut)}.hbs-badge img{width:74px;height:74px;object-fit:contain;position:relative}.hbs-arch,.hbs-frame{overflow:hidden;position:relative;background:var(--ivory)}.hbs-arch{border-radius:999px 999px 6px 6px}.hbs-frame{border-radius:6px}.hbs-arch img,.hbs-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}a:hover>.hbs-arch img,a:hover>.hbs-frame img,a.hbs-arch:hover img,a.hbs-frame:hover img{transform:scale(1.05)}.hbs-marquee{background:var(--t);color:var(--ivory);overflow:hidden;padding:20px 0;transform:rotate(-1.2deg) scale(1.03);margin:10px 0}.hbs-marquee-track{display:flex;width:max-content;animation:hbs-marquee 48s linear infinite}.hbs-marquee-row{display:flex;flex:none}.hbs-marquee span{font-family:var(--serif);font-size:clamp(22px,2.6vw,34px);font-style:italic;white-space:nowrap;padding:0 22px;display:inline-flex;align-items:center;gap:44px}.hbs-marquee i{font-style:normal;font-size:.6em;opacity:.7}.hbs-section{padding:clamp(70px,10vw,130px) var(--gutter)}.hbs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(36px,5vw,64px);flex-wrap:wrap}.hbs-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);align-items:center}.hbs-intro-img .hbs-arch{aspect-ratio:3 / 4}.hbs-stats{display:flex;gap:clamp(24px,4vw,60px);margin-top:40px;flex-wrap:wrap}.hbs-stats b{display:block;font-family:var(--serif);font-size:clamp(40px,4vw,56px);font-weight:500;color:var(--t);line-height:1}.hbs-stats span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.hbs-featured{background:var(--ivory)}.hbs-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,6vw,96px);align-items:center;margin-bottom:clamp(60px,9vw,120px)}.hbs-feature:last-child{margin-bottom:0}.hbs-feature.flip{grid-template-columns:.85fr 1.15fr}.hbs-feature.flip .hbs-feature-img{order:2}.hbs-feature-img{display:block;aspect-ratio:5 / 4}.hbs-feature-img.hbs-arch{aspect-ratio:4 / 5;max-width:480px;justify-self:center;width:100%}.hbs-feature-num{font-family:var(--serif);font-size:clamp(70px,9vw,130px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--t);margin-bottom:18px}.hbs-feature-text p{color:var(--ink-2);font-size:17px;margin:0 0 24px;max-width:460px}.hbs-feature-text h3 a:hover{color:var(--t)}.hbs-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.hbs-service{padding:36px 28px 40px 0;border-bottom:1px solid var(--line);position:relative}.hbs-service:not(:nth-child(3n)){border-right:1px solid var(--line)}.hbs-service:not(:nth-child(3n+1)){padding-left:28px}.hbs-service:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--t);transition:width .5s}.hbs-service:hover:after{width:100%}.hbs-service-num{font-size:13px;color:var(--t);font-weight:600;letter-spacing:.1em}.hbs-service h3{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.15;margin:14px 0 10px}.hbs-service p{margin:0;color:var(--ink-2)}.hbs-process-wrap{background:var(--walnut);color:var(--ivory)}.hbs-process-wrap .hbs-eyebrow{color:#e9a58f}.hbs-process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;position:relative}.hbs-process:before{content:"";position:absolute;left:0;right:0;top:26px;height:1px;background:#f6f0e640}.hbs-process li{position:relative;z-index:1}.hbs-step-dot{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--t);color:#fff;font-family:var(--serif);font-size:24px;position:relative;z-index:1;box-shadow:0 0 0 8px var(--walnut)}.hbs-process h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:22px 0 8px}.hbs-process p{margin:0;color:#f6f0e6bf}.hbs-quote{padding:clamp(80px,12vw,160px) var(--gutter);text-align:center;position:relative}.hbs-quote:before{content:"";position:absolute;left:50%;top:50%;width:min(70vw,520px);aspect-ratio:3 / 4;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:999px 999px 0 0}.hbs-quote-mark{font-family:var(--serif);font-size:140px;line-height:.6;color:var(--t)}.hbs-quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.4vw,44px);line-height:1.3;max-width:900px;margin:0 auto;position:relative}.hbs-quote cite{display:block;margin-top:26px;font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}.hbs-cta{padding:clamp(70px,9vw,110px) var(--gutter)}.hbs-cta-inner{background:var(--t);color:var(--ivory);border-radius:26px;padding:clamp(50px,8vw,100px) clamp(24px,6vw,80px);text-align:center;position:relative;overflow:hidden}.hbs-cta-inner:before,.hbs-cta-inner:after{content:"";position:absolute;width:260px;height:340px;border:1px solid rgba(246,240,230,.28);border-radius:999px 999px 0 0}.hbs-cta-inner:before{left:-70px;bottom:-120px}.hbs-cta-inner:after{right:-60px;top:-150px;transform:rotate(180deg)}.hbs-cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5vw,68px);line-height:1.05;margin:0;position:relative}.hbs-cta h2 em{color:#fbe2d6}.hbs-cta p{max-width:560px;margin:18px auto 32px;opacity:.9;font-size:17px;position:relative}.hbs-cta .hbs-btn{position:relative}.hbs-page-head{padding:160px var(--gutter) 30px}.hbs-page-title{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7vw,100px);line-height:1;letter-spacing:-.02em;margin:16px 0 0}.hbs-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.hbs-chips button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 18px;font:500 14px var(--sans);color:var(--ink);cursor:pointer;transition:all .2s}.hbs-chips button.on,.hbs-chips button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hbs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:start;padding-top:30px}.hbs-card .hbs-card-img{aspect-ratio:4 / 5;margin-bottom:18px}.hbs-card.tall{margin-top:60px}.hbs-card h3{transition:color .2s}.hbs-card a:hover h3{color:var(--t)}.hbs-project-head{padding:150px var(--gutter) 40px;max-width:1100px}.hbs-back{margin-bottom:30px;border:0}.hbs-project-cover{margin:0 var(--gutter);border-radius:10px;overflow:hidden;max-height:82vh}.hbs-project-cover img{width:100%;height:100%;max-height:82vh;object-fit:cover}.hbs-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px)}.hbs-gallery-item.wide{grid-column:1 / -1}.hbs-gallery-item button{display:block;width:100%;padding:0;border:0;cursor:zoom-in;border-radius:8px;overflow:hidden;background:var(--ivory)}.hbs-gallery-item :is(img,video){width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3;transition:transform 1s}.hbs-gallery-item.wide :is(img,video){aspect-ratio:16 / 8}.hbs-gallery-item button:hover :is(img,video){transform:scale(1.03)}.hbs-next{display:flex;flex-direction:column;gap:10px;padding:clamp(50px,8vw,90px) var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(60px,8vw,100px)}.hbs-next-title{font-family:var(--serif);font-size:clamp(36px,5vw,70px);display:inline-flex;align-items:center;gap:20px;transition:color .25s,gap .25s}.hbs-next:hover .hbs-next-title{color:var(--t);gap:34px}.hbs-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#140f0bf0;display:grid;place-items:center;padding:40px}.hbs-lightbox :is(img,video){max-width:100%;max-height:86vh;object-fit:contain;border-radius:4px}.hbs-lightbox button{position:absolute;border:0;background:#ffffff1a;color:#fff;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.hbs-lightbox button:hover{background:#ffffff38}.hbs-lb-close{top:20px;right:20px}.hbs-lb-nav.left{left:20px}.hbs-lb-nav.right{right:20px}.hbs-lb-count{position:absolute;bottom:20px;color:#ffffffb3;font-size:14px;letter-spacing:.1em}.hbs-studio{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,6vw,100px);align-items:start;padding-top:30px}.hbs-studio-text .hbs-lead:first-child{margin-top:0;font-size:clamp(20px,1.8vw,24px);color:var(--ink);font-family:var(--serif);line-height:1.5}.hbs-studio-img .hbs-arch{aspect-ratio:3 / 4}.hbs-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.hbs-value{background:var(--ivory);border-radius:18px;padding:30px 26px}.hbs-value span{color:var(--t);font-size:20px}.hbs-value h3{font-family:var(--serif);font-size:26px;font-weight:600;margin:12px 0 8px;line-height:1.15}.hbs-value p{margin:0;color:var(--ink-2)}.hbs-enquire{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);padding:150px var(--gutter) clamp(70px,9vw,110px);align-items:start}.hbs-enquire-contact{display:flex;flex-direction:column;gap:12px;margin-top:34px}.hbs-enquire-contact>*{display:inline-flex;gap:12px;align-items:flex-start;font-size:17px}.hbs-enquire-contact svg{color:var(--t);margin-top:4px;flex:none}.hbs-enquire-form{background:#fff;border-radius:22px;padding:clamp(24px,4vw,44px);box-shadow:0 30px 60px -36px #3a281d73;border:1px solid var(--line)}.hbs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:26px}.hbs-form label{display:flex;flex-direction:column;gap:7px}.hbs-form label.full{grid-column:1 / -1}.hbs-form label span{font-size:13px;font-weight:600;color:var(--ink-2);letter-spacing:.02em}.hbs-form input,.hbs-form select,.hbs-form textarea{font:16px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.hbs-form textarea{resize:vertical;min-height:110px}.hbs-form input:focus,.hbs-form select:focus,.hbs-form textarea:focus{border-color:var(--t);box-shadow:0 0 0 3px #b8472c24}.hbs-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.hbs-error{background:#fbe6e1;color:#8f3520;border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:14px}.hbs-thanks{text-align:center;padding:40px 10px;color:var(--ink)}.hbs-thanks svg{color:var(--t);margin:0 auto 10px}.hbs-thanks h2{font-family:var(--serif);font-size:40px;font-weight:500;margin:0 0 8px}.hbs-footer{background:var(--walnut);color:var(--ivory);padding:clamp(60px,8vw,100px) var(--gutter) 30px}.hbs-footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid rgba(246,240,230,.16)}.hbs-footer-brand{display:flex;align-items:center;gap:16px}.hbs-footer-brand img{width:64px;height:64px;object-fit:contain}.hbs-footer-name{font-family:var(--serif);font-size:28px;letter-spacing:.12em;text-transform:uppercase}.hbs-footer-tag{font-size:12px;letter-spacing:.22em;text-transform:uppercase;opacity:.65;margin-top:2px}.hbs-footer-cta{font-family:var(--serif);font-style:italic;font-size:clamp(30px,4vw,54px);display:inline-flex;align-items:center;gap:14px;transition:color .25s,gap .25s}.hbs-footer-cta:hover{color:#f2b49f;gap:22px}.hbs-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding:40px 0}.hbs-footer-grid>div{display:flex;flex-direction:column;gap:10px}.hbs-footer-grid a,.hbs-footer-grid>div>span{display:inline-flex;align-items:flex-start;gap:10px;color:#f6f0e6d1}.hbs-footer-grid a:hover{color:#fff}.hbs-footer-grid svg{margin-top:4px;flex:none;opacity:.8}.hbs-footer-h{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#e9a58f;margin-bottom:6px}.hbs-footer .hbs-muted{color:#f6f0e699}.hbs-footer-bottom{border-top:1px solid rgba(246,240,230,.16);padding-top:22px;font-size:13px;color:#f6f0e699;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}.hbs-reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.hbs-reveal.in{opacity:1;transform:none}.hbs-rise{opacity:0;animation:hbs-rise .9s cubic-bezier(.2,.7,.2,1) forwards}.hbs-zoom-in img{animation:hbs-zoom 1.8s cubic-bezier(.2,.7,.2,1) both}@keyframes hbs-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes hbs-zoom{0%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes hbs-spin{to{transform:rotate(360deg)}}@keyframes hbs-marquee{to{transform:translate(-50%)}}.hbs-loading{display:grid;place-items:center;min-height:100vh}.hbs-loader{width:46px;height:60px;border:2px solid var(--t);border-radius:999px 999px 0 0;animation:hbs-pulse 1.2s ease-in-out infinite}@keyframes hbs-pulse{50%{opacity:.3;transform:scale(.92)}}@media (prefers-reduced-motion: reduce){.hbs-reveal,.hbs-rise{opacity:1;transform:none;animation:none;transition:none}.hbs-badge-ring,.hbs-marquee-track,.hbs-zoom-in img{animation:none}}@media (max-width: 1000px){.hbs-services{grid-template-columns:repeat(2,minmax(0,1fr))}.hbs-service{padding:30px 22px 34px!important;border-right:0!important}.hbs-service:nth-child(odd){border-right:1px solid var(--line)!important}.hbs-process{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}.hbs-process:before{display:none}.hbs-values,.hbs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbs-card.tall{margin-top:0}}@media (max-width: 820px){.hbs-nav{display:none}.hbs-burger{display:block;position:relative;z-index:45}.hbs-hero{grid-template-columns:1fr;min-height:auto;padding-top:110px;text-align:left}.hbs-hero-art{width:min(86%,420px);margin-top:20px}.hbs-badge{width:116px;height:116px;left:-30px;bottom:26px}.hbs-badge img{width:56px;height:56px}.hbs-intro,.hbs-feature,.hbs-feature.flip,.hbs-studio,.hbs-enquire{grid-template-columns:1fr}.hbs-feature.flip .hbs-feature-img{order:0}.hbs-intro-img{max-width:380px}.hbs-feature-num{font-size:72px}.hbs-enquire{padding-top:120px}}@media (max-width: 560px){.hbs-logo span{font-size:16px;letter-spacing:.1em}.hbs-logo img{width:38px;height:38px}.hbs-services,.hbs-process,.hbs-values,.hbs-grid,.hbs-gallery{grid-template-columns:1fr}.hbs-service{border-right:0!important}.hbs-gallery-item.wide{grid-column:auto}.hbs-gallery-item.wide :is(img,video){aspect-ratio:4 / 3}.hbs-form-grid{grid-template-columns:1fr}.hbs-page-head,.hbs-project-head{padding-top:120px}.hbs-menu nav a{font-size:38px}}.hbs-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--t);transform-origin:0 50%;transform:scaleX(0);z-index:70}.hbs-header{transition:background .3s,padding .3s,box-shadow .3s,transform .45s cubic-bezier(.2,.7,.2,1)}.hbs-header.tucked{transform:translateY(-110%)}.hbs-split-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.hbs-split-word{display:inline-block;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.75,.15,1)}.hbs-split.in .hbs-split-word{transform:none}.hbs-split em{font-style:italic;color:var(--t);font-weight:500}.hbs-cta .hbs-split{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5vw,68px);line-height:1.05;margin:0;position:relative;color:var(--ivory)}.hbs-cta .hbs-split em{color:#fbe2d6}.hbs-par{position:relative;width:100%;height:100%;overflow:hidden}.hbs-par :is(img,video){width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform;transition:none}.hbs-curtain{animation:hbs-curtain 1.6s cubic-bezier(.7,0,.15,1) .1s both}@keyframes hbs-curtain{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}.hbs-wipe-inner{width:100%;height:100%;clip-path:inset(100% 0 0 0);transition:clip-path 1.25s cubic-bezier(.7,0,.15,1)}.hbs-wipe.in .hbs-wipe-inner{clip-path:inset(0 0 0 0)}.hbs-feature-img .hbs-wipe-inner>a{display:block;width:100%;height:100%}.hbs-feature-img.arch{aspect-ratio:4 / 5;max-width:480px;justify-self:center;width:100%}.hbs-card-wipe{margin-bottom:18px}.hbs-card-wipe .hbs-card-img{margin-bottom:0}.hbs-scroll-cue{position:absolute;left:var(--gutter);bottom:28px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-2)}.hbs-scroll-cue i{position:relative;width:1px;height:46px;background:var(--line);overflow:hidden}.hbs-scroll-cue i:after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--t);animation:hbs-cue 2.2s cubic-bezier(.6,0,.3,1) infinite}@keyframes hbs-cue{to{top:110%}}.hbs-process:after{content:"";position:absolute;left:0;top:26px;height:1px;width:100%;background:#e9a58f;transform-origin:0 50%;transform:scaleX(clamp(0,calc((var(--p, 0) - .25) * 2.2),1))}.hbs-scrub{margin:0}.hbs-scrub span{opacity:.18;transition:opacity .35s}.hbs-hgallery{position:relative;background:var(--paper)}.hbs-hgallery-sticky{padding:clamp(70px,9vw,110px) 0;overflow:hidden}.hbs-hgallery.pinned .hbs-hgallery-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0}.hbs-hgallery-head{padding:0 var(--gutter);margin-bottom:clamp(26px,4vw,46px)}.hbs-hgallery-track{display:flex;gap:clamp(18px,2.4vw,34px);padding:0 var(--gutter);width:max-content;will-change:transform}.hbs-hgallery-item{flex:none;width:clamp(240px,26vw,380px)}.hbs-hgallery-img{aspect-ratio:4 / 5;overflow:hidden;border-radius:6px;background:var(--ivory)}.hbs-hgallery-img.arch{border-radius:999px 999px 6px 6px}.hbs-hgallery-item:nth-child(2n){margin-top:48px}.hbs-hgallery-img :is(img,video){width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hbs-hgallery-item:hover :is(img,video){transform:scale(1.05)}.hbs-hgallery-cap{display:flex;gap:12px;align-items:baseline;margin-top:14px;font-family:var(--serif);font-size:21px}.hbs-hgallery-cap span{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--t)}.hbs-hgallery:not(.pinned) .hbs-hgallery-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);padding-bottom:12px;scrollbar-width:none}.hbs-hgallery:not(.pinned) .hbs-hgallery-track::-webkit-scrollbar{display:none}.hbs-hgallery:not(.pinned) .hbs-hgallery-item{scroll-snap-align:start;width:72vw;max-width:340px}.hbs-hgallery:not(.pinned) .hbs-hgallery-item:nth-child(2n){margin-top:0}.hbs-cursor{position:fixed;left:0;top:0;z-index:75;width:86px;height:86px;border-radius:50%;background:var(--t);color:#fff;display:grid;place-items:center;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;pointer-events:none;opacity:0;scale:.3;transition:opacity .25s,scale .35s cubic-bezier(.2,.7,.2,1)}.hbs-cursor.on{opacity:.94;scale:1}@media (hover: none),(pointer: coarse){.hbs-cursor{display:none}}.hbs-wordmark{font-family:var(--serif);font-weight:500;font-size:clamp(48px,11.6vw,210px);line-height:.85;letter-spacing:-.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(246,240,230,.22);margin:10px 0 26px;overflow:hidden;text-align:center}@media (max-width: 820px){.hbs-scroll-cue{display:none}.hbs-process:after{display:none}}@media (prefers-reduced-motion: reduce){.hbs-split-word{transform:none;transition:none}.hbs-wipe-inner,.hbs-curtain{clip-path:none;animation:none;transition:none}.hbs-par :is(img,video){transform:none}.hbs-scrub span{opacity:1}.hbs-progress,.hbs-cursor{display:none}.hbs-header.tucked{transform:none}.hbs-scroll-cue i:after{animation:none}.hbs-process:after{transform:scaleX(1)}}.hbs-icon-link{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);transition:color .2s,border-color .2s,background .2s}.hbs-icon-link:hover{color:var(--t);border-color:var(--t)}.hbs-nav>a.hbs-icon-link:after{display:none}.hbs-menu-contact a{display:inline-flex;align-items:center;gap:10px}.hbs-visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,100px);align-items:center;background:var(--ivory)}.hbs-visit-img .hbs-arch{aspect-ratio:3 / 4;max-width:440px}.hbs-visit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 34px;margin-top:40px}.hbs-visit-list>*{display:flex;gap:16px;align-items:flex-start;font-size:18px;color:var(--ink)}.hbs-visit-list a:hover{color:var(--t)}.hbs-visit-list small{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}.hbs-visit-ico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--t);border:1px solid var(--line)}.hbs-map-link{margin-top:10px;font-size:14px}.hbs-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,4vw,54px);padding-top:30px}.hbs-person-photo{aspect-ratio:4 / 5;margin-bottom:20px;display:grid;place-items:center}.hbs-person-photo img{width:100%;height:100%;object-fit:cover}.hbs-person-initials{font-family:var(--serif);font-size:64px;color:var(--t)}.hbs-person:nth-child(3n+2){margin-top:50px}.hbs-person p{color:var(--ink-2);margin:10px 0 0}@media (max-width: 1000px){.hbs-people{grid-template-columns:repeat(2,minmax(0,1fr))}.hbs-person:nth-child(3n+2){margin-top:0}}@media (max-width: 820px){.hbs-visit{grid-template-columns:1fr}.hbs-visit-img .hbs-arch{max-width:340px}}@media (max-width: 560px){.hbs-people,.hbs-visit-list{grid-template-columns:1fr}}.hbs-founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,110px);align-items:center;padding:150px var(--gutter) clamp(70px,9vw,110px);background:radial-gradient(1000px 520px at 10% 30%,rgba(184,71,44,.07),transparent 60%),var(--paper)}.hbs-founder-art{position:relative;justify-self:center;width:min(100%,480px)}.hbs-founder-photo{aspect-ratio:4 / 5.2;display:grid;place-items:center;box-shadow:0 40px 80px -40px #3a281d8c}.hbs-founder-photo .hbs-person-initials{font-size:120px}.hbs-founder .hbs-badge{left:auto;right:-46px;bottom:50px}.hbs-founder .hbs-page-title{margin-top:18px}.hbs-founder-story{margin-top:28px;max-width:620px}.hbs-founder-story p{color:var(--ink-2);font-size:17px;line-height:1.8;margin:0 0 16px}.hbs-founder-story p.first{font-family:var(--serif);font-size:clamp(22px,2vw,27px);line-height:1.45;color:var(--ink)}.hbs-founder-story p.first:first-letter{float:left;font-size:3.3em;line-height:.82;padding:6px 12px 0 0;color:var(--t);font-weight:500}.hbs-founder-values{background:var(--ivory)}.hbs-founder-strip{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:clamp(16px,2.4vw,30px);align-items:end}.hbs-founder-shot>.hbs-wipe-inner>a{display:block;aspect-ratio:4 / 3.4}.hbs-founder-shot.arch>.hbs-wipe-inner>a{aspect-ratio:3 / 4}.hbs-people.pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}.hbs-people.pair .hbs-person:nth-child(2){margin-top:70px}@media (max-width: 820px){.hbs-founder{grid-template-columns:1fr;padding-top:120px}.hbs-founder-art{width:min(82%,380px)}.hbs-founder .hbs-badge{right:-24px;width:116px;height:116px}.hbs-founder-strip{grid-template-columns:1fr 1fr}.hbs-founder-strip>:last-child{display:none}}@media (max-width: 560px){.hbs-people.pair{grid-template-columns:1fr}.hbs-people.pair .hbs-person:nth-child(2){margin-top:0}.hbs-founder-strip{grid-template-columns:1fr}.hbs-founder-strip>:last-child{display:block}}.hbs-hold{opacity:0}.hbs-hold-clip{clip-path:inset(100% 0 0 0)}.hbs-depth-1,.hbs-depth-2,.hbs-depth-3{transition:translate .9s cubic-bezier(.2,.7,.2,1)}.hbs-depth-1{translate:calc(var(--mx, 0) * -10px) calc(var(--my, 0) * -8px)}.hbs-depth-2{translate:calc(var(--mx, 0) * 14px) calc(var(--my, 0) * 10px)}.hbs-depth-3{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;translate:calc(var(--mx, 0) * 24px) calc(var(--my, 0) * 18px)}.hbs-depth-3 .hbs-badge{pointer-events:auto}.hbs-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:clip-path .9s cubic-bezier(.75,0,.2,1);clip-path:inset(0 0 0 0)}.hbs-splash.out{clip-path:inset(0 0 100% 0)}.hbs-splash-mark{position:relative;width:132px;height:132px;display:grid;place-items:center}.hbs-splash-mark svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.hbs-splash-mark circle{fill:none;stroke:var(--t);stroke-width:1.4;stroke-dasharray:352;stroke-dashoffset:352;animation:hbs-draw 1.1s cubic-bezier(.6,0,.2,1) forwards}.hbs-splash-mark img{width:96px;height:96px;object-fit:contain;opacity:0;transform:scale(.82);animation:hbs-pop .8s .25s cubic-bezier(.2,.7,.2,1) forwards}.hbs-splash-name{font-family:var(--serif);font-size:20px;letter-spacing:.28em;text-transform:uppercase;color:var(--walnut);opacity:0;animation:hbs-rise .8s .45s cubic-bezier(.2,.7,.2,1) forwards}.hbs-splash.out .hbs-splash-mark,.hbs-splash.out .hbs-splash-name{transition:transform .9s cubic-bezier(.75,0,.2,1);transform:translateY(-40px)}@keyframes hbs-draw{to{stroke-dashoffset:0}}@keyframes hbs-pop{to{opacity:1;transform:none}}.hbs-portal{position:relative;height:240vh;background:var(--paper)}.hbs-portal-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.hbs-portal-frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;clip-path:inset(30% 34% 24% 34% round 999px 999px 0 0);will-change:clip-path}.hbs-portal-frame :is(img,video){width:100%;height:100%;object-fit:cover;transform:scale(1.35);will-change:transform}.hbs-portal-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#140f0b00 40%,#140f0b9e)}.hbs-portal-intro{position:absolute;left:0;right:0;top:9vh;text-align:center;z-index:2}.hbs-portal-intro .hbs-eyebrow{justify-content:center}.hbs-portal-intro .hbs-eyebrow:after{content:"";width:34px;height:1px;background:currentColor}.hbs-portal-hint{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,34px);margin-top:10px;color:var(--ink)}.hbs-portal-outro{position:absolute;left:var(--gutter);right:var(--gutter);bottom:8vh;z-index:2;color:#fff;opacity:0;max-width:720px}.hbs-portal-outro h2{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.4vw,76px);line-height:1.02;margin:0 0 12px}.hbs-portal-outro p{font-size:17px;line-height:1.6;opacity:.9;margin:0 0 22px;max-width:560px}.hbs-stack{display:flex;flex-direction:column;gap:18px;padding-bottom:10px}.hbs-stack-card{position:sticky;display:block;height:68vh;min-height:380px;border-radius:22px;overflow:hidden;background:var(--ivory);box-shadow:0 -10px 30px -18px #3a281d80;transform-origin:50% 0;will-change:transform}.hbs-stack-card :is(img,video){width:100%;height:100%;object-fit:cover}.hbs-stack-caption{position:absolute;left:0;right:0;bottom:0;display:flex;gap:14px;align-items:flex-end;padding:60px 120px 20px 20px;color:#fff;background:linear-gradient(180deg,#140f0b00,#140f0bb3)}.hbs-stack-caption>span{font-family:var(--serif);font-size:44px;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.85)}.hbs-stack-caption small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:4px}.hbs-stack-caption b{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.1}.hbs-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:45;background:var(--t);color:#fff!important;font-weight:600;font-size:15px;padding:13px 22px;border-radius:999px;box-shadow:0 14px 30px -12px #8f3520b3;opacity:0;transform:translateY(20px) scale(.92);pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1)}.hbs-float.on{opacity:1;transform:none;pointer-events:auto}.hbs-hgallery:not(.pinned) .hbs-hgallery-item{transition:transform .25s ease-out,opacity .25s ease-out;transform-origin:50% 60%}@media (max-width: 820px){.hbs-portal{height:210vh}.hbs-portal-intro{top:12vh}.hbs-depth-1,.hbs-depth-2,.hbs-depth-3{translate:none}}@media (prefers-reduced-motion: reduce){.hbs-hold,.hbs-hold-clip{opacity:1;clip-path:none}.hbs-portal{height:auto}.hbs-portal-sticky{position:relative}.hbs-portal-frame{clip-path:none}.hbs-portal-outro{opacity:1}.hbs-float{transition:none}}.hbs-process-pin{position:relative;height:230vh}.hbs-process-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--gutter)}.hbs-process.pinned:after{display:none}.hbs-process-fill{position:absolute;top:26px;left:0;width:0;height:2px;margin-top:-.5px;background:#e9a58f;z-index:0}.hbs-process.pinned>li h3,.hbs-process.pinned>li p{opacity:.38;transform:translateY(14px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.hbs-process.pinned>li.active h3,.hbs-process.pinned>li.active p{opacity:1;transform:none}.hbs-process.pinned .hbs-step-dot{transition:background .4s,color .4s,transform .5s cubic-bezier(.2,.7,.2,1);background:#57392a;color:#ffffff80}.hbs-process.pinned>li.active .hbs-step-dot{background:var(--t);color:#fff;transform:scale(1.08)}.hbs-top{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:44;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#fbf8f2eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 22px #2a211b24;cursor:pointer;opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1),background .3s}.hbs-top.on{opacity:1;transform:none;pointer-events:auto}.hbs-top svg{width:100%;height:100%;display:block;transform:rotate(-90deg);overflow:visible}.hbs-top .track{fill:none;stroke:var(--line);stroke-width:1.5}.hbs-top .fill{fill:none;stroke:var(--t);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}.hbs-top .arrow{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transform-origin:24px 24px;transition:stroke .3s,translate .3s}.hbs-top:hover{background:var(--t)}.hbs-top:hover .arrow{stroke:#fff;translate:2px 0}.hbs-top:hover .track{stroke:#ffffff4d}.hbs-top:hover .fill{stroke:#fff}.hbs-top:focus-visible{outline:2px solid var(--t);outline-offset:3px}@media (max-width: 820px){.hbs-top{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));width:44px;height:44px}}@media (prefers-reduced-motion: reduce){.hbs-top{transition:none}}.hbs-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235e5147' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.hbs-process{--gap: 30px;gap:var(--gap);grid-template-columns:repeat(var(--n, 4),minmax(0,1fr))}.hbs-process li{text-align:center}.hbs-step-dot{margin:0 auto}.hbs-process:before,.hbs-process:after{left:calc((100% - (var(--n, 4) - 1) * var(--gap)) / (2 * var(--n, 4)));right:calc((100% - (var(--n, 4) - 1) * var(--gap)) / (2 * var(--n, 4)));width:auto}@media (max-width: 1000px){.hbs-process{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}}@media (max-width: 560px){.hbs-process{grid-template-columns:1fr}}.hbs-wipe.quick .hbs-wipe-inner{transition-duration:.55s}.hbs-wipe.instant .hbs-wipe-inner{transition:none}.hbs-reveal.quick{transition-duration:.45s}.hbs-reveal.instant{transition:none}.hbs-par,.hbs-hgallery-img,.hbs-gallery button{background:#e9e1d4}.hbs-about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,7vw,120px);align-items:center;padding-top:30px}.hbs-about-lead{margin:0 0 30px;font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);line-height:1.32;color:var(--ink);font-weight:400}.hbs-about-lead:first-letter{color:var(--t)}.hbs-about-body{color:var(--ink-2);font-size:16px;line-height:1.75;max-width:60ch}.hbs-about-body.cols{column-count:2;column-gap:36px;column-rule:1px solid var(--line);max-width:none;font-size:15.5px}.hbs-about-body p{margin:0 0 14px;break-inside:avoid}.hbs-about-values{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.hbs-about-values li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.hbs-about-num{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--t);line-height:1.2;flex:none;width:30px}.hbs-about-values h3{margin:0 0 4px;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink)}.hbs-about-values p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}.hbs-about-sign b{display:block;font-family:var(--serif);font-size:26px;font-weight:500;color:var(--ink)}.hbs-about-sign span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.hbs-about-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.hbs-about-stats{margin-top:0}.hbs-about-art{position:relative;padding-left:8%}.hbs-about-badge{position:absolute;left:0;bottom:8%;z-index:2}.hbs-about-badge .hbs-badge{position:relative;left:auto;bottom:auto}.hbs-about-main .hbs-arch{aspect-ratio:4 / 5}.hbs-about-outline{position:absolute;top:-26px;right:-26px;width:78%;height:72%;border:1px solid var(--t);border-radius:999px 999px 0 0;opacity:.55;pointer-events:none}@media (max-width: 1000px){.hbs-about{grid-template-columns:1fr}.hbs-about-art{max-width:560px;margin:0 auto;width:100%}}@media (max-width: 560px){.hbs-about-body.cols{column-count:1}.hbs-about-values{grid-template-columns:1fr}.hbs-about-foot{flex-direction:column;align-items:flex-start}.hbs-about-outline{top:-14px;right:-10px}}.tsx,.tsx-off{--brand: #334155;--on-brand: #ffffff;--ink: #16181d;--ink-2: #525866;--line: #e6e8ec;--bg: #ffffff;--soft: color-mix(in srgb, var(--brand) 7%, #ffffff);--gutter: clamp(18px, 5vw, 64px);font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.tsx{min-height:100vh;overflow-x:hidden;overflow-x:clip}.tsx *,.tsx *:before,.tsx *:after{box-sizing:border-box}.tsx a{color:inherit;text-decoration:none}.tsx img{display:block;max-width:100%}.tsx button{font:inherit}.tsx h1,.tsx h2,.tsx h3{letter-spacing:-.02em;margin:0}.tsx-muted{color:var(--ink-2)}.tsx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;border-radius:10px;padding:12px 20px;background:var(--brand);color:var(--on-brand);font-weight:600;font-size:15px;transition:filter .2s,transform .2s}.tsx-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.tsx-btn:disabled{opacity:.6;transform:none;cursor:default}.tsx-btn-light{background:var(--on-brand);color:var(--brand)}.tsx-btn-block{width:100%;padding:14px 20px}.tsx-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;padding:14px var(--gutter);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.tsx-brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:0}.tsx-brand img{width:42px;height:42px;object-fit:contain;border-radius:10px}.tsx-mono{width:42px;height:42px;border-radius:10px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;flex:none}.tsx-brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.tsx-brand-text b{font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsx-brand-text small{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsx-nav{display:flex;align-items:center;gap:6px}.tsx-nav>button:not(.tsx-btn){border:0;background:transparent;padding:8px 12px;border-radius:8px;color:var(--ink-2);font-weight:500;cursor:pointer}.tsx-nav>button:not(.tsx-btn):hover{background:var(--soft);color:var(--ink)}.tsx-ig{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:var(--ink-2);margin-right:6px}.tsx-ig:hover{background:var(--soft);color:var(--brand)}.tsx-burger{display:none;border:0;background:transparent;padding:6px;cursor:pointer;color:var(--ink)}.tsx-menu{position:sticky;top:71px;z-index:29;display:flex;flex-direction:column;gap:2px;padding:10px var(--gutter) 16px;background:#fff;border-bottom:1px solid var(--line)}.tsx-menu button,.tsx-menu a{border:0;background:none;text-align:left;padding:12px 4px;font-size:18px;font-weight:600;cursor:pointer;display:flex;gap:10px;align-items:center}.tsx-hero{background:var(--brand);color:var(--on-brand);padding:clamp(56px,9vw,120px) var(--gutter);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,70px);align-items:center;position:relative;overflow:hidden}.tsx-kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:18px}.tsx-hero h1{font-size:clamp(38px,5.6vw,72px);font-weight:800;line-height:1.02}.tsx-hero p{font-size:clamp(17px,1.4vw,20px);line-height:1.6;opacity:.88;max-width:560px;margin:22px 0 0}.tsx-hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.tsx-hero-phone{display:inline-flex;align-items:center;gap:8px;font-weight:600;opacity:.9}.tsx-hero-img{border-radius:22px;overflow:hidden;aspect-ratio:4 / 3.4;box-shadow:0 30px 60px -30px #00000073}.tsx-hero-img img{width:100%;height:100%;object-fit:cover}.tsx-hero-shapes{display:grid;grid-template-columns:1fr 1fr;gap:16px;aspect-ratio:1;max-width:420px;justify-self:center;width:100%}.tsx-hero-shapes i{border-radius:22px;background:color-mix(in srgb,var(--on-brand) 14%,transparent)}.tsx-hero-shapes i:nth-child(2){border-radius:50%;background:color-mix(in srgb,var(--on-brand) 26%,transparent)}.tsx-hero-shapes i:nth-child(3){border-radius:22px 22px 22px 120px;background:color-mix(in srgb,var(--on-brand) 22%,transparent)}.tsx-hero-shapes i:nth-child(4){background:color-mix(in srgb,var(--on-brand) 9%,transparent)}.tsx-section{padding:clamp(60px,8vw,100px) var(--gutter)}.tsx-section>h2,.tsx-contact h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;margin-bottom:clamp(26px,4vw,44px)}.tsx-label{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:14px}.tsx-about{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,70px);align-items:center}.tsx-about p{color:var(--ink-2);font-size:17px;line-height:1.75;margin:0 0 14px}.tsx-about p.lead{color:var(--ink);font-size:clamp(20px,2vw,26px);line-height:1.45;font-weight:600;letter-spacing:-.01em}.tsx-about-img{border-radius:22px;overflow:hidden;aspect-ratio:4 / 5}.tsx-about-img img{width:100%;height:100%;object-fit:cover}.tsx-about-mark{aspect-ratio:1;max-width:320px;justify-self:center;width:100%;border-radius:28px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:clamp(70px,10vw,130px);font-weight:800}.tsx-services-wrap{background:var(--soft)}.tsx-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.tsx-service{background:#fff;border-radius:18px;padding:28px 24px;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.tsx-service:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px #16181d59}.tsx-service-num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:14px}.tsx-service h3{font-size:20px;font-weight:700;margin:18px 0 8px}.tsx-service p{color:var(--ink-2);margin:0;line-height:1.6}.tsx-gallery{columns:3 260px;column-gap:16px}.tsx-shot{display:block;width:100%;padding:0;border:0;margin:0 0 16px;border-radius:16px;overflow:hidden;cursor:zoom-in;break-inside:avoid;background:var(--soft)}.tsx-shot img{width:100%;height:auto;transition:transform .6s}.tsx-shot:hover img{transform:scale(1.03)}.tsx-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,70px);align-items:start;background:var(--soft)}.tsx-contact h2{margin-bottom:14px}.tsx-contact-list{display:flex;flex-direction:column;gap:14px;margin-top:28px}.tsx-contact-list>*{display:flex;gap:14px;align-items:flex-start;font-size:17px;font-weight:500}.tsx-contact-list>*>span{flex:none;width:42px;height:42px;border-radius:10px;background:#fff;color:var(--brand);display:grid;place-items:center;border:1px solid var(--line)}.tsx-contact-list a:hover{color:var(--brand)}.tsx-map{display:inline-flex;gap:6px;align-items:center;margin-top:6px;font-size:14px;color:var(--brand)!important;font-weight:600}.tsx-form-card{background:#fff;border-radius:22px;padding:clamp(22px,3.5vw,36px);border:1px solid var(--line);box-shadow:0 24px 50px -36px #16181d66}.tsx-form{display:flex;flex-direction:column;gap:14px}.tsx-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tsx-form label{display:flex;flex-direction:column;gap:6px}.tsx-form label span{font-size:13px;font-weight:600;color:var(--ink-2)}.tsx-form input,.tsx-form select,.tsx-form textarea{font:16px Inter,sans-serif;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fafbfc;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}.tsx-form input:focus,.tsx-form select:focus,.tsx-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent);background:#fff}.tsx-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.tsx-error{background:#fdecec;color:#a12121;border-radius:10px;padding:11px 13px;font-size:14px}.tsx-thanks{text-align:center;padding:30px 10px}.tsx-thanks svg{color:var(--brand);margin:0 auto 8px}.tsx-thanks h3{font-size:26px;font-weight:800;margin-bottom:6px}.tsx-thanks p{color:var(--ink-2);margin:0}.tsx-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:26px var(--gutter);border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}.tsx-footer a{display:inline-flex;gap:8px;align-items:center}.tsx-footer a:hover{color:var(--brand)}.tsx-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0c0d10eb;display:grid;place-items:center;padding:40px}.tsx-lightbox img{max-width:100%;max-height:86vh;object-fit:contain;border-radius:8px}.tsx-lb-btn{position:absolute;border:0;background:#ffffff1f;color:#fff;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;cursor:pointer}.tsx-lb-btn.close{top:18px;right:18px}.tsx-lb-btn.left{left:18px}.tsx-lb-btn.right{right:18px}.tsx-loading{display:grid;place-items:center}.tsx-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #e6e8ec;border-top-color:#334155;animation:tsx-spin .8s linear infinite}@keyframes tsx-spin{to{transform:rotate(360deg)}}.tsx-off{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 10%,#fff),#f6f7f9)}.tsx-off-card{max-width:480px;width:100%;background:#fff;border-radius:22px;padding:44px 32px;text-align:center;border:1px solid var(--line);box-shadow:0 30px 60px -40px #16181d73}.tsx-off-logo{width:76px;height:76px;object-fit:contain;margin:0 auto 14px;border-radius:16px}.tsx-off-mono{width:76px;height:76px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;margin:0 auto 14px;font-weight:800;font-size:26px}.tsx-off-name{font-weight:700;font-size:18px;margin-bottom:18px}.tsx-off h1{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 10px;color:var(--ink)}.tsx-off p{margin:0;color:var(--ink-2);line-height:1.6}@media (max-width: 860px){.tsx-nav{display:none}.tsx-burger{display:block}.tsx-hero,.tsx-about,.tsx-contact{grid-template-columns:1fr}.tsx-hero-shapes{max-width:260px}}@media (max-width: 520px){.tsx-row{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.tsx-btn,.tsx-service,.tsx-shot img{transition:none}}.tsx-top{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 6px 20px #0f172a24;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .35s ease,transform .4s ease,background .25s}.tsx-top.on{opacity:1;transform:none;pointer-events:auto}.tsx-top svg{width:100%;height:100%;display:block;transform:rotate(-90deg);overflow:visible}.tsx-top .track{fill:none;stroke:#0f172a1a;stroke-width:1.5}.tsx-top .fill{fill:none;stroke:var(--brand);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}.tsx-top .arrow{fill:none;stroke:var(--ink, #0f172a);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transform-origin:24px 24px}.tsx-top:hover{background:var(--brand)}.tsx-top:hover .arrow,.tsx-top:hover .fill{stroke:var(--on-brand)}.tsx-top:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media (prefers-reduced-motion: reduce){.tsx-top{transition:none}}.tsx-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:14px}:root{--bg: #faf7f2;--bg-sidebar: #f4efe8;--surface: #ffffff;--surface-2: #fbf8f4;--border: #ece4da;--border-strong: #ddd2c4;--text: #2b2724;--text-2: #5a524c;--muted: #8a8079;--primary: #b5543c;--primary-hover: #9c4430;--primary-soft: #f6e7e1;--primary-ring: rgba(181, 84, 60, .22);--primary-text: #b5543c;--on-primary: #ffffff;--green: #4f7d4b;--green-bg: #e8f1e5;--amber: #b26a1c;--amber-bg: #fbecd9;--blue: #3e6597;--blue-bg: #e5edf7;--red: #b23b3b;--red-bg: #f8e4e2;--grey: #6e6862;--grey-bg: #f0ece7;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(60, 40, 20, .04), 0 2px 8px rgba(60, 40, 20, .04);--shadow-lg: 0 12px 40px rgba(40, 25, 10, .16);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sidebar-w: 248px;--topbar-h: 64px;--bottom-nav-h: 64px;--topbar-bg: rgba(250, 247, 242, .92);--bottom-nav-bg: rgba(255, 255, 255, .96);--hero-from: #f3ebe2;--done: #3f6b45;--toast-bg: #2b2724;color-scheme:light}:root[data-theme=dark]{--bg: #171412;--bg-sidebar: #1e1a17;--surface: #24201d;--surface-2: #2b2623;--border: #37312c;--border-strong: #4a423c;--text: #efe9e2;--text-2: #c9c0b7;--muted: #998f86;--green: #93c48e;--green-bg: #22322a;--amber: #e3ac6c;--amber-bg: #3a2c1b;--blue: #93b6e3;--blue-bg: #1f2b3b;--red: #ec8f8f;--red-bg: #3b2121;--grey: #b4aba3;--grey-bg: #312c28;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--topbar-bg: rgba(23, 20, 18, .9);--bottom-nav-bg: rgba(30, 26, 23, .96);--hero-from: #221d19;--done: #5f9a5f;--toast-bg: #3a332e;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;font-weight:600}p{margin:0}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:12.5px}.danger-text{color:var(--red)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:flex;min-height:100%}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40;overflow-y:auto}.brand{display:flex;flex-direction:column;align-items:center;padding:26px 16px 18px;text-align:center}.brand-mark{width:76px;height:76px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-family:var(--serif);font-size:36px;letter-spacing:-1px}.brand-name{font-family:var(--serif);font-size:21px;letter-spacing:.14em;padding-left:.14em;box-sizing:border-box;margin-top:10px;line-height:1.25}.brand-tag{font-size:8.5px;letter-spacing:.3em;padding-left:.3em;box-sizing:border-box;color:var(--muted);margin-top:2px}.nav{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:var(--text-2);font-weight:500;transition:background .15s,color .15s}.nav a:hover{background:#b5543c12;color:var(--text)}.nav a.active{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px var(--primary-ring)}.nav-section{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);padding:14px 14px 6px}.nav .count{margin-left:auto;font-size:11px;background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:1px 8px}.nav a.active .count{background:#ffffff38;color:var(--on-primary)}.sidebar-foot{margin-top:auto;padding:20px 26px 26px;position:relative}.sidebar-foot .leaf{position:absolute;right:8px;bottom:6px;opacity:.55;pointer-events:none}.sidebar-foot .motto{font-size:10px;letter-spacing:3px;color:var(--muted);line-height:2;border-top:1px solid var(--border-strong);padding-top:18px;width:120px}.main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:16px;padding:0 28px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);min-width:0}.crumbs a:hover{color:var(--text)}.crumbs .current{color:var(--text);font-weight:500}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.menu-btn{display:none}.content{padding:24px 28px 48px;max-width:1480px;width:100%;margin:0 auto}.search{position:relative;width:300px}.search input{width:100%;height:38px;padding:0 12px 0 36px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.search>svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-results{position:absolute;top:44px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;z-index:60;max-height:60vh;overflow-y:auto}.search-results button{display:flex;width:100%;text-align:left;gap:10px;padding:10px 14px;background:none;border:0;cursor:pointer;align-items:center}.search-results button:hover,.search-results button:focus{background:var(--surface-2);outline:none}.search-results .type{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);width:56px;flex:none}.user-chip{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:4px 6px;border-radius:10px}.user-chip:hover{background:#00000008}.user-chip .who{text-align:left;line-height:1.25}.user-chip .who b{font-weight:600;font-size:13.5px;display:block}.user-chip .who span{font-size:11.5px;color:var(--muted)}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:70}.dropdown-menu button,.dropdown-menu a{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:8px;background:none;border:0;cursor:pointer;text-align:left;color:var(--text-2)}.dropdown-menu button:hover,.dropdown-menu a:hover{background:var(--surface-2);color:var(--text)}.dropdown-menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.team-switch select{height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);padding:0 30px 0 12px;font-weight:500;max-width:200px}.bottom-nav,.scrim{display:none}.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-family:var(--serif);font-size:40px;line-height:1.1;font-weight:600;letter-spacing:-.3px}.page-head .sub{color:var(--text-2);margin-top:6px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.page-head .sub span{display:inline-flex;align-items:center;gap:6px}.page-head .actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.meta-line{display:flex;gap:10px;color:var(--text-2);flex-wrap:wrap;justify-content:flex-end}.meta-line i{width:1px;background:var(--border-strong);font-style:normal}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;gap:12px;padding:18px 20px 12px;flex-wrap:wrap}.card-head h2,.card-title{font-family:var(--serif);font-size:23px;font-weight:600}.card-head .right{margin-left:auto;display:flex;align-items:center;gap:14px}.card-body{padding:0 20px 20px}.link{color:var(--primary-text);font-weight:500;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer;font-size:13px}.link:hover{color:var(--primary-hover);text-decoration:underline}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.main-side{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.spacer{flex:1}.kpi{display:flex;align-items:center;gap:18px;padding:18px 20px;position:relative}a.kpi:hover{border-color:var(--border-strong)}.kpi-icon{width:64px;height:64px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);display:grid;place-items:center;flex:none}.kpi-label{color:var(--text-2);font-weight:500}.kpi-value{font-family:var(--serif);font-size:34px;line-height:1.15;font-weight:600}.kpi-note{font-size:12.5px;color:var(--muted)}.kpi-note.overdue{color:var(--primary-text);font-weight:500}.kpi.kpi-highlight{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.kpi.kpi-highlight .kpi-icon{background:var(--primary);color:#fff}.kpi.kpi-highlight .kpi-value{color:var(--primary-text)}.kpi-dot{position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:50%;background:var(--primary);animation:kpi-pulse 1.8s ease-out infinite}@keyframes kpi-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--primary) 55%,transparent)}to{box-shadow:0 0 0 10px transparent}}@media (prefers-reduced-motion: reduce){.kpi-dot{animation:none}}.kpi .chev{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted)}.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);position:relative;padding:14px 0 4px}.lifecycle:before{content:"";position:absolute;top:25px;left:10%;right:10%;height:2px;background:var(--border-strong)}.lc-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;gap:4px}.lc-dot{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--border-strong);display:grid;place-items:center;z-index:1;color:#fff}.lc-step.done .lc-dot{background:var(--done);border-color:var(--done)}.lc-step.current .lc-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 5px var(--primary-ring)}.lc-text{display:flex;flex-direction:column;align-items:center}.lc-name{font-weight:600;margin-top:6px}.lc-date{font-size:12.5px;color:var(--muted)}.lc-step.current .lc-date{color:var(--primary-text);font-weight:500}button.lc-step{background:none;border:0;cursor:pointer;padding:0}button.lc-step:hover .lc-name{color:var(--primary-text)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:500;color:var(--text-2);font-size:12.5px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--surface-2)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.m-list{display:none}.m-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:flex-start}.m-item:last-child{border-bottom:0}.m-item .grow{flex:1;min-width:0}.m-item .title{font-weight:600}.m-item .meta{color:var(--muted);font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1.4}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.grey{background:var(--grey-bg);color:var(--grey)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.terracotta{background:var(--primary-soft);color:var(--primary-text)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--grey-bg);color:var(--text-2);display:inline-grid;place-items:center;font-size:11px;font-weight:600;flex:none;border:1px solid var(--border)}.avatar.lg{width:40px;height:40px;font-size:14px;background:var(--primary-soft);color:var(--primary-text);border:0}.avatar.xl{width:96px;height:96px;font-size:32px;background:var(--primary-soft);color:var(--primary-text);border:0;font-family:var(--serif)}.avatar.has-photo{overflow:hidden;padding:0;background:var(--surface-2)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;border:1px solid transparent;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:var(--surface);border-color:var(--primary);color:var(--primary-text);border-radius:8px}.btn-outline:hover:not(:disabled){background:var(--primary-soft)}.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border);border-radius:8px}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:#b23b3b;color:#fff;border-radius:8px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.icon-btn{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;border:0;background:transparent;color:var(--text-2);cursor:pointer;flex:none}.icon-btn:hover{background:#0000000d;color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-weight:500;font-size:13px;color:var(--text-2)}.field .req{color:var(--primary-text)}.field .hint{font-size:12px;color:var(--muted)}.field .err{font-size:12px;color:var(--red)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:88px;padding:10px 12px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid .full{grid-column:1 / -1}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--primary)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filters .input,.filters .select{width:auto;min-width:160px;height:38px}.filters .search-input{min-width:240px;flex:1;max-width:360px}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin:0 20px;overflow-x:auto}.tabs button{background:none;border:0;padding:10px 0;color:var(--text-2);cursor:pointer;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:var(--primary-text);border-color:var(--primary)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border-strong);background:var(--surface);padding:6px 12px;border-radius:999px;cursor:pointer;font-weight:500;font-size:13px;color:var(--text-2)}.chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip .n{opacity:.7;margin-left:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#23190f61;z-index:100;display:grid;place-items:center;padding:20px;animation:fade .15s}.modal{background:var(--surface);border-radius:16px;width:min(640px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:rise .18s ease-out}.modal.wide{width:min(860px,100%)}.modal-head{display:flex;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);gap:12px}.modal-head h3{font-family:var(--serif);font-size:24px}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(12px);opacity:0}}.empty{text-align:center;padding:36px 20px;color:var(--muted)}.empty svg{margin:0 auto 10px;color:var(--border-strong)}.empty b{display:block;color:var(--text-2);font-weight:600;margin-bottom:4px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--primary);animation:spin .7s linear infinite}.center{display:grid;place-items:center;padding:48px}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:10px 14px;border-radius:var(--radius-sm);background:var(--red-bg);color:var(--red);font-size:13px}.alert.info{background:var(--blue-bg);color:var(--blue)}.alert.warn{background:var(--amber-bg);color:var(--amber)}.progress-bar{height:8px;background:var(--primary-soft);border-radius:999px;overflow:hidden}.progress-bar>div{height:100%;background:var(--primary);border-radius:999px}.toast-stack{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--toast-bg);color:#fff;padding:10px 18px;border-radius:10px;box-shadow:var(--shadow-lg);animation:rise .2s;font-size:13.5px}.toast.error{background:var(--red)}.thumb{width:60px;height:44px;border-radius:6px;overflow:hidden;background:var(--grey-bg);flex:none;display:grid;place-items:center;color:var(--muted);border:1px solid var(--border)}.thumb img{width:100%;height:100%;object-fit:cover}.file-tile{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);display:flex;flex-direction:column}.file-tile .preview{height:128px;background:var(--surface-2);position:relative;display:grid;place-items:center;color:var(--muted);overflow:hidden}.file-tile .preview img{width:100%;height:100%;object-fit:cover}.file-tile .ver{position:absolute;left:8px;bottom:8px;background:#2b2724cc;color:#fff;font-size:11px;padding:2px 7px;border-radius:5px}.file-tile .info{padding:10px 12px;display:flex;gap:6px;align-items:flex-start}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1;min-width:0}.code-tag{display:inline-block;font-weight:600;font-size:12px;background:var(--grey-bg);padding:2px 7px;border-radius:5px}.code-tag.hot{background:var(--primary);color:var(--on-primary)}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}.stage-bars{display:flex;flex-direction:column;gap:10px}.stage-bars .bar-row{display:grid;grid-template-columns:110px 1fr 28px;gap:10px;align-items:center;font-size:13px}.public-page{min-height:100%;background:var(--bg)}.public-hero{background:linear-gradient(160deg,var(--hero-from) 0%,var(--bg) 60%);border-bottom:1px solid var(--border);padding:44px 20px 36px;text-align:center}.public-hero h1{font-family:var(--serif);font-size:46px;font-weight:600;margin-top:14px;line-height:1.1}.public-hero p{color:var(--text-2);max-width:560px;margin:10px auto 0;font-size:15px}.public-wrap{max-width:860px;margin:-10px auto 0;padding:0 16px 60px}.public-foot{text-align:center;color:var(--muted);font-size:12px;letter-spacing:2px;padding:24px}.login-wrap{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;position:relative;overflow:hidden}.login-art blockquote{font-family:var(--serif);font-size:30px;max-width:420px;text-align:center;margin:30px 0 0;line-height:1.3;color:var(--text-2)}.login-form{display:grid;place-items:center;padding:32px 20px}.login-card{width:min(400px,100%)}.login-card h1{font-family:var(--serif);font-size:38px}@media print{.sidebar,.topbar,.bottom-nav,.no-print{display:none!important}.main{margin:0!important}.content{padding:0!important}.card{box-shadow:none;border:0}body{background:#fff}:root[data-theme=dark]{--bg: #fff;--surface: #fff;--surface-2: #fbf8f4;--border: #ece4da;--border-strong: #ddd2c4;--text: #2b2724;--text-2: #5a524c;--muted: #8a8079;color-scheme:light}body:has(.modal-backdrop) #root{display:none}.modal-backdrop{position:static;background:none;padding:0;display:block}.modal{box-shadow:none;max-height:none;width:100%!important;border-radius:0}.modal-head,.modal-foot{display:none!important}.modal-body{overflow:visible}}@media (max-width: 1280px){.kpis,.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:220px}}@media (max-width: 1024px){.main-side,.two-col{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#23190f59;z-index:35}.main{margin-left:0}.menu-btn{display:inline-grid}.topbar{padding:0 12px;gap:8px}.crumbs{display:none}.mobile-title{font-family:var(--serif);font-size:22px;font-weight:600}.search{width:auto;flex:1;max-width:none}.user-chip .who,.user-chip .chev{display:none}.team-switch select{max-width:120px}.content{padding:16px 16px calc(var(--bottom-nav-h) + 28px)}.page-head h1{font-size:32px}.page-head .actions{margin-left:0;width:100%}.meta-line{justify-content:flex-start}.three-col{grid-template-columns:minmax(0,1fr)}.bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;color:var(--muted);background:none;border:0;cursor:pointer}.bottom-nav a.active{color:var(--primary-text);font-weight:600}.lifecycle{grid-template-columns:1fr;gap:14px;padding:4px 0}.lifecycle:before{top:12px;bottom:12px;left:11px;right:auto;width:2px;height:auto}.lc-step{flex-direction:row;text-align:left;gap:12px;align-items:center}.lc-step .lc-name{margin-top:0}.lc-text{align-items:flex-start}.desktop-only{display:none!important}.m-list{display:block}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.public-hero h1{font-size:34px}}@media (max-width: 640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi{padding:14px}.kpis .kpi-icon,.kpis .kpi>svg:first-child,.kpis .kpi .chev{display:none}.kpi-value{font-size:24px}.kpi-label{font-size:12.5px}.form-grid{grid-template-columns:minmax(0,1fr)}.modal-backdrop{padding:0;align-items:end}.modal,.modal.wide{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.filters .input,.filters .select,.filters .search-input{min-width:0;flex:1 1 140px;max-width:none}.card-head{padding:16px 16px 10px}.card-body{padding:0 16px 16px}.tabs{margin:0 16px}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 901px){.mobile-only{display:none!important}}.brand-logo{width:96px;height:76px;overflow:hidden;flex:none}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.access-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.access-row{display:contents}.access-row>*{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center}.access-row:last-child>*{border-bottom:0}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--text-2);cursor:pointer}.seg button+button{border-left:1px solid var(--border-strong)}.seg button.on.none{background:var(--grey-bg);color:var(--text)}.seg button.on.view{background:var(--blue-bg);color:var(--blue)}.seg button.on.edit{background:var(--primary);color:var(--on-primary)}.swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--text)}.no-access{max-width:460px;margin:60px auto;text-align:center}@media (max-width: 640px){.access-grid{grid-template-columns:minmax(0,1fr)}.access-row>:first-child{border-bottom:0;padding-bottom:2px}}[hidden]{display:none!important}.rgb-row{display:grid;grid-template-columns:18px minmax(0,1fr) 64px;gap:10px;align-items:center}.rgb-row b{font-size:12px;color:var(--text-2)}.rgb-row input[type=range]{width:100%;height:8px;border-radius:999px;-moz-appearance:none;appearance:none;-webkit-appearance:none;outline:none}.rgb-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--text);cursor:pointer}.rgb-row input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--text);cursor:pointer}.rgb-row .input{height:32px;padding:0 8px;text-align:right}.color-chip{width:44px;height:44px;border-radius:10px;border:1px solid var(--border-strong);flex:none}.dropdown-menu.floating{position:fixed;right:auto;width:220px;z-index:150;max-height:70vh;overflow-y:auto}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:#120f0df0;display:flex;flex-direction:column;color:#f3eee8;animation:fade .15s}.viewer-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.viewer-title{display:flex;flex-direction:column;min-width:0;flex:1}.viewer-title .small{color:#b9b0a6}.viewer-count{color:#b9b0a6;white-space:nowrap}.viewer-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:inherit;cursor:pointer}.viewer-btn:hover{background:#ffffff24}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:16px 64px}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:10px;background:#14110f8c;color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2;box-shadow:0 2px 10px #00000040}.viewer-nav:hover{background:#14110fcc}.viewer-nav.left{left:10px}.viewer-nav.right{right:10px}.viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;background:repeating-conic-gradient(#3a3430,#3a3430 25%,#2b2623 0%,#2b2623 50%) 50% / 20px 20px}.viewer-doc{width:min(1100px,100%);height:100%;display:flex;flex-direction:column;gap:8px}.viewer-frame{flex:1;width:100%;border:0;border-radius:6px;background:#fff}.viewer-note{font-size:12.5px;color:#e3c9a8}.viewer-paper{background:#fff;color:#2b2724;border-radius:6px;padding:20px;overflow:auto}.viewer-text{margin:0;white-space:pre-wrap;word-break:break-word;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.viewer-docx{max-width:780px;margin:0 auto;line-height:1.6}.viewer-docx img{max-width:100%;height:auto}.viewer-docx table{border-collapse:collapse}.viewer-docx td,.viewer-docx th{border:1px solid #ddd;padding:4px 8px}.viewer-sheet{overflow:auto;max-height:calc(100vh - 170px);border:1px solid #e5e0d9;border-radius:4px}.viewer-sheet table{border-collapse:collapse;font-size:12.5px}.viewer-sheet th,.viewer-sheet td{border:1px solid #e5e0d9;padding:4px 8px;white-space:nowrap;text-align:left}.viewer-sheet thead th,.viewer-sheet tbody th{background:#f4f1ec;color:#7a716a;font-weight:500;position:sticky;top:0}.viewer-sheet tbody th{left:0;position:sticky}.viewer-dxf{width:100%;height:calc(100vh - 210px);background:#fbfaf7;color:#2b2724;border-radius:4px}.viewer-msg{display:flex;align-items:center;gap:10px;color:#d8d0c7}.viewer-card{text-align:center;max-width:440px;color:#e9e2da;display:flex;flex-direction:column;align-items:center;gap:6px}.viewer-card p{color:#c8bfb5}.spin{animation:spin .8s linear infinite}@media (max-width: 640px){.viewer-stage{padding:8px}.viewer-nav{width:36px;height:52px}}.file-tile{position:relative}.file-tile.selected{outline:2px solid var(--primary);outline-offset:-1px}.file-check{position:absolute;top:8px;left:8px;z-index:2;width:22px;height:22px;accent-color:var(--primary);cursor:pointer}.select-bar{position:sticky;top:calc(var(--topbar-h) + 8px);z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:14px;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.viewer-pdf{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.viewer-pdf-page{max-width:100%;height:auto;box-shadow:0 2px 10px #00000026;background:#fff}.invoice-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.invoice-paper{background:var(--surface-2);border-radius:var(--radius);padding:14px;min-height:300px}.invoice-side .kv dd{word-break:break-word}.pay-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pay-list li{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}.check-row input{margin-top:3px;accent-color:var(--primary);width:16px;height:16px;flex:none}@media (max-width: 860px){.invoice-layout{grid-template-columns:1fr}.invoice-paper{padding:6px}}.invoice-image{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 2px 10px #0000001f;background:#fff}.welcome{min-height:100%;background:var(--bg);color:var(--text);display:flex;flex-direction:column}.welcome-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 24px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.welcome-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.welcome-brand .brand-logo,.welcome-brand .brand-mark{flex:none}.welcome-brand-name{font-family:var(--serif);font-size:18px;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.welcome-hero{padding:72px 20px 80px;text-align:center;background:var(--bg-sidebar);border-bottom:1px solid var(--border);background-size:cover;background-position:center;position:relative}.welcome-hero.has-cover{color:#fff;padding:120px 20px 130px}.welcome-hero.has-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#14100c59,#14100c99)}.welcome-hero-inner{position:relative;max-width:760px;margin:0 auto}.welcome-studio{font-family:var(--serif);font-size:30px;letter-spacing:.16em}.welcome-tagline{font-size:11px;letter-spacing:.32em;opacity:.75;margin-top:4px}.welcome-headline{font-family:var(--serif);font-weight:600;font-size:clamp(34px,6vw,58px);line-height:1.08;margin:28px 0 14px}.welcome-intro{font-size:17px;line-height:1.6;max-width:620px;margin:0 auto;opacity:.88;white-space:pre-line}.welcome-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.welcome-hero.has-cover .btn-outline{color:#fff;border-color:#ffffffb3;background:transparent}.welcome-section{width:100%;max-width:1120px;margin:0 auto;padding:64px 20px 20px}.welcome-h2{font-family:var(--serif);font-weight:600;font-size:36px;text-align:center;margin:0 0 28px}.welcome-sub{text-align:center;color:var(--text-2);margin:8px auto 30px;max-width:560px}.welcome-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.welcome-team{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 22px 24px;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--team, var(--primary));border-radius:14px;box-shadow:var(--shadow)}.welcome-team-mark{margin-bottom:8px}.welcome-team-name{font-family:var(--serif);font-size:22px;letter-spacing:.12em}.welcome-team-tag{font-size:9.5px;letter-spacing:.28em;color:var(--muted)}.welcome-team-blurb{color:var(--text-2);margin:10px 0 4px;line-height:1.55}.welcome-team .btn{margin-top:14px}.welcome-contact-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;margin-top:24px}.welcome-contact-grid>*{display:flex;align-items:flex-start;gap:10px;color:var(--text);text-decoration:none;font-size:16px}.welcome-contact-grid svg{color:var(--primary);flex:none;margin-top:2px}.welcome-footer{margin-top:auto;padding:40px 20px 28px;text-align:center;color:var(--muted);font-size:13px}@media (max-width: 640px){.welcome-bar{padding:10px 16px}.welcome-brand-name{font-size:15px}.welcome-hero{padding:48px 16px 56px}.welcome-hero.has-cover{padding:80px 16px 90px}.welcome-section{padding:48px 16px 12px}.welcome-h2{font-size:30px}}.site-team-row{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px}.site-team-row.hidden-row{opacity:.6}.site-section{padding:0}.site-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:none;border:0;cursor:pointer;color:var(--text);text-align:left}.site-section-body{padding:0 20px 20px}.site-list-item{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface)}.site-thumb{width:120px;height:80px;border-radius:8px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;flex:none}.site-thumb img{width:100%;height:100%;display:block}.site-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.site-gallery-item{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:var(--surface-2)}.site-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.site-gallery-actions{position:absolute;right:4px;bottom:4px;display:flex;gap:4px}.site-gallery-actions button,.site-picker-del{width:24px;height:24px;border-radius:6px;border:0;background:#0009;color:#fff;display:grid;place-items:center;cursor:pointer}.site-gallery-actions button:disabled{opacity:.35;cursor:default}.site-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.site-picker-item{position:relative}.site-picker-item>button:first-child{display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--surface-2)}.site-picker-item>button:first-child:hover{border-color:var(--primary)}.site-picker-item img{width:100%;height:100%;object-fit:cover;display:block}.site-picker-del{position:absolute;top:6px;right:6px}.site-save-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}@media (max-width: 900px){.site-save-bar{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 8px)}}.site-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;flex:none;font-weight:600;color:var(--text-2)}.site-avatar img{width:100%;height:100%;object-fit:cover}.site-list-item.hidden-row{opacity:.7}.web-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.web-row:last-child{border-bottom:0}.web-mark{width:40px;height:40px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;overflow:hidden;flex:none}.web-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.web-switch{display:inline-flex;align-items:center;gap:8px;border:0;background:none;cursor:pointer;padding:4px;color:var(--text-2);font:inherit}.web-switch span{width:40px;height:22px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .2s}.web-switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.web-switch.on span{background:var(--primary)}.web-switch.on span:after{transform:translate(18px)}.web-switch em{font-style:normal;font-size:13px;min-width:24px}.web-switch:disabled{opacity:.6}.confirm-backdrop{z-index:200}.modal.confirm{width:min(440px,100%);border-radius:16px}.confirm-body{display:flex;gap:14px;padding:22px 22px 6px}.confirm-body h3{margin:2px 0 0;font-size:17px;line-height:1.35;font-weight:600}.confirm-body p{margin:6px 0 0;color:var(--text-2);font-size:14px;line-height:1.5}.confirm-ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--primary-ring);color:var(--primary)}.confirm-ico.danger{background:#b23b3b1f;color:#b23b3b}.confirm-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 20px}@media (max-width: 720px){.confirm-backdrop{align-items:center!important;padding:20px!important}.modal.confirm{width:100%!important;border-radius:16px!important;max-height:none}.confirm-foot .btn{flex:1;justify-content:center}}.select,.team-switch select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;color:inherit;font:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8079' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}.team-switch select{padding-right:32px;background-position:right 10px center}.select::-ms-expand{display:none}.team-switch{position:relative;display:inline-flex;align-items:center}.team-switch>svg{position:absolute;left:11px;pointer-events:none}.team-switch select{padding-left:32px}.viewing-banner{position:sticky;top:var(--topbar-h);z-index:25;display:flex;align-items:center;gap:10px;padding:9px clamp(16px,3vw,32px);background:var(--amber-bg);color:var(--amber);border-bottom:1px solid color-mix(in srgb,var(--amber) 22%,transparent);font-size:13.5px}.viewing-banner>span{flex:1;min-width:0}.viewing-exit{background:var(--surface);color:var(--text);border:1px solid var(--border);flex:none}.viewing-exit:hover{border-color:var(--amber)}@media (max-width: 720px){.viewing-note{display:none}}.sa-firms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.sa-firm{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.sa-firm-head{display:flex;align-items:center;gap:12px;min-width:0}.sa-firm-mark{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;overflow:hidden;background:var(--bg-sidebar);font-weight:600;font-size:14px}.sa-firm-mark img{width:100%;height:100%;object-fit:contain}.sa-firm-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;color:var(--text-2)}.sa-firm-view{align-self:flex-start}.sa-activity{display:flex;flex-direction:column}.sa-activity-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.sa-activity-row:last-child{border-bottom:0}fieldset.view-only{border:0;padding:0;margin:0;min-width:0}fieldset.view-only .btn-primary{display:none}.amt-mask{letter-spacing:.08em;color:var(--text-2);white-space:nowrap}.amt-eye{width:28px;height:28px;vertical-align:middle;color:var(--muted)}.amt-eye:hover{color:var(--primary)}.kpi-label .amt-eye{width:24px;height:24px;margin-left:2px}.amt-switch{border:1px solid var(--border);background:var(--surface);color:var(--text)}.amt-switch:hover{border-color:var(--primary);color:var(--primary)}.amt-switch.on{background:var(--primary-soft, var(--surface-2));border-color:var(--primary);color:var(--primary)}.amt-reveal{font:inherit;background:none;border:0;padding:0;cursor:pointer;border-bottom:1px dashed transparent}.amt-reveal:hover{color:var(--primary);border-bottom-color:currentColor}.invoice-image.masked{filter:blur(9px);transition:filter .25s}.invoice-image{transition:filter .25s}.adj-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px}@media (max-width: 760px){.adj-grid{grid-template-columns:1fr}}.adj-stage{display:grid;place-items:center;background:var(--surface-2);border-radius:12px;padding:12px}.adj-photo{position:relative;display:inline-block;max-width:100%;cursor:crosshair;user-select:none;-webkit-user-select:none;line-height:0}.adj-photo img{display:block;max-width:100%;max-height:56vh;width:auto;height:auto;border-radius:6px;pointer-events:none}.adj-dot{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--primary),0 4px 14px #00000059;background:#ffffff40;pointer-events:none}.adj-previews{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:10px;align-items:end}.adj-previews figure{margin:0}.adj-previews figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}.adj-prev{overflow:hidden;border-radius:8px;background:var(--surface-2)}.adj-prev.arch{border-radius:999px 999px 8px 8px}.adj-prev img{width:100%;height:100%;object-fit:cover;display:block}.adj-photo.crop{cursor:default}.crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #140e0a8c;cursor:move;touch-action:none}.crop-box:before,.crop-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,transparent 33.2%,rgba(255,255,255,.45) 33.3%,transparent 33.5%,transparent 66.5%,rgba(255,255,255,.45) 66.6%,transparent 66.8%)}.crop-box:after{background:linear-gradient(to bottom,transparent 33.2%,rgba(255,255,255,.45) 33.3%,transparent 33.5%,transparent 66.5%,rgba(255,255,255,.45) 66.6%,transparent 66.8%)}.crop-handle{position:absolute;width:18px;height:18px;background:#fff;border-radius:4px;box-shadow:0 1px 4px #0006;touch-action:none}.crop-handle.nw{left:-9px;top:-9px;cursor:nwse-resize}.crop-handle.ne{right:-9px;top:-9px;cursor:nesw-resize}.crop-handle.sw{left:-9px;bottom:-9px;cursor:nesw-resize}.crop-handle.se{right:-9px;bottom:-9px;cursor:nwse-resize}.adj-photo.crop{overflow:hidden;border-radius:6px}.contact-icons{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.contact-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:background .15s,color .15s,border-color .15s}.contact-icons.sm .contact-ico{width:28px;height:28px}.contact-ico.call:hover{background:var(--primary-soft);color:var(--primary-text);border-color:transparent}.contact-ico.wa:hover{background:#25d366;color:#fff;border-color:transparent}.contact-ico.mail:hover{background:var(--blue-bg);color:var(--blue);border-color:transparent}.site-thumb video,.site-gallery-item video,.site-picker-item video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.exp-date{width:64px;flex:none}.exp-types{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px}.exp-type{display:inline-flex;gap:8px;align-items:baseline;font-size:13.5px;color:var(--text-2)}.exp-type b{color:var(--text);font-weight:600}@media (max-width: 720px){.exp-breakdown{grid-column:auto!important}}.exp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.exp-outsider{display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;background:var(--amber-bg);color:var(--amber);font-weight:500;font-size:12px}.geo-gate{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.geo-card{width:min(480px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.geo-card h2{margin:4px 0 0;font-family:var(--serif);font-size:26px;font-weight:600}.geo-card p{margin:0;line-height:1.55}.geo-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text)}.geo-steps{text-align:left;margin:4px 0;padding-left:18px;color:var(--text-2);font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:8px}.geo-out{margin-top:4px}.presence{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:130px;text-align:right}.presence-on{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:600}.presence-on i{width:8px;height:8px;border-radius:50%;background:#2fa66a;box-shadow:0 0 0 3px #2fa66a2e}@media (max-width: 720px){.presence{align-items:flex-start;text-align:left;min-width:0}}.online-now{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 14px;margin-bottom:18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.online-people{display:flex;flex-wrap:wrap;gap:6px 14px}.loc-switch{gap:6px;margin-top:8px;cursor:pointer;color:var(--text-2);width:fit-content}.loc-switch input{width:16px;height:16px;accent-color:var(--primary)}.act-time{width:52px;padding-top:6px;flex:none}.act-time-inline{display:none}.act-row .grow{overflow-wrap:anywhere}.act-place{display:flex;align-items:center;flex-wrap:wrap;gap:2px 5px;margin-top:2px}.act-place>span{white-space:nowrap}.act-date{gap:6px}.act-date .input{width:150px}.act-search{width:auto;flex:1;max-width:300px}@media (max-width: 600px){.act-time{display:none}.act-time-inline{display:inline;margin-left:auto}.act-filters{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.act-filters>.select,.act-filters>.act-search{grid-column:1 / -1;max-width:none}.act-date{flex-direction:column;align-items:stretch;gap:4px;min-width:0}.act-date .input{width:100%;min-width:0;flex:none;height:40px}}.receipt-actions{display:flex;flex-wrap:wrap;gap:2px 4px;margin:6px 0 0 -8px}.receipt-actions .btn{height:30px;padding:0 8px;font-size:12.5px}.contract-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.contract-kv{grid-template-columns:150px 1fr;margin-bottom:14px}.contract-scroll{max-height:46vh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 18px 14px;background:var(--surface-2)}.contract-text h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:16px 0 6px}.contract-text p{margin:0 0 10px;line-height:1.65}.contract-text ul{margin:0 0 10px;padding-left:20px}.contract-text li{margin-bottom:5px;line-height:1.6}.signed-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:14px;border-radius:var(--radius-sm);background:var(--green-bg);color:var(--green)}.signed-box>div{color:var(--text)}.mono-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55}.agreement-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:18px;border-radius:var(--radius-sm);font-size:13.5px;border:1px solid var(--border);background:var(--surface)}.agreement-strip.ok{background:var(--green-bg);color:var(--green);border-color:transparent}.agreement-strip.wait{background:var(--amber-bg);color:var(--amber);border-color:transparent}.agreement-strip span{color:var(--text);flex:1;min-width:200px}.portal-agreement{border-radius:16px;border:1px solid var(--border);background:var(--surface);padding:clamp(18px,3vw,28px)}.portal-agreement.todo{border:2px solid var(--primary);box-shadow:0 20px 50px -30px #2a211b59}.portal-agreement-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.portal-agreement-head h2{margin:2px 0 4px;font-family:var(--serif);font-size:26px;font-weight:600}.portal-agreement-head p{margin:0}.portal-scroll{max-height:52vh;background:var(--surface-2)}.portal-agree{gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer}.portal-agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);flex:none}.portal-agree.disabled{opacity:.5;cursor:not-allowed}.signature-pad{display:block;width:100%;height:170px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1.5px dashed var(--border-strong);border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}.signature-pad.disabled{opacity:.45;cursor:not-allowed}.portal-agreement.signed{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--green-bg);border-color:transparent;color:var(--green)}.portal-agreement.signed>div{flex:1;color:var(--text);min-width:200px}.portal-agreement.signed>.portal-agreement-text{flex:1 1 100%;color:var(--text);background:var(--surface);border-radius:10px;padding:6px 18px 14px;max-height:50vh;overflow:auto}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;cursor:progress;display:grid;place-items:center;background:transparent;transition:background .15s}.busy-overlay.show{background:#14100e2e}.busy-card{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);font-weight:500}.test-strip{position:fixed;left:0;right:0;bottom:0;z-index:900;pointer-events:none;text-align:center;padding:5px 12px;font:600 11.5px/1.3 system-ui,sans-serif;letter-spacing:.06em;color:#3b2a00;background:repeating-linear-gradient(-45deg,#ffd43b 0,#ffd43b 14px,#fcc419 14px,#fcc419 28px);box-shadow:0 -2px 8px #00000026}@media (max-width: 768px){.test-strip{bottom:auto;top:0;font-size:10.5px}}.storage-warning{margin-bottom:16px;gap:10px}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.usage-card{padding:18px 20px;display:flex;flex-direction:column;gap:10px}.usage-card.over{border-color:var(--red)}.usage-card.near{border-color:var(--amber)}.usage-figure{line-height:1.2}.usage-used{font-family:var(--serif);font-size:30px;font-weight:600}.usage-bar{height:10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.usage-bar span{display:block;height:100%;background:var(--primary);border-radius:999px}.usage-bar.near span{background:var(--amber)}.usage-bar.over span{background:var(--red)}.usage-areas{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--border)}.usage-areas li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.usage-areas li span:last-child{color:var(--text-2);font-variant-numeric:tabular-nums}.tips{margin:0;padding-left:18px;display:grid;gap:8px}.table tr.row-alert td{background:var(--red-bg)}
