@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --navy:#002060;
  --purple:#7030A0;
  --ink:#17233b;
  --muted:#64718a;
  --line:#e1e7f0;
  --soft:#f5f7fb;
  --white:#fff;
  --radius:18px;
  --shadow:0 18px 50px rgba(0,32,96,.09);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  color:var(--ink);
  font-family:'DM Sans',Arial,sans-serif;
  line-height:1.65;
}
a {
  color:inherit;
  text-decoration:none;
}
img {
  max-width:100%;
  height:auto;
}
.container {
  width:min(1160px,calc(100% - 40px));
  margin:auto;
}
.topbar {
  background:#071936;
  color:#e7ecf7;
  font-size:12px;
}
.topbar-inner {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:9px 0;
}
.topbar-links {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #edf0f6;
  backdrop-filter:blur(12px);
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:84px;
  gap:20px;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--navy);
  font-weight:800;
  letter-spacing:-.04em;
}
.brand-mark {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:var(--navy);
  color:white;
  font-size:24px;
}
.brand-word {
  font:800 22px Manrope,sans-serif;
}
.brand-word span {
  display:block;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--purple);
}
.main-nav {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:13px;
  font-weight:700;
}
.nav-link {
  padding:10px 0;
}
.nav-link:hover,.footer-col a:hover {
  color:var(--purple);
}
.has-dropdown {
  position:relative;
}
.chevron {
  margin-left:5px;
}
.dropdown {
  display:none;
  position:absolute;
  top:100%;
  left:-18px;
  min-width:220px;
  padding:10px;
  background:white;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  border-radius:12px;
}
.dropdown a {
  display:block;
  padding:10px 12px;
  border-radius:8px;
}
.dropdown a:hover {
  background:var(--soft);
  color:var(--purple);
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown {
  display:block;
}
.button {
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  border-radius:9px;
  background:var(--purple);
  color:#fff;
  font-weight:700;
  font-size:14px;
  box-shadow:0 8px 18px #7030a026;
  transition:.2s;
}
.button:hover {
  transform:translateY(-2px);
  background:#5e258b;
}
.button-small {
  padding:11px 15px;
}
.button-ghost {
  background:transparent;
  color:var(--navy);
  border:1px solid #cbd4e3;
  box-shadow:none;
}
.button-white {
  background:white;
  color:var(--navy);
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  padding:8px;
}
.menu-toggle span {
  display:block;
  width:24px;
  height:2px;
  background:var(--navy);
  margin:5px;
}
.home-hero {
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,#f8faff 0%,#fff 58%,#f3effa 100%);
  padding:86px 0 78px;
}
.home-hero-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--purple);
  font-size:11px;
  font-weight:800;
  margin:0 0 16px;
}
.eyebrow-dot {
  display:inline-block;
  width:7px;
  height:7px;
  background:var(--purple);
  border-radius:50%;
  margin-right:8px;
}
h1,h2,h3 {
  font-family:Manrope,Arial,sans-serif;
  line-height:1.15;
  letter-spacing:-.04em;
  color:var(--navy);
}
h1 {
  font-size:clamp(38px,5vw,64px);
  margin:0 0 22px;
  font-weight:800;
}
h1 em {
  font-style:normal;
  color:var(--purple);
}
h2 {
  font-size:clamp(28px,3.5vw,42px);
  margin:0 0 22px;
}
h3 {
  font-size:20px;
  margin:0 0 12px;
}
.hero-lead {
  font-size:18px;
  line-height:1.7;
  color:#52617b;
  max-width:600px;
}
.hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:28px 0;
}
.hero-proof {
  display:flex;
  align-items:center;
  gap:10px;
  color:#53617a;
  font-size:13px;
}
.proof-dot {
  width:8px;
  height:8px;
  background:#38a67b;
  border-radius:50%;
}
.home-visual {
  min-height:410px;
  position:relative;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:radial-gradient(circle at 50% 45%,#fff 0 15%,#f0edf8 16% 38%,#e8eef9 39% 100%);
  border:1px solid #e1e6f2;
  box-shadow:var(--shadow);
}
.visual-label,.visual-bottom {
  position:absolute;
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  color:#687691;
}
.visual-label {
  top:28px;
}
.visual-bottom {
  bottom:24px;
}
.visual-ring {
  position:absolute;
  border:1px solid #c9cfe0;
  border-radius:50%;
  width:245px;
  height:245px;
}
.ring-2 {
  width:330px;
  height:330px;
  border-style:dashed;
}
.visual-center {
  width:132px;
  height:132px;
  border-radius:50%;
  background:var(--navy);
  color:white;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:1;
  box-shadow:0 15px 45px #00206033;
}
.visual-logo {
  font-size:32px;
  font-weight:800;
  color:#cdb7e4;
}
.visual-center strong {
  font-size:13px;
}
.visual-center small {
  font-size:10px;
  opacity:.7;
}
.visual-node {
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  background:white;
  padding:10px 14px;
  border-radius:12px;
  box-shadow:var(--shadow);
  font-size:12px;
  font-weight:700;
}
.visual-node b {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  background:#f1eafa;
  color:var(--purple);
  border-radius:8px;
}
.node-1 {
  top:19%;
  left:12%;
}
.node-2 {
  top:20%;
  right:10%;
}
.node-3 {
  bottom:20%;
  right:8%;
}
.node-4 {
  bottom:19%;
  left:10%;
}
.trust-strip {
  border-block:1px solid var(--line);
  background:white;
}
.trust-inner {
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  padding:24px 0;
  color:#6a758b;
  font-size:12px;
  font-weight:700;
  flex-wrap:wrap;
}
.trust-label {
  color:var(--purple);
  letter-spacing:.13em;
  font-size:10px;
}
.section {
  padding:86px 0;
}
.section-soft {
  background:var(--soft);
}
.pillar-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:36px;
}
.pillar-card {
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:white;
  transition:.2s;
}
.pillar-card:hover {
  transform:translateY(-5px);
  box-shadow:var(--shadow);
  border-color:#d1c1e3;
}
.card-number {
  font-size:11px;
  color:#7d8aa2;
  font-weight:800;
}
.pillar-icon {
  align-self:flex-end;
  font-size:27px;
  color:var(--purple);
  margin-top:-14px;
}
.pillar-card h3 {
  margin-top:25px;
}
.pillar-card p,.step-card p,.reason-grid p {
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
}
.card-link {
  margin-top:auto;
  padding-top:14px;
  font-size:12px;
  font-weight:800;
  color:var(--purple);
}
.feature-band {
  background:var(--navy);
  color:white;
  padding:78px 0;
}
.feature-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:80px;
  align-items:center;
}
.feature-band h2 {
  color:white;
}
.feature-band p {
  color:#d3dced;
  max-width:660px;
}
.eyebrow-light {
  color:#c6a8e4;
}
.bundle-visual {
  position:relative;
  padding-left:26px;
  border-left:1px solid #6b7da4;
}
.bundle-step {
  position:relative;
  margin:15px 0;
  padding:17px 20px;
  background:#ffffff0d;
  border:1px solid #ffffff25;
  border-radius:12px;
}
.bundle-step span {
  color:#c5a3e5;
  font-size:12px;
  font-weight:800;
  margin-right:14px;
}
.bundle-step b {
  font-size:15px;
}
.bundle-step small {
  display:block;
  margin-left:37px;
  color:#b7c4dc;
}
.steps-grid,.reason-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:34px;
}
.step-card {
  border-top:2px solid #d9c8ea;
  padding-top:18px;
}
.step-card>span,.reason-grid article>span {
  color:var(--purple);
  font-size:12px;
  font-weight:800;
}
.reason-grid {
  grid-template-columns:repeat(3,1fr);
}
.reason-grid article {
  padding:22px;
  border-radius:15px;
  background:#fff;
  border:1px solid var(--line);
}
.story-block {
  display:flex;
  align-items:center;
  gap:30px;
  padding:28px;
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  max-width:850px;
}
.story-block p {
  color:var(--muted);
}
.story-mark {
  font:800 32px Manrope;
  color:var(--purple);
  min-width:100px;
}
.story-mark span {
  font-size:13px;
  color:#a9b3c5;
}
.cta-band {
  background:linear-gradient(115deg,#7030a0,#002060);
  color:white;
  padding:55px 0;
}
.cta-inner {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
.cta-inner h2 {
  color:white;
  max-width:760px;
}
.cta-inner p {
  color:#e3dcef;
}
.site-footer {
  background:#07152e;
  color:#c8d2e6;
  padding:58px 0 20px;
}
.footer-main {
  display:grid;
  grid-template-columns:1.5fr .7fr .8fr 1.1fr;
  gap:38px;
  padding-bottom:38px;
}
.brand-light {
  color:white;
}
.brand-light .brand-mark {
  background:var(--purple);
}
.brand-light .brand-word span {
  color:#c8a5e7;
}
.footer-brand p,.footer-news p {
  font-size:13px;
  line-height:1.8;
  color:#aab7ce;
}
.footer-address {
  font-size:12px;
  line-height:1.9;
  margin:20px 0;
  color:#b7c4d9;
}
.footer-col {
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:12px;
}
.footer-col h3 {
  font-size:13px;
  color:white;
  letter-spacing:0;
  margin:4px 0 10px;
}
.footer-bottom {
  border-top:1px solid #263552;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:#93a2bd;
}
.footer-bottom div {
  display:flex;
  gap:18px;
}
.text-link {
  color:white;
  font-size:12px;
  font-weight:700;
}
.whatsapp {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:8;
  background:#1d9c68;
  color:white;
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border-radius:30px;
  box-shadow:0 10px 28px #0002;
  font-size:12px;
}
.whatsapp span {
  font-size:18px;
}
.page-hero {
  padding:70px 0 62px;
  background:linear-gradient(120deg,#f7f9ff,#f1ebf8);
  border-bottom:1px solid var(--line);
}
.page-hero h1 {
  font-size:clamp(34px,4.3vw,54px);
  max-width:900px;
}
.page-hero p {
  font-size:17px;
  color:var(--muted);
  max-width:780px;
}
.breadcrumbs {
  font-size:12px;
  color:#79859a;
  margin-bottom:20px;
}
.content-wrap {
  padding:62px 0 85px;
}
.content-grid {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(230px,1fr);
  gap:50px;
}
.prose h2 {
  font-size:28px;
  margin:36px 0 14px;
}
.prose p,.prose li {
  color:#586780;
  line-height:1.85;
}
.prose ul {
  padding-left:22px;
}
.info-card {
  background:var(--soft);
  border:1px solid var(--line);
  padding:25px;
  border-radius:16px;
  height:max-content;
}
.info-card h3 {
  font-size:18px;
}
.info-card .button {
  margin-top:10px;
}
.service-list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px;
}
.service-item {
  padding:24px;
  border:1px solid var(--line);
  border-radius:15px;
  background:white;
}
.service-item p {
  font-size:14px;
  color:var(--muted);
}
.faq-item {
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.faq-item h3 {
  font-size:17px;
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.field.full {
  grid-column:1/-1;
}
.field label {
  font-size:13px;
  font-weight:700;
}
.field input,.field select,.field textarea {
  width:100%;
  border:1px solid #ccd5e4;
  border-radius:8px;
  padding:13px;
  font:inherit;
  background:white;
}
.field textarea {
  min-height:140px;
}
.consent {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
  color:var(--muted);
  margin:18px 0;
}
.contact-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
}
.map-frame {
  width:100%;
  height:310px;
  border:0;
  border-radius:15px;
}
.empty-state {
  padding:35px;
  border:1px dashed #cbd4e3;
  border-radius:15px;
  color:var(--muted);
  background:#fff;
}
.notice {
  padding:14px 18px;
  background:#f2edf9;
  border-left:3px solid var(--purple);
  border-radius:7px;
  color:#51416b;
  font-size:13px;
}
.legal-note {
  font-size:12px;
  color:#8b96a9;
}
.site-header .active {
  color:var(--purple);
}
@media(max-width:1000px) {
  .main-nav {
    gap:12px;
    font-size:12px;
  }
  .pillar-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .footer-main {
    grid-template-columns:repeat(2,1fr);
  }
  .home-hero-grid {
    gap:28px;
  }
  .steps-grid {
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px) {
  .topbar-inner {
    display:block;
  }
  .topbar-links {
    margin-top:5px;
    gap:10px;
  }
  .header-inner {
    min-height:70px;
  }
  .menu-toggle {
    display:block;
  }
  .main-nav {
    display:none;
    position:absolute;
    top:70px;
    left:0;
    right:0;
    padding:20px;
    background:white;
    box-shadow:var(--shadow);
    align-items:stretch;
    flex-direction:column;
    gap:6px;
  }
  .main-nav.open {
    display:flex;
  }
  .dropdown {
    position:static;
    box-shadow:none;
    border:0;
    padding:0 0 0 15px;
  }
  .has-dropdown:hover .dropdown {
    display:block;
  }
  .home-hero {
    padding:54px 0;
  }
  .home-hero-grid,.feature-grid,.content-grid,.contact-layout {
    grid-template-columns:1fr;
  }
  .home-visual {
    min-height:340px;
  }
  .visual-ring {
    width:205px;
    height:205px;
  }
  .ring-2 {
    width:270px;
    height:270px;
  }
  .trust-inner {
    justify-content:flex-start;
  }
  .section {
    padding:58px 0;
  }
  .pillar-grid,.service-list,.reason-grid {
    grid-template-columns:1fr;
  }
  .feature-grid {
    gap:25px;
  }
  .cta-inner {
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-main {
    grid-template-columns:1fr;
    gap:26px;
  }
  .footer-bottom {
    flex-direction:column;
  }
  .form-grid {
    grid-template-columns:1fr;
  }
  .field.full {
    grid-column:auto;
  }
  .page-hero {
    padding:50px 0;
  }
  .story-block {
    align-items:flex-start;
    flex-direction:column;
  }
  .steps-grid {
    grid-template-columns:1fr;
  }
  .whatsapp {
    right:12px;
    bottom:12px;
  }
}
/* Consua theme visual alignment — adapted from the supplied original WordPress theme */
:root {
  --purple:#7030A0;
  --navy:#1D2027;
  --ink:#252525;
  --muted:#666666;
  --line:#e7e7e7;
  --soft:#f7f7f7;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:4px;
}
body {
  font-family:'Outfit','Manrope',Arial,sans-serif;
  color:#666;
  line-height:1.75;
  font-size:16px;
}
h1,h2,h3 {
  font-family:'Outfit','Manrope',Arial,sans-serif;
  color:#0e0e0e;
  letter-spacing:0;
  font-weight:600;
  line-height:1.2;
}
h1 {
  font-size:clamp(36px,4.2vw,58px);
  font-weight:600;
}
h2 {
  font-size:clamp(28px,3vw,38px);
  font-weight:600;
}
h3 {
  font-size:21px;
  font-weight:600;
}
.topbar {
  background:#111318;
  color:#e5e5e5;
  font-size:12px;
}
.site-header {
  background:#fff;
  border-bottom:1px solid #eee;
  backdrop-filter:none;
  box-shadow:0 2px 12px rgba(0,0,0,.035);
}
.header-inner {
  min-height:78px;
}
.brand {
  color:#1d2027;
  letter-spacing:0;
}
.brand-mark {
  background:#7030A0;
  border-radius:50%;
  width:36px;
  height:36px;
  font-size:21px;
}
.brand-word {
  font-family:'Outfit',Arial,sans-serif;
  font-size:21px;
  letter-spacing:0;
}
.brand-word span {
  color:#7030A0;
  letter-spacing:.12em;
  font-size:10px;
}
.main-nav {
  gap:20px;
  font-size:13px;
  font-weight:500;
}
.nav-link:hover,.footer-col a:hover {
  color:#7030A0;
}
.dropdown {
  border-radius:2px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  border-color:#eee;
}
.dropdown a:hover {
  background:#f7f7f7;
  color:#7030A0;
}
.button {
  background:#7030A0;
  border-radius:2px;
  box-shadow:none;
  padding:13px 22px;
  font-weight:500;
  letter-spacing:.01em;
}
.button:hover {
  background:#5B267F;
  transform:translateY(-1px);
}
.button-ghost {
  background:transparent;
  color:#1d2027;
  border:1px solid #ddd;
}
.button-ghost:hover {
  background:#1d2027;
  color:#fff;
}
.button-white {
  background:#fff;
  color:#1d2027;
}
.button-white:hover {
  background:#f3f3f3;
  color:#7030A0;
}
.home-hero {
  background:#f7f7f7;
  padding:76px 0 72px;
}
.home-hero-grid {
  gap:54px;
}
.eyebrow {
  color:#7030A0;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:600;
}
.eyebrow-dot {
  background:#7030A0;
}
h1 em {
  color:#7030A0;
}
.hero-lead {
  color:#666;
  font-size:17px;
}
.home-visual {
  background:linear-gradient(135deg,#222831 0%,#12151a 100%);
  border:0;
  border-radius:0;
  box-shadow:0 18px 38px rgba(0,0,0,.13);
  color:#fff;
}
.visual-label,.visual-bottom {
  color:#d8d8d8;
}
.visual-ring {
  border-color:#6d6d6d;
}
.visual-center {
  background:#7030A0;
  border-radius:50%;
  box-shadow:0 12px 35px rgba(112,48,160,.25);
}
.visual-logo {
  color:#fff;
}
.visual-node {
  border-radius:2px;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.visual-node b {
  background:#f2eafa;
  color:#7030A0;
  border-radius:2px;
}
.trust-strip {
  border-color:#eee;
}
.trust-label,.card-link,.card-number,.pillar-icon {
  color:#7030A0;
}
.section {
  padding:78px 0;
}
.section-soft {
  background:#f7f7f7;
}
.pillar-grid {
  gap:22px;
}
.pillar-card {
  border-radius:2px;
  border-color:#e7e7e7;
  box-shadow:0 2px 12px rgba(0,0,0,.025);
}
.pillar-card:hover {
  border-color:#7030A0;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.feature-band {
  background:#1d2027;
  padding:72px 0;
}
.eyebrow-light {
  color:#d8bde9;
}
.bundle-visual {
  border-color:#5d6067;
}
.bundle-step {
  border-radius:2px;
  background:#ffffff08;
  border-color:#ffffff20;
}
.bundle-step span {
  color:#d8bde9;
}
.reason-grid article,.service-item,.info-card,.story-block {
  border-radius:2px;
}
.reason-grid article {
  box-shadow:0 2px 12px rgba(0,0,0,.025);
}
.story-mark {
  color:#7030A0;
}
.cta-band {
  background:linear-gradient(110deg,#7030A0,#4E1D70);
  padding:50px 0;
}
.site-footer {
  background:#111318;
}
.brand-light .brand-mark {
  background:#7030A0;
}
.brand-light .brand-word span {
  color:#d8bde9;
}
.page-hero {
  background:#f7f7f7;
  border-bottom:1px solid #eee;
}
.page-hero h1 {
  font-weight:600;
}
.content-wrap {
  padding:58px 0 80px;
}
.field input,.field select,.field textarea {
  border-radius:2px;
  border-color:#ddd;
}
.field input:focus,.field select:focus,.field textarea:focus {
  border-color:#7030A0;
  outline:2px solid #7030A022;
}
.whatsapp {
  border-radius:2px;
  box-shadow:0 6px 20px rgba(0,0,0,.16);
}
@media(max-width:980px) {
  .main-nav {
    gap:12px;
  }
  .header-inner {
    gap:12px;
  }
}
@media(max-width:780px) {
  .home-hero {
    padding:52px 0;
  }
  .home-visual {
    min-height:340px;
  }
  .section {
    padding:58px 0;
  }
}
/* Leadership contact cards */
.team-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  margin:2rem 0;
}
.team-card {
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:1.5rem;
  background:#fff;
}
.team-card h3 {
  margin-top:0;
  color:#7030A0;
}
.team-role {
  font-weight:600;
  color:#7030A0;
}
.team-card a {
  overflow-wrap:anywhere;
}
@media(max-width:760px) {
  .team-grid {
    grid-template-columns:1fr;
  }
}
/* DOZEN brand color correction: all red accents use brand purple */
.brand-mark,.brand-light .brand-mark {
  background:#7030A0!important;
}
.brand-word span,.brand-light .brand-word span {
  color:#7030A0!important;
}
.button,.main-nav .button,.site-header .button,[class*="talk-to-us"],[class*="talk_to_us"] {
  background:#7030A0!important;
  color:#fff!important;
}
.button:hover,.main-nav .button:hover,.site-header .button:hover,[class*="talk-to-us"]:hover,[class*="talk_to_us"]:hover {
  background:#5B267F!important;
  color:#fff!important;
}
.demo-photo {
  width:100%;
  height:clamp(280px,32vw,440px);
  overflow:hidden;
  background:#f3eff8;
}
.demo-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
}
.home-photo {
  height:clamp(320px,38vw,500px);
}
.home-photo img {
  height:100%;
  object-position:center 42%;
}
.inner-photo {
  height:clamp(280px,30vw,400px);
}
.inner-photo img {
  height:100%;
  object-position:center 42%;
}
@media(max-width:760px) {
  .demo-photo {
    height:250px;
  }
  .home-photo,.inner-photo {
    height:260px;
  }
  .demo-photo img {
    height:100%;
    object-fit:cover;
  }
}
/* Phase 1 mandate corrections */
.topbar-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.topbar-location {
  color:inherit;
}
.topbar-social {
  display:inline-flex;
  gap:14px;
  align-items:center;
}
.topbar-social a {
  color:inherit;
  text-decoration:none;
  font-size:.82rem;
}
.content-card {
  background:#fff;
  border:1px solid #e6e7eb;
  border-radius:12px;
  padding:22px;
  margin:14px 0;
}
.contact-grid,.leadership-grid,.value-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.leadership-grid,.value-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.leader-photo {
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:14px;
}
.map-wrap {
  width:100%;
  height:300px;
  margin:20px 0 28px;
}
.map-wrap iframe {
  width:100%;
  height:100%;
  border:0;
  border-radius:10px;
}
.contact-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.contact-form label {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.contact-form input,.contact-form select,.contact-form textarea {
  width:100%;
  padding:12px;
  border:1px solid #cfd2d9;
  border-radius:5px;
  font:inherit;
}
.contact-form textarea {
  min-height:130px;
}
.contact-form .full-width {
  grid-column:1/-1;
}
.contact-form .consent {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
}
.contact-form .consent input {
  width:auto;
}
.faq-item {
  padding:14px 0;
  border-bottom:1px solid #ddd;
}
.faq-item summary {
  cursor:pointer;
  font-weight:600;
}
.inner-photo img {
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center;
}
.footer-address {
  font-size:.9rem;
  line-height:1.5;
}
@media(max-width:700px) {
  .contact-grid,.leadership-grid,.value-grid,.contact-form {
    grid-template-columns:1fr;
  }
  .contact-form .full-width {
    grid-column:auto;
  }
  .inner-photo img {
    height:220px;
  }
  .topbar-social {
    gap:8px;
  }
}

/* Original DOZEN logo */
.brand-logo {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}


/* Footer logo: original DOZEN mark with sufficient contrast on the dark footer. */
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-bottom: 12px;
}
.footer-logo-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 5px;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 8px;
  flex: 0 0 56px;
}
.footer-logo-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer-logo .brand-word {
  color: #ffffff;
  font-weight: 800;
  line-height: 1.1;
}
.footer-logo .brand-word span {
  display: block;
  margin-top: 4px;
  color: #cdb7e4;
  font-size: 10px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

/* Full original white logo in the dark footer */
.footer-logo { display:inline-flex; align-items:center; width:250px; max-width:100%; margin-bottom:18px; }
.footer-logo-full { display:block; width:100%; height:auto; object-fit:contain; }
.footer-logo-image { display:none; }
.footer-logo .brand-word { display:none; }
