/* Unified public typography and navigation — dashboard styles untouched. */
body.page-public,
body.page-public h1,
body.page-public h2,
body.page-public h3,
body.page-public h4,
body.page-public p,
body.page-public button,
body.page-public input,
body.page-public textarea,
body.page-public select,
body.page-public a {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
body.page-public { color:#20242a; background:#fff; -webkit-font-smoothing:antialiased; }
body.page-public .public-container { max-width:1140px; }
body.page-public .public-navbar {
  background:#fff;
  border-bottom:1px solid #ecedef;
  box-shadow:none;
}
body.page-public .public-nav-shell { min-height:70px; }
body.page-public .public-brand { margin-right:0; }
body.page-public .public-logo { max-width:160px; max-height:49px; object-fit:contain; }
body.page-public .public-nav-center { gap:1.7rem !important; }
body.page-public .public-nav-center .nav-link {
  font-size:.89rem;
  color:#3c434c;
  font-weight:550;
  padding:.45rem 0;
}
body.page-public .public-nav-center .nav-link:hover,
body.page-public .public-nav-center .nav-link.active { color:#f26416; }
body.page-public .public-header-cta-group { display:flex; align-items:center; gap:1.3rem; }
body.page-public .public-signin-link { font-size:.89rem; font-weight:550; }
body.page-public .public-header-main-cta {
  background:#f56613; border-color:#f56613; border-radius:7px;
  min-height:41px; display:inline-flex; align-items:center;
  padding:.56rem 1rem; font-size:.88rem; font-weight:650;
  box-shadow:none;
}
body.page-public .public-header-main-cta:hover { background:#df560a; border-color:#df560a; }
body.page-public .public-feedback-tab { display:none !important; }
body.page-public .public-announcement-bar { display:none; }
body.page-public .public-navbar .navbar-toggler { border:1px solid #e6e9ec; padding:.42rem .6rem; box-shadow:none; }
body.page-public .public-navbar .navbar-toggler:focus-visible { outline:2px solid #f56613; outline-offset:3px; }
body.page-public .public-navbar .public-nav-actions { gap:.6rem; }
body.page-public .public-navbar .public-mobile-menu-cta { display:none; }

/* Compact consistency fixes on existing public inner pages. */
body.page-public .public-page-crumb-hero { padding:1.9rem 0 2.2rem; background:#fafafa; }
body.page-public .public-page-crumb-title { font-weight:700; font-size:clamp(1.9rem,3.2vw,2.85rem); line-height:1.15; }
body.page-public .public-page-crumb-subtitle { font-size:.98rem; line-height:1.6; }
body.page-public .iw-breadcrumb { margin-bottom:1.1rem; }
body.page-public .public-footer { background:#fafafa; border-top:1px solid #ededed; }

/* The lightweight homepage uses only the classes declared below. */
.iw-clean-home {
  --iw-orange:#f56613;
  --iw-text:#1f242a;
  --iw-subtle:#666e78;
  --iw-border:#e8eaec;
  background:#fff; color:var(--iw-text);
  overflow-x:clip;
}
.iw-clean-home * { box-sizing:border-box; }
.iw-clean-home a { text-decoration:none; }
.iw-clean-home .public-container { max-width:1140px; }
.iw-clean-home .iw-clean-hero { background:#fff; }
.iw-clean-home .iw-clean-hero-inner {
  display:grid; grid-template-columns:1.06fr .94fr;
  align-items:center; gap:clamp(2.5rem,5vw,5.5rem);
  padding-top:clamp(3.8rem,7vw,6rem);
  padding-bottom:clamp(3.8rem,7vw,6rem);
}
.iw-clean-home .iw-clean-overline {
  display:block; color:#e96110; letter-spacing:.1em;
  font-size:.72rem; font-weight:700; line-height:1.5;
}
.iw-clean-home .iw-clean-hero h1 {
  max-width:595px;
  margin:1rem 0 1.25rem;
  font-size:clamp(2.55rem,4.1vw,3.9rem);
  font-weight:700; letter-spacing:-.052em; line-height:1.09;
  color:#1e2228; text-wrap:balance;
}
.iw-clean-home .iw-clean-hero-copy>p:not(.iw-clean-detail) {
  max-width:495px; color:var(--iw-subtle);
  line-height:1.75; font-size:1.03rem; margin:0;
}
.iw-clean-home .iw-clean-actions {
  display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem;
  margin-top:1.8rem;
}
.iw-clean-home .iw-clean-btn {
  display:inline-flex; justify-content:center; align-items:center;
  gap:.8rem; min-height:47px; padding:.7rem 1.1rem; border-radius:7px;
  font-size:.89rem; font-weight:650; border:1px solid transparent;
  transition:background-color .16s ease, color .16s ease;
}
.iw-clean-home .iw-clean-btn-primary { background:#f56613; color:#fff !important; }
.iw-clean-home .iw-clean-btn-primary:hover { background:#da5308; color:#fff !important; }
.iw-clean-home .iw-clean-text-link {
  display:inline-flex; align-items:center; gap:.55rem; font-size:.89rem;
  font-weight:650; color:#323941;
}
.iw-clean-home .iw-clean-text-link:hover { color:#e45b0b; }
.iw-clean-home .iw-clean-detail {
  color:#848b93; font-size:.77rem; line-height:1.65;
  margin:1.6rem 0 0; letter-spacing:-.005em;
}
.iw-clean-home .iw-clean-detail span { margin:0 .38rem; color:#adb2b8; }
.iw-clean-home .iw-clean-hero-media { margin:0; width:100%; overflow:hidden; border-radius:10px; background:#f1eeeb; }
.iw-clean-home .iw-clean-hero-media img {
  display:block; width:100%; aspect-ratio:1.2; object-fit:cover; object-position:center;
}
.iw-clean-home .iw-clean-section { padding:clamp(3.4rem,6vw,5.4rem) 0; }
.iw-clean-home .iw-clean-section-head { max-width:690px; margin-bottom:1.8rem; }
.iw-clean-home .iw-clean-section h2,
.iw-clean-home .iw-clean-last h2 {
  font-weight:700; letter-spacing:-.042em;
  line-height:1.2; color:#20252b;
  font-size:clamp(1.6rem,2.7vw,2.35rem); margin:0 0 .7rem;
}
.iw-clean-home .iw-clean-section-head p,
.iw-clean-home .iw-clean-last p { color:var(--iw-subtle); font-size:.95rem; line-height:1.65; margin:0; }

.iw-clean-home .iw-clean-services { border-top:1px solid #efefef; }
.iw-clean-home .iw-clean-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.05rem; }
.iw-clean-home .iw-clean-service {
  display:flex; flex-direction:column; gap:0;
  min-width:0; padding:1.6rem 1.45rem 1.45rem;
  border:1px solid var(--iw-border); border-radius:9px;
  color:#20252b; background:#fff; transition:border-color .16s ease;
}
.iw-clean-home .iw-clean-service:hover { border-color:#efb08b; color:#20252b; }
.iw-clean-home .iw-clean-service-icon {
  display:grid; place-items:center; width:42px; height:42px;
  background:#fff4ec; color:#e96717; border-radius:7px;
  font-size:1.15rem; margin-bottom:1.5rem;
}
.iw-clean-home .iw-clean-service h3 {
  font-size:1.1rem; font-weight:650; letter-spacing:-.025em;
  line-height:1.35; margin:0 0 .55rem;
}
.iw-clean-home .iw-clean-service p {
  font-size:.88rem; line-height:1.65; color:#6f7780;
  margin:0 0 1.55rem;
}
.iw-clean-home .iw-clean-service>span:last-child {
  display:inline-flex; align-items:center; gap:.55rem;
  margin-top:auto; color:#e75f0f; font-weight:650; font-size:.83rem;
}
.iw-clean-home .iw-clean-all-services {
  margin-top:1.55rem; display:inline-flex; align-items:center;
  gap:.55rem; color:#e55a08; font-weight:650; font-size:.87rem;
}
.iw-clean-home .iw-clean-all-services:hover { color:#b84808; }

.iw-clean-home .iw-clean-process { background:#f8f9fa; }
.iw-clean-home .iw-clean-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.iw-clean-home .iw-clean-step { border-top:1px solid #dfe3e6; padding-top:1.2rem; }
.iw-clean-home .iw-clean-step>span { display:block; color:#e96313; font-size:.8rem; font-weight:700; margin-bottom:1.1rem; }
.iw-clean-home .iw-clean-step h3 { font-size:1rem; font-weight:650; line-height:1.4; margin:0 0 .5rem; }
.iw-clean-home .iw-clean-step p { color:#6b747e; font-size:.87rem; line-height:1.7; max-width:290px; margin:0; }

.iw-clean-home .iw-clean-support-inner { display:grid; grid-template-columns:.96fr 1.04fr; gap:clamp(2.5rem,6vw,6.4rem); align-items:center; }
.iw-clean-home .iw-clean-support-photo { overflow:hidden; border-radius:9px; background:#f4f4f4; }
.iw-clean-home .iw-clean-support-photo img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; }
.iw-clean-home .iw-clean-support-copy h2 { font-size:clamp(1.75rem,2.8vw,2.65rem); margin:.7rem 0 1.1rem; max-width:430px; }
.iw-clean-home .iw-clean-support-copy>p { color:#69717b; line-height:1.75; font-size:.96rem; max-width:460px; margin:0 0 1.6rem; }

.iw-clean-home .iw-clean-faq { background:#fff; border-top:1px solid #eeeeef; }
.iw-clean-home .iw-clean-faq-inner { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(2rem,6vw,6rem); }
.iw-clean-home .iw-clean-faq-inner>div:first-child p { font-size:.9rem; line-height:1.7; color:#6f7881; }
.iw-clean-home .iw-clean-faq-inner>div:first-child p a { color:#df5606; font-weight:650; }
.iw-clean-home .iw-clean-faq-items { border-top:1px solid #e9ecef; }
.iw-clean-home .iw-clean-faq-items details { border-bottom:1px solid #e9ecef; }
.iw-clean-home .iw-clean-faq-items summary {
  list-style:none; display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:1.25rem .1rem; cursor:pointer; font-size:.91rem;
  font-weight:600; color:#262e36;
}
.iw-clean-home .iw-clean-faq-items summary::-webkit-details-marker { display:none; }
.iw-clean-home .iw-clean-faq-items summary i { color:#e86112; flex:0 0 auto; font-size:.78rem; }
.iw-clean-home .iw-clean-faq-items details[open] summary i { transform:rotate(45deg); }
.iw-clean-home .iw-clean-faq-items details p { color:#6e7781; font-size:.87rem; line-height:1.7; padding:0 1.25rem 1.25rem .1rem; margin:0; }

.iw-clean-home .iw-clean-last { background:#faf7f4; padding:2.6rem 0; }
.iw-clean-home .iw-clean-last-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.iw-clean-home .iw-clean-last h2 { font-size:clamp(1.4rem,2.3vw,1.95rem); margin:0 0 .3rem; }
.iw-clean-home .iw-clean-last p { font-size:.88rem; }
.iw-clean-home :focus-visible { outline:3px solid #ed985e; outline-offset:3px; }

@media(max-width:1199px) {
  body.page-public .public-nav-center { gap:0!important; }
  body.page-public .public-nav-center .nav-link { padding:.75rem 0; }
  body.page-public .public-navbar .navbar-collapse {
    background:#fff; padding:1rem 0 1.5rem; border-top:1px solid #eceeef; margin-top:.5rem;
  }
  body.page-public .public-header-cta-group { padding-top:.8rem; }
  body.page-public .public-navbar .public-mobile-menu-cta { display:inline-flex; }
}
@media(max-width:767px) {
  body.page-public .public-logo { max-width:136px; max-height:43px; }
  body.page-public .public-nav-shell { min-height:65px; }
  body.page-public .public-container { padding-left:20px; padding-right:20px; }
  .iw-clean-home .iw-clean-hero-inner { grid-template-columns:1fr; gap:2.3rem; padding-top:3.25rem; padding-bottom:3.5rem; }
  .iw-clean-home .iw-clean-hero h1 { font-size:clamp(2.3rem,9vw,3.15rem); letter-spacing:-.047em; }
  .iw-clean-home .iw-clean-hero-copy>p:not(.iw-clean-detail) { font-size:.98rem; line-height:1.65; }
  .iw-clean-home .iw-clean-hero-media { max-width:520px; }
  .iw-clean-home .iw-clean-hero-media img { aspect-ratio:1.35; }
  .iw-clean-home .iw-clean-section { padding:3.3rem 0; }
  .iw-clean-home .iw-clean-service-grid { grid-template-columns:1fr; gap:.85rem; }
  .iw-clean-home .iw-clean-service { padding:1.3rem; }
  .iw-clean-home .iw-clean-service-icon { margin-bottom:1rem; }
  .iw-clean-home .iw-clean-step-grid { grid-template-columns:1fr; gap:1.7rem; }
  .iw-clean-home .iw-clean-support-inner { grid-template-columns:1fr; gap:2rem; }
  .iw-clean-home .iw-clean-support-photo img { aspect-ratio:1.5; }
  .iw-clean-home .iw-clean-faq-inner { grid-template-columns:1fr; gap:1.6rem; }
  .iw-clean-home .iw-clean-last-inner { flex-direction:column; align-items:flex-start; gap:1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
 .iw-clean-home .iw-clean-btn,
 .iw-clean-home .iw-clean-service { transition:none; }
}