/* davemanleyre.com v2 mockup (10/19). Poster x Horizon, brought back into colour and opened up.
   Colour photography, rounded images, soft grouping by space and tone, whole-card links.
   Kept: centred LEGACY masthead, favicon alone in a corner, Anton headlines, one red accent,
   bold black buttons, "Dave" in script. No navy, no gold, no tan. */
@font-face{font-family:"Anton";src:url(fonts/anton.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Thesignature";src:url(fonts/sig.ttf) format("truetype");font-weight:400;font-display:swap}

:root{
  --paper:#F7F7F5;      /* page */
  --soft:#EEEEEB;       /* soft grouping, instead of a box */
  --white:#FFFFFF;
  --char:#2B2B2A;       /* text, 13.2:1 on paper, 12.2:1 on soft */
  --pencil:#55544F;     /* secondary text, 7.1:1 on paper, 6.5:1 on soft */
  --line:#8A8984;       /* input edges, 3.4:1 on white */
  --black:#0F0E0D;      /* the button */
  --red:#C4302B;        /* the one accent */
  --disp:Anton,Impact,"Arial Narrow",sans-serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-img:20px; --r-soft:28px;
  --gut:16px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--char);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
.lbl{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);margin:0 0 12px}
.h1{font:400 50px/.95 var(--disp);text-transform:uppercase;letter-spacing:.004em}
.h2{font:400 36px/1 var(--disp);text-transform:uppercase;letter-spacing:.004em;max-width:22ch}
.lede{font-size:18px;line-height:1.6;color:var(--char);max-width:62ch}
.dim{color:var(--pencil)}
.sig{font-family:Thesignature,cursive;font-weight:400;line-height:1;letter-spacing:0;text-transform:none}
.bar{display:block;width:44px;height:6px;background:var(--red);border-radius:3px;margin:0 0 18px}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--black);color:#fff;text-decoration:none;font:400 20px/1 var(--disp);text-transform:uppercase;letter-spacing:.03em;padding:18px 24px;border-radius:999px;border:0;cursor:pointer}
.btn:hover{background:#2f2d2b}
.btn.light{background:#fff;color:var(--black)}
.btn.light:hover{background:#ecebe7}
.go{font:600 16px/1.4 var(--sans);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.go:hover{text-decoration-color:var(--red)}
.arr{display:inline-block;transition:transform .2s ease}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--char);outline-offset:3px}

/* ---------- masthead ---------- */
.mast{background:var(--white);position:relative;z-index:5}
.mast .row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:14px var(--gut) 12px;max-width:1240px;margin:0 auto}
.mast .lock{height:36px;width:auto;color:var(--char);display:block}
.mast .home{justify-self:center;display:block;border-radius:6px}
.mast .call{justify-self:end;font:600 14px/1 var(--sans);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 0}
.mast .call svg{width:18px;height:18px}
.mast .dk{display:none}
@media (min-width:700px){.mast .dk{display:inline}.mast .lock{height:44px}}
.menu{justify-self:start;position:relative}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--sans);padding:10px 0}
.menu summary::-webkit-details-marker{display:none}
.menu summary svg{width:20px;height:20px}
.menu[open] .sheet{display:flex}
.menu .sheet{display:none;position:absolute;left:0;top:44px;flex-direction:column;background:var(--white);border-radius:18px;box-shadow:0 18px 40px rgba(15,14,13,.16);padding:10px;min-width:230px}
.menu .sheet a{padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:600}
.menu .sheet a:hover{background:var(--soft)}
.nav{display:none}
.nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:8px}

/* ---------- hero ---------- */
.hero{padding:28px 0 8px}
.hero .lede{margin-top:18px}
.portrait{position:relative;margin:30px 0 0;border-radius:var(--r-img);overflow:hidden;background:#d9d4c9}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:52% 42%}
.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,13,.28) 0,rgba(15,14,13,0) 22%,rgba(15,14,13,0) 58%,rgba(15,14,13,.62) 100%);pointer-events:none}
.portrait .fav{position:absolute;left:18px;top:18px;width:30px;height:30px;color:#fff;z-index:2}
.portrait figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff}
.portrait .sig{font-size:64px;display:block;transform:rotate(-5deg);transform-origin:left bottom;margin:0 0 4px 2px;color:#fff}
.portrait small{display:block;font:500 14px/1.45 var(--sans);color:#fff}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding:40px 0 8px}
.stat b{display:block;font:400 32px/1 var(--disp);text-transform:uppercase}
.stat span{display:block;font:500 13.5px/1.4 var(--sans);color:var(--pencil);margin-top:6px}

/* ---------- sections ---------- */
.sec{padding:64px 0}
.sec.tight{padding-top:24px}
.soft{background:var(--soft);border-radius:var(--r-soft)}
.panel{padding:28px 20px}
.head{margin-bottom:28px}
.head .lede{margin-top:16px}
.split{display:grid;gap:28px}

/* ---------- whole-card links ---------- */
.tiles{display:grid;gap:34px 22px;grid-template-columns:1fr}
.tile{display:block;text-decoration:none;color:inherit;border-radius:calc(var(--r-img) + 6px);position:relative}
.tile .ph{border-radius:var(--r-img);overflow:hidden;background:#d8d6cf;transition:box-shadow .25s ease,transform .25s ease}
.tile:hover .ph,.tile:focus-visible .ph{box-shadow:0 16px 34px rgba(15,14,13,.22);transform:translateY(-3px)}
.tile .ph img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.tile h3{font:650 21px/1.25 var(--sans);letter-spacing:-.01em;margin:16px 0 6px}
.tile p{color:var(--pencil);font-size:16px;line-height:1.6}
.tile .more{display:inline-flex;gap:8px;margin-top:12px;font:600 15.5px/1.4 var(--sans);color:var(--char);border-bottom:1.5px solid currentColor;padding-bottom:2px}
.tile .num{font:600 12px/1 var(--sans);letter-spacing:.16em;color:var(--pencil);display:block;margin-top:16px}
.tile .num+h3{margin-top:8px}
.tile:hover .ph img{transform:scale(1.035)}
.tile:hover .more{border-bottom-color:var(--red)}
.tile:hover .arr,.listing:hover .arr{transform:translateX(4px)}
.tile:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.tile:focus-visible{outline:3px solid var(--char);outline-offset:6px}
.tile:focus-visible .ph img{transform:scale(1.035)}
/* text-only tiles sit on the soft tone instead of a frame */
.tile.note{background:var(--soft);padding:26px 22px 24px;border-radius:var(--r-soft);transition:background .2s ease}
.tile.note:hover{background:#E5E5E1}
.tile.note h3{margin-top:0}
.on-soft .tile.note{background:var(--white)}
.on-soft .tile.note:hover{background:#FBFBFA}
/* side-by-side tile: photo left, words right */
.tile.side{display:grid;grid-template-columns:112px 1fr;column-gap:18px;align-items:start;align-content:start}
.tile.side .ph{grid-row:1/span 3}
.tile.side>*:not(.ph){grid-column:2}
.tile.side .more{justify-self:start}
.tile.side .ph img{aspect-ratio:1/1}
.tile.side h3{margin-top:2px}
@media (min-width:1000px){.tile.side{grid-template-columns:180px 1fr;column-gap:24px}}

/* ---------- search ---------- */
.search{display:grid;gap:24px;align-items:center}
.form{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{width:100%;font:500 16px/1.3 var(--sans);color:var(--char);background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 14px;min-height:50px}
.form textarea{min-height:120px;resize:vertical}
.form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B2B2A' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:36px}
.form .btn{grid-column:1/-1;justify-content:center;margin-top:6px}
.form .fine{grid-column:1/-1;font-size:14px;color:var(--pencil)}
.note-line{margin-top:14px;font-size:15.5px;color:var(--pencil)}

/* ---------- listings ---------- */
.listings{display:grid;grid-template-columns:1fr 1fr;gap:22px 12px}
.listing{display:block;text-decoration:none;color:inherit;border-radius:18px}
.listing .ph{border-radius:16px;overflow:hidden;background:#d8d6cf;position:relative}
.listing img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.listing:hover img,.listing:focus-visible img{transform:scale(1.04)}
.listing:focus-visible{outline:3px solid var(--char);outline-offset:5px}
.listing .tag{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92);color:var(--char);font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;border-radius:999px}
.listing b{display:block;font:400 22px/1.1 var(--disp);margin:10px 0 2px;letter-spacing:.01em}
.listing span{display:block;font-size:13.5px;line-height:1.45;color:var(--pencil)}
.listing:hover b{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.idx-src{display:none}

/* ---------- lists without bullets ---------- */
.watch{display:grid;gap:14px;margin:30px 0 0;padding:0;list-style:none;counter-reset:w}
.watch li{display:grid;grid-template-columns:40px 1fr;gap:10px;font-size:16.5px;line-height:1.55;counter-increment:w}
.watch li:before{content:counter(w,decimal-leading-zero);font:400 22px/1.15 var(--disp);color:var(--pencil)}

/* ---------- quote ---------- */
.quote{margin:38px 0 0;padding:0;font:500 22px/1.45 var(--sans);letter-spacing:-.01em;max-width:40ch}
.quote cite{display:block;font:600 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--pencil);margin-top:14px}

/* ---------- faq ---------- */
.faq{display:grid;gap:10px}
.qa{display:grid;gap:28px}
.qa .btns{margin-bottom:4px}
.faq details{background:var(--soft);border-radius:18px}
.on-soft .faq details{background:var(--white)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;font:600 17px/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--char);border-bottom:2px solid var(--char);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s ease}
.faq details[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}
.faq details p{padding:0 20px 20px;color:var(--pencil);font-size:16.5px}

/* ---------- connect ---------- */
.connect{display:grid;gap:30px}
.connect .me{border-radius:var(--r-img);overflow:hidden}
.connect .me img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 30%}
.connect blockquote{margin:22px 0 0;font:500 20px/1.5 var(--sans);letter-spacing:-.01em}
.lines{display:grid;gap:8px;margin-top:22px;font-size:16px}
.lines a{font-weight:600}

/* ---------- reviews ---------- */
.reviews{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;overscroll-behavior-x:contain}
.review{scroll-snap-align:start;background:var(--white);border-radius:var(--r-soft);padding:26px 24px 24px;display:flex;flex-direction:column}
@media (min-width:1000px){.review q{font-size:19px}}
.review .t{font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pencil)}
.review q{display:block;quotes:none;font:500 17.5px/1.5 var(--sans);letter-spacing:-.01em;margin:14px 0 18px;flex:1}
.review .n{font-weight:600;font-size:15px}
.review .d{font-size:14px;color:var(--pencil)}
.car-nav{display:flex;gap:10px;margin-top:10px}
.car-nav button{width:48px;height:48px;border-radius:50%;border:0;background:var(--white);color:var(--char);font:400 22px/1 var(--sans);cursor:pointer}
.car-nav button:hover{background:#e3e3df}

/* ---------- about ---------- */
.about{display:grid;gap:30px;align-items:start}
.about .pic{position:relative;border-radius:var(--r-img);overflow:hidden}
.about .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.about .pic:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,13,0) 60%,rgba(15,14,13,.55));pointer-events:none}
.about .pic .sig{position:absolute;left:20px;bottom:18px;z-index:2;font-size:60px;color:#fff;transform:rotate(-5deg);transform-origin:left bottom}
.about .name{font:400 44px/.95 var(--disp);text-transform:uppercase}
.about .role{font:500 15px/1.5 var(--sans);color:var(--pencil);margin:10px 0 22px}
.about .body p+p{margin-top:16px}

/* ---------- protectors ---------- */
.pillars{display:grid;gap:26px;margin-top:8px}
.pillar .rn{font:400 26px/1 var(--disp);color:var(--pencil)}
.pillar h3{font:650 18px/1.3 var(--sans);margin:8px 0 6px}
.pillar p{color:var(--pencil);font-size:16px}

/* ---------- band ---------- */
.band{position:relative;border-radius:var(--r-soft);overflow:hidden;color:#fff;min-height:440px;display:flex;align-items:flex-end}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,13,.18),rgba(15,14,13,.78) 72%);z-index:1}
.band .in{position:relative;z-index:2;padding:30px 22px 30px}
.band .lbl{color:#fff}
.band p{max-width:56ch;margin-top:14px}
.band .go{color:#fff}

/* ---------- footer ---------- */
.foot{padding:56px 0 110px}
.foot .lock{height:40px;width:auto;color:var(--char)}
.foot .tag{color:var(--pencil);margin-top:12px;font-size:15.5px}
.foot .cols{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;margin-top:34px}
.foot h4{font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);margin:0 0 10px}
.foot .cols a{display:block;text-decoration:none;padding:5px 0;font-size:15.5px}
.foot .cols a:hover{text-decoration:underline;text-underline-offset:4px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center}
.social a[aria-disabled]{opacity:.55}
.social svg{width:18px;height:18px}
.marks{display:flex;gap:14px;align-items:center;margin-top:18px}
.marks img{height:34px;width:auto}
.legal{margin-top:34px;font-size:13.5px;color:var(--pencil);line-height:1.6}
.legal a{color:inherit}

/* phone call pill */
.callpill{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:20;background:var(--black);color:#fff;text-decoration:none;font:600 15px/1 var(--sans);padding:15px 22px;border-radius:999px;box-shadow:0 10px 26px rgba(15,14,13,.28);white-space:nowrap;display:inline-flex;gap:10px;align-items:center}
.callpill svg{width:17px;height:17px}


/* ---------- sell page ---------- */
.portrait.house img{aspect-ratio:4/3;object-position:45% 50%}
.portrait.house:after{background:linear-gradient(180deg,rgba(15,14,13,.25) 0,rgba(15,14,13,0) 24%,rgba(15,14,13,0) 55%,rgba(15,14,13,.66) 100%)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:30px 28px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:4px 14px}
.steps li:before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:400 40px/1 var(--disp);color:var(--pencil)}
.steps h3{font:650 19px/1.3 var(--sans);margin-top:4px}
.steps p{color:var(--pencil);font-size:16px}

/* ---------- bigger screens ---------- */
@media (min-width:700px){
  :root{--gut:28px}
  .tiles.c2{grid-template-columns:1fr 1fr}
  .tiles.c3{grid-template-columns:repeat(3,1fr)}
  .tiles.c4{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(3,1fr)}
  .listings{grid-template-columns:repeat(3,1fr);gap:30px 22px}
  .pillars{grid-template-columns:1fr 1fr}
  .stats.four{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .foot .cols{grid-template-columns:repeat(3,1fr)}
  .reviews{grid-auto-columns:46%}
}
@media (min-width:1000px){
  :root{--gut:40px}
  body{font-size:17.5px}
  .mast .row{padding:20px var(--gut) 10px}
  .mast .lock{height:54px}
  .nav{display:flex;justify-content:center;gap:34px;padding:2px 0 16px;font:600 14.5px/1 var(--sans)}
  .nav a{text-decoration:none;padding:6px 0}
  .nav a:hover{text-decoration:underline;text-underline-offset:8px}
  .menu{visibility:hidden}
  .h1{font-size:92px}
  .h2{font-size:56px}
  .hero{padding:44px 0 0}
  .hero .grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
  .portrait{margin:0}
  .portrait img{aspect-ratio:5/6}
  .stats{grid-template-columns:repeat(6,1fr);padding:56px 0 0}
  .sec{padding:96px 0}
  .panel{padding:48px}
  .split{grid-template-columns:1fr 1fr;gap:64px;align-items:end}
  .search{grid-template-columns:.95fr 1.05fr;gap:48px}
  .tiles.c4{grid-template-columns:repeat(4,1fr)}
  .tiles.c2.wide{gap:34px}
  .head{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;align-items:end}
  .head>.lbl,.head>.h2{grid-column:1}
  .head>.lede{grid-column:2;grid-row:1/span 2;margin:0;align-self:end}
  .qa{grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
  .connect{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
  .about{grid-template-columns:.8fr 1.2fr;gap:64px}
  .pillars{grid-template-columns:repeat(4,1fr);gap:30px}
  .pillars.two{grid-template-columns:1fr 1fr;gap:44px 64px}
  .stats.four{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:44px 40px}
  .portrait.house img{aspect-ratio:1/1}
  .band{min-height:520px}
  .band .in{padding:56px}
  .reviews{grid-auto-columns:calc((100% - 28px)/3)}
  .foot .top{display:grid;grid-template-columns:1fr 1.6fr;gap:48px}
  .foot .cols{margin-top:0}
  .callpill{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{transition:none!important;animation:none!important}
  .tile:hover .ph img,.tile:focus-visible .ph img,.listing:hover img,.listing:focus-visible img{transform:none}
  .tile:hover .arr,.listing:hover .arr{transform:none}
  .tile:hover .ph,.tile:focus-visible .ph{transform:none}
}

/* =====================================================================================
   v3 additions (10/19 build): thumbnail cue, facts strip, and the compatibility layer
   that dresses the live site's existing sections (forms, FAQ, guides, chat) in this look.
   Light only. Every form, link and script on the live pages is kept; only the look changes.
   ===================================================================================== */

/* ---------- thumbnail tile: the whole picture is the link, with a button cue inside ---------- */
.tile .ph{position:relative;container-type:inline-size}
.tile .cue{position:absolute;left:4.4cqw;bottom:4.4cqw;display:inline-flex;align-items:center;gap:.5em;background:#fff;color:var(--black);font:700 clamp(12px,3.4cqw,17px)/1 var(--sans);letter-spacing:.02em;padding:.66em 1em;border-radius:999px;box-shadow:0 4px 14px rgba(15,14,13,.25);transition:background .2s ease,color .2s ease}
.tile:hover .cue,.tile:focus-visible .cue{background:var(--red);color:#fff}
.tile:hover .cue .arr,.tile:focus-visible .cue .arr{transform:translateX(4px)}
.tile.thumb .ph img{aspect-ratio:4/3}
/* small side-by-side pictures: the cue is a round arrow button in the corner */
.tile.side .cue{left:auto;right:8px;bottom:8px;width:34px;height:34px;padding:0;justify-content:center;font-size:16px}
.tile.side .cue .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tile.side.thumb .ph img{aspect-ratio:1/1}

/* ---------- facts strip (replaces the old stat strip) ---------- */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding:40px 0 8px}
.facts .stat b{font-size:30px}
.facts-note{font-size:13.5px;color:var(--pencil);margin-top:18px}
@media (min-width:700px){.facts{grid-template-columns:repeat(3,1fr)}.facts.four{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.facts{grid-template-columns:repeat(6,1fr);padding:56px 0 0}.facts.four{grid-template-columns:repeat(4,1fr)}}

/* ---------- numbered facts ---------- */
.nums{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.nums li{background:var(--soft);border-radius:var(--r-soft);padding:24px 22px}
.nums b{display:block;font:400 34px/1 var(--disp);text-transform:uppercase}
.nums h3{font:650 18px/1.3 var(--sans);margin:10px 0 6px}
.nums p{color:var(--pencil);font-size:16px}
@media (min-width:700px){.nums{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.nums{grid-template-columns:repeat(3,1fr);gap:22px}}

/* ---------- hero variants ---------- */
.portrait.photo img{aspect-ratio:4/3;object-position:50% 50%}
@media (min-width:1000px){.portrait.photo img{aspect-ratio:1/1}}
.hero.slim .h1{font-size:46px}
@media (min-width:1000px){.hero.slim .h1{font-size:80px}}

/* =====================  compatibility layer for the live sections  ===================== */
main>section,body>section{padding:64px 0}
@media (min-width:1000px){main>section,body>section{padding:96px 0}}
main>section.hero,body>section.hero{padding:28px 0 8px}
@media (min-width:1000px){main>section.hero,body>section.hero{padding:44px 0 0}}
section.tight{padding-top:24px!important}
section[style*="--bg-alt"]{background:none!important}
section[style*="border-top"]{border-top:0!important}
.alt>.wrap{background:var(--soft);border-radius:var(--r-soft);width:calc(100% - 2*var(--gut));max-width:calc(1240px - 2*var(--gut));margin:0 auto;padding:28px 20px}
@media (min-width:1000px){.alt>.wrap{padding:48px}}
.eyebrow,.soft-label,.search-label,.cat-nav-label{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);margin:0 0 12px}
h1,h2,h3{color:var(--char)}
.sec-head{max-width:none;margin:0 0 28px}
.sec-head h2,.callout h2,.guide-callout h2,.book-card h2,.faq-hero h1{font:400 36px/1 var(--disp);text-transform:uppercase;letter-spacing:.004em;max-width:22ch;margin:0 0 16px}
.sec-head p,.lead{font-size:18px;line-height:1.6;color:var(--char);max-width:62ch}
@media (min-width:1000px){.sec-head h2,.callout h2,.guide-callout h2,.book-card h2{font-size:52px}.faq-hero h1{font-size:72px}}
.center,.colblock,.sec-head.center{text-align:left}
.btn-row{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:26px;justify-content:flex-start!important}
.colblock{max-width:none}
.spacer{height:24px}
.btn-primary,.btn-gold{background:var(--black);color:#fff}
.btn.btn-ghost{background:none;color:var(--char);padding:6px 0;font:600 16px/1.4 var(--sans);text-transform:none;letter-spacing:0;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;border-radius:0}
.btn.btn-ghost:hover{text-decoration-color:var(--red);background:none}
.txtlink{font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.txtlink:hover{text-decoration-color:var(--red)}
blockquote{margin:30px 0 0;font:500 22px/1.45 var(--sans);letter-spacing:-.01em;max-width:44ch;color:var(--char)}
.quote-attr{display:block;font:600 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--pencil);margin-top:14px}

/* cards (text tiles) */
.cards{display:grid;gap:22px;margin-top:28px;grid-template-columns:1fr}
@media (min-width:700px){.cards.c2,.cards.c3,.cards.c4{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.cards.c3{grid-template-columns:repeat(3,1fr)}}
.card{display:block;background:var(--soft);border-radius:var(--r-soft);padding:26px 22px 24px;text-decoration:none;color:inherit;transition:background .2s ease}
a.card:hover{background:#E5E5E1}
.card .tag,.card>.num{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pencil);margin-bottom:10px}
.card h3{font:650 20px/1.3 var(--sans);letter-spacing:-.01em;margin:0 0 8px}
.card p{color:var(--pencil);font-size:16px;margin-bottom:12px}
.card .txtlink{display:inline-flex;gap:8px;font:600 15.5px/1.4 var(--sans);color:var(--char);border-bottom:1.5px solid currentColor;text-decoration:none;padding-bottom:2px}
a.card:hover .txtlink{border-bottom-color:var(--red)}
.alt .card,.alt .pillar,.alt .faq-item{background:#fff}
.alt a.card:hover{background:#FBFBFA}

/* numbered lists the live pages already use */
.watch-block{margin-top:40px}
.watch-wide{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:w;text-align:left;max-width:none}
.watch-wide li{display:grid;grid-template-columns:40px 1fr;gap:10px;font-size:16.5px;line-height:1.55;counter-increment:w}
.watch-wide li:before{content:counter(w,decimal-leading-zero);font:400 22px/1.15 var(--disp);color:var(--pencil)}

/* FAQ (button + panel accordions on the live pages) */
.faq-list{display:grid;gap:10px;margin:28px 0 0;max-width:none}
.faq-item{background:var(--soft);border-radius:18px;border:0}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;background:none;border:0;cursor:pointer;padding:18px 20px;font:600 17px/1.4 var(--sans);color:var(--char)}
.faq-q:after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--char);border-bottom:2px solid var(--char);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s ease}
.faq-q.open:after{transform:rotate(225deg) translate(-2px,-2px)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--pencil);font-size:16.5px;padding:0 20px}
.faq-a.open{max-height:1200px;padding-bottom:20px}
.faq-a p{margin:0 0 10px}
.faq-hero{padding:28px 0 8px}
@media (min-width:1000px){.faq-hero{padding:44px 0 0}}
.faq-hero .lead{margin-top:16px}
.cat-nav{padding:36px 0 0!important}
.cat-pills{display:flex;flex-wrap:wrap;gap:10px}
.cat-pill{display:inline-flex;align-items:center;padding:12px 16px;border-radius:999px;background:var(--soft);text-decoration:none;font:600 15px/1 var(--sans)}
.cat-pill:hover{background:#E5E5E1;text-decoration:underline;text-underline-offset:4px}
.faq-cat{padding:56px 0 8px!important}
.faq-cat .sec-head h2{font-size:32px}
@media (min-width:1000px){.faq-cat .sec-head h2{font-size:44px}}

/* pillars and prose */
.pillar{background:var(--soft);border-radius:var(--r-soft);padding:24px 22px}
.prose{max-width:68ch}
.prose h3{font:650 21px/1.3 var(--sans);margin:34px 0 10px}
.prose h3:first-child{margin-top:0}
.prose p{margin:0 0 16px}

/* callouts, booking, newsletter */
.callout,.guide-callout,.book-card{background:var(--soft);border-radius:var(--r-soft);padding:30px 22px;text-align:left;max-width:none}
.callout p,.guide-callout p,.book-card p{max-width:62ch;margin:0 0 6px;font-size:17px}
@media (min-width:1000px){.callout,.guide-callout,.book-card{padding:48px}}
.slim-cta{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:22px;padding:24px 22px;border-radius:var(--r-soft);background:var(--white);border:1px solid #E2E1DC}
.slim-cta-text strong{display:block;font:650 19px/1.3 var(--sans)}
.slim-cta-text span{color:var(--pencil)}
.cal-embed{background:var(--white);border-radius:var(--r-soft);overflow:hidden;margin-top:24px}
.news-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;max-width:620px}
.news-form input{flex:1 1 220px;min-width:0;font:500 16px/1.3 var(--sans);color:var(--char);background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;min-height:50px}
.news-note,.county-meta{color:var(--pencil);font-size:14px;margin-top:12px;text-align:left}

/* search */
.search-card{background:var(--soft);border-radius:var(--r-soft);padding:24px 20px;margin-top:20px}
@media (min-width:1000px){.search-card{padding:40px}}
.home-search-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-search-form>*{min-width:0}
.home-search-form select,.home-search-form input[type=text]{width:100%;font:500 16px/1.3 var(--sans);color:var(--char);background-color:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;min-height:50px;appearance:none;-webkit-appearance:none}
.home-search-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B2B2A' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:36px}
.search-btn{grid-column:1/-1;display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--black);color:#fff;font:400 20px/1 var(--disp);text-transform:uppercase;letter-spacing:.03em;padding:18px 24px;border-radius:999px;border:0;cursor:pointer;margin-top:6px}
.search-btn:hover{background:#2f2d2b}
.search-note{margin-top:14px;font-size:15.5px;color:var(--pencil)}
.idx-shell{margin-top:24px;background:var(--white);border-radius:var(--r-soft);padding:12px;overflow:hidden}
.idx-shell *{max-width:100%}

/* lead form (live markup, new look) */
.lrep-lead-form{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.lrep-lead-form>*{min-width:0}
.lrep-lead-form input,.lrep-lead-form select,.lrep-lead-form textarea,.recruit-card input,.recruit-card select{width:100%;font:500 16px/1.3 var(--sans);color:var(--char);background-color:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;min-height:50px}
.lrep-lead-form select,.recruit-card select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B2B2A' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:36px}
.lrep-lead-form input[type=email],.lrep-lead-form input[type=tel],.lrep-lead-form input[name=property_address],.lrep-lead-form select,.lrep-lead-form textarea,.lrep-lead-submit,.lrep-lead-note,.lrep-lead-after{grid-column:1/-1}
.lrep-lead-form textarea{min-height:120px;resize:vertical}
.lrep-lead-submit,.recruit-card button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--black);color:#fff;font:400 20px/1 var(--disp);text-transform:uppercase;letter-spacing:.03em;padding:18px 24px;border-radius:999px;border:0;cursor:pointer;margin-top:6px;width:100%}
.lrep-lead-submit:hover,.recruit-card button:hover{background:#2f2d2b}
.lrep-lead-submit:disabled{opacity:.6}
.lrep-lead-note,.recruit-card .form-note{font-size:14px;color:var(--pencil)}
.lrep-lead-after{padding:12px 0}
.lrep-lead-after h3{font:400 32px/1 var(--disp);text-transform:uppercase;margin-bottom:10px}
.lrep-lead-after p{margin-bottom:16px}
.lrep-lead-after-actions{display:grid;gap:10px;max-width:360px}
.lrep-lead-after-btn{display:block;text-align:center;padding:16px;border-radius:999px;font:600 16px/1.2 var(--sans);border:0;cursor:pointer;text-decoration:none}
.lrep-lead-after-btn--navy{background:var(--black);color:#fff}
.lrep-lead-after-btn--gold{background:var(--white);color:var(--black);border:1.5px solid var(--black)}

/* recruiting */
.recruit-grid{display:grid;gap:28px;align-items:start}
@media (min-width:1000px){.recruit-grid{grid-template-columns:1.05fr .95fr;gap:64px}}
.recruit-grid>div>p{margin-top:16px}
.recruit-card{background:var(--soft);border-radius:var(--r-soft);padding:28px 20px}
@media (min-width:1000px){.recruit-card{padding:40px}}
.recruit-card form{display:grid;gap:10px}
.recruit-card__title{font:650 22px/1.3 var(--sans);margin-bottom:6px}
.recruit-card__sub{color:var(--pencil);margin-bottom:18px}
.recruit-cta-btn{display:block;margin-top:18px;padding:18px 20px;border-radius:20px;background:var(--white);text-decoration:none}
.recruit-cta-btn:hover{background:#FBFBFA}
.rcb-title{display:block;font:650 17px/1.3 var(--sans)}
.rcb-sub{display:block;color:var(--pencil);font-size:15px;margin-top:2px}

/* testimonials carousel (live markup) */
.carousel{position:relative;margin-top:8px}
.tcar{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;overscroll-behavior-x:contain}
@media (min-width:700px){.tcar{grid-auto-columns:46%}}
@media (min-width:1000px){.tcar{grid-auto-columns:calc((100% - 28px)/3)}}
.tcard{scroll-snap-align:start;background:var(--white);border-radius:var(--r-soft);padding:26px 24px 24px;display:flex;flex-direction:column;min-width:0}
.tcard .ttype{font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pencil)}
.tcard .tquote{font:500 17.5px/1.5 var(--sans);letter-spacing:-.01em;margin:14px 0 18px;flex:1;color:var(--char)}
.tcard .tname{font-weight:600;font-size:15px}
.tcard .tdetail{font-size:14px;color:var(--pencil)}
.carousel-btn{position:static;width:48px;height:48px;border-radius:50%;border:0;background:var(--white);color:var(--char);font:400 22px/1 var(--sans);cursor:pointer;margin:10px 10px 0 0}
.carousel-btn:hover{background:#e3e3df}

/* connect / follow cards */
.social-grid{display:grid;gap:14px;margin-top:24px;grid-template-columns:1fr}
@media (min-width:700px){.social-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.social-grid{grid-template-columns:repeat(5,1fr)}}
.scard{display:block;background:var(--soft);border-radius:22px;padding:22px 20px;text-decoration:none}
.scard .sicon svg{width:26px;height:26px}
.scard .sbadge{font:600 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pencil)}
.scard h3{font:650 18px/1.3 var(--sans);margin:10px 0 4px}
.scard p{color:var(--pencil);font-size:15px}
.scard .slink{display:inline-block;margin-top:8px;font-weight:600}

/* insights bits */
.county-wrap{margin-top:24px;overflow-x:auto;border-radius:var(--r-soft);background:var(--white)}
.mc-body{max-width:68ch}
#market-commentary .mc-body{color:var(--char)!important;margin:0!important}

/* call bar and chat widget, in the new palette */
.mobile-sticky{display:none!important}
#lrep-chat-root{position:fixed;bottom:22px;right:22px;z-index:200}
@media (max-width:999px){#lrep-chat-root{bottom:80px;right:14px}}
.lrep-chat-fab{position:relative;width:58px;height:58px;border-radius:50%;border:0;background:var(--black);color:#fff;cursor:pointer;box-shadow:0 10px 26px rgba(15,14,13,.28);display:flex;align-items:center;justify-content:center;padding:0}
.lrep-chat-fab svg{width:26px;height:26px}
.lrep-chat-fab.is-open{transform:scale(.92)}
.lrep-chat-fab-pulse{display:none}
.lrep-chat-face{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%;border:2px solid #fff}
.lrep-chat-fab:not(.no-face)>svg{display:none}
.lrep-chat-badge{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center}
.lrep-chat-badge svg{width:12px;height:12px}
.lrep-chat-fab.no-face .lrep-chat-badge{display:none}
.lrep-chat-panel{position:absolute;bottom:72px;right:0;width:360px;max-width:calc(100vw - 28px);height:520px;max-height:calc(100vh - 140px);background:var(--white);border-radius:22px;box-shadow:0 24px 70px rgba(15,14,13,.28);display:none;flex-direction:column;overflow:hidden}
.lrep-chat-panel.is-open{display:flex}
.lrep-chat-header{background:var(--black);color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.lrep-chat-header-left{display:flex;align-items:center;gap:10px}
.lrep-chat-header-face{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top}
.lrep-chat-header-title{font:650 16px/1.2 var(--sans)}
.lrep-chat-header-sub{font-size:12px;opacity:.75}
.lrep-chat-close{background:none;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1}
.lrep-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.lrep-chat-msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.5}
.lrep-chat-msg.user{align-self:flex-end;background:var(--black);color:#fff;border-bottom-right-radius:4px}
.lrep-chat-msg.bot{align-self:flex-start;background:var(--soft);color:var(--char);border-bottom-left-radius:4px}
.lrep-chat-msg.error{align-self:flex-start;background:#F6E3E1;color:#7A1F1A}
.lrep-chat-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px}
.lrep-chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--pencil);animation:lrepblink 1.2s infinite}
.lrep-chat-typing span:nth-child(2){animation-delay:.2s}.lrep-chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes lrepblink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.lrep-chat-cta{align-self:flex-start;background:var(--black);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none}
.lrep-chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid #E2E1DC}
.lrep-chat-input{flex:1;min-width:0;padding:12px 14px;background:var(--soft);border:0;border-radius:999px;color:var(--char);font:500 16px/1.2 var(--sans)}
.lrep-chat-send{background:var(--black);color:#fff;border:0;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lrep-chat-send svg{width:18px;height:18px}

/* fixes after the first visual pass */
p.eyebrow,.sec-head p.eyebrow,.callout p.eyebrow,.guide-callout p.eyebrow{font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);margin:0 0 12px}
.band h2,.band .h2,.band p{color:#fff}
.band:before{background:linear-gradient(180deg,rgba(15,14,13,.05),rgba(15,14,13,.66) 74%)}
.marks img{filter:brightness(0);opacity:.72}
main>section h2:not([class]){font:400 36px/1 var(--disp);text-transform:uppercase;letter-spacing:.004em;max-width:22ch;margin:0 0 16px}
@media (min-width:1000px){main>section h2:not([class]){font-size:52px}}
.faq-cat .sec-head h2{font-size:32px}
@media (min-width:1000px){.faq-cat .sec-head h2{font-size:44px}}

/* =====================  round 2 (Dave 10/19 notes)  ===================== */
/* masthead: smaller LEGACY mark on the left, tabs centred, Call on the right; phone: mark left, menu right */
.mast .row{grid-template-columns:auto 1fr auto;gap:12px;padding:12px var(--gut)}
.mast .home{justify-self:start}
.mast .lock{height:30px}
.mast .end{justify-self:end;display:flex;align-items:center;gap:18px}
.menu{justify-self:auto}
.menu .sheet{left:auto;right:0;z-index:30}
.nav{display:none}
@media (min-width:700px){.mast .lock{height:34px}}
@media (min-width:1000px){
  .mast .row{padding:14px var(--gut);gap:24px}
  .mast .lock{height:38px}
  .nav{display:flex;justify-content:center;gap:28px;padding:0;font:600 14.5px/1 var(--sans)}
  .menu{display:none}
}

/* home hero in black and white */
.portrait.bw{background:#d6d6d3}

/* the compact talk block: heading + picture + reach rows on the left, the form on the right */
main>section.talk-sec{padding-bottom:48px}
.talk{display:grid;gap:24px}
.talk .sub{margin-top:12px;font-size:16.5px;line-height:1.55;color:var(--pencil);max-width:52ch}
.talk .me{border-radius:var(--r-img);overflow:hidden;margin-top:18px;background:#d6d6d3}
.talk .me img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 30%}
.reach{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.reach a{display:flex;align-items:center;gap:14px;background:var(--white);border-radius:16px;padding:10px 14px;min-height:60px;text-decoration:none;transition:background .2s ease}
.reach a:hover{background:#FBFBFA}
.reach a:hover b{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.reach a:hover .arr{transform:translateX(4px)}
.reach .ic{flex:none;width:38px;height:38px;border-radius:50%;background:var(--black);color:#fff;display:grid;place-items:center}
.reach .ic svg{width:18px;height:18px}
.reach .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.reach b{font:650 16px/1.25 var(--sans)}
.reach small{font-size:14px;line-height:1.35;color:var(--pencil);overflow-wrap:anywhere}
.reach .arr{color:var(--pencil);flex:none}
.talk .fh{font:650 19px/1.3 var(--sans);margin:0 0 12px}
.talk-r{min-width:0}
@media (min-width:700px){.reach{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){
  .talk{grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .talk .me img{aspect-ratio:2/1}
  main>section.talk-sec{padding-bottom:64px}
}

/* insights: the reading on the left, the numbers on the right */
main>section.ins{padding-top:40px}
.ins-grid{display:grid;gap:40px}
.ins-main{min-width:0}
.ins-main>section{padding:0 0 48px!important}
.ins-main>section:last-child{padding-bottom:0!important}
.ins-main .wrap{padding:0;max-width:none}
.ins-main .alt>.wrap{width:auto;max-width:none;margin:0;padding:28px 20px}
#market-commentary{padding:0 0 48px!important}
#market-commentary .mc-body{max-width:68ch;margin:0!important}
.ins-side{display:grid;gap:16px;min-width:0;order:-1}
.side-card{background:var(--soft);border-radius:var(--r-soft);padding:22px 20px}
.side-card .sh{font:400 26px/1.05 var(--disp);text-transform:uppercase;letter-spacing:.004em;margin:0 0 14px;max-width:none}
.side-card p{font-size:15.5px;line-height:1.55}
.side-card .src{font-size:13px;line-height:1.5;color:var(--pencil);margin-top:12px}
.ctab-wrap{overflow-x:auto}
.ctab{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.ctab th,.ctab td{padding:7px 4px;text-align:right;border-bottom:1px solid #DCDBD6;white-space:nowrap}
.ctab th[scope=row],.ctab thead th:first-child{text-align:left}
.ctab th[scope=row]{font-weight:600}
.ctab thead th{font:600 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pencil)}
.ctab tfoot th,.ctab tfoot td{font-weight:700;border-bottom:0;padding-top:10px}
.trend{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.trend li{display:grid;grid-template-columns:44px 1fr 1fr;grid-template-areas:"m p d" "m pb db";column-gap:14px;row-gap:6px;align-items:center}
.trend .m{grid-area:m;font:400 20px/1 var(--disp);text-transform:uppercase}
.trend .p{grid-area:p}.trend .d{grid-area:d}.trend .pb{grid-area:pb}.trend .db{grid-area:db}
.trend .v{font:600 14.5px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.trend .bar{height:8px;background:#DCDBD6;border-radius:4px;overflow:hidden}
.trend .bar i{display:block;height:100%;background:var(--char);border-radius:4px}
.trend .bar.db i{background:var(--red)}
.rate .big{font:400 64px/1 var(--disp);margin:2px 0 6px}
.rate .cap{font-size:14.5px;color:var(--pencil)}
.rates{margin:14px 0 0}
.rates div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #DCDBD6;font-size:14.5px}
.rates dt{color:var(--pencil)}
.rates dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.rate .pay{margin-top:14px}
.side-card .mh{font:650 16.5px/1.3 var(--sans);margin:14px 0 4px}
.side-card .lbl+.mh{margin-top:4px}
.glinks{display:grid}
.glinks a{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #DCDBD6;text-decoration:none;font-weight:600;font-size:15.5px}
.glinks a:last-child{border-bottom:0}
.glinks a:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.glinks a:hover .arr{transform:translateX(4px)}
.side-card.dark{background:var(--black);color:#fff}
.side-card.dark .lbl{color:#D2D0CB}
.side-card.dark .sh{color:#fff}
.side-card.dark .go{color:#fff}
.side-card .btns{margin-top:16px}
.side-card .btn{padding:14px 18px;font-size:17px}
@media (min-width:1000px){
  main>section.ins{padding-top:64px}
  .ins-grid{grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}
  .ins-side{order:0}
  .ins-main .alt>.wrap{padding:40px}
}
@media (min-width:1200px){.ins-grid{grid-template-columns:minmax(0,1fr) 420px}}
.talk .me img{object-position:50% 12%}
@media (min-width:700px){.reach .arr{display:none}.reach a{padding:10px 12px;gap:12px}}
@media (max-width:699px){.reach a{min-height:54px;padding:8px 14px}}
.trend .bar{display:block}
.trend .bar{width:auto;margin:0}
.reach li{display:flex}.reach li>a{flex:1}
