/* cv6667 sitewide layout refresh. Layout-only overrides; page copy stays untouched. */
:root {
  --layout-max: 1180px;
  --layout-wide: 1320px;
  --layout-gutter: clamp(1rem, 3vw, 2rem);
  --layout-radius: 8px;
  --layout-border: rgba(58, 22, 32, .14);
  --layout-shadow-soft: 0 10px 30px -24px rgba(58, 22, 32, .45);
}

html {
  scroll-padding-top: 86px;
}

body {
  background: linear-gradient(180deg, #fff8f5 0%, #fff2f5 34%, #fffaf7 100%) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(15, 118, 110, .055), transparent 30%, rgba(217, 154, 30, .06));
  pointer-events: none;
}

.navbar {
  position: sticky !important;
  top: 0;
  z-index: 1030;
  background: rgba(255, 248, 246, .94) !important;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--layout-border) !important;
  box-shadow: 0 12px 34px -28px rgba(42, 13, 22, .7) !important;
}

.navbar > .container,
.navbar > .container-fluid {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: .25rem 0 !important;
  margin-right: clamp(1rem, 3vw, 2rem) !important;
}

.navbar-brand img {
  height: clamp(42px, 5vw, 58px) !important;
  max-height: 58px !important;
  max-width: 230px !important;
}

.navbar-collapse {
  min-width: 0;
}

.navbar-nav {
  align-items: center;
  flex-wrap: wrap;
  row-gap: .35rem;
}

.navbar .nav-link,
.navbar .navbar-nav > li > a {
  padding: .55rem .75rem !important;
  border-radius: var(--layout-radius) !important;
  border-bottom: 0 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active,
.navbar .nav-link[aria-current] {
  background: rgba(200, 20, 68, .09) !important;
  color: #be123c !important;
  text-decoration: none !important;
}

main {
  position: relative;
  overflow: hidden;
}

main > section {
  padding-block: clamp(3.25rem, 6vw, 5.75rem) !important;
}

main > section > .container,
main > nav > .container,
footer > .container {
  max-width: var(--layout-max) !important;
  padding-left: var(--layout-gutter) !important;
  padding-right: var(--layout-gutter) !important;
}

main > section > .container-fluid {
  max-width: var(--layout-wide) !important;
  padding-left: var(--layout-gutter) !important;
  padding-right: var(--layout-gutter) !important;
  margin-inline: auto !important;
}

main > section::after {
  opacity: .45;
}

main > section.surface-dark + section.surface-dark,
main > section.surface-page + section.surface-page,
main > section.surface-soft + section.surface-soft,
main > section.surface-light + section.surface-light {
  padding-top: clamp(2rem, 4vw, 3rem) !important;
}

.hero-section {
  padding-block: clamp(3.5rem, 7vw, 6.5rem) !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #fff7f2 0%, #ffe8ef 46%, #f4fffb 100%) !important;
}

.hero-section.surface-accent {
  background: linear-gradient(135deg, #c81444 0%, #d92858 44%, #fff3f6 100%) !important;
}

.hero-section.surface-dark {
  background: linear-gradient(135deg, #2a0d16 0%, #4a1425 62%, #122b2a 100%) !important;
}

.hero-section.py-0 {
  padding-top: 0 !important;
}

.hero-section.py-0 > .container-fluid {
  max-width: 100% !important;
  padding: 0 !important;
}

.hero-section.py-0 .surface-dark {
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.hero-section .container,
.hero-section .container-fluid {
  position: relative;
  z-index: 1;
}

.hero-section .row {
  align-items: center !important;
  row-gap: clamp(1.75rem, 4vw, 3rem) !important;
}

.hero-section h1,
main > section:first-of-type h1 {
  max-width: 980px !important;
  margin-bottom: 1rem !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
}

.hero-section p,
main > section:first-of-type p {
  max-width: 760px;
  line-height: 1.82 !important;
}

.hero-section .d-flex.flex-wrap {
  gap: .75rem !important;
}

.hero-orb {
  display: none !important;
}

.row {
  row-gap: clamp(1rem, 2.5vw, 1.75rem);
}

.row.g-5 {
  --bs-gutter-x: clamp(1.4rem, 4vw, 3.25rem);
}

.row.g-4 {
  --bs-gutter-x: clamp(1rem, 3vw, 2rem);
}

.btn {
  border-radius: var(--layout-radius) !important;
  transform: none !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  box-shadow: none !important;
}

.btn > * {
  transform: none !important;
}

.btn-brand {
  box-shadow: 0 12px 28px -18px rgba(200, 20, 68, .85) !important;
}

.btn-ghost {
  background: rgba(255, 255, 255, .62) !important;
}

.badge-pill,
.chip,
.tag,
.pill {
  border-radius: var(--layout-radius) !important;
  transform: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  gap: .42rem;
  box-shadow: none !important;
}

.card,
.feature-card,
.note-card,
.info-card,
.glass-card,
.soft-panel,
.panel,
.tile,
.stat-card,
.price-card,
.pricing-card,
.testimonial,
.timeline-item,
.hero-shell,
.media-frame,
.image-frame,
.callout,
.highlight,
.feature,
.benefit,
.review,
.rounded-xl,
.accordion,
.accordion-item,
.register-form-card,
.cta-box {
  border-radius: var(--layout-radius) !important;
  border: 1px solid var(--layout-border) !important;
  box-shadow: var(--layout-shadow-soft) !important;
}

.feature-card,
.note-card,
.info-card,
.glass-card,
.soft-panel,
.panel,
.tile,
.stat-card,
.price-card,
.pricing-card,
.testimonial,
.timeline-item,
.callout,
.highlight,
.feature,
.benefit,
.review {
  height: 100%;
  padding: clamp(1.15rem, 2.5vw, 1.75rem) !important;
}

[class*="surface-"]:is(.card, .note-card, .feature-card, .panel, .box, .tile, .info-card, .cta-box, .callout) {
  border-left: 1px solid var(--layout-border) !important;
}

.surface-light,
.surface-page,
.surface-soft {
  background-clip: padding-box;
}

.surface-soft {
  background: linear-gradient(180deg, #fff0f2 0%, #fff8f4 100%) !important;
}

.surface-light {
  background: rgba(255, 255, 255, .86) !important;
}

.surface-dark {
  background: linear-gradient(135deg, #2e1118 0%, #401824 72%, #173230 100%) !important;
}

.surface-accent {
  background: linear-gradient(135deg, #c81444 0%, #db2f5f 70%, #f4b7c1 100%) !important;
}

.image-frame,
.media-frame,
figure.image-frame {
  background: #fff !important;
  overflow: hidden !important;
}

.image-frame img,
.media-frame img {
  width: 100% !important;
  height: 100% !important;
  min-height: 220px;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

.cv6667-image-strip .image-frame img {
  aspect-ratio: 4 / 3 !important;
  min-height: 180px;
}

.hero-section .image-frame img,
.hero-section figure img {
  aspect-ratio: 16 / 10 !important;
  min-height: 280px;
  max-height: 520px !important;
}

.icon-bubble,
.icon-circle,
.step-circle {
  border-radius: var(--layout-radius) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.accordion {
  overflow: hidden !important;
}

.accordion-item {
  margin-bottom: .75rem !important;
  overflow: hidden !important;
}

.accordion-button {
  min-height: 3.5rem !important;
  padding: 1rem 1.15rem !important;
}

.accordion-body {
  padding: 1.2rem !important;
  line-height: 1.8;
}

.table-responsive {
  border-radius: var(--layout-radius) !important;
  border: 1px solid var(--layout-border) !important;
  box-shadow: var(--layout-shadow-soft) !important;
  background: rgba(255, 255, 255, .78) !important;
}

main table,
.table-responsive table,
.table-responsive .table {
  margin-bottom: 0 !important;
}

.marquee-wrap,
.marquee-wrapper,
.ticker-wrap {
  border-block: 1px solid rgba(255, 255, 255, .16);
  margin-block: 0 !important;
}

.marquee-track,
.marquee-inner {
  gap: 1.25rem !important;
}

footer {
  border-top: 1px solid rgba(255, 255, 255, .12);
}

footer .container {
  max-width: var(--layout-max) !important;
}

@media (min-width: 992px) {
  .hero-section .col-lg-5,
  .hero-section .col-lg-6:last-child,
  .hero-section .col-lg-4:last-child {
    display: flex;
    justify-content: center;
  }

  .hero-section .image-frame {
    width: 100%;
    max-width: 540px !important;
  }

  main > section > .container > .row.justify-content-center > [class*="col-lg-9"],
  main > section > .container > .row.justify-content-center > [class*="col-lg-10"] {
    max-width: 960px;
  }

  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    justify-content: flex-end;
  }

  .navbar-expand-lg .navbar-nav {
    justify-content: flex-end;
  }
}

@media (max-width: 991.98px) {
  .navbar > .container,
  .navbar > .container-fluid {
    min-height: 64px;
  }

  .navbar-collapse {
    padding: 1rem 0 .35rem;
  }

  .navbar-nav {
    align-items: stretch !important;
  }

  .navbar .nav-link {
    display: block;
    width: 100%;
  }

  .hero-section {
    padding-block: clamp(2.5rem, 8vw, 4rem) !important;
  }

  .hero-section .row {
    text-align: left;
  }

  .hero-section .image-frame {
    max-width: 100% !important;
  }

  .hero-section .d-flex.flex-wrap {
    justify-content: flex-start;
  }
}

@media (max-width: 575.98px) {
  html {
    scroll-padding-top: 72px;
  }

  main > section {
    padding-block: 2.75rem !important;
  }

  main > section > .container,
  main > nav > .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .hero-section h1,
  main > section:first-of-type h1 {
    font-size: clamp(1.6rem, 8vw, 2.15rem) !important;
    line-height: 1.28 !important;
  }

  .hero-section p,
  main > section:first-of-type p {
    font-size: 1rem !important;
    line-height: 1.75 !important;
  }

  .btn {
    width: 100%;
    min-height: 2.9rem;
  }

  .hero-section .d-flex.flex-wrap .btn {
    flex: 1 1 100%;
  }

  .image-frame img,
  .media-frame img {
    min-height: 180px;
  }

  .hero-section .image-frame img,
  .hero-section figure img {
    min-height: 210px;
  }

  .feature-card,
  .note-card,
  .info-card,
  .glass-card,
  .soft-panel,
  .panel,
  .tile,
  .stat-card,
  .price-card,
  .pricing-card,
  .testimonial,
  .timeline-item,
  .callout,
  .highlight,
  .feature,
  .benefit,
  .review {
    padding: 1rem !important;
  }

  .badge-pill,
  .chip,
  .tag,
  .pill {
    white-space: normal !important;
  }
}

.hero-section.py-0 > .container-fluid > .image-frame {
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.hero-section.py-0 > .container-fluid > .image-frame img {
  width: 100% !important;
  height: clamp(260px, 34vw, 420px) !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

/* New-site layout direction: desktop side navigation and portal-style content. */
@media (min-width: 99999px) {
  :root {
    --layout-sidebar: 264px;
    --layout-max: 1120px;
  }

  body {
    padding-left: var(--layout-sidebar);
    background:
      linear-gradient(90deg, #2a0d16 0 var(--layout-sidebar), transparent var(--layout-sidebar)),
      linear-gradient(180deg, #fffaf7 0%, #f8fbf9 46%, #fff5f7 100%) !important;
  }

  header {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--layout-sidebar);
    z-index: 1050;
  }

  .navbar {
    width: var(--layout-sidebar) !important;
    height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
    border-right: 1px solid rgba(255, 255, 255, .16) !important;
    border-bottom: 0 !important;
    background: linear-gradient(180deg, #2a0d16 0%, #421321 52%, #163331 100%) !important;
    box-shadow: 18px 0 44px -34px rgba(42, 13, 22, .85) !important;
    color: #fff7f7 !important;
    align-items: stretch;
  }

  .navbar > .container,
  .navbar > .container-fluid {
    min-height: 100%;
    width: 100%;
    padding: 1.4rem 1rem !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }

  .navbar-brand {
    width: 100%;
    justify-content: center;
    margin: 0 0 1.35rem !important;
    padding: .8rem .5rem 1.1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  .navbar-brand img {
    height: 64px !important;
    max-height: 64px !important;
    max-width: 210px !important;
  }

  .navbar-toggler {
    display: none !important;
  }

  .navbar-expand-lg .navbar-collapse,
  .navbar-collapse,
  .collapse:not(.show).navbar-collapse {
    display: block !important;
    width: 100%;
    padding: 0 !important;
  }

  .navbar-nav {
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .45rem !important;
    margin: 0 !important;
  }

  .navbar .nav-link,
  .navbar .navbar-nav > li > a {
    width: 100%;
    min-height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    padding: .72rem .9rem !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .045) !important;
    color: #ffe9ed !important;
    font-weight: 700 !important;
  }

  .navbar .nav-link:hover,
  .navbar .nav-link:focus,
  .navbar .nav-link.active,
  .navbar .nav-link[aria-current] {
    background: #fff7f4 !important;
    color: #be123c !important;
    border-color: #fff7f4 !important;
  }

  .lang-switch-item {
    order: 99;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
  }

  main,
  footer {
    width: 100%;
  }

  main > nav[aria-label="breadcrumb"],
  main > section:first-child:is([aria-label*="breadcrumb"], .surface-page) {
    position: sticky;
    top: 0;
    z-index: 20;
    padding-block: .8rem !important;
    background: rgba(255, 250, 247, .88) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--layout-border);
  }

  .breadcrumb {
    margin: 0 !important;
    font-size: .95rem;
  }

  .hero-section {
    min-height: calc(100vh - 2rem) !important;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--layout-border);
  }

  .hero-section:not(.py-0) .container {
    max-width: 1180px !important;
  }

  .hero-section:not(.py-0) .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr);
    gap: clamp(2rem, 4vw, 4.5rem) !important;
  }

  .hero-section:not(.py-0) .row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
  }

  .hero-section:not(.py-0) .row > [class*="col-"]:first-child {
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border: 1px solid var(--layout-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .54);
    box-shadow: var(--layout-shadow-soft);
  }

  .hero-section.surface-accent:not(.py-0) .row > [class*="col-"]:first-child,
  .hero-section.surface-dark:not(.py-0) .row > [class*="col-"]:first-child {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .2);
  }

  .hero-section.py-0 {
    display: block;
    min-height: 0 !important;
  }

  .hero-section.py-0 > .container-fluid > .image-frame img {
    height: clamp(300px, 38vw, 500px) !important;
  }

  .hero-section.py-0 .surface-dark .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
    gap: clamp(2rem, 4vw, 4rem) !important;
  }

  main > section:not(.hero-section) > .container > .row:not(.justify-content-center) {
    align-items: stretch;
  }

  main > section:not(.hero-section) h2 {
    max-width: 840px;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  main > section:not(.hero-section) .row.g-4 > [class*="col-"],
  main > section:not(.hero-section) .row.g-3 > [class*="col-"] {
    display: flex;
  }

  main > section:not(.hero-section) .row.g-4 > [class*="col-"] > *,
  main > section:not(.hero-section) .row.g-3 > [class*="col-"] > * {
    width: 100%;
  }

  .cv6667-image-strip .row {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem !important;
  }

  .cv6667-image-strip .row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    grid-column: span 4;
  }

  .cv6667-image-strip .row > [class*="col-"]:nth-child(5n + 1) {
    grid-column: span 5;
  }

  .cv6667-image-strip .row > [class*="col-"]:nth-child(5n + 2) {
    grid-column: span 7;
  }

  .cv6667-image-strip .image-frame img {
    aspect-ratio: 16 / 10 !important;
    min-height: 220px;
  }

  .cta-box,
  section[aria-labelledby*="cta"] .container,
  section[aria-labelledby*="cta"] .row {
    text-align: left !important;
  }

  .accordion {
    max-width: 980px;
    margin-inline: auto;
  }
}

@media (min-width: 99999px) and (max-width: 100000px) {
  :root {
    --layout-sidebar: 230px;
  }

  .navbar-brand img {
    max-width: 180px !important;
  }

  .navbar .nav-link,
  .navbar .navbar-nav > li > a {
    font-size: .94rem;
    padding-inline: .7rem !important;
  }
}

@media (max-width: 1199.98px) {
  body {
    padding-left: 0;
  }
}

/* Moderate visual refresh: keep content, change the site shape away from the reference layout. */
@media (min-width: 992px) {
  body {
    background:
      linear-gradient(180deg, #fffaf7 0%, #fff3f5 42%, #f7fffb 100%) !important;
  }

  .navbar {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    padding: .85rem 0 !important;
  }

  .navbar > .container,
  .navbar > .container-fluid {
    max-width: min(1220px, calc(100vw - 3rem)) !important;
    min-height: 72px;
    padding: .55rem 1rem !important;
    border: 1px solid rgba(58, 22, 32, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 22px 54px -34px rgba(58, 22, 32, .62) !important;
  }

  .navbar-brand {
    padding-inline: .35rem !important;
  }

  .navbar-brand img {
    height: 52px !important;
    max-height: 52px !important;
  }

  .navbar .nav-link,
  .navbar .navbar-nav > li > a {
    min-height: 38px;
    padding: .48rem .7rem !important;
    background: transparent !important;
  }

  .navbar .nav-link.active,
  .navbar .nav-link[aria-current] {
    background: #fff0f4 !important;
    box-shadow: inset 0 0 0 1px rgba(200, 20, 68, .12);
  }

  main > nav[aria-label="breadcrumb"] {
    background: transparent !important;
    padding-top: 1.15rem !important;
    padding-bottom: .2rem !important;
  }

  main > nav[aria-label="breadcrumb"] .container {
    max-width: min(1120px, calc(100vw - 3rem)) !important;
  }

  .breadcrumb {
    display: inline-flex;
    padding: .45rem .8rem;
    border: 1px solid rgba(58, 22, 32, .11);
    border-radius: 8px;
    background: rgba(255, 255, 255, .68);
  }

  .hero-section:not(.py-0) {
    background: transparent !important;
    padding-top: clamp(1.5rem, 3vw, 2.6rem) !important;
    padding-bottom: clamp(2.5rem, 5vw, 4.6rem) !important;
  }

  .hero-section:not(.py-0) > .container {
    max-width: min(1220px, calc(100vw - 3rem)) !important;
    padding: clamp(1.5rem, 3vw, 2.4rem) !important;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(200, 20, 68, .94) 0%, rgba(214, 42, 89, .86) 46%, rgba(255, 246, 247, .88) 100%),
      radial-gradient(circle at 82% 18%, rgba(15, 118, 110, .22), transparent 34%);
    box-shadow: 0 34px 80px -50px rgba(58, 22, 32, .8);
  }

  .hero-section.surface-page:not(.py-0) > .container,
  .hero-section.surface-soft:not(.py-0) > .container,
  .hero-section.surface-light:not(.py-0) > .container {
    background:
      linear-gradient(135deg, rgba(255, 255, 255, .88) 0%, rgba(255, 239, 244, .86) 52%, rgba(235, 255, 249, .9) 100%),
      radial-gradient(circle at 82% 18%, rgba(200, 20, 68, .16), transparent 32%);
    border-color: rgba(58, 22, 32, .12);
  }

  .hero-section:not(.py-0) .row {
    align-items: center !important;
  }

  .hero-section:not(.py-0) .row > [class*="col-"]:first-child {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .hero-section:not(.py-0) .image-frame,
  .hero-section:not(.py-0) figure.image-frame,
  .hero-section:not(.py-0) .surface-soft.rounded-xl,
  .hero-section:not(.py-0) .surface-soft.rounded-4,
  .hero-section:not(.py-0) .register-form-card {
    transform: translateY(1.35rem);
    border: 1px solid rgba(255, 255, 255, .58) !important;
    box-shadow: 0 24px 58px -34px rgba(58, 22, 32, .78) !important;
  }

  .hero-section:not(.py-0) h1 {
    max-width: 760px !important;
  }

  .hero-section:not(.py-0) p {
    max-width: 700px;
  }

  .hero-section.py-0 {
    background: transparent !important;
    padding-top: .8rem !important;
  }

  .hero-section.py-0 > .container-fluid {
    max-width: min(1220px, calc(100vw - 3rem)) !important;
    padding: 0 !important;
  }

  .hero-section.py-0 > .container-fluid > .image-frame {
    border-radius: 8px !important;
    border: 1px solid rgba(58, 22, 32, .12) !important;
    box-shadow: 0 26px 70px -46px rgba(58, 22, 32, .72) !important;
  }

  .hero-section.py-0 .surface-dark {
    max-width: min(1220px, calc(100vw - 3rem));
    margin: 1rem auto 0;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    overflow: hidden;
  }

  main > section:not(.hero-section) > .container {
    max-width: min(1120px, calc(100vw - 3rem)) !important;
  }

  main > section:not(.hero-section):nth-of-type(even) > .container {
    max-width: min(1240px, calc(100vw - 3rem)) !important;
  }

  .feature-card,
  .note-card,
  .info-card,
  .stat-card,
  .accordion,
  .table-responsive,
  .cta-box {
    box-shadow: 0 18px 46px -36px rgba(58, 22, 32, .62) !important;
  }

  .cv6667-image-strip {
    background: transparent !important;
  }

  .cv6667-image-strip .row {
    align-items: stretch;
  }

  .cv6667-image-strip .row > [class*="col-"]:nth-child(odd) {
    margin-top: 1.25rem;
  }

  .cv6667-image-strip .image-frame {
    border-radius: 8px !important;
  }

  section[aria-labelledby*="cta"],
  section.surface-accent:last-of-type {
    border-block: 1px solid rgba(255, 255, 255, .18);
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar > .container,
  .navbar > .container-fluid,
  .hero-section:not(.py-0) > .container,
  .hero-section.py-0 > .container-fluid,
  .hero-section.py-0 .surface-dark {
    max-width: calc(100vw - 2rem) !important;
  }
}

/* Final layout adjustment: desktop hero uses a visual-first composition instead of the reference copy-left pattern. */
@media (min-width: 992px) {
  .hero-section:not(.py-0) .row.align-items-center {
    display: grid !important;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    grid-template-areas: "visual copy";
    column-gap: clamp(2rem, 4vw, 4rem);
  }

  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
  }

  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:first-child {
    grid-area: copy;
    align-self: center;
  }

  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) {
    grid-area: visual;
    align-self: center;
  }

  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) .image-frame,
  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) figure.image-frame,
  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) .surface-soft.rounded-xl,
  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) .surface-soft.rounded-4,
  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:not(:first-child) .register-form-card {
    max-width: 560px !important;
    margin-inline: 0 auto !important;
    transform: translateY(-.6rem) rotate(-1.5deg);
  }

  .hero-section:not(.py-0) .row.align-items-center > [class*="col-"]:first-child .badge-pill {
    margin-bottom: .25rem;
  }

  .hero-section:not(.py-0) h1,
  .hero-section:not(.py-0) p {
    margin-left: 0;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .hero-section:not(.py-0) .row.align-items-center {
    grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr);
    column-gap: 2rem;
  }
}
