/* ==========================================================================
   Bien Dental design system
   ========================================================================== */
:root{
  /* ===== Bien Dental palette (single source of truth) ===== */
  --color-primary:#3DBFA8;            /* mint */
  --color-primary-dark:#14524A;       /* deep teal: headings, body text, top bar, footer */
  --color-bg:#F2FBF8;                 /* page background / light sections */
  --color-surface:#FFFFFF;            /* cards */
  --color-accent:#F4A28C;             /* soft warm coral: primary CTA buttons only */
  --color-accent-hover:#EE8F76;
  --color-border:rgba(61,191,168,.30);
  /* derived (documented) */
  --color-on-accent:#0D3B35;          /* button text on coral: 6.1:1 default / 5.2:1 hover (primary-dark alone is 4.46:1 / 3.8:1) */
  --color-primary-strong:#1E9A84;     /* mint darkened for LARGE text on light bg (3.4:1) */
  --color-primary-tint:rgba(61,191,168,.14);
  --color-section-alt:#E7F7F2;        /* alternate section band */
  --color-text-2:#2B5F57;
  --color-muted:#3F6B63;              /* 5.4:1+ on bg and section-alt */
  --color-input-border:#5E8B83;       /* 3.8:1 UI contrast on white */
  --color-on-dark:rgba(255,255,255,.92);
  --color-on-dark-2:rgba(255,255,255,.78);
  --color-error:#B3261E;
  /* legacy aliases so existing rules + illustrations follow the palette */
  --bd-ink:var(--color-primary-dark); --bd-ink-2:var(--color-text-2); --bd-muted:var(--color-muted);
  --bd-teal:var(--color-primary-dark); --bd-teal-d:var(--color-primary-dark); --bd-aqua:var(--color-section-alt); --bd-aqua-2:var(--color-primary); --bd-sky:var(--color-primary-tint);
  --bd-coral:var(--color-accent); --bd-coral-d:var(--color-accent-hover); --bd-sun:var(--color-primary); --bd-cream:var(--color-bg); --bd-line:var(--color-border);
  --bd-radius:20px; --bd-radius-s:12px; --bd-shadow:0 10px 30px rgba(20,82,74,.10); --bd-shadow-s:0 4px 14px rgba(20,82,74,.08);
  --bd-font-h:"Nunito","Trebuchet MS",system-ui,sans-serif; --bd-font-b:"Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --bd-max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bd-body{margin:0;font-family:var(--bd-font-b);color:var(--bd-ink);background:#fff;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.bd-body img,.bd-body svg{max-width:100%}
.bd-body a{color:var(--bd-teal-d);text-underline-offset:3px;text-decoration-thickness:1.5px}
.bd-body a:hover{color:var(--bd-coral-d)}
.bd-body h1,.bd-body h2,.bd-body h3,.bd-body h4{font-family:var(--bd-font-h);color:var(--bd-ink);line-height:1.18;letter-spacing:-.01em;margin:0 0 .6em}
.bd-body h2{font-size:clamp(1.65rem,3.2vw,2.3rem);font-weight:800}
.bd-body h3{font-size:1.28rem;font-weight:800}
.bd-body p{margin:0 0 1.1em}
.bd-body ul,.bd-body ol{padding-left:1.25em;margin:0 0 1.2em}
.bd-body li{margin-bottom:.4em}
.bd-wrap{max-width:var(--bd-max);margin:0 auto;padding:0 24px}
.bd-prose{max-width:800px}
.bd-skip{position:absolute;left:-999px;top:8px;background:var(--bd-ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:9999}
.bd-skip:focus{left:8px;color:#fff}
:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:3px;border-radius:6px}

/* Buttons */
.bd-btn{display:inline-flex;align-items:center;gap:.5em;background:var(--bd-coral);color:#fff!important;font-family:var(--bd-font-h);font-weight:800;font-size:1.02rem;padding:.85em 1.5em;border-radius:999px;text-decoration:none!important;border:2px solid var(--bd-coral);transition:transform .15s,box-shadow .15s,background .15s;line-height:1.1;cursor:pointer}
.bd-btn:hover{background:var(--bd-coral-d);border-color:var(--bd-coral-d);color:#fff!important}
.bd-btn--ghost{background:transparent;color:var(--bd-teal-d)!important;border-color:var(--bd-teal);}
.bd-btn--ghost:hover{background:var(--bd-teal);border-color:var(--bd-teal);color:#fff!important;}
.bd-btn--light{background:#fff;color:var(--bd-ink)!important;border-color:#fff;}
.bd-btn--light:hover{background:var(--bd-sun);border-color:var(--bd-sun);color:var(--bd-ink)!important}
.bd-btn--sm{font-size:.92rem;padding:.65em 1.15em}
.bd-inline-cta{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0}
.bd-more{display:inline-block;margin-top:.4em;font-weight:800;font-family:var(--bd-font-h);text-decoration:none}
.bd-more:hover{text-decoration:underline}

/* Top bar + header */
.bd-topbar{background:var(--bd-ink);color:var(--color-on-dark);font-size:.9rem}
.bd-topbar .bd-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px;flex-wrap:wrap}
.bd-topbar a{color:#fff;text-decoration:none;font-weight:700}
.bd-topbar a:hover{color:var(--bd-sun)}
.bd-topbar__l,.bd-topbar__r{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.bd-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--bd-line)}
.admin-bar .bd-header{top:32px}
.bd-header .bd-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px}
.bd-logo{display:flex;align-items:center;gap:12px;text-decoration:none!important;color:var(--bd-ink)!important}
.bd-logo__text{display:flex;flex-direction:column;line-height:1}
.bd-logo__name{font-family:var(--bd-font-h);font-weight:900;font-size:1.65rem;letter-spacing:-.02em;color:var(--bd-ink)}
.bd-logo__name b{color:var(--bd-coral);font-weight:900}
.bd-logo__sub{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bd-muted);font-weight:800;margin-top:5px}
.bd-nav{display:flex;align-items:center;gap:6px}
.bd-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.bd-nav li{position:relative;margin:0}
.bd-nav a{display:block;padding:10px 13px;font-family:var(--bd-font-h);font-weight:800;font-size:.98rem;color:var(--bd-ink);text-decoration:none;border-radius:999px}
.bd-nav a:hover,.bd-nav .current-menu-item>a,.bd-nav .current-menu-ancestor>a{background:var(--bd-aqua);color:var(--bd-teal-d)}
.bd-nav .menu-item-has-children>a::after{content:"";display:inline-block;margin-left:7px;width:7px;height:7px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.bd-nav .sub-menu{position:absolute;left:0;top:100%;min-width:290px;background:#fff;border:1px solid var(--bd-line);border-radius:16px;box-shadow:var(--bd-shadow);padding:10px;display:none;flex-direction:column;align-items:stretch;gap:0;z-index:70;max-height:75vh;overflow:auto}
.bd-nav li:hover>.sub-menu,.bd-nav li:focus-within>.sub-menu{display:flex}
.bd-nav .sub-menu a{padding:9px 14px;font-weight:700;font-size:.95rem;border-radius:10px}
.bd-nav .sub-menu .bd-menu-hub>a{color:var(--bd-teal-d);font-weight:900}
.bd-header__cta{display:flex;align-items:center;gap:10px}
.bd-burger{display:none;background:var(--bd-aqua);border:0;border-radius:12px;width:46px;height:46px;cursor:pointer;padding:0;align-items:center;justify-content:center}
.bd-burger span,.bd-burger span::before,.bd-burger span::after{display:block;width:22px;height:3px;background:var(--bd-ink);border-radius:3px;position:relative;content:""}
.bd-burger span::before{position:absolute;top:-7px}.bd-burger span::after{position:absolute;top:7px}

/* Hero */
.bd-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 55%,var(--color-primary-dark) 100%);color:#fff}
.bd-hero::before{content:"";position:absolute;right:-120px;top:-140px;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.07)}
.bd-hero::after{content:"";position:absolute;left:-90px;bottom:-160px;width:380px;height:380px;border-radius:50%;background:rgba(61,191,168,.10)}
.bd-hero .bd-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:64px}
.bd-hero--plain .bd-wrap{grid-template-columns:1fr}
.bd-hero__kicker{display:inline-block;background:rgba(255,255,255,.16);color:#fff;font-family:var(--bd-font-h);font-weight:800;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;padding:7px 15px;border-radius:999px;margin-bottom:16px}
.bd-body .bd-hero h1{color:#fff;font-weight:900;font-size:clamp(2rem,4.6vw,3.3rem);margin-bottom:.45em}
.bd-hero__sub{font-size:1.16rem;color:var(--color-on-dark);max-width:640px;margin-bottom:1.4em}
.bd-hero .bd-btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.7)}
.bd-hero .bd-btn--ghost:hover{background:#fff;color:var(--bd-teal-d)!important}
.bd-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.bd-hero__art{border-radius:28px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25);border:6px solid rgba(255,255,255,.25);aspect-ratio:4/3;background:#fff}
.bd-hero__art svg{display:block;width:100%;height:100%}
.bd-hero--home .bd-wrap{padding-top:64px;padding-bottom:78px}
.bd-hero--home h1{font-size:clamp(2.2rem,5.2vw,3.7rem)}
.bd-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding:0;list-style:none}
.bd-chips li{margin:0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 15px;font-weight:800;font-size:.9rem;font-family:var(--bd-font-h)}
.bd-crumbs{font-size:.86rem;margin-bottom:18px;color:var(--color-on-dark)}
.bd-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.bd-crumbs li{margin:0}
.bd-crumbs li+li::before{content:"›";margin-right:6px;opacity:.7}
.bd-crumbs a{color:#fff;text-decoration:none;font-weight:700}
.bd-crumbs a:hover{text-decoration:underline;color:#fff}
.bd-avatar{width:100%;height:auto;display:block}
.bd-hero__avatar{max-width:250px;margin:0 auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.25))}

/* Sections */
.bd-section{padding:68px 0}
.bd-section--tint{background:var(--bd-aqua)}
.bd-section--cream{background:var(--bd-cream)}
.bd-section--tight{padding:44px 0}
.bd-section>.bd-wrap>h2:first-child,.bd-section .bd-wrap>h2:first-child{margin-top:0}
.bd-answer{background:linear-gradient(135deg,var(--color-primary-tint),var(--color-primary-tint));border:2px solid var(--bd-sun);border-radius:var(--bd-radius);padding:20px 24px;margin:0 0 1.6em;font-size:1.06rem;box-shadow:var(--bd-shadow-s)}
.bd-callout{background:var(--bd-ink);color:var(--color-on-dark);border-radius:var(--bd-radius);padding:26px 30px;margin:1.6em 0;position:relative}
.bd-callout p{margin:0;font-family:var(--bd-font-h);font-weight:700;font-size:1.18rem;line-height:1.5;color:#fff}
.bd-callout::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:6px;border-radius:0 6px 6px 0;background:var(--bd-coral)}
.bd-tip{background:#fff;border:2px dashed var(--bd-aqua-2);border-radius:var(--bd-radius-s);padding:16px 20px;margin:1.4em 0}
.bd-section--tint .bd-tip{background:#fff}
.bd-note{background:var(--bd-aqua);border-radius:var(--bd-radius-s);padding:14px 18px;margin:1.2em 0}
.bd-grid{display:grid;gap:22px;margin:1.6em 0}
.bd-grid--2{grid-template-columns:repeat(2,1fr)}.bd-grid--3{grid-template-columns:repeat(3,1fr)}.bd-grid--4{grid-template-columns:repeat(4,1fr)}
.bd-card{background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius);padding:26px;box-shadow:var(--bd-shadow-s);transition:transform .18s,box-shadow .18s;position:relative}
.bd-card:hover{transform:translateY(-4px);box-shadow:var(--bd-shadow)}
.bd-card h3{margin-bottom:.4em}
.bd-card p:last-child{margin-bottom:0}
.bd-section--tint .bd-card{border-color:transparent}
.bd-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin:1.6em 0}
.bd-steps{list-style:none;counter-reset:s;padding:0;margin:1.6em 0;display:grid;gap:16px}
.bd-steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius-s);padding:18px 20px 18px 74px;margin:0;box-shadow:var(--bd-shadow-s)}
.bd-steps li::before{content:counter(s);position:absolute;left:18px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:var(--bd-teal);color:#fff;font-family:var(--bd-font-h);font-weight:900;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.bd-checks{list-style:none;padding:0}
.bd-checks li{position:relative;padding-left:34px;margin-bottom:.7em}
.bd-checks li::before{content:"";position:absolute;left:0;top:.28em;width:22px;height:22px;border-radius:50%;background:var(--bd-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2314524A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.bd-table{width:100%;border-collapse:collapse;margin:1.5em 0;background:#fff;border-radius:var(--bd-radius-s);overflow:hidden;box-shadow:var(--bd-shadow-s);font-size:.97rem}
.bd-table th{background:var(--bd-teal);color:#fff;text-align:left;font-family:var(--bd-font-h);padding:13px 16px}
.bd-table td{padding:12px 16px;border-top:1px solid var(--bd-line);vertical-align:top}
.bd-table tr:nth-child(even) td{background:var(--color-bg)}
.bd-main-body>section:first-child{padding-top:56px}

/* FAQ */
.bd-faq{background:var(--bd-cream)}
.bd-faq__list{max-width:860px;margin:0 auto}
.bd-faq details{background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius-s);margin-bottom:12px;box-shadow:var(--bd-shadow-s);overflow:hidden}
.bd-faq summary{cursor:pointer;list-style:none;padding:18px 58px 18px 22px;font-family:var(--bd-font-h);font-weight:800;font-size:1.08rem;position:relative;color:var(--bd-ink)}
.bd-faq summary::-webkit-details-marker{display:none}
.bd-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--bd-aqua);color:var(--bd-teal-d);font-size:1.4rem;display:flex;align-items:center;justify-content:center;line-height:1;transition:transform .2s}
.bd-faq details[open] summary::after{content:"–";background:var(--bd-coral);color:#fff}
.bd-faq details[open] summary{color:var(--bd-teal-d)}
.bd-faq__a{padding:0 24px 18px}
.bd-faq__a p:last-child{margin-bottom:0}
.bd-center{text-align:center}
.bd-eyebrow{display:inline-block;font-family:var(--bd-font-h);font-weight:900;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;color:var(--bd-coral-d);margin-bottom:8px}

/* Related */
.bd-related .bd-card{display:flex;gap:16px;align-items:center;padding:16px}
.bd-related .bd-card__art{flex:0 0 96px;height:74px;border-radius:12px;overflow:hidden}
.bd-related .bd-card__art svg{width:100%;height:100%;display:block}
.bd-related h3{font-size:1.02rem;margin:0}
.bd-related a.bd-card{text-decoration:none;color:var(--bd-ink)}
.bd-related a.bd-card:hover h3{color:var(--bd-coral-d)}
.bd-related__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:18px}

/* CTA + contact strip */
.bd-cta{background:linear-gradient(135deg,var(--bd-coral) 0%,var(--color-accent) 100%);color:#fff;position:relative;overflow:hidden}
.bd-cta::before{content:"";position:absolute;right:-60px;top:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.14)}
.bd-cta .bd-wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:54px;padding-bottom:54px;flex-wrap:wrap}
.bd-body .bd-cta h2{color:#fff;margin-bottom:.3em}
.bd-cta p{margin:0;max-width:640px;font-size:1.08rem}
.bd-cta__actions{display:flex;gap:12px;flex-wrap:wrap}
.bd-cta .bd-btn{background:#fff;color:var(--bd-ink)!important;border-color:#fff;}
.bd-cta .bd-btn:hover{background:var(--bd-sun);border-color:var(--bd-sun)}
.bd-cta .bd-btn--ghost{background:transparent;color:#fff!important;border-color:#fff}
.bd-cta .bd-btn--ghost:hover{background:#fff;color:var(--bd-coral-d)!important}
.bd-strip{background:var(--bd-aqua)}
.bd-strip .bd-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:34px;padding-bottom:34px}
.bd-strip__item{display:flex;gap:14px;align-items:flex-start}
.bd-strip__ic{flex:0 0 46px;height:46px;border-radius:14px;background:var(--bd-teal);color:#fff;display:flex;align-items:center;justify-content:center}
.bd-strip__ic svg{width:24px;height:24px}
.bd-strip strong{display:block;font-family:var(--bd-font-h);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bd-muted)}
.bd-strip a{color:var(--bd-ink);font-weight:800;text-decoration:none;font-size:1.06rem}
.bd-strip a:hover{color:var(--bd-coral-d)}

/* Footer */
.bd-footer{background:var(--bd-ink);color:var(--color-on-dark-2);font-size:.96rem}
.bd-footer a{color:var(--color-on-dark);text-decoration:none}
.bd-footer a:hover{color:var(--bd-sun);text-decoration:underline}
.bd-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px;padding:62px 0 38px}
.bd-footer h4{color:#fff;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1em}
.bd-footer ul{list-style:none;padding:0;margin:0}
.bd-footer li{margin-bottom:.5em}
.bd-footer .bd-logo__name{color:#fff}
.bd-footer .bd-logo__sub{color:var(--color-on-dark-2)}
.bd-footer__about{margin:16px 0}
.bd-footer address{font-style:normal;line-height:1.7}
.bd-footer__bar{border-top:1px solid rgba(255,255,255,.12)}
.bd-footer__bar .bd-wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px;padding-bottom:24px;font-size:.88rem}
.bd-footer__bar ul{display:flex;gap:18px;flex-wrap:wrap}
.bd-disclaimer{font-size:.82rem;color:var(--color-on-dark-2);max-width:900px;padding-bottom:6px}

/* Mobile call bar */
.bd-callbar{display:none}

/* Blog */
.bd-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bd-post{background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius);overflow:hidden;box-shadow:var(--bd-shadow-s);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.bd-post:hover{transform:translateY(-4px);box-shadow:var(--bd-shadow)}
.bd-post__art{aspect-ratio:4/3;overflow:hidden;display:block}
.bd-post__art svg{width:100%;height:100%;display:block}
.bd-post__body{padding:22px;display:flex;flex-direction:column;flex:1}
.bd-post__meta{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--bd-coral-d);margin-bottom:8px}
.bd-post h3{font-size:1.2rem}
.bd-post h3 a{color:var(--bd-ink);text-decoration:none}
.bd-post h3 a:hover{color:var(--bd-teal-d)}
.bd-post p{color:var(--bd-ink-2);font-size:.96rem}
.bd-post .bd-more{margin-top:auto}
.bd-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.bd-pagination a,.bd-pagination span{padding:10px 16px;border-radius:999px;background:var(--bd-aqua);font-weight:800;text-decoration:none;color:var(--bd-ink)}
.bd-pagination .current{background:var(--bd-teal);color:#fff}
.bd-article{max-width:780px;margin:0 auto}
.bd-article__meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--bd-muted);font-size:.92rem;margin-bottom:26px;font-weight:700}
.bd-article .bd-section{padding:0;background:none}
.bd-article .bd-wrap{padding:0;max-width:none}
.bd-article .bd-grid{grid-template-columns:1fr}
.bd-byline{background:var(--bd-aqua);border-radius:var(--bd-radius);padding:20px 24px;margin-top:36px;font-size:.95rem}
.bd-note-med{font-size:.86rem;color:var(--bd-muted);margin-top:28px;border-top:1px solid var(--bd-line);padding-top:16px}

/* Forms (CF7) */
.bd-form{background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius);padding:34px;box-shadow:var(--bd-shadow)}
.bd-form label{display:block;font-family:var(--bd-font-h);font-weight:800;font-size:.95rem;margin-bottom:6px;color:var(--bd-ink)}
.bd-form input[type=text],.bd-form input[type=email],.bd-form input[type=tel],.bd-form input[type=date],.bd-form select,.bd-form textarea{width:100%;border:2px solid var(--bd-line);border-radius:12px;padding:13px 15px;font:inherit;background:var(--color-surface);color:var(--bd-ink);margin-top:2px}
.bd-form textarea{min-height:130px}
.bd-form input:focus,.bd-form select:focus,.bd-form textarea:focus{outline:none;border-color:var(--color-primary-dark)}
.bd-form .bd-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bd-form p{margin-bottom:1em}
.bd-form input[type=submit]{background:var(--bd-coral);color:#fff;border:0;border-radius:999px;padding:15px 34px;font-family:var(--bd-font-h);font-weight:900;font-size:1.05rem;cursor:pointer;}
.bd-form input[type=submit]:hover{background:var(--bd-coral-d)}
.bd-form .wpcf7-not-valid-tip{color:var(--color-error);font-size:.85rem}
.bd-form .wpcf7-response-output{border-radius:12px!important;margin:16px 0 0!important}
.bd-form-note{font-size:.86rem;color:var(--bd-muted)}
.bd-layout-2{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start}
.bd-aside .bd-card{margin-bottom:20px}
.bd-aside a{font-weight:800}

/* Page (non-hero) */
.bd-404{text-align:center;padding:90px 0}
.bd-404 svg{max-width:360px;margin:0 auto 20px;display:block;border-radius:24px}
.bd-search-form{display:flex;gap:10px;max-width:520px;margin:20px auto}
.bd-search-form input[type=search]{flex:1;border:2px solid var(--bd-line);border-radius:999px;padding:12px 18px;font:inherit}

.bd-sitemap ul{list-style:none;padding-left:0}
.bd-sitemap ul ul{padding-left:1.4em;border-left:3px solid var(--bd-aqua-2);margin:.4em 0 .8em 4px}
.bd-sitemap li{margin-bottom:.35em}

/* Responsive */
@media (max-width:1100px){
  .bd-footer__grid{grid-template-columns:1fr 1fr}
  .bd-grid--4{grid-template-columns:repeat(2,1fr)}
  .bd-nav a{padding:9px 10px;font-size:.92rem}
}
@media (max-width:960px){
  .bd-burger{display:flex}
  .bd-nav{position:fixed;inset:0 0 0 auto;width:min(92vw,400px);background:#fff;flex-direction:column;align-items:stretch;padding:96px 22px 30px;box-shadow:-20px 0 50px rgba(20,82,74,.25);transform:translateX(105%);transition:transform .25s;overflow:auto;z-index:80;gap:14px}
  .bd-nav.is-open{transform:none}
  .bd-nav ul{flex-direction:column;align-items:stretch}
  .bd-nav .sub-menu{position:static;display:none;box-shadow:none;border:0;padding:0 0 6px 12px;max-height:none}
  .bd-nav li.is-open>.sub-menu{display:flex}
  .bd-nav li:hover>.sub-menu{display:none}
  .bd-nav li.is-open:hover>.sub-menu{display:flex}
  .bd-header__cta .bd-btn{display:none}
  .bd-burger.is-open{position:fixed;right:18px;top:16px;z-index:90}
  .bd-hero .bd-wrap{grid-template-columns:1fr;padding-top:38px;padding-bottom:46px}
  .bd-hero__art{max-width:520px;order:-1;margin:0 auto 6px;width:100%}
  .bd-hero__art--hide-m{display:none}
  .bd-grid--3,.bd-posts{grid-template-columns:repeat(2,1fr)}
  .bd-split,.bd-layout-2{grid-template-columns:1fr;gap:26px}
  .bd-strip .bd-wrap{grid-template-columns:1fr}
  .bd-section{padding:50px 0}
}
@media (max-width:640px){
  body.bd-body{font-size:16.5px;padding-bottom:64px}
  .bd-wrap{padding:0 18px}
  .bd-topbar__r{display:none}
  .bd-grid--2,.bd-grid--3,.bd-grid--4,.bd-posts,.bd-footer__grid,.bd-form .bd-row{grid-template-columns:1fr}
  .bd-logo__sub{display:none}
  .bd-logo__name{font-size:1.45rem}
  .bd-header .bd-wrap{min-height:66px}
  .bd-cta .bd-wrap{padding-top:40px;padding-bottom:40px}
  .bd-form{padding:22px}
  .bd-callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:70;}
  .bd-callbar a{padding:16px 10px;text-align:center;font-family:var(--bd-font-h);font-weight:900;color:#fff;text-decoration:none;font-size:1rem}
  .bd-callbar a:first-child{background:var(--bd-teal)}
  .bd-callbar a:last-child{background:var(--bd-coral)}
  .bd-steps li{padding-left:66px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.bd-topbar,.bd-header,.bd-cta,.bd-callbar,.bd-footer{display:none}}

/* Mega menus (two-column dropdowns) */
@media (min-width:961px){
  .bd-nav li.bd-mega>.sub-menu{min-width:560px;grid-template-columns:1fr 1fr;gap:0 8px}
  .bd-nav li.bd-mega:hover>.sub-menu,.bd-nav li.bd-mega:focus-within>.sub-menu{display:grid}
  .bd-nav li.bd-mega>.sub-menu>.bd-menu-hub{grid-column:1/-1;border-bottom:1px solid var(--bd-line);margin-bottom:6px}
  .bd-nav li:last-child>.sub-menu,.bd-nav li:nth-last-child(2)>.sub-menu{left:auto;right:0}
}

/* Specificity fixes for component lists (beat .bd-body ul/ol) */
.bd-body .bd-chips{margin:26px 0 0;padding:0;list-style:none}
.bd-body .bd-steps{list-style:none;padding:0;margin:1.6em 0}
.bd-body .bd-checks{list-style:none;padding:0}
.bd-body .bd-nav ul,.bd-body .bd-footer ul,.bd-body .bd-crumbs ol,.bd-body .bd-faq ul{padding-left:0}
.bd-body .bd-footer ul,.bd-body .bd-nav ul{margin:0;list-style:none}
.bd-body .bd-crumbs ol{margin:0;list-style:none}
.bd-body .bd-footer__bar ul{display:flex}
.bd-hero__actions{margin-bottom:0}
.bd-nav a{white-space:nowrap}
.bd-nav .sub-menu a{white-space:normal}
@media (max-width:1240px){.bd-nav a{padding:9px 9px;font-size:.92rem}.bd-header__cta .bd-btn--sm{padding:.6em 1em;font-size:.88rem}}
.bd-logo{flex:0 0 auto}.bd-logo__name{white-space:nowrap}.bd-logo__sub{white-space:nowrap}
@media (max-width:1240px){.bd-logo__sub{display:none}}
.bd-header .bd-wrap{gap:12px}.bd-nav{gap:2px}.bd-header__cta{flex:0 0 auto}.bd-header__cta .bd-btn{white-space:nowrap}
@media (min-width:961px) and (max-width:1300px){.bd-nav a{padding:9px 8px;font-size:.9rem}.bd-logo__name{font-size:1.5rem}}
.bd-callout a{color:var(--bd-sun)!important;font-weight:800}
.bd-callout a:hover{color:#fff!important}
.bd-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
body.bd-body{overflow-x:clip}
@media (max-width:960px){.bd-nav{visibility:hidden}.bd-nav.is-open{visibility:visible}}
.bd-header .bd-wrap{max-width:1340px}
.bd-topbar .bd-wrap{max-width:1340px}
@media (min-width:961px) and (max-width:1340px){.bd-nav a{padding:9px 8px;font-size:.88rem}.bd-logo__sub{display:none}}

.bd-strip .bd-wrap{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.bd-strip .bd-wrap{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.bd-strip .bd-wrap{grid-template-columns:1fr}}

/* ===== Accessibility pass (WCAG 2.2 AA) ===== */

/* Buttons: ink text on coral (4.8:1); hover flips to dark orange with white text (5.2:1) */
.bd-btn,.bd-form input[type=submit]{color:var(--bd-ink)!important}
.bd-btn:hover,.bd-form input[type=submit]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff!important}
.bd-btn--ghost{color:var(--bd-teal-d)!important;background:transparent}
.bd-btn--ghost:hover{background:var(--bd-teal);border-color:var(--bd-teal);color:#fff!important}
.bd-btn--light{color:var(--bd-ink)!important}
.bd-btn--sm{min-height:44px}
.bd-callbar a:last-child{color:var(--bd-ink)}
/* CTA band: ink text on light coral, dark buttons */
.bd-cta{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent) 100%);color:var(--bd-ink)}
.bd-body .bd-cta h2{color:var(--bd-ink)}
.bd-cta .bd-btn{background:var(--bd-ink);border-color:var(--bd-ink);color:#fff!important}
.bd-cta .bd-btn:hover{background:var(--color-on-accent);border-color:var(--color-on-accent);color:#fff!important}
.bd-cta .bd-btn--ghost{background:transparent;color:var(--bd-ink)!important;border-color:var(--bd-ink)}
.bd-cta .bd-btn--ghost:hover{background:var(--bd-ink);color:#fff!important}
/* Hero: teal-only gradient so white text keeps >=4.9:1 everywhere */
.bd-hero{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 100%)}
.bd-hero__sub{color:#fff}
.bd-crumbs,.bd-crumbs a,.bd-crumbs li{color:#fff}
.bd-hero__kicker{background:rgba(20,82,74,.45)}
.bd-chips li{background:rgba(20,82,74,.4);border-color:rgba(255,255,255,.4)}
.bd-hero .bd-btn--ghost{color:#fff!important;border-color:#fff}
.bd-hero .bd-btn--ghost:hover{color:var(--bd-teal-d)!important}
.bd-eyebrow,.bd-post__meta{color:var(--color-accent-hover)}
/* Focus */
:focus-visible{outline:3px solid var(--bd-ink);outline-offset:3px;box-shadow:none}
.bd-footer :focus-visible,.bd-topbar :focus-visible,.bd-callout :focus-visible{outline-color:#fff;box-shadow:none}
.bd-cta :focus-visible{outline-color:var(--bd-ink)}
.bd-faq summary:focus-visible{outline-offset:-5px}
.bd-faq summary{min-height:44px}
.bd-faq summary::after{content:"+" / ""}
.bd-faq details[open] summary::after{content:"–" / ""}
/* Forms */
.bd-form input[type=text],.bd-form input[type=email],.bd-form input[type=tel],.bd-form input[type=date],.bd-form select,.bd-form textarea{border-color:var(--color-input-border)}
.bd-form .wpcf7-not-valid{border-color:var(--color-error)!important}
.bd-form .wpcf7-not-valid-tip::before{content:"Error: ";font-weight:800}
.bd-form input[type=checkbox]{width:24px;height:24px;vertical-align:middle;margin-right:8px;accent-color:var(--bd-teal)}
/* Tables scroll instead of clipping */
.bd-table{display:block;overflow-x:auto;max-width:100%}
.bd-table caption{text-align:left;font-weight:800;padding:8px 0}
.bd-pagination a,.bd-pagination span{min-height:44px;display:inline-flex;align-items:center}
.screen-reader-text{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bd-btn:hover,.bd-card:hover,.bd-post:hover{}}
.bd-nav.is-dismissed li:hover>.sub-menu,.bd-nav.is-dismissed li:focus-within>.sub-menu{display:none!important}
.bd-footer .bd-footer__h{color:#fff;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1em;font-family:var(--bd-font-h);font-weight:800}

/* ==========================================================================
   Palette refresh: calm mint + ONE soft-pink accent (CTAs only). Final layer.
   ========================================================================== */
body.bd-body{background:var(--color-bg);color:var(--color-primary-dark)}
.bd-section{background:transparent}
.bd-section--tint,.bd-section--cream{background:var(--color-section-alt)}
.bd-body a{color:var(--color-primary-dark)}
.bd-body a:hover{color:var(--color-primary-dark);text-decoration-thickness:3px}
.bd-body h1,.bd-body h2,.bd-body h3,.bd-body h4{color:var(--color-primary-dark)}

/* Top bar */
.bd-topbar{background:var(--color-primary-dark);color:#fff}
.bd-topbar a,.bd-topbar .bd-topbar__r{color:#fff}
.bd-topbar a:hover{color:#fff;text-decoration:underline}

/* Header + logo */
.bd-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.bd-logo__name{color:var(--color-primary-dark)}
.bd-logo__name b{color:var(--color-primary-strong)}
.bd-logo__sub{color:var(--color-muted)}
.bd-nav a{color:var(--color-primary-dark)}
.bd-nav a:hover,.bd-nav .current-menu-item>a,.bd-nav .current-menu-ancestor>a{background:var(--color-primary-tint);color:var(--color-primary-dark)}
.bd-nav .sub-menu{background:var(--color-surface);border-color:var(--color-border)}
.bd-nav .sub-menu .bd-menu-hub>a{color:var(--color-primary-dark)}
.bd-burger{background:var(--color-primary-tint)}
.bd-burger span,.bd-burger span::before,.bd-burger span::after{background:var(--color-primary-dark)}

/* Buttons: pink is reserved for primary CTAs; text is deep teal for contrast */
.bd-btn,.bd-form input[type=submit]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)!important;}
.bd-btn:hover,.bd-form input[type=submit]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)!important;}
.bd-btn--ghost,.bd-btn--ghost:visited{background:transparent;border-color:var(--color-primary-dark);color:var(--color-primary-dark)!important;}
.bd-btn--ghost:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff!important;}
.bd-btn--light{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-primary-dark)!important}
.bd-callbar a:first-child{background:var(--color-primary-dark);color:#fff}
.bd-callbar a:last-child{background:var(--color-accent);color:var(--color-on-accent)}

/* Hero: light, calm, deep-teal text */
.bd-hero{background:linear-gradient(180deg,var(--color-bg) 0%,#FFFFFF 100%);color:var(--color-primary-dark);border-bottom:1px solid var(--color-border)}
.bd-hero::before{background:var(--color-primary-tint);opacity:.55;right:-160px;top:-200px;width:520px;height:520px}
.bd-hero::after{display:none}
.bd-body .bd-hero h1{color:var(--color-primary-dark)}
.bd-hero__sub{color:var(--color-text-2)}
.bd-hero__kicker{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary-dark)}
.bd-chips li{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary-dark)}
.bd-crumbs,.bd-crumbs li,.bd-crumbs a{color:var(--color-text-2)}
.bd-crumbs a:hover{color:var(--color-primary-dark)}
.bd-hero .bd-btn--ghost{border-color:var(--color-primary-dark);color:var(--color-primary-dark)!important}
.bd-hero .bd-btn--ghost:hover{background:var(--color-primary-dark);color:#fff!important}
.bd-hero__art{border:6px solid var(--color-surface);box-shadow:var(--bd-shadow);background:var(--color-surface)}
.bd-hero__avatar{filter:drop-shadow(0 12px 24px rgba(20,82,74,.18))}

/* Surfaces, notices, callouts */
.bd-card,.bd-post,.bd-form,.bd-faq details,.bd-steps li,.bd-table{background:var(--color-surface);border-color:var(--color-border)}
.bd-section--tint .bd-card{border-color:var(--color-border)}
.bd-answer{background:var(--color-primary-tint);border:2px solid var(--color-primary);color:var(--color-primary-dark)}
.bd-tip{background:var(--color-surface);border:2px dashed var(--color-primary)}
.bd-note{background:var(--color-primary-tint)}
.bd-callout{background:var(--color-primary-dark);color:#fff}
.bd-callout p{color:#fff}
.bd-callout::before{background:var(--color-primary)}
.bd-callout a,.bd-callout a:hover{color:#fff!important;text-decoration:underline}
.bd-eyebrow,.bd-post__meta{color:var(--color-primary-dark)}
.bd-steps li::before{background:var(--color-primary);color:var(--color-primary-dark)}
.bd-checks li::before{background:var(--color-primary)}
.bd-table th{background:var(--color-primary-dark);color:#fff}
.bd-table tr:nth-child(even) td{background:var(--color-bg)}
.bd-strip{background:var(--color-section-alt)}
.bd-strip__ic{background:var(--color-primary);color:var(--color-primary-dark)}
.bd-strip strong{color:var(--color-muted)}
.bd-strip a{color:var(--color-primary-dark)}
.bd-more{color:var(--color-primary-dark)}
.bd-related a.bd-card:hover h3{color:var(--color-primary-dark);text-decoration:underline}
.bd-post h3 a{color:var(--color-primary-dark)}
.bd-pagination a,.bd-pagination span{background:var(--color-primary-tint);color:var(--color-primary-dark)}
.bd-pagination .current{background:var(--color-primary-dark);color:#fff}

/* FAQ */
.bd-faq{background:var(--color-bg)}
.bd-faq summary{color:var(--color-primary-dark)}
.bd-faq summary::after{background:var(--color-primary-tint);color:var(--color-primary-dark)}
.bd-faq details[open] summary::after{background:var(--color-primary-dark);color:#fff}
.bd-faq details[open] summary{color:var(--color-primary-dark)}

/* CTA band: soft mint, pink button */
.bd-cta{background:var(--color-section-alt);color:var(--color-primary-dark);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.bd-cta::before{background:var(--color-primary-tint)}
.bd-body .bd-cta h2{color:var(--color-primary-dark)}
.bd-cta .bd-btn{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)!important;}
.bd-cta .bd-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.bd-cta .bd-btn--ghost{background:transparent;border-color:var(--color-primary-dark);color:var(--color-primary-dark)!important;}
.bd-cta .bd-btn--ghost:hover{background:var(--color-primary-dark);color:#fff!important}

/* Footer */
.bd-footer{background:var(--color-primary-dark);color:var(--color-on-dark-2)}
.bd-footer a{color:#fff}
.bd-footer a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:3px}
.bd-footer .bd-logo__name{color:#fff}
.bd-footer .bd-logo__name b{color:var(--color-primary)}
.bd-footer .bd-logo__sub{color:var(--color-on-dark-2)}
.bd-footer h4,.bd-footer .bd-footer__h{color:#fff}
.bd-footer__bar{border-top:1px solid rgba(255,255,255,.18)}
.bd-disclaimer{color:var(--color-on-dark-2)}

/* Forms */
.bd-form label{color:var(--color-primary-dark)}
.bd-form input[type=text],.bd-form input[type=email],.bd-form input[type=tel],.bd-form input[type=date],.bd-form select,.bd-form textarea{background:var(--color-surface);border-color:var(--color-input-border);color:var(--color-primary-dark)}
.bd-form input:focus,.bd-form select:focus,.bd-form textarea:focus{border-color:var(--color-primary-dark);outline:3px solid var(--color-primary-dark);outline-offset:2px}
.bd-form .wpcf7-not-valid{border-color:var(--color-error)!important}
.bd-form-note,.bd-note-med,.bd-article__meta{color:var(--color-muted)}
.bd-byline{background:var(--color-primary-tint)}
.bd-form input[type=checkbox]{accent-color:var(--color-primary-dark)}

/* Focus: always visible, on every surface */
:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:3px;box-shadow:none}
.bd-topbar :focus-visible,.bd-footer :focus-visible,.bd-callout :focus-visible{outline-color:#fff;box-shadow:none}
.bd-skip{background:var(--color-primary-dark);color:#fff}


/* ==========================================================================
   Buttons: flat. No shadow, glow or lift in any state; hover = color change only.
   ========================================================================== */
.bd-btn,.bd-form input[type=submit],.bd-cta .bd-btn,.bd-hero .bd-btn,.bd-header__cta .bd-btn,.bd-search-form .bd-btn,.bd-callbar a{box-shadow:none!important;text-shadow:none!important;transform:none!important;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}
.bd-btn:hover,.bd-btn:focus,.bd-btn:focus-visible,.bd-btn:active,.bd-form input[type=submit]:hover,.bd-form input[type=submit]:focus,.bd-form input[type=submit]:active,.bd-callbar a:hover,.bd-callbar a:active{box-shadow:none!important;transform:none!important}
/* Primary (coral) */
.bd-btn,.bd-form input[type=submit],.bd-cta .bd-btn,.bd-callbar a:last-child{background:var(--color-accent);border:2px solid var(--color-accent);color:var(--color-on-accent)!important}
.bd-btn:hover,.bd-btn:active,.bd-form input[type=submit]:hover,.bd-form input[type=submit]:active,.bd-cta .bd-btn:hover,.bd-callbar a:last-child:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)!important}
/* Secondary (outline): 2px dark border, transparent; hover = light mint tint */
.bd-btn--ghost,.bd-hero .bd-btn--ghost,.bd-cta .bd-btn--ghost{background:transparent!important;border:2px solid var(--color-primary-dark)!important;color:var(--color-primary-dark)!important}
.bd-btn--ghost:hover,.bd-btn--ghost:active,.bd-hero .bd-btn--ghost:hover,.bd-cta .bd-btn--ghost:hover{background:var(--color-primary-tint)!important;border-color:var(--color-primary-dark)!important;color:var(--color-primary-dark)!important}
.bd-btn--light{background:var(--color-surface);border:2px solid var(--color-surface);color:var(--color-primary-dark)!important}
.bd-btn--light:hover{background:var(--color-primary-tint);border-color:var(--color-primary-tint)}
.bd-callbar{box-shadow:none;border-top:1px solid var(--color-border)}
.bd-callbar a:first-child{background:var(--color-primary-dark);color:#fff}
.bd-callbar a:first-child:hover{background:#0F3F39;color:#fff}
/* Focus: outline only (white on dark surfaces) */
.bd-btn:focus-visible,.bd-form input[type=submit]:focus-visible,.bd-callbar a:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:3px;box-shadow:none!important}
.bd-topbar :focus-visible,.bd-footer :focus-visible,.bd-callout :focus-visible,.bd-callbar a:focus-visible{outline-color:#fff}
.bd-callbar a:last-child:focus-visible{outline-color:var(--color-primary-dark);outline-offset:-5px}

/* Cookie banner (WPConsent shadow DOM via ::part + its CSS variables) */
#wpconsent-root{--wpconsent-focus-outline-width:3px;--wpconsent-focus-outline-offset:3px;--wpconsent-focus-outline-color:#FFFFFF}
#wpconsent-container::part(wpconsent-button-accept),#wpconsent-container::part(wpconsent-preferences-accept-button),#wpconsent-container::part(wpconsent-preferences-save-button){box-shadow:none;transform:none;font-weight:700}
#wpconsent-container::part(wpconsent-button-accept):hover{background-color:var(--color-accent-hover)!important;box-shadow:none}
#wpconsent-container::part(wpconsent-button-preferences),#wpconsent-container::part(wpconsent-button-cancel),#wpconsent-container::part(wpconsent-preferences-cancel-button){box-shadow:none;transform:none;font-weight:700;border:2px solid #fff!important}
#wpconsent-container::part(wpconsent-button-preferences):hover,#wpconsent-container::part(wpconsent-button-cancel):hover{background-color:var(--color-primary-tint)!important}
#wpconsent-container::part(wpconsent-settings-button){box-shadow:none}
