:root{--ink:#222527;--dark:#272727;--muted:#606568;--gold:#86631d;--gold-light:#edcb77;--line:#dadcdb;--soft:#f4f5f3;--white:#fff;--max:1264px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:1rem;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b78a30;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.13}h1,h2{font-family:var(--serif);letter-spacing:-.035em}h1{font-size:clamp(2.65rem,4.9vw,4.8rem)}h2{font-size:clamp(2.1rem,3.8vw,3.5rem)}h3{font-size:1.5rem;letter-spacing:-.025em}p+p{margin-top:1.2rem}em{font-weight:400}.wrap{width:min(var(--max),calc(100% - 6rem));margin-inline:auto}.section{padding-block:6rem}.section-soft{background:var(--soft)}.eyebrow{display:block;color:var(--gold);font-size:.8125rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1.1rem}.lead{font-size:1.1875rem;line-height:1.65;color:var(--muted)}.small{font-size:.875rem;color:var(--muted)}.skip-link{position:absolute;left:1rem;top:-6rem;z-index:50;background:var(--gold-light);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{background:var(--dark);border-top:3px solid var(--gold-light);color:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:142px;padding-block:12px}.brand{display:block;flex-shrink:0;width:216px;text-decoration:none}.brand img{width:216px;height:auto}.brand-caption{display:block;text-align:center;letter-spacing:.28em;font-size:.75rem;color:#f1e2bd;margin-top:2px}.nav{display:flex;align-items:center;gap:2rem}.nav a{position:relative;text-decoration:none;color:#eee;font-size:.9375rem;padding:.8rem 0}.nav a[aria-current="page"]::after{content:"";position:absolute;bottom:.25rem;left:0;right:0;height:2px;background:var(--gold-light)}.nav a:hover{color:var(--gold-light)}.nav .nav-contact{padding:.7rem 1.25rem;border:1px solid #b39a60;color:var(--gold-light)}.nav .nav-contact[aria-current="page"]::after{display:none}.nav .nav-contact[aria-current="page"]{background:var(--gold-light);color:var(--dark)}.menu-button{display:none;background:transparent;border:1px solid #8d8270;color:white;min-width:74px;min-height:46px;cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;gap:1.6rem;min-height:50px;padding:.8rem 1.35rem;text-decoration:none;font-size:.9375rem;font-weight:600;background:var(--ink);color:white;border:1px solid var(--ink);transition:background .18s,color .18s}.button:hover{background:#45494b}.button.secondary{background:transparent;color:var(--ink);border-color:#999}.button.secondary:hover{background:#eceeeb}.button.gold{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light)}.button.gold:hover{background:#f8d994}.button.light{background:transparent;border-color:#777;color:#fff}.button.light:hover{background:#3c3c3c}.button svg,.text-link svg{width:18px;height:18px;flex-shrink:0}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.text-link{display:inline-flex;align-items:center;gap:1.1rem;text-decoration:none;border-bottom:1px solid #b2b4b1;padding-bottom:.45rem;font-size:.9375rem;font-weight:600}.text-link:hover{color:var(--gold);border-color:var(--gold)}.home-hero{display:grid;grid-template-columns:44% 56%;background:#f4f5f3;min-height:612px}.hero-copy{padding:4.8rem 3rem 4.5rem max(3rem,calc((100vw - var(--max))/2));align-self:center}.hero-copy h1{margin-bottom:1.6rem}.hero-copy h1 em{color:var(--gold)}.hero-copy .lead{max-width:28rem;font-size:1.0625rem}.hero-photo{margin:0;display:flex;flex-direction:column;min-width:0;background:var(--dark)}.hero-photo img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:58% center;flex:1}.hero-photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.6rem;color:#f4eee2;font-size:.8125rem}.hero-photo figcaption span{color:#c8c4ba}.sector-band{border-bottom:1px solid var(--line)}.sector-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.5rem}.sector-inner span{font-size:.875rem;color:var(--muted)}.sector-inner strong{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.8rem}.section-heading h2{max-width:41rem}.section-heading .lead{max-width:25rem;font-size:1.0625rem}.section-heading .text-link{flex-shrink:0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start}.intro-grid .lead{margin-bottom:1.7rem}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}.work-tile{text-decoration:none;display:block;min-width:0}.work-tile .image-frame{overflow:hidden;background:var(--soft);margin-bottom:1.25rem;aspect-ratio:4/3}.work-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.work-tile:hover img{transform:scale(1.025)}.work-tile .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:.6rem}.work-tile h3{font-family:var(--serif);font-size:1.8rem;margin-bottom:.6rem}.work-tile p{color:var(--muted);font-size:.9375rem}.capability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem}.capability{padding:1.8rem 0;border-top:1px solid var(--line)}.capability .number{display:block;color:var(--gold);font-size:.8125rem;margin-bottom:1.5rem}.capability h3{font-size:1.25rem;margin-bottom:.8rem}.capability p{color:var(--muted);font-size:1rem}.callout{background:var(--dark);color:#fff}.callout-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:4rem}.callout-inner h2{font-size:clamp(2rem,3.2vw,3rem);max-width:44rem}.callout .eyebrow{color:var(--gold-light)}.callout-inner p{color:#c8cbca;max-width:38rem;margin-top:1rem}.callout-inner .button{flex-shrink:0}.page-intro{padding-block:4.2rem 3.4rem;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.8125rem;color:var(--muted);margin-bottom:2.8rem}.breadcrumb a{text-decoration:none}.breadcrumb span{padding:0 .7rem}.page-intro .intro-row{display:grid;grid-template-columns:1fr .72fr;gap:4rem;align-items:end}.page-intro .lead{max-width:36rem}.page-intro .eyebrow{margin-bottom:1rem}.feature-figure img{width:100%;max-height:510px;object-fit:cover}.feature-figure figcaption{font-size:.8125rem;color:var(--muted);padding-top:.8rem}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.about-body h2{margin-bottom:1.6rem}.about-body p{color:var(--muted)}.facts{margin:2.8rem 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:0 2rem}.facts>div{padding:1.25rem 0;border-bottom:1px solid var(--line)}dt{font-size:.8125rem;color:var(--muted);margin-bottom:.45rem}dd{margin:0;font-size:1.0625rem}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.principle{border-top:2px solid var(--gold);padding-top:1.4rem}.principle h3{margin-bottom:.8rem}.principle p{color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.6rem 2.4rem;align-items:start}.project{min-width:0;scroll-margin-top:2rem}.project-cover{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8e9e5}.project-head{padding:1.5rem 0 1.25rem}.project-head .eyebrow{font-size:.75rem;margin-bottom:.5rem}.project-head h2{font-size:2rem;margin-bottom:.5rem}.project-location{font-size:.9375rem;color:var(--muted);margin-bottom:1rem}.project-scope{font-size:1rem;max-width:36rem}.project details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project summary{padding:.85rem .2rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9375rem;font-weight:600;list-style:none}.project summary::-webkit-details-marker{display:none}.project summary::after{content:"+";font-size:1.5rem;font-weight:400}.project details[open] summary::after{content:"−"}.project-details{padding:.5rem 0 1.3rem}.project-details dl{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin:0 0 1.5rem}.project-details dt{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.project-details dd{font-size:.9375rem}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery.single{grid-template-columns:1fr}.gallery a{display:block}.gallery img{width:100%;height:190px;object-fit:contain;background:#eceeea}.gallery figcaption{font-size:.8125rem;color:var(--muted);padding-top:.4rem}.portfolio-note{color:var(--muted);font-size:.875rem;max-width:54rem;padding-top:2rem}.reference-list{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem 4rem}.reference{border-top:1px solid var(--line);padding-top:1.4rem}.reference h3{margin-bottom:.6rem}.reference p{color:var(--muted)}.reference .small{margin-top:.7rem;font-size:.875rem}.service-row{display:grid;grid-template-columns:4.5rem 1fr 1fr;gap:2rem;padding:2.7rem 0;border-top:1px solid var(--line);scroll-margin-top:1rem}.service-number{font-family:var(--serif);font-size:2rem;color:var(--gold)}.service-row h2{font-size:2rem;margin-bottom:1rem}.service-row p{color:var(--muted)}.service-row ul{margin:0;padding-left:1.2rem}.service-row li+li{margin-top:.45rem}.service-row .text-link{margin-top:1.4rem}.materials-note{padding:1.5rem;border-left:3px solid var(--gold);background:var(--soft);font-size:.9375rem;color:var(--muted);margin-bottom:2rem}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.product-card{padding-top:1.5rem;border-top:1px solid var(--line)}.product-card h3{font-size:1.3rem;margin-bottom:1rem}.product-card p{color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem}.contact-main h2{margin-bottom:2rem}.contact-item{padding:1.4rem 0;border-top:1px solid var(--line)}.contact-label{display:block;font-size:.8125rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.contact-item a{display:inline-block;font-size:clamp(1.25rem,2.3vw,1.9rem);text-decoration:none;overflow-wrap:anywhere}.contact-item a:hover{color:var(--gold)}.contact-item address{font-size:1.1rem;font-style:normal}.contact-aside{background:var(--soft);padding:2.4rem;border-top:3px solid var(--gold);align-self:start}.contact-aside h3{font-family:var(--serif);font-size:1.85rem;margin-bottom:1rem}.contact-aside p{color:var(--muted)}.contact-aside ul{padding-left:1.2rem;margin:1.6rem 0}.contact-aside li+li{margin-top:.6rem}.profile-strip{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.site-footer{background:var(--dark);color:#efefed;border-top:1px solid #50504b}.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:4rem;padding-block:3.5rem}.footer-brand{width:180px}.footer-brand img{width:180px}.footer-tagline{font-size:.9375rem;color:#bdbfbd;max-width:23rem;margin-top:1.25rem}.footer-title{font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);margin-bottom:1.3rem}.footer-links{display:flex;flex-direction:column;align-items:start;gap:.65rem}.footer-links a{font-size:.9375rem;text-decoration:none}.footer-links a:hover{text-decoration:underline;color:var(--gold-light)}.footer-contact{font-size:.9375rem;color:#d5d7d4}.footer-contact a{overflow-wrap:anywhere}.footer-contact address{font-style:normal;margin-top:1rem}.footer-bottom{border-top:1px solid #50504b;padding-block:1.3rem;display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem;color:#bdbfbd}.error-content{padding:6rem 0;min-height:45vh}.error-content h1{margin-bottom:1.5rem}
@media(min-width:1600px){.home-hero{max-width:1680px;margin:auto}.hero-copy{padding-left:6rem}}
@media(max-width:1080px){.wrap{width:calc(100% - 4rem)}.nav{gap:1.25rem}.brand,.brand img{width:185px}.header-inner{min-height:124px}.hero-copy{padding:3rem 2rem}.hero-copy h1{font-size:3.3rem}.home-hero{grid-template-columns:46% 54%;min-height:580px}.hero-photo img{min-height:490px}.intro-grid{gap:3rem}.about-body{gap:3rem}.contact-layout{gap:3rem}.hero-photo figcaption{flex-direction:column;gap:.15rem;font-size:.75rem}.footer-grid{gap:2rem}.page-intro .intro-row{gap:3rem}}
@media(max-width:840px){.header-inner{position:relative;flex-wrap:wrap;gap:0}.menu-button{display:block}.js .nav{display:none}.js .nav.open{display:flex}.nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:1.2rem 0}.nav a{padding:.8rem}.nav a[aria-current="page"]::after{bottom:.2rem;left:.8rem;right:auto;width:2rem}.nav .nav-contact{margin-top:.7rem;text-align:center}.home-hero{grid-template-columns:1fr}.hero-copy{padding:3.5rem 2rem}.hero-copy h1{font-size:clamp(3rem,8vw,4.5rem);max-width:38rem}.hero-copy .lead{max-width:35rem}.hero-photo img{min-height:0;height:auto;max-height:480px;aspect-ratio:16/10}.hero-photo figcaption{flex-direction:row;font-size:.8125rem}.sector-inner{flex-wrap:wrap;gap:1rem 2rem;justify-content:flex-start}.sector-inner span{width:100%}.section{padding-block:4rem}.section-heading{gap:2rem;align-items:start}.intro-grid{grid-template-columns:1fr;gap:2rem}.capability-list{grid-template-columns:1fr 1fr}.three-grid{gap:1rem}.work-tile h3{font-size:1.5rem}.page-intro .intro-row{grid-template-columns:1fr;gap:1.5rem}.page-intro{padding-block:2.5rem}.breadcrumb{margin-bottom:2rem}.about-body{grid-template-columns:1fr}.principles{gap:1.5rem}.portfolio-grid{gap:3rem 1.6rem}.project-head h2{font-size:1.7rem}.project-details dl{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.service-row{grid-template-columns:2.5rem 1fr;gap:1.5rem}.service-row .service-items{grid-column:2}.contact-layout{grid-template-columns:1fr}.callout-inner{flex-direction:column;align-items:start;gap:2rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-company{grid-column:1/-1}.footer-tagline{max-width:33rem}}
@media(max-width:580px){.wrap{width:calc(100% - 2.5rem)}.brand,.brand img{width:166px}.header-inner{min-height:118px}.hero-copy{padding:3rem 1.25rem}.hero-copy h1{font-size:3.1rem}.hero-photo img{aspect-ratio:4/3}.hero-photo figcaption{padding:1rem 1.25rem;flex-direction:column;gap:.2rem}.sector-inner{gap:.65rem 1.5rem}.sector-inner strong{font-size:.75rem}.section-heading{flex-direction:column;gap:1.5rem}.section{padding-block:3.4rem}.three-grid,.portfolio-grid,.principles,.product-grid,.reference-list{grid-template-columns:1fr}.three-grid{gap:2.3rem}.work-tile h3{font-size:1.9rem}.capability-list{grid-template-columns:1fr}.capability .number{margin-bottom:1rem}.page-intro h1{font-size:2.8rem}.facts{gap:0 1.2rem}.facts dd{font-size:1rem}.portfolio-grid{gap:3.5rem}.project-cover{aspect-ratio:4/3}.project-head h2{font-size:1.9rem}.project-details dl{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:150px}.reference-list{gap:2rem}.service-row{grid-template-columns:2rem 1fr;gap:1rem}.service-row h2{font-size:1.65rem}.service-number{font-size:1.5rem}.service-row ul{padding-left:1rem}.contact-aside{padding:1.5rem}.footer-grid{grid-template-columns:1fr;gap:2.3rem}.footer-company{grid-column:auto}.footer-bottom{flex-direction:column;gap:.3rem}.actions{gap:.8rem}.actions .button{padding-inline:1rem}.callout-inner{padding-block:3rem}.principle{padding-top:1.2rem}.lead{font-size:1.0625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
