:root{--sand:#eee4d2;--sand-deep:#dbc6a6;--forest:#254f3d;--forest-deep:#163b2d;--sage:#83917b;--moss:#606c38;--terracotta:#c56f45;--terracotta-dark:#a95432;--ink:#1e3029}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--sand);color:var(--ink);margin:0;font-family:Avenir Next,Segoe UI,Arial,sans-serif}button,input,textarea{font:inherit}.site-page{background:var(--sand);min-height:60vh;color:var(--ink)}.site-page a{color:inherit}.page-shell{width:min(1240px,100% - 56px);margin-inline:auto}.page-eyebrow{color:var(--terracotta-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-size:.72rem;font-weight:800}.page-title,.page-heading{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:.98}.page-title em,.page-heading em{color:var(--terracotta)}.page-lead{max-width:680px;color:color-mix(in srgb, var(--ink) 76%, transparent);font-size:1.08rem;line-height:1.7}.page-button{background:var(--terracotta);border-radius:999px;justify-content:center;align-items:center;min-height:54px;padding:0 24px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex;color:var(--sand)!important}.page-button:hover{background:var(--terracotta-dark)}.page-button.alt{border:1px solid color-mix(in srgb, var(--forest) 35%, transparent);background:0 0;color:var(--forest)!important}.page-button.alt:hover{background:var(--forest);color:var(--sand)!important}.page-hero{background:linear-gradient(110deg, var(--sand) 0%, color-mix(in srgb, var(--sand) 82%, var(--sage)) 100%);padding:100px 0 118px}.page-hero-grid{grid-template-columns:1.1fr .9fr;align-items:end;gap:8vw;display:grid}.page-hero .page-title{max-width:780px;font-size:clamp(4rem,7vw,7rem)}.page-hero .page-lead{margin:28px 0 0}.page-hero-note{border-left:1px solid color-mix(in srgb, var(--forest) 30%, transparent);align-self:end;max-width:310px;margin:0 0 7px;padding-left:24px;line-height:1.7}.service-overview{padding:105px 0 130px}.service-overview-intro{grid-template-columns:.8fr 1.5fr .85fr;align-items:end;gap:38px;margin-bottom:52px;display:grid}.service-overview-intro .page-heading{font-size:clamp(2.8rem,4.5vw,5.2rem)}.service-overview-intro>p:last-child{max-width:330px;margin:0 0 5px;line-height:1.7}.service-card-list{border-top:1px solid color-mix(in srgb, var(--forest) 23%, transparent)}.service-card{border-bottom:1px solid color-mix(in srgb, var(--forest) 23%, transparent);grid-template-columns:70px 1.45fr 1fr auto;align-items:center;gap:28px;padding:28px 0;text-decoration:none;transition:padding .25s,background .25s;display:grid}.service-card:hover{background:color-mix(in srgb, var(--sage) 14%, transparent);padding-inline:18px}.service-card-number{color:var(--terracotta);font-family:Georgia,serif;font-size:1.2rem}.service-card h2{letter-spacing:-.04em;margin:0 0 9px;font-family:Georgia,serif;font-size:clamp(1.7rem,2.7vw,2.65rem);font-weight:400}.service-card p{max-width:560px;color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0;line-height:1.6}.service-card-tags{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.service-card-tags span{border:1px solid color-mix(in srgb, var(--forest) 28%, transparent);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:.62rem;font-weight:800}.service-card-arrow{color:var(--terracotta);font-size:1.5rem}.service-detail-hero{background:var(--forest-deep);color:var(--sand);padding:82px 0 85px}.service-detail-hero .page-eyebrow{color:var(--sand-deep)}.service-detail-grid{grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw;display:grid}.service-detail-hero .page-title{max-width:800px;font-size:clamp(4rem,7vw,7.2rem)}.service-detail-hero .page-lead{color:color-mix(in srgb, var(--sand) 78%, transparent);margin:28px 0 0}.service-detail-aside{border-left:1px solid color-mix(in srgb, var(--sand) 25%, transparent);padding:22px 0 0 24px}.service-detail-aside p{color:var(--sage);letter-spacing:.1em;text-transform:uppercase;margin:0 0 13px;font-size:.72rem;font-weight:800}.service-detail-aside ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.service-detail-aside li{color:var(--sand);line-height:1.4}.service-detail-body{padding:105px 0 125px}.service-detail-intro{grid-template-columns:.75fr 1.25fr;align-items:start;gap:8vw;margin-bottom:78px;display:grid}.service-detail-intro .page-heading{font-size:clamp(2.7rem,4.5vw,5rem)}.service-detail-intro-copy{max-width:630px}.service-detail-intro-copy p{margin:0 0 24px;line-height:1.75}.service-detail-intro-copy a{color:var(--terracotta-dark);font-weight:800}.service-detail-gallery-heading{justify-content:space-between;align-items:end;gap:20px;margin:95px 0 26px;display:flex}.service-detail-gallery-heading .page-heading{font-size:clamp(2.3rem,3.7vw,4rem)}.service-detail-gallery-heading p{max-width:330px;color:var(--moss);margin:0;font-size:.9rem;line-height:1.6}.project-page{padding:94px 0 125px}.project-page-header{justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px;display:flex}.project-page-header .page-title{font-size:clamp(4rem,7vw,7rem)}.project-page-header .page-lead{margin:22px 0 0}.project-filter{flex-wrap:wrap;gap:8px;display:flex}.project-filter button{border:1px solid color-mix(in srgb, var(--forest) 28%, transparent);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:9px 13px;font-size:.66rem;font-weight:800}.project-filter button[aria-pressed=true],.project-filter button:hover{background:var(--forest);color:var(--sand)}.project-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.project-tile{background:var(--sage);border-radius:24px;min-height:360px;margin:0;position:relative;overflow:hidden}.project-tile:nth-child(3n){min-height:470px}.project-tile img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.project-tile:hover img{transform:scale(1.03)}.project-tile figcaption{background:color-mix(in srgb, var(--forest-deep) 87%, transparent);color:var(--sand);border-radius:15px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-size:.72rem;font-weight:800;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.project-tile figcaption span{color:var(--sand-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.project-note{color:var(--moss);margin-top:24px;font-size:.82rem}.about-page{padding-bottom:125px}.about-page-hero{padding:96px 0 115px}.about-page-hero .page-title{max-width:920px;font-size:clamp(4rem,7vw,7rem)}.about-page-hero .page-lead{margin:30px 0 0}.about-story{background:var(--sand-deep);grid-template-columns:1.05fr .95fr;min-height:600px;display:grid}.about-story-image{border-radius:0 35% 0 0;min-height:600px;overflow:hidden}.about-story-image img{object-fit:cover;width:100%;height:100%;display:block}.about-story-copy{align-self:center;max-width:650px;padding:85px 8vw 85px 7vw}.about-story-copy .page-heading{margin-bottom:25px;font-size:clamp(3rem,5vw,5.8rem)}.about-story-copy p{line-height:1.75}.about-values{background:color-mix(in srgb, var(--forest) 25%, transparent);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;display:grid}.about-value{background:var(--sand);min-height:245px;padding:30px}.about-value:nth-child(2){background:var(--sage)}.about-value:nth-child(3){background:var(--terracotta);color:var(--sand)}.about-value span{opacity:.65;font-family:Georgia,serif;font-size:2.6rem}.about-value h2{letter-spacing:-.03em;margin:45px 0 12px;font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.about-value p{margin:0;line-height:1.55}.contact-page{padding:94px 0 125px}.contact-page-header{margin-bottom:60px}.contact-page-header .page-title{max-width:850px;font-size:clamp(4rem,7vw,7rem)}.contact-page-header .page-lead{margin:28px 0 0}.contact-page-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:8vw;display:grid}.contact-page-details{gap:0;margin-top:16px;display:grid}.contact-page-details a,.contact-page-details div{border-bottom:1px solid color-mix(in srgb, var(--forest) 22%, transparent);gap:5px;padding:18px 0;text-decoration:none;display:grid}.contact-page-details small{color:var(--moss);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.contact-page-details strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.contact-page-cta{margin-top:35px}.contact-page-cta p{color:var(--moss);line-height:1.65}@media (width<=900px){.page-shell{width:min(100% - 40px,720px)}.page-hero-grid,.service-detail-grid,.contact-page-grid{grid-template-columns:1fr;gap:32px}.page-hero-note{max-width:470px}.service-overview-intro{grid-template-columns:.45fr 1.55fr}.service-overview-intro>p:last-child{grid-column:2}.service-card{grid-template-columns:52px 1fr auto}.service-card-tags{grid-column:2;justify-content:flex-start}.service-card-arrow{grid-area:1/3}.about-story{grid-template-columns:.8fr 1.2fr}}@media (width<=680px){.page-shell{width:min(100% - 32px,560px)}.page-hero,.about-page-hero{padding:70px 0 80px}.page-hero .page-title,.about-page-hero .page-title,.contact-page-header .page-title,.project-page-header .page-title{font-size:clamp(3.3rem,15vw,5rem)}.page-hero-note{padding-left:16px;font-size:.92rem}.service-overview{padding:78px 0 90px}.service-overview-intro{margin-bottom:34px;display:block}.service-overview-intro .page-heading{margin-bottom:20px;font-size:clamp(2.7rem,12vw,4rem)}.service-overview-intro>p:last-child{margin:0}.service-card{grid-template-columns:38px 1fr auto;gap:10px;padding:24px 0}.service-card:hover{padding-inline:8px}.service-card h2{font-size:1.75rem}.service-card p{font-size:.92rem}.service-card-tags{grid-column:2/4}.service-detail-hero{padding:64px 0 70px}.service-detail-hero .page-title{font-size:clamp(3.5rem,15vw,5rem)}.service-detail-body{padding:75px 0 90px}.service-detail-intro{margin-bottom:55px;display:block}.service-detail-intro .page-heading{margin-bottom:25px;font-size:clamp(2.8rem,12vw,4rem)}.service-detail-gallery-heading{margin-top:66px;display:block}.service-detail-gallery-heading .page-heading{margin-bottom:16px}.project-page,.contact-page{padding:70px 0 90px}.project-page-header{margin-bottom:34px;display:block}.project-filter{margin-top:25px}.project-grid{grid-template-columns:1fr}.project-tile,.project-tile:nth-child(3n){min-height:300px}.about-page{padding-bottom:90px}.about-story{display:block}.about-story-image{border-radius:0 0 35%;min-height:430px}.about-story-copy{padding:65px 24px}.about-values{grid-template-columns:1fr;margin-top:45px}.about-value{min-height:auto}.contact-page-header{margin-bottom:40px}}
