:root{
  --cream:#e7dcc8;            /* soft warm sand for circular fills / hero box */
  --cream-hover:#ddcfb6;
  --cream-strong:#e7dcc8;
  --cream-strong-hover:#ddcfb6;
  --accent:#b4621f;           /* ochre accent */
  --accent-hover:#9a521a;
  --paper:#f4f1ea;            /* beige page background */
  --paper-tint:#ede9df;       /* slightly deeper beige for alt sections */
  --card:#ffffff;             /* white cards */
  --ink:#1c1a17;
  --ink-3:#26221d;
  --muted-dark:#4a443c;
  --muted:#6b655c;
  --muted-light:#8a8473;
  --muted-section:#8a8473;
  --line:#e3ddd1;
  --line-dark:#d8d1c1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1340px;margin:0 auto;padding:0 40px;width:100%}
.container-narrow{max-width:1040px;margin:0 auto;padding:0 40px;width:100%}

/* HEADER */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0}
.site-header .logo{display:inline-block;font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:clamp(22px,5vw,30px);letter-spacing:.01em;color:var(--ink);text-decoration:none}
.site-header .logo img{max-height:80px;width:auto;margin:0 auto}

/* HERO BANNER */
.hero-banner{
  position:relative;
  min-height:46vh;
  background:
    url('hero.jpg') center/cover no-repeat,
    #2d2d2d;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:90px 24px;
}
.hero-banner .inner{
  max-width:480px;
  background:rgba(255,255,255,.92);
  padding:28px 36px;
  border-radius:4px;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.hero-banner h1{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:42px;letter-spacing:.02em;
  color:#161515;
  line-height:1.15;margin-bottom:14px;
}
.hero-banner p{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.14em;
  font-size:15px;font-weight:600;color:#3a3a3a;
  margin-bottom:24px;
}
.hero-banner .cta{
  display:inline-block;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.143em;font-weight:700;font-size:14px;
  padding:14px 32px;background:#181818;color:#fff;
  border-radius:4px;text-decoration:none;transition:background .2s;
}
.hero-banner .cta:hover{background:var(--accent)}

/* WHAT WE DO */
.whatwedo{padding:64px 0;background:var(--paper-tint)}
.whatwedo-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:stretch;
}
.whatwedo-text h2{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:38px;
  color:var(--muted-light);
  margin-bottom:24px;line-height:1.3;
}
.whatwedo-text h2 .rule{display:block;width:50px;border-bottom:2px solid var(--accent);margin-top:24px}
.whatwedo-text p{font-size:17px;color:var(--muted);margin-bottom:18px;line-height:1.6}
.whatwedo-text p:last-child{margin-bottom:0}
.whatwedo-img{
  width:100%;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  display:flex;align-items:center;justify-content:center;
}
.whatwedo-img img{width:100%;height:100%;object-fit:cover;display:block}

/* SECTIONS */
section.block{padding:80px 0;background:var(--paper)}
section.block.tint{background:var(--paper-tint)}
.section-title{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-size:36px;
  
  text-align:center;
  margin-bottom:48px;
  line-height:1.3;
  color:var(--muted-section);
}
.section-title .rule{
  display:block;width:64px;height:0;
  border-bottom:3px solid var(--accent);
  margin:20px auto 0;
}

/* SERVICES / DOWNLOADS */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.service-card{
  text-align:center;display:flex;flex-direction:column;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:40px 28px;
  transition:transform .2s,box-shadow .2s;
}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.doc-icon{
  width:84px;height:84px;border-radius:50%;
  background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;color:#1b1b1b;
}
.service-card h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:22px;
  color:#1b1b1b;
  margin-bottom:16px;line-height:1.25;
}
.service-card p{font-size:16px;color:#5e5e5e;margin-bottom:24px;line-height:1.5;flex-grow:1}

/* TRADE CARDS */
.trades-section{background:var(--paper)}
.trades-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.trade-card{
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:24px 16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  text-align:center;text-decoration:none;
  color:var(--ink);min-height:130px;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
}
.trade-card svg{color:#75725b;transition:color .15s ease}
.trade-card span{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:600;font-size:15px;color:var(--ink);line-height:1.3;
}
.trade-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border-color:var(--accent);
  background:#fbf8f2;
}
.trade-card:hover svg{color:#3a3a3a}
.trade-card.active{
  background:var(--cream);border-color:#bdb88a;
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

/* MODAL */
.trade-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}
.trade-modal[hidden]{display:none}
.trade-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:fadeIn .2s ease}
.trade-modal-dialog{
  position:relative;background:#fff;border-radius:10px;
  max-width:880px;width:100%;max-height:90vh;overflow-y:auto;
  padding:44px 40px;box-shadow:0 30px 80px rgba(0,0,0,.25);
  animation:modalIn .25s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.trade-modal-close{
  position:absolute;top:16px;right:16px;
  width:36px;height:36px;border-radius:50%;border:none;
  background:#f4f4f4;font-size:24px;line-height:1;cursor:pointer;
  color:#555;transition:background .15s ease;z-index:1;
}
.trade-modal-close:hover{background:#e5e5e5;color:#000}
.trade-modal-title{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:28px;color:#151515;
  margin-bottom:8px;padding-right:48px;
}
.trade-modal-intro{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:28px;max-width:720px}
.trade-modal-body{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 40px}
.trade-modal-body:has(.trade-flat-list){display:block}
.trade-flat-list{list-style:none;margin:0;padding:0;max-width:560px;margin-left:auto;margin-right:auto}
.trade-flat-list li{
  display:flex;align-items:flex-start;gap:14px;
  font-size:15.5px;color:var(--ink);line-height:1.5;
  padding:12px 4px;border-bottom:1px solid var(--paper-tint);
}
.trade-flat-list li:last-child{border-bottom:none}
.trade-flat-list li::before{
  content:"";flex-shrink:0;margin-top:7px;
  width:7px;height:7px;border-radius:50%;
  background:var(--cream);border:1px solid #c9c298;
}

/* PRICING LIST */
.pricing-list li{align-items:center;gap:12px}
.pricing-list .item-name{flex:1;min-width:0}
.pricing-list .cost-wrap{
  position:relative;display:flex;align-items:center;
  background:#fafafa;border:1px solid var(--line);border-radius:6px;
  padding:0 10px;
}
.pricing-list .cost-wrap:focus-within{border-color:#a39a6e;background:#fff;box-shadow:0 0 0 3px rgba(186,178,138,.25)}
.pricing-list .dollar{color:var(--muted-light);font-size:14px;margin-right:2px}
.pricing-list .cost-input{
  border:none;background:transparent;outline:none;
  width:90px;text-align:right;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:15px;
  padding:8px 0;color:var(--ink);
}
.cost-input::-webkit-outer-spin-button,
.cost-input::-webkit-inner-spin-button,
.margin-input::-webkit-outer-spin-button,
.margin-input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
.cost-input,.margin-input{-moz-appearance:textfield}

/* TOTALS */
.trade-totals{
  margin-top:32px;padding-top:24px;
  border-top:2px solid var(--paper-tint);
  max-width:560px;margin-left:auto;margin-right:auto;
}
.total-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 4px;font-size:15px;color:var(--muted-dark);
}
.total-label{display:flex;align-items:center;gap:8px}
.total-value{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.margin-input{
  width:50px;text-align:center;
  border:1px solid var(--line);border-radius:4px;
  background:#fafafa;padding:4px 6px;font-size:14px;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;color:var(--ink);
  outline:none;
}
.margin-input:focus{border-color:#a39a6e;background:#fff}
.grand-total{
  margin-top:8px;padding-top:16px;
  border-top:1px solid var(--paper-tint);
  font-size:18px;
}
.grand-total .total-label{font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;letter-spacing:.05em;color:var(--ink)}
.grand-total .total-value{font-size:22px}
.total-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}
.total-actions button{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  padding:8px 18px;border-radius:4px;border:1px solid var(--line);
  background:#fff;color:var(--muted);cursor:pointer;
  transition:all .15s ease;
}
.total-actions button:hover{background:var(--cream);color:#181818;border-color:var(--cream)}
.total-actions .print-btn{background:var(--cream);color:#181818;border-color:var(--cream)}
.total-actions .print-btn:hover{background:var(--cream-hover);border-color:var(--cream-hover)}

/* PRINT */
@media print{
  body * { visibility:hidden }
  .trade-modal, .trade-modal * { visibility:visible }
  .trade-modal-backdrop{display:none}
  .trade-modal{position:absolute;inset:0;padding:0;background:#fff}
  .trade-modal-dialog{box-shadow:none;border-radius:0;max-height:none;width:100%;padding:24px}
  .trade-modal-close, .total-actions, .fab{display:none !important}
  .cost-wrap{border:none;background:transparent}
  .cost-input{width:auto}
  .margin-input{border:none;background:transparent}
}
.trade-modal-body .trade-group h4{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:16px;letter-spacing:.05em;
  color:#75725b;margin-bottom:12px;
  padding-bottom:8px;border-bottom:1px solid var(--paper-tint);
}
.trade-modal-body .trade-group ul{list-style:none;margin:0;padding:0}
.trade-modal-body .trade-group li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14.5px;color:var(--muted-dark);line-height:1.5;
  padding:5px 0;
}
.trade-modal-body .trade-group li::before{
  content:"";flex-shrink:0;margin-top:7px;
  width:6px;height:6px;border-radius:50%;background:var(--cream);
}
.trade-modal-disclaimer{
  margin-top:28px;padding-top:20px;border-top:1px solid var(--paper-tint);
  font-size:12.5px;color:var(--muted-light);line-height:1.5;font-style:italic;
}
body.modal-open{overflow:hidden}
.btn{
  display:inline-block;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:0.143em;
  font-weight:700;font-size:14px;
  padding:8px 32px;min-height:56px;line-height:40px;
  border-radius:4px;border:none;cursor:pointer;
  text-align:center;transition:background .2s;
}
.btn-cream{background:var(--ink);color:var(--paper)}
.btn-cream:hover{background:var(--accent)}

/* SPLIT - OUR DIFFERENCE */
.split{display:grid;grid-template-columns:1.4fr 1fr;min-height:30vh;background:var(--paper)}
.split-text{padding:64px 48px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.split-text .inner{max-width:620px;margin:0 auto;width:100%}
.split-text h2{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:38px;
  color:var(--muted-light);
  margin-bottom:40px;line-height:1.4;text-align:left;
}
.split-text h2 .rule{display:block;width:50px;border-bottom:2px solid var(--accent);margin-top:24px}
.split-text h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:22px;
  color:var(--ink-3);
  margin-bottom:24px;line-height:1.25;
}
.split-text p{font-size:16px;color:var(--muted);margin-bottom:24px;line-height:1.5}
.split-text p:last-child{margin-bottom:0}
.split-image{
  min-height:448px;
  background:transparent;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  color:#9a9a9a;font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.1em;font-size:14px;text-align:center;
}
.split-image img{width:100%;height:100%;object-fit:cover;display:block}

/* RESIDENTIAL SPECIALIST */
.specialist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.spec-card{
  text-align:center;display:flex;flex-direction:column;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:40px 28px;
  transition:transform .2s,box-shadow .2s;
}
.spec-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.spec-img{
  width:100%;aspect-ratio:1/1;max-width:200px;
  border-radius:50%;
  background:linear-gradient(135deg,#d8d3b0 0%,#bfb88a 100%);
  margin-bottom:24px;overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;
  color:#7a7761;font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:14px;letter-spacing:.1em;
}
.spec-img img{width:100%;height:100%;object-fit:cover}
.spec-card h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:22px;
  color:#1b1b1b;
  margin-bottom:16px;line-height:1.25;
}
.spec-card p{font-size:16px;color:#5e5e5e;line-height:1.5}

/* HOW IT WORKS */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step-card{
  text-align:center;display:flex;flex-direction:column;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:40px 28px;
  transition:transform .2s,box-shadow .2s;
}
.step-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.step-num{
  width:64px;height:64px;border-radius:50%;
  background:var(--cream);color:#1b1b1b;
  display:flex;align-items:center;justify-content:center;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:28px;
  margin-bottom:24px;
}
.step-card h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:22px;
  color:#1b1b1b;
  margin-bottom:16px;line-height:1.25;
}
.step-card p{font-size:16px;color:#5e5e5e;line-height:1.5}

/* CONTACT */
.contact-section{background:var(--paper-tint);padding:72px 0;border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;max-width:1040px;margin:0 auto}
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:48px 40px;text-align:center;
  box-shadow:0 10px 34px rgba(0,0,0,.06);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.contact-icon{
  width:84px;height:84px;border-radius:50%;
  background:var(--cream);color:#1b1b1b;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 28px;
}
.contact-lead{font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:28px;max-width:420px;margin-left:auto;margin-right:auto}
.contact-email{
  display:inline-block;
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:24px;color:#151515;
  text-transform:none;word-break:break-word;
  border-bottom:2px solid var(--accent);
  padding-bottom:4px;transition:color .15s ease,border-color .15s ease;
}
.contact-email:hover{color:#75725b;border-color:#75725b}
.contact-btn{margin:32px auto 0;display:inline-block}
.contact-meta{font-size:14px;color:var(--muted-light);margin-top:28px;line-height:1.6}
.contact-aside{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:48px 40px;box-shadow:0 10px 34px rgba(0,0,0,.06);
}
.contact-aside h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:24px;
  color:#151515;margin-bottom:16px;
}
.aside-intro{font-size:16px;color:var(--muted);line-height:1.6;margin-bottom:24px}
.aside-list{list-style:none;margin:0 0 28px;padding:0}
.aside-list li{
  display:flex;align-items:flex-start;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--paper-tint);
}
.aside-list li:last-child{border-bottom:none}
.aside-list svg{color:#75725b;flex-shrink:0;margin-top:2px}
.aside-list div{display:flex;flex-direction:column;font-size:15px;color:var(--muted);line-height:1.5}
.aside-list strong{
  font-weight:700;font-size:16px;color:var(--ink);
  margin-bottom:3px;
}
.contact-note{font-size:14px;color:var(--muted-light);line-height:1.6;margin:24px auto 0;max-width:420px}

/* FOOTER */
footer{background:var(--paper);border-top:1px solid var(--line);padding:56px 0 32px}
footer .footer-email{font-weight:700;color:#1b1b1b;text-align:center;margin-bottom:16px;font-size:16px}
footer .footer-text{font-size:14px;color:#595959;text-align:center;max-width:920px;margin:0 auto;line-height:1.5}
footer .footer-disclaimer{font-size:12px;color:#8a8a8a;text-align:center;max-width:920px;margin:20px auto 0;line-height:1.5}
footer .footer-copy{font-size:12px;color:#8a8a8a;text-align:center;margin:20px auto 0}

/* FAB */
.fab{
  position:fixed;bottom:24px;right:24px;
  width:65px;height:65px;border-radius:50%;
  background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 18px rgba(0,0,0,.25);
  cursor:pointer;z-index:9999;color:#181818;
}
.fab svg{width:44px;height:44px}

/* RESPONSIVE */
@media (max-width:1023px){
  .whatwedo-grid{gap:32px}
  .services-grid{grid-template-columns:1fr 1fr}
  .specialist-grid{grid-template-columns:1fr 1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .trades-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:767px){
  .container,.container-narrow{padding:0 24px}
  .hero-banner{min-height:auto;padding:64px 24px}
  .hero-banner .inner{padding:28px 24px}
  .hero-banner h1{font-size:28px}
  .hero-banner p{font-size:13px;letter-spacing:.12em}
  .site-header .logo img{max-height:64px}
  .whatwedo{padding:40px 0}
  .whatwedo-grid{grid-template-columns:1fr;gap:32px}
  .whatwedo-text h2{font-size:32px;text-align:center}
  .whatwedo-text h2 .rule{margin-left:auto;margin-right:auto}
  .whatwedo-img{order:-1}
  section.block{padding:40px 0}
  .section-title{font-size:30px;margin-bottom:32px}
  .intro-text h2,.intro-sample .sample-estimate-title{font-size:30px}
  .split{grid-template-columns:1fr}
  .split-image{order:-1;min-height:280px}
  .split-text{padding:40px 24px}
  .split-text .inner{margin:0;padding:0}
  .split-text h2{font-size:32px;text-align:center}
  .split-text h2 .rule{margin-left:auto;margin-right:auto}
  .services-grid,.specialist-grid{grid-template-columns:1fr;gap:32px}
  .trades-grid{grid-template-columns:1fr 1fr;gap:12px}
  .trade-modal-dialog{padding:32px 20px;max-height:95vh}
  .trade-modal-body{grid-template-columns:1fr;gap:24px}
  .trade-modal-title{font-size:24px}
  .steps-grid{grid-template-columns:1fr;gap:24px}
  .spec-img{max-width:240px}
  .contact-section{padding:48px 0}
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .contact-card,.contact-aside{padding:36px 24px}
  .contact-email{font-size:21px}
}

/* SITE NAV */
.site-nav{margin-top:0;display:flex;justify-content:center;gap:32px;flex-wrap:wrap}
.site-nav a{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.12em;
  font-size:13px;font-weight:600;color:#5e5e5e;
  text-decoration:none;padding:4px 0;
  border-bottom:2px solid transparent;
  transition:color .15s ease,border-color .15s ease;
}
.site-nav a:hover{color:#181818}
.site-nav a.active{color:var(--ink);border-bottom-color:var(--accent)}

/* PAGE INTRO (resources page) */
.page-intro{background:var(--paper-tint);padding:72px 0 56px;border-bottom:1px solid var(--line);text-align:center}
.page-intro h1{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:42px;letter-spacing:.02em;
  color:#151515;margin-bottom:16px;
}
.page-intro p{font-size:17px;color:var(--muted);line-height:1.6;max-width:640px;margin:0 auto}
@media (max-width:767px){
  .page-intro{padding:48px 0 40px}
  .page-intro h1{font-size:32px}
  .site-nav{gap:20px}
}

/* ===== Sample Estimate block in Our Difference (right column) ===== */
/* Top-align both columns so the two headings line up */
.split-text{justify-content:flex-start}
.split-image{align-items:flex-start;justify-content:flex-start;padding:64px 48px}

/* Constrain + left-align the sample block like .split-text .inner */
.split-image .sample-estimate{width:100%;max-width:620px;text-align:left}

/* Match the heading + rule to .split-text h2 */
.split-image .sample-estimate h2{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:38px;
  color:var(--muted-light);
  margin-bottom:40px;line-height:1.4;text-align:left;
}
.split-image .sample-estimate h2 .rule{display:block;width:50px;border-bottom:2px solid var(--accent);margin-top:24px}

/* Thumbnails: override the column's full-bleed img rule */
.split-image .sample-estimate-thumbs img{width:48%;max-width:260px;height:auto;object-fit:contain}
.split-image .sample-estimate-link{color:var(--ink-3)}

@media (max-width:768px){
  .split-image{padding:40px 24px;min-height:0}
  .split-image .sample-estimate{margin:0 auto;text-align:center}
  .split-image .sample-estimate h2{font-size:32px;text-align:center}
  .split-image .sample-estimate h2 .rule{margin-left:auto;margin-right:auto}
  .split-image .sample-estimate-thumbs{justify-content:center}
}

/* ===== D.A. COST ESTIMATE REPORTS ===== */
.da-intro{
  max-width:60ch;margin:-8px auto 36px;text-align:center;
  font-size:17px;line-height:1.6;color:var(--muted);
}
.da-panel{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  max-width:860px;margin:0 auto;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;
}
.da-col{padding:32px 34px}
.da-col + .da-col{border-left:1px solid var(--line)}
.da-col h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:18px;
  color:var(--ink);margin:0 0 16px;
}
.da-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.da-list li{
  padding-left:28px;position:relative;font-size:15px;line-height:1.45;color:var(--muted-dark);
}
.da-list li::before{
  content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;
}
.da-actions{text-align:center;margin-top:32px}
@media (max-width:767px){
  .da-panel{grid-template-columns:1fr}
  .da-col + .da-col{border-left:none;border-top:1px solid var(--line)}
  .da-col{padding:26px 24px}
}

/* ===== INTRO (What We Do + Our Difference merged) ===== */
.intro{padding:64px 0;background:var(--paper-tint)}
.intro.alt{background:var(--paper)}
.intro-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:88px 108px;
  align-items:start;max-width:1100px;margin:0 auto;
}
.intro-text h2{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:36px;
  color:var(--muted-light);margin:0 0 22px;line-height:1.3;
}
.intro-text h2 .rule{display:block;width:50px;border-bottom:2px solid var(--accent);margin-top:20px}
.intro-text h3{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:21px;
  color:var(--ink-3);margin:0 0 18px;line-height:1.3;
}
.intro-text p{font-size:16px;color:var(--muted);margin:0 0 16px;line-height:1.6}
.intro-text p:last-child{margin-bottom:0}
.intro-media{
  border-radius:6px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.12);
  align-self:center;
}
.intro-media img{width:100%;height:auto;display:block}
.intro-sample{display:block;text-decoration:none;color:inherit;align-self:start}
.intro-sample .sample-estimate-title{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:36px;
  color:var(--muted-light);margin:0 0 22px;line-height:1.3;
}
.intro-sample .sample-estimate-title .rule{display:block;width:50px;border-bottom:2px solid var(--accent);margin-top:20px}
.intro-sample .sample-estimate-thumbs{display:flex;flex-direction:row;gap:14px}
.intro-sample .sample-estimate-thumbs img{width:48%;max-width:260px;height:auto;border-radius:4px;box-shadow:0 6px 20px rgba(0,0,0,.1)}
.intro-sample .sample-estimate-link{display:inline-block;margin-top:1.5rem;font-weight:700;color:var(--accent)}
@media (max-width:767px){
  .intro-grid{grid-template-columns:1fr;gap:28px}
}

/* ===== SITE BRAND (wordmark) ===== */
.header-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;gap:5px;text-decoration:none;line-height:1.05}
.brand-name{font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:clamp(30px,4.5vw,39px);letter-spacing:.005em;color:var(--ink)}
.brand-tag{font-family:"Aptos","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-light)}
@media (max-width:767px){
  .header-inner{flex-direction:column;align-items:center;text-align:center;gap:12px}
  .brand{align-items:center}
}
