@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}:root{--ink:#16181a;--ink-soft:#5c6166;--paper:#f4f2ee;--surface:#fff;--line:#dcd9d2;--accent:#bf4a1c;--accent-ink:#fff;--ok:#2e6b4f;--err:#9b2c1c;--on-dark:#f4f2ee;--on-dark-soft:#9aa0a5;--on-dark-line:#32373b;--font-head:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--radius:4px;--radius-sm:2px;--maxw:1240px;--pad:20px;--ease:cubic-bezier(.2,.7,.2,1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:78px}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:clamp(1rem,.96rem + .25vw,1.125rem);line-height:1.6;overflow-x:hidden}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-head);text-wrap:balance;font-weight:600}h1{letter-spacing:-.025em;font-size:clamp(2.25rem,1.4rem + 4.2vw,4.5rem);line-height:1.04}h2{letter-spacing:-.018em;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.75rem);line-height:1.12}h3{letter-spacing:-.01em;font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);line-height:1.3}p{text-wrap:pretty}p+p{margin-top:.9em}.container{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.section{padding-block:clamp(56px,7vw,112px)}.section--tight{padding-block:clamp(40px,5vw,72px)}.lede{color:var(--ink-soft);max-width:62ch;font-size:clamp(1.0625rem,1rem + .5vw,1.3125rem);line-height:1.5}.prose{max-width:68ch;color:var(--ink-soft)}.dark{background:var(--ink);color:var(--on-dark)}.dark h2,.dark h3{color:var(--on-dark)}.dark p{color:var(--on-dark-soft)}.eyebrow{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:18px;font-size:.8125rem;font-weight:500;display:flex}.eyebrow b{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.eyebrow:after{content:"";background:var(--line);flex:1;height:1px}.dark .eyebrow{color:var(--on-dark-soft)}.dark .eyebrow:after{background:var(--on-dark-line)}.btn{border:1px solid var(--ink);border-radius:var(--radius-sm);min-height:52px;color:var(--ink);font-family:var(--font-head);letter-spacing:-.01em;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);background:0 0;justify-content:center;align-items:center;gap:10px;padding:14px 26px;font-size:1rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:hover{color:var(--accent-ink);background:#a33d14;border-color:#a33d14}.dark .btn{border-color:var(--on-dark-line);color:var(--on-dark)}.dark .btn:hover{background:var(--on-dark);color:var(--ink)}.fan{width:100%;height:8px;display:flex}.fan span{flex:1}.fan span:first-child{background:#bf4a1c}.fan span:nth-child(2){background:#d98e45}.fan span:nth-child(3){background:#7a8b6f}.fan span:nth-child(4){background:#3e5c6b}.fan span:nth-child(5){background:#16181a}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(20px)}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-reveal][data-reveal-delay="1"]{transition-delay:70ms}.js [data-reveal][data-reveal-delay="2"]{transition-delay:.14s}.js [data-reveal][data-reveal-delay="3"]{transition-delay:.21s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}.nav{z-index:60;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-inner{max-width:var(--maxw);padding:12px var(--pad);justify-content:space-between;align-items:center;gap:16px;min-height:66px;margin-inline:auto;display:flex}.nav-brand{flex-direction:column;line-height:1.05;display:flex}.nav-brand b{font-family:var(--font-head);letter-spacing:-.02em;font-size:1.125rem;font-weight:600}.nav-brand small{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.6875rem}.nav-links{gap:26px;font-size:.9375rem;display:none}.nav-links a{color:var(--ink-soft);border-bottom:1px solid #0000;padding-block:6px}.nav-links a:hover{color:var(--ink);border-bottom-color:var(--accent)}.nav-phone{display:none}.nav-phone b{font-family:var(--font-head);font-size:1.0625rem}.nav-phone small{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.6875rem;display:block}.nav-burger{border:1px solid var(--line);border-radius:var(--radius-sm);background:0 0;place-content:center;gap:5px;width:48px;height:48px;display:grid}.nav-burger span{background:var(--ink);width:20px;height:1.5px;transition:transform .2s var(--ease), opacity .2s var(--ease);display:block}.nav-burger[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-drawer{border-top:1px solid var(--line);background:var(--paper);flex-direction:column;display:none}.nav-drawer.open{display:flex}.nav-drawer a{padding:16px var(--pad);border-bottom:1px solid var(--line);font-family:var(--font-head);font-size:1.0625rem}@media (width>=768px){.nav-burger,.nav-drawer{display:none!important}.nav-links{display:flex}.nav-phone{text-align:right;display:block}}.hero{border-bottom:1px solid var(--line)}.hero-grid{gap:32px;padding-block:clamp(40px,6vw,88px);display:grid}.hero-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:22px;font-size:.8125rem;font-weight:500;display:inline-flex}.hero-kicker i{background:var(--accent);width:26px;height:2px;font-style:normal}.hero h1 em{color:var(--accent);font-style:normal}.hero .lede{margin-top:22px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero-actions .btn{flex:220px}.hero-media{position:relative}.hero-media .ph{aspect-ratio:16/10;max-height:46vh}@media (width>=1100px){.hero-grid{grid-template-columns:7fr 5fr;align-items:center;gap:56px}.hero-media .ph{aspect-ratio:4/3;max-height:none}}.factbar{border-top:1px solid var(--line);background:var(--surface)}.factbar-grid{grid-template-columns:repeat(2,1fr);display:grid}.fact{border-bottom:1px solid var(--line);padding:22px 4px}.fact:nth-child(odd){border-right:1px solid var(--line);padding-right:16px}.fact:nth-child(2n){padding-left:16px}.fact b{font-family:var(--font-head);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.125rem);font-weight:600;display:block}.fact span{color:var(--ink-soft);font-size:.875rem}@media (width>=768px){.factbar-grid{grid-template-columns:repeat(4,1fr)}.fact{border-bottom:0;border-right:1px solid var(--line);padding:26px 20px}.fact:last-child{border-right:0}.fact:nth-child(odd),.fact:nth-child(2n){padding-left:20px;padding-right:20px}.fact:first-child{padding-left:0}}.ph{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);background:repeating-linear-gradient(135deg,#e7e4de 0 12px,#efede8 12px 24px);place-content:center;display:grid;position:relative;overflow:hidden}.ph--dark{border-color:var(--on-dark-line);color:var(--on-dark-soft);background:repeating-linear-gradient(135deg,#202427 0 12px,#262a2e 12px 24px)}.ph-label{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:10px 14px;font-size:.75rem}.ph--dark .ph-label{background:var(--ink);border-color:var(--on-dark-line)}.ph .fan{position:absolute;bottom:0;left:0;right:0}.services{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.service{background:var(--paper);gap:14px;padding:24px;display:grid}.service .ph{aspect-ratio:16/10}.service-no{font-family:var(--font-head);color:var(--accent);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.service p{color:var(--ink-soft);font-size:.9375rem}.service ul{color:var(--ink-soft);margin:2px 0 0;padding:0;font-size:.875rem;list-style:none}.service li{padding-left:16px;position:relative}.service li:before{content:"";background:var(--accent);width:7px;height:1px;position:absolute;top:.65em;left:0}@media (width>=768px){.services{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.services{grid-template-columns:repeat(3,1fr)}.service{padding:30px}}.steps{background:var(--on-dark-line);border-block:1px solid var(--on-dark-line);gap:1px;display:grid}.step{background:var(--ink);padding:28px 0}.step-no{font-family:var(--font-head);color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:14px;font-size:2.5rem;font-weight:600;line-height:1}.step h3{margin-bottom:8px}.step p{font-size:.9375rem}@media (width>=768px){.steps{grid-template-columns:repeat(3,1fr);gap:1px}.step{padding:34px 28px}.step:first-child{padding-left:0}}.projects{gap:20px;display:grid}.project .ph{aspect-ratio:4/3;margin-bottom:12px}.project h3{font-size:1.0625rem}.project span{color:var(--ink-soft);margin-top:2px;font-size:.8125rem;display:block}@media (width>=480px){.projects{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.projects{grid-template-columns:repeat(4,1fr);gap:24px}}.about-grid{gap:32px;display:grid}.about-grid .ph{aspect-ratio:16/10;max-height:42vh}@media (width>=1100px){.about-grid{grid-template-columns:5fr 6fr;align-items:center;gap:56px}.about-grid .ph{aspect-ratio:4/3;max-height:none}}.quotes{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.quote{background:var(--surface);padding:26px}.quote blockquote{font-family:var(--font-head);letter-spacing:-.01em;font-size:1.0625rem;line-height:1.5}.quote figcaption{color:var(--ink-soft);margin-top:14px;font-size:.8125rem}.quote .stars{color:var(--accent);letter-spacing:.18em;margin-bottom:12px;font-size:.8125rem}@media (width>=768px){.quotes{grid-template-columns:repeat(3,1fr)}}.area-list{flex-wrap:wrap;gap:8px;margin-top:24px;padding:0;list-style:none;display:flex}.area-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 14px;font-size:.875rem}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:48px;font-family:var(--font-head);letter-spacing:-.01em;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 0;font-size:1.0625rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);flex:none;font-size:1.5rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{max-width:68ch;color:var(--ink-soft);padding-bottom:22px;font-size:.9375rem}.contact-grid{gap:36px;display:grid}.contact-facts{align-content:start;gap:20px;display:grid}.contact-facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:.75rem}.contact-facts dd{font-family:var(--font-head);margin:0;font-size:1.125rem;font-weight:600}.contact-facts dd small{font-family:var(--font-body);color:var(--ink-soft);font-size:.875rem;font-weight:400;display:block}.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:16px;padding:24px;display:grid}.field{gap:6px;display:grid}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.8125rem;font-weight:500}.field input,.field textarea,.field select{width:100%;min-height:52px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.field input:user-invalid,.field textarea:user-invalid{border-color:var(--err)}.form-consent{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:.8125rem;display:flex}.form-consent input{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none;margin-top:2px}.form-consent a{text-decoration:underline}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form .btn{width:100%}.form-note{color:var(--ink-soft);font-size:.75rem}@media (width>=1100px){.contact-grid{grid-template-columns:4fr 6fr;gap:56px}.form{padding:32px}}.site-footer{background:var(--ink);color:var(--on-dark);padding-bottom:84px}.foot-top{gap:28px;padding-block:48px;display:grid}.foot-top h5{letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft);margin-bottom:12px;font-size:.75rem;font-weight:500}.foot-top ul{gap:8px;padding:0;font-size:.9375rem;list-style:none;display:grid}.foot-top a{color:var(--on-dark-soft)}.foot-top a:hover{color:var(--on-dark)}.foot-brand b{font-family:var(--font-head);font-size:1.25rem;font-weight:600}.foot-brand p{max-width:36ch;margin-top:10px;font-size:.9375rem}.foot-bottom{border-top:1px solid var(--on-dark-line);color:var(--on-dark-soft);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:20px;font-size:.8125rem;display:flex}@media (width>=768px){.foot-top{grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px}.site-footer{padding-bottom:0}}.callbar{z-index:70;background:var(--ink);border-top:1px solid var(--on-dark-line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0}.callbar a{min-height:56px;font-family:var(--font-head);color:var(--on-dark);justify-content:center;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;display:flex}.callbar a+a{background:var(--accent);color:var(--accent-ink)}@media (width>=768px){.callbar{display:none}}.rule{background:var(--line);border:0;height:1px}.form-error{border:1px solid var(--err);border-radius:var(--radius-sm);color:var(--err);background:#fbede9;padding:12px 14px;font-size:.9375rem}
