
:root{
  --burgundy:#6E1423;
  --burgundy-2:#741B2B;
  --burgundy-dark:#4E0E18;
  --gold:#C79A3B;
  --gold-soft:#D7B96D;
  --charcoal:#1C1C1E;
  --charcoal-2:#27272A;
  --ivory:#F7F3EC;
  --stone:#D8CFC3;
  --paper:#FCFAF6;
  --white:#FFFFFF;
  --ink:#2A2525;
  --muted:#756D66;
  --line:#E3DBD1;
  --radius:24px;
  --shadow:0 18px 56px rgba(45,26,29,.14);
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.62;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
p{
  text-align:justify;
  text-justify:inter-word;
}
ul li{
  text-align:justify;
}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}

.topbar{
  background:var(--navy);
  color:#d7def0;
  font-size:.82rem;
}
.topbar-inner{
  min-height:38px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(17,24,39,.06);
}
.nav-wrap{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  font-weight:900;letter-spacing:-.03em;
  color:var(--white);
  background:linear-gradient(135deg,var(--blue),var(--teal));
  box-shadow:0 12px 28px rgba(110,20,35,.22);
}
.brand-copy{display:flex;flex-direction:column;line-height:1.08}
.brand-copy strong{font-size:1.18rem;letter-spacing:-.03em}
.brand-copy small{margin-top:4px;font-size:.72rem;color:var(--muted)}
.main-nav{display:flex;align-items:center;gap:26px;font-size:.94rem;font-weight:650}
.main-nav a{color:var(--ink)}
.main-nav a:hover{color:var(--blue)}
.nav-cta{
  padding:11px 16px;
  border-radius:999px;
  background:var(--navy);
  color:var(--white) !important;
}
.nav-toggle{display:none;background:transparent;border:0;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

.hero{
  position:relative;
  min-height:720px;
  color:var(--white);
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-media,.hero-media img{
  position:absolute;inset:0;width:100%;height:100%;
}
.hero-media img{object-fit:cover}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,11,22,.92) 0%,rgba(7,11,22,.80) 42%,rgba(7,11,22,.34) 76%,rgba(7,11,22,.16) 100%),
    linear-gradient(0deg,rgba(7,11,22,.48),rgba(7,11,22,.06));
}
.hero-content{position:relative;z-index:2;padding:96px 0}
.eyebrow,.section-kicker{
  font-size:.76rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
  color:var(--gold-soft);
}
.hero h1{
  max-width:860px;
  font-size:clamp(3.5rem,6.9vw,6.6rem);
  line-height:.96;
  letter-spacing:-.06em;
  margin:18px 0 26px;
}
.hero p{
  max-width:690px;
  font-size:1.12rem;
  color:#F6EEE7;
  margin:0 0 34px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  font-weight:800;
  transition:.2s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue),var(--burgundy-2));
  color:var(--white);
  box-shadow:0 14px 34px rgba(110,20,35,.24);
}
.btn-secondary{
  border:1px solid rgba(255,255,255,.4);
  color:var(--white);
  background:rgba(255,255,255,.06);
}
.btn:hover{transform:translateY(-2px)}

.section-pad{padding:102px 0}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:58px;
  align-items:start;
}
.intro h2,.section-head h2,.detail-copy h2,.cta h2{
  font-size:clamp(2.3rem,4vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:12px 0 20px;
}
.intro p{font-size:1.06rem;color:#5D5550}
.mosaic{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.mosaic figure{
  margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)
}
.mosaic figure:nth-child(1){grid-column:1 / -1}
.mosaic img{width:100%;height:260px;object-fit:cover}
.mosaic figure:nth-child(1) img{height:320px}

.dark{
  background:var(--navy);
  color:var(--white);
}
.section-head{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:60px;
  align-items:end;
  margin-bottom:36px;
}
.section-head p{color:var(--muted);margin:0}
.light-head p{color:#CFC5BA}
.light-head h2{color:var(--white)}

.cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.cat-grid a{
  padding:22px 20px 20px;
  border-radius:18px;
  background:var(--charcoal-2);
  border:1px solid rgba(255,255,255,.08);
  min-height:168px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:.2s ease;
}
.cat-grid a:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.cat-grid span{font-size:.72rem;color:var(--gold-soft);font-weight:850;letter-spacing:.12em}
.cat-grid strong{font-size:1.05rem;color:var(--white);line-height:1.28}
.cat-grid small{color:#CEC4BA;line-height:1.45}

.service-detail{border-top:1px solid #edf1f6}
.detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:58px;
  align-items:center;
}
.detail-grid.reverse .detail-image{order:2}
.detail-grid.reverse .detail-copy{order:1}
.detail-image img{
  width:100%;
  border-radius:24px;
  box-shadow:var(--shadow);
  min-height:430px;
  object-fit:cover;
}
.alt{background:var(--paper)}
.detail-copy p{font-size:1.03rem;color:#5D5550}
.mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:26px;
}
.mini-grid h3{
  margin:0 0 12px;
  font-size:1.05rem;
}
.mini-grid ul{
  margin:0;
  padding-left:18px;
  color:#6E655F;
}
.mini-grid li{margin:9px 0}

.engagements{background:#F2ECE5}
.offer-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.offer-grid article{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
}
.offer-grid span{
  color:var(--blue);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.12em;
}
.offer-grid h3{
  margin:26px 0 10px;
  font-size:1.35rem;
}
.offer-grid p{margin:0;color:#6C625C}

.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.process-grid div{
  border-top:1px solid rgba(255,255,255,.18);
  padding:28px 24px;
}
.process-grid span{color:var(--gold-soft);font-weight:850}
.process-grid h3{font-size:1.45rem;margin:36px 0 10px}
.process-grid p{color:#CEC4BA;margin:0}

.cta{
  background:linear-gradient(135deg,#10192f,var(--charcoal));
  color:var(--white);
}
.cta-inner{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  align-items:center;
}
.cta p{color:#E6DDD2}
.contact-card{
  background:var(--white);
  color:var(--ink);
  border-radius:22px;
  padding:28px;
}
.contact-card ul{
  margin:12px 0 0;
  padding-left:18px;
  color:#4f586a;
}
.contact-card li{margin:10px 0}

footer{
  background:#090f1a;
  color:#D7CEC3;
  padding:66px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:48px;
}
.footer-grid p{color:#A99D91}
.footer-grid strong{color:var(--white);display:block;margin-bottom:12px}
.footer-grid a{display:block;margin:7px 0;color:#B2A69B}
.footer-bottom{
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.84rem;
  color:#95897F;
}




.intro-simple-wrap{max-width:900px}
.intro-simple h2{max-width:760px}
.intro-simple p{max-width:860px}


/* =========================================================
   MOBILE + TABLET RESPONSIVE QA PATCH — v4
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  overflow-x:hidden;
}

img{
  height:auto;
}

[id]{
  scroll-margin-top:110px;
}

p,
ul li{
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
  text-align-last:left;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

.nav-wrap{
  position:relative;
}

.nav-toggle{
  min-width:44px;
  min-height:44px;
  border-radius:10px;
  cursor:pointer;
}

.nav-toggle:focus-visible,
.main-nav a:focus-visible,
.btn:focus-visible,
.cat-grid a:focus-visible{
  outline:3px solid rgba(199,154,59,.35);
  outline-offset:3px;
}

.detail-image{
  min-width:0;
}

.detail-image img{
  aspect-ratio:4 / 3;
  min-height:0;
}

.detail-copy,
.section-head > *,
.cta-inner > *,
.footer-grid > *{
  min-width:0;
}

/* Smaller desktop / landscape tablet */
@media (max-width:1080px){
  .container{
    width:min(var(--container),calc(100% - 48px));
  }

  .main-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 20px 55px rgba(17,24,39,.16);
    padding:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }

  .main-nav.open{
    display:flex;
  }

  .main-nav a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:10px 14px;
    border-radius:10px;
  }

  .main-nav a:hover{
    background:#F2ECE5;
  }

  .main-nav .nav-cta{
    justify-content:center;
    margin-top:4px;
  }

  .nav-toggle{
    display:block;
  }

  .hero{
    min-height:650px;
  }

  .hero h1{
    max-width:760px;
    font-size:clamp(3.35rem,7vw,5.7rem);
  }

  .hero p{
    max-width:620px;
  }

  .section-pad{
    padding:86px 0;
  }

  .split,
  .detail-grid,
  .cta-inner,
  .section-head{
    grid-template-columns:1fr;
    gap:32px;
  }

  .detail-grid.reverse .detail-image,
  .detail-grid.reverse .detail-copy{
    order:initial;
  }

  .detail-image img{
    width:100%;
    max-height:560px;
    object-fit:cover;
  }

  .cat-grid,
  .offer-grid,
  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-grid{
    grid-template-columns:1.15fr .85fr;
  }

  .footer-grid > div:last-child{
    grid-column:1 / -1;
  }
}

/* Portrait tablets */
@media (max-width:820px){
  .container{
    width:min(var(--container),calc(100% - 36px));
  }

  .topbar-inner{
    min-height:34px;
  }

  .nav-wrap{
    min-height:70px;
  }

  .brand-mark{
    width:40px;
    height:40px;
  }

  .hero{
    min-height:610px;
  }

  .hero-media img{
    object-position:62% center;
  }

  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(7,11,22,.94) 0%,rgba(7,11,22,.82) 55%,rgba(7,11,22,.45) 100%),
      linear-gradient(0deg,rgba(7,11,22,.50),rgba(7,11,22,.08));
  }

  .hero-content{
    padding:76px 0;
  }

  .hero h1{
    font-size:clamp(3rem,9vw,4.7rem);
    max-width:680px;
  }

  .hero p{
    font-size:1.05rem;
    max-width:600px;
  }

  .section-pad{
    padding:72px 0;
  }

  .intro h2,
  .section-head h2,
  .detail-copy h2,
  .cta h2{
    font-size:clamp(2.25rem,6.4vw,3.6rem);
  }

  .detail-grid{
    gap:30px;
  }

  .detail-image img{
    aspect-ratio:16 / 10;
    max-height:none;
  }

  .mini-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .cat-grid a{
    min-height:150px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:36px;
  }

  .footer-grid > div:first-child{
    grid-column:1 / -1;
  }

  .footer-grid > div:last-child{
    grid-column:auto;
  }
}

/* Phones */
@media (max-width:620px){
  .container{
    width:min(var(--container),calc(100% - 28px));
  }

  .topbar-inner{
    justify-content:center;
    text-align:center;
    font-size:.69rem;
    line-height:1.3;
    padding:7px 0;
  }

  .topbar-inner span:last-child{
    display:none;
  }

  .site-header{
    backdrop-filter:blur(12px);
  }

  .nav-wrap{
    min-height:66px;
  }

  .brand{
    gap:9px;
  }

  .brand-mark{
    width:38px;
    height:38px;
    border-radius:11px;
  }

  .brand-copy strong{
    font-size:1.05rem;
  }

  .brand-copy small{
    font-size:.66rem;
  }

  .main-nav{
    top:calc(100% + 8px);
    border-radius:14px;
  }

  .hero{
    min-height:570px;
    align-items:flex-end;
  }

  .hero-media img{
    object-position:66% center;
  }

  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(7,11,22,.95) 0%,rgba(7,11,22,.86) 68%,rgba(7,11,22,.62) 100%),
      linear-gradient(0deg,rgba(7,11,22,.72) 0%,rgba(7,11,22,.18) 100%);
  }

  .hero-content{
    padding:58px 0 62px;
  }

  .eyebrow,
  .section-kicker{
    font-size:.69rem;
    letter-spacing:.13em;
  }

  .hero h1{
    font-size:clamp(2.65rem,12vw,3.4rem);
    line-height:.98;
    letter-spacing:-.05em;
    margin:14px 0 20px;
  }

  .hero p{
    font-size:.98rem;
    line-height:1.58;
    margin-bottom:26px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn{
    width:100%;
    min-height:48px;
    padding:0 18px;
  }

  .section-pad{
    padding:62px 0;
  }

  .intro h2,
  .section-head h2,
  .detail-copy h2,
  .cta h2{
    font-size:clamp(2.05rem,10vw,2.8rem);
    line-height:1.04;
    letter-spacing:-.04em;
  }

  .section-head{
    gap:20px;
    margin-bottom:28px;
  }

  .cat-grid,
  .offer-grid,
  .process-grid{
    grid-template-columns:1fr;
  }

  .cat-grid{
    gap:12px;
  }

  .cat-grid a{
    min-height:0;
    padding:20px 18px;
  }

  .detail-grid{
    gap:24px;
  }

  .detail-image img{
    aspect-ratio:4 / 3;
    border-radius:18px;
  }

  .detail-copy p,
  .intro p{
    font-size:1rem;
  }

  .mini-grid{
    gap:14px;
    margin-top:20px;
  }

  .mini-grid > div{
    padding:18px;
    border-radius:16px;
    background:#F4EFE8;
    border:1px solid var(--line);
  }

  .alt .mini-grid > div{
    background:var(--white);
  }

  .mini-grid ul{
    padding-left:20px;
  }

  .offer-grid article{
    padding:24px 22px;
  }

  .process-grid{
    gap:8px;
  }

  .process-grid div{
    padding:22px 4px 26px;
  }

  .process-grid h3{
    margin:24px 0 8px;
  }

  .contact-card{
    padding:22px;
    border-radius:18px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .footer-grid > div:first-child,
  .footer-grid > div:last-child{
    grid-column:auto;
  }

  .footer-bottom{
    flex-direction:column;
    gap:8px;
    text-align:left;
  }
}

/* Small phones */
@media (max-width:390px){
  .container{
    width:min(var(--container),calc(100% - 22px));
  }

  .brand-copy small{
    max-width:150px;
  }

  .hero h1{
    font-size:2.45rem;
  }

  .hero p{
    font-size:.94rem;
  }

  .section-pad{
    padding:54px 0;
  }

  .intro h2,
  .section-head h2,
  .detail-copy h2,
  .cta h2{
    font-size:2rem;
  }
}


/* =========================================================
   START WITH BIZX FORM + THANK YOU — v5
   ========================================================= */

.contact-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:64px;
  align-items:start;
}

.contact-intro h2{
  font-size:clamp(2.5rem,4.3vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:12px 0 20px;
}

.contact-intro p{
  color:#E6DDD2;
}

.contact-highlights{
  display:grid;
  gap:14px;
  margin-top:34px;
}

.contact-highlights > div{
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:16px;
}

.contact-highlights strong{
  display:block;
  color:var(--white);
  margin-bottom:4px;
}

.contact-highlights span{
  display:block;
  color:#aeb8cc;
  font-size:.92rem;
}

.form-card{
  background:var(--white);
  color:var(--ink);
  border-radius:24px;
  padding:32px;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.field{
  min-width:0;
}

.field-full{
  grid-column:1 / -1;
}

.field label{
  display:block;
  margin:0 0 8px;
  font-size:.88rem;
  font-weight:800;
  color:var(--ink);
}

.field label span{
  color:var(--blue);
}

.field input,
.field select,
.field textarea{
  width:100%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:12px;
  padding:13px 14px;
  font:inherit;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.field select{
  min-height:50px;
}

.field textarea{
  resize:vertical;
  min-height:150px;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--gold);
  background:var(--white);
  box-shadow:0 0 0 4px rgba(199,154,59,.14);
}

.consent{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-weight:600 !important;
  color:#6A625D !important;
  cursor:pointer;
}

.consent input{
  width:18px;
  height:18px;
  margin:2px 0 0;
  flex:0 0 auto;
}

.consent span{
  color:#6A625D !important;
}

.submit-btn{
  width:100%;
  min-height:52px;
  margin-top:20px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--burgundy-2));
  color:var(--white);
  font:inherit;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(110,20,35,.22);
}

.submit-btn:hover{
  transform:translateY(-1px);
}

.submit-btn:focus-visible{
  outline:3px solid rgba(199,154,59,.35);
  outline-offset:3px;
}

.form-note{
  margin:14px 0 0;
  color:#847B74 !important;
  font-size:.78rem;
  line-height:1.45;
  text-align:left !important;
}

.hidden-field{
  display:none;
}

/* Thank you page */
.thank-you-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top left,rgba(88,118,255,.16),transparent 34%),
    linear-gradient(135deg,#f7f9ff,#eef3fb);
}

.thank-you-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 20px;
}

.thank-you-card{
  width:min(720px,100%);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:28px;
  padding:48px;
  box-shadow:0 26px 80px rgba(17,24,39,.12);
}

.thank-you-brand{
  margin-bottom:42px;
}

.thank-you-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(199,154,59,.14);
  color:#179d92;
  font-size:1.7rem;
  font-weight:900;
  margin-bottom:20px;
}

.thank-you-card h1{
  font-size:clamp(2.4rem,6vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:12px 0 20px;
}

.thank-you-card p{
  color:#5F5752;
}

.thank-you-muted{
  font-size:.92rem;
  color:#857C75 !important;
}

.thank-you-muted a{
  color:var(--blue);
  font-weight:800;
}

.thank-you-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.thank-you-secondary{
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
}

@media (max-width:1080px){
  .contact-layout{
    grid-template-columns:1fr;
    gap:36px;
  }

  .contact-intro{
    max-width:760px;
  }
}

@media (max-width:620px){
  .form-card{
    padding:22px;
    border-radius:18px;
  }

  .form-grid{
    grid-template-columns:1fr;
    gap:15px;
  }

  .field-full{
    grid-column:auto;
  }

  .contact-intro h2{
    font-size:clamp(2.05rem,10vw,2.8rem);
  }

  .thank-you-card{
    padding:28px 22px;
    border-radius:20px;
  }

  .thank-you-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .thank-you-actions .btn{
    width:100%;
  }
}


/* Six-category BizX architecture — v6 */
.six-cat-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.six-cat-grid a{
  min-height:178px;
}
@media (max-width:1080px){
  .six-cat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:620px){
  .six-cat-grid{
    grid-template-columns:1fr;
  }
  .six-cat-grid a{
    min-height:0;
  }
}


/* =========================================================
   BIZX LOCKED BRAND PALETTE — v7
   Deep Burgundy / Warm Gold / Charcoal / Ivory / Stone
   ========================================================= */

body{
  background:var(--ivory);
  color:var(--ink);
}

.topbar{
  background:var(--charcoal);
  color:#E8E0D7;
}

.site-header{
  background:rgba(247,243,236,.94);
  border-bottom:1px solid rgba(110,20,35,.08);
}

.brand-mark{
  background:linear-gradient(135deg,var(--burgundy),var(--burgundy-2));
  color:var(--ivory);
  box-shadow:0 12px 28px rgba(110,20,35,.22);
}

.brand-copy small{
  color:var(--muted);
}

.main-nav a{
  color:#3A3331;
}

.main-nav a:hover{
  color:var(--burgundy);
}

.nav-cta{
  background:var(--burgundy);
  color:var(--ivory)!important;
}

.hero-overlay{
  background:
    linear-gradient(90deg,rgba(78,14,24,.94) 0%,rgba(110,20,35,.86) 42%,rgba(110,20,35,.46) 76%,rgba(28,28,30,.18) 100%),
    linear-gradient(0deg,rgba(28,28,30,.40),rgba(28,28,30,.04));
}

.eyebrow,
.section-kicker{
  color:var(--gold-soft);
}

.hero h1,
.hero p{
  color:var(--ivory);
}

.btn-primary,
.submit-btn{
  background:linear-gradient(135deg,var(--burgundy),var(--burgundy-2));
  color:var(--ivory);
  box-shadow:0 14px 34px rgba(110,20,35,.24);
}

.btn-secondary{
  border-color:rgba(247,243,236,.42);
  color:var(--ivory);
  background:rgba(247,243,236,.06);
}

.intro,
.service-detail,
.engagements{
  background:var(--ivory);
}

.alt{
  background:#F1EBE3;
}

.intro p,
.detail-copy p,
.section-head p,
.offer-grid p,
.contact-intro p{
  color:#5F5752;
}

.dark{
  background:var(--charcoal);
  color:var(--ivory);
}

.light-head h2{
  color:var(--ivory);
}

.light-head p{
  color:#CFC5BA;
}

.cat-grid a{
  background:#272225;
  border-color:rgba(199,154,59,.14);
}

.cat-grid a:hover{
  border-color:rgba(199,154,59,.36);
  box-shadow:0 12px 34px rgba(0,0,0,.12);
}

.cat-grid span{
  color:var(--gold);
}

.cat-grid strong{
  color:var(--ivory);
}

.cat-grid small{
  color:#CEC4BA;
}

.detail-image img{
  box-shadow:0 18px 56px rgba(78,14,24,.13);
}

.mini-grid h3,
.offer-grid h3,
.process-grid h3{
  color:var(--burgundy);
}

.mini-grid ul{
  color:#6A625D;
}

.offer-grid article{
  background:#FFFDFC;
  border-color:var(--line);
}

.offer-grid span,
.process-grid span{
  color:var(--gold);
}

.process-grid div{
  border-top-color:rgba(199,154,59,.28);
}

.process-grid h3{
  color:var(--ivory);
}

.process-grid p{
  color:#CEC4BA;
}

.cta{
  background:linear-gradient(135deg,var(--charcoal),#24191B 55%,var(--burgundy-dark));
  color:var(--ivory);
}

.contact-highlights > div{
  border-top-color:rgba(199,154,59,.24);
}

.contact-highlights strong{
  color:var(--ivory);
}

.contact-highlights span{
  color:#CFC5BA;
}

.form-card,
.contact-card{
  background:#FFFDFC;
  color:var(--ink);
  box-shadow:0 24px 70px rgba(40,20,24,.18);
}

.field label span{
  color:var(--burgundy);
}

.field input,
.field select,
.field textarea{
  border-color:var(--line);
  background:var(--paper);
  color:var(--ink);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--gold);
  background:#FFFDFC;
  box-shadow:0 0 0 4px rgba(199,154,59,.14);
}

.submit-btn:focus-visible,
.nav-toggle:focus-visible,
.main-nav a:focus-visible,
.btn:focus-visible,
.cat-grid a:focus-visible{
  outline-color:rgba(199,154,59,.38);
}

footer{
  background:var(--charcoal);
  color:#D8CEC4;
}

footer .brand-copy strong{
  color:var(--ivory);
}

footer .brand-copy small{
  color:#A99D91;
}

.footer-grid strong{
  color:var(--ivory);
}

.footer-grid a{
  color:#BCAF9F;
}

.footer-grid a:hover{
  color:var(--gold-soft);
}

.footer-bottom{
  border-top-color:rgba(199,154,59,.18);
  color:#94887F;
}

.thank-you-page{
  background:
    radial-gradient(circle at top left,rgba(199,154,59,.16),transparent 34%),
    linear-gradient(135deg,var(--ivory),#EFE6DC);
}

.thank-you-card{
  background:#FFFDFC;
  border-color:var(--line);
  box-shadow:0 26px 80px rgba(78,14,24,.12);
}

.thank-you-icon{
  background:rgba(199,154,59,.16);
  color:var(--burgundy);
}

.thank-you-muted a{
  color:var(--burgundy);
}

.thank-you-secondary{
  border-color:var(--line);
  background:#FFFDFC;
  color:var(--burgundy);
}

/* Tablet/mobile menu in BizX palette */
@media (max-width:1080px){
  .main-nav{
    background:var(--ivory);
    border-color:var(--line);
  }

  .main-nav a:hover{
    background:#EFE7DE;
  }
}

@media (max-width:820px){
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(78,14,24,.95) 0%,rgba(110,20,35,.88) 58%,rgba(110,20,35,.56) 100%),
      linear-gradient(0deg,rgba(28,28,30,.45),rgba(28,28,30,.08));
  }
}

@media (max-width:620px){
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(78,14,24,.96) 0%,rgba(110,20,35,.91) 68%,rgba(110,20,35,.72) 100%),
      linear-gradient(0deg,rgba(28,28,30,.62) 0%,rgba(28,28,30,.14) 100%);
  }

  .mini-grid > div{
    background:#F2ECE5;
    border-color:var(--line);
  }

  .alt .mini-grid > div{
    background:#FFFDFC;
  }
}


/* =========================================================
   BIZX HORIZONTAL LOGO IN HEADER / FOOTER — v8
   ========================================================= */

.brand-image{
  gap:0;
}

.brand-logo{
  display:block;
  height:58px;
  width:auto;
  max-width:min(100%, 360px);
}

.footer-brand-image{
  margin-bottom:10px;
}

.footer-logo{
  height:66px;
  max-width:320px;
}

.thank-you-logo{
  height:72px;
  max-width:340px;
}

@media (max-width:1080px){
  .brand-logo{
    height:54px;
    max-width:320px;
  }

  .footer-logo{
    height:62px;
  }
}

@media (max-width:820px){
  .brand-logo{
    height:50px;
    max-width:280px;
  }

  .footer-logo{
    height:58px;
  }

  .thank-you-logo{
    height:64px;
    max-width:300px;
  }
}

@media (max-width:620px){
  .brand-logo{
    height:42px;
    max-width:240px;
  }

  .footer-logo{
    height:50px;
    max-width:260px;
  }

  .thank-you-logo{
    height:54px;
    max-width:260px;
  }
}

@media (max-width:390px){
  .brand-logo{
    height:38px;
    max-width:220px;
  }

  .footer-logo{
    height:46px;
  }
}


/* =========================================================
   LOGO SCALE + DARK FOOTER READABILITY — v9
   ========================================================= */

/* Header: make BizX identity more confident and visible */
.nav-wrap{
  min-height:96px;
}

.brand-logo{
  height:78px;
  max-width:470px;
}

.site-header .brand-image{
  flex:0 0 auto;
}

/* Footer: larger logo with a subtle ivory backing so navy/gold remains legible */
.footer-brand-image{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:16px;
  background:rgba(247,243,236,.96);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
  margin-bottom:18px;
}

.footer-logo{
  height:88px;
  max-width:420px;
}

/* Dark footer text: warm gold / ivory for stronger readability */
footer{
  color:var(--gold-soft);
}

.footer-grid p{
  color:#D9BE78;
}

.footer-grid strong{
  color:var(--gold);
}

.footer-grid a{
  color:#E5C76F;
}

.footer-grid a:hover{
  color:var(--ivory);
}

.footer-bottom{
  color:#C9A95B;
  border-top-color:rgba(199,154,59,.28);
}

/* Tablet */
@media (max-width:1080px){
  .nav-wrap{
    min-height:90px;
  }

  .brand-logo{
    height:70px;
    max-width:420px;
  }

  .main-nav{
    top:calc(100% + 10px);
  }

  .footer-logo{
    height:82px;
    max-width:390px;
  }
}

/* Portrait tablet */
@media (max-width:820px){
  .nav-wrap{
    min-height:82px;
  }

  .brand-logo{
    height:62px;
    max-width:360px;
  }

  .footer-logo{
    height:74px;
    max-width:340px;
  }
}

/* Phones */
@media (max-width:620px){
  .nav-wrap{
    min-height:74px;
  }

  .brand-logo{
    height:52px;
    max-width:285px;
  }

  .footer-brand-image{
    padding:9px 12px;
  }

  .footer-logo{
    height:62px;
    max-width:300px;
  }
}

/* Small phones */
@media (max-width:390px){
  .brand-logo{
    height:46px;
    max-width:245px;
  }

  .footer-logo{
    height:56px;
    max-width:265px;
  }
}


/* =========================================================
   HEADER LOGO SCALE + LIGHTER FOOTER REFINEMENT — v10
   ========================================================= */

/* Make the BizX logo in the header more prominent */
.nav-wrap{
  min-height:112px;
}

.brand-logo{
  height:96px;
  max-width:560px;
}

/* Footer: remove the boxed logo treatment and lighten the whole footer */
footer{
  background:linear-gradient(180deg,#E7DDD1 0%, #DDD0C1 100%);
  color:var(--ink);
}

.footer-brand-image{
  display:block;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin-bottom:16px;
}

.footer-logo{
  height:92px;
  max-width:460px;
}

.footer-grid p{
  color:#4E4642;
}

.footer-grid strong{
  color:var(--burgundy);
}

.footer-grid a{
  color:#5A2A33;
}

.footer-grid a:hover{
  color:var(--burgundy-2);
}

.footer-bottom{
  color:#6D4E36;
  border-top-color:rgba(110,20,35,.12);
}

footer .brand-copy strong{
  color:var(--burgundy);
}

footer .brand-copy small{
  color:#7D6F63;
}

/* Keep footer logo image clean on the lighter background */
.footer-brand-image img{
  box-shadow:none;
}

/* Tablet */
@media (max-width:1080px){
  .nav-wrap{
    min-height:102px;
  }

  .brand-logo{
    height:86px;
    max-width:500px;
  }

  .footer-logo{
    height:84px;
    max-width:420px;
  }
}

/* Portrait tablet */
@media (max-width:820px){
  .nav-wrap{
    min-height:92px;
  }

  .brand-logo{
    height:74px;
    max-width:420px;
  }

  .footer-logo{
    height:74px;
    max-width:360px;
  }
}

/* Phones */
@media (max-width:620px){
  .nav-wrap{
    min-height:82px;
  }

  .brand-logo{
    height:60px;
    max-width:320px;
  }

  .footer-logo{
    height:60px;
    max-width:300px;
  }
}

/* Small phones */
@media (max-width:390px){
  .nav-wrap{
    min-height:76px;
  }

  .brand-logo{
    height:52px;
    max-width:270px;
  }

  .footer-logo{
    height:54px;
    max-width:265px;
  }
}


/* =========================================================
   HEADER BRAND REFINEMENT — v11
   Bigger readable logo + tagline on the right
   ========================================================= */

.nav-wrap{
  min-height:118px;
}

.header-brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:max-content;
}

.brand-logo{
  height:78px;
  width:auto;
  max-width:none;
}

.brand-tagline{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.02;
}

.brand-tagline strong{
  font-size:1.22rem;
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--burgundy);
}

.brand-tagline small{
  margin-top:6px;
  font-size:.9rem;
  font-weight:700;
  color:#6D645D;
}

/* Ensure nav has room */
.main-nav{
  gap:24px;
}

/* Footer logo larger and cleaner */
.footer-logo{
  height:104px;
  width:auto;
  max-width:520px;
}

.footer-brand-image{
  margin-bottom:18px;
}

/* Thank you page logo */
.thank-you-logo{
  height:78px;
  max-width:420px;
}

/* Tablet */
@media (max-width:1080px){
  .nav-wrap{
    min-height:106px;
  }

  .brand-logo{
    height:70px;
  }

  .brand-tagline strong{
    font-size:1.08rem;
  }

  .brand-tagline small{
    font-size:.82rem;
  }

  .footer-logo{
    height:96px;
    max-width:460px;
  }
}

/* Portrait tablet */
@media (max-width:820px){
  .nav-wrap{
    min-height:94px;
  }

  .header-brand{
    gap:14px;
  }

  .brand-logo{
    height:60px;
  }

  .brand-tagline strong{
    font-size:.98rem;
  }

  .brand-tagline small{
    font-size:.76rem;
    margin-top:4px;
  }

  .footer-logo{
    height:84px;
    max-width:400px;
  }

  .thank-you-logo{
    height:68px;
    max-width:340px;
  }
}

/* Phones */
@media (max-width:620px){
  .nav-wrap{
    min-height:84px;
  }

  .header-brand{
    gap:10px;
  }

  .brand-logo{
    height:48px;
  }

  .brand-tagline strong{
    font-size:.84rem;
  }

  .brand-tagline small{
    font-size:.66rem;
    margin-top:3px;
  }

  .footer-logo{
    height:68px;
    max-width:320px;
  }

  .thank-you-logo{
    height:56px;
    max-width:280px;
  }
}

/* Small phones */
@media (max-width:390px){
  .nav-wrap{
    min-height:76px;
  }

  .brand-logo{
    height:42px;
  }

  .brand-tagline strong{
    font-size:.76rem;
  }

  .brand-tagline small{
    font-size:.6rem;
  }

  .footer-logo{
    height:60px;
    max-width:280px;
  }
}


/* =========================================================
   FLOATING SCROLL-TO-TOP BUTTON — v12
   ========================================================= */
.scroll-top{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:80;
  width:52px;
  height:52px;
  border:1px solid rgba(199,154,59,.45);
  border-radius:50%;
  background:linear-gradient(135deg,var(--burgundy),var(--burgundy-2));
  color:var(--ivory);
  display:grid;
  place-items:center;
  font:inherit;
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(78,14,24,.24);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease, box-shadow .2s ease;
}

.scroll-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.scroll-top:hover{
  box-shadow:0 18px 38px rgba(78,14,24,.32);
  transform:translateY(-2px);
}

.scroll-top:focus-visible{
  outline:3px solid rgba(199,154,59,.42);
  outline-offset:3px;
}

@media (max-width:820px){
  .scroll-top{
    right:20px;
    bottom:20px;
    width:50px;
    height:50px;
  }
}

@media (max-width:620px){
  .scroll-top{
    right:16px;
    bottom:16px;
    width:48px;
    height:48px;
    font-size:1.3rem;
  }
}


/* =========================================================
   TYPOGRAPHY CLEANUP — v13
   No broken / hyphenated words in justified text
   ========================================================= */

/* Keep paragraph justification, but never split words automatically */
p,
ul li,
.detail-copy p,
.intro p,
.section-head p,
.offer-grid p,
.contact-intro p{
  hyphens:none !important;
  -webkit-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-wrap:pretty;
}

/* Slightly reduce body copy size so justified lines fit more naturally */
.intro p,
.detail-copy p{
  font-size:.98rem;
  line-height:1.62;
}

.mini-grid ul{
  font-size:.95rem;
  line-height:1.58;
}

/* Give service text a little more usable width */
.detail-grid{
  grid-template-columns:.96fr 1.04fr;
  gap:50px;
}

.detail-grid.reverse{
  grid-template-columns:1.04fr .96fr;
}

/* Reduce overly large service headings slightly for cleaner wrapping */
.detail-copy h2{
  font-size:clamp(2.15rem,3.6vw,3.65rem);
  line-height:1.04;
}

/* Tablet: keep justified text but without forced word breaks */
@media (max-width:1080px){
  .detail-grid,
  .detail-grid.reverse{
    grid-template-columns:1fr;
  }

  .intro p,
  .detail-copy p{
    font-size:.97rem;
  }

  .mini-grid ul{
    font-size:.94rem;
  }
}

/* On narrow mobile screens, left-align body copy to avoid ugly stretched spacing.
   Headings and layout remain unchanged. */
@media (max-width:620px){
  p,
  ul li,
  .detail-copy p,
  .intro p,
  .section-head p,
  .offer-grid p,
  .contact-intro p{
    text-align:left !important;
  }

  .intro p,
  .detail-copy p{
    font-size:.96rem;
    line-height:1.6;
  }

  .mini-grid ul{
    font-size:.93rem;
  }
}

/* =========================================================
   PROCESS SECTION ALIGNMENT — v14
   Short copy is centered; process card copy remains left-aligned.
   ========================================================= */
#process .section-head > p{
  text-align:center !important;
  text-align-last:center !important;
  justify-self:center;
  max-width:520px;
}

#process .process-grid p{
  text-align:left !important;
  text-align-last:left !important;
}

/* =========================================================
   CENTERED HEADINGS / TITLES — v15
   ========================================================= */
.eyebrow,
.section-kicker,
.hero h1,
.intro h2,
.section-head h2,
.detail-copy h2,
.mini-grid h3,
.offer-grid h3,
.process-grid h3,
.cta h2,
.contact-intro h2{
  text-align:center;
}

/* Center title blocks themselves, not just the text inside them. */
.hero h1,
.intro h2,
.section-head h2,
.detail-copy h2,
.cta h2,
.contact-intro h2{
  margin-left:auto;
  margin-right:auto;
}

/* Keep short title/kicker lines visually balanced. */
.section-head > div,
.detail-copy > .section-kicker,
.contact-intro > .section-kicker{
  text-align:center;
}


/* =========================================================
   HERO HEADLINE BACK TO LEFT ALIGN — v16
   ========================================================= */
.hero .eyebrow,
.hero h1,
.hero p,
.hero .hero-actions{
  text-align:left !important;
}

.hero h1{
  margin-left:0 !important;
  margin-right:0 !important;
}


/* =========================================================
   CATEGORY BULLET ALIGNMENT — v17
   Bullet points under service categories should not be justified.
   ========================================================= */
.mini-grid li{
  text-align:left !important;
  text-align-last:left !important;
}


/* =========================================================
   ABOUT SECTION TITLE BLOCK CENTERED — v18
   ========================================================= */
#about .section-kicker,
#about h2{
  text-align:center !important;
}

#about h2{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   ABOUT TITLE TWO-LINE LOCK — v19
   ========================================================= */
#about h2{
  max-width:1000px !important;
}

/* =========================================================
   PROCESS SECTION ONLY — v21
   Based on v19. No other section changed.
   ========================================================= */
#process .section-head,
#process .section-head > div,
#process .section-head > p,
#process .section-kicker,
#process .section-head h2,
#process .process-grid > div,
#process .process-grid span,
#process .process-grid h3,
#process .process-grid p {
  text-align: center !important;
  text-align-last: center !important;
}

#process .section-head > p {
  justify-self: center;
  max-width: 520px;
}


/* V22 — ONLY CHANGE: center all text inside WAYS TO ENGAGE white boxes */
.offer-grid article{
  text-align:center !important;
}

.offer-grid article > span,
.offer-grid article > h3,
.offer-grid article > p{
  text-align:center !important;
  text-align-last:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.offer-grid article > p{
  width:100%;
}
