:root{
  --rose:#b8737f;
  --rose-deep:#7b3945;
  --rose-soft:#f6e8e9;
  --rose-pale:#fff8f8;
  --gold:#c99a8d;
  --ink:#35272a;
  --muted:#756468;
  --white:#fff;
  --shadow:0 24px 70px rgba(123,57,69,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#fff8f8 55%,#fff 100%);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}.section-pad{padding:86px min(6vw,80px)}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px min(5vw,64px);background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(184,115,127,.16)}
.brand img{width:150px;height:auto}.main-nav{display:flex;align-items:center;gap:28px;font-size:.93rem;font-weight:600;color:var(--rose-deep)}.main-nav a{position:relative}.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--rose);transform:scaleX(0);transition:.25s}.main-nav a:hover::after{transform:scaleX(1)}.nav-cta{padding:11px 18px;border-radius:999px;background:var(--rose-deep);color:#fff;box-shadow:0 10px 25px rgba(123,57,69,.2)}.nav-toggle{display:none;border:0;background:var(--rose-soft);border-radius:12px;padding:9px 12px;font-size:1.2rem;color:var(--rose-deep)}
.hero{position:relative;min-height:calc(100vh - 90px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);align-items:center;gap:46px;overflow:hidden}.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;pointer-events:none}.orb-one{width:380px;height:380px;background:#f3d4d8;top:8%;right:5%}.orb-two{width:240px;height:240px;background:#fff;bottom:10%;left:4%;border:1px solid #edd0d4}.hero-content,.hero-card{position:relative}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-size:.77rem;font-weight:800;color:var(--rose)}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.03;margin:0;color:var(--rose-deep)}h1{font-size:clamp(3.6rem,8vw,7.8rem);max-width:920px}h1 span{font-family:Parisienne,cursive;color:var(--rose);font-weight:400}h2{font-size:clamp(2.4rem,4.8vw,4.5rem)}h3{font-size:1.75rem}.lead{font-size:1.2rem;max-width:680px;color:var(--muted);margin:24px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 23px;font-weight:800;cursor:pointer;transition:.25s}.button.primary{background:linear-gradient(135deg,var(--rose-deep),var(--rose));color:#fff;box-shadow:0 17px 35px rgba(123,57,69,.22)}.button.secondary{background:#fff;color:var(--rose-deep);border:1px solid rgba(184,115,127,.3)}.button:hover{transform:translateY(-2px)}.button.large{padding:17px 28px;white-space:nowrap}.hero-card{background:rgba(255,255,255,.82);border:1px solid rgba(184,115,127,.22);border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}.hero-card img{max-width:360px;margin:auto}.hero-card p{text-align:center;color:var(--muted);font-size:1.03rem}.card-line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px 0}
.soft-panel{display:grid;grid-template-columns:.8fr 1fr;gap:44px;align-items:center;background:#fff;border-top:1px solid rgba(184,115,127,.13);border-bottom:1px solid rgba(184,115,127,.13)}.script{font-family:Parisienne,cursive;color:var(--rose);font-size:2rem;margin:0 0 8px}.intro p:last-child{font-size:1.12rem;color:var(--muted)}.section-heading{max-width:760px;margin-bottom:34px}.section-heading.centered{text-align:center;margin-inline:auto}.section-heading p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card,.price-card,.contact-form,.owner-photo{background:#fff;border:1px solid rgba(184,115,127,.18);border-radius:var(--radius);padding:28px;box-shadow:0 18px 45px rgba(123,57,69,.08)}.service-card span{font-family:"Cormorant Garamond";font-size:2rem;color:var(--gold)}.service-card p,.price-card p{color:var(--muted)}.service-card.featured{background:linear-gradient(180deg,#fff,#fff1f3)}.blush{background:linear-gradient(135deg,#fff4f5,#fff)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.price{font-family:"Cormorant Garamond";font-size:3rem;color:var(--rose-deep);margin:20px 0 0!important}.price span{font-family:Inter;font-size:1rem;color:var(--muted);margin-left:4px}.price-card.package{background:#fffdfd}.price-card.highlight{background:linear-gradient(145deg,var(--rose-deep),var(--rose));color:#fff}.price-card.highlight h3,.price-card.highlight .price,.price-card.highlight .script,.price-card.highlight .price span{color:#fff}.fine-print{text-align:center;color:var(--muted);margin-top:26px}.split{display:grid;grid-template-columns:.65fr 1fr;gap:54px;align-items:center}.owner-photo{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#fff 0,#fff3f4 58%,#f4dce0 100%)}.monogram{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(184,115,127,.25);font-family:"Cormorant Garamond";font-size:4rem;color:var(--rose);box-shadow:var(--shadow)}.owner-photo p,.owner-copy p{color:var(--muted)}.note{padding:16px 18px;border-left:3px solid var(--rose);background:var(--rose-pale);border-radius:0 16px 16px 0}.schedule-panel{margin:0 min(6vw,80px) 30px;border-radius:36px;background:linear-gradient(135deg,#7b3945,#b8737f);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow)}.schedule-panel h2,.schedule-panel .script{color:#fff}.schedule-panel p{max-width:700px;color:#ffecee}.schedule-panel .button{background:#fff;color:var(--rose-deep)}.contact{display:grid;grid-template-columns:.8fr 1fr;gap:44px;align-items:start}.contact-copy p{color:var(--muted)}.contact-details{margin-top:24px;padding:22px;border-radius:22px;background:var(--rose-pale);border:1px solid rgba(184,115,127,.16)}.contact-form{display:grid;gap:17px}.contact-form label{display:grid;gap:8px;font-weight:800;color:var(--rose-deep)}input,select,textarea{width:100%;font:inherit;border:1px solid rgba(184,115,127,.24);border-radius:16px;padding:14px 15px;background:#fff;color:var(--ink)}textarea{resize:vertical}.form-status{margin:0;color:var(--muted);font-size:.9rem}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px min(5vw,64px);border-top:1px solid rgba(184,115,127,.16);color:var(--muted);font-size:.92rem}.site-footer img{width:130px}.site-footer a{font-weight:800;color:var(--rose-deep)}
@media (max-width:980px){.hero,.soft-panel,.split,.contact{grid-template-columns:1fr}.service-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:auto}.hero-card{max-width:540px}.schedule-panel{flex-direction:column;align-items:flex-start}}
@media (max-width:760px){.section-pad{padding:64px 22px}.site-header{padding:10px 18px}.brand img{width:118px}.nav-toggle{display:block}.main-nav{position:absolute;top:100%;left:18px;right:18px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#fff;border:1px solid rgba(184,115,127,.18);border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px}.nav-cta{text-align:center}.service-grid,.pricing-grid{grid-template-columns:1fr}h1{font-size:3.3rem}.schedule-panel{margin:0 22px 20px}.site-footer{flex-direction:column;text-align:center}.hero-actions .button{width:100%}}

/* fixes for mobile layout */ 
@media (max-width: 700px) {
  body {
    overflow-x: hidden;
  }

  .eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .hero {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    overflow: hidden;
  }

  .hero h1 {
    font-size: clamp(3rem, 15vw, 4.5rem);
    line-height: 0.95;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions a {
    width: 100%;
    text-align: center;
    white-space: normal;
  }

  .brand-card,
  .logo-card,
  .intro-card {
    overflow: hidden;
  }

  .brand-card img,
  .logo-card img,
  .intro-card img,
  .large-logo {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
  }
}

/* fixes for tablet/ipad layout */ 
@media (min-width: 701px) and (max-width: 1400px) {
  .hero {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .hero-grid {
    grid-template-columns: 1fr 0.75fr;
    gap: 2rem;
    align-items: center;
  }

  .hero h1 {
    font-size: clamp(3.75rem, 5.8vw, 5rem);
    line-height: 0.95;
  }

  .hero p,
  .hero .lead {
    font-size: 1.15rem;
    line-height: 1.45;
    max-width: 100%;
  }

  .hero-actions {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .hero-actions a {
    white-space: normal;
    text-align: center;
  }

  .hero-card,
  .brand-card,
  .logo-card,
  .intro-card {
    max-width: 100%;
    overflow: hidden;
  }

  .hero-card img,
  .brand-card img,
  .logo-card img,
  .intro-card img,
  .brand-logo-large {
    display: block;
    width: 100%;
    max-width: 340px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
  }
}

/* stronger phone-only fixes */
@media (max-width: 700px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .site-header,
  .hero,
  .section-pad,
  section {
    max-width: 100vw;
    overflow-x: hidden !important;
  }

  .hero {
    padding: 4rem 1.25rem 3rem !important;
  }

  .hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    width: 100% !important;
  }

  .hero-copy,
  .hero-card,
  .brand-card,
  .logo-card,
  .intro-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .eyebrow {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.68rem !important;
    line-height: 1.55 !important;
    letter-spacing: 0.09em !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.9rem, 14vw, 4rem) !important;
    line-height: 0.98 !important;
    overflow-wrap: normal !important;
  }

  .hero p,
  .hero .lead {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
  }

  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 1rem !important;
  }

  .hero-actions a,
  .btn,
  .button,
  .primary-btn,
  .secondary-btn {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .hero-card img,
  .brand-card img,
  .logo-card img,
  .intro-card img,
  .brand-logo-large,
  .large-logo {
    display: block !important;
    width: 100% !important;
    max-width: 280px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain !important;
  }
}

/* added starting at to price list */
.starting-at {
  display: block;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
  color: var(--mauve);
}

/* disabled book a consultation button */
.disabled-btn {
  background: #b8b0b2 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 0.75;
  pointer-events: none;
}

.disabled-btn:hover {
  transform: none !important;
  background: #b8b0b2 !important;
}

/* formatting for disabled book a consultation button */
.disabled-booking-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.booking-note {
  max-width: 360px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  line-height: 1.45;
  text-align: center;
}

/* changes with mom */ 

.text-feature h2 {
  margin: 0;
}

.text-feature p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.who-we-help ul {
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}

.who-we-help li {
  margin-bottom: 0.65rem;
  font-size: 1.15rem;
  line-height: 1.45;
  color: var(--text);
}

.who-we-help p {
  font-size: 1.15rem;
  line-height: 1.55;
}

.why-office-harmony ul {
  margin: 1.25rem 0 1.75rem;
  padding-left: 1.5rem;
}

.why-office-harmony li {
  margin-bottom: 0.65rem;
  font-size: 1.1rem;
  line-height: 1.45;
  color: var(--text);
}

.why-office-harmony p {
  font-size: 1.15rem;
  line-height: 1.6;
}


/* refined section formatting: Services, Who We Help, Why Office Harmony */
.services-section {
  position: relative;
  background:
    radial-gradient(circle at 8% 18%, rgba(246,232,233,.75), transparent 28%),
    linear-gradient(180deg, #fff 0%, #fff8f8 100%);
}

.services-heading {
  max-width: 980px;
}

.service-overview-card {
  margin-top: 24px;
  padding: 26px;
  border: 1px solid rgba(184,115,127,.18);
  border-radius: var(--radius);
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 45px rgba(123,57,69,.07);
}

.service-overview-card p {
  margin: 0;
  color: var(--muted);
}

.service-overview-card .overview-intro,
.panel-kicker {
  font-weight: 800;
  color: var(--rose-deep);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .82rem;
}

.service-pill-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 18px 0 20px;
  padding: 0;
}

.service-pill-list li,
.audience-grid li,
.gain-grid li {
  position: relative;
  border: 1px solid rgba(184,115,127,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--rose-deep);
  font-weight: 700;
  box-shadow: 0 10px 25px rgba(123,57,69,.06);
}

.service-pill-list li {
  padding: 12px 16px 12px 38px;
  font-size: .96rem;
}

.service-pill-list li::before,
.audience-grid li::before,
.harmony-list li::before,
.gain-grid li::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 0 5px rgba(184,115,127,.12);
}

.service-pill-list li::before {
  left: 17px;
  top: 50%;
  transform: translateY(-50%);
}

.service-card {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.service-card::after {
  content: "";
  position: absolute;
  inset: auto 22px 0 22px;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .75;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 58px rgba(123,57,69,.13);
  border-color: rgba(184,115,127,.32);
}

.section-side-card,
.audience-panel,
.why-content-panel {
  border: 1px solid rgba(184,115,127,.18);
  border-radius: var(--radius);
  box-shadow: 0 18px 45px rgba(123,57,69,.08);
}

.section-side-card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
  background: linear-gradient(145deg, #fff, var(--rose-pale));
}

.section-side-card p:not(.script) {
  color: var(--muted);
  margin: 18px 0 0;
  font-size: 1.08rem;
}

.decor-line {
  width: 92px;
  height: 1px;
  margin-top: 24px;
  background: linear-gradient(90deg, var(--rose), var(--gold), transparent);
}

.audience-panel,
.why-content-panel {
  background: rgba(255,255,255,.86);
  padding: 32px;
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.audience-grid li {
  padding: 18px 18px 18px 46px;
  line-height: 1.35;
}

.audience-grid li::before {
  left: 22px;
  top: 27px;
}

.blush-card {
  background: linear-gradient(145deg, var(--rose-deep), var(--rose));
}

.blush-card h2,
.blush-card .script,
.blush-card p:not(.script) {
  color: #fff;
}

.blush-card .decor-line {
  background: linear-gradient(90deg, #fff, rgba(255,255,255,.35), transparent);
}

.why-content-panel .lead-in,
.why-content-panel .closing-note {
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.65;
  margin: 0;
}

.harmony-list,
.gain-grid {
  list-style: none;
  padding: 0;
}

.harmony-list {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}

.harmony-list li {
  position: relative;
  padding: 16px 18px 16px 48px;
  border-radius: 18px;
  background: var(--rose-pale);
  border: 1px solid rgba(184,115,127,.13);
  color: var(--ink);
  font-weight: 600;
}

.harmony-list li::before {
  left: 22px;
  top: 25px;
}

.gain-card {
  margin: 26px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff4f5, #fff);
  border: 1px solid rgba(184,115,127,.16);
}

.gain-card p {
  margin: 0 0 18px;
  color: var(--rose-deep);
  font-weight: 800;
}

.gain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.gain-grid li {
  padding: 38px 12px 14px;
  text-align: center;
  border-radius: 18px;
}

.gain-grid li::before {
  left: 50%;
  top: 17px;
  transform: translateX(-50%);
}

@media (max-width: 980px) {
  .service-pill-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-side-card {
    min-height: auto;
  }
}

@media (max-width: 760px) {
  .service-overview-card,
  .audience-panel,
  .why-content-panel,
  .section-side-card {
    padding: 22px;
    border-radius: 22px;
  }

  .service-pill-list,
  .audience-grid,
  .gain-grid {
    grid-template-columns: 1fr;
  }

  .gain-grid li {
    padding: 14px 16px 14px 44px;
    text-align: left;
  }

  .gain-grid li::before {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* Streamlined intro section with separated bullet points */
.intro-refresh {
  position: relative;
  overflow: hidden;
  grid-template-columns: 0.85fr 1fr;
  background:
    radial-gradient(circle at 8% 18%, rgba(246, 232, 233, 0.95), transparent 32%),
    linear-gradient(135deg, #fff 0%, #fff8f8 100%);
}

.intro-refresh::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(184, 115, 127, 0.12);
  border-radius: 34px;
  pointer-events: none;
}

.intro-heading,
.intro-copy-card {
  position: relative;
  z-index: 1;
}

.intro-heading h2 {
  max-width: 720px;
}

.intro-copy-card {
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(184, 115, 127, 0.18);
  border-radius: var(--radius);
  padding: 34px;
  box-shadow: 0 18px 45px rgba(123, 57, 69, 0.08);
}

.intro-copy-card p {
  color: var(--muted);
}

.intro-lead {
  margin: 0 0 18px;
  font-size: 1.12rem;
  line-height: 1.65;
}

.intro-kicker {
  margin: 0 0 16px;
  font-weight: 800;
  color: var(--rose-deep) !important;
}

.intro-checklist {
  list-style: none;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.intro-checklist li {
  position: relative;
  padding: 15px 18px 15px 48px;
  background: var(--rose-pale);
  border: 1px solid rgba(184, 115, 127, 0.15);
  border-radius: 18px;
  color: var(--ink);
  line-height: 1.45;
}

.intro-checklist li::before {
  content: "•";
  position: absolute;
  left: 19px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--rose-deep), var(--rose));
  color: #fff;
  font-size: 1.15rem;
  line-height: 1;
}

.intro-reassurance {
  margin: 20px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(184, 115, 127, 0.16);
  font-weight: 700;
  color: var(--rose-deep) !important;
}

@media (max-width: 980px) {
  .intro-refresh {
    grid-template-columns: 1fr;
  }

  .intro-refresh::before {
    inset: 14px;
  }
}

@media (max-width: 700px) {
  .intro-copy-card {
    padding: 24px;
  }

  .intro-checklist li {
    padding: 14px 15px 14px 44px;
  }
}

/* fixing formatting */

/* requested cleanup edits */

/* 1. Intro section: make bullet points simpler */
.intro-checklist {
  gap: 0;
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  list-style: disc;
}

.intro-checklist li {
  padding: 0.35rem 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--muted);
  line-height: 1.5;
}

.intro-checklist li::before {
  display: none;
}

.intro-copy-card {
  box-shadow: none;
}

/* 2. Services heading: stretch text across the section */
.services-heading {
  max-width: none;
  width: 100%;
}

.services-heading h2 {
  max-width: none;
  width: 100%;
}

/* 3. Services cards: remove shadows under each card */
.service-card {
  box-shadow: none;
}

.service-card:hover {
  box-shadow: none;
}

/* 4. Why Office Harmony: simplify the gain section */
.gain-card {
  padding: 0;
  margin: 24px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.gain-card p {
  margin-bottom: 12px;
}

.gain-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.gain-grid li {
  padding: 0 0 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  color: var(--muted);
  font-weight: 700;
}

.gain-grid li::before {
  left: 0;
  top: 0.7em;
  transform: none;
  width: 7px;
  height: 7px;
  box-shadow: none;
}

/* contact form styled like the former schedule panel */
.contact-form {
  background: linear-gradient(135deg, var(--rose-deep), var(--rose));
  border: 0;
  border-radius: 36px;
  padding: 42px;
  box-shadow: var(--shadow);
  color: #fff;
}

.contact-form label {
  color: #fff;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--ink);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(53, 39, 42, 0.65);
}

.contact-form .button.primary {
  background: #fff;
  color: var(--rose-deep);
  box-shadow: none;
}

.contact-form .button.primary:hover {
  background: var(--rose-pale);
}

.form-status {
  color: #fff;
}


/* clickable pricing cards */

.clickable-price-card {
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.clickable-price-card:hover {
  transform: translateY(-3px);
  border-color: rgba(184, 115, 127, 0.35);
}

.clickable-price-card summary {
  list-style: none;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
}

.clickable-price-card summary::-webkit-details-marker {
  display: none;
}

.click-note {
  display: inline-flex;
  width: fit-content;
  margin-top: 20px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--rose-pale);
  color: var(--rose-deep);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.price-details {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(184, 115, 127, 0.18);
}

.price-details ul {
  margin: 0;
  padding-left: 1.15rem;
}

.price-details li {
  margin-bottom: 0.7rem;
  color: var(--muted);
  line-height: 1.45;
}

.clickable-price-card[open] {
  min-height: auto;
}

.clickable-price-card[open] .click-note {
  background: var(--rose-soft);
}

.clickable-price-card[open] .click-note::after {
  content: " open";
}

/* keep the highlighted premium card readable when opened */

.price-card.highlight .click-note {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.price-card.highlight .price-details {
  border-top-color: rgba(255, 255, 255, 0.28);
}

.price-card.highlight .price-details li {
  color: #fff;
}

/* clickable pricing cards with smooth expansion - fixed cropping */

.clickable-pricing-grid {
  align-items: stretch;
}

.clickable-price-card {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  min-height: 230px;
  height: auto;
  border: 1px solid rgba(184,115,127,.18);
  text-align: left;
  cursor: pointer;
  overflow: visible;
  padding: 28px;
  transition:
    min-height 0.4s ease,
    transform 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.clickable-price-card:hover {
  transform: translateY(-3px);
  border-color: rgba(184,115,127,.35);
}

.price-front,
.price-back {
  transition:
    opacity 0.28s ease,
    transform 0.3s ease,
    max-height 0.45s ease;
}

.price-front {
  display: flex;
  min-height: 170px;
  flex-direction: column;
  justify-content: space-between;
  opacity: 1;
  transform: translateY(0);
  max-height: 320px;
  overflow: visible;
}

.price-back {
  opacity: 0;
  transform: translateY(10px);
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
}

.clickable-price-card.is-open {
  min-height: 430px;
}

.clickable-price-card.is-open .price-front {
  opacity: 0;
  transform: translateY(-8px);
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
}

.clickable-price-card.is-open .price-back {
  opacity: 1;
  transform: translateY(0);
  max-height: 900px;
  overflow: visible;
  pointer-events: auto;
}

.click-note,
.close-note {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--rose-pale);
  color: var(--rose-deep);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.close-note {
  margin-top: 12px;
  background: var(--rose-soft);
}

.price-subtitle {
  margin: 8px 0 16px;
  color: var(--muted);
  font-weight: 800;
}

.price-back ul {
  margin: 0;
  padding-left: 1.1rem;
}

.price-back li {
  margin-bottom: 0.65rem;
  color: var(--muted);
  line-height: 1.45;
  font-size: 0.98rem;
}

.price-card.highlight .price-back h3,
.price-card.highlight .price-back .script,
.price-card.highlight .price-subtitle,
.price-card.highlight .price-back li {
  color: #fff;
}

.price-card.highlight .click-note,
.price-card.highlight .close-note {
  background: rgba(255,255,255,.18);
  color: #fff;
}

@media (max-width: 760px) {
  .clickable-price-card {
    min-height: 220px;
  }

  .clickable-price-card.is-open {
    min-height: 0;
  }
}

/* fix blue "Starting at" text on mobile */
.starting-at,
.clickable-price-card .starting-at,
.price-card .starting-at {
  color: var(--rose-deep) !important;
}

.price-card.highlight .starting-at,
.clickable-price-card.highlight .starting-at {
  color: #fff !important;
}

/* true top anchor for Overview link */
#overview {
  position: absolute;
  top: 0;
  left: 0;
}

/* force mobile nav to open */
@media (max-width: 760px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
  }

  .nav-toggle {
    display: block !important;
    position: relative;
    z-index: 10001;
    cursor: pointer;
  }

  .main-nav {
    position: absolute !important;
    top: 100% !important;
    left: 18px !important;
    right: 18px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid rgba(184, 115, 127, 0.18) !important;
    border-radius: 18px !important;
    box-shadow: var(--shadow) !important;
    z-index: 10000 !important;
  }

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

  .main-nav a {
    display: block !important;
    padding: 14px 12px !important;
    color: var(--rose-deep) !important;
    font-weight: 800 !important;
  }
}

/* smooth mobile navigation dropdown */
@media (max-width: 760px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
  }

  .nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10001;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 14px;
    background: var(--rose-soft);
    color: var(--rose-deep);
    font-size: 1.35rem;
    cursor: pointer;
  }

  .nav-toggle-icon {
    display: block;
    line-height: 1;
    transition: transform 0.25s ease;
    pointer-events: none;
  }

  .nav-toggle.is-open .nav-toggle-icon {
    transform: rotate(90deg);
  }

  .main-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 18px !important;
    right: 18px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    overflow: hidden;
    pointer-events: none;

    padding: 0 12px;
    background: #fff;
    border: 1px solid rgba(184, 115, 127, 0);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(123, 57, 69, 0);
    z-index: 10000;

    transition:
      max-height 0.35s ease,
      opacity 0.25s ease,
      transform 0.3s ease,
      padding 0.3s ease,
      border-color 0.3s ease,
      box-shadow 0.3s ease;
  }

  .main-nav.open {
    max-height: 360px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;

    padding: 12px;
    border-color: rgba(184, 115, 127, 0.18);
    box-shadow: var(--shadow);
  }

  .main-nav a {
    display: block !important;
    padding: 14px 12px !important;
    color: var(--rose-deep) !important;
    font-weight: 800 !important;
    border-radius: 12px;
  }

  .main-nav a:hover {
    background: var(--rose-pale);
  }
}

/* final mobile dropdown menu fix */
@media (max-width: 760px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    overflow: visible !important;
  }

  .nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 100001 !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--rose-soft) !important;
    color: var(--rose-deep) !important;
    font-size: 1.35rem !important;
    cursor: pointer !important;
  }

  .nav-toggle-icon {
    pointer-events: none !important;
    transition: transform 0.25s ease !important;
  }

  .nav-toggle.is-open .nav-toggle-icon {
    transform: rotate(90deg) !important;
  }

  .main-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 18px !important;
    right: 18px !important;
    z-index: 100000 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    max-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    overflow: hidden !important;
    pointer-events: none !important;

    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid rgba(184, 115, 127, 0) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(123, 57, 69, 0) !important;

    transition:
      max-height 0.35s ease,
      opacity 0.25s ease,
      transform 0.3s ease,
      padding 0.3s ease,
      border-color 0.3s ease,
      box-shadow 0.3s ease !important;
  }

  .main-nav.open {
    max-height: 420px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    padding: 12px !important;
    border-color: rgba(184, 115, 127, 0.18) !important;
    box-shadow: var(--shadow) !important;
  }

  .main-nav a {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    color: var(--rose-deep) !important;
    font-weight: 800 !important;
    border-radius: 12px !important;
    text-align: left !important;
  }

  .main-nav a:hover {
    background: var(--rose-pale) !important;
  }
}

/* make Contact nav button match the contact card */
.main-nav a[href="#contact"] {
  padding: 11px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--rose-deep), var(--rose));
  color: #fff !important;
  box-shadow: 0 17px 35px rgba(123, 57, 69, 0.22);
}

.main-nav a[href="#contact"]::after {
  display: none;
}

.main-nav a[href="#contact"]:hover {
  transform: translateY(-2px);
}

/* mobile dropdown version */
@media (max-width: 760px) {
  .main-nav a[href="#contact"] {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--rose-deep), var(--rose)) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  .main-nav a[href="#contact"]:hover {
    background: linear-gradient(135deg, var(--rose-deep), var(--rose)) !important;
    color: #fff !important;
    transform: none !important;
  }
}


/* --- Office Harmony new branding updates --- */
.site-header {
  overflow: visible;
}

.brand img {
  width: 136px;
}

.main-nav {
  gap: 18px;
  font-size: 0.82rem;
}

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

.hero .eyebrow {
  max-width: 820px;
}

.hero-actions.single-action {
  margin-top: 8px;
}

.hero-actions.single-action .button {
  min-width: 190px;
}

.service-overview-card .overview-intro {
  font-size: 1rem;
}

.service-grid.service-focus-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brand-pillars {
  position: relative;
  background:
    radial-gradient(circle at 90% 10%, rgba(246, 232, 233, 0.9), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fff8f8 100%);
}

.pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.pillar-card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(184, 115, 127, 0.18);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: 0 18px 45px rgba(123, 57, 69, 0.08);
  position: relative;
  overflow: hidden;
}

.pillar-card::after {
  content: "";
  position: absolute;
  inset: auto 24px 0 24px;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.pillar-card h3,
.contracting-card h3,
.cert-card h3 {
  margin-bottom: 14px;
}

.pillar-card p,
.contracting-card p,
.cert-card p,
.quote-card p {
  color: var(--muted);
  margin: 0;
}

.three-package-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.three-package-grid .clickable-price-card {
  min-height: 300px;
}

.three-package-grid .price-front {
  min-height: 240px;
}

.three-package-grid .clickable-price-card.is-open {
  min-height: 590px;
}

.ideal-for {
  color: var(--muted);
  margin: 16px 0 0;
  font-size: 0.96rem;
}

.price-card.highlight .ideal-for {
  color: #fff;
}

.contracting-section {
  background:
    radial-gradient(circle at 7% 18%, rgba(246, 232, 233, 0.72), transparent 28%),
    linear-gradient(135deg, #fff 0%, #fff8f8 100%);
}

.contracting-directory {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}

.contracting-directory li {
  padding: 10px 14px;
  border: 1px solid rgba(184, 115, 127, 0.18);
  border-radius: 999px;
  background: #fff;
  color: var(--rose-deep);
  font-weight: 800;
  font-size: 0.84rem;
}

.contracting-grid,
.cert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.contracting-card,
.cert-card,
.quote-card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(184, 115, 127, 0.18);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: 0 18px 45px rgba(123, 57, 69, 0.08);
}

.contracting-card.wide,
.quote-card {
  grid-column: 1 / -1;
}

.contracting-card ul,
.cert-card ul,
.quote-card ul {
  margin: 12px 0 0;
  padding-left: 1.2rem;
  color: var(--muted);
}

.contracting-card li,
.cert-card li,
.quote-card li {
  margin-bottom: 0.62rem;
}

.competency-list {
  display: grid;
  gap: 16px;
}

.competency-item {
  padding: 16px 18px;
  border-radius: 18px;
  background: var(--rose-pale);
  border: 1px solid rgba(184, 115, 127, 0.13);
}

.competency-item strong {
  display: block;
  color: var(--rose-deep);
  margin-bottom: 6px;
}

.naics-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0 !important;
}

.naics-list li {
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--rose-pale);
  border: 1px solid rgba(184, 115, 127, 0.13);
  color: var(--ink);
  font-weight: 700;
}

.quote-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  background: linear-gradient(135deg, var(--rose-deep), var(--rose));
  color: #fff;
}

.quote-card h3,
.quote-card p,
.quote-card a:not(.button) {
  color: #fff;
}

.quote-card .button {
  background: #fff;
  color: var(--rose-deep);
  white-space: nowrap;
}

.certifications-section {
  background: #fff;
}

.cert-grid {
  grid-template-columns: 1fr 0.9fr;
  align-items: stretch;
}

.cert-list {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  gap: 14px;
}

.cert-list li {
  position: relative;
  padding: 16px 18px 16px 48px;
  border-radius: 18px;
  background: var(--rose-pale);
  border: 1px solid rgba(184, 115, 127, 0.13);
  color: var(--ink);
  font-weight: 700;
}

.cert-list li::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 26px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 0 5px rgba(184, 115, 127, 0.12);
}

.cert-side-card {
  background: linear-gradient(145deg, #fff, var(--rose-pale));
  border: 1px solid rgba(184, 115, 127, 0.18);
  border-radius: var(--radius);
  padding: 32px;
  box-shadow: 0 18px 45px rgba(123, 57, 69, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.owner-copy p + p {
  margin-top: 1.1rem;
}

@media (max-width: 1180px) {
  .nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 100001 !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--rose-soft) !important;
    color: var(--rose-deep) !important;
    font-size: 1.35rem !important;
    cursor: pointer !important;
  }

  .nav-toggle-icon {
    pointer-events: none !important;
    transition: transform 0.25s ease !important;
  }

  .nav-toggle.is-open .nav-toggle-icon {
    transform: rotate(90deg) !important;
  }

  .main-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 18px !important;
    right: 18px !important;
    z-index: 100000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    overflow: hidden !important;
    pointer-events: none !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid rgba(184, 115, 127, 0) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(123, 57, 69, 0) !important;
    transition:
      max-height 0.35s ease,
      opacity 0.25s ease,
      transform 0.3s ease,
      padding 0.3s ease,
      border-color 0.3s ease,
      box-shadow 0.3s ease !important;
  }

  .main-nav.open {
    max-height: 560px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    padding: 12px !important;
    border-color: rgba(184, 115, 127, 0.18) !important;
    box-shadow: var(--shadow) !important;
  }

  .main-nav a {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    color: var(--rose-deep) !important;
    font-weight: 800 !important;
    border-radius: 12px !important;
    text-align: left !important;
  }

  .main-nav a:hover {
    background: var(--rose-pale) !important;
  }

  .main-nav a[href="#contact"] {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--rose-deep), var(--rose)) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
  }
}

@media (max-width: 980px) {
  .service-grid.service-focus-grid,
  .pillar-grid,
  .three-package-grid,
  .contracting-grid,
  .cert-grid {
    grid-template-columns: 1fr;
  }

  .contracting-card.wide,
  .quote-card {
    grid-column: auto;
  }

  .quote-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .quote-card .button {
    width: 100%;
  }

  .naics-list {
    grid-template-columns: 1fr;
  }

  .three-package-grid .clickable-price-card.is-open {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .brand img {
    width: 112px;
  }

  .hero .eyebrow {
    font-size: 0.64rem !important;
  }

  .pillar-card,
  .contracting-card,
  .cert-card,
  .cert-side-card,
  .quote-card {
    padding: 22px;
    border-radius: 22px;
  }
}

/* --- Redline revisions from "edits to new office harmony" PDF --- */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.site-header {
  padding-left: clamp(22px, 3.5vw, 56px);
  padding-right: clamp(22px, 3.5vw, 56px);
}

.brand img {
  width: 126px;
}

.main-nav {
  gap: clamp(12px, 1.35vw, 18px);
}

/* Hero: improves tagline treatment and keeps the first view from feeling oversized. */
.hero.section-pad {
  padding-top: clamp(54px, 7vh, 76px);
  padding-bottom: clamp(54px, 7vh, 76px);
}

.hero {
  min-height: min(760px, calc(88vh - 70px));
  grid-template-columns: minmax(0, 0.98fr) minmax(280px, 0.58fr);
  gap: clamp(28px, 4vw, 56px);
}

.hero-content,
.hero-card,
.intro-heading,
.intro-copy-card {
  min-width: 0;
}

.hero .eyebrow {
  display: inline-block;
  max-width: 760px;
  padding: 11px 15px;
  border: 1px solid rgba(184, 115, 127, 0.2);
  border-radius: 999px;
  background: rgba(255, 248, 248, 0.82);
  box-shadow: 0 10px 28px rgba(123, 57, 69, 0.06);
  letter-spacing: 0.11em;
  line-height: 1.55;
}

.hero h1 {
  font-size: clamp(3.35rem, 7.15vw, 6.9rem);
  max-width: 820px;
}

.hero .lead {
  max-width: 720px;
}

.hero-card {
  width: 100%;
  max-width: 510px;
  justify-self: end;
}

.hero-card img {
  max-width: 320px;
}

/* Intro: narrows the side card and reduces oversized spacing above and below. */
.intro-refresh {
  grid-template-columns: minmax(0, 0.82fr) minmax(340px, 0.88fr);
  gap: clamp(30px, 4vw, 50px);
  padding-top: clamp(48px, 6vw, 64px);
  padding-bottom: clamp(48px, 6vw, 64px);
}

.intro-heading h2 {
  max-width: 760px;
}

.intro-copy-card {
  width: 100%;
  max-width: 760px;
  justify-self: end;
}

/* Services: remove the duplicate mini heading inside the services box. */
.service-overview-card .overview-intro {
  display: none;
}

/* Keep major headings visually aligned with the card grids beneath them. */
.brand-pillars .section-heading.centered,
.brand-pillars .pillar-grid,
.certifications-section .section-heading.centered,
.certifications-section .cert-grid,
.contracting-section .section-heading.centered,
.contracting-section .contracting-grid {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.brand-pillars .section-heading h2,
.certifications-section .section-heading h2 {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* Government & Corporate Contracting: stronger flow, wider headline, centered chips, and no redundant certification tile. */
.contracting-section .section-heading.centered {
  margin-bottom: 38px;
}

.contracting-section .section-heading h2 {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(3rem, 5.4vw, 5.9rem);
}

.contracting-section .section-heading > p:not(.eyebrow) {
  max-width: 980px;
  margin: 20px auto 0;
}

.contracting-directory {
  justify-content: center;
  max-width: 900px;
  margin: 28px auto 0;
}

.contracting-directory li {
  padding: 0;
}

.contracting-directory a {
  display: block;
  padding: 10px 14px;
  color: inherit;
}

.contracting-grid {
  align-items: start;
  margin-top: 34px;
}

.contracting-card.wide,
.quote-card {
  grid-column: 1 / -1;
}

#contracting-services {
  grid-column: 1 / -1;
}

#contracting-services ul {
  columns: 2;
  column-gap: 44px;
}

#contracting-services li {
  break-inside: avoid;
}

.contracting-card#core-competencies .competency-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contracting-card#core-competencies .competency-item {
  min-height: 128px;
}

#capability-overview,
#core-competencies,
#naics-codes,
#past-performance,
#contracting-services,
#quote-request {
  scroll-margin-top: 110px;
}

/* Use the hamburger menu a little earlier so the long contracting labels never crowd or clip. */
@media (max-width: 1320px) {
  .nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 100001 !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--rose-soft) !important;
    color: var(--rose-deep) !important;
    font-size: 1.35rem !important;
    cursor: pointer !important;
  }

  .nav-toggle-icon {
    pointer-events: none !important;
    transition: transform 0.25s ease !important;
  }

  .nav-toggle.is-open .nav-toggle-icon {
    transform: rotate(90deg) !important;
  }

  .main-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 18px !important;
    right: 18px !important;
    z-index: 100000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    overflow: hidden !important;
    pointer-events: none !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid rgba(184, 115, 127, 0) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(123, 57, 69, 0) !important;
    transition:
      max-height 0.35s ease,
      opacity 0.25s ease,
      transform 0.3s ease,
      padding 0.3s ease,
      border-color 0.3s ease,
      box-shadow 0.3s ease !important;
  }

  .main-nav.open {
    max-height: 620px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    padding: 12px !important;
    border-color: rgba(184, 115, 127, 0.18) !important;
    box-shadow: var(--shadow) !important;
  }

  .main-nav a {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    color: var(--rose-deep) !important;
    font-weight: 800 !important;
    border-radius: 12px !important;
    text-align: left !important;
  }

  .main-nav a:hover {
    background: var(--rose-pale) !important;
  }

  .main-nav a[href="#contact"] {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--rose-deep), var(--rose)) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
  }
}

@media (max-width: 1100px) {
  .hero,
  .intro-refresh {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: auto;
  }

  .hero-card,
  .intro-copy-card {
    justify-self: start;
    max-width: 680px;
  }

  .contracting-card#core-competencies .competency-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .hero .eyebrow {
    border-radius: 20px;
    padding: 10px 12px;
    letter-spacing: 0.08em;
  }

  .hero-card,
  .intro-copy-card {
    max-width: 100%;
  }

  .contracting-section .section-heading h2 {
    font-size: clamp(2.6rem, 13vw, 4rem);
  }

  .contracting-directory {
    justify-content: flex-start;
  }

  #contracting-services ul {
    columns: 1;
  }
}
