:root{
  --ink:#17181c; --ink2:#23242a; --paper:#f7f3ec; --bronze:#b07d3c; --bronze2:#7d5527;
  --line:#ddd3c2; --muted:#5c574d;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:var(--bronze2)}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px 28px;background:rgba(23,24,28,.97);color:#fff}
.brand{font-size:22px;letter-spacing:2px;color:#fff;text-decoration:none;font-weight:bold}
.brand span{color:var(--bronze);font-style:italic;letter-spacing:0}
.topbar nav{display:flex;gap:22px;margin-left:auto}
.topbar nav a{color:#e8e2d5;text-decoration:none;font-family:Arial,sans-serif;font-size:14px;letter-spacing:1px;text-transform:uppercase}
.topbar nav a:hover{color:var(--bronze)}
.callbtn{background:#96692f;color:#fff;padding:9px 18px;border-radius:3px;text-decoration:none;font-family:Arial,sans-serif;font-weight:bold;font-size:15px;white-space:nowrap}
.callbtn:hover{background:var(--bronze2)}
.hero{min-height:88vh;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.hero-overlay{width:100%;background:linear-gradient(transparent,rgba(10,10,12,.88) 55%);padding:120px 28px 56px;color:#fff}
.eyebrow{font-family:Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--bronze);font-size:14px;margin-bottom:12px}
.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.08;font-weight:normal;max-width:900px}
.hero-sub{max-width:640px;margin-top:16px;font-size:19px;color:#e8e2d5}
.hero-cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:3px;text-decoration:none;font-family:Arial,sans-serif;font-weight:bold;font-size:15px;letter-spacing:.5px;border:0;cursor:pointer}
.btn-solid{background:#96692f;color:#fff}
.btn-solid:hover{background:var(--bronze2)}
.btn-ghost{border:2px solid #fff;color:#fff;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.15)}
.trustbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;background:var(--ink);color:#fff;text-align:center}
.trustbar div{padding:22px 12px;border-right:1px solid #333}
.trustbar strong{display:block;font-size:19px;color:var(--bronze);letter-spacing:.5px}
.trustbar span{font-family:Arial,sans-serif;font-size:13px;color:#cfc8b8}
.section{max-width:1150px;margin:0 auto;padding:72px 28px}
.section h2{font-size:38px;font-weight:normal;margin-bottom:10px}
.section-sub{color:var(--muted);max-width:640px;margin-bottom:36px;font-size:17px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:220px;object-fit:cover}
.card h3{padding:18px 20px 6px;font-size:22px;font-weight:normal}
.card p{padding:0 20px 12px;color:var(--muted);flex:1}
.card a{padding:0 20px 20px;font-family:Arial,sans-serif;font-size:14px;font-weight:bold;text-decoration:none}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.strip img{width:100%;height:240px;object-fit:cover;display:block}
.story{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.story-text p{margin-bottom:16px;font-size:17.5px;color:#2c2a26}
.story-sign{font-style:italic;color:var(--bronze2)}
.story-img{width:100%;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--ink);color:#f0ead9;max-width:none;padding-left:max(28px,calc(50% - 575px));padding-right:max(28px,calc(50% - 575px))}
.contact h2{color:#fff}
.contact a{color:var(--bronze)}
.big-phone{font-size:32px;margin:18px 0 6px}
.big-phone a{text-decoration:none}
.quote-form{display:flex;flex-direction:column;gap:12px}
.quote-form label{font-family:Arial,sans-serif;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:#cfc8b8}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:5px;padding:11px;border-radius:3px;border:1px solid #444;background:#fff;color:var(--ink);font-size:16px;font-family:Arial,sans-serif;text-transform:none;letter-spacing:0}
.hidden{display:none}
footer{background:#0e0e10;color:#b9b2a2;text-align:center;padding:34px 20px;font-family:Arial,sans-serif;font-size:14px}
footer strong{color:#fff}
.legal{font-size:12.5px;color:#8a8474;margin-top:6px}
.gallery-grid{columns:3 300px;column-gap:14px;max-width:1250px;margin:0 auto;padding:30px 20px 70px}
.gallery-grid a{display:block;margin-bottom:14px;border-radius:3px;overflow:hidden}
.gallery-grid img{width:100%;display:block}
.page-head{background:var(--ink);color:#fff;text-align:center;padding:64px 20px 44px}
.page-head h1{font-weight:normal;font-size:42px}
.page-head p{color:#cfc8b8;margin-top:8px}
@media(max-width:760px){
  .topbar{flex-wrap:wrap;gap:12px}
  .topbar nav{margin-left:0}
  .story,.contact{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:70vh}
}
.brand img{height:36px;width:auto;vertical-align:middle;margin-right:10px}
.hero-logo{width:200px;height:auto;max-width:55vw;margin-bottom:20px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.foot-logo{width:165px;height:auto;margin-bottom:16px}

/* process + faq + form note + sticky mobile call bar (audit fixes 2026-10-23) */
.process h2{text-align:center;margin-bottom:26px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;max-width:1150px;margin:0 auto}
.step{background:#fff;border:1px solid #e3dccb;border-top:3px solid var(--bronze);padding:20px;border-radius:3px}
.step-num{display:inline-block;background:#96692f;color:#fff;font-family:Arial,sans-serif;font-weight:bold;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;margin-bottom:10px}
.step h3{margin-bottom:6px}
.faq{max-width:800px;margin:44px auto 0}
.faq h2{text-align:center;margin-bottom:18px}
.faq details{background:#fff;border:1px solid #e3dccb;border-radius:3px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-family:Arial,sans-serif;font-weight:bold;cursor:pointer}
.faq details p{margin-top:8px}
.form-note{font-family:Arial,sans-serif;font-size:14px;color:#cfc8b8;margin-bottom:6px}
.callbar{display:none}
@media(max-width:760px){
  .callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);border-top:2px solid var(--bronze)}
  .callbar a{flex:1;text-align:center;padding:15px 6px;color:#fff;font-family:Arial,sans-serif;font-weight:bold;font-size:15px;text-decoration:none}
  .callbar .cb-quote{background:#96692f}
  body{padding-bottom:54px}
}
.story-img{align-self:center;height:auto}
.gallery-grid img{height:auto}
.page-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.page-hero>img{width:100%;height:420px;object-fit:cover;display:block;opacity:.55}
.page-hero-text{position:absolute;inset:auto 0 0 0;padding:38px max(28px,calc(50% - 575px)) 34px;background:linear-gradient(transparent,rgba(10,10,12,.88))}
.page-hero-text h1{font-size:clamp(32px,4.5vw,52px);font-weight:normal;margin:6px 0 10px}
.page-hero-text p{max-width:640px;margin-bottom:16px}
.section.alt{background:#efe8d8}

/* ==== MOBILE POLISH PASS 2026-10-23 (Andrew: desktop looks far better than mobile) ==== */
@media(max-width:760px){
  /* header: compact, nav becomes one scrollable row instead of a wrapped stack */
  .topbar{gap:10px 14px;padding:10px 16px}
  .brand{font-size:17px;letter-spacing:1.2px}
  .brand img{height:27px;margin-right:7px}
  .callbtn{padding:8px 13px;font-size:14px;margin-left:auto}
  .topbar nav{order:3;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;gap:18px;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav a{white-space:nowrap;font-size:12.5px;letter-spacing:.6px}
  /* hero: tighter overlay, smaller display type, full-width thumb-friendly CTAs */
  .hero{min-height:78vh;background-position:center}
  .hero-overlay{padding:90px 18px 40px}
  .hero-logo{width:150px;margin-bottom:14px}
  .eyebrow{font-size:12px;letter-spacing:2.4px}
  .hero h1{font-size:34px;line-height:1.14}
  .hero-sub{font-size:16.5px;margin-top:12px}
  .hero-cta{gap:10px;margin-top:22px}
  .hero-cta .btn{flex:1 1 100%;text-align:center;padding:15px 20px}
  /* trust bar: 2x2 grid instead of four tall stacked rows */
  .trustbar{grid-template-columns:1fr 1fr}
  .trustbar div{padding:15px 8px;border-right:0;border-bottom:1px solid #333}
  .trustbar strong{font-size:16.5px}
  .trustbar span{font-size:12px}
  /* sections + type scale */
  .section{padding:46px 18px}
  .section h2{font-size:29px;line-height:1.2}
  .section-sub{font-size:16px;margin-bottom:26px}
  /* cards + steps */
  .cards{gap:18px}
  .card img{height:200px}
  .card h3{font-size:20px;padding:15px 16px 5px}
  .card p{padding:0 16px 10px}
  .card a{padding:0 16px 16px}
  .steps{gap:14px}
  /* photo strip: keep 2-col, shorter tiles */
  .strip img{height:170px}
  /* story */
  .story{gap:22px}
  .story-text p{font-size:16.5px}
  /* contact + form */
  .contact{gap:26px;padding-top:46px;padding-bottom:46px}
  .big-phone{font-size:26px}
  .quote-form .btn{width:100%;padding:15px 20px}
  /* service page heads */
  .page-head{padding:44px 18px 32px}
  .page-head h1{font-size:31px;line-height:1.2}
  .page-hero>img{height:290px}
  .page-hero-text{padding:26px 18px 24px}
  .page-hero-text p{font-size:15.5px}
  /* gallery: true 2-column masonry on phones */
  .gallery-grid{columns:2;column-gap:10px;padding:18px 12px 56px}
  .gallery-grid a{margin-bottom:10px}
  /* footer + call bar with iPhone safe-area */
  footer{padding:28px 16px}
  .foot-logo{width:130px}
  .callbar{padding-bottom:env(safe-area-inset-bottom)}
  body{padding-bottom:calc(54px + env(safe-area-inset-bottom))}
  img{max-width:100%}
}
