*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:'Mukta',system-ui,sans-serif;font-size:17px;line-height:1.62;color:#1a1e26;background:#f5efe2;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:'Antonio',sans-serif;font-weight:600;line-height:1.1;letter-spacing:-.005em;margin:0 0 .6em;color:#1a1e26}h1{font-size:clamp(2.4rem,5.5vw,3.85rem);letter-spacing:-.015em}h2{font-size:clamp(1.85rem,3.6vw,2.65rem)}h3{font-size:clamp(1.35rem,2.2vw,1.7rem)}h4{font-size:1.18rem}p{margin:0 0 1.05em}a{color:#a07300;text-decoration:none;transition:color .18s ease}a:hover,a:focus{color:#1a1e26}img,picture,svg{max-width:100%;height:auto;display:block}ul,ol{padding-left:1.25em;margin:0 0 1.1em}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:1180px;padding:0 22px;margin:0 auto}.eyebrow{font-family:'Antonio',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#a07300;margin:0 0 .85em;font-weight:600}.lead{font-size:1.08rem;color:#3c424d;max-width:60ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:'Antonio',sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;min-height:46px;border:1px solid transparent;border-radius:2px;background:#1a1e26;color:#f5efe2;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;cursor:pointer}.btn:hover,.btn:focus{transform:translateY(-1px);background:#d4a017;color:#1a1e26}.btn-ghost{background:transparent;color:#1a1e26;border-color:#1a1e26}.btn-ghost:hover,.btn-ghost:focus{background:#1a1e26;color:#f5efe2}.btn-ochre{background:#d4a017;color:#1a1e26}.btn-ochre:hover,.btn-ochre:focus{background:#1a1e26;color:#f5efe2}

/* Header */
.site-shell{position:sticky;top:0;z-index:50;background:#f5efe2;border-bottom:1px solid rgba(26,30,38,.08)}.shell-strip{background:#1a1e26;color:#f5efe2;font-size:.85rem}.shell-strip-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 22px;gap:14px;flex-wrap:wrap}.strip-tag{font-family:'Antonio',sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;color:#d4a017}.shell-strip a{color:#f5efe2}.shell-strip a:hover{color:#d4a017}.strip-sep{opacity:.45;margin:0 .35em}.nav-row{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:18px}.brand-mark{display:flex;align-items:center;gap:.7em;text-decoration:none;color:#1a1e26}.brand-glyph{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#1a1e26;color:#d4a017;font-family:'Antonio',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.05em;border-radius:2px}.brand-words{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-family:'Antonio',sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:.01em}.brand-sub{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#7a9070;font-weight:600}.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.nav-toggle span{display:block;width:22px;height:2px;background:#1a1e26;transition:transform .18s ease,opacity .18s ease}.primary-nav{display:flex;align-items:center;gap:34px}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:26px;margin:0;padding:0}.primary-nav a{font-family:'Antonio',sans-serif;font-size:.98rem;letter-spacing:.04em;text-transform:uppercase;color:#1a1e26;font-weight:500;padding:6px 0;position:relative}.primary-nav a:hover,.primary-nav a.has-active{color:#a07300}.primary-nav a.has-active::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:2px;background:#d4a017}.nav-cta{font-family:'Antonio',sans-serif;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;padding:11px 18px;background:#d4a017;color:#1a1e26;font-weight:600;border-radius:2px;text-decoration:none}.nav-cta:hover,.nav-cta:focus{background:#1a1e26;color:#d4a017}

/* Hero */
.hero-stage{position:relative;padding:88px 0 96px;overflow:hidden;background:linear-gradient(180deg,#f5efe2 0%,#ebe3cf 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero-copy h1 span.hl{color:#a07300;font-style:italic;font-weight:500}.hero-copy .lead{font-size:1.15rem;color:#3c424d;margin-bottom:1.6em}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-frame{position:relative;border-radius:3px;overflow:hidden;background:#1a1e26;aspect-ratio:5/4}.hero-frame img{width:100%;height:100%;object-fit:cover;display:block}.hero-badge{position:absolute;left:-14px;bottom:24px;background:#d4a017;color:#1a1e26;padding:13px 18px;font-family:'Antonio',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;line-height:1.3}.hero-badge strong{display:block;font-size:1.6rem;letter-spacing:0}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;border-top:1px solid rgba(26,30,38,.15);padding-top:34px}.metric-tile{display:flex;flex-direction:column;gap:6px}.metric-num{font-family:'Antonio',sans-serif;font-size:2.3rem;font-weight:700;color:#1a1e26;line-height:1}.metric-label{font-size:.88rem;color:#3c424d;line-height:1.4}

/* Sections */
.section{padding:78px 0}.section.has-paper{background:#f5efe2}.section.has-cream{background:#ebe3cf}.section.has-charcoal{background:#1a1e26;color:#f5efe2}.section.has-charcoal h1,.section.has-charcoal h2,.section.has-charcoal h3{color:#f5efe2}.section.has-charcoal .eyebrow{color:#d4a017}.section.has-charcoal .lead{color:rgba(245,239,226,.78)}.section-head{display:grid;grid-template-columns:1.25fr 1fr;gap:46px;align-items:end;margin-bottom:46px}.section-head .head-aside{padding-top:6px}.section-head-c{text-align:center;max-width:680px;margin:0 auto 46px}

/* Promise / about pillars */
.pillar-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:18px}.pillar-card{background:#fff;border-left:3px solid #d4a017;padding:30px 26px}.pillar-card h3{font-size:1.25rem;margin-bottom:.45em}.pillar-card p{font-size:.97rem;color:#3c424d;margin-bottom:0}.section.has-charcoal .pillar-card{background:rgba(245,239,226,.06);border-left-color:#d4a017}.section.has-charcoal .pillar-card p{color:rgba(245,239,226,.78)}

/* Services grid */
.svc-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.svc-tile{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:inherit;border:1px solid rgba(26,30,38,.06);transition:transform .22s ease,border-color .22s ease}.svc-tile:hover{transform:translateY(-4px);border-color:#d4a017}.svc-tile picture,.svc-tile img{display:block;width:100%;height:200px;object-fit:cover}.svc-tile-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}.svc-tile h3{font-size:1.18rem;margin-bottom:.3em}.svc-tile p{font-size:.95rem;color:#3c424d;flex:1}.svc-tile .more{margin-top:14px;font-family:'Antonio',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#a07300;font-weight:600}

/* Process timeline */
.process-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}.process-step{counter-increment:step;position:relative;padding:34px 22px 26px;background:#f5efe2;border:1px solid rgba(26,30,38,.08)}.section.has-charcoal .process-step{background:rgba(245,239,226,.04);border-color:rgba(245,239,226,.12)}.process-step::before{content:counter(step,decimal-leading-zero);position:absolute;top:-18px;left:18px;background:#d4a017;color:#1a1e26;font-family:'Antonio',sans-serif;font-weight:700;font-size:1.1rem;padding:6px 12px;letter-spacing:.05em}.process-step h3{font-size:1.1rem;margin-bottom:.4em}.process-step p{font-size:.94rem;color:#3c424d;margin-bottom:0}.section.has-charcoal .process-step p{color:rgba(245,239,226,.75)}

/* Projects */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-tile{position:relative;overflow:hidden;background:#1a1e26;aspect-ratio:4/3;border-radius:2px}.project-tile picture,.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .25s ease}.project-tile:hover img{transform:scale(1.04);opacity:.78}.project-meta{position:absolute;left:18px;bottom:16px;color:#f5efe2;font-family:'Antonio',sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;text-shadow:0 1px 14px rgba(0,0,0,.55)}.project-meta strong{display:block;font-size:1.08rem;margin-bottom:2px;font-weight:600}.project-meta span{opacity:.85;font-size:.78rem}

/* Testimonials */
.quote-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quote-card{background:#fff;padding:28px 26px;border-top:3px solid #7a9070;display:flex;flex-direction:column;gap:14px}.quote-card blockquote{margin:0;font-size:1.02rem;color:#1a1e26;line-height:1.55;font-style:italic}.quote-card cite{display:block;font-style:normal;font-family:'Antonio',sans-serif;font-size:.95rem;letter-spacing:.04em;color:#1a1e26;margin-top:auto}.quote-card cite small{display:block;font-family:'Mukta',sans-serif;font-size:.82rem;color:#3c424d;letter-spacing:0;text-transform:none;margin-top:3px;font-weight:400}

/* FAQ */
.faq-stack{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}details.faq-item{background:#fff;border:1px solid rgba(26,30,38,.08);padding:0}details.faq-item summary{padding:20px 24px;font-family:'Antonio',sans-serif;font-size:1.05rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#1a1e26}details.faq-item summary::-webkit-details-marker{display:none}details.faq-item summary::after{content:'+';font-size:1.4rem;color:#a07300;flex:0 0 auto;line-height:1;font-weight:400;transition:transform .2s ease}details.faq-item[open] summary::after{content:'\2013'}details.faq-item .faq-body{padding:0 24px 22px;color:#3c424d;font-size:.99rem}details.faq-item .faq-body p:last-child{margin-bottom:0}

/* Two-col blocks */
.split-block{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split-block .split-media img{border-radius:2px;width:100%;height:auto;display:block}.split-block.has-flip{direction:rtl}.split-block.has-flip>*{direction:ltr}

/* CTA strip */
.cta-strip{background:#d4a017;color:#1a1e26;padding:54px 0}.cta-strip .cta-row{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center}.cta-strip h2{margin:0 0 .35em;color:#1a1e26}.cta-strip p{margin:0;color:#3c424d}.cta-strip .cta-actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}.cta-strip .btn{background:#1a1e26;color:#f5efe2;border-color:#1a1e26}.cta-strip .btn:hover{background:#f5efe2;color:#1a1e26}

/* Service detail page */
.svc-hero{padding:64px 0 56px;background:#1a1e26;color:#f5efe2}.svc-hero h1{color:#f5efe2}.svc-hero .eyebrow{color:#d4a017}.svc-hero .lead{color:rgba(245,239,226,.8);max-width:62ch}.svc-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:46px;align-items:center}.svc-hero-frame img{border-radius:2px;width:100%}.svc-bullets{padding-left:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;margin:36px 0}.svc-bullets li{position:relative;padding-left:30px;font-size:.99rem;color:#3c424d}.svc-bullets li::before{content:'';position:absolute;left:0;top:.45em;width:18px;height:2px;background:#d4a017}.svc-meta-block{background:#ebe3cf;padding:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.svc-meta-block dt{font-family:'Antonio',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#a07300;margin:0 0 4px;font-weight:600}.svc-meta-block dd{margin:0 0 6px;font-size:1rem;color:#1a1e26;font-weight:500}

/* Article / dispatches */
.article-shell{padding:64px 0 80px}.article-meta{font-family:'Antonio',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#a07300;font-size:.82rem;margin-bottom:18px}.article-body{max-width:760px;margin:0 auto}.article-body h1{margin-bottom:.6em}.article-body p,.article-body li{font-size:1.06rem;line-height:1.7;color:#1f242e}.article-body figure{margin:42px 0}.article-body figure img{border-radius:2px}.article-body figcaption{font-size:.88rem;color:#3c424d;margin-top:10px;text-align:center}.article-body blockquote{border-left:3px solid #d4a017;padding-left:24px;font-style:italic;color:#1a1e26;margin:32px 0;font-size:1.12rem}.dispatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dispatch-card{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:inherit;border:1px solid rgba(26,30,38,.06)}.dispatch-card picture,.dispatch-card img{width:100%;height:200px;object-fit:cover}.dispatch-card-body{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}.dispatch-card h3{font-size:1.12rem;margin:.2em 0 .4em}.dispatch-card .article-meta{margin-bottom:.6em}.dispatch-card p{font-size:.95rem;color:#3c424d;flex:1}.dispatch-card .more{margin-top:14px;font-family:'Antonio',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#a07300;font-weight:600}

/* Contact form */
.contact-shell{padding:72px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-info h2{margin-bottom:.4em}.contact-info dl{margin:24px 0 0;display:grid;grid-template-columns:auto 1fr;gap:14px 22px}.contact-info dt{font-family:'Antonio',sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#a07300;font-weight:600}.contact-info dd{margin:0;color:#1a1e26;font-size:1rem}.contact-info dd a{color:#1a1e26;border-bottom:1px solid rgba(26,30,38,.18)}.contact-info dd a:hover{color:#a07300;border-color:#a07300}.contact-form{background:#fff;padding:38px 34px;border-top:3px solid #d4a017}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-family:'Antonio',sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#1a1e26;font-weight:600}.field input,.field select,.field textarea{font:inherit;color:#1a1e26;background:#f5efe2;border:1px solid rgba(26,30,38,.18);padding:13px 14px;min-height:46px;font-size:16px;border-radius:2px;transition:border-color .18s ease,background .18s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#d4a017;background:#fff}.field textarea{min-height:140px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-honey{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}.form-msg{padding:14px 18px;margin-bottom:18px;background:#fdecea;border:1px solid #d97a6c;color:#5b2a23;font-size:.95rem;border-radius:2px}.form-msg.has-success{background:#e7f1eb;border-color:#7a9070;color:#274135}

/* Policy / long-form */
.policy-shell{padding:64px 0 80px}.policy-shell .policy-body{max-width:780px;margin:0 auto}.policy-shell h1{margin-bottom:.6em}.policy-shell h2{margin-top:1.8em;font-size:1.45rem}.policy-shell p,.policy-shell li{color:#1f242e;font-size:1.02rem}.policy-shell .policy-meta{color:#3c424d;font-size:.92rem;margin-bottom:2em}

/* 404 */
.notfound-shell{padding:90px 0;text-align:center}.notfound-shell h1{font-size:clamp(4rem,12vw,8rem);letter-spacing:-.04em;margin-bottom:.1em}.notfound-shell p{max-width:48ch;margin:0 auto 28px;color:#3c424d}

/* Footer */
.site-base{background:#1a1e26;color:#f5efe2;padding:62px 0 0;margin-top:0}.site-base a{color:#f5efe2}.site-base a:hover{color:#d4a017}.base-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:42px;padding-bottom:48px}.brand-mark-foot .brand-glyph{background:#d4a017;color:#1a1e26}.brand-mark-foot .brand-name,.brand-mark-foot .brand-sub{color:#f5efe2}.brand-mark-foot .brand-sub{color:#d4a017}.base-blurb{margin-top:18px;color:rgba(245,239,226,.7);font-size:.96rem;line-height:1.65}.base-head{font-family:'Antonio',sans-serif;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#d4a017;margin:0 0 18px;font-weight:600}.base-list{list-style:none;padding:0;margin:0}.base-list li{margin-bottom:9px}.base-list a{font-size:.97rem;color:rgba(245,239,226,.82)}.base-address{font-style:normal;color:rgba(245,239,226,.82);font-size:.96rem;line-height:1.6;margin-bottom:14px}.base-contact{font-size:.97rem;color:rgba(245,239,226,.82);line-height:1.7;margin-bottom:10px}.base-contact a{color:rgba(245,239,226,.95);border-bottom:1px solid rgba(245,239,226,.25)}.base-hours{font-size:.88rem;color:rgba(245,239,226,.65);margin:0}.base-strip{border-top:1px solid rgba(245,239,226,.1);padding:20px 0;background:#13161c}.base-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.strip-legal{margin:0;font-size:.85rem;color:rgba(245,239,226,.55)}.strip-links{display:flex;list-style:none;padding:0;margin:0;gap:18px;flex-wrap:wrap}.strip-links a{font-size:.85rem;color:rgba(245,239,226,.65)}

/* Responsive */
@media (max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:48px}.section-head{grid-template-columns:1fr;gap:24px}.svc-deck,.projects-grid,.dispatch-grid,.quote-rail{grid-template-columns:repeat(2,1fr)}.process-rail{grid-template-columns:repeat(2,1fr)}.base-grid{grid-template-columns:repeat(2,1fr);gap:34px}.split-block{grid-template-columns:1fr;gap:40px}.split-block.has-flip{direction:ltr}.svc-hero-grid{grid-template-columns:1fr;gap:30px}.cta-strip .cta-row{grid-template-columns:1fr;gap:18px}.cta-strip .cta-actions{justify-content:flex-start}}
@media (max-width:760px){.nav-toggle{display:flex}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#f5efe2;border-bottom:1px solid rgba(26,30,38,.1);padding:20px 22px 26px;flex-direction:column;align-items:stretch;gap:18px}.primary-nav.has-open{display:flex}.primary-nav ul{flex-direction:column;gap:14px;align-items:stretch}.primary-nav a{padding:10px 0}.nav-cta{align-self:flex-start}.section{padding:60px 0}.hero-stage{padding:56px 0 70px}.svc-deck,.projects-grid,.dispatch-grid,.quote-rail,.pillar-stack{grid-template-columns:1fr}.process-rail{grid-template-columns:1fr;gap:30px}.hero-metrics{grid-template-columns:1fr;gap:20px}.svc-meta-block{grid-template-columns:1fr}.svc-bullets{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-form{padding:28px 22px}.field-row{grid-template-columns:1fr}.base-grid{grid-template-columns:1fr}.base-strip-inner{justify-content:flex-start}.shell-strip-inner{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 22px}}
@media (max-width:400px){.container{padding:0 18px}h1{font-size:2.2rem}h2{font-size:1.65rem}.btn{padding:12px 20px;font-size:.88rem}}
