
  :root{--ink:#1f2428;--mut:#5a6169;--bg:#f4f1e8;--line:#e3dfd2;--main:#2f4738;--gold:#f2c230;--gold-d:#d9a900;--gold-bg:#fff4c7;--ad:#2f4738}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}
  .wrap{max-width:1180px;margin:0 auto;padding:0 18px}
  header.top{background:#161616;border-bottom:3px solid var(--gold)}
  header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
  .brand{font:500 23px Newsreader,serif;color:#fff}.brand i{color:var(--gold)}
  .tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .tools button{font:500 13.5px Inter,sans-serif;border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:6px;padding:8px 13px;cursor:pointer;min-height:38px}
  .tools button.on{background:var(--gold);color:#161616}
  .band{background:var(--gold);border:1px solid var(--gold-d);border-radius:8px 8px 0 0;padding:14px 18px;margin-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
  .band h1{margin:0;font:600 26px/1.15 Inter,sans-serif;color:#1b1500}
  .band span{font-size:14px;color:#3a2d00}
  .sub{background:var(--gold-bg);border:1px solid var(--gold-d);border-top:0;border-radius:0 0 8px 8px;padding:9px 18px;font-size:14px;color:#5a4300;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .legend{font-size:12.5px;color:var(--mut);margin:12px 2px 14px}
  .legend b{font-weight:600;color:var(--ink)}
  .ad{position:relative;background:#fff;border:2px solid var(--ad);border-radius:12px;padding:14px 15px;margin-bottom:14px}
  .ad .top{display:flex;gap:11px;align-items:center}
  .ad .av{width:46px;height:46px;border-radius:50%;background:var(--ad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex:none}
  .ad h3{margin:0;font:600 16px/1.25 Inter,sans-serif}
  .ad .where{font-size:13px;color:var(--mut)}
  .ad p{margin:9px 0 8px;font-size:14px}
  .chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
  .chips span{font-size:12px;padding:3px 8px;border-radius:99px;background:color-mix(in srgb,var(--ad) 12%,#fff);color:var(--ad)}
  .act{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
  .tel{font-weight:600;font-size:15.5px}
  .bk{background:var(--ad);color:#fff;padding:8px 14px;border-radius:6px;font-weight:500;font-size:13.5px}
  .photo{background:#ddd center/cover no-repeat;border-radius:8px;height:120px;margin:9px 0}
  .ad.mono .photo{filter:grayscale(1) contrast(1.08)}
  .quote{font:italic 500 14.5px/1.4 Newsreader,serif;border-left:3px solid var(--ad);padding-left:10px;margin:9px 0;color:#333}
  .quote small{display:block;font:12px Inter,sans-serif;color:var(--mut)}
  .offer{background:var(--gold-bg);border:1px solid var(--gold-d);border-radius:6px;padding:6px 10px;font-size:13px;margin:9px 0;color:#5a4300}
  .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;padding:9px 2px;border-bottom:1px solid #e8e3d4;position:relative}
  .row b{font-weight:600}
  .row .dots{flex:1;border-bottom:1px dotted #b3ad9c;transform:translateY(-4px);min-width:10px}
  .row .town{color:var(--mut);font-size:13px}
  .row .ph{font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}
  .row b{min-width:0}
  .row .tag{font-size:13px;color:var(--mut);flex-basis:100%;margin-top:-3px}
  .tick{color:#1f7a3a}
  .ad.color{box-shadow:0 0 0 3px color-mix(in srgb,var(--ad) 18%,transparent)}
  .ribbon{position:absolute;top:-11px;right:12px;background:var(--gold);border:1px solid var(--gold-d);color:#3a2d00;font:600 11.5px Inter,sans-serif;padding:3px 10px;border-radius:99px;letter-spacing:.02em}
  .row .ribbon{position:static;margin-left:4px;padding:1px 8px;font-size:11px}
  .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;margin-top:6px}
  .col{min-width:0}
  .lines{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px;margin-bottom:14px}
  .full{display:grid;grid-template-columns:200px minmax(0,1fr) 210px;gap:18px;align-items:center;border-width:3px;padding:18px 20px;margin-top:16px}
  .full .photo{height:170px;margin:0}
  .full .right{text-align:right;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
  .full h3{font-size:21px}
  .full .tel{font-size:19px}
  .ad.mono{--ad:#161616}
  .ad.mono .av{background:#161616;color:var(--gold)}
  .ad.mono .bk{background:#161616;color:var(--gold)}
  .ad.mono .chips span{background:var(--gold-bg);color:#161616;border:1px solid #e3c766}
  .ad.mono .tick,.mono-row .tick{color:#161616}
  .own{display:none;position:absolute;top:8px;right:8px;z-index:3}
  .owner .own{display:block}
  .own > button{font:500 12px Inter,sans-serif;border:1px solid #888;background:#fff;border-radius:6px;padding:4px 9px;cursor:pointer}
  .row .own{position:static;margin-left:auto}
  .menu{display:none;position:absolute;right:0;top:28px;background:#fff;border:1px solid #bbb;border-radius:8px;padding:6px;min-width:150px;z-index:10}
  .own.open .menu{display:block}
  .menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;font:14px Inter,sans-serif;border-radius:5px;cursor:pointer}
  .menu button:hover{background:#eef2ee}
  .toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#1f2428;color:#fff;border-radius:10px;padding:12px 16px;max-width:520px;width:calc(100% - 28px);font-size:14px;display:none;z-index:40;line-height:1.45}
  .toast b{color:var(--gold)}
  footer{margin:30px 0 40px;font-size:13px;color:var(--mut)}
  .mnav{display:none}
  @media(max-width:1000px){.row .dots{display:none}.row .town{margin-left:auto}}
  @media(max-width:1000px){.cols{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-template-columns:160px minmax(0,1fr)}.full .right{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}}
  @media(max-width:620px){
    .cols{grid-template-columns:1fr}.full{grid-template-columns:1fr}.full .photo{height:140px}
    .full .right{flex-direction:column;align-items:stretch;gap:10px}.full .right .bk{text-align:center;padding:12px}.tel{white-space:nowrap}.full .tel{font-size:20px}
    .band h1{font-size:21px}
    body{padding-bottom:84px}
    .brand{font-size:21px;white-space:nowrap}
    header.top .tools{display:none}
    .mtools{display:flex !important}
    .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:30}
    .mnav a{flex:1;text-align:center;padding:10px 4px 12px;font-size:12px;text-decoration:none;color:var(--mut)}
    .mnav a.on{color:var(--main);font-weight:600}
    .mnav svg{display:block;margin:0 auto 3px;width:24px;height:24px}
    .row{flex-wrap:wrap;padding:11px 2px}.row .dots{display:none}.row .town{margin-left:auto}.row .ph{flex-basis:100%;font-size:16px}
  }
  .mtools{display:none;gap:8px;margin:12px 0 0;flex-wrap:wrap}
  .mtools button{font:500 13.5px Inter,sans-serif;border:1px solid var(--main);background:#fff;color:var(--main);border-radius:6px;padding:9px 13px;cursor:pointer;min-height:40px}
  .mtools button.on{background:var(--main);color:#fff}

  .searchbar{background:#fff;border:2px solid #161616;border-radius:10px;padding:14px 16px;margin:14px 0 10px}.searchbar label{display:block;font:600 14px Inter,sans-serif;margin-bottom:6px}
  .sbox{display:flex;gap:8px}.sbox input{flex:1;font:400 17px Inter,sans-serif;padding:11px 14px;border:1px solid #888;border-radius:8px;min-height:46px}.sbox button{font:600 20px Inter,sans-serif;border:1px solid #161616;background:#fff;border-radius:8px;width:46px;cursor:pointer}
  .kinds{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 4px}.kc{font:500 13.5px Inter,sans-serif;border:1px solid #161616;background:#fff;color:#161616;border-radius:99px;padding:6px 12px;cursor:pointer}.kc span{color:#777;margin-left:3px}.kc.on{background:#161616;color:var(--gold)}.kc.on span{color:#d9d3bd}
  .searchbar .s{font-size:13px;color:var(--mut);margin-top:4px}.empty{background:#fff;border:1px dashed #999;border-radius:10px;padding:22px;margin:20px 0;font-size:16px}
  h2.k{margin:30px 0 -14px;font:600 18px Inter,sans-serif}
  .tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs a,.tabs span{font-size:13px;padding:6px 11px;border-radius:99px;color:#d9d3bd;border:1px solid #444}.tabs a.on{background:var(--gold);color:#161616;border-color:var(--gold);text-decoration:none}.tabs span{opacity:.6}
  .ph{font-size:13.5px;color:#1f4f8f;text-decoration:none;white-space:nowrap;max-width:48%;overflow:hidden;text-overflow:ellipsis}.ph.muted{color:var(--mut)}

  .tools2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 4px}.tools2 button{font:500 14px Inter,sans-serif;border:1px solid #161616;background:#fff;color:#161616;border-radius:6px;padding:9px 14px;cursor:pointer;min-height:40px}.tools2 .s{font-size:13px;color:var(--mut)}
  .tabs a.lt{background:transparent;color:var(--gold);border-color:var(--gold)}
  .gl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:8px 0 22px}.gl th{background:#161616;color:var(--gold);text-align:left;font:600 12.5px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:10px 12px}.gl td{padding:11px 12px;border-top:1px solid #eee7d3;vertical-align:top;font-size:14.5px}.gl td.l{font-weight:700;min-width:150px}.gl .dots{letter-spacing:2px;color:var(--gold-d);white-space:nowrap;font-size:16px}.gl .dots i{font-style:normal;color:#ddd}
  .lead{font-size:16.5px;max-width:760px;margin:14px 0}.warn{background:var(--gold-bg);border:1px solid var(--gold-d);border-radius:8px;padding:12px 16px;margin:10px 0 18px;font-size:15px;color:#4a3800}
  .tk{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 26px}.tk div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}.tk b{display:block;margin-bottom:4px;font-size:15.5px}.tk .t{font-size:22px;color:#1f7a3a}
  @media(max-width:620px){.gl,.gl tbody,.gl tr,.gl td{display:block}.gl thead{display:none}.gl tr{border-top:1px solid #eee7d3;padding:8px 0}.gl td{border:0;padding:3px 12px}.tk{grid-template-columns:1fr}}
  .bk.off{background:#ccc;color:#555}.yellnote{font-size:12.5px;color:var(--mut);margin:0 0 8px}
  .crumbs{font-size:13.5px;color:var(--mut);margin:14px 0 6px}.crumbs a{color:var(--mut)}
  .cols{display:block;column-count:3;column-gap:18px}.cols>*{break-inside:avoid}.cols>.lines{break-inside:auto}.row{break-inside:avoid}
  .sec{background:#161616;color:var(--gold);border-radius:8px;padding:11px 16px;margin:30px 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.sec h2{margin:0;font:600 19px Inter,sans-serif;color:var(--gold)}.sec small{font:400 13px Inter,sans-serif;color:#d9d3bd;margin-left:8px}.sec a{color:#fff;font-size:14px;text-decoration:none;border-bottom:1px solid #666}
  .row .tag .ribbon{position:static;font-size:10.5px;padding:1px 7px}
  .more{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 18px}.more a{padding:7px 0;color:var(--main);text-decoration:none;border-bottom:1px solid #e8e3d4;font-size:14.5px}.more a span{color:var(--mut);float:right}
  .note{font-size:13px;color:var(--mut);margin:14px 0 30px}
  .fcols{display:grid;grid-template-columns:1fr 3fr;gap:24px}footer.site{background:#161616;color:#d9d3bd;margin-top:34px;padding:28px 0 90px;font-size:14px}footer.site h4{margin:0 0 8px;color:var(--gold)}footer.site a{display:inline-block;margin:0 14px 6px 0;color:#d9d3bd;text-decoration:none}
  .mnav{display:none}
  @media(max-width:1000px){.cols{column-count:2}.more{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.cols{column-count:1}.more{grid-template-columns:1fr}.fcols{grid-template-columns:1fr}.tabs{display:none}
    .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:30}.mnav a{flex:1;text-align:center;padding:12px 4px 14px;font-size:12px;text-decoration:none;color:var(--mut)}.mnav a.on{color:var(--main);font-weight:600}
    .row{flex-wrap:wrap}.row .dots{display:none}.row .town{margin-left:auto}.row .ph{flex-basis:100%;max-width:100%;font-size:15px;padding:2px 0}}
  .cl{font-size:11.5px;color:#8a8576;text-decoration:none;white-space:nowrap;margin-left:auto}.cl:hover{text-decoration:underline}
  .ad .cl{display:block;margin-top:8px}
  .kinds a.kc{text-decoration:none;display:inline-block}

  .intro{font-size:16px;max-width:760px;margin:12px 0 4px}.rel{font-size:14.5px;color:#444;margin:6px 0 10px}.rel a{color:#1f4f8f}
  footer.site .fcols{grid-template-columns:1fr 2fr 1.5fr}footer.site .fcols a{display:block;margin:0 0 5px}@media(max-width:700px){footer.site .fcols{grid-template-columns:1fr}}

  /* Full advert: picture | words | flash + number */
  .ad.full .fpic .artbox{display:none}.ad.full .fpic .photo{height:100%;min-height:130px}
  .ad.full .right .offer{margin:0 0 10px}

  /* Today look: the display-advert furniture (selling points, since-seal, strapline, address foot, line art, flash) */
  .ad .points{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
  .ad .points span{font-size:12.5px;padding:3px 10px;border-radius:99px;border:1px solid color-mix(in srgb,var(--ad,#2f4738) 35%,#fff);color:var(--ad,#2f4738);background:#fff}
  .ad .since{display:inline-flex;align-items:baseline;gap:5px;font-weight:600;font-size:13px;color:var(--ad,#2f4738);background:color-mix(in srgb,var(--ad,#2f4738) 10%,#fff);border-radius:99px;padding:2px 10px;margin:0 0 6px}
  .ad .since small{font-weight:400;font-size:12px}
  .ad .strap{font:italic 500 16px/1.35 Newsreader,Georgia,serif;border-left:3px solid var(--ad,#2f4738);padding-left:10px;margin:8px 0;color:#333}
  .ad .foot{font-size:12.5px;color:#5a6169;border-top:1px solid #eee7d3;margin-top:10px;padding-top:8px}
  .ad .artbox{float:right;color:var(--ad,#2f4738);opacity:.9;margin:0 0 6px 10px;line-height:0}
  .ad .artbox svg{width:44px;height:44px}
  .ad.full .fpic .artbox{display:none}
  .ad.full .foot{grid-column:1 / -1}
  .ad .offer span{display:inline}
  .display{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}
  @media(max-width:800px){.display{grid-template-columns:1fr}}

  /* illustrations shown through a mask, so they take the ink colour of whatever they sit in */
  .artimg{display:inline-block;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
  .ad .artbox .artimg{width:64px!important;height:64px!important}

  /* drawn flash frames: the frame is an inked mask, the words sit inside it */
  .ad .offer.flimg{position:relative;width:170px;aspect-ratio:1 / 1;display:flex!important;align-items:center;justify-content:center;text-align:center;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0 34px!important;margin:6px auto!important;clip-path:none!important;transform:rotate(-4deg);outline:0!important;color:var(--ad,#2f4738)}
  .ad .offer.flimg:before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--fi) center / contain no-repeat;mask:var(--fi) center / contain no-repeat}
  .ad .offer.flimg:after{content:none!important}
  .ad .offer.flimg span{position:relative;font:700 13px/1.15 Inter,Arial,sans-serif;color:#111;display:block}
  .ad .offer.fi-scroll-banner,.ad .offer.fi-bubble-oval,.ad .offer.fi-bubble-box{width:210px;padding:0 44px!important}
  .ad .offer.fi-bubble-round span,.ad .offer.fi-bubble-oval span,.ad .offer.fi-bubble-box span,.ad .offer.fi-bubble-thought span{transform:translateY(-10px)}
  .ad .offer.fi-rosette span{transform:translateY(-22px);font-size:11px}.ad .offer.fi-rosette{padding:0 54px!important}
  .ad .offer.fi-heart span{transform:translateY(-8px)}
  .spot{flex:none}
  /* phones: the search box must shrink, or the button pushes the whole page sideways */
  .sbox input{min-width:0;width:0}
  .sbox button{flex:none}

  /* Today look: a paid Bold line is heavier; a Boxed line sits in a ruled box */
  .row.paid b{font-weight:700;text-transform:uppercase;letter-spacing:.01em}
  .row.paid.sz-boxed{border:1.5px solid #161616;border-radius:8px;padding:8px 10px;margin:6px 0;background:#fff}

/* Show 20 / 30 / 40 and the page numbers */
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0;font:600 14px Inter,Arial,sans-serif}
.pager .pn{color:#666;margin:0 2px 0 10px}.pager .pn:first-child{margin-left:0}
.pager a,.pager b{display:inline-block;min-width:34px;text-align:center;padding:6px 10px;border:1px solid #161616;border-radius:6px;text-decoration:none;color:#161616;background:#fff}
.pager b{background:#161616;color:#f4cb2e}.pager i{font-style:normal;color:#666;padding:0 4px}
