/*
 * Mens Clinic Hybrid visual system.
 * Design source: uploaded LandingPageDiscussion_masculine_theme_toggle_updated_v5.html.
 */

:root{
  --bg:#111111;
  --bg-soft:#171717;
  --panel:#181818;
  --panel-2:#1d1d1d;
  --surface:#151515;
  --text:#f2eee6;
  --muted:#b9b0a4;
  --muted-2:#948a7c;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --accent:#c8a46b;
  --accent-strong:#e0bf8c;
  --accent-soft:rgba(200,164,107,.14);
  --accent-soft-2:rgba(224,191,140,.10);
  --shadow:0 18px 45px rgba(0,0,0,.32);
  --shadow-soft:0 10px 24px rgba(0,0,0,.18);
  --radius:20px;
  --radius-sm:14px;
  --hero-wash:
    radial-gradient(900px 450px at 8% 0%, rgba(200,164,107,.10), transparent 58%),
    radial-gradient(850px 400px at 100% 10%, rgba(255,255,255,.04), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
  --btn-bg:rgba(255,255,255,.03);
  --btn-bg-hover:rgba(255,255,255,.08);
  --card-bg:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  --input-bg:rgba(255,255,255,.025);
  --faq-open-bg:linear-gradient(180deg, rgba(200,164,107,.18), rgba(200,164,107,.08));
  --toggle-track:#2b2a28;
  --toggle-thumb:#f2eee6;
  --logo-bg:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}

body[data-theme="light"]{
  --bg:#f4f1eb;
  --bg-soft:#efebe4;
  --panel:#ffffff;
  --panel-2:#fbf8f2;
  --surface:#faf7f1;
  --text:#181613;
  --muted:#5f584f;
  --muted-2:#7c7266;
  --line:rgba(24,22,19,.10);
  --line-strong:rgba(24,22,19,.16);
  --accent:#8e6d41;
  --accent-strong:#6f5532;
  --accent-soft:rgba(142,109,65,.11);
  --accent-soft-2:rgba(142,109,65,.07);
  --shadow:0 20px 50px rgba(26,22,16,.08);
  --shadow-soft:0 10px 24px rgba(26,22,16,.06);
  --hero-wash:
    radial-gradient(900px 420px at 8% 0%, rgba(142,109,65,.08), transparent 56%),
    radial-gradient(850px 400px at 100% 10%, rgba(0,0,0,.025), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  --btn-bg:#ffffff;
  --btn-bg-hover:#f3eee6;
  --card-bg:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,247,241,.98));
  --input-bg:#ffffff;
  --faq-open-bg:linear-gradient(180deg, rgba(142,109,65,.13), rgba(142,109,65,.05));
  --toggle-track:#dad2c6;
  --toggle-thumb:#181613;
  --logo-bg:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,238,.95));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:320px;
  background:var(--hero-wash), var(--bg);
  color:var(--text);
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  transition:background-color .25s ease, color .25s ease;
}

body.mch-google-fonts-enabled{
  font-family:"Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

img{max-width:100%;display:block;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 22px;
}
.narrowWrap{max-width:860px}
.siteMain{padding-bottom:24px}
section{padding:34px 0}

.skipLink,
.screen-reader-text{
  border:0;
  clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  word-wrap:normal!important;
}
.skipLink:focus{
  clip:auto;
  clip-path:none;
  height:auto;
  width:auto;
  z-index:1000;
  top:12px;
  left:12px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--text);
  color:var(--bg);
  text-decoration:none;
  font-weight:800;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--muted);
  font-weight:800;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:36px;
  height:1px;
  background:var(--line-strong);
}

.siteHeader{
  position:sticky;
  top:0;
  z-index:60;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:82px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  text-decoration:none;
}
.logo{
  width:54px;
  height:54px;
  border-radius:16px;
  background:var(--logo-bg);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 54px;
  overflow:hidden;
  padding:6px;
}
.logo img,
.logo .custom-logo{
  width:100%;
  height:100%;
  object-fit:contain;
}
.logoText{
  font-family:Georgia, "Times New Roman", serif;
  color:var(--accent-strong);
  font-size:20px;
  font-weight:700;
}
.brandText{min-width:0}
.brandText strong{
  display:block;
  font-size:15px;
  line-height:1.2;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brandText small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
}

.primaryNav ul,
.primaryMenuList,
.servicesDropdown,
.footerMenu,
.secondaryBannerMenu{
  list-style:none;
  padding:0;
  margin:0;
}
.primaryMenuList{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.primaryNav li{position:relative}
.primaryNav a,
.primaryNav button.navDropdownToggle{
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
  color:var(--muted);
  padding:10px 12px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.primaryNav button.navDropdownToggle{
  appearance:none;
  border:0;
  background:transparent;
  font-family:inherit;
  cursor:pointer;
}
.primaryNav a:hover,
.primaryNav a:focus-visible,
.primaryNav button.navDropdownToggle:hover,
.primaryNav button.navDropdownToggle:focus-visible,
.primaryNav .current-menu-item > a{
  background:var(--accent-soft);
  color:var(--text);
  outline:none;
}
.servicesDropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:80;
  min-width:270px;
  display:grid;
  gap:4px;
  padding:10px;
  background:color-mix(in srgb, var(--panel) 96%, transparent);
  border:1px solid var(--line-strong);
  border-radius:18px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
}
.servicesDropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;
  height:10px;
}
.servicesDropdown li{position:static}
.servicesDropdown a{
  display:block;
  border-radius:12px;
  padding:10px 12px;
  text-transform:none;
  letter-spacing:.01em;
  font-size:13px;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
}
.hasDropdown:hover .servicesDropdown,
.hasDropdown:focus-within .servicesDropdown,
.hasDropdown.is-open .servicesDropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/* Primary menu submenus: WordPress child menu support. */
.primaryMenuList li{position:relative;}
.primaryMenuList .sub-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:85;
  min-width:270px;
  display:grid;
  gap:4px;
  padding:10px;
  margin:0;
  list-style:none;
  background:color-mix(in srgb, var(--panel) 96%, transparent);
  border:1px solid var(--line-strong);
  border-radius:18px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
}
.primaryMenuList .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;
  height:10px;
}
.primaryMenuList .sub-menu .sub-menu{
  top:0;
  left:calc(100% + 8px);
}
.primaryMenuList .menu-item-has-children:hover > .sub-menu,
.primaryMenuList .menu-item-has-children:focus-within > .sub-menu,
.primaryMenuList .menu-item-has-children.is-open > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.primaryMenuList .sub-menu a{
  display:block;
  border-radius:12px;
  padding:10px 12px;
  text-transform:none;
  letter-spacing:.01em;
  font-size:13px;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
}
.primaryMenuList .menu-item-has-children > a::after{
  content:"▾";
  display:inline-block;
  margin-left:7px;
  font-size:10px;
  color:var(--muted-2);
}
.primaryMenuList .sub-menu .menu-item-has-children > a::after{content:"›";float:right;margin-left:12px;}

.headerControls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  justify-content:flex-end;
}
.headerControls .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.mobileNavToggle{
  display:none;
  border:1px solid var(--line);
  background:var(--btn-bg);
  color:var(--text);
  border-radius:999px;
  padding:10px 12px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  cursor:pointer;
}
.mobileNavToggle:hover,
.mobileNavToggle:focus-visible{
  background:var(--btn-bg-hover);
  outline:2px solid color-mix(in srgb, var(--accent) 70%, white 30%);
  outline-offset:2px;
}

.themeSwitch{
  position:relative;
  display:inline-flex;
  align-items:center;
  border:0;
  border-radius:999px;
  padding:10px 6px;
  background:transparent;
  color:var(--muted-2);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
  user-select:none;
  transition:color .2s ease, background .2s ease;
}
.themeSwitch:hover{
  background:var(--accent-soft);
  color:var(--text);
}
.themeSwitch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.themeSwitch:focus-within{
  outline:2px solid color-mix(in srgb, var(--accent) 70%, white 30%);
  outline-offset:2px;
}

.btn,
.btn-sml,
.wp-block-button__link,
input[type="submit"],
button[type="submit"],
.wpcf7-submit{
  border:1px solid var(--line);
  background:var(--btn-bg);
  color:var(--text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .16s ease, box-shadow .2s ease;
}
.btn,
.wp-block-button__link,
input[type="submit"],
button[type="submit"],
.wpcf7-submit{
  padding:12px 16px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  min-height:46px;
}
.btn:hover,
.btn:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible,
button[type="submit"]:hover,
button[type="submit"]:focus-visible,
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible{
  background:var(--btn-bg-hover);
  border-color:var(--line-strong);
  transform:translateY(-1px);
  outline:none;
}
.callBtn{
  flex-direction:column;
  gap:1px;
  min-height:46px;
  padding:8px 13px;
  line-height:1.12;
}
.callBtn .callLabel{
  font-size:10px;
  letter-spacing:.12em;
}
.callBtn .callPhone{
  font-size:10px;
  letter-spacing:.02em;
  color:var(--muted);
  text-transform:none;
  white-space:nowrap;
}
.btn.primary,
.wp-block-button.is-style-fill .wp-block-button__link,
input[type="submit"],
button[type="submit"],
.wpcf7-submit{
  background:var(--text);
  color:var(--bg);
  border-color:transparent;
  box-shadow:var(--shadow-soft);
}
body[data-theme="light"] .btn.primary,
body[data-theme="light"] .wp-block-button.is-style-fill .wp-block-button__link,
body[data-theme="light"] input[type="submit"],
body[data-theme="light"] button[type="submit"],
body[data-theme="light"] .wpcf7-submit{
  background:#1f1c18;
  color:#fbf8f2;
}
.btn.primary:hover,
.btn.primary:focus-visible,
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:focus-visible,
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible{
  background:color-mix(in srgb, var(--text) 92%, var(--accent) 8%);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}
body[data-theme="light"] .btn.primary:hover,
body[data-theme="light"] .btn.primary:focus-visible,
body[data-theme="light"] .wpcf7-submit:hover,
body[data-theme="light"] .wpcf7-submit:focus-visible{
  background:#111111;
}
.btn-sml{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  padding:7px 10px;
  border-radius:999px;
  margin-left:8px;
}
.btn-sml:hover,
.btn-sml:focus-visible{
  background:var(--accent-soft);
  border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong) 55%);
  color:var(--text);
  outline:none;
}

.hero{padding:46px 0 24px}
.heroGrid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:18px;
  align-items:stretch;
}
.hCard,
.card{
  background:var(--card-bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hCard{overflow:hidden}
.hPad{padding:30px}
h1,h2,h3{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--text);
}
body.mch-google-fonts-enabled h1,
body.mch-google-fonts-enabled h2,
body.mch-google-fonts-enabled h3{
  font-family:"Source Serif 4", Georgia, "Times New Roman", serif;
}
h1{
  margin:0 0 10px;
  font-size:clamp(1.5rem, 2.3vw, 2.8rem);
  line-height:1.01;
  max-width:24ch;
}
h2{
  margin:0 0 8px;
  font-size:clamp(1.3rem, 2.0vw, 2.2rem);
  line-height:1.1;
}
h3{
  margin:0 0 8px;
  font-size:1.26rem;
}
.lead{
  font-size:16px;
  color:var(--muted);
  margin:0 0 18px;
  max-width:68ch;
}
.ctaRow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.pillbar,
.trust,
.kpi{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pillbar{margin-top:18px}
.pill,
.trust span,
.kpi span{
  border:1px solid var(--line);
  background:color-mix(in srgb, var(--panel-2) 82%, transparent);
  border-radius:999px;
  padding:8px 10px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
}
.trust{margin-top:14px}

.heroVisual{
  border-top:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    radial-gradient(380px 220px at 70% 10%, var(--accent-soft), transparent 65%);
  padding:24px;
}
.visualBox{
  min-height:284px;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) - 4px);
  background:color-mix(in srgb, var(--surface) 90%, transparent);
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:22px;
  align-items:stretch;
  padding:20px;
}
.visualFigure{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border:1px solid var(--line);
  min-height:220px;
}
.visualFigure img{
  max-width:86%;
  max-height:86%;
  object-fit:contain;
  opacity:.95;
}
.visualPlaceholder{
  width:86px;
  height:86px;
  border-radius:24px;
  border:1px solid var(--line-strong);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent-strong);
  font-family:Georgia, "Times New Roman", serif;
  font-size:34px;
  font-weight:700;
  background:var(--accent-soft);
}
.visualNotes{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-content:center;
}
.visualNote{
  border:1px solid var(--line);
  background:var(--btn-bg);
  border-radius:16px;
  padding:14px 15px;
}
.visualNote strong{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  margin-bottom:6px;
}
.visualNote span{
  display:block;
  font-size:14px;
  font-weight:700;
  color:var(--text);
}

.sectionTop{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.sectionTop h2{
  margin:0;
  font-size:clamp(1.8rem, 2.4vw, 2.35rem);
  line-height:1.1;
}
.sectionTop .sub,
.sub{
  margin:0;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}

.grid4,
.mc-grid.grid4{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}
.mc-grid.grid3{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
.twoCol,
.mc-grid.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
.mc-grid.grid1{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.card{
  padding:20px;
  position:relative;
}
.card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--accent-strong);
  border-bottom:1px solid color-mix(in srgb, var(--accent) 50%, transparent);
  padding-bottom:6px;
}
.tag.alt{color:var(--text)}
.bullets{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
  font-size:14px;
}
.bullets li{margin:8px 0}
.steps{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
  margin-top:14px;
}
.step{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background:var(--btn-bg);
  box-shadow:var(--shadow-soft);
}
.step strong{
  display:block;
  font-size:14px;
  margin-bottom:6px;
  color:var(--text);
}
.step span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.infoStrip{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-top:16px;
}
.infoPill{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px 14px;
  background:var(--btn-bg);
}
.infoPill strong{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  margin-bottom:6px;
}
.infoPill span{
  display:block;
  font-size:14px;
  color:var(--text);
  font-weight:800;
}
.subtle{
  color:var(--muted);
  font-weight:700;
}
.fineprint{
  color:var(--muted-2);
  font-size:12px;
  line-height:1.45;
  margin-top:12px;
}

/* Forms: native and Contact Form 7. */
.form,
.wpcf7 form,
.mc-form-shell form{
  display:grid;
  gap:12px;
}
label,
.wpcf7 label,
.fieldLabel{
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  margin-bottom:6px;
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
select,
textarea{
  width:100%;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--input-bg);
  color:var(--text);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea{
  min-height:108px;
  resize:vertical;
}
input::placeholder,
textarea::placeholder{
  color:color-mix(in srgb, var(--muted) 88%, transparent);
}
select option,
select optgroup{
  color:#181613;
  background:#ffffff;
}
input:not([type="submit"]):focus,
select:focus,
textarea:focus{
  border-color:color-mix(in srgb, var(--accent) 70%, white 30%);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

.radioGroup,
.cf7-radio-cards .wpcf7-radio{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:2px;
}
.radioCard,
.cf7-radio-cards .wpcf7-list-item{
  position:relative;
  flex:1 1 180px;
  margin:0;
}
.radioCard input[type="radio"],
.cf7-radio-cards input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.radioCard label,
.cf7-radio-cards .wpcf7-list-item-label{
  margin:0;
  min-height:52px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--btn-bg);
  color:var(--text);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .16s ease;
  text-transform:none;
  letter-spacing:.02em;
  font-size:14px;
  font-weight:800;
}
.radioCard label::before,
.cf7-radio-cards .wpcf7-list-item-label::before{
  content:"";
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid color-mix(in srgb, var(--muted) 70%, transparent);
  box-sizing:border-box;
  box-shadow:inset 0 0 0 3px transparent;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  flex:0 0 16px;
}
.radioCard label:hover,
.cf7-radio-cards .wpcf7-list-item-label:hover{
  background:var(--btn-bg-hover);
  border-color:var(--line-strong);
  transform:translateY(-1px);
}
.radioCard input[type="radio"]:focus + label,
.cf7-radio-cards input[type="radio"]:focus + .wpcf7-list-item-label{
  border-color:color-mix(in srgb, var(--accent) 70%, white 30%);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
.radioCard input[type="radio"]:checked + label,
.cf7-radio-cards input[type="radio"]:checked + .wpcf7-list-item-label{
  background:var(--faq-open-bg);
  border-color:color-mix(in srgb, var(--accent) 70%, var(--line-strong) 30%);
  box-shadow:var(--shadow-soft);
}
.radioCard input[type="radio"]:checked + label::before,
.cf7-radio-cards input[type="radio"]:checked + .wpcf7-list-item-label::before{
  border-color:var(--accent);
  background:var(--accent);
  box-shadow:inset 0 0 0 3px var(--panel);
}
body[data-theme="light"] .radioCard input[type="radio"]:checked + label::before,
body[data-theme="light"] .cf7-radio-cards input[type="radio"]:checked + .wpcf7-list-item-label::before{
  box-shadow:inset 0 0 0 3px #fffdf8;
}
.wpcf7-not-valid-tip{
  margin-top:6px;
  color:var(--accent-strong);
  font-size:12px;
  font-weight:800;
}
.wpcf7 form .wpcf7-response-output{
  margin:10px 0 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--line-strong);
  color:var(--muted);
  font-weight:700;
}
.wpcf7-spinner{background-color:var(--accent)}

/* FAQ: visible without JS; collapsed after JS loads. */
.faq .q{
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--btn-bg);
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .16s ease, color .2s ease;
}
.faq .q:hover,
.faq .q:focus-visible{
  background:var(--btn-bg-hover);
  border-color:var(--line-strong);
  transform:translateY(-1px);
  outline:none;
}
.faq .q[aria-expanded="true"]{
  background:var(--faq-open-bg);
  border-color:color-mix(in srgb, var(--accent) 68%, var(--line-strong) 32%);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent), 0 18px 30px rgba(0,0,0,.08);
  color:var(--text);
}
.faq .q[aria-expanded="true"] .faqIcon,
.faq .q[aria-expanded="true"] > span:last-child{
  color:var(--accent-strong);
}
.faq .a{
  display:block;
  padding:14px 18px 4px;
  color:var(--muted);
  font-weight:700;
}
.js .faq .a{display:none}
.faqItem{padding:0 0 10px}

/* Secondary banner. */
.secondaryBanner{
  z-index:50;
  background:color-mix(in srgb, var(--panel) 92%, transparent);
  border-bottom:1px solid var(--line);
}
.secondaryBanner.isSticky,
.secondaryBanner.is-sticky{
  position:sticky;
  top:82px;
}
.secondaryBannerInner{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.secondaryBannerText{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.secondaryBannerMenu{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.secondaryBannerMenu a{
  text-decoration:none;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 10px;
  color:var(--muted);
}
.secondaryBannerMenu a:hover,
.secondaryBannerMenu a:focus-visible{
  color:var(--text);
  background:var(--accent-soft);
  outline:none;
}

/* Page content and blocks. */
.pageContentSection{padding:46px 0}
.pageContentCard{padding:30px}
.entryContent > *:first-child{margin-top:0}
.entryContent > *:last-child{margin-bottom:0}
.entryContent p,
.entryContent li{
  color:var(--muted);
}
.entryContent a:not(.btn){
  color:var(--accent-strong);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.wp-block-columns{gap:14px}
.wp-block-column{
  min-width:0;
}
.wp-block-group.is-style-card,
.wp-block-cover.is-style-card{
  background:var(--card-bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px;
}
.breadcrumbsWrap{
  padding-top:18px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

/* Footer. */
.siteFooter{
  padding:30px 0 44px;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.footGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:start;
}
.footerBrand,
.footerWidgetTitle{
  display:block;
  color:var(--text);
  font-size:15px;
}
.footerText{
  margin-top:10px;
}
.footerWidgets{
  display:grid;
  gap:12px;
}
.footerMenu{
  margin-top:10px;
  display:grid;
  gap:8px;
}
.footerMenu a{
  border:1px solid var(--line);
  background:var(--btn-bg);
  color:var(--text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  padding:12px 16px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  min-height:46px;
}
.footerMenu a:hover,
.footerMenu a:focus-visible{
  background:var(--btn-bg-hover);
  border-color:var(--line-strong);
  outline:none;
}

.notice{
  border:1px solid var(--line);
  background:var(--btn-bg);
  border-radius:16px;
  padding:14px 16px;
  color:var(--muted);
  font-weight:700;
}

/* Accessibility and motion. */
:focus-visible{
  outline:2px solid color-mix(in srgb, var(--accent) 70%, white 30%);
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

/* Responsive. */
@media (max-width:1080px){
  .heroGrid{grid-template-columns:1fr}
  .grid4,
  .mc-grid.grid4,
  .mc-grid.grid3{grid-template-columns:repeat(2, 1fr)}
  .steps{grid-template-columns:repeat(2, 1fr)}
  .infoStrip{grid-template-columns:repeat(2, 1fr)}
  .visualBox{grid-template-columns:1fr}
}
@media (max-width:980px){
  .nav{
    align-items:center;
    min-height:76px;
    flex-wrap:wrap;
    padding:12px 0;
  }
  .mobileNavToggle{display:inline-flex}
  .primaryNav{
    display:none;
    width:100%;
    order:5;
  }
  .primaryNav.is-open{display:block}
  .primaryMenuList{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding:10px 0 4px;
  }
  .primaryNav a,
  .primaryNav button.navDropdownToggle,
  .themeSwitch{
    width:100%;
    justify-content:flex-start;
    background:var(--btn-bg);
    border:1px solid var(--line);
    padding:12px 14px;
  }
  .servicesDropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    margin-top:8px;
    min-width:0;
    width:100%;
    box-shadow:none;
  }
}
@media (max-width:860px){
  .brandText strong{max-width:46vw}
}
@media (max-width:720px){
  .twoCol,
  .mc-grid.grid2{grid-template-columns:1fr}
  .footGrid{grid-template-columns:1fr}
  .headerControls{
    width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;
  }
  .secondaryBannerInner{
    align-items:flex-start;
    flex-direction:column;
    padding-top:10px;
    padding-bottom:10px;
  }
}
@media (max-width:620px){
  .grid4,
  .mc-grid.grid4,
  .mc-grid.grid3,
  .mc-grid.grid2{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .infoStrip{grid-template-columns:1fr}
  .hero{padding-top:28px}
  .wrap{padding:0 16px}
  .hPad{padding:22px}
  .visualBox{padding:16px}
  h1{max-width:unset}
  .btn,
  .themeSwitch,
  .wp-block-button__link,
  input[type="submit"],
  button[type="submit"],
  .wpcf7-submit{width:100%}
  .headerControls{
    flex-direction:row;
    align-items:stretch;
    flex-wrap:nowrap;
  }
  .headerControls .btn{width:auto}
  .headerControls .callBtn,
  .headerControls .primary{
    flex:1 1 0;
  }
  .btn-sml{margin-left:0;margin-top:8px}
  .brandText small{letter-spacing:.1em}
}
@media (max-width:430px){
  .headerControls{
    flex-direction:column;
    flex-wrap:wrap;
  }
  .headerControls .btn{width:100%}
  .brandText strong{max-width:62vw}
}

/* 1.0.1: protect layouts from editor/plugin paragraph wrappers if any remain. */
.mc-grid > p,
.grid4 > p,
.grid3 > p,
.grid2 > p,
.twoCol > p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mc-grid > br,
.grid4 > br,
.grid3 > br,
.grid2 > br,
.twoCol > br,
.ctaRow br,
.trust br {
  display: none !important;
}
.mc-grid.grid4,
.grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mc-grid.grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mc-grid.grid2,
.twoCol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mc-grid > .card,
.mc-grid > .mc-card,
.grid4 > .card,
.grid3 > .card,
.grid2 > .card,
.twoCol > .card {
  grid-column: auto;
  grid-row: auto;
  width: 100%;
}

/* 1.0.1: keep the request form compact in the hero. */
.heroGrid > .consultationCard { align-self: start; }
.consultationCard,
.consultationCard .hPad,
.consultationCard .mc-form-shell,
.consultationCard .wpcf7,
.consultationCard .wpcf7 form {
  height: auto;
  min-height: 0;
  justify-content: start;
  align-content: start;
}

/* 1.0.1: tight Contact Form 7 fields after disabling CF7 autop. */
.cf7-men-consultation-form {
  display: grid !important;
  gap: 12px !important;
}
.cf7-men-consultation-form .field {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
}
.cf7-men-consultation-form .field > p {
  display: contents !important;
  margin: 0 !important;
}
.cf7-men-consultation-form br { display: none !important; }
.cf7-men-consultation-form label,
.cf7-men-consultation-form .fieldLabel {
  margin: 0 !important;
  line-height: 1.2 !important;
}
.cf7-men-consultation-form .wpcf7-form-control-wrap {
  display: block !important;
  margin: 0 !important;
}
.cf7-radio-cards label {
  display: block;
  margin: 0 !important;
}
.cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label {
  background: var(--faq-open-bg);
  border-color: color-mix(in srgb, var(--accent) 70%, var(--line-strong) 30%);
  box-shadow: var(--shadow-soft);
}
.footerMenuFallback {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}


/* Dynamic info strip: use this instead of the old fixed four-column .infoStrip. */
.mcInfoStripDyn{
  display:grid;
  grid-template-columns:repeat(var(--mc-info-strip-count, 3), minmax(0, 1fr));
  gap:10px;
  margin-top:16px;
}
.mcInfoStripDyn .infoPill{min-width:0;}

/* If old content still uses infoStripDyn plus infoStrip, force dynamic count. */
.infoStrip.infoStripDyn,
.infoStrip.mcInfoStripDyn{
  grid-template-columns:repeat(var(--mc-info-strip-count, 3), minmax(0, 1fr)) !important;
}

/* Shortcoder/WordPress defensive grid cleanup. */
.mc-grid > p,
.grid4 > p,
.grid3 > p,
.grid2 > p,
.twoCol > p{
  display:contents !important;
  margin:0 !important;
  padding:0 !important;
}
.mc-grid > br,
.grid4 > br,
.grid3 > br,
.grid2 > br,
.twoCol > br,
.ctaRow br,
.trust br,
.pillbar br,
.mcInfoStripDyn br{
  display:none !important;
}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.mc-grid.grid1{display:grid;grid-template-columns:1fr;gap:14px;}
.mc-grid.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.mc-grid.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.mc-grid.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}

/* Compact CF7 form fixes. */
.heroGrid > .consultationCard{align-self:start;}
.consultationCard,
.consultationCard .hPad,
.consultationCard .mc-form-shell,
.consultationCard .wpcf7,
.consultationCard .wpcf7 form{height:auto;min-height:0;justify-content:start;align-content:start;}
.cf7-men-consultation-form{display:grid !important;gap:12px !important;}
.cf7-men-consultation-form .field{display:grid;gap:6px;margin:0 !important;}
.cf7-men-consultation-form label,
.cf7-men-consultation-form .fieldLabel{margin:0 !important;line-height:1.2 !important;}
.cf7-men-consultation-form .wpcf7-form-control-wrap{display:block;margin:0 !important;}
.cf7-men-consultation-form p{margin:0 !important;}
.cf7-men-consultation-form br{display:none !important;}
.cf7-men-consultation-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:.02em;font-size:13px;color:var(--text);font-weight:800;}
.cf7-men-consultation-form .wpcf7-acceptance input[type="checkbox"]{width:auto;min-width:18px;margin-top:2px;accent-color:var(--accent);}

/* CF7 radio cards. */
.cf7-radio-cards .wpcf7-radio{display:flex !important;gap:10px !important;flex-wrap:wrap !important;}
.cf7-radio-cards .wpcf7-list-item{flex:1 1 140px !important;margin:0 !important;}
.cf7-radio-cards label{position:relative !important;min-height:52px !important;padding:14px 16px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;border-radius:16px !important;border:1px solid var(--line) !important;background:var(--btn-bg) !important;color:var(--text) !important;cursor:pointer !important;text-transform:none !important;letter-spacing:.02em !important;font-size:14px !important;font-weight:800 !important;}
.cf7-radio-cards input[type="radio"]{position:absolute !important;opacity:0 !important;pointer-events:none !important;}
.cf7-radio-cards .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:10px;}
.cf7-radio-cards .wpcf7-list-item-label::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb, var(--muted) 70%, transparent);box-sizing:border-box;flex:0 0 16px;}
.cf7-radio-cards label:hover{background:var(--btn-bg-hover) !important;border-color:var(--line-strong) !important;}
.cf7-radio-cards input[type="radio"]:focus-visible + .wpcf7-list-item-label{outline:2px solid color-mix(in srgb, var(--accent) 70%, white 30%);outline-offset:4px;}
.cf7-radio-cards label:has(input[type="radio"]:checked){background:var(--faq-open-bg) !important;border-color:color-mix(in srgb, var(--accent) 70%, var(--line-strong) 30%) !important;box-shadow:var(--shadow-soft) !important;}
.cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label::before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--panel);}
body[data-theme="light"] .cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label::before{box-shadow:inset 0 0 0 3px #fffdf8;}

/* Manual/Shortcoder accordion system; matches FAQ expanded/collapsed colors and symbols. */
.mcAccordion,
.accordionList{display:grid;gap:12px;}
.mcAccordionItem,
.accItem{border:1px solid var(--line);border-radius:18px;background:var(--card-bg);overflow:hidden;box-shadow:var(--shadow-soft);}
.mcAccordionBtn,
.accBtn{width:100%;text-align:left;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border:0;background:var(--btn-bg);color:var(--text);font:inherit;font-weight:800;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .16s ease,color .2s ease;}
.mcAccordionBtn:hover,
.mcAccordionBtn:focus-visible,
.accBtn:hover,
.accBtn:focus-visible{background:var(--btn-bg-hover);outline:none;}
.mcAccordionBtn[aria-expanded="true"],
.accBtn[aria-expanded="true"]{background:var(--faq-open-bg);box-shadow:inset 0 -1px 0 var(--line), inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);color:var(--text);}
.mcAccordionTitle,
.accBtn strong{display:block;font-size:16px;line-height:1.15;letter-spacing:-.01em;color:var(--text);}
.mcAccordionSub,
.accBtn span{display:block;color:var(--muted);font-size:14px;margin-top:4px;max-width:72ch;font-weight:700;}
.mcAccordionIcon,
.accIcon{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:0 0 34px;font-size:20px;color:var(--muted);background:rgba(255,255,255,.03);transition:background .2s ease,color .2s ease,border-color .2s ease;}
.mcAccordionBtn[aria-expanded="true"] .mcAccordionIcon,
.accBtn[aria-expanded="true"] .accIcon{background:var(--accent);color:#17120b;border-color:transparent;}
.mcAccordionPanel,
.accPanel{display:none;padding:0 20px 20px;color:var(--muted);font-weight:700;}
.mcAccordionPanel.open,
.accPanel.open{display:block;}
.mcAccordionPanelInner,
.panelInner{padding-top:14px;border-top:1px solid var(--line);}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px;}
.chip{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;}
.subAcc{margin-top:12px;display:grid;gap:10px;}
.subAcc .accBtn,.subAcc .mcAccordionBtn{padding:15px 16px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--line);}
.subAcc .accPanel,.subAcc .mcAccordionPanel{padding:0 16px 16px;}
.detailGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;}
.detail{padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--btn-bg);box-shadow:var(--shadow-soft);}
.detail strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:6px;}
.detail span{display:block;color:var(--text);font-size:14px;font-weight:700;}
.ctaStrip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg, var(--accent-soft), rgba(255,255,255,.02));}
.miniCard,.infoCard{padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card-bg);box-shadow:var(--shadow-soft);}
.clean{margin:12px 0 0;padding-left:18px;color:var(--muted);}
.clean li{margin:8px 0;}
.heroStack{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.visualPlaceholder{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,8vw,7rem);font-weight:700;color:var(--accent-strong);opacity:.92;}

/* Shortcoder admin page. */
.mchAdminBox{max-width:960px;background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px;margin-top:18px;}
.mchAdminBox code{font-size:12px;}

@media (max-width:1080px){
  .mcInfoStripDyn{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mc-grid.grid4,.grid4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mc-grid.grid3,.grid3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .mc-grid.grid2,.grid2,.twoCol,.detailGrid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .mcInfoStripDyn,.mc-grid.grid4,.mc-grid.grid3,.grid4,.grid3{grid-template-columns:1fr;}
}



/* Accordion fallback styling for legacy/buttonless markup. JS upgrades these headings to buttons. */
.accItem > .accPanel:first-child{margin-top:0;}
.accItem > div:not(.accPanel):first-child{
  padding:18px 20px;
  color:var(--text);
  font-weight:800;
}
.accItem > div:not(.accPanel):first-child strong{display:block;font-size:16px;line-height:1.15;letter-spacing:-.01em;color:var(--text);}
.accItem > div:not(.accPanel):first-child span{display:block;color:var(--muted);font-size:14px;margin-top:4px;max-width:72ch;font-weight:700;}



@media (max-width: 860px){
  .primaryNav.is-open .primaryMenuList .sub-menu,
  .primaryNav .primaryMenuList .sub-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    min-width:0;
    margin-top:6px;
    background:color-mix(in srgb, var(--panel-2) 90%, transparent);
  }
}


/* v1.1.2: footer menu modes, pill-sized links, and shortcode-capable custom blocks. */
.footGrid.noFooterRight{
  grid-template-columns:1fr;
}
.footerMenuBlock.footerMode-none{
  display:none;
}
.footerMenu,
.footerMenuFallback{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footerMenu li{
  margin:0;
  padding:0;
  list-style:none;
}
.footerMenu a,
.footerMenuFallback a,
.footerPillLink{
  border:1px solid var(--line);
  background:color-mix(in srgb, var(--panel-2) 82%, transparent);
  border-radius:999px;
  padding:8px 10px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  text-decoration:none;
  min-height:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-transform:none;
  box-shadow:none;
}
.footerMenu a:hover,
.footerMenu a:focus-visible,
.footerMenuFallback a:hover,
.footerMenuFallback a:focus-visible,
.footerPillLink:hover,
.footerPillLink:focus-visible{
  background:var(--accent-soft);
  border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong) 55%);
  color:var(--text);
  outline:none;
}
.footerWidgetsBelowLinks{
  margin-top:14px;
}
.pageCustomBlock{
  padding:18px 0;
}
.pageCustomContent{
  padding:20px;
}
.pageCustomContent > *:first-child{
  margin-top:0;
}
.pageCustomContent > *:last-child{
  margin-bottom:0;
}


/* v1.1.3: Theme toggle may appear in header, secondary banner, footer, or Shortcoder content. */
.themeSwitch.mchThemeSwitch,
.mchThemeToggleButton{
  width:auto;
}
.mchThemeToggleButton{
  border:1px solid var(--line);
  background:var(--btn-bg);
  color:var(--text);
  border-radius:999px;
  padding:10px 12px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .16s ease;
}
.mchThemeToggleButton:hover,
.mchThemeToggleButton:focus-visible{
  background:var(--accent-soft);
  border-color:var(--line-strong);
  color:var(--text);
  outline:none;
  transform:translateY(-1px);
}
.secondaryBanner .themeSwitch,
.siteFooter .themeSwitch{
  margin:0;
}


/* v1.1.4 compact CF7 radio cards: one visual box only, not an outer + inner double card. */
.cf7-radio-cards .wpcf7-radio{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:2px !important;
}
.cf7-radio-cards .wpcf7-list-item{
  flex:1 1 140px !important;
  margin:0 !important;
  position:relative !important;
}
.cf7-radio-cards label{
  position:relative !important;
  min-height:42px !important;
  padding:9px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border-radius:14px !important;
  border:1px solid var(--line) !important;
  background:var(--btn-bg) !important;
  color:var(--text) !important;
  cursor:pointer !important;
  text-transform:none !important;
  letter-spacing:.02em !important;
  font-size:14px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.cf7-radio-cards input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.cf7-radio-cards .wpcf7-list-item-label{
  min-height:auto !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
  box-shadow:none !important;
  transform:none !important;
  text-transform:none !important;
  letter-spacing:.02em !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.cf7-radio-cards .wpcf7-list-item-label:hover{
  background:transparent !important;
  border-color:transparent !important;
  transform:none !important;
}
.cf7-radio-cards .wpcf7-list-item-label::before{
  content:"" !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  border:2px solid color-mix(in srgb, var(--muted) 70%, transparent) !important;
  box-sizing:border-box !important;
  flex:0 0 14px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.cf7-radio-cards label:hover{
  background:var(--btn-bg-hover) !important;
  border-color:var(--line-strong) !important;
  transform:translateY(-1px) !important;
}
.cf7-radio-cards label:has(input[type="radio"]:focus-visible){
  border-color:color-mix(in srgb, var(--accent) 70%, white 30%) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
}
.cf7-radio-cards label:has(input[type="radio"]:checked){
  background:var(--faq-open-bg) !important;
  border-color:color-mix(in srgb, var(--accent) 70%, var(--line-strong) 30%) !important;
  box-shadow:var(--shadow-soft) !important;
}
.cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--text) !important;
}
.cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label::before{
  border-color:var(--accent) !important;
  background:var(--accent) !important;
  box-shadow:inset 0 0 0 3px var(--panel) !important;
}
body[data-theme="light"] .cf7-radio-cards label:has(input[type="radio"]:checked) .wpcf7-list-item-label::before{
  box-shadow:inset 0 0 0 3px #fffdf8 !important;
}

/* v1.1.4 Notes field: approximately six rows even if CF7/browser emits another rows value. */
.cf7-men-consultation-form textarea#mc-notes,
.cf7-men-consultation-form textarea[name="notes"]{
  min-height:9.2em !important;
  height:auto !important;
}

/* v1.1.4 Compact age confirmation: short label plus separate fineprint policy text. */
.cf7-men-consultation-form .ageConfirmField{
  gap:4px !important;
}
.cf7-men-consultation-form .ageConfirmField .wpcf7-acceptance label{
  min-height:auto !important;
  padding:8px 10px !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  background:var(--btn-bg) !important;
  color:var(--text) !important;
  line-height:1.25 !important;
  font-size:12px !important;
}
.cf7-men-consultation-form .ageConfirmField .wpcf7-list-item{
  margin:0 !important;
}
.cf7-men-consultation-form .agePolicyFineprint{
  margin-top:-4px !important;
  font-size:11.5px !important;
  line-height:1.4 !important;
}
.cf7-men-consultation-form .agePolicyFineprint a{
  color:var(--accent-strong) !important;
  text-decoration:none !important;
  border-bottom:1px solid color-mix(in srgb, var(--accent) 55%, transparent) !important;
}
