@font-face{font-family:"Barlow";src:url("../fonts/barlow-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Barlow";src:url("../fonts/barlow-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Barlow";src:url("../fonts/barlow-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Frank Ruhl Libre";src:url("../fonts/frank-ruhl-libre.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}:root{--color-ink:#171712;--color-ink-soft:#4f5048;--color-night:#18231f;--color-night-soft:#24332d;--color-sand:#f3eddf;--color-sand-deep:#dfd2bc;--color-paper:#fffdf8;--color-accent:#ad472e;--color-accent-dark:#87331f;--color-accent-soft:#f2d8cd;--color-line:#d8cebd;--color-white:#fff;--font-heading:"Frank Ruhl Libre",Georgia,serif;--font-body:"Barlow",Arial,sans-serif;--step--1:clamp(0.875rem,0.84rem + 0.16vw,0.975rem);--step-0:clamp(1rem,0.95rem + 0.22vw,1.125rem);--step-1:clamp(1.2rem,1.08rem + 0.5vw,1.5rem);--step-2:clamp(1.55rem,1.32rem + 0.95vw,2.15rem);--step-3:clamp(2rem,1.62rem + 1.55vw,3rem);--step-4:clamp(2.65rem,2rem + 2.7vw,4.5rem);--step-5:clamp(3.2rem,2.2rem + 4.2vw,6.25rem);--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--space-8:8rem;--container:76rem;--radius-sm:0.35rem;--radius-md:0.75rem;--radius-lg:1.25rem;--shadow-soft:0 1.2rem 3.5rem rgb(23 23 18 / 0.09);--shadow-card:0 0.75rem 2.5rem rgb(23 23 18 / 0.08);--transition:180ms ease}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-thickness:0.08em;text-underline-offset:0.2em}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ffb49e;outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:0.75rem;left:0.75rem;padding:0.75rem 1rem;color:var(--color-white);background:var(--color-accent-dark);transform:translateY(-160%);transition:transform var(--transition)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 3rem),var(--container));margin-inline:auto}.narrow{width:min(calc(100% - 3rem),48rem);margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:0.65rem;margin:0 0 var(--space-2);color:var(--color-accent);font-size:var(--step--1);font-weight:700;letter-spacing:0.14em;line-height:1.2;text-transform:uppercase}.eyebrow::before{width:2rem;height:2px;background:currentColor;content:""}h1,h2,h3{margin:0;font-family:var(--font-heading);font-weight:700;line-height:1.02;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2)}p{margin:0}p + p{margin-top:var(--space-2)}.lead{max-width:44rem;color:var(--color-ink-soft);font-size:var(--step-1);line-height:1.55}.section{padding-block:var(--space-8)}.section--sand{background:var(--color-sand)}.section--night{color:var(--color-white);background:var(--color-night)}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,0.7fr);gap:var(--space-4);align-items:end;margin-bottom:var(--space-5)}.section-heading .lead{justify-self:end}.button-row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}.button{display:inline-flex;min-height:3.35rem;padding:0.85rem 1.35rem;align-items:center;justify-content:center;gap:0.65rem;border:2px solid transparent;border-radius:var(--radius-sm);color:var(--color-white);background:var(--color-accent);font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform var(--transition),background var(--transition),border-color var(--transition)}.button:hover{background:var(--color-accent-dark);transform:translateY(-2px)}.button--ghost{border-color:rgb(255 255 255 / 0.55);color:var(--color-white);background:transparent}.button--ghost:hover{border-color:var(--color-white);background:rgb(255 255 255 / 0.12)}.button--dark{background:var(--color-night)}.button--dark:hover{background:var(--color-night-soft)}.text-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--color-accent-dark);font-weight:700;text-decoration:none}.text-link::after{content:"→";transition:transform var(--transition)}.text-link:hover::after{transform:translateX(0.25rem)}.icon{width:1.35rem;height:1.35rem;flex:0 0 auto;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.topbar{color:var(--color-white);background:var(--color-night);font-size:var(--step--1)}.topbar__inner{display:flex;min-height:2.8rem;align-items:center;justify-content:space-between;gap:var(--space-2)}.topbar a{font-weight:600;text-decoration:none}.topbar__meta{display:flex;gap:var(--space-3);align-items:center}.site-header{position:relative;z-index:100;border-bottom:1px solid rgb(216 206 189 / 0.7);background:rgb(255 253 248 / 0.96);backdrop-filter:blur(12px)}.site-header.is-stuck{position:sticky;top:0;box-shadow:0 0.5rem 2rem rgb(23 23 18 / 0.08)}.site-header__inner{display:flex;min-height:5.25rem;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand{display:inline-flex;align-items:center;font-family:var(--font-heading);font-size:clamp(1.35rem,1.1rem + 0.8vw,1.85rem);font-weight:700;line-height:1;text-decoration:none}.site-nav,.site-nav__list{display:flex;align-items:center}.site-nav__list{margin:0;padding:0;gap:0.4rem;list-style:none}.site-nav__link{display:block;padding:0.75rem 0.8rem;border-radius:var(--radius-sm);font-weight:600;text-decoration:none}.site-nav__link:hover,.site-nav__link[aria-current="page"]{color:var(--color-accent-dark);background:var(--color-accent-soft)}.site-nav .button{margin-left:0.8rem}.nav-toggle{display:none;width:3rem;height:3rem;padding:0;align-items:center;justify-content:center;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);background:transparent;cursor:pointer}.nav-toggle__lines,.nav-toggle__lines::before,.nav-toggle__lines::after{width:1.4rem;height:2px;background:currentColor;content:"";transition:transform var(--transition),opacity var(--transition)}.nav-toggle__lines{position:relative}.nav-toggle__lines::before,.nav-toggle__lines::after{position:absolute;left:0}.nav-toggle__lines::before{top:-0.45rem}.nav-toggle__lines::after{top:0.45rem}.nav-toggle[aria-expanded="true"] .nav-toggle__lines{background:transparent}.nav-toggle[aria-expanded="true"] .nav-toggle__lines::before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__lines::after{top:0;transform:rotate(-45deg)}.hero{position:relative;display:grid;height:clamp(40rem,78vh,44rem);min-height:0;place-items:center;overflow:hidden;color:var(--color-white);background:var(--color-night)}.hero__bg,.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__bg{object-position:center 58%}.hero--vehicle{background:var(--color-night)}.hero--vehicle .hero__bg{inset:0;height:100%;object-fit:cover;object-position:center 60%}.hero::after,.page-hero::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(15 25 21 / 0.88) 0%,rgb(15 25 21 / 0.67) 52%,rgb(15 25 21 / 0.42) 100%);content:""}.hero--vehicle::after{background:linear-gradient( 90deg,rgb(15 25 21 / 0.9) 0%,rgb(15 25 21 / 0.72) 44%,rgb(15 25 21 / 0.28) 70%,rgb(15 25 21 / 0.1) 100% )}.hero__inner{position:relative;z-index:1;padding-block:var(--space-4)}.hero__content{max-width:48rem}.hero h1{max-width:12ch;margin-bottom:var(--space-3);font-size:clamp(3.5rem,5.5vw,5.25rem)}.hero .lead{max-width:39rem;color:rgb(255 255 255 / 0.88)}.hero .button-row{margin-top:var(--space-4)}.hero__proof{display:flex;flex-wrap:wrap;gap:0.7rem 1.4rem;margin:var(--space-5) 0 0;padding:0;color:rgb(255 255 255 / 0.9);font-size:var(--step--1);font-weight:600;list-style:none}.hero__proof li{display:flex;align-items:center;gap:0.55rem}.hero__proof .icon{color:#f2c4b6}.page-hero{position:relative;display:grid;height:clamp(28rem,58vh,34rem);min-height:0;place-items:end stretch;overflow:hidden;color:var(--color-white);background:var(--color-night)}.page-hero__bg{object-position:center 54%}.page-hero--services{background:var(--color-night)}.page-hero--services .page-hero__bg{inset:0;height:100%;object-fit:cover;object-position:center 42%}.page-hero__content{position:relative;z-index:1;max-width:51rem;padding-block:var(--space-7)}.page-hero h1{margin-bottom:var(--space-2);font-size:var(--step-4)}.page-hero .lead{color:rgb(255 255 255 / 0.86)}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.service-card{position:relative;display:flex;min-height:20rem;padding:var(--space-3);flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-ink);background:var(--color-paper);box-shadow:var(--shadow-card);text-decoration:none;transition:transform var(--transition),border-color var(--transition)}.service-card:hover{border-color:var(--color-accent);transform:translateY(-0.35rem)}.service-card__number{color:var(--color-accent);font-size:var(--step--1);font-weight:700;letter-spacing:0.1em}.service-card__icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:50%;color:var(--color-accent-dark);background:var(--color-accent-soft)}.service-card__icon .icon{width:1.6rem;height:1.6rem}.service-card h3{margin-top:var(--space-4);font-size:1.65rem}.service-card p{margin-top:0.7rem;color:var(--color-ink-soft);font-size:var(--step--1);line-height:1.5}.project-showcase{display:grid;grid-template-columns:1.15fr 0.85fr;gap:var(--space-5);align-items:center}.project-collage{display:grid;grid-template-columns:1.15fr 0.85fr;grid-template-rows:16rem 12rem;gap:0.75rem}.project-collage picture:first-child{grid-row:1 / 3}.project-collage picture,.gallery-card picture,.split-image{overflow:hidden;border-radius:var(--radius-md);background:var(--color-sand-deep)}.project-collage img,.gallery-card img,.split-image img{width:100%;height:100%;object-fit:cover}.project-collage picture:first-child img{object-position:58% center}.project-copy h2{margin-bottom:var(--space-3)}.project-copy .lead{margin-bottom:var(--space-3)}.feature-list{display:grid;margin:var(--space-4) 0;padding:0;gap:0.9rem;list-style:none}.feature-list li{display:flex;gap:0.8rem;align-items:flex-start}.feature-list .icon{margin-top:0.2rem;color:var(--color-accent)}.usp-band{color:var(--color-white);background:var(--color-accent-dark)}.usp-band__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.usp{display:flex;min-height:8.5rem;padding:var(--space-3) var(--space-4);align-items:center;gap:1rem;border-right:1px solid rgb(255 255 255 / 0.25)}.usp:last-child{border-right:0}.usp .icon{width:1.8rem;height:1.8rem}.usp strong,.usp span{display:block}.usp strong{font-size:var(--step-1)}.usp span{color:rgb(255 255 255 / 0.78);font-size:var(--step--1)}.quote-panel{display:grid;grid-template-columns:0.8fr 1.2fr;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-soft)}.quote-panel__intro{display:flex;padding:var(--space-5);flex-direction:column;justify-content:space-between;color:var(--color-white);background:var(--color-night)}.quote-panel__intro h2{margin-bottom:var(--space-3);font-size:var(--step-3)}.quote-panel__intro p{color:rgb(255 255 255 / 0.78)}.quote-panel__contact{display:grid;margin-top:var(--space-5);gap:0.8rem}.quote-panel__contact a{display:flex;align-items:center;gap:0.7rem;font-weight:700;text-decoration:none}.quote-form{display:grid;padding:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.field{display:grid;gap:0.45rem}.field--full{grid-column:1 / -1}.field label{font-size:var(--step--1);font-weight:700}.field input,.field textarea,.field select{width:100%;min-height:3.25rem;padding:0.8rem 0.9rem;border:1px solid #bdb39f;border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-paper)}.field textarea{min-height:9rem;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent);outline:3px solid rgb(173 71 46 / 0.18)}.form-note,.form-status{grid-column:1 / -1;color:var(--color-ink-soft);font-size:var(--step--1)}.form-status:not(:empty){padding:0.85rem 1rem;border-left:4px solid var(--color-accent);background:var(--color-accent-soft)}.split{display:grid;grid-template-columns:0.92fr 1.08fr;gap:var(--space-6);align-items:center}.split--reverse{grid-template-columns:1.08fr 0.92fr}.split--reverse .split-image{order:2}.split-image{aspect-ratio:4 / 3}.split-image--portrait{width:min(100%,30rem);aspect-ratio:4 / 5;justify-self:center}.split-copy h2{margin-bottom:var(--space-3)}.split-copy .lead{margin-bottom:var(--space-3)}.service-detail{display:grid;grid-template-columns:0.55fr 1.45fr;gap:var(--space-5);padding-block:var(--space-6);border-top:1px solid var(--color-line)}.service-detail:first-child{border-top:0}.service-detail__number{color:var(--color-accent);font-family:var(--font-heading);font-size:var(--step-4);line-height:1}.service-detail h2{margin-bottom:var(--space-2);font-size:var(--step-3)}.service-detail p{max-width:48rem;color:var(--color-ink-soft)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.gallery-card{margin:0}.gallery-card picture{display:block;aspect-ratio:4 / 3}.gallery-card img{transition:transform 420ms ease}.gallery-card:hover img{transform:scale(1.025)}.gallery-card figcaption{display:flex;padding-top:1rem;align-items:baseline;justify-content:space-between;gap:1rem}.gallery-card strong{font-family:var(--font-heading);font-size:var(--step-1)}.gallery-card span{color:var(--color-ink-soft);font-size:var(--step--1)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.team-card{overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-paper);box-shadow:var(--shadow-card)}.team-card__media{aspect-ratio:1 / 1;overflow:hidden;background:var(--color-sand-deep)}.team-card__media picture{display:contents}.team-card__media img{width:100%;height:100%;object-fit:cover}.team-card:first-child .team-card__media img{object-position:center 42%}.team-card__body{padding:var(--space-4)}.team-card h3{margin-bottom:0.35rem}.team-card p{color:var(--color-ink-soft)}.story-grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:var(--space-6);align-items:start}.story-grid__heading{position:sticky;top:8rem}.story-grid__copy{padding-left:var(--space-5);border-left:1px solid var(--color-line)}.story-grid__copy .lead{margin-bottom:var(--space-3)}.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:var(--space-6);align-items:start}.contact-list{display:grid;margin:var(--space-4) 0;padding:0;gap:1rem;list-style:none}.contact-list li,.contact-list a{display:flex;gap:0.8rem;align-items:flex-start}.contact-list a{font-weight:700;text-decoration:none}.contact-list .icon{margin-top:0.2rem;color:var(--color-accent)}.placeholder{display:inline-block;padding:0.15rem 0.45rem;border:1px dashed #9b6d5f;border-radius:0.2rem;color:#6d3b2f;background:#fae7df;font-size:0.88em}.cta-strip{position:relative;overflow:hidden;color:var(--color-white);background:var(--color-accent-dark)}.cta-strip::before{position:absolute;inset:-8rem auto auto -6rem;width:20rem;height:20rem;border:1px solid rgb(255 255 255 / 0.16);border-radius:50%;content:""}.cta-strip__inner{position:relative;display:flex;min-height:17rem;padding-block:var(--space-5);align-items:center;justify-content:space-between;gap:var(--space-4)}.cta-strip h2{max-width:14ch;font-size:var(--step-3)}.site-footer{color:rgb(255 255 255 / 0.78);background:#101815}.site-footer__grid{display:grid;padding-block:var(--space-6);grid-template-columns:1.2fr 0.8fr 0.8fr;gap:var(--space-5)}.site-footer .brand{margin-bottom:var(--space-2);color:var(--color-white)}.footer-title{margin:0 0 var(--space-2);color:var(--color-white);font-family:var(--font-body);font-size:var(--step-0);font-weight:700}.footer-links,.footer-contact{display:grid;margin:0;padding:0;gap:0.65rem;list-style:none}.footer-links a,.footer-contact a{text-decoration:none}.footer-links a:hover,.footer-contact a:hover{color:var(--color-white)}.social-links{display:flex;margin-top:var(--space-3);gap:0.65rem}.social-links a{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgb(255 255 255 / 0.25);border-radius:50%;text-decoration:none;transition:border-color var(--transition),background var(--transition)}.social-links a:hover{border-color:var(--color-white);background:rgb(255 255 255 / 0.08)}.site-footer__bottom{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:var(--space-2);border-top:1px solid rgb(255 255 255 / 0.14);font-size:var(--step--1)}.reveal{opacity:0;transform:translateY(1.1rem);transition:opacity 520ms ease,transform 520ms ease}.reveal.is-visible{opacity:1;transform:none}@media (max-width:70rem){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card:nth-child(4),.service-card:nth-child(5){min-height:16rem}}@media (max-width:56rem){.container,.narrow{width:min(calc(100% - 2.5rem),var(--container))}.section{padding-block:var(--space-7)}.site-nav{position:fixed;inset:8rem 0 auto;display:none;max-height:calc(100vh - 8rem);padding:var(--space-3) 1.25rem var(--space-4);overflow-y:auto;border-top:1px solid var(--color-line);background:var(--color-paper);box-shadow:0 1.2rem 2rem rgb(23 23 18 / 0.13)}.site-nav.is-open{display:block}.site-nav__list{align-items:stretch;flex-direction:column}.site-nav__link{padding:0.95rem 1rem}.site-nav .button{width:100%;margin:1rem 0 0}.nav-toggle{display:inline-flex}.section-heading,.project-showcase,.quote-panel,.split,.split--reverse,.contact-grid,.story-grid{grid-template-columns:1fr}.story-grid__heading{position:static}.story-grid__copy{padding-left:0;border-left:0}.section-heading .lead{justify-self:start}.split--reverse .split-image{order:0}.project-copy{max-width:44rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usp-band__grid{grid-template-columns:1fr}.usp{min-height:auto;border-right:0;border-bottom:1px solid rgb(255 255 255 / 0.25)}.usp:last-child{border-bottom:0}.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__grid>:first-child{grid-column:1 / -1}}@media (max-width:40rem){:root{--space-7:4.5rem;--space-8:5.5rem}.container,.narrow{width:min(calc(100% - 2.75rem),var(--container))}.topbar__inner{min-height:2.65rem}.topbar__inner>span{display:none}.topbar__meta span{display:none}.topbar__meta{margin-left:auto}.site-header__inner{min-height:4.75rem}.site-nav{inset:7.4rem 0 auto}.brand{font-size:1.35rem}.hero{display:flex;height:auto;min-height:0;flex-direction:column;place-items:initial}.page-hero{display:flex;height:auto;min-height:0;flex-direction:column;place-items:initial}.hero h1{font-size:clamp(2.65rem,12vw,3.35rem)}.hero::after,.page-hero::after{display:none}.hero__bg,.page-hero__bg,.hero--vehicle .hero__bg,.page-hero--services .page-hero__bg{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center}.hero__inner{width:100%;padding-block:var(--space-5)}.page-hero__content{padding-block:var(--space-5)}.page-hero h1{font-size:clamp(2.45rem,11vw,3.15rem)}.hero .button,.cta-strip .button{width:100%}.hero__proof{display:grid}.service-grid,.gallery,.team-grid,.site-footer__grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){min-height:auto}.service-card__icon{margin-top:var(--space-3)}.project-collage{grid-template-columns:1fr;grid-template-rows:none}.project-collage picture:first-child{grid-column:auto;grid-row:auto}.project-collage picture,.gallery-card picture,.split-image,.team-card__media{aspect-ratio:auto}.project-collage img,.gallery-card img,.split-image img,.team-card__media img{height:auto;object-fit:contain}.quote-panel__intro,.quote-form{padding:var(--space-4) var(--space-3)}.quote-form{grid-template-columns:1fr}.field--full{grid-column:auto}.service-detail{grid-template-columns:1fr;gap:var(--space-2)}.service-detail__number{font-size:var(--step-2)}.gallery-card figcaption{align-items:flex-start;flex-direction:column}.cta-strip__inner,.site-footer__bottom{align-items:flex-start;flex-direction:column;justify-content:center}.site-footer__grid>:first-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important}.reveal{opacity:1;transform:none}}
