@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/f4b234103afdc32a-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/0b60d5f95c5f3f76-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/8056169c9d560660-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.nNOb6a_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.nNOb6a_variable{--font-heading:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/4032351b19cb998e-s.2u3lqdovtp4z3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/cb4b92673aedbbad-s.p.0jgzmitmnoe6_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.oaJuXa_className{font-family:Figtree,Figtree Fallback;font-style:normal}.oaJuXa_variable{--font-body:"Figtree", "Figtree Fallback"}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}h1,h2,h3{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.08}h1{letter-spacing:-.03em;font-size:clamp(2.5rem,6.2vw,4.75rem);line-height:1.02}h2{font-size:clamp(1.875rem,3.8vw,2.875rem)}h3{letter-spacing:-.01em;font-size:1.3125rem;line-height:1.25}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);padding:.625rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}@media (min-width:700px){.container{width:min(100% - 4rem, var(--container))}}.section{padding-block:clamp(3.5rem,8vw,6.5rem)}.section--surface{background:var(--color-surface)}.section--tight{padding-top:0}.section-head{max-width:44rem;margin-bottom:clamp(2rem,4vw,3.25rem)}.section-head p{color:var(--color-muted);margin-top:1rem;font-size:1.125rem}.section-foot{margin-top:2rem}.eyebrow{color:var(--color-accent);margin-bottom:1rem;font-size:.9375rem;font-weight:600;display:inline-block}.prose{max-width:44rem}.prose p+p,.prose h3+p{margin-top:1rem}.prose h2{letter-spacing:-.01em;margin-top:2.5rem;font-size:1.625rem}.prose h2+p{margin-top:.75rem}.prose a,.text-link{color:var(--color-accent);text-underline-offset:3px;font-weight:600}.text-link{text-decoration:none}.text-link:hover{text-decoration:underline}.btn{border-radius:var(--radius-pill);font:inherit;cursor:pointer;border:1.5px solid #0000;justify-content:center;align-items:center;padding:.875rem 1.5rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-hover)}.btn--ghost{border-color:var(--color-text);color:var(--color-text);background:0 0}.btn--ghost:hover{background:var(--color-surface)}.btn--small{padding:.625rem 1.125rem;font-size:.9375rem}.btn-row{flex-wrap:wrap;gap:.75rem;display:flex}.chip{border-radius:var(--radius-pill);background:var(--color-highlight);color:var(--color-on-highlight);padding:.1875rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.marker{background:linear-gradient(transparent 62%, var(--color-highlight) 62%, var(--color-highlight) 94%, transparent 94%);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.08em}.site-header{z-index:50;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;min-height:4.25rem;display:flex}.wordmark{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.01em;align-items:center;gap:.625rem;font-size:1.1875rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark__dot{border:2.5px solid var(--color-accent);background:var(--color-highlight);border-radius:.25rem;width:.875rem;height:.875rem}.nav-toggle{border:1.5px solid var(--color-text);border-radius:var(--radius-pill);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;padding:.5rem 1rem;font-size:.9375rem;font-weight:600}.primary-nav{display:none}.primary-nav--open{border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1rem 1.5rem;display:flex;position:absolute;top:100%;left:0;right:0}.primary-nav__link{padding:.5rem 0;font-weight:500;text-decoration:none}.primary-nav__link[aria-current=page]{color:var(--color-accent);font-weight:600}.primary-nav .btn{margin-top:.5rem}@media (min-width:820px){.nav-toggle{display:none}.primary-nav,.primary-nav--open{background:0 0;border:0;flex-direction:row;align-items:center;gap:1.75rem;padding:0;display:flex;position:static}.primary-nav__link:hover{color:var(--color-accent)}.primary-nav .btn{margin-top:0}}.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,6vw,5rem)}.hero__grid{gap:2.75rem;display:grid}.hero__lead{max-width:38rem;color:var(--color-muted);margin-block:1.5rem 2rem;font-size:clamp(1.125rem,1.8vw,1.3125rem);line-height:1.55}.portrait{width:min(100% - 1.25rem,22rem);margin-inline:auto;position:relative}.portrait:before{content:"";border-radius:var(--radius-lg);background:var(--color-highlight);position:absolute;inset:1.25rem -1.25rem -1.25rem 1.25rem}.portrait img{aspect-ratio:4/5;border-radius:var(--radius-lg);object-fit:cover;object-position:50% 8%;width:100%;position:relative}.portrait__note{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);max-width:15rem;box-shadow:var(--shadow-hover);padding:.625rem .875rem;font-size:.875rem;font-weight:500;line-height:1.35;position:absolute;bottom:1.25rem;left:-.5rem}@media (min-width:900px){.hero__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,6vw,5.5rem)}.portrait{width:100%;max-width:24rem;margin-inline:auto 1.25rem}}.proof{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.proof__item{border-bottom:1px solid var(--color-border);padding:1.5rem 1.25rem 1.5rem 0}.proof__value{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1;display:block}.proof__label{color:var(--color-muted);margin-top:.375rem;font-size:.9375rem;line-height:1.4;display:block}@media (min-width:820px){.proof{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr))}.proof__item{border-bottom:0;border-left:1px solid var(--color-border);padding:1.75rem 1.5rem}.proof__item:first-child{border-left:0;padding-left:0}}.service-rows{border-bottom:1px solid var(--color-border)}.service-row{border-top:1px solid var(--color-border);gap:.5rem;padding:1.75rem 0;text-decoration:none;transition:padding .2s,background-color .2s;display:grid}.service-row__num{color:var(--color-accent);font-family:var(--font-heading), system-ui, sans-serif;font-size:1rem;font-weight:700}.service-row h3{font-size:clamp(1.375rem,2.6vw,1.75rem)}.service-row p{color:var(--color-muted)}.service-row__arrow{color:var(--color-accent);font-size:1.5rem;transition:transform .2s;display:none}@media (min-width:820px){.service-row{grid-template-columns:3.25rem minmax(0,1fr) minmax(0,1.15fr) 2rem;align-items:baseline;gap:1.5rem}.service-row__arrow{justify-self:end;display:block}.service-row:hover{background:var(--color-surface);padding-inline:1rem}.service-row:hover .service-row__arrow{transform:translate(4px)}}.bento{gap:1.25rem;display:grid}@media (min-width:700px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento>:last-child:nth-child(odd){grid-column:1/-1}}@media (min-width:1000px){.bento{grid-template-columns:repeat(6,minmax(0,1fr))}.bento>*{grid-column:span 2}.bento>:nth-child(-n+2){grid-column:span 3}.bento>:last-child:nth-child(odd){grid-column:span 2}}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-card);flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.project-card__media{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.project-card__media img{aspect-ratio:2;object-fit:cover;width:100%}.project-card__body{flex-direction:column;flex:1;align-items:flex-start;padding:1.375rem 1.5rem 1.625rem;display:flex}.project-card__body h3{margin-top:.75rem;font-size:1.5rem}.project-card__kind{color:var(--color-accent);margin-top:.125rem;font-size:.9375rem;font-weight:600}.project-card__body p:last-child{color:var(--color-muted);margin-top:.625rem;font-size:1rem;line-height:1.55}.steps{counter-reset:step;gap:1.75rem;display:grid}.step{border-top:2px solid var(--color-accent);counter-increment:step;padding-top:1.125rem}.step:before{content:counter(step, decimal-leading-zero);color:var(--color-accent);font-family:var(--font-heading), system-ui, sans-serif;margin-bottom:.625rem;font-weight:700;display:block}.step p{color:var(--color-muted);margin-top:.5rem;font-size:1rem;line-height:1.55}@media (min-width:640px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.faq-list{max-width:48rem}.faq-item{border-top:1px solid var(--color-border);padding-block:1.5rem}.faq-item p{color:var(--color-muted);margin-top:.625rem}.faq-group+.faq-group{margin-top:clamp(2.5rem,5vw,4rem)}.faq-group>h2{margin-bottom:1.25rem;font-size:clamp(1.5rem,3vw,2rem)}.cta-band{background:var(--color-highlight);color:var(--color-on-highlight)}.cta-band__inner{flex-direction:column;align-items:flex-start;gap:1.75rem;padding-block:clamp(3rem,6vw,4.5rem);display:flex}.cta-band p{max-width:38rem;margin-top:.875rem;font-size:1.125rem}@media (min-width:820px){.cta-band__inner{flex-direction:row;justify-content:space-between;align-items:center;gap:3rem}.cta-band .btn{flex-shrink:0}}.page-hero{padding-block:clamp(1.5rem,3vw,2.25rem) clamp(2.5rem,5vw,4rem)}.page-hero h1{max-width:54rem;font-size:clamp(2.375rem,5.2vw,4rem)}.page-hero__lead{max-width:44rem;color:var(--color-muted);margin-top:1.25rem;font-size:clamp(1.125rem,1.8vw,1.25rem);line-height:1.55}.page-hero .btn-row{margin-top:1.75rem}.breadcrumbs{color:var(--color-muted);margin-bottom:clamp(1.5rem,3vw,2.5rem);font-size:.875rem}.breadcrumbs ol{flex-wrap:wrap;gap:.25rem .5rem;display:flex}.breadcrumbs li+li:before{content:"/";opacity:.6;margin-right:.5rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent);text-decoration:underline}.card-grid{gap:1.25rem;display:grid}@media (min-width:640px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.info-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);padding:1.5rem}.info-card p{color:var(--color-muted);margin-top:.5rem;font-size:1rem;line-height:1.55}.split{gap:2.5rem;display:grid}@media (min-width:900px){.split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,6vw,5rem)}}.checklist li{border-top:1px solid var(--color-border);padding:.75rem 0 .75rem 2rem;position:relative}.checklist li:before{content:"";border:2.5px solid var(--color-accent);background:var(--color-highlight);border-radius:.25rem;width:1rem;height:1rem;position:absolute;top:1.125rem;left:0}.facts{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);margin:0}.facts>div{border-top:1px solid var(--color-border);padding:.875rem 1.25rem}.facts>div:first-child{border-top:0}.facts dt{color:var(--color-muted);font-size:.875rem}.facts dd{margin:.125rem 0 0;font-weight:600}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);overflow-x:auto}.compare{border-collapse:collapse;width:100%;min-width:34rem;font-size:1rem;line-height:1.5}.compare th,.compare td{border-top:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.875rem 1.25rem}.compare thead th{background:var(--color-surface);font-family:var(--font-heading), system-ui, sans-serif;border-top:0}.compare tbody th{white-space:nowrap;font-weight:600}.compare td{color:var(--color-muted)}.footnote{color:var(--color-muted);margin-top:.875rem;font-size:.9375rem}.browser-frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-hover);overflow:hidden}.browser-frame img{width:100%}.callout{border-left:4px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface);padding:1.5rem}.callout strong{color:var(--color-accent);margin-bottom:.25rem;font-size:.9375rem;display:block}.about-photo{border-radius:var(--radius-lg);width:min(100%,24rem)}.contact-form{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.field-row{gap:1.25rem;display:grid}@media (min-width:640px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.field label{margin-bottom:.375rem;font-size:.9375rem;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;color:var(--color-text);font:inherit;padding:.75rem .875rem}.field textarea{resize:vertical;min-height:9rem}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:1px}.field__optional{color:var(--color-muted);font-weight:400}.field__error{color:var(--color-danger);margin-top:.375rem;font-size:.875rem;font-weight:500}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-note{color:var(--color-muted);font-size:.875rem}.form-note a{color:var(--color-accent)}.form-alert{border:1.5px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);padding:.875rem 1rem;font-size:.9375rem;font-weight:500}.form-success{border-radius:var(--radius-lg);background:var(--color-highlight);color:var(--color-on-highlight);outline:none;padding:clamp(1.5rem,4vw,2.5rem)}.form-success h2{font-size:1.75rem}.form-success p{margin-top:.625rem}.site-footer{background:var(--color-surface);padding-block:clamp(3rem,6vw,4.5rem) 2rem;font-size:.9375rem}.site-footer__grid{gap:2.5rem 2rem;display:grid}.site-footer__brand p{max-width:24rem;color:var(--color-muted);margin-block:.875rem}.site-footer__heading{letter-spacing:0;margin-bottom:.75rem;font-size:1rem}.site-footer li+li{margin-top:.4375rem}.site-footer a{text-decoration:none}.site-footer li a:hover,.site-footer__legal a:hover{color:var(--color-accent);text-decoration:underline}.site-footer__legal{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.875rem;display:flex}@media (min-width:640px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.site-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
