/* Horsewood — myhorsewood.com
   Palette chosen for contrast: every text/background pair below meets WCAG AA. */
:root{
  --ink:#171A21;            /* body headings - on white 15.4:1 */
  --ink-2:#2B3140;
  --body:#454C5C;           /* body text on white 8.0:1 */
  --muted:#5A6273;          /* secondary text on white 6.0:1 */
  --gold:#8A5A16;           /* accent TEXT on light bg 5.6:1 */
  --gold-btn:#A06818;       /* solid fills with white text — 4.68:1, passes AA */
  --gold-light:#E7B457;     /* accent TEXT on dark bg only */
  --gold-tint:#FBF1DF;
  --paper:#FFFFFF;
  --paper-2:#F7F6F3;
  --line:#E3E0DA;
  --line-2:#D8DCE4;
  --ok:#1F6B45;
  --bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-body-color:var(--body);
  --bs-body-bg:var(--paper);
  --bs-link-color:#7A4E12;
  --bs-link-hover-color:var(--ink);
  --bs-border-color:var(--line-2);
}
html{scroll-behavior:smooth;}
body{font-size:17px;line-height:1.75;color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;padding-bottom:132px;overflow-x:hidden;}
@media (max-width:575px){body{padding-bottom:146px;}}
h1,h2,h3,h4,h5,h6{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.22;}
h1{font-size:clamp(32px,4.3vw,53px);margin-bottom:.5em;}
h2{font-size:clamp(26px,3vw,39px);margin-bottom:.6em;}
h3{font-size:clamp(19px,1.9vw,24px);margin-bottom:.5em;}
h4{font-size:18.5px;}
p{margin-bottom:1.15rem;}
img{max-width:100%;height:auto;}
a{color:var(--bs-link-color);text-decoration:none;}
a:hover{text-decoration:underline;color:var(--ink);}
a:focus-visible,button:focus-visible,.btn:focus-visible,.accordion-button:focus-visible{outline:3px solid var(--gold-btn);outline-offset:3px;}
.lede{font-size:19.5px;line-height:1.7;color:var(--ink-2);}
.eyebrow{display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
/* ---------- header ---------- */
.topbar{background:var(--ink);color:#DDE1E9;font-size:15px;padding:9px 0;text-align:center;}
.topbar strong{color:#fff;}
.navbar{background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:13px 0;}
.navbar-brand{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:26px;color:var(--ink)!important;display:flex;align-items:center;gap:10px;white-space:nowrap;}
.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.brand-mark svg{width:20px;height:20px;}
.navbar .nav-link{color:var(--ink-2)!important;font-weight:500;font-size:15.5px;padding:.5rem .58rem!important;white-space:nowrap;}
.navbar .nav-link:hover,.navbar .nav-link[aria-current="page"]{color:#7A4E12!important;}
@media (min-width:992px) and (max-width:1330px){.navbar .nav-link{padding:.5rem .38rem!important;font-size:14.6px;}}
/* ---------- buttons ---------- */
.btn{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;border-radius:10px;padding:13px 26px;font-size:16px;border:0;transition:.18s;}
.btn-gold{background:var(--gold-btn);color:#fff!important;}
.btn-gold:hover{background:#8A5A16;color:#fff!important;}
.btn-ink{background:var(--ink);color:#fff!important;} .btn-ink:hover{background:var(--ink-2);color:#fff!important;}
.btn-ghost{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--line-2);}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)!important;text-decoration:none;}
.btn-on-dark{background:#fff;color:var(--ink)!important;} .btn-on-dark:hover{background:var(--gold-tint);color:var(--ink)!important;}
.btn-lg{padding:16px 34px;font-size:17.5px;}
.btn:hover{text-decoration:none;}
/* ---------- sections ---------- */
section{padding:76px 0;}
@media (max-width:767px){section{padding:52px 0;}}
/* Bootstrap g-5 gutters (-24px each side) exceed the 12px container padding on phones */
@media (max-width:767px){.row.g-5,.row.g-4{--bs-gutter-x:1.5rem;}}
.sec-alt{background:var(--paper-2);}
.sec-dark{background:var(--ink);}
.sec-dark h1,.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#FFFFFF;}
.sec-dark p,.sec-dark li,.sec-dark .lede{color:#D3D8E2;}
.sec-dark .eyebrow{color:var(--gold-light);}
.sec-dark a{color:var(--gold-light);}
.sec-dark a:hover{color:#fff;}
.sec-dark strong{color:#fff;}
.hero{background:linear-gradient(168deg,#F4F1EA 0%,var(--paper-2) 52%,#fff 100%);padding:62px 0 78px;}
.hero-art{position:relative;text-align:center;}
.hero-art::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76%;padding-bottom:76%;border-radius:50%;background:radial-gradient(circle,rgba(160,104,24,.18) 0%,rgba(176,116,31,0) 68%);}
.hero-art img{position:relative;z-index:2;max-width:400px;width:100%;height:auto;object-fit:contain;}
/* ---------- cards ---------- */
.card-hw{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:30px;height:100%;transition:.18s;}
.card-hw:hover{border-color:var(--gold-btn);box-shadow:0 10px 30px rgba(23,26,33,.07);}
.card-hw h3{font-size:20px;}
.card-hw p{color:var(--body);}
.sec-dark .card-hw{background:#232833;border-color:#39404F;}
.sec-dark .card-hw h3{color:#fff;} .sec-dark .card-hw p{color:#CDD3DE;}
.ic{width:52px;height:52px;border-radius:13px;background:var(--gold-tint);display:flex;align-items:center;justify-content:center;margin-bottom:17px;}
.ic svg{width:25px;height:25px;stroke:#8A5A16;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.sec-dark .ic{background:rgba(231,180,87,.15);} .sec-dark .ic svg{stroke:var(--gold-light);}
.pillrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:60px;}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-btn);}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;}
.statbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 16px;text-align:center;}
.statbox .n{font-family:'Plus Jakarta Sans',sans-serif;font-size:27px;font-weight:800;color:var(--gold);line-height:1;}
.statbox .l{font-size:14.5px;color:var(--muted);margin-top:8px;line-height:1.45;}
@media (max-width:575px){.statgrid{grid-template-columns:1fr 1fr;}}
/* ---------- benefit 50/50 ---------- */
.bimg{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:32px;text-align:center;}
.bimg img{max-width:100%;height:auto;object-fit:contain;max-height:390px;}
/* inline max-width on some product shots can exceed the padded box on small phones */
@media (max-width:575px){.bimg{padding:20px;}.bimg img{max-width:100%!important;}}
/* ---------- label / spec ---------- */
.spec{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;}
.spec .head{background:var(--ink);color:#fff;padding:15px 24px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:18px;}
.spec .r{display:grid;grid-template-columns:1fr auto;gap:16px;padding:13px 24px;border-bottom:1px solid var(--line-2);font-size:16.5px;color:var(--body);}
.spec .r:last-child{border-bottom:none;}
.spec .r b{color:var(--ink);font-weight:600;white-space:nowrap;}
/* ---------- pricing ---------- */
.price-card{background:#fff;border:2px solid var(--line-2);border-radius:20px;padding:30px 24px;text-align:center;height:100%;position:relative;transition:.18s;}
.price-card:hover{border-color:var(--gold-btn);}
.price-card.best{background:var(--ink);border-color:var(--ink);}
.price-card.best h3,.price-card.best .amt{color:#fff;}
.price-card.best .per,.price-card.best .sub,.price-card.best li{color:#CDD3DE;}
.price-card .tag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--gold-btn);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;padding:7px 18px;border-radius:60px;white-space:nowrap;}
.price-card img{max-width:100%;max-height:160px;width:auto;object-fit:contain;margin:16px auto 18px;display:block;}
.price-card .amt{font-family:'Plus Jakarta Sans',sans-serif;font-size:50px;font-weight:800;color:var(--ink);line-height:1;}
.price-card .per{font-size:15.5px;color:var(--muted);margin-top:6px;}
.price-card .sub{font-size:15.5px;color:var(--muted);margin-top:14px;}
.price-card ul{list-style:none;padding:0;margin:18px 0;text-align:left;}
.price-card li{font-size:15.5px;padding:7px 0 7px 27px;position:relative;color:var(--body);}
.price-card li::before{content:"";position:absolute;left:0;top:14px;width:13px;height:8px;border-left:2.5px solid var(--gold-btn);border-bottom:2.5px solid var(--gold-btn);transform:rotate(-45deg);}
.price-card.best li::before{border-color:var(--gold-light);}
/* ---------- faq ---------- */
.faq-item{background:#fff;border:1px solid var(--line-2);border-radius:14px;margin-bottom:12px;overflow:hidden;}
.faq-item .accordion-button{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:17.5px;color:var(--ink);background:#fff;padding:20px 24px;box-shadow:none;}
.faq-item .accordion-button:not(.collapsed){background:var(--gold-tint);color:var(--ink);}
.faq-item .accordion-button::after{filter:none;}
.faq-item .accordion-body{padding:4px 24px 22px;font-size:16.5px;color:var(--body);}
/* ---------- notes ---------- */
.note{background:var(--gold-tint);border:1px solid #E4CFA6;border-left:5px solid var(--gold-btn);border-radius:14px;padding:25px 28px;margin:26px 0;}
.note h3{font-size:19px;color:#6E4611;margin-bottom:11px;}
.note p,.note li{font-size:16.5px;color:#54401E;line-height:1.7;}
.note ul{margin:10px 0 0 18px;} .note li{margin-bottom:7px;}
.note strong{color:#4A3714;}
.ownernote{border:2px dashed var(--gold-btn);background:#FDF8EE;border-radius:14px;padding:25px 28px;margin-top:26px;}
.ownernote h3{font-size:19px;color:#6E4611;margin-bottom:11px;}
.ownernote p,.ownernote li{font-size:16px;color:#54401E;line-height:1.7;}
.ownernote ul{margin:10px 0 0 18px;} .ownernote li{margin-bottom:7px;}
.rev-card{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:26px;height:100%;}
.rev-card .ph{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6E4611;background:var(--gold-tint);border:1px dashed #D9BE86;padding:5px 12px;border-radius:40px;margin-bottom:14px;}
.rev-card blockquote{font-size:16.5px;font-style:italic;color:var(--ink-2);margin:0 0 14px;line-height:1.65;}
.rev-card .who{font-size:15px;color:var(--muted);border-top:1px solid var(--line-2);padding-top:12px;}
.bonus-card{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;height:100%;}
.bonus-card img{width:100%;height:auto;display:block;}
.bonus-card .body{padding:24px;}
.prose{font-size:17px;color:var(--body);}
.prose h2{margin-top:1.7em;} .prose h3{margin-top:1.4em;color:var(--ink-2);}
.prose ul,.prose ol{margin-bottom:1.2rem;} .prose li{margin-bottom:.55rem;color:var(--body);}
.prose strong{color:var(--ink);}
code{color:#8A3A62;background:#F3F1EE;padding:2px 6px;border-radius:5px;font-size:.92em;}
.note code,.ownernote code{background:#F6EEDF;color:#7A2F52;}
.crumbs{font-size:15px;color:var(--muted);padding:18px 0 0;}
.crumbs a{color:#7A4E12;}
.src{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:23px 26px;margin-top:28px;}
.src h4{font-size:17.5px;margin-bottom:12px;}
.src ul{margin:0;padding-left:20px;} .src li{font-size:16px;margin-bottom:7px;}
.disc{background:var(--paper-2);border-radius:14px;padding:22px 26px;margin-top:22px;font-size:15.5px;color:var(--muted);}
.post-card{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:26px;height:100%;transition:.18s;}
.post-card:hover{border-color:var(--gold-btn);box-shadow:0 10px 28px rgba(23,26,33,.07);}
.post-card .tag{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);}
.post-card h3{font-size:20px;margin:10px 0;}
.step{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line-2);}
.step:last-child{border-bottom:none;}
.step .n{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;color:#fff;background:var(--ink);width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;}
@media (max-width:575px){.step{grid-template-columns:1fr;gap:12px;}}
/* ---------- footer ---------- */
footer{background:var(--ink);color:#B7BECC;padding:60px 0 28px;}
footer h4{color:#fff;font-size:17.5px;margin-bottom:15px;font-family:'Plus Jakarta Sans',sans-serif;}
footer p{color:#B7BECC;}
footer a{color:#C2C9D6;} footer a:hover{color:#fff;}
footer ul{list-style:none;padding:0;margin:0;} footer li{margin-bottom:9px;font-size:16px;}
.foot-legal{border-top:1px solid #333A48;margin-top:34px;padding-top:26px;font-size:15px;color:#A3ABBB;}
.foot-legal strong{color:#E4E8EF;}
/* ---------- fixed CTA ---------- */
.cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--ink);border-top:3px solid var(--gold-btn);box-shadow:0 -6px 24px rgba(0,0,0,.26);}
.cta-bar .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.cta-bar .lbl{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:18.5px;color:#fff;line-height:1.28;}
.cta-bar .sub{font-size:15px;color:var(--gold-light);font-weight:600;}
.cta-bar .btn{padding:12px 28px;font-size:16px;}
@media (max-width:575px){
  .cta-bar .inner{padding:11px 0;gap:10px;}
  .cta-bar .lbl{font-size:15.5px;} .cta-bar .sub{font-size:13.5px;}
  .cta-bar .btn{padding:11px 17px;font-size:14.5px;}
}
