/*
Theme Name: Lincoln Tax Services
Theme URI: https://lincolntaxservices.com/
Author: SitePlot Media
Description: Custom theme for Lincoln Tax Services, Lawrenceville GA. Rebuilds the original maroon-and-gold identity with every page, menu, form and image built into the theme. No page builder, no plugins required.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: lincoln
*/

/* ============================================================
   TOKENS — sampled directly from the live screenshots
   ============================================================ */
:root{
  --maroon:#7F1323;
  --maroon-dark:#66101C;
  --maroon-tint:#9A2434;
  --gold:#FFCD57;          /* top bar, footer bottom band */
  --gold-btn:#F8B71F;      /* buttons */
  --gold-btn-hover:#FFC943;
  --cream:#FFF5DD;         /* alternating band */
  --grey:#F7F7F7;          /* alternating band */
  --dark:#161616;          /* footer */
  --ink:#1A1A1A;
  --body:#6B6B6B;
  --body-strong:#4A4A4A;
  --line:#E3E3E3;

  --font-display:"Oswald",Arial Narrow,sans-serif;
  --font-body:"Poppins",-apple-system,Segoe UI,sans-serif;

  --wrap:1140px;
  --radius:4px;
  --shadow:0 3px 14px rgba(0,0,0,.07);
  --shadow-lg:0 14px 40px rgba(0,0,0,.13);
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:#fff;color:var(--body);font-family:var(--font-body);font-size:16px;line-height:1.8;font-weight:300;-webkit-font-smoothing:antialiased}
img,svg,iframe{max-width:100%;display:block}
img{height:auto}
a{color:var(--maroon);text-decoration:none;transition:color .18s}
a:hover{color:var(--maroon-tint)}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);font-weight:600;line-height:1.2;margin:0 0 .55em;letter-spacing:.2px;
  /* Spreads a heading evenly across its lines instead of leaving one short
     word stranded — at 390px "Tax preparation done right" was breaking as
     "Tax preparation done / right". Ignored by browsers that lack it. */
  text-wrap:balance}
h1{font-size:clamp(2.2rem,4.4vw,3.1rem)}
h2{font-size:clamp(1.7rem,3vw,2.3rem)}
h3{font-size:clamp(1.3rem,2vw,1.72rem)}
h4{font-size:1.14rem}
p{margin:0 0 1.2em}
strong,b{color:var(--body-strong);font-weight:600}
ul,ol{margin:0 0 1.2em;padding-left:1.15em}
li{margin-bottom:.25em}
table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
th,td{padding:.7rem .9rem;border:1px solid var(--line);text-align:left}
th{background:var(--grey);font-family:var(--font-display);font-weight:500}
blockquote{margin:2rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--gold-btn);background:var(--cream);font-style:italic}
:focus-visible{outline:3px solid var(--gold-btn);outline-offset:2px}
.skip-link{position:absolute;left:-9999px;background:var(--gold-btn);color:#111;padding:.75rem 1.25rem;font-weight:600;z-index:999}
.skip-link:focus{left:0;top:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ============================================================
   LAYOUT
   ============================================================ */
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.wrap--wide{width:min(100% - 2.5rem,1320px)}
.sec{padding:clamp(3rem,6vw,5rem) 0}
.sec--sm{padding:clamp(2rem,4vw,3rem) 0}
.sec--cream{background:var(--cream)}
.sec--grey{background:var(--grey)}
.sec--maroon{background:var(--maroon);color:#F2DCDF}
.sec--maroon h2,.sec--maroon h3,.sec--maroon h4{color:#fff}
.sec--maroon strong{color:#fff}
.sec--dark{background:var(--dark);color:#B7B2AA}
.sec--dark h2,.sec--dark h3{color:#fff}
.center{text-align:center}
.lead-narrow{max-width:760px;margin-inline:auto}
.kicker{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--maroon);font-size:1.16rem;margin:-.35em 0 1em;display:block}
.sec--maroon .kicker,.sec--ink .kicker,.sec--dark .kicker,.bleed__text .kicker,
.flow .kicker,.panel .kicker,.hero .kicker{color:var(--gold)}
.tagline{color:var(--body-strong);font-weight:600;margin-bottom:1em}
/* .tagline and .kicker default to dark ink for light sections. Without these
   overrides they inherit nothing on a coloured panel — the kicker rendered
   maroon-on-maroon (invisible) and the tagline dark grey on maroon (unreadable). */
.sec--maroon .tagline,.sec--ink .tagline,.sec--dark .tagline,.bleed__text .tagline,
.flow .tagline,.panel .tagline,.hero .tagline{color:#fff}
.mt0{margin-top:0}.mb0{margin-bottom:0}

.grid{display:grid;gap:1.75rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}

/* two-column media split */
.split{display:grid;gap:clamp(2rem,4vw,3.25rem);grid-template-columns:1fr 1fr;align-items:center}
.split--media-left .split__text{order:2}
.split__text,.split__media{min-width:0}
.split img{width:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
@media(max-width:820px){.split{grid-template-columns:1fr}.split--media-left .split__text{order:0}}

/* full-bleed maroon/image split (payroll page) */
.bleed{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.bleed__text{background:var(--maroon);color:#EEDADD;padding:clamp(2.25rem,5vw,4.5rem) clamp(1.5rem,5vw,4rem)}
.bleed__text h2{color:#fff}
.bleed__text strong{color:#fff}
.bleed__media{background-size:cover;background-position:center;min-height:340px}
.bleed__inner{max-width:520px;margin-left:auto}
@media(max-width:820px){.bleed{grid-template-columns:1fr}}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:.93rem;padding:.85rem 1.85rem;border:2px solid transparent;border-radius:30px;cursor:pointer;transition:all .2s;line-height:1.3}
.btn--gold{background:var(--gold-btn);color:#1A1A1A}
.btn--gold:hover{background:var(--gold-btn-hover);color:#1A1A1A;transform:translateY(-2px)}
.btn--maroon{background:var(--maroon);color:#fff}
.btn--maroon:hover{background:var(--maroon-tint);color:#fff;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn--ghost:hover{background:#fff;color:var(--maroon)}
.btn--outline{background:transparent;color:var(--maroon);border-color:var(--maroon)}
.btn--outline:hover{background:var(--maroon);color:#fff}
.btn svg{width:17px;height:17px;fill:currentColor}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.btn-row--center{justify-content:center}

/* ============================================================
   TOP BAR
   ============================================================ */
.topbar{background:var(--gold);color:var(--maroon);font-size:.86rem}
.topbar__inner{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;align-items:center;justify-content:center;padding:.5rem 0;position:relative}
.topbar a{color:var(--maroon);display:inline-flex;align-items:center;gap:.45rem;font-weight:400}
.topbar a:hover{color:#4E0B15}
.topbar svg{width:14px;height:14px;fill:currentColor;flex:none}
.topbar__social{display:flex;gap:.45rem;margin-left:auto}
.topbar__social a{width:28px;height:28px;border-radius:50%;background:var(--maroon);display:grid;place-items:center}
.topbar__social svg{width:13px;height:13px;fill:var(--gold)}
.topbar__social a:hover{background:#4E0B15}
@media(max-width:900px){.topbar__social{margin-left:0}}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{background:var(--maroon);position:sticky;top:0;z-index:200;transition:box-shadow .2s}
.site-header.is-stuck{box-shadow:0 4px 18px rgba(0,0,0,.28)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:84px}
.brand{flex:none;display:flex;align-items:center}
.brand img{max-height:58px;width:auto}
.brand__fallback{font-family:var(--font-display);font-size:1.5rem;color:var(--gold);letter-spacing:1px}

.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.15rem}
.nav li{position:relative}
.nav a{display:block;padding:.65rem .78rem;font-size:.93rem;font-weight:600;color:#fff}
.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a,
.nav .current-menu-ancestor>a,.nav .current_page_parent>a,.nav .is-active>a{color:var(--gold)}
.nav .menu-item-has-children>a::after,.nav .has-sub>a::after{content:"";display:inline-block;margin-left:.35rem;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav .sub-menu,.nav .sub{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border-top:3px solid var(--gold-btn);box-shadow:var(--shadow-lg);padding:.35rem;display:block;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:210;list-style:none;margin:0}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu,.nav li:hover>.sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav .sub-menu a,.nav .sub a{color:var(--ink);font-weight:400;font-size:.89rem;padding:.55rem .8rem;border-radius:3px}
.nav .sub-menu a:hover,.nav .sub a:hover{color:var(--maroon);background:var(--cream)}

@media(min-width:1081px){
  /* Third level and deeper fly out sideways rather than stacking on top of
     their parent. */
  .nav .sub-menu .sub-menu{left:100%;top:-.35rem}
  /* A dropdown under one of the right-hand items would otherwise run past the
     viewport edge — at 1100px its links were off-screen and unclickable.
     site.js measures each one and adds this class when it would overflow. */
  .nav > ul > li > .sub-menu.is-flipped{left:auto;right:0}
  .nav .sub-menu .sub-menu.is-flipped{left:auto;right:100%}
  /* Parents deeper than the first level point sideways, not down. */
  .nav .sub-menu .menu-item-has-children > a{display:flex;justify-content:space-between;align-items:center}
  .nav .sub-menu .menu-item-has-children > a::after{
    border:4px solid transparent;border-top-color:transparent;border-left-color:currentColor;
    margin-left:.5rem;transform:none}
}

.nav__close{display:none}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);background:transparent;border-radius:4px;cursor:pointer;padding:0;place-items:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:#fff;content:"";position:relative;transition:.2s}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

@media(max-width:1080px){
  .nav-toggle{display:grid}
  .nav{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:var(--maroon);padding:5rem 1.25rem 2rem;overflow-y:auto;transform:translateX(100%);transition:transform .28s;z-index:205;box-shadow:-8px 0 30px rgba(0,0,0,.3)}
  .nav.is-open{transform:translateX(0)}
  /* The panel covers the header, so it carries its own close control rather
     than relying on the hamburger underneath it. */
  .nav__close{display:grid;position:absolute;top:1.1rem;right:1.25rem;width:44px;height:44px;
    border:1px solid rgba(255,255,255,.45);background:transparent;border-radius:4px;cursor:pointer;padding:0}
  .nav__close::before,.nav__close::after{content:"";position:absolute;top:50%;left:50%;
    width:20px;height:2px;background:#fff;margin:-1px 0 0 -10px}
  .nav__close::before{transform:rotate(45deg)}
  .nav__close::after{transform:rotate(-45deg)}
  .nav__close:hover{border-color:var(--gold)}
  .nav__close:hover::before,.nav__close:hover::after{background:var(--gold)}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a{padding:.85rem .4rem;border-bottom:1px solid rgba(255,255,255,.14)}
  .nav .sub-menu,.nav .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(0,0,0,.16);border-top:0;padding:0 0 0 .8rem;display:none}
  .nav .sub-menu.is-open,.nav .sub.is-open{display:block}
  .nav .sub-menu a,.nav .sub a{color:#F0DFE2}
  .nav .sub-menu a:hover,.nav .sub a:hover{background:transparent;color:var(--gold)}
  .nav-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:190;opacity:0;visibility:hidden;transition:.25s}
  .nav-scrim.is-open{opacity:1;visibility:visible}
}

/* ============================================================
   PAGE BANNER
   ============================================================ */
.banner{position:relative;min-height:clamp(190px,26vw,320px);display:flex;align-items:center;background-size:cover;background-position:center 30%;isolation:isolate}
.banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.66) 42%,rgba(255,255,255,.18) 100%)}
.banner h1{color:var(--maroon);margin:0;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.banner .breadcrumbs{font-size:.82rem;color:var(--body-strong);margin-top:.45rem}
.banner .breadcrumbs a{color:var(--maroon)}
.banner .breadcrumbs span+span::before{content:"/";margin:0 .45rem;color:#A9A9A9}
.banner--dark::after{background:linear-gradient(90deg,rgba(20,20,20,.86) 0%,rgba(20,20,20,.6) 50%,rgba(20,20,20,.25) 100%)}
.banner--dark h1{color:#fff;text-shadow:none}
.banner--dark .breadcrumbs{color:#CFCAC4}
.banner--dark .breadcrumbs a{color:var(--gold)}

/* ============================================================
   HOME HERO
   ============================================================ */
.hero{position:relative;color:#fff;isolation:isolate;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center right}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(96deg,rgba(102,16,28,.96) 0%,rgba(127,19,35,.9) 45%,rgba(127,19,35,.35) 100%)}
.hero__inner{padding:clamp(3rem,7vw,5.5rem) 0 clamp(4.75rem,9vw,7rem);max-width:690px}
.hero h1{color:#fff}
.hero h1 span{color:var(--gold);display:block}
.hero__lede{color:#F1DFE2;font-size:1.05rem;margin-bottom:1.6rem}
.hero__list{list-style:none;padding:0;margin:0 0 1.9rem;display:grid;gap:.6rem}
.hero__list li{display:flex;gap:.7rem;align-items:flex-start;color:#F6EBED}
.hero__list svg{width:20px;height:20px;flex:none;margin-top:6px;fill:var(--gold)}
.hero__note{margin-top:1rem;font-size:.82rem;color:#D8C3C7}

/* ============================================================
   PILLARS — the strip that lifts over the hero
   ============================================================ */
.pillars{position:relative;z-index:5;margin-top:-52px;padding-bottom:clamp(2.5rem,5vw,4rem)}
.pillars__grid{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 16px 44px rgba(0,0,0,.14)}
.pillar{background:#fff;padding:1.9rem 1.5rem;display:flex;flex-direction:column;transition:background .22s}
.pillar:hover{background:var(--cream)}
.pillar__ico{width:44px;height:44px;border-radius:50%;background:var(--maroon);display:grid;place-items:center;margin-bottom:1.05rem;flex:none}
.pillar__ico svg{width:20px;height:20px;fill:var(--gold)}
.pillar h3{font-size:1.14rem;margin-bottom:.45em;line-height:1.28}
@media(min-width:821px){.pillar h3{min-height:2.56em}}  /* keeps body copy on one baseline when a heading wraps */
.pillar p{font-size:.92rem;margin:0}
@media(max-width:820px){
  .pillars{margin-top:0;padding-top:2.25rem}
  .pillars__grid{box-shadow:var(--shadow)}
}

/* ============================================================
   FLOW — four disciplines converging on one team
   ============================================================ */
.flow{background:linear-gradient(150deg,#1B0508 0%,var(--maroon-dark) 55%,var(--maroon) 100%);
  border-radius:8px;padding:clamp(1.6rem,3vw,2.25rem);box-shadow:var(--shadow-lg);
  border-top:4px solid var(--gold-btn)}
.flow__eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;
  font-size:.72rem;color:var(--gold);display:block;text-align:center;margin-bottom:1.1rem}
.flow__in{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;grid-template-columns:1fr 1fr}
.flow__in li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:5px;
  padding:.85rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center;
  color:#fff;font-size:.85rem;font-weight:500;line-height:1.3}
.flow__in svg{width:22px;height:22px;fill:var(--gold)}
.flow__join{display:grid;place-items:center;height:34px}
.flow__join span{width:2px;height:100%;background:linear-gradient(var(--gold-btn),rgba(248,183,31,.25));position:relative}
.flow__join span::after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%,45%) rotate(45deg);
  width:8px;height:8px;border-right:2px solid var(--gold-btn);border-bottom:2px solid var(--gold-btn)}
.flow__join--short{height:26px}
.flow__hub{background:var(--gold-btn);color:#1A1A1A;border-radius:6px;padding:.95rem 1rem;text-align:center}
.flow__hub strong{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:#1A1A1A}
.flow__hub span{display:block;font-size:.82rem;color:#5A4410;line-height:1.35}
.flow__out{background:rgba(255,255,255,.07);border:1px dashed rgba(255,255,255,.28);border-radius:6px;padding:1rem}
.flow__out-label{display:block;text-align:center;color:#E4CDD1;font-size:.8rem;margin-bottom:.7rem}
.flow__out ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-around;gap:.5rem;flex-wrap:wrap}
.flow__out li{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:#fff;font-size:.84rem;font-weight:600}
.flow__out svg{width:19px;height:19px;fill:var(--gold)}
@media(max-width:420px){.flow__in{grid-template-columns:1fr}}

/* ============================================================
   EMBEDDED FORM (JotForm)
   ============================================================ */
.embed{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-lg);
  overflow:hidden;margin-top:2.25rem;position:relative;min-height:640px}
.embed iframe{display:block;width:100%;min-width:100%;border:0;height:760px;transition:height .18s ease}
.embed::before{content:"";position:absolute;inset:0;background:var(--grey);z-index:0}
.embed iframe,.embed .embed__fallback{position:relative;z-index:1}
.embed__fallback{padding:2.5rem 1.5rem;text-align:center;margin:0;background:#fff}
.embed__note{margin-top:1.25rem;font-size:.88rem;color:#6E6E6E}
@media(max-width:640px){
  .embed{min-height:560px;border-radius:6px}
  .embed iframe{height:680px}
}

/* ============================================================
   SELLING PANELS — payroll status board / compare table
   ============================================================ */
.panel{background:linear-gradient(150deg,#1B0508 0%,var(--maroon-dark) 55%,var(--maroon) 100%);
  border-radius:8px;padding:clamp(1.6rem,3vw,2.15rem);box-shadow:var(--shadow-lg);border-top:4px solid var(--gold-btn)}
.panel__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-bottom:.9rem;margin-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.16)}
.panel__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;
  font-size:.78rem;color:var(--gold);margin:0}
.panel__chip{background:var(--gold-btn);color:#1A1A1A;font-size:.72rem;font-weight:700;
  padding:.28rem .7rem;border-radius:20px;white-space:nowrap}
.panel__steps{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.panel__steps li{display:flex;gap:.7rem;align-items:flex-start;color:#fff;font-size:.92rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:5px;padding:.7rem .8rem}
.panel__steps svg{width:18px;height:18px;flex:none;fill:var(--gold);margin-top:2px}
.panel__foot{margin-top:1.15rem;padding-top:1.05rem;border-top:1px solid rgba(255,255,255,.16);
  display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:center}
.panel__stat strong{display:block;font-family:var(--font-display);font-size:1.42rem;color:var(--gold);line-height:1.1}
.panel__stat span{display:block;font-size:.74rem;color:#E1CDD1;line-height:1.3;margin-top:.15rem}

/* capability sheet — light card, so it does not read as a second dark panel
   on the same page as the people list below it */
.capsheet{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;
  box-shadow:var(--shadow-lg);border-top:4px solid var(--gold-btn)}
.capsheet__head{padding:1.5rem 1.5rem 1.1rem;border-bottom:1px solid var(--line)}
.capsheet__eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;
  font-size:.72rem;color:var(--maroon);display:block;margin-bottom:.4rem}
.capsheet__head h3{margin:0;font-size:1.35rem}
.capsheet__grid{list-style:none;margin:0;padding:1.1rem;display:grid;gap:.7rem;grid-template-columns:1fr 1fr}
.capsheet__grid li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;
  padding:1rem .6rem;background:var(--grey);border:1px solid var(--line);border-radius:6px;
  font-size:.85rem;font-weight:600;color:var(--body-strong);line-height:1.3;transition:.2s}
.capsheet__grid li:hover{background:var(--cream);border-color:var(--gold-btn);transform:translateY(-2px)}
.capsheet__grid svg{width:24px;height:24px;fill:var(--maroon)}
.capsheet__foot{margin:0;background:var(--maroon);color:#fff;text-align:center;
  padding:.9rem 1rem;font-weight:600;font-size:.9rem}
@media(max-width:420px){.capsheet__grid{grid-template-columns:1fr}}

/* people list inside a panel */
.people{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.people li{display:flex;gap:.85rem;align-items:center;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);border-radius:5px;padding:.75rem .85rem}
.people__mark{width:42px;height:42px;flex:none;border-radius:50%;background:var(--gold-btn);
  color:#1A1A1A;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.95rem}
.people li>div{min-width:0}
.people li>div strong{display:block;color:#fff;font-size:.98rem;font-weight:600;line-height:1.25}
.people li>div span{display:block;color:#E1CDD1;font-size:.8rem;line-height:1.3;margin-top:.1rem}

/* Two columns whose headings, bodies and closing lines each share a row.
   Flexbox cannot do this: with flex:1 on the body, a two-line closer steals
   space from its own column, so the closers end up 25px apart. Putting each
   band in its own GRID ROW makes the row size to the taller of the pair, so
   all three align no matter how the text wraps. */
.duo{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,4vw,3.5rem);
  grid-template-areas:"ha hb" "ba bb" "ca cb";align-items:start}
.duo__h.duo__a{grid-area:ha}
.duo__h.duo__b{grid-area:hb}
.duo__body.duo__a{grid-area:ba}
.duo__body.duo__b{grid-area:bb}
.duo__close.duo__a{grid-area:ca}
.duo__close.duo__b{grid-area:cb}
.duo__body{padding-bottom:1.5rem}
.duo__close{margin:0;padding-top:1.1rem;border-top:2px solid var(--gold-btn);
  color:var(--body-strong);font-weight:600;line-height:1.55}
@media(max-width:820px){
  .duo{grid-template-columns:1fr;grid-template-areas:"ha" "ba" "ca" "hb" "bb" "cb";row-gap:0}
  .duo__h.duo__b{margin-top:2.5rem}
}

/* compare table */
.compare{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg)}
.compare__row{display:grid;grid-template-columns:1.05fr 1fr 1fr;align-items:stretch;
  border-bottom:1px solid var(--line)}
.compare__row:last-child{border-bottom:0}
.compare__row--head{background:var(--ink);border-bottom:0}
.compare__row--head>*{padding:.9rem .85rem;font-family:var(--font-display);font-size:.8rem;
  text-transform:uppercase;letter-spacing:.1em;color:#B8B2AA;text-align:center}
.compare__row--head .compare__mine{background:var(--maroon);color:#fff}
.compare__row--head>*:first-child{text-align:left;letter-spacing:.14em}
.compare__row>*{padding:.85rem .85rem;font-size:.88rem;display:flex;align-items:center}
.compare__label{font-weight:600;color:var(--body-strong)}
.compare__them{color:#A6A6A6;justify-content:center;text-align:center;background:var(--grey)}
.compare__mine{color:var(--ink);font-weight:600;justify-content:center;text-align:center;
  background:var(--cream);gap:.4rem}
.compare__mine svg{width:16px;height:16px;fill:var(--maroon);flex:none}
.compare__foot{background:var(--maroon);color:#fff;text-align:center;padding:.95rem 1rem;
  font-weight:600;font-size:.9rem}
@media(max-width:520px){
  .compare__row{grid-template-columns:1fr}
  .compare__row--head{display:none}
  .compare__label{background:var(--ink);color:#fff;padding-top:.7rem;padding-bottom:.7rem}
  .compare__them::before{content:"Typical seasonal shop: ";color:#8C8C8C;font-weight:600;margin-right:.3rem}
  .compare__mine::before{content:"Lincoln: ";color:var(--maroon);font-weight:700;margin-right:.3rem}
  .compare__them,.compare__mine{justify-content:flex-start;text-align:left}
}

/* ============================================================
   AUDIT PROTECTION — badge + numbered reasons
   ============================================================ */
.badge-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:clamp(1rem,2.5vw,1.75rem);box-shadow:var(--shadow-lg);text-align:center;max-width:420px;margin-inline:auto}
.badge-card img{width:100%;height:auto;border-radius:4px}
.badge-card figcaption{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;
  font-size:.72rem;color:var(--maroon);margin-top:.9rem}
.reasons{display:grid;gap:1.4rem;margin:1.75rem 0}
.reason-row{display:flex;gap:1.1rem;align-items:flex-start}
.reason-row__n{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--gold-btn);
  line-height:1;flex:none;width:2.1rem;padding-top:.15rem}
.reason-row h3{font-size:1.2rem;margin-bottom:.35em}
.reason-row p{font-size:.94rem;margin:0}

/* ============================================================
   CARDS
   ============================================================ */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.5rem;height:100%;display:flex;flex-direction:column;transition:.22s}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:#D6D2CA}
.card h3,.card h4{margin-bottom:.5em}
.card p{font-size:.94rem;margin-bottom:0;flex:1}
.card__ico{width:46px;height:46px;border:1px solid var(--maroon);border-radius:3px;display:grid;place-items:center;margin-bottom:1.1rem}
.card__ico svg{width:22px;height:22px;fill:var(--maroon)}
.card__link{font-weight:600;font-size:.88rem;color:var(--maroon);margin-top:1rem;display:inline-flex;gap:.35rem;align-items:center}
.card__link::after{content:"\2192";transition:transform .18s}
.card:hover .card__link::after{transform:translateX(4px)}

/* reason cards — maroon headings, centred (tax prep page) */
.reason{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.4rem;text-align:center;transition:.22s}
.reason:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.reason h4{color:var(--maroon);font-size:1.16rem;margin-bottom:.5em}
.reason p{font-size:.92rem;margin:0}

/* service card with image */
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.22s}
.svc:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.svc__img{aspect-ratio:3/2;overflow:hidden;background:var(--grey)}
.svc__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.svc:hover .svc__img img{transform:scale(1.05)}
.svc__body{padding:1.5rem 1.4rem 1.75rem;display:flex;flex-direction:column;flex:1}
.svc__body p{font-size:.94rem;flex:1}

/* checklist (payroll features) */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.checks li{display:flex;gap:.65rem;align-items:flex-start;color:var(--body-strong);font-weight:500;font-size:.95rem}
.checks svg{width:17px;height:17px;flex:none;margin-top:6px;fill:var(--maroon)}

.bullets{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:.45rem}
.bullets li{display:flex;gap:.6rem;align-items:flex-start}
.bullets li::before{content:"\2022";color:var(--maroon);font-weight:700;flex:none}

/* value trio */
.value{text-align:center;padding:1.25rem .5rem}
.value__n{font-family:var(--font-display);font-size:2.3rem;color:var(--gold-btn);display:block;line-height:1;margin-bottom:.4rem}
.value p{font-size:.94rem;margin:0}

/* stat / offer band */
.offer{background:linear-gradient(115deg,#101010 0%,var(--maroon-dark) 100%);color:#fff;border-radius:var(--radius);padding:clamp(1.75rem,4vw,3rem);display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.offer h2{color:#fff;margin-bottom:.3em}
.offer h2 span{color:var(--gold)}
.offer p{margin:0;color:#E4D6D8;max-width:56ch}

/* partners */
.partners{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;align-items:center}
.partner{text-align:center}
.partner img{margin:0 auto .7rem;max-width:150px;filter:grayscale(1);opacity:.7;transition:.25s}
.partner:hover img{filter:none;opacity:1}
.partner span{font-weight:600;font-size:.9rem;color:var(--body-strong)}

/* ============================================================
   CTA BAND — "Get Help Today"
   ============================================================ */
.cta{background:var(--maroon);color:#F0DBDE}
.cta__inner{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;padding:clamp(2rem,4vw,2.75rem) 0}
.cta h2{color:#fff;margin-bottom:.25em}
.cta p{margin:0;color:#EBD6D9}
.cta__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.cta__phone{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:600}
.cta__phone svg{width:17px;height:17px;fill:var(--gold)}
.cta__phone:hover{color:var(--gold)}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faqs{display:grid;gap:0 2.5rem}
.faqs--2col{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.05rem 2rem 1.05rem 0;font-family:var(--font-display);font-weight:500;font-size:1.06rem;color:var(--ink);position:relative;transition:color .18s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.35rem;top:1.55rem;width:9px;height:9px;border-right:2px solid #9A9A9A;border-bottom:2px solid #9A9A9A;transform:rotate(45deg);transition:transform .22s}
.faq[open] summary{color:var(--maroon)}
.faq[open] summary::after{transform:rotate(-135deg);border-color:var(--maroon)}
.faq summary:hover{color:var(--maroon)}
.faq__a{padding:0 1.5rem 1.25rem 0;font-size:.95rem}
.faq__a p:last-child{margin-bottom:0}

/* ============================================================
   FORMS
   ============================================================ */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow)}
.form-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.field{display:flex;flex-direction:column;gap:.35rem}
.field--full{grid-column:1/-1}
.field label{font-weight:600;font-size:.88rem;color:var(--body-strong)}
.field .req{color:var(--maroon)}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],
input[type=number],input[type=date],textarea,select{
  width:100%;padding:.8rem .95rem;border:1px solid #D8D4CC;border-radius:var(--radius);
  font-family:var(--font-body);font-size:.96rem;background:#fff;color:var(--ink);font-weight:300;
}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--gold-btn);outline:none;box-shadow:0 0 0 3px rgba(248,183,31,.22)}
.field--check{flex-direction:row;align-items:flex-start;gap:.6rem}
.field--check input{width:auto;margin-top:.42rem}
.field--check label{font-weight:400;font-size:.9rem;color:var(--body)}
.hp{position:absolute!important;left:-9999px}
.form-note{font-size:.82rem;color:#6E6E6E;margin:.9rem 0 0}
.notice{padding:1rem 1.2rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:.94rem}
.notice--ok{background:#EAF6EE;border:1px solid #B9DFC6;color:#1E6B39}
.notice--err{background:#FBECEC;border:1px solid #EBC3C3;color:#8E2020}
.notice ul{margin:.5rem 0 0}

.contact-cards{display:grid;gap:1.1rem}
.contact-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold-btn);border-radius:var(--radius);padding:1.25rem 1.35rem}
.contact-card h4{font-family:var(--font-display);font-size:.9rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--maroon);margin-bottom:.35rem;font-weight:500}
.contact-card p{margin:0;color:var(--body-strong);font-weight:500;font-size:.96rem}
.contact-card a{color:var(--body-strong)}
.contact-card a:hover{color:var(--maroon)}

/* ============================================================
   ENTRY CONTENT (blog / editor pages)
   ============================================================ */
.entry{max-width:820px;margin-inline:auto}
.entry--wide{max-width:none}
.entry img{border-radius:var(--radius);margin-block:1.5rem}
.entry h2,.entry h3{margin-top:1.8em}
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{margin-inline:auto}
.wp-caption-text{font-size:.84rem;color:#6E6E6E;text-align:center}

.postlist{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.postcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.22s}
.postcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.postcard__thumb{aspect-ratio:16/9;overflow:hidden;background:var(--grey)}
.postcard__thumb img{width:100%;height:100%;object-fit:cover}
.postcard__body{padding:1.35rem 1.4rem 1.6rem}
.postcard h3{font-size:1.2rem;margin-bottom:.35em}
.postcard time{font-family:var(--font-display);letter-spacing:1.2px;text-transform:uppercase;font-size:.72rem;color:#6E6E6E}

.pagination{display:flex;gap:.5rem;justify-content:center;margin-top:3rem;flex-wrap:wrap}
.pagination .page-numbers{padding:.55rem 1rem;border:1px solid var(--line);border-radius:3px;font-weight:600;color:var(--body-strong);font-size:.9rem}
.pagination .current,.pagination .page-numbers:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--dark);color:#9E9992;font-size:.93rem}
.footer__top{padding:clamp(2.75rem,5vw,4rem) 0 2.75rem;display:grid;gap:2.25rem;grid-template-columns:1.5fr 1fr 1fr 1.3fr}
@media(max-width:900px){.footer__top{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
.footer__col h4{font-family:var(--font-display);font-size:1.06rem;color:var(--gold);margin-bottom:1.05rem;font-weight:500}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer__col a{color:#9E9992}
.footer__col a:hover{color:var(--gold)}
.footer__brand img{max-height:56px;margin-bottom:1.1rem}
.footer__brand p{color:#8B867F;font-size:.92rem;max-width:34ch}
.footer__social{display:flex;gap:.5rem;margin-top:1.1rem}
.footer__social a{width:32px;height:32px;border-radius:50%;background:var(--gold);display:grid;place-items:center}
.footer__social svg{width:14px;height:14px;fill:#1A1A1A}
.footer__social a:hover{background:#fff}
.footer__touch li{display:flex;gap:.6rem;align-items:flex-start}
.footer__touch svg{width:15px;height:15px;fill:var(--gold);flex:none;margin-top:6px}
.footer__bottom{background:var(--gold);color:#1A1A1A;text-align:center;padding:.95rem 0;font-size:.88rem}
.footer__bottom a{color:#1A1A1A;text-decoration:underline}

/* ============================================================
   COOKIE BANNER + CONSENT-GATED EMBEDS
   ============================================================ */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:400;background:var(--dark);
  color:#D6D1C9;border-top:4px solid var(--gold-btn);box-shadow:0 -8px 30px rgba(0,0,0,.3)}
.cookiebar[hidden]{display:none}
.cookiebar__inner{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;padding:1.25rem 0;
  display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookiebar__title{font-size:1.1rem;color:#fff;margin:0 0 .35rem}
.cookiebar__text{flex:1 1 380px}
.cookiebar__text p{margin:0;font-size:.92rem;line-height:1.6}
.cookiebar__text a{color:var(--gold);text-decoration:underline}
.cookiebar__actions{display:flex;gap:.75rem;flex-wrap:wrap;flex:none}
@media(max-width:640px){
  .cookiebar__inner{padding:1.1rem 0}
  .cookiebar__actions{width:100%}
  .cookiebar__actions .btn{flex:1 1 auto;justify-content:center}
}

.consent-embed{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--grey)}
.consent-embed iframe{display:block;width:100%;border:0}
/* Hidden until consent, so the browser never requests the third party. */
.consent-embed:not(.is-loaded) iframe{display:none}
.consent-embed.is-loaded .consent-embed__ask{display:none}
.consent-embed__ask{padding:clamp(1.25rem,3vw,2rem);text-align:center}
.consent-embed__lead{margin:0 0 .5rem;color:var(--body-strong);font-weight:600}
.consent-embed__note{margin:0 0 1.1rem;font-size:.88rem;color:var(--body)}
.consent-embed__ask .btn{margin:.25rem}

.footer__link-btn{background:none;border:0;padding:0;font:inherit;color:#1A1A1A;
  text-decoration:underline;cursor:pointer}
.footer__link-btn:hover{color:var(--maroon)}

/* ============================================================
   FLOATING RAIL + BACK TO TOP
   ============================================================ */
.rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:150;display:flex;flex-direction:column}
.rail a{width:44px;height:44px;background:var(--maroon);display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.16);transition:background .2s}
.rail a:last-child{border-bottom:0}
.rail a:hover{background:var(--gold-btn)}
.rail svg{width:17px;height:17px;fill:#fff}
.rail a:hover svg{fill:#1A1A1A}
@media(max-width:700px){.rail{display:none}}

.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:var(--gold);border:0;cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s;z-index:160;box-shadow:var(--shadow)}
.to-top.is-visible{opacity:1;visibility:visible}
.to-top:hover{background:var(--gold-btn)}
.to-top svg{width:17px;height:17px;fill:#1A1A1A}

/* ============================================================
   RESPONSIVE / PRINT
   ============================================================ */
@media(max-width:640px){
  body{font-size:15.5px}
  .offer,.cta__inner{flex-direction:column;align-items:flex-start;text-align:left}
  .alignleft,.alignright{float:none;margin:1rem auto}
  .topbar__inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media print{
  .site-header,.topbar,.site-footer,.rail,.to-top,.btn,.cta{display:none}
  body{font-size:11pt;color:#000}
}
