:root{--paper: #efece4;--paper-2: #e8e4d8;--paper-3: #dfdacb;--ink: #1f1b17;--ink-soft: #3b342c;--muted: #6a6155;--muted-2: #8a8275;--crimson: #6E1414;--crimson-dark: #5a0f0f;--crimson-ink: #4a0e0e;--cream: #faf3e7;--green: #2d5a3d;--rule: rgba(31,27,23,.45);--rule-light: rgba(31,27,23,.22);--max: 1360px;--ease: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}html{scroll-behavior:smooth}::selection{background:var(--crimson);color:var(--cream)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}.serif{font-family:Funnel Display,serif;font-weight:700;letter-spacing:-.015em}.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.eyebrow:before{content:"";width:22px;height:1px;background:var(--ink);display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Inter,sans-serif;font-weight:500;font-size:13px;border-radius:2px;padding:10px 16px;border:1px solid transparent;cursor:pointer;letter-spacing:.01em;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease),transform .15s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn-crimson{background:var(--crimson);color:var(--cream)}.btn-crimson:hover{background:var(--crimson-dark);box-shadow:0 4px 16px color-mix(in srgb,var(--crimson) 35%,transparent)}.btn-ghost{border-color:var(--rule);background:transparent;color:var(--ink)}.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--cream)}.btn-cream{background:var(--cream);color:var(--crimson)}.btn-cream:hover{background:#fff;box-shadow:0 4px 16px #0000001f}.btn-outline{color:var(--cream);border:1px solid rgba(250,243,231,.35)}.btn-outline:hover{border-color:var(--cream);background:var(--cream);color:var(--crimson)}.btn-lg{padding:16px 24px;font-size:14px}.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}.topbar .inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:26px;height:26px;background:url(/logo-mark.png) center / contain no-repeat;flex-shrink:0}.logo-wordmark{height:28px;width:auto;display:block;flex-shrink:0}.logo-sub{margin-left:10px;padding-left:10px;border-left:1px solid var(--rule-light);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav a{position:relative;padding:4px 0}.nav a:hover,.nav a.current{color:var(--crimson)}.nav a.current:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--crimson)}.nav .phone{color:var(--muted);font-variant-numeric:tabular-nums}.nav a.btn{padding:10px 16px}.nav a.btn.current:after{display:none}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.nav-toggle span{width:22px;height:1.5px;background:var(--ink);display:block;transition:all .2s}.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-nav{display:none;position:fixed;inset:60px 0 0;z-index:45;background:var(--paper);padding:32px 40px;flex-direction:column;gap:0;border-top:1px solid var(--rule)}.mobile-nav.open{display:flex}.mobile-nav a{padding:18px 0;font-size:22px;font-family:Funnel Display,serif;font-weight:700;border-bottom:1px solid var(--rule-light);color:var(--ink);letter-spacing:-.01em}.mobile-nav a:hover,.mobile-nav a.current{color:var(--crimson)}.mobile-nav .phone{font-family:Inter,sans-serif;font-size:14px;font-weight:400;color:var(--muted);margin-top:24px;border-bottom:none;padding-bottom:0}.mobile-nav .drawer-btns{display:flex;flex-direction:column;gap:10px;margin-top:24px}.mobile-nav .drawer-btns .btn{width:100%;justify-content:center;text-align:center}.topbar .phone-link{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--ink-soft);white-space:nowrap;padding:6px 4px;margin-right:4px;transition:color .15s}.topbar .phone-link svg{color:var(--crimson)}.topbar .phone-link:hover{color:var(--ink)}.topbar .mobile-cta,.topbar .mobile-cta-secondary{display:none;padding:10px 12px;font-size:13px;font-weight:600;letter-spacing:-.005em;white-space:nowrap}footer{padding:64px 0 40px;color:var(--muted);font-size:13px}footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:48px;border-bottom:1px solid var(--rule)}footer h5{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 18px;font-weight:600}footer ul{padding:0;margin:0;list-style:none}footer li{padding:6px 0;font-size:14px;color:var(--ink-soft)}footer li:hover{color:var(--crimson);cursor:pointer}footer .brand .logo-wordmark{height:36px}footer .brand p{font-size:14px;line-height:1.55;color:var(--ink-soft);max-width:340px;margin:20px 0 0}footer .bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;font-size:12px;flex-wrap:wrap;gap:12px}.finale,.next-cta{background:var(--crimson);color:var(--cream);padding:96px 0 120px}.finale .inner,.next-cta .inner{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}.finale h2,.next-cta h2{font-family:Funnel Display,serif;font-weight:800;font-size:clamp(48px,5.6vw,80px);line-height:.98;letter-spacing:-.025em;margin:16px 0 0}.finale h2 em,.next-cta h2 em{font-style:italic;color:#f2c9c9}.finale .eyebrow,.next-cta .eyebrow{color:#f2c9c9}.finale .eyebrow:before,.next-cta .eyebrow:before{background:var(--cream)}.finale p,.next-cta p{font-size:17px;line-height:1.6;color:#f4dcd0;margin:24px 0 0;max-width:460px}.finale .right,.next-cta .right{display:flex;flex-direction:column;gap:14px;align-items:flex-end}.finale .right .btn,.next-cta .right .btn{padding:18px 28px;font-size:14px}.finale .right .call-link,.next-cta .right .call-link{margin-top:10px;font-size:14px;color:var(--cream);border-bottom:1px dotted rgba(250,243,231,.45);padding-bottom:2px;text-align:right;transition:border-color .15s,color .15s}.finale .right .call-link:hover,.next-cta .right .call-link:hover{border-bottom-color:var(--cream);color:#fff}.finale .right .note,.next-cta .right .note{font-size:12px;color:#e8b7a8;letter-spacing:.04em;text-align:right;margin-top:4px}@media(max-width:1100px){.nav a:not(.phone):not(.btn):not(.phone-link){display:none}.nav-toggle{display:flex}footer .cols{grid-template-columns:1fr 1fr!important;gap:40px!important}.finale .inner,.next-cta .inner{grid-template-columns:1fr!important;gap:48px!important}.finale .right,.next-cta .right{align-items:stretch}.finale .right .btn,.next-cta .right .btn{width:100%;justify-content:center}.finale .right .call-link,.next-cta .right .call-link{text-align:left;align-self:flex-start}.finale .right .note,.next-cta .right .note{text-align:left}}@media(max-width:768px){.logo-sub,.nav .phone-link,.nav .btn{display:none}.topbar .inner{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"logo toggle" "sec  pri";align-items:center;column-gap:10px;row-gap:10px;padding:12px 20px}.topbar .logo{grid-area:logo;justify-self:start}.topbar .nav-toggle{grid-area:toggle;justify-self:end}.topbar .mobile-cta-secondary{grid-area:sec;display:inline-flex;width:100%;justify-content:center}.topbar .mobile-cta{grid-area:pri;display:inline-flex;width:100%;justify-content:center}.topbar .nav{display:none}.mobile-nav{padding:24px 20px;top:110px}}@media(max-width:640px){.wrap{padding:0 20px}footer .cols{grid-template-columns:1fr!important}}@media(max-width:768px){h1{font-size:clamp(34px,9.2vw,48px)!important;line-height:1.05;letter-spacing:-.02em}h2{font-size:clamp(28px,7.4vw,40px)!important;line-height:1.05;letter-spacing:-.02em}h3{font-size:17px!important;line-height:1.25}.eyebrow{font-size:11px!important;margin-bottom:6px!important}.dek,.blurb,.lede{font-size:15.5px!important;line-height:1.55!important}p{line-height:1.55}.hero,.how,.services,.case,.case-home,.trust,.coverage,.project,.finale,.next-cta,.book-hero,.thanks-hero,.sched-hero,.problem,.case-callout,.twin,.features,.principles,.timeline-section,.work-hero,.cases,.approach,.related,.cs-hero,.cs-body,.head,.category-band,.service,.about-hero,.facts{padding-top:48px!important;padding-bottom:56px!important}.bridge{padding:32px 0!important}.logos{padding:24px 0!important}.services-head,.how-head,.case-grid,.coverage-grid,.project-grid{gap:28px!important}.step,.svc,.biz,.trust .cell{padding:22px!important}.how-steps{gap:0!important}footer{padding:40px 0 28px!important}footer .cols{gap:32px!important;padding-bottom:32px!important}.btn-lg{padding:14px 20px!important;font-size:14px!important}.glance-inner{padding:32px 0!important}}.hero-left>h1,.hero-left>.hero-subtitle,.hero-left>.dek,.hero-left>.trust-line,.hero-left>.hero-ctas,.hero-left>.paths,.booking{opacity:0}.no-js .hero-left>h1,.no-js .hero-left>.hero-subtitle,.no-js .hero-left>.dek,.no-js .hero-left>.trust-line,.no-js .hero-left>.hero-ctas,.no-js .hero-left>.paths,.no-js .booking{opacity:1}.chat-launcher{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;background:var(--ink);color:var(--cream);border-radius:999px;cursor:pointer;box-shadow:0 14px 40px -12px #0006,0 2px 6px #0000002e;transition:transform .15s ease,box-shadow .15s ease,opacity .25s ease;max-width:calc(100vw - 32px)}.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 48px -12px #00000080,0 3px 8px #00000038}.chat-launcher:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.chat-launcher.is-loading{opacity:0;pointer-events:none}.chat-launcher.is-online,.chat-launcher.is-offline{opacity:1;pointer-events:auto}.chat-launcher .avatar{position:relative;width:40px;height:40px;border-radius:50%;background-size:112% auto;background-position:center 35%;background-repeat:no-repeat;flex-shrink:0;background-color:var(--paper-2)}.chat-launcher .status-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:50%;background:var(--muted-2);border:2px solid var(--ink);transition:background .25s ease}.chat-launcher.is-online .status-dot{background:#4ade80;box-shadow:0 0 #4ade808c;animation:chat-pulse 2s ease-out infinite}.chat-launcher.is-offline .status-dot{background:#c8a96a}@keyframes chat-pulse{0%{box-shadow:0 0 #4ade808c}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}.chat-launcher .msg{font-size:13px;line-height:1.25;min-width:0}.chat-launcher .msg-title{display:block;font-family:Funnel Display,serif;font-weight:700;font-size:14px;white-space:nowrap}.chat-launcher .msg-sub{color:#d8cec0;font-size:12px;white-space:nowrap}.chat-launcher .close{background:transparent;border:0;color:var(--muted-2);font-size:18px;line-height:1;margin-left:4px;padding:0 6px;cursor:pointer;transition:color .15s;align-self:stretch;display:inline-flex;align-items:center}.chat-launcher .close:hover{color:var(--cream)}@media(max-width:640px){.chat-launcher{bottom:16px;right:16px;padding:8px 12px 8px 8px;gap:10px}.chat-launcher .avatar{width:36px;height:36px}.chat-launcher .msg-sub{display:none}}.arrow-icon{display:inline-block;height:1.1em;width:1.1em;overflow:visible;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(prefers-reduced-motion:no-preference){.arrow-shaft,.arrow-tip{transition:d .5s cubic-bezier(.34,2.8,.64,1)}}:is(a,button):hover .arrow-right .arrow-shaft,:is(a,button):focus-visible .arrow-right .arrow-shaft{d:path("M 5,12 h 17")}:is(a,button):hover .arrow-right .arrow-tip,:is(a,button):focus-visible .arrow-right .arrow-tip{d:path("M 15,7 l 7,5 l -7,5")}:is(a,button):hover .arrow-left .arrow-shaft,:is(a,button):focus-visible .arrow-left .arrow-shaft{d:path("M 19,12 h -17")}:is(a,button):hover .arrow-left .arrow-tip,:is(a,button):focus-visible .arrow-left .arrow-tip{d:path("M 9,7 l -7,5 l 7,5")}:is(a,button):hover .arrow-down .arrow-shaft,:is(a,button):focus-visible .arrow-down .arrow-shaft{d:path("M 12,5 v 17")}:is(a,button):hover .arrow-down .arrow-tip,:is(a,button):focus-visible .arrow-down .arrow-tip{d:path("M 7,15 l 5,7 l 5,-7")}:is(a,button):hover .arrow-up .arrow-shaft,:is(a,button):focus-visible .arrow-up .arrow-shaft{d:path("M 12,19 v -17")}:is(a,button):hover .arrow-up .arrow-tip,:is(a,button):focus-visible .arrow-up .arrow-tip{d:path("M 7,9 l 5,-7 l 5,7")}.topbar[data-astro-cid-dmqpwcec][data-page=home] .nav-cta[data-astro-cid-dmqpwcec]{opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.topbar[data-astro-cid-dmqpwcec][data-page=home].nav-scrolled .nav-cta[data-astro-cid-dmqpwcec]{opacity:1;transform:translateY(0);pointer-events:auto}
