:root{--color-bg:#f4f2ec;--color-surface:#fff;--color-ink:#161310;--color-ink-2:#4a4540;--color-muted:#6c645a;--color-rule:#16131024;--color-field-border:#857d74;--color-accent:#a74629;--color-accent-hover:#6a2f1a;--color-accent-ink:#fff;--color-focus:#161310;--color-error:#c0171f;--color-success:#2e6b3a;--color-dark:#161310;--color-on-dark:#f4f2ec;--color-on-dark-2:#c3c1bc;--color-highlight:#f4c896;--radius-button:var(--radius-sm);--page-gutter:48px;--page-width:1280px;--bg:var(--color-bg);--surface:var(--color-surface);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--muted:var(--color-muted);--rule:var(--color-rule);--rust:var(--color-accent);--rust-deep:var(--color-accent-hover);--cream:var(--color-highlight)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.cta-band :focus-visible,.phone-block :focus-visible{outline-color:var(--color-on-dark)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-btn,.phone-block .email,.portfolio-teaser-more{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-6);background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-button);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:center;line-height:1.2;transition:background .15s,color .15s;display:inline-flex}.primary-btn:hover,.phone-block .email:hover,.portfolio-teaser-more:hover{background:var(--color-accent-hover)}.phone-block .email:hover,.cta-band .primary-btn:hover{background:var(--color-highlight);color:var(--color-dark)}.call-btn{min-height:var(--tap);padding:0 var(--space-6);border:1.5px solid var(--color-accent);border-radius:var(--radius-button);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);justify-content:center;align-items:center;line-height:1.2;display:inline-flex}a.call-btn:hover{background:var(--color-accent);color:var(--color-accent-ink)}.lead-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.hd{padding:var(--space-4) 48px;background:var(--color-ink);color:var(--color-bg);justify-content:space-between;align-items:center;display:flex}.mark{font-weight:var(--fw-semibold);font-size:var(--fs-md);align-items:center;gap:var(--space-3);display:flex}.mark .stamp{background:var(--color-accent);padding:var(--space-1) 10px;font-size:var(--fs-xs);letter-spacing:.14em;font-weight:var(--fw-bold)}.nav{font-size:var(--fs-sm);color:var(--color-on-dark-2);align-items:center;gap:26px;display:flex}.nav a:hover{color:var(--color-highlight)}.nav a.cta{background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-2) var(--space-4);font-weight:var(--fw-semibold)}.hero{max-width:var(--page-width);grid-template-columns:1.3fr 1fr;align-items:center;gap:56px;margin:0 auto;padding:56px 48px 32px;display:grid}@media (max-width:900px){.hero{gap:var(--space-8);padding:var(--space-8) var(--space-6);grid-template-columns:1fr}}.pre{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-bold);margin-bottom:var(--space-3)}.hero h1{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:clamp(var(--fs-4xl), 5vw, var(--fs-6xl));line-height:var(--lh-tight);letter-spacing:-.025em;margin:0 0 var(--space-4);max-width:14ch}.hero h1 .em{color:var(--color-accent);font-style:italic;font-weight:var(--fw-regular)}.hero p{font-size:var(--fs-lg);color:var(--color-ink-2);margin:0 0 var(--space-6);max-width:var(--measure)}.phone-block{background:var(--color-dark);color:var(--color-on-dark);border-radius:var(--radius-sm);min-width:0;padding:clamp(20px,3vw,32px);container-type:inline-size}.phone-block .label{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-highlight);font-weight:var(--fw-semibold);margin-bottom:6px}.phone-block .num{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:min(var(--fs-6xl), max(var(--fs-xl), 13.2cqi));overflow-wrap:anywhere;letter-spacing:-.02em;line-height:var(--lh-tight);margin-bottom:var(--space-4);color:var(--color-on-dark);min-height:var(--tap);padding-block:var(--space-2);display:block}.phone-block .or{font-size:var(--fs-xs);color:var(--color-on-dark-2);margin:var(--space-4) 0;align-items:center;gap:var(--space-3);display:flex}.phone-block .or:before,.phone-block .or:after{content:"";background:#f4f2ec33;flex:1;height:1px}.phone-block .email{display:flex}.trust{background:var(--color-surface);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:18px 0}.trust-inner{max-width:var(--page-width);padding-inline:var(--page-gutter);justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;align-items:center;margin:0 auto;display:flex}.badge{align-items:center;gap:var(--space-3);display:flex}.badge .icon{width:36px;height:36px;color:var(--color-accent);flex:0 0 36px;place-items:center;display:grid}.badge .icon svg{width:32px;height:32px;display:block}.badge .text{font-size:var(--fs-sm);line-height:1.35}.badge .text .k{color:var(--color-muted);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.badge .text .v{color:var(--color-ink);font-weight:var(--fw-semibold)}.badge .text .id{color:var(--color-muted);font-size:var(--fs-xs)}.services{max-width:var(--page-width);grid-template-columns:repeat(3,1fr);gap:0;margin:0 auto;padding:36px 48px 48px;display:grid}@media (max-width:900px){.services{padding:var(--space-8) var(--space-6);grid-template-columns:1fr}}.svc{border:1px solid var(--color-rule);flex-direction:column;padding:28px;transition:background .15s;display:flex}.svc:not(:first-child){border-left:0}@media (max-width:900px){.svc:not(:first-child){border-left:1px solid var(--color-rule);border-top:0}}.svc:hover{background:var(--color-surface)}.svc-cat{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-bold);margin-bottom:var(--space-4)}.svc h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.025em;margin:0 0 var(--space-3)}.svc p{font-size:var(--fs-sm);color:var(--color-ink-2);margin:0 0 var(--space-5)}.svc .ar{padding-top:var(--space-3);border-top:1px dashed var(--color-rule);color:var(--color-accent);font-weight:var(--fw-semibold);font-size:var(--fs-sm);min-height:var(--tap);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.quote{max-width:var(--page-width);gap:var(--space-6);flex-direction:column;margin:0 auto;padding:0 48px 48px;display:flex}.quote-info{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:28px 32px}.foot{max-width:var(--page-width);justify-content:space-between;gap:var(--space-3);font-size:var(--fs-xs);color:var(--color-muted);flex-wrap:wrap;margin:0 auto;padding:22px 48px;display:flex}.foot a:hover{color:var(--color-accent)}@media (max-width:900px){.hd{padding:var(--space-4) var(--space-6);align-items:flex-start;gap:var(--space-4)}.nav{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.quote{padding:0 var(--space-6) 36px}.quote-info{padding:var(--space-6)}.foot{padding:22px var(--space-6)}}.footcols{max-width:var(--page-width);gap:var(--space-6);border-top:1px solid var(--color-rule);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 auto;padding:36px 48px 8px;display:grid}.footcol{flex-direction:column;gap:6px;display:flex}.footcol a,.footcol-fold a{font-size:var(--fs-sm);color:var(--color-muted)}.footcol a:hover,.footcol-fold a:hover{color:var(--color-accent)}.footcol-hd{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}@media (max-width:900px){.footcols{padding:28px var(--space-6) 8px}}@media (max-width:899px),(pointer:coarse){.footcol a,.footcol-fold a{min-height:var(--tap);align-items:center;display:flex}}.footcol-fold>summary{cursor:default;list-style:none}.footcol-fold>summary::-webkit-details-marker{display:none}.footcol-fold-links{flex-direction:column;gap:6px;display:flex}.footcol-fold>summary{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}@media (max-width:639px){.footcols{gap:0}.footcol-fold{border-bottom:1px solid var(--color-rule)}.footcol-fold>summary{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;margin:0;display:flex}.footcol-fold>summary:after{content:"+";font-size:var(--fs-xl);line-height:1}.footcol-fold[open]>summary:after{content:"−"}.footcol{padding-top:var(--space-4)}}.portfolio-teaser{max-width:var(--page-width);border-top:1px solid var(--color-rule);margin:0 auto;padding:48px 48px 56px}.portfolio-teaser-hd{margin-bottom:var(--space-8)}.portfolio-teaser-hd h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.025em;margin:6px 0 var(--space-3)}.portfolio-teaser-hd p{color:var(--color-ink-2);max-width:var(--measure);margin:0}.portfolio-teaser-more-wrap{text-align:center;margin-top:28px}.portfolio-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:599px){.portfolio-grid{grid-template-columns:minmax(0,1fr)}.portfolio-teaser{padding:var(--space-8) var(--space-6) 40px}}@media (max-width:900px){.portfolio-teaser{padding:var(--space-8) var(--space-6) 40px}}@media (min-width:600px) and (max-width:1000px){.portfolio-grid>.project-card:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;display:grid}.portfolio-grid>.project-card:last-child:nth-child(odd) .project-photo{border-bottom:0;border-right:1px solid var(--color-rule);aspect-ratio:auto;height:100%;min-height:220px}.portfolio-grid>.project-card:last-child:nth-child(odd) .project-photo--doc{display:none}.portfolio-grid>.project-card:last-child:nth-child(odd):has(.project-photo--doc){grid-template-columns:minmax(0,1fr)}.portfolio-grid>.project-card:last-child:nth-child(odd) .project-card-body p{display:block}}@media (min-width:1001px){.portfolio-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.portfolio-grid>.project-card{grid-column:span 2}.portfolio-grid>.project-card:last-child:nth-child(3n+2),.portfolio-grid>.project-card:nth-last-child(2):nth-child(3n+1){grid-column:span 3}.portfolio-grid>.project-card:last-child:nth-child(3n+1){grid-column:1/-1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;display:grid}.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-photo{border-bottom:0;border-right:1px solid var(--color-rule);aspect-ratio:auto;height:100%;min-height:260px}.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-photo--doc{display:none}.portfolio-grid>.project-card:last-child:nth-child(3n+1):has(.project-photo--doc){grid-template-columns:minmax(0,1fr)}.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-card-body{padding:var(--space-6) 28px}.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-card-body h2,.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-card-body h3{font-size:var(--fs-2xl)}.portfolio-grid>.project-card:last-child:nth-child(3n+1) .project-card-body p{font-size:var(--fs-md);max-width:var(--measure);display:block}}.carousel{position:relative}.carousel-track{gap:var(--space-4);scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track .project-card{scroll-snap-align:start;flex:0 0 calc(33.3333% - 10.6667px)}.carousel-arrow{z-index:2;border-radius:var(--radius-pill);background:var(--color-accent);width:44px;height:44px;color:var(--color-accent-ink);cursor:pointer;border:none;flex:0 0 44px;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:background .15s,transform .15s;display:flex}.carousel-arrow:hover:not(:disabled){background:var(--color-accent-hover)}.carousel-arrow:disabled{color:var(--color-muted);box-shadow:inset 0 0 0 1.5px var(--color-rule);cursor:not-allowed;background:0 0}.carousel-controls{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.carousel-hint{font-size:var(--fs-sm);color:var(--color-muted);text-align:center;font-variant-numeric:tabular-nums;min-width:6ch}@media (max-width:1100px){.carousel-track .project-card{flex-basis:calc(50% - 8px)}}@media (max-width:599px){.carousel-track .project-card{flex-basis:86%}}.project-card{border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--color-accent)}.project-card-body{padding:20px var(--space-6) var(--space-6)}.project-card-body h2,.project-card-body h3{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:-.02em;margin:6px 0}.project-card-body p{font-size:var(--fs-sm);color:var(--color-ink-2);margin:0}.project-card-body p.clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-meta{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--color-muted);margin-bottom:var(--space-2);text-transform:uppercase}.ph{aspect-ratio:4/3;background:var(--color-surface);border-bottom:1px solid var(--color-rule);width:100%;position:relative;overflow:hidden}.ph:after{content:"Photo coming soon";font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cta-band{background:var(--color-dark);color:var(--color-on-dark);padding:56px 0}.cta-band-inner{max-width:var(--page-width);padding-inline:var(--page-gutter);align-items:flex-start;gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.cta-band h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:clamp(var(--fs-4xl), 4vw, var(--fs-5xl));line-height:var(--lh-tight);letter-spacing:-.025em;margin:0}.cta-band p{color:var(--color-on-dark-2);font-size:var(--fs-md);margin:0}.cta-band-actions{gap:var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.cta-band-actions a,.cta-band-actions .cta-call{min-height:var(--tap);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-on-dark-2);align-items:center;display:inline-flex}.cta-band-actions a:hover{color:var(--color-highlight)}.cta-band-actions .cta-call{padding:0 var(--space-6);border:1.5px solid var(--color-on-dark-2);border-radius:var(--radius-button);font-weight:var(--fw-semibold);color:var(--color-on-dark)}.cta-band-actions a.cta-call:hover{border-color:var(--color-highlight)}.cta-band-actions a.primary-btn{color:var(--color-accent-ink);font-weight:var(--fw-semibold)}.cta-band-actions a.primary-btn:hover{color:var(--color-dark)}@media (max-width:900px){.cta-band{padding:40px 0}}.page-intro{max-width:var(--page-width);border-bottom:1px solid var(--color-rule);margin:0 auto;padding:48px 48px 36px}.page-intro .kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-bold);margin-bottom:var(--space-3)}.page-intro h1{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:clamp(var(--fs-4xl), 4.5vw, var(--fs-5xl));line-height:var(--lh-tight);letter-spacing:-.025em;margin:0 0 var(--space-3)}.page-intro .lead{font-size:var(--fs-lg);color:var(--color-ink-2);max-width:var(--measure);margin:0}@media (max-width:900px){.page-intro{padding:var(--space-8) var(--space-6) 28px}}.services-list{max-width:var(--page-width);flex-direction:column;gap:0;margin:0 auto;padding:0 48px 48px;display:flex}.service-block{border-bottom:1px solid var(--color-rule);gap:var(--space-10);grid-template-columns:minmax(min-content,18rem) minmax(0,1fr);align-items:start;padding:36px 0;display:grid}.service-block:first-child{border-top:1px solid var(--color-rule)}.service-block h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.02em;margin:0 0 var(--space-3);overflow-wrap:break-word}.service-block p{font-size:var(--fs-md);color:var(--color-ink-2);margin:0 0 var(--space-4)}.service-block ul{margin:0 0 var(--space-5);gap:var(--space-1) var(--space-6);grid-template-columns:repeat(2,1fr);padding-left:0;list-style:none;display:grid}.service-block ul li{font-size:var(--fs-sm);color:var(--color-ink-2);padding-left:14px;position:relative}.service-block ul li:before{content:"-";color:var(--color-accent);position:absolute;left:0}@media (max-width:900px){.services-list{padding:0 var(--space-6) 36px}.service-block{gap:var(--space-4);grid-template-columns:1fr}.service-block ul{grid-template-columns:1fr}}.creds{margin:0}.creds ul{gap:var(--space-4) var(--space-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0;padding:0;list-style:none;display:grid}.creds-k{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1px;display:block}.creds-v{font-size:var(--fs-sm);color:var(--color-ink);font-weight:var(--fw-semibold)}.info-block{padding:var(--space-5) var(--space-6);border:1px solid var(--color-rule);background:var(--color-surface);gap:var(--space-4);flex-direction:column;display:flex}.info-row{flex-direction:column;gap:2px;display:flex}.info-k{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:var(--fw-bold)}.info-v{font-size:var(--fs-sm);color:var(--color-ink);font-weight:var(--fw-semibold)}.form-page{max-width:var(--page-width);grid-template-columns:1fr .9fr;align-items:start;gap:28px;margin:0 auto;padding:0 48px 48px;display:grid}.form-page--contact{row-gap:var(--space-3);grid-template-rows:auto 1fr}.form-page--contact .contact-form-col{grid-area:1/1/span 2;min-width:0}.form-page--contact .contact-call{grid-area:1/2}.form-page--contact .contact-info{grid-area:2/2}.contact-note{font-size:var(--fs-sm);color:var(--color-on-dark-2);margin:0}.contact-note a{color:var(--color-highlight);text-decoration:underline}@media (max-width:900px){.form-page{padding:0 var(--space-6) 36px;grid-template-columns:1fr}.form-page--contact{grid-template-rows:none;row-gap:28px}.form-page--contact .contact-form-col,.form-page--contact .contact-call,.form-page--contact .contact-info{grid-area:auto/1}}.case-study{max-width:var(--page-width);border-bottom:1px solid var(--color-rule);margin:0 auto;padding:48px 48px 56px}.case-study h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.025em;margin:8px 0 6px}.case-study>p{font-size:var(--fs-md);color:var(--color-ink-2);max-width:var(--measure);margin:var(--space-6) 0 0}.case-study h3{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-xl);letter-spacing:-.015em;margin:var(--space-8) 0 14px;color:var(--color-ink)}.case-study>.ar{align-items:center;gap:var(--space-2);min-height:var(--tap);margin-top:var(--space-8);color:var(--color-accent);font-weight:var(--fw-semibold);font-size:var(--fs-sm);display:inline-flex}@media (max-width:900px){.case-study{padding:var(--space-8) var(--space-6) 40px}}.svc-scope{margin:0 0 var(--space-2);gap:var(--space-1) var(--space-6);grid-template-columns:repeat(2,1fr);padding-left:0;list-style:none;display:grid}.svc-scope li{font-size:var(--fs-sm);color:var(--color-ink-2);padding-left:14px;position:relative}.svc-scope li:before{content:"-";color:var(--color-accent);position:absolute;left:0}@media (max-width:900px){.svc-scope{grid-template-columns:1fr}}.svc-faq p{font-size:var(--fs-md);color:var(--color-ink-2);margin:0 0 var(--space-2);max-width:var(--measure)}.svc-faq h2{scroll-margin-top:var(--space-6)}.faq-jump{max-width:var(--page-width);padding:var(--space-5) var(--page-gutter) 0;margin:0 auto}.faq-jump ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.faq-jump a{min-height:var(--tap);padding:0 var(--space-4);border:1px solid var(--color-rule);background:var(--color-surface);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-accent);align-items:center;display:inline-flex}.faq-jump a:hover{border-color:var(--color-accent)}.section-heading{margin:0 0 var(--space-6)}.section-heading h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);line-height:var(--lh-tight);margin:0}.tile-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));display:grid}.tile-grid a{min-height:var(--tap);border:1px solid var(--color-rule);background:var(--color-surface);padding:10px var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-ink);align-items:center;display:flex}.tile-grid a:hover{border-color:var(--color-accent);color:var(--color-accent)}.svc-children{margin-top:var(--space-1);flex-direction:column;gap:6px;display:flex}.svc-children a{color:var(--color-accent);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.case-gallery{gap:var(--space-6);margin-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:1000px){.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.case-gallery{grid-template-columns:minmax(0,1fr)}}.case-photo{border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;min-width:0;margin:0;display:flex;overflow:hidden}.process-list{counter-reset:process-step;border-left:2px solid var(--color-rule);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.process-list li{counter-increment:process-step;padding:14px var(--space-5) 14px 52px;border-bottom:1px solid var(--color-rule);font-size:var(--fs-sm);color:var(--color-ink-2);line-height:var(--lh-body);position:relative}.process-list li:last-child{border-bottom:0}.process-list li:before{content:counter(process-step, decimal-leading-zero);left:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--color-accent);font-weight:var(--fw-bold);position:absolute;top:17px}.project-photo{aspect-ratio:4/3;border-bottom:1px solid var(--color-rule);width:100%;position:relative;overflow:hidden}.portfolio-section{max-width:var(--page-width);margin:0 auto;padding:36px 48px 56px}@media (max-width:900px){.portfolio-section{padding:var(--space-6) var(--space-6) 40px}}.project-photo--doc{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.project-photo--doc .doc-cat{font-family:var(--font-serif);font-style:italic;font-size:var(--fs-2xl);color:var(--color-accent);line-height:1}.project-photo--doc .doc-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted)}.back-link{gap:var(--space-2);min-height:var(--tap);margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--color-accent);font-weight:var(--fw-bold);text-transform:uppercase;align-items:center;display:inline-flex}.back-link:hover{color:var(--color-accent-hover)}.spec-list{gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin:28px 0 0;padding:0;list-style:none;display:grid}.spec-list li{background:var(--color-surface);border:1px solid var(--color-rule);padding:14px 18px}.spec-k{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:3px;display:block}.spec-v{font-size:var(--fs-sm);color:var(--color-ink);font-weight:var(--fw-semibold)}@media (max-width:800px){.spec-list{grid-template-columns:1fr}}.hero,.services,.quote,.foot,.footcols,.portfolio-teaser,.page-intro,.services-list,.form-page,.case-study,.portfolio-section{padding-inline:var(--page-gutter)}@media (max-width:900px){:root{--page-gutter:24px}}.hero>*,.form-page>*,.project-card{min-width:0}.project-card:focus-visible{outline-offset:-3px}.carousel-track:focus-visible{outline-offset:3px}.project-card-body{flex:1}.service-directory{max-width:var(--page-width);padding:0 var(--page-gutter) 40px;margin:0 auto}.service-directory h2{font-family:var(--font-serif);font-size:var(--fs-3xl);font-weight:var(--fw-medium);margin:0 0 var(--space-4)}.services{padding-bottom:28px}.svc .ar{gap:var(--space-3)}.case-study>p:first-child{margin-top:0}.case-study .process-list{max-width:var(--measure)}.case-study>h2{margin:var(--space-8) 0 14px}.case-study>h2:first-child{margin-top:0}.project-gallery-section{margin-top:var(--space-8)}.gallery-hint{color:var(--color-muted);font-size:var(--fs-sm);margin:10px 0 0}.case-photo a{display:block}.case-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.photo-full{min-height:var(--tap);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;padding:0 14px;display:flex}.case-photo figcaption{color:var(--color-ink-2);font-size:var(--fs-sm);padding:0 14px 14px;line-height:1.5}@media (min-width:1001px){.spec-list li:last-child:nth-child(3n+1){grid-column:1/-1}.spec-list li:last-child:nth-child(3n+2){grid-column:span 2}.spec-list:not(.town-facts):has(>li:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.spec-list:not(.town-facts):has(>li:nth-child(4):last-child) li:last-child{grid-column:auto}}.quote-intro{border-bottom:0;padding-block:28px 24px}.quote-info{padding:18px 22px}.creds ul{gap:var(--space-3) var(--space-5)}.intro-call{margin-top:var(--space-4);display:flex}@media (prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}.carousel-arrow,.project-card{transition:none}}.page-split{max-width:var(--page-width);padding-inline:var(--page-gutter);margin:0 auto}.page-split-main{min-width:0}.page-split-main>.case-study,.page-split-main>.portfolio-section{max-width:none;margin:0;padding-inline:0}.page-split-aside{display:none}@media (min-width:1101px){.page-split{column-gap:var(--space-12);grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}.page-split-aside{top:var(--space-6);margin-top:56px;display:block;position:sticky}}.quote-card{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.quote-card h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-xl);line-height:var(--lh-snug);letter-spacing:-.015em;margin:0}.quote-card p{font-size:var(--fs-sm);color:var(--color-ink-2);margin:0}.quote-card-actions{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.area-cue{min-height:var(--tap);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.area-cue:hover{color:var(--color-accent-hover);text-underline-offset:3px;text-decoration:underline}.trade-marketing :is(h1,h2,h3){text-wrap:balance}.trade-marketing :is(p,.spec-v,.tile-grid a){text-wrap:pretty}.trade-marketing .page-intro h1,.trade-marketing .hero h1,.trade-marketing .cta-band h2{line-height:var(--lh-tight)}.trade-marketing .service-block p,.trade-marketing .service-block ul{max-width:var(--measure)}.trade-marketing .service-block .ar{min-height:var(--tap);margin-top:var(--space-2);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.trade-marketing .svc-children{gap:10px var(--space-6);max-width:var(--measure);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trade-marketing .svc-children a{text-wrap:pretty;min-height:var(--tap);align-items:center;display:flex}.trade-marketing .tile-grid{flex-wrap:wrap;display:flex}.trade-marketing .tile-grid a{flex:0 auto;max-width:100%}.trade-marketing .project-card-body{padding:var(--space-5)}.trade-marketing .trust-inner{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.trade-marketing .badge{min-width:0}.trade-marketing .spec-list.town-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-marketing .spec-list.town-facts li:last-child{grid-column:auto}.trade-marketing .spec-list.town-facts .town-permits{grid-column:1/-1}.trade-marketing .town-permits .spec-v{max-width:var(--measure);font-weight:var(--fw-regular);display:block}@media (max-width:1000px){.trade-marketing .trust-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:600px) and (max-width:1000px){.trade-marketing .spec-list{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-marketing .spec-list:not(.town-facts) li:last-child:nth-child(odd){grid-column:1/-1}.trade-marketing .svc-scope,.trade-marketing .service-block ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:760px) and (max-width:900px){.trade-marketing .services{grid-template-columns:repeat(3,minmax(0,1fr))}.trade-marketing .svc{padding:22px var(--space-5)}.trade-marketing .svc h2{font-size:var(--fs-2xl)}.trade-marketing .svc:not(:first-child){border-top:1px solid var(--color-rule);border-left:0}}@media (max-width:599px){.trade-marketing .page-intro h1{font-size:var(--fs-4xl)}.trade-marketing .trust-inner,.trade-marketing .svc-children,.trade-marketing .spec-list.town-facts{grid-template-columns:1fr}.trade-marketing .carousel-track .project-card{flex-basis:calc(100% - 24px)}}