/* Dwoods Villa — minimal stylesheet for fast city/service pages
   No framework. No webfonts. System fonts only. ~4 KB. */
:root{--ink:#1a1a1a;--muted:#5a5a5a;--line:#e4e4e4;--bg:#fff;--soft:#faf8f5;--accent:#b8842a;--accent-dk:#8f6620}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-dk)}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
/* header */
.dv-nav{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.dv-nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:62px;gap:16px}
.dv-nav img{max-height:38px;width:auto}
.dv-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.dv-nav a{text-decoration:none;color:var(--ink);font-size:14px}
.dv-nav a:hover{color:var(--accent-dk)}
/* type */
h1{line-height:1.25;margin:28px 0 14px}
h2{line-height:1.3;margin:34px 0 12px;border-top:1px solid var(--line);padding-top:26px}
h3{margin:22px 0 8px}
p{margin:0 0 15px}
ul,ol{margin:0 0 15px;padding-left:20px}
li{margin-bottom:6px}
.lead{font-size:17px;background:var(--soft);border-left:3px solid var(--accent);padding:16px 18px;margin:0 0 22px}
.crumb{font-size:13px;color:var(--muted);margin:16px 0 0}
.crumb a{color:var(--muted)}
/* table */
table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:600}
/* figure */
figure{margin:20px 0}
figcaption{font-size:13px;color:var(--muted);margin-top:6px}
/* faq */
details{border:1px solid var(--line);padding:12px 14px;margin-bottom:8px;border-radius:4px}
summary{font-weight:600;cursor:pointer}
details p{margin:10px 0 0}
/* cta */
.cta{background:var(--soft);border:1px solid var(--line);padding:20px;margin:28px 0;border-radius:6px}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:12px 22px;border-radius:4px;font-weight:600;margin:6px 8px 0 0}
.btn:hover{background:var(--accent-dk)}
.btn.alt{background:#25632f}
/* footer */
.dv-foot{border-top:1px solid var(--line);margin-top:40px;padding:24px 0;font-size:14px;color:var(--muted)}
.dv-foot a{color:var(--muted)}
.dv-foot ul{list-style:none;padding:0;display:flex;gap:14px;flex-wrap:wrap}
/* sticky mobile call bar */
.dv-bar{display:none}
@media(max-width:640px){
  h1{font-size:25px}h2{font-size:20px}
  /* mobile nav: scrollable row instead of hidden */
  .dv-nav .wrap{flex-wrap:wrap;min-height:0;padding-top:10px;padding-bottom:2px;gap:8px}
  .dv-nav img{max-height:32px}
  .dv-nav ul{display:flex;flex-wrap:nowrap;width:100%;gap:16px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding:2px 0 9px;margin:0 -16px;padding-left:16px;padding-right:16px}
  .dv-nav ul::-webkit-scrollbar{display:none}
  .dv-nav ul li{margin:0;flex:0 0 auto}
  .dv-nav a{font-size:13.5px;white-space:nowrap;padding:3px 0;display:inline-block}
  body{padding-bottom:58px}
  .dv-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99}
  .dv-bar a{flex:1;text-align:center;padding:15px 0;color:#fff;text-decoration:none;font-weight:600;font-size:15px}
  .dv-bar .c{background:var(--accent)}.dv-bar .w{background:#25632f}
}

/* ---- dv responsive safety ---- */
html,body{overflow-x:hidden;max-width:100%}
p,li,td,th,h1,h2,h3{overflow-wrap:break-word}
h1{font-size:clamp(24px,4.6vw,32px)}
h2{font-size:clamp(19px,3.4vw,23px)}
h3{font-size:clamp(16px,2.6vw,18px)}
@media(max-width:640px){
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table th,table td{min-width:118px}
  figure{margin:16px 0}
  .wrap{padding:0 16px}
  body{padding-bottom:78px}
}

/* ==== Dwoods in-body link sections ==== */
.dv-sec{background:#f7f6f3;border-top:1px solid #e6e3dc;padding:56px 0}
.dv-sec--alt{background:#1d2b26}
.dv-sec .dv-in{max-width:1140px;margin:0 auto;padding:0 20px}
.dv-sec .dv-eyebrow{display:inline-block;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;
 font-weight:700;color:#b8842a;margin:0 0 10px}
.dv-sec h2{font-size:clamp(22px,2.6vw,32px)!important;line-height:1.25;margin:0 0 10px;color:#1d2b26}
.dv-sec--alt h2,.dv-sec--alt .dv-lead{color:#fff}
.dv-sec .dv-lead{max-width:760px;margin:0 0 30px;color:#5c5c5c;font-size:15.5px;line-height:1.65}
.dv-sec--alt .dv-lead{color:rgba(255,255,255,.78)}

/* card grid */
.dv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;list-style:none;padding:0;margin:0}
.dv-card{background:#fff;border:1px solid #e6e3dc;border-radius:10px;padding:0;transition:.18s;overflow:hidden}
.dv-card:hover{border-color:#b8842a;box-shadow:0 8px 22px rgba(29,43,38,.09);transform:translateY(-2px)}
.dv-card a{display:flex;gap:13px;align-items:flex-start;padding:17px 18px;text-decoration:none;color:inherit}
.dv-card .dv-ico{flex:none;width:34px;height:34px;border-radius:8px;background:#f2ede3;color:#b8842a;
 display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.dv-card b{display:block;font-size:15px;font-weight:700;color:#1d2b26;line-height:1.35;margin-bottom:3px}
.dv-card span{display:block;font-size:13px;color:#6d6d6d;line-height:1.5}
.dv-card:hover b{color:#b8842a}

/* reference list (external sources) */
.dv-refs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px 26px;list-style:none;padding:0;margin:0}
.dv-refs li{padding:11px 0 11px 22px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;
 font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72)}
.dv-refs li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:2px;background:#b8842a}
.dv-refs a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(184,132,42,.5)}
.dv-refs a:hover{color:#fea630;border-color:#fea630}

@media(max-width:640px){
 .dv-sec{padding:38px 0}
 .dv-sec .dv-lead{margin-bottom:22px;font-size:14.5px}
 .dv-grid{gap:11px}
 .dv-card a{padding:14px 15px;gap:11px}
 .dv-refs li{font-size:13.5px;padding-left:20px}
}
