@font-face{font-family:"DM Sans";src:url(fonts/DMSans.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Libre Caslon Display";src:url(fonts/LibreCaslonDisplay.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--ink:#263b32;--ink2:#435a4a;--gold:#a28752;--gold-l:#c9ab70;--paper:#fcfbf7;--card:#fffefa;--muted:#626e65;--line:#dedbcf;--sage:#f0f2ec;--sage-b:#bbc5b5;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:100}.skip:focus{left:8px}
.eyebrow{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.center .eyebrow,.section-head.center .eyebrow{justify-content:center}
.eyebrow-light{color:var(--gold-l)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold-l);box-shadow:0 0 0 0 #c9ab7099;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 #c9ab7099}70%{box-shadow:0 0 0 9px #c9ab7000}100%{box-shadow:0 0 0 0 #c9ab7000}}
h2{font:400 44px/1.08 var(--serif);letter-spacing:-.02em}
h2 em,h1 em{color:var(--gold);font-weight:400}
.lede{color:var(--muted);font-size:18px;max-width:640px;margin-top:16px}
.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}
.section{padding:104px 0}
.section-head{margin-bottom:52px;max-width:760px}
.section-head.center{margin-left:auto;margin-right:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:600 16px/1 var(--sans);padding:17px 26px;border-radius:3px;border:1px solid var(--ink);transition:background .15s,transform .15s}
.btn:hover{background:var(--ink2);transform:translateY(-1px)}
.btn-gold{background:var(--gold-l);border-color:var(--gold-l);color:var(--ink)}
.btn-gold:hover{background:#d6bb84}
.btn-sm{padding:11px 16px;font-size:14px}
.btn-lg{padding:20px 32px;font-size:18px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fcfbf7f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{text-decoration:none;display:flex;align-items:center;gap:10px}
.mark{width:31px;height:36px;stroke:var(--gold);fill:none;stroke-width:1.25}
.wordmark{font:29px/1 var(--serif)}
.wordmark small{display:block;font:600 8px var(--sans);letter-spacing:.35em;color:var(--gold);margin-top:6px}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{text-decoration:none;font-size:15px;color:var(--muted)}
.nav a:hover{color:var(--ink)}

/* hero */
.hero{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;min-height:660px;display:flex;align-items:center}
.hero-photos{position:absolute;top:0;bottom:0;right:0;left:44%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px}
.hp{background-size:cover;background-position:center;filter:saturate(.75)}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#263b32 0%,#263b32 44%,#263b32bb 50%,#263b3233 64%,#263b3214 100%)}
.hero-inner{position:relative;padding-top:96px;padding-bottom:88px;width:100%}
.hero h1{font:400 72px/1.02 var(--serif);letter-spacing:-.025em;max-width:640px}
.hero h1 em{color:var(--gold-l)}
.hero-sub{font-size:19px;line-height:1.55;color:#d9e0da;max-width:520px;margin-top:24px}
.hero-ctas{display:flex;align-items:center;gap:28px;margin-top:36px;flex-wrap:wrap}
.link-light{color:#e8ece8;text-decoration:none;font-weight:500;border-bottom:1px solid #c9ab7080;padding-bottom:2px}
.link-light:hover{color:#fff;border-color:var(--gold-l)}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:56px}
.hero-tags li{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);border:1px solid #fcfbf759;padding:9px 13px;border-radius:30px;background:#263b3266}

/* dashboard */
.dashboard{background:var(--paper);background-image:linear-gradient(#a2875210 1px,transparent 1px),linear-gradient(90deg,#a2875210 1px,transparent 1px);background-size:120px 120px}
.dashboard .wrap{max-width:1360px}.dash-stage{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:32px;align-items:center;margin-bottom:56px}
.callouts{display:flex;flex-direction:column;gap:40px}
.callouts li{display:flex;gap:14px;align-items:flex-start}
.callouts strong{display:block;font:700 18px/1.25 var(--sans)}
.callouts p{font-size:15px;line-height:1.5;color:var(--muted);margin-top:6px}
.num,.pin{flex:none;width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;font:700 15px/32px var(--sans);text-align:center;box-shadow:0 0 0 4px #fcfbf7}
.dash-shot{margin:0}
.dash-frame{position:relative;border-radius:14px;box-shadow:0 30px 70px -20px #263b3250,0 2px 6px #263b321a}
.dash-frame img{width:100%;height:auto;border-radius:14px}
.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-55%,-60%);box-shadow:0 0 0 4px #fffefa,0 4px 10px #263b3240}
figcaption{margin-top:18px;font-size:13px;color:var(--muted);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.chip{display:inline-block;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1.5px solid var(--gold);padding:6px 9px;border-radius:4px}

/* services */
.services{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:36px 32px 38px}
.svc-feature{background:var(--sage);border-color:var(--sage-b)}
.svc-num{font:600 12px var(--sans);letter-spacing:.2em;color:var(--gold)}
.svc h3{font:400 30px/1.1 var(--serif);letter-spacing:-.01em;margin:16px 0 14px}
.svc p{color:var(--muted);font-size:16px}
.also{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:34px;justify-content:center}
.also li{position:relative;padding-left:24px;font-weight:500}
.also li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.step{padding:36px 36px 8px 0;border-right:1px solid var(--line);margin-right:36px}
.step:last-child{border-right:0;margin-right:0}
.step-num{font:400 52px/1 var(--serif);color:var(--gold)}
.step h3{font:700 21px/1.3 var(--sans);margin:18px 0 10px}
.step p{color:var(--muted);font-size:16px}

/* industries */
.industries{background:var(--sage);border-top:1px solid var(--line)}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ind{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:3/4;background:var(--ink)}
.ind img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .5s}
.ind:hover img{transform:scale(1.04)}
.ind::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#263b32f2 0%,#263b32a0 32%,#263b3200 62%)}
.ind-txt{position:absolute;left:22px;right:22px;bottom:22px;z-index:1;color:var(--paper)}
.ind h3{font:400 30px/1.1 var(--serif)}
.ind p{font-size:15px;line-height:1.45;color:#dbe2dc;margin-top:8px}

/* about */
.about-inner{display:grid;grid-template-columns:400px 1fr;gap:72px;align-items:center}
.about-card{background:var(--ink);border-radius:6px;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--paper);position:relative;overflow:hidden}
.about-card::before{content:"";position:absolute;inset:18px;border:1px solid #c9ab7059;border-radius:3px}
.mark-lg{width:96px;height:112px;stroke:var(--gold-l);stroke-width:1.1}
.wordmark-light{font-size:52px;text-align:center}
.wordmark-light small{font-size:12px;color:var(--gold-l);margin-top:10px}
.formerly{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#aebbb1;margin-top:6px}
.about-txt h2{margin-bottom:26px}
blockquote{font:400 25px/1.35 var(--serif);border-left:3px solid var(--gold);padding:4px 0 4px 24px;margin-bottom:24px}
cite{display:block;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:14px;font-style:normal}
.about-txt>p{color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.facts strong{display:block;font:400 32px/1.1 var(--serif)}
.facts span{display:block;font-size:14px;color:var(--muted);margin-top:6px}

/* final */
.final{background:var(--ink);color:var(--paper);padding:110px 0;text-align:center;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#c9ab7012 1px,transparent 1px),linear-gradient(90deg,#c9ab7012 1px,transparent 1px);background-size:120px 120px}
.final-inner{position:relative}
.final .eyebrow{justify-content:center}
.final h2{font-size:54px;max-width:820px;margin:0 auto}
.final h2 em{color:var(--gold-l)}
.final p{color:#cfd8d1;font-size:18px;max-width:560px;margin:22px auto 38px}

/* footer */
.site-footer{background:var(--paper);border-top:1px solid var(--line);padding:48px 0 28px}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.tagline{font-size:14px;color:var(--muted);margin-top:14px}
.footer-links{display:flex;gap:28px;flex-wrap:wrap}
.footer-links a{text-decoration:none;font-weight:500}
.footer-links a:hover{color:var(--gold)}
.footer-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}

/* responsive */
@media (max-width:1080px){
  .dash-stage{grid-template-columns:1fr 1fr;gap:28px 32px}
  .dash-shot{grid-column:1/-1;order:-1}
  .callouts{gap:28px}
  .nav{gap:22px}
  .about-inner{grid-template-columns:320px 1fr;gap:48px}
}
@media (max-width:900px){
  .nav{display:none}
  .hero h1{font-size:56px}
  .hero-photos{left:0;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}
  .hero-wash{background:linear-gradient(90deg,#263b32eb 0%,#263b32c4 55%,#263b3280 100%)}
  .svc-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;border-top:0}
  .step{border-right:0;margin-right:0;border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:72px 1fr;column-gap:12px}
  .step-num{grid-row:span 2;font-size:44px}
  .step h3{margin:4px 0 6px}
  .ind-grid{grid-template-columns:1fr 1fr}
  .about-inner{grid-template-columns:1fr}
  .about-card{aspect-ratio:auto;padding:44px 20px;max-width:none;order:2}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .header-inner{height:64px}
  .wordmark{font-size:25px}.mark{width:27px;height:32px}
  .btn-sm{padding:10px 13px;font-size:13px}
  .section{padding:72px 0}
  .section-head{margin-bottom:36px}
  h2{font-size:34px}
  .lede{font-size:16px}
  .hero{min-height:0}
  .hero-photos{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .hero-wash{background:linear-gradient(180deg,#263b32cc 0%,#263b32bf 55%,#263b32f0 100%)}
  .hero-inner{padding-top:64px;padding-bottom:56px}
  .hero h1{font-size:44px}
  .hero-sub{font-size:17px;margin-top:18px}
  .hero-ctas{margin-top:28px;gap:20px}
  .hero-ctas .btn{width:100%;justify-content:center}
  .hero-tags{margin-top:36px;gap:8px}
  .hero-tags li{font-size:11px;padding:8px 11px}
  .dash-stage{grid-template-columns:1fr;gap:22px;margin-bottom:40px}
  .callouts{gap:22px}
  .pin{left:var(--mx);top:var(--my);width:26px;height:26px;font-size:12px;line-height:26px;box-shadow:0 0 0 3px #fffefa}
  .dash-frame,.dash-frame img{border-radius:8px}
  .svc{padding:28px 24px}
  .svc h3{font-size:27px}
  .also{flex-direction:column;align-items:flex-start;gap:10px}
  .ind-grid{grid-template-columns:1fr;gap:14px}
  .ind{aspect-ratio:16/10}
  .ind img{object-position:center 40%}
  .ind h3{font-size:27px}
  .wordmark-light{font-size:42px}
  blockquote{font-size:21px;padding-left:18px}
  .facts{grid-template-columns:1fr;gap:16px}
  .facts li{display:flex;align-items:baseline;gap:14px}
  .facts strong{font-size:28px;min-width:118px}
  .facts span{margin-top:0}
  .final{padding:80px 0}
  .final h2{font-size:38px}
  .final p{font-size:16px}
  .btn-lg{width:100%;justify-content:center}
  .footer-base{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dot{animation:none}.btn,.ind img{transition:none}}
