/* CogniFort — palette sampled from the product bottle
   Navy band + brain graphic: #0E1E39 / #1D2D45 / #22355D
   Gold icon rings on label:  #A26F4C / #C48458 */
:root{
  --cf-navy:#16233A;
  --cf-navy-2:#22355D;
  --cf-navy-3:#3D5891;
  --cf-navy-tint:#E4E9F2;
  --cf-gold:#A9713F;
  --cf-gold-2:#C48458;
  --cf-gold-tint:#F7ECE3;
  --cf-paper:#F7F5F1;
  --cf-card:#FFFFFF;
  --cf-ink:#141A24;
  --cf-ink-soft:#4E5A6B;
  --cf-line:#DDE2EA;
  --bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-body-color:var(--cf-ink);
  --bs-body-bg:var(--cf-paper);
  --bs-link-color:var(--cf-navy-2);
  --bs-link-hover-color:var(--cf-gold);
  --bs-border-color:var(--cf-line);
}
/* Minimum type size 18px everywhere — override Bootstrap's smaller scales */
html{font-size:18px;}
body{font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased;}
small,.small,.form-text,figcaption,.badge,.nav-link,.btn,.card-text,.list-group-item,td,th,li,label,.text-muted{font-size:18px!important;}
.badge{padding:.5em .85em;}
.fs-6{font-size:18px!important;} .fs-5{font-size:19.5px!important;}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;color:var(--cf-navy);letter-spacing:-.02em;line-height:1.18;}
h1,.h1{font-size:clamp(34px,4.4vw,54px);margin-bottom:.5em;}
h2,.h2{font-size:clamp(28px,3.1vw,40px);margin-bottom:.55em;}
h3,.h3{font-size:clamp(22px,2.1vw,27px);margin-bottom:.5em;}
h4,.h4{font-size:21px;} h5,.h5{font-size:19.5px;} h6,.h6{font-size:18px;}
p{margin-bottom:1.1rem;}
img{max-width:100%;height:auto;}
a{text-decoration:none;}
a:hover{text-decoration:underline;}
/* contextual in-copy links: same colour as text, hairline underline only */
.seo-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(34,53,93,.35);}
.seo-link:hover{text-decoration-color:var(--cf-gold);color:var(--cf-navy-2);}
.eyebrow{display:inline-block;font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cf-gold);margin-bottom:14px;}
.lede{font-size:20px;color:var(--cf-ink-soft);line-height:1.7;}
.topbar{background:var(--cf-navy);color:#E7ECF5;font-size:18px;padding:10px 0;text-align:center;}
.topbar strong{color:#fff;}
.navbar{background:var(--cf-card);border-bottom:1px solid var(--cf-line);padding:14px 0;}
.navbar-brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;color:var(--cf-navy)!important;display:flex;align-items:center;gap:10px;}
.brand-dot{width:34px;height:34px;border-radius:9px;background:var(--cf-navy);display:inline-flex;align-items:center;justify-content:center;}
.brand-dot svg{width:19px;height:19px;}
.navbar .nav-link{color:var(--cf-ink)!important;font-weight:500;padding:.5rem .62rem!important;white-space:nowrap;}
.navbar .btn{white-space:nowrap;padding:12px 22px;}
.navbar-brand{white-space:nowrap;}
@media (min-width:992px) and (max-width:1250px){.navbar .nav-link{padding:.5rem .45rem!important;font-size:17px!important;}}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--cf-navy-2)!important;}
.btn{font-family:'Space Grotesk',sans-serif;font-weight:700;border-radius:60px;padding:14px 30px;font-size:18px;border:0;}
.btn-cf{background:var(--cf-gold);color:#fff;}
.btn-cf:hover{background:var(--cf-gold-2);color:#fff;}
.btn-navy{background:var(--cf-navy);color:#fff;} .btn-navy:hover{background:var(--cf-navy-2);color:#fff;}
.btn-outline-cf{background:transparent;color:var(--cf-navy);box-shadow:inset 0 0 0 2px var(--cf-line);}
.btn-outline-cf:hover{box-shadow:inset 0 0 0 2px var(--cf-navy);color:var(--cf-navy);}
.btn-lg{padding:17px 38px;font-size:19.5px;}
section{padding:74px 0;}
.sec-alt{background:var(--cf-navy-tint);}
.sec-dark{background:var(--cf-navy);color:#D9E1EE;}
.sec-dark h1,.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#fff;}
.sec-dark p,.sec-dark li{color:#C6D1E2;}
.sec-dark .eyebrow{color:var(--cf-gold-2);}
.hero{background:linear-gradient(168deg,#EDF0F6 0%,var(--cf-paper) 62%);padding:66px 0 74px;}
.cf-card{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:18px;padding:32px;height:100%;}
.cf-card h3{margin-bottom:.55em;}
.icon-badge{width:56px;height:56px;border-radius:14px;background:var(--cf-navy-tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.icon-badge svg{width:27px;height:27px;stroke:var(--cf-navy);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.stat-box{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:16px;padding:24px 20px;text-align:center;height:100%;}
.stat-box .n{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:700;color:var(--cf-navy-2);line-height:1;}
.stat-box .l{font-size:18px;color:var(--cf-ink-soft);margin-top:9px;}
.trust-strip{background:var(--cf-card);border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line);padding:36px 0;}
.trust-strip img{max-width:150px;height:auto;margin:0 auto;display:block;}
.trust-strip .cap{font-size:18px;font-weight:600;color:var(--cf-navy);text-align:center;margin-top:12px;}
.ing-row{display:flex;gap:28px;align-items:flex-start;padding:30px 0;border-bottom:1px solid var(--cf-line);}
.ing-row:last-child{border-bottom:0;}
.ing-num{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--cf-navy);color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;display:flex;align-items:center;justify-content:center;}
@media (max-width:575px){.ing-row{flex-direction:column;gap:14px;}}
.price-card{background:var(--cf-card);border:2px solid var(--cf-line);border-radius:20px;padding:32px 26px;text-align:center;height:100%;position:relative;transition:border-color .2s;}
.price-card:hover{border-color:var(--cf-navy-3);}
.price-card.best{background:var(--cf-navy);border-color:var(--cf-navy);color:#fff;}
.price-card.best h3,.price-card.best .amt{color:#fff;}
.price-card.best .per,.price-card.best .sub{color:#B9C6DC;}
.price-card .tag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--cf-gold);color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;padding:6px 20px;border-radius:60px;white-space:nowrap;}
.price-card img{max-width:190px;max-height:200px;width:auto;object-fit:contain;margin:14px auto 18px;display:block;}
.price-card .amt{font-family:'Space Grotesk',sans-serif;font-size:52px;font-weight:700;color:var(--cf-navy);line-height:1;}
.price-card .per{font-size:18px;color:var(--cf-ink-soft);margin-top:6px;}
.price-card .sub{font-size:18px;color:var(--cf-ink-soft);margin-top:14px;}
.price-card ul{list-style:none;padding:0;margin:18px 0;text-align:left;}
.price-card ul li{font-size:18px;padding:7px 0 7px 28px;position:relative;}
.price-card ul li::before{content:"";position:absolute;left:0;top:14px;width:15px;height:9px;border-left:2.5px solid var(--cf-gold-2);border-bottom:2.5px solid var(--cf-gold-2);transform:rotate(-45deg);}
.faq-item{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:14px;margin-bottom:14px;overflow:hidden;}
.faq-item .accordion-button{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19.5px;color:var(--cf-navy);background:var(--cf-card);padding:22px 26px;box-shadow:none;}
.faq-item .accordion-button:not(.collapsed){background:var(--cf-navy-tint);color:var(--cf-navy);}
.faq-item .accordion-button:focus{box-shadow:none;border-color:var(--cf-line);}
.faq-item .accordion-body{padding:6px 26px 24px;font-size:18px;color:var(--cf-ink-soft);}
.guar-box{background:var(--cf-gold-tint);border:1px solid #E3CDBB;border-radius:20px;padding:40px;}
.med-box{background:#FBF1EC;border:1px solid #E6C7B4;border-left:5px solid var(--cf-gold);border-radius:14px;padding:26px 30px;margin:26px 0;}
.med-box h3{font-size:20px;color:#8A4A24;margin-bottom:11px;}
.med-box p,.med-box li{font-size:18px;color:#5E4436;}
.owner-note{border:2px dashed var(--cf-gold);background:#FDF7F2;border-radius:14px;padding:26px 30px;margin-top:26px;}
.owner-note h3{font-size:20px;color:#8A4A24;margin-bottom:11px;}
.owner-note p,.owner-note li{font-size:18px;color:#5E4436;}
.rev-card{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:16px;padding:28px;height:100%;}
.rev-card .ph{display:inline-block;font-size:18px;font-weight:700;color:#8A4A24;background:var(--cf-gold-tint);border:1px dashed #DCBBA2;padding:5px 12px;border-radius:40px;margin-bottom:16px;}
.rev-card blockquote{font-size:18px;font-style:italic;color:var(--cf-ink);margin:0 0 16px;line-height:1.66;}
.rev-card .who{font-size:18px;color:var(--cf-ink-soft);border-top:1px solid var(--cf-line);padding-top:14px;}
.final-cta{background:linear-gradient(140deg,var(--cf-navy-2) 0%,var(--cf-navy) 100%);border-radius:26px;padding:52px 44px;color:#fff;position:relative;overflow:hidden;}
.final-cta::after{content:"";position:absolute;right:-70px;bottom:-70px;width:290px;height:290px;border-radius:50%;background:var(--cf-gold);opacity:.28;}
.final-cta h2,.final-cta h3{color:#fff;} .final-cta p{color:#CBD6E8;}
.final-cta .fc-art{position:relative;z-index:2;text-align:center;}
.final-cta .fc-art img{max-width:230px;height:auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.34));margin:0 auto;display:block;}
.final-cta .fc-body{position:relative;z-index:2;}
.crumbs{font-size:18px;color:var(--cf-ink-soft);padding:20px 0 0;}
.crumbs a{color:var(--cf-navy-2);}
.post-card{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:16px;padding:28px;height:100%;}
.post-card .tag{font-size:18px;font-weight:700;color:var(--cf-gold);letter-spacing:.06em;text-transform:uppercase;}
.post-card h3{font-size:22px;margin:10px 0;}
.prose{font-size:18px;color:var(--cf-ink-soft);}
.prose h2{margin-top:1.6em;} .prose h3{margin-top:1.3em;color:var(--cf-navy-2);}
.prose ul,.prose ol{margin-bottom:1.2rem;} .prose li{margin-bottom:.55rem;}
.prose strong{color:var(--cf-ink);}
.src-box{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:14px;padding:24px 28px;margin-top:30px;}
.src-box h4{font-size:19.5px;margin-bottom:12px;}
.src-box ul{margin:0;padding-left:20px;} .src-box li{font-size:18px;margin-bottom:7px;}
.disc-box{background:var(--cf-navy-tint);border-radius:14px;padding:22px 26px;margin-top:22px;font-size:18px;color:var(--cf-ink-soft);}
footer{background:var(--cf-navy);color:#B9C6DC;padding:60px 0 30px;}
footer h4{color:#fff;font-size:19.5px;margin-bottom:16px;}
footer a{color:#B9C6DC;} footer a:hover{color:#fff;}
footer ul{list-style:none;padding:0;margin:0;} footer li{margin-bottom:9px;font-size:18px;}
.foot-legal{border-top:1px solid #2C3A55;margin-top:36px;padding-top:26px;font-size:18px;color:#93A2BC;}

/* ---- Small screens: art-directed images must not overflow ----
   Eight images carry an inline max-width in px (230-900px) for desktop
   art direction. An inline style outranks img{max-width:100%} above, so on a
   narrow screen those images render wider than their column and push the whole
   page sideways. Below lg the layout is single-column anyway, so capping them
   at the column is both the fix and the right look.
   Component images (.trust-strip, .price-card, .final-cta .fc-art) size from
   this stylesheet, not inline, so the [style] selector never touches them. */
@media (max-width:575.98px){
  img[style*="max-width"]{max-width:100%!important;}
  /* The guarantee seal is deliberately small and always fitted — leave it. */
  .guar-box img{max-width:230px!important;}
}
/* Once the container is 540-720px only the oversized art still overflows. */
@media (min-width:576px) and (max-width:991.98px){
  img[style*="max-width:900px"],
  img[style*="max-width:720px"],
  img[style*="max-width:620px"]{max-width:100%!important;}
}
