/* OnlyLance — warm craftsman identity. Mobile-first. Clean, honest, working-class. */
:root{
  --cream:#f6f0e6; --paper:#fffdf8; --ink:#22201c; --ink-soft:#5f5a51;
  --wood:#8a5a2b; --wood-dk:#6b4420; --wood-lt:#b5793f;
  --steel:#4b4f54; --steel-lt:#8b9096; --line:#e5dccb;
  --hot:#e2622a; --hot-dk:#c34e1c;            /* work-orange CTA */
  --shadow:0 2px 10px rgba(50,35,15,.10); --shadow-lg:0 10px 34px rgba(50,35,15,.16);
  --r:14px; --maxw:1080px;
  --sans:"Helvetica Neue",-apple-system,"Segoe UI",system-ui,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--wood-dk);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(246,240,230,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:20px;letter-spacing:-.01em;color:var(--ink)}
.brand .only{color:var(--hot)}
.brand svg{height:30px;width:auto}
.nav{display:flex;gap:2px;align-items:center}
.nav a{padding:8px 11px;border-radius:9px;color:var(--ink);font-weight:700;font-size:14px}
.nav a:hover{background:#ece3d2;text-decoration:none}
.call-btn{display:inline-flex;align-items:center;gap:7px;background:var(--hot);color:#fff!important;font-weight:800;padding:9px 15px;border-radius:999px;font-size:14px;white-space:nowrap}
.call-btn:hover{background:var(--hot-dk);text-decoration:none}

/* hero */
.hero{background:linear-gradient(180deg,#efe6d5 0%,var(--cream) 70%);padding:46px 0 34px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(30px,7vw,52px);line-height:1.03;margin:0 0 8px;letter-spacing:-.02em}
.hero .pun{color:var(--hot)}
.hero .kick{font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--wood);margin:0 0 12px}
.hero p.sub{font-size:18px;color:var(--ink-soft);max-width:640px;margin:6px 0 0}
.hero .tags{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0}
.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-weight:800;font-size:13px;color:var(--wood-dk)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:800;font-size:16px;border:0;cursor:pointer;font-family:inherit}
.btn.call{background:var(--hot);color:#fff}.btn.call:hover{background:var(--hot-dk);text-decoration:none}
.btn.text{background:var(--ink);color:#fff}.btn.text:hover{background:#000;text-decoration:none}
.btn.ghost{background:#fff;border:2px solid var(--wood);color:var(--wood-dk)}
.btn.wide{width:100%;justify-content:center}

/* sections */
section{padding:40px 0}
.h2{font-size:26px;font-weight:900;margin:0 0 4px;letter-spacing:-.01em}
.h2 .u{color:var(--hot)}
.lead{color:var(--ink-soft);margin:0 0 22px;font-size:16px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}
.svc .ic{font-size:26px}.svc h3{margin:8px 0 3px;font-size:17px}.svc p{margin:0;color:var(--ink-soft);font-size:14px}
.note{background:#fbeee2;border:1px solid #f0d3b6;color:var(--wood-dk);padding:12px 15px;border-radius:12px;font-weight:600}

/* trust strip */
.trust{background:#efe6d5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 18px}
.trust .t{text-align:center}.trust .t b{display:block;font-size:15px}.trust .t span{font-size:13px;color:var(--ink-soft)}

/* gallery */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gcell{aspect-ratio:4/3;border-radius:12px;background:repeating-linear-gradient(45deg,#e9dfcb,#e9dfcb 12px,#e3d8c1 12px,#e3d8c1 24px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--wood);font-weight:800;text-align:center;padding:10px;font-size:13px}

/* forms */
.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);max-width:640px}
.field{display:flex;flex-direction:column;gap:5px;margin:0 0 13px}
.field label{font-weight:800;font-size:14px}
.field input,.field select,.field textarea{padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--hot)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hint{font-size:12px;color:var(--ink-soft)}

/* estimator output */
.out{background:#20201d;color:#f3ecdf;border-radius:14px;padding:18px;margin-top:14px}
.out .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.out .row.total{font-size:20px;font-weight:900;border:0;padding-top:12px;color:#ffd8a8}
.out .range{color:#c9c1b2;font-size:14px;margin-top:6px}
.quotebox{background:#fff;border:1px dashed var(--wood);border-radius:12px;padding:14px;margin-top:14px;font-size:14px;white-space:pre-wrap;color:var(--ink)}

/* footer */
.site-foot{background:var(--wood-dk);color:#f0e4d3;padding:30px 0;margin-top:10px}
.site-foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.site-foot a{color:#f3cfa8}
.site-foot .big{font-weight:900;font-size:18px;color:#fff}
.made{font-size:12px;opacity:.85}

/* mobile */
@media(max-width:720px){
  .nav a:not(.call-btn){display:none}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .g2,.g3{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  section{padding:30px 0}
}
.sticky-call{display:none}
@media(max-width:720px){
  .sticky-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:8px;padding:10px 12px;background:rgba(246,240,230,.97);border-top:1px solid var(--line)}
  .sticky-call .btn{flex:1;font-size:15px;padding:12px}
  body{padding-bottom:70px}
}
