*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--cx-primary);background:#fff;line-height:1.5}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:9999}.cx-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:1000;background:var(--section-bg,#fff);color:var(--section-color,var(--cx-primary));border-bottom:1px solid rgba(201,154,61,.22)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;color:inherit;overflow:visible}.brand-logo-svg{display:block;height:auto;max-width:100%;overflow:visible}.brand-logo-img{display:block;object-fit:contain}.brand-tagline{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--cx-gold);margin-left:10px}.primary-nav{display:flex;align-items:center;gap:28px}.primary-nav a{color:inherit;text-decoration:none;font-weight:600;font-size:14px}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:14px 24px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-weight:700}.nav-cta,.btn-primary{background:var(--cx-primary);color:#fff!important;box-shadow:0 10px 22px rgba(5,43,77,.16)}.btn-outline{border-color:var(--cx-gold);color:var(--cx-primary);background:#fff}.btn-gold{background:var(--cx-gold);color:#fff;border:0}.menu-toggle{display:none}.hero{background:var(--section-bg,var(--cx-cream));color:var(--section-color,var(--cx-primary));padding:58px 0 36px;background-size:cover;background-position:center}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:54px}.hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,70px);line-height:.98;margin:0 0 22px;color:inherit;letter-spacing:-1.5px}.hero h1 span{color:var(--cx-teal)}.hero p{max-width:520px;font-size:18px;color:#24384d;margin:0 0 26px}.hero-actions{display:flex;gap:18px;flex-wrap:wrap}.hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}.loop-shape{position:absolute;width:92%;height:64%;border:46px solid rgba(10,107,114,.22);border-radius:50%;transform:skewX(-17deg);z-index:1}.hero-photo{position:relative;z-index:2;width:70%;aspect-ratio:1.45/1;border-radius:48% 52% 46% 54%;overflow:hidden;box-shadow:0 24px 50px rgba(5,43,77,.16);background:#e8f1f0}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(135deg,#eaf4f2,#fff)}.hero-placeholder span{font-family:Georgia,serif;font-size:44px;color:var(--cx-teal)}.arrow-mark{position:absolute;right:0;top:14px;z-index:3;font-size:132px;line-height:1;color:var(--cx-gold);font-weight:800}.trust-strip{background:var(--section-bg,var(--cx-primary));color:var(--section-color,#fff);padding:28px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.trust-item{display:flex;align-items:center;gap:18px;padding:8px 22px;border-right:1px solid rgba(255,255,255,.35)}.trust-item:last-child{border-right:0}.trust-item h3{margin:0 0 4px;color:#fff;font-size:17px;line-height:1.2}.trust-item p{margin:0;color:rgba(255,255,255,.83);font-size:14px}.icon-circle,.card-icon,.step-icon,.why-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--cx-gold)}.icon-circle{width:58px;height:58px;border:2px solid var(--cx-gold);border-radius:50%;flex:0 0 auto}.icon-circle svg{width:30px;height:30px}.section{padding:50px 0;background:var(--section-bg,#fff);color:var(--section-color,var(--cx-primary));background-size:cover;background-position:center}.section-heading{text-align:center;margin:0 auto 28px;max-width:900px}.section-heading span{display:inline-flex;align-items:center;gap:12px;color:var(--cx-gold);font-weight:800;letter-spacing:2px;font-size:14px}.section-heading span:before,.section-heading span:after{content:"";width:70px;height:1px;background:var(--cx-gold)}.section-heading h2{font-family:Georgia,serif;font-size:clamp(27px,3vw,36px);line-height:1.18;margin:8px 0 0}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.service-card{background:#fff;border:1px solid rgba(5,43,77,.08);border-radius:12px;box-shadow:0 14px 34px rgba(5,43,77,.08);padding:34px 24px;text-align:center;min-height:275px}.card-icon{width:70px;height:70px;margin:0 auto 16px;border-radius:50%;background:#f5f0e8;color:var(--cx-teal)}.card-icon svg{width:34px;height:34px}.service-card h3{font-family:Georgia,serif;font-size:22px;margin:0 0 14px}.service-card h3:after{content:"";display:block;width:42px;height:2px;background:var(--cx-gold);margin:12px auto 0}.service-card p{font-size:14px;color:#4b5563}.service-card a{color:var(--cx-primary);font-weight:800;text-decoration:none;font-size:14px}.approach{background:var(--section-bg,var(--cx-cream))}.steps-row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:start}.step-card{position:relative;text-align:left;padding:10px}.step-card:not(:last-child):after{content:"→";position:absolute;right:-10px;top:30px;color:var(--cx-gold)}.step-icon{width:52px;height:52px;border-radius:50%;background:var(--cx-teal);color:#fff;margin-bottom:8px}.step-icon svg{width:26px;height:26px}.step-card strong{color:var(--cx-gold);font-size:16px}.step-card h3{font-family:Georgia,serif;font-size:20px;margin:0;color:var(--cx-primary)}.step-card p{font-size:13px;color:#4b5563;margin:6px 0 0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.why-card{display:flex;gap:18px;align-items:flex-start;padding:18px;border-right:1px solid rgba(201,154,61,.35)}.why-card:last-child{border-right:0}.why-icon{width:58px;height:58px;border-radius:50%;border:2px solid var(--cx-gold);flex:0 0 auto}.why-icon svg{width:30px;height:30px}.why-card h3{font-size:17px;margin:0 0 8px}.why-card p{font-size:14px;color:#4b5563;margin:0}.cta-band{background:var(--section-bg,var(--cx-primary));color:var(--section-color,#fff);padding:44px 0;background-size:cover;background-position:center}.cta-grid{display:grid;grid-template-columns:1.3fr auto auto;align-items:center;gap:34px}.cta-band h2{font-family:Georgia,serif;font-size:34px;line-height:1.1;margin:0 0 8px}.cta-band p{margin:0;color:rgba(255,255,255,.86)}.email-block{display:flex;gap:14px;align-items:center}.email-block span{width:54px;height:54px;border:2px solid var(--cx-gold);border-radius:50%;display:flex;align-items:center;justify-content:center}.email-block a{display:block;color:#fff;text-decoration:none}.site-footer{background:#031f38;color:rgba(255,255,255,.78);padding:22px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer a{color:#fff}.legal{max-width:720px}.schedule-modal[hidden]{display:none}.schedule-modal{position:fixed;inset:0;z-index:9999}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.modal-dialog{position:relative;background:#fff;color:var(--cx-primary);width:min(620px,calc(100% - 32px));margin:7vh auto;padding:32px;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:34px;cursor:pointer}.modal-dialog input,.modal-dialog textarea,.modal-dialog select{width:100%;padding:12px;border:1px solid #d8dee5;border-radius:8px;margin:6px 0 14px}.modal-dialog label{font-weight:700}.content-page{max-width:850px}.content-page h1{font-family:Georgia,serif;font-size:46px}@media(max-width:1000px){.hero-grid,.cta-grid{grid-template-columns:1fr}.cards-grid,.trust-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.steps-row{grid-template-columns:1fr 1fr}.hero-visual{min-height:330px}.primary-nav{position:absolute;left:0;right:0;top:100%;background:#fff;display:none;flex-direction:column;align-items:flex-start;padding:22px 28px;border-bottom:1px solid #eee}.primary-nav.open{display:flex}.menu-toggle{display:inline-flex;border:1px solid #ddd;background:#fff;padding:10px 14px;border-radius:8px}.header-inner{min-height:76px}}@media(max-width:640px){.cx-container{width:min(100% - 28px,1180px)}.hero{padding-top:36px}.hero h1{font-size:42px}.cards-grid,.trust-grid,.why-grid,.steps-row{grid-template-columns:1fr}.trust-item,.why-card{border-right:0;border-bottom:1px solid rgba(201,154,61,.25)}.hero-actions{flex-direction:column}.btn{width:100%}.hero-photo{width:86%}.arrow-mark{font-size:80px}.footer-inner{display:block}}

/* Logo lockup fix: icon + company name text with tagline under name */
.brand {
  overflow: visible;
}
.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  overflow: visible;
}
.brand-icon {
  width: 96px;
  min-width: 96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.brand-icon img,
.brand-icon-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.brand-wordmark {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
  min-width: 0;
}
.brand-company {
  display: block;
  color: var(--cx-primary);
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 3px;
  line-height: 1;
}
.brand-tagline {
  display: block;
  margin: 6px 0 0 2px;
  color: var(--cx-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 4px;
  line-height: 1.1;
}
@media(max-width:640px){
  .brand-lockup { gap: 8px; max-width: 220px!important; }
  .brand-icon { width: 72px; min-width: 72px; }
  .brand-company { font-size: 22px; letter-spacing: 2px; }
  .brand-tagline { font-size: 10px; letter-spacing: 2.6px; }
}


/* Simplified logo layout: icon + two text lines + tagline below */
.brand-lockup-2line{display:flex;flex-direction:column;gap:6px;overflow:visible}
.brand-toprow{display:flex;align-items:center;gap:12px}
.brand-wordmark{display:flex;flex-direction:column;justify-content:center;line-height:1}
.brand-company{display:block;color:var(--cx-primary);font-size:29px;font-weight:800;letter-spacing:3px;line-height:1}
.brand-company-line2{display:block;color:var(--cx-primary);font-size:16px;font-weight:700;letter-spacing:4px;line-height:1.2;margin-top:4px}
.brand-tagline-below{display:block;margin-left:108px;color:var(--cx-gold);font-size:11px;font-weight:700;letter-spacing:2.4px;line-height:1.2}
.brand-icon{width:96px;min-width:96px;display:flex;align-items:center;justify-content:center}
.brand-icon img,.brand-icon-svg{display:block;width:100%;height:auto}

/* Simplified hero image with single image and decorative loop badge */
.hero-visual-simple{position:relative;min-height:auto;display:flex;align-items:center;justify-content:flex-end;padding:14px 0}
.hero-visual-simple .loop-shape,.hero-visual-simple .arrow-mark{display:none!important}
.hero-photo-simple{width:min(100%,560px);aspect-ratio:4/3;border-radius:28px;overflow:hidden;box-shadow:0 24px 50px rgba(5,43,77,.16);background:#e8f1f0}
.hero-photo-simple img{width:100%;height:100%;object-fit:cover;display:block}
.hero-loop-badge{position:absolute;left:-16px;top:-12px;width:116px;height:116px;background:#fff;border-radius:24px;box-shadow:0 14px 30px rgba(5,43,77,.10);display:flex;align-items:center;justify-content:center;padding:12px;z-index:2}
.hero-loop-badge .brand-icon-svg{width:100%;height:auto}
.hero-placeholder{border-radius:28px}
@media(max-width:991px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-visual-simple{justify-content:center}
  .hero-loop-badge{left:0;top:-8px;width:92px;height:92px}
}
@media(max-width:640px){
  .brand-toprow{gap:8px}
  .brand-icon{width:72px;min-width:72px}
  .brand-company{font-size:22px;letter-spacing:2px}
  .brand-company-line2{font-size:12px;letter-spacing:2.4px}
  .brand-tagline-below{margin-left:80px;font-size:10px;letter-spacing:1.6px}
  .hero-photo-simple{width:100%;border-radius:22px}
}


/* Final logo/check visibility fixes */
.brand-lockup,
.brand-lockup-2line,
.brand-full-image-lockup {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  overflow: visible !important;
  line-height: 1 !important;
}

.brand-toprow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.brand-company {
  display: block !important;
  color: var(--cx-primary) !important;
  font-size: 29px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.brand-company-line2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--cx-primary) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 3.4px !important;
  line-height: 1.15 !important;
  margin-top: 5px !important;
  white-space: nowrap !important;
}

.brand-tagline-below {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: var(--cx-gold) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.brand-full-image-lockup .brand-logo-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

@media(max-width:640px) {
  .brand-company {
    font-size: 21px !important;
    letter-spacing: 2px !important;
  }

  .brand-company-line2 {
    font-size: 11px !important;
    letter-spacing: 2px !important;
  }

  .brand-tagline-below {
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
  }
}


/* Header + logo color option fixes */
.site-header {
  min-height: var(--header-height, 92px) !important;
}

.site-header.is-not-sticky {
  position: relative !important;
}

.header-inner {
  min-height: var(--header-height, 92px) !important;
}

.primary-nav a {
  color: var(--header-nav-color, var(--cx-primary)) !important;
}

.primary-nav .nav-cta {
  background: var(--header-cta-bg, var(--cx-primary)) !important;
  color: var(--header-cta-color, #ffffff) !important;
}

.brand-company {
  color: var(--brand-company-color, var(--cx-primary)) !important;
}

.brand-company-line2 {
  color: var(--brand-company-line2-color, var(--cx-primary)) !important;
}

.brand-tagline-below {
  color: var(--brand-tagline-color, var(--cx-gold)) !important;
}

/* Remove hero-loop-badge completely */
.hero-loop-badge {
  display: none !important;
}

.hero-visual-simple.no-loop-badge {
  padding: 0 !important;
}

.hero-visual-simple.no-loop-badge .hero-photo-simple {
  width: min(100%, 580px) !important;
}


/* Footer copyright and menu */
.footer-inner-modern {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}

.footer-left {
  max-width: 760px;
}

.site-footer .copyright {
  color: #ffffff;
  font-weight: 700;
  margin: 0 0 6px;
}

.site-footer .credit,
.site-footer .legal {
  margin: 6px 0;
}

.footer-menu {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-menu a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}

.footer-menu a:hover {
  text-decoration: underline;
}

@media(max-width:640px) {
  .footer-inner-modern {
    display: block !important;
  }

  .footer-menu {
    margin-top: 16px;
  }
}


/* Custom sections */
.custom-section {
  background: #ffffff;
}

.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
}

.custom-section-action {
  margin-top: 24px;
  text-align: center;
}

/* Privacy / Terms legal modals */
.legal-modal[hidden] {
  display: none;
}

.legal-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.legal-dialog {
  max-height: 82vh;
  overflow: auto;
}

.legal-modal-content {
  color: #334155;
  font-size: 15px;
  line-height: 1.7;
}

.legal-modal-content p {
  margin: 0 0 14px;
}


/* Custom section display fix */
.custom-section {
  background: #ffffff;
}

.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.custom-section-text p {
  margin: 0 0 14px;
}

.custom-section-action {
  margin-top: 24px;
  text-align: center;
}


/* Custom section latest fix */
.custom-section {
  background: #ffffff;
}

.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.custom-section-text p {
  margin: 0 0 14px;
}

.custom-section-action {
  margin-top: 24px;
  text-align: center;
}

/* Extra section simple fix */
.extra-section,
.custom-section {
  background: #ffffff;
}
.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}
.custom-section-text p { margin: 0 0 14px; }
.custom-section-action { margin-top: 24px; text-align: center; }


/* Extra sections render final */
.extra-section {
  background: #ffffff;
}

.extra-section:nth-of-type(even) {
  background: #f8fafc;
}

.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.custom-section-text p {
  margin: 0 0 14px;
}

.custom-section-action {
  text-align: center;
  margin-top: 24px;
}


/* Dynamic menu sections v2 */
.dynamic-menu-section {
  background: #ffffff;
}

.dynamic-layout-highlight {
  background: #f8fafc;
}

.dynamic-highlight-box {
  background: #ffffff;
  border: 1px solid rgba(5, 43, 77, 0.12);
  border-radius: 28px;
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 20px 60px rgba(5, 43, 77, 0.08);
}

.dynamic-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 40px;
  align-items: start;
}

.section-heading-left {
  text-align: left;
  align-items: flex-start;
}

.dynamic-section-copy {
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.dynamic-section-copy p {
  margin: 0 0 14px;
}

.custom-section-text {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.custom-section-action {
  text-align: center;
  margin-top: 24px;
}

.custom-section-action.align-left {
  text-align: left;
}

@media(max-width: 760px) {
  .dynamic-split-grid {
    grid-template-columns: 1fr;
  }

  .section-heading-left {
    text-align: center;
    align-items: center;
  }

  .custom-section-action.align-left {
    text-align: center;
  }
}
