
:root{
  --ink:#0c0c0e;
  --ink-2:#16161a;
  --ink-3:#1f1f25;
  --gold:#d8ab5e;
  --gold-lt:#f0d6a4;
  --cream:#f8f5ef;
  --paper:#ffffff;
  --body:#3f434b;
  --line:rgba(216,171,94,.28);
  --maxw:1180px;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--body);background:var(--paper);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;color:var(--ink);margin:0;line-height:1.08;letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,5.4vw,4.35rem);font-weight:600}
h2{font-size:clamp(2rem,3.6vw,2.95rem);font-weight:600}
h3{font-size:1.28rem;font-weight:600}
p{margin:0 0 1.05em}
.eyebrow{
  font-family:"Inter",sans-serif;font-size:.735rem;font-weight:700;
  letter-spacing:.19em;text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;gap:12px;margin:0 0 18px;
}
.eyebrow::after{content:"";height:1px;flex:1;max-width:70px;background:var(--line)}
.eyebrow.ctr{justify-content:center}
.eyebrow.ctr::before{content:"";height:1px;width:70px;background:var(--line)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;font-size:.95rem;letter-spacing:.01em;
  padding:15px 30px;border-radius:999px;text-decoration:none;
  border:1.5px solid transparent;transition:.2s;white-space:nowrap;
}
.btn-gold{background:var(--gold);color:#20180a;box-shadow:0 10px 26px -12px rgba(216,171,94,.9)}
.btn-ghost{border-color:rgba(248,245,239,.34);color:var(--cream)}
.btn-dark{background:var(--ink);color:var(--cream)}
.btn-line{border-color:var(--ink);color:var(--ink)}

/* ---------- top bar + header ---------- */
.topbar{background:var(--ink);color:rgba(248,245,239,.72);font-size:.815rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:20px}
.topbar a{text-decoration:none}
.topbar .tb-l{display:flex;gap:26px;align-items:center}
.topbar .dot{color:var(--gold)}
.socials{display:flex;gap:9px}
.socials span{
  width:25px;height:25px;border-radius:50%;border:1px solid rgba(248,245,239,.24);
  display:grid;place-items:center;font-size:.66rem;font-weight:700;color:rgba(248,245,239,.72)
}
header.site{background:var(--paper);border-bottom:1px solid #ece7dd;position:relative;z-index:5}
header.site .wrap{display:flex;align-items:center;gap:34px;height:96px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex:none}
.brand img{width:58px;height:58px;object-fit:contain}
.brand .bt{display:block;font-family:"Fraunces",serif;font-weight:600;font-size:1.05rem;color:var(--ink);line-height:1.14;letter-spacing:-.01em}
.brand .bs{display:block;font-size:.63rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:5px}
nav.main{margin-left:auto;display:flex;gap:24px;align-items:center}
nav.main a{
  text-decoration:none;font-size:.9rem;font-weight:500;color:#2c2f35;white-space:nowrap;
  padding:6px 0;border-bottom:2px solid transparent;
}
nav.main a.on{color:var(--ink);border-bottom-color:var(--gold)}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(115% 78% at 78% 4%,rgba(216,171,94,.20),transparent 62%),
    radial-gradient(90% 60% at 4% 96%,rgba(216,171,94,.09),transparent 60%);
}
.hero .wrap{position:relative;padding:96px 28px 0}
.hero-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:64px;align-items:center}
.hero h1{color:var(--cream)}
.hero h1 em{font-style:normal;color:var(--gold-lt)}
.hero .lede{font-size:1.135rem;color:rgba(248,245,239,.76);max-width:31em;margin-top:24px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero .note{margin-top:22px;font-size:.85rem;color:rgba(248,245,239,.5)}
.promise{
  border-left:2px solid var(--gold);padding:6px 0 6px 22px;margin-top:34px;
  font-family:"Fraunces",serif;font-size:1.42rem;color:var(--gold-lt);line-height:1.32
}
.promise b{color:var(--cream);font-weight:600}
/* portrait card */
.figure{position:relative}
.figure .ph{
  border-radius:var(--r);overflow:hidden;background:var(--ink-3);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9);border:1px solid rgba(216,171,94,.22)
}
.figure .ph img{width:100%;height:430px;object-fit:cover;object-position:50% 22%}
.figure .tag{
  position:absolute;left:-26px;bottom:36px;background:var(--gold);color:#20180a;
  padding:14px 20px;border-radius:12px;max-width:212px;box-shadow:0 20px 40px -20px rgba(0,0,0,.8)
}
.figure .tag b{display:block;font-family:"Fraunces",serif;font-size:1.42rem;line-height:1;margin-bottom:5px}
.figure .tag span{display:block;font-size:.775rem;font-weight:600;letter-spacing:.02em;line-height:1.35}
/* stat strip */
.stats{
  position:relative;margin-top:74px;border-top:1px solid rgba(248,245,239,.13);
  display:grid;grid-template-columns:repeat(4,1fr)
}
.stats div{padding:26px 22px 34px;border-right:1px solid rgba(248,245,239,.13)}
.stats div b{min-height:2.1em;display:flex;align-items:flex-end}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:"Fraunces",serif;font-size:1.72rem;color:var(--gold-lt);line-height:1;margin-bottom:7px}
.stats span{font-size:.83rem;color:rgba(248,245,239,.58);line-height:1.45;display:block}

/* ---------- band ---------- */
.band{background:var(--cream);padding:26px 0}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.band p{margin:0;font-family:"Fraunces",serif;font-size:1.24rem;color:var(--ink)}
.band .who{font-size:.83rem;letter-spacing:.16em;text-transform:uppercase;color:#8b7c60;font-weight:700}

/* ---------- sections ---------- */
section{padding:96px 0}
.sec-head{max-width:660px;margin-bottom:52px}
.sec-head.ctr{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{margin-top:18px;font-size:1.06rem}

/* CYA cards */
.cya{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cya article{
  border:1px solid #e9e3d7;border-radius:var(--r);padding:32px 28px 34px;background:var(--paper);
  position:relative;overflow:hidden
}
.cya article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
.cya .g::before{background:#3f8f5e}.cya .y::before{background:#dfae3f}.cya .r::before{background:#b4483f}
.cya .letter{
  font-family:"Fraunces",serif;font-size:2.7rem;line-height:1;font-weight:700;margin-bottom:14px
}
.cya .g .letter{color:#3f8f5e}.cya .y .letter{color:#c9982c}.cya .r .letter{color:#b4483f}
.cya h3{margin-bottom:9px}
.cya p{font-size:.965rem;margin:0}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e9e3d7;border:1px solid #e9e3d7;border-radius:var(--r);overflow:hidden}
.svc article{background:var(--paper);padding:34px 30px 36px;transition:.2s}
.svc .n{font-size:.74rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:16px}
.svc h3{margin-bottom:10px}
.svc p{font-size:.945rem;margin:0}
.svc a{display:inline-block;margin-top:16px;font-size:.87rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:2px}

/* media / trust */
.dark{background:var(--ink);color:var(--cream)}
.dark h2,.dark h3{color:var(--cream)}
.media{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.media article{
  border:1px solid rgba(248,245,239,.14);border-radius:var(--r);padding:30px 28px 32px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0))
}
.media .k{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.media p{color:rgba(248,245,239,.72);font-size:.955rem;margin:0 0 18px}
.media a{font-size:.87rem;font-weight:600;color:var(--gold-lt);text-decoration:none;border-bottom:1.5px solid rgba(216,171,94,.5);padding-bottom:2px}

/* testimonials */
.tst{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
/* Four reviews read badly as 3+1, so an even set goes two-up. The mobile
   override below needs the same specificity or this rule wins there too. */
.tst.four{grid-template-columns:repeat(2,1fr)}
.tst figure{margin:0;background:var(--paper);border:1px solid #e9e3d7;border-radius:var(--r);padding:30px 28px 26px;display:flex;flex-direction:column}
.tst .stars{color:var(--gold);letter-spacing:3px;font-size:.95rem;margin-bottom:14px}
.tst blockquote{margin:0;font-size:.975rem;line-height:1.66;color:#43474f;flex:1;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-style:normal;letter-spacing:normal;padding:0;border:0;quotes:none}
/* Astra styles a bare <blockquote> (italic, 5px left border, 20px padding). Anything
   this rule does not name, the theme wins - so it names them. */
.tst figcaption{margin-top:20px;padding-top:16px;border-top:1px solid #eee7db;font-weight:600;color:var(--ink);font-size:.93rem}
.tst figcaption span{display:block;font-weight:500;color:#8b8f98;font-size:.83rem;margin-top:2px}

/* lead magnets */
.leads{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.leads article{
  border-radius:var(--r);padding:40px 38px 42px;border:1px solid #e9e3d7;background:var(--cream)
}
.leads article.gold{background:var(--ink);border-color:var(--ink)}
.leads article.gold h3,.leads article.gold p{color:var(--cream)}
.leads article.gold p{color:rgba(248,245,239,.72)}
.leads h3{font-size:1.55rem;margin-bottom:12px}
.leads p{font-size:.98rem}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.team figure{margin:0}
.team .ph{border-radius:var(--r);overflow:hidden;background:#e9e3d7}
.team .ph img{width:100%;height:320px;object-fit:cover;object-position:50% 18%}
.team figcaption{padding-top:18px}
.team figcaption b{display:block;font-family:"Fraunces",serif;font-size:1.2rem;color:var(--ink)}
.team figcaption span{font-size:.85rem;color:var(--gold);font-weight:600;letter-spacing:.05em}

/* final CTA */
.final{background:var(--ink);color:var(--cream);padding:104px 0;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 100% at 50% 0%,rgba(216,171,94,.18),transparent 65%)}
.final .wrap{position:relative;text-align:center;max-width:760px}
.final h2{color:var(--cream)}
.final p{color:rgba(248,245,239,.74);margin:20px auto 32px;max-width:34em}
.final .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
footer{background:#08080a;color:rgba(248,245,239,.6);padding:66px 0 30px;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
footer h4{color:var(--cream);font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;font-family:"Inter",sans-serif;font-weight:700;margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:9px}
footer a{text-decoration:none}
footer .brandf{display:flex;gap:12px;align-items:center;margin-bottom:16px}
footer .brandf img{width:52px;height:52px;object-fit:contain}
footer .brandf b{font-family:"Fraunces",serif;color:var(--cream);font-size:1.05rem;display:block;text-transform:none;letter-spacing:-.01em;line-height:1.15}
footer .brandf .tl{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;display:block;margin-top:5px}
footer .legal{margin-top:44px;padding-top:22px;border-top:1px solid rgba(248,245,239,.1);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem}
footer .legal a{margin-left:20px}
.disc{margin-top:18px;font-size:.76rem;color:rgba(248,245,239,.4);line-height:1.6;max-width:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .hero-grid{gap:44px}
  .svc,.media,.tst,.team,.cya{grid-template-columns:repeat(2,1fr)}
  .svc{gap:1px}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  section{padding:64px 0}
  .topbar{display:none}
  header.site .wrap{height:74px;gap:14px}
  header.site .btn{display:none}
  nav.main{gap:0}
  nav.main a{display:none}
  nav.main::after{
    content:"☰";font-size:1.5rem;color:var(--ink);line-height:1;padding:4px 2px
  }
  .hero .wrap{padding:56px 20px 0}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .figure{order:-1;max-width:420px}
  .figure .ph img{height:300px}
  .figure .tag{left:auto;right:-8px;bottom:-16px;padding:12px 16px;max-width:190px}
  .stats{grid-template-columns:1fr 1fr;margin-top:48px}
  .stats div:nth-child(2n){border-right:0}
  .stats div:nth-child(-n+2){border-bottom:1px solid rgba(248,245,239,.13)}
  .stats div b{min-height:0;display:block}
  .band .wrap{flex-direction:column;align-items:flex-start;gap:12px}
  .band p{font-size:1.08rem}
  .cya,.svc,.media,.tst,.team,.leads,.tst.four{grid-template-columns:1fr}
  .svc{border-radius:var(--r)}
  .sec-head{margin-bottom:36px}
  .leads article{padding:32px 26px 34px}
  .team .ph img{height:280px}
  .final{padding:72px 0}
  footer .cols{grid-template-columns:1fr;gap:32px}
  footer .legal{flex-direction:column;gap:10px}
  footer .legal a{margin:0 18px 0 0}
  .btn{padding:14px 24px;font-size:.92rem}
  .hero .cta .btn{width:100%;justify-content:center}
}

/* ---- 2026 additions ---- */
body.lampson-2026-page{margin:0}
.lampson-2026-page #wpadminbar{position:fixed}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
/* Four cards read badly as 3+1. Same trick as .tst.four; the mobile rules below
   carry the .four class too, or this would win there as well. */
.tri.four{grid-template-columns:repeat(2,1fr)}
.tri article{background:var(--paper);border:1px solid rgba(12,12,14,.09);border-top:3px solid var(--gold);border-radius:var(--r);padding:32px 28px 34px}
.tri h3{font-family:"Fraunces",serif;font-size:1.32rem;line-height:1.2;margin:0 0 12px;color:var(--ink);font-weight:600}
.tri p{margin:0;color:var(--body);font-size:.985rem;line-height:1.65}
.hero .lede em{font-style:normal;color:var(--ink);font-weight:600}
.napline{margin:18px 0 0;font-size:.9rem;color:var(--body);line-height:1.6}
.napline a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.socials a{color:inherit;text-decoration:none;opacity:.8}
.socials a:hover{opacity:1}
@media(max-width:1080px){.tri,.tri.four{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.tri,.tri.four{grid-template-columns:1fr;gap:18px}}

/* ---- interior pages ---- */
.pagehero{background:var(--ink);color:var(--cream);padding:74px 0 66px}
.pagehero .eyebrow{color:var(--gold)}
.pagehero h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(2.05rem,4.2vw,3.15rem);line-height:1.08;letter-spacing:-.02em;margin:.35em 0 0;color:var(--cream)}
.pagehero p{max-width:760px;margin:20px 0 0;color:rgba(248,245,239,.82);font-size:1.06rem;line-height:1.7}
.prose{max-width:800px;margin:0}
.prose.wide{max-width:1060px}

/* ---------- video grid (Great Day Houston archive) ---------- */
.vids{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 26px;margin:26px 0 10px}
.vids article{margin:0}
.vids .vf{position:relative;padding-top:56.25%;border-radius:var(--r);overflow:hidden;background:#0d1b2a}
.vids .vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vids h3{font-family:"Fraunces",Georgia,serif;font-size:1.06rem;line-height:1.3;color:var(--ink);margin:16px 0 6px}
.vids p{font-size:.93rem;line-height:1.62;color:var(--body);margin:0}
@media(max-width:860px){.vids{grid-template-columns:1fr;gap:26px}}

/* ---------- FAQ accordion (native <details>) ---------- */
.faq{margin:26px 0 10px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;
  font-family:"Fraunces",Georgia,serif;font-size:1.06rem;line-height:1.35;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:14px;top:50%;width:10px;height:10px;
  margin-top:-7px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);
  transform:rotate(45deg);transition:transform .18s}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
.faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.faq .fa{padding:0 44px 22px 0}
.faq .fa p{margin:0;color:var(--body);line-height:1.72}


.prose h2{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:48px 0 14px}
.prose h3{font-family:"Fraunces",serif;font-weight:600;font-size:1.25rem;line-height:1.25;color:var(--ink);margin:34px 0 10px}
.prose p{color:var(--body);font-size:1.03rem;line-height:1.75;margin:0 0 16px}
.prose ul{margin:0 0 20px;padding:0;list-style:none}
.prose ul li{position:relative;padding-left:26px;margin:0 0 11px;color:var(--body);line-height:1.7}
.prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.prose strong{color:var(--ink)}
.prose a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.prose a:hover{border-bottom-color:var(--gold)}
.prose .callout{background:var(--cream);border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:24px 26px;margin:30px 0}
.prose .callout p:last-child{margin:0}
.napcard{background:var(--ink);color:var(--cream);border-radius:var(--r);padding:30px 32px;margin:44px 0 0}
.napcard b{display:block;font-family:"Fraunces",serif;font-size:1.2rem;margin-bottom:10px;color:var(--cream)}
.napcard p{margin:0;color:rgba(248,245,239,.82);line-height:1.75}
.napcard a{color:var(--gold-lt);text-decoration:none;font-weight:600}
@media(max-width:860px){.pagehero{padding:52px 0 46px}.napcard{padding:26px 22px}}

/* ---- guard against the active theme's global link colours ---- */
body.lampson-2026-page .topbar a{color:rgba(248,245,239,.86)}
body.lampson-2026-page .topbar a:hover{color:var(--gold-lt)}
body.lampson-2026-page .socials a{color:rgba(248,245,239,.7)}
body.lampson-2026-page .brand,body.lampson-2026-page .brand:hover{color:inherit;text-decoration:none}
body.lampson-2026-page nav.main a{color:#2c2f35}
body.lampson-2026-page nav.main a:hover,body.lampson-2026-page nav.main a.on{color:var(--ink)}
body.lampson-2026-page .btn-dark,body.lampson-2026-page .btn-dark:hover{color:var(--cream)}
body.lampson-2026-page .btn-gold,body.lampson-2026-page .btn-gold:hover{color:#20180a}
body.lampson-2026-page .btn-ghost,body.lampson-2026-page .btn-ghost:hover{color:var(--cream)}
body.lampson-2026-page .btn-line,body.lampson-2026-page .btn-line:hover{color:var(--ink)}
body.lampson-2026-page .hero .lede em{color:var(--gold-lt)}
body.lampson-2026-page .media a{color:var(--gold-lt)}
body.lampson-2026-page .svc a{color:var(--ink)}
body.lampson-2026-page footer a{color:rgba(248,245,239,.72)}
body.lampson-2026-page footer a:hover{color:var(--gold-lt)}
body.lampson-2026-page .final a.btn-ghost{color:var(--cream)}
body.lampson-2026-page .note a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}

/* ---- specificity guard: page-builder kits set typography at (0,1,1) ---- */
body.lampson-2026-page{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--body);background:var(--paper)}
body.lampson-2026-page h1,
body.lampson-2026-page h2,
body.lampson-2026-page h3,
body.lampson-2026-page h4,
body.lampson-2026-page .brand .bt,
body.lampson-2026-page .stats div b,
body.lampson-2026-page .band p,
body.lampson-2026-page .figure .tag b,
body.lampson-2026-page .promise b,
body.lampson-2026-page footer .brandf b{font-family:"Fraunces",Georgia,serif}
body.lampson-2026-page p,
body.lampson-2026-page li,
body.lampson-2026-page a,
body.lampson-2026-page span,
body.lampson-2026-page figcaption,
body.lampson-2026-page .btn{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body.lampson-2026-page .band p{font-family:"Fraunces",Georgia,serif}
body.lampson-2026-page .hero .napline{color:rgba(248,245,239,.62)}
body.lampson-2026-page .hero .napline a{color:rgba(248,245,239,.82);border-bottom-color:rgba(216,171,94,.45)}

/* ---- own mobile menu; the site's Mobile Menu plugin bar is hidden here ---- */
body.lampson-2026-page .mob-menu-header-holder,
body.lampson-2026-page .mobmenu-panel,
body.lampson-2026-page .mobmenu-overlay,
body.lampson-2026-page .mobmenu-content,
body.lampson-2026-page .mobmenul-container,
body.lampson-2026-page .mobmenur-container{display:none !important}
body.lampson-2026-page{padding-top:0 !important}

.lp-nav-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.lp-burger{display:none;cursor:pointer;width:30px;height:22px;flex-direction:column;justify-content:space-between;margin-left:14px}
.lp-burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .22s ease,opacity .22s ease}
.lp-drawer{display:none}
header.site{position:relative}
@media(max-width:860px){
  body.lampson-2026-page nav.main{display:none}
  body.lampson-2026-page nav.main::after{content:none}
  body.lampson-2026-page header.site .btn-dark{display:none}
  body.lampson-2026-page .lp-burger{display:flex;margin-left:auto}
  body.lampson-2026-page .lp-drawer{display:block;max-height:0;overflow:hidden;transition:max-height .28s ease;background:var(--paper);border-top:1px solid rgba(12,12,14,.08)}
  body.lampson-2026-page .lp-nav-toggle:checked ~ .lp-drawer{max-height:640px}
  body.lampson-2026-page .lp-nav-toggle:checked ~ .wrap .lp-burger span:nth-child(1){transform:translateY(10px) rotate(45deg)}
  body.lampson-2026-page .lp-nav-toggle:checked ~ .wrap .lp-burger span:nth-child(2){opacity:0}
  body.lampson-2026-page .lp-nav-toggle:checked ~ .wrap .lp-burger span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
  body.lampson-2026-page .lp-drawer a{display:block;padding:15px 20px;font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(12,12,14,.06)}
  body.lampson-2026-page .lp-drawer a.btn{margin:18px 20px 8px;display:flex;justify-content:center;border-bottom:0}
  body.lampson-2026-page .lp-drawer a.tel{text-align:center;color:var(--body);border-bottom:0;padding-bottom:22px}
}

/* ---------- contact page: details block + enquiry form ----------
   Astra styles bare form controls (border, padding, background, radius, font-size,
   height and the :focus colour). Anything a rule below does not NAME, the theme keeps -
   the same trap that made the review quotes come out italic. So each control property
   is written out rather than assumed, and the selectors carry the input type to sit
   comfortably above Astra's own input[type="..."] rules. */
.cdet{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:26px 0 12px}
.cdet > div{background:var(--paper);padding:26px 24px 28px}
.cdet h3{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin:0 0 12px;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.cdet p{margin:0 0 6px;color:var(--ink);font-size:1rem;line-height:1.5}
.cdet p.note{color:var(--body);font-size:.85rem;line-height:1.55;margin:8px 0 0}
.cdet a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:1px}
.cdet p.note a{color:var(--body);border-bottom-color:rgba(200,150,62,.5)}

.cf{margin:22px 0 8px;max-width:820px}
.cf .frow{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.cf .fld{margin:0 0 18px}
.cf label{display:block;font-size:.83rem;font-weight:600;letter-spacing:.02em;
  color:var(--ink);margin:0 0 7px;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.cf .req{color:var(--gold)}
.cf input[type="text"],.cf input[type="email"],.cf input[type="tel"],.cf textarea{
  -webkit-appearance:none;appearance:none;
  display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:1rem;line-height:1.5;font-style:normal;letter-spacing:normal;
  color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:10px;
  padding:13px 15px;height:auto;min-height:0;box-shadow:none;outline:0;
  transition:border-color .18s,box-shadow .18s;
}
.cf textarea{min-height:150px;resize:vertical}
.cf input[type="text"]:focus,.cf input[type="email"]:focus,.cf input[type="tel"]:focus,.cf textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,150,62,.18);outline:0}
.cf .chk{margin:0 0 12px}
.cf .chk label{display:flex;align-items:flex-start;gap:11px;font-weight:400;font-size:.9rem;
  line-height:1.55;color:var(--body);margin:0;cursor:pointer}
.cf .chk input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;width:17px;height:17px;
  margin:2px 0 0;flex:0 0 auto;accent-color:var(--gold)}
.cf .fsub{display:flex;align-items:center;flex-wrap:wrap;gap:18px 22px;margin:24px 0 0}
.cf button.btn{cursor:pointer;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.2;text-transform:none;letter-spacing:.01em}
.cf .fsub .note{font-size:.85rem;color:var(--body);line-height:1.5;margin:0}
.cf .fsub .note a{color:var(--body)}
/* The honeypot must be invisible to people and to screen readers, but still submitted -
   display:none would let some bots skip it and some browsers drop it. */
.lp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.fmsg{border-radius:12px;padding:18px 20px;margin:0 0 22px;font-size:.95rem;line-height:1.6}
.fmsg.ok{background:#eef7f0;border:1px solid #b7dcc0;color:#1c4d2b}
.fmsg.bad{background:#fdf1f1;border:1px solid #e6bcbc;color:#8a2b2b}
.fmsg a{color:inherit}
.fmsg ul{margin:8px 0 0;padding-left:20px}
.fmsg li{margin:3px 0}

@media(max-width:1080px){.cdet{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  .cdet{grid-template-columns:1fr}
  .cf .frow{grid-template-columns:1fr;gap:0}
  .cf .fsub{gap:14px}
  .cf button.btn{width:100%;justify-content:center}
}
