/* Only the four industry templates use these classes. */
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) { min-width:0!important; }
.ind { --ind-bg:#f2f2f2; --ind-ink:#151515; --ind-muted:#626262; --ind-line:#d6d6d6; background:var(--ind-bg); color:var(--ind-ink); font-family:Aptos,Arial,sans-serif; }
.ind *, .ind *::before, .ind *::after { box-sizing:border-box; }
.ind a { color:inherit; text-decoration:none; }
.ind button { font:inherit; }
.ind h1,.ind h2,.ind h3,.ind h4,.ind p,.ind figure,.ind ul,.ind ol { margin:0; }
.ind h1,.ind h2,.ind h3,.ind h4 { color:var(--ind-ink); font-weight:500; }
.ind-wrap { max-width:1520px; margin:0 auto; padding:30px 40px 72px; }
.ind-wrap>* { min-width:0; }
.ind-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--ind-muted); font-size:13px; line-height:1.5; margin-bottom:42px; }
.ind-breadcrumbs a:hover { color:var(--ind-ink); }
.ind-eyebrow { color:var(--ind-muted); font-size:12px; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; }
.ind-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:56px; align-items:center; padding-bottom:56px; }
.ind h1 { font-size:clamp(42px,4.7vw,70px); line-height:1.03; letter-spacing:-.04em; margin:20px 0 24px; overflow-wrap:break-word; }
.ind-lead { max-width:650px; font-size:19px; line-height:1.5; color:var(--ind-muted); }
.ind-benefits { list-style:none; padding:0; display:grid; gap:12px; margin-top:24px!important; }
.ind-benefits li { display:flex; gap:12px; align-items:flex-start; font-size:15px; line-height:1.45; }
.ind-benefits svg { width:16px; height:16px; flex-shrink:0; margin-top:3px; }
.ind-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:30px; }
.ind-button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 24px; background:#ffe438; color:#151515; border-radius:12px; font-size:16px; line-height:1.3; font-weight:500; min-height:58px; position:relative; overflow:hidden; isolation:isolate; transition:transform .25s,box-shadow .25s; }
.ind-button::before { content:''; position:absolute; inset:0; background:#fff; transform:translateX(-102%); transition:transform .35s cubic-bezier(.22,1,.36,1); z-index:-1; }
.ind-button:hover::before { transform:translateX(0); }
.ind-button:hover { box-shadow:0 8px 24px #0000000c; transform:translateY(-2px); }
.ind-button svg,.ind-text-link svg { width:23px; height:23px; flex-shrink:0; transition:transform .3s; }
.ind-button:hover svg,.ind-text-link:hover svg { transform:translateX(4px); }
.ind-text-link { display:inline-flex; align-items:center; gap:14px; font-size:16px; line-height:1.4; }
.ind-hero-visual { background:#e5e5e5; border:1px solid #ddd; border-radius:24px; padding:24px; min-width:0; }
.ind-visual-label { display:block; font-size:12px; line-height:1.4; color:var(--ind-muted); margin-bottom:20px; }
.ind-hero-visual>a { display:block; border-radius:14px; overflow:hidden; background:#fff; }
.ind-hero-visual img { display:block; width:100%; height:auto; max-height:420px; object-fit:contain; object-position:top; }
.ind-hero-visual figcaption { margin-top:20px; font-size:15px; line-height:1.35; }
.ind-hero-visual figcaption a { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.ind-hero-visual figcaption svg { width:24px; height:24px; flex-shrink:0; }
.ind-jump { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; border-top:1px solid var(--ind-line); padding:20px 0; }
.ind-jump a { font-size:14px; line-height:1.5; padding:5px 0; border-bottom:1px solid transparent; }
.ind-jump a:hover { border-color:currentColor; }
.ind-section,.ind-reading { padding:64px 0; border-top:1px solid var(--ind-line); scroll-margin-top:110px; }
.ind-section-head { max-width:920px; margin-bottom:32px; }
.ind h2 { font-size:clamp(30px,3.1vw,46px); line-height:1.1; letter-spacing:-.025em; }
.ind-section-head h2 { margin-top:12px; }
.ind-section-head>p:not(.ind-eyebrow) { max-width:830px; font-size:17px; line-height:1.6; color:var(--ind-muted); margin-top:20px; }
.ind-tabs { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.ind-flow--ready .ind-tabs { display:grid; }
.ind-tab { display:flex; align-items:center; justify-content:flex-start; gap:12px; width:100%; padding:19px 20px; border:1px solid var(--ind-line); background:transparent; color:var(--ind-ink); border-radius:14px; min-height:65px; cursor:pointer; text-align:left; line-height:1.3; transition:background .2s,border-color .2s; }
.ind-tab svg { width:25px; height:25px; flex-shrink:0; }
.ind-tab[aria-selected=true] { background:#151515; color:#fff; border-color:#151515; }
.ind-tab:not([aria-selected=true]):hover { background:#fff; border-color:#999; }
.ind-flow-panel { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:44px; padding:36px; background:#fff; border:1px solid #e1e1e1; border-radius:24px; margin-bottom:20px; }
.ind-flow-panel[hidden] { display:none!important; }
.ind-flow-copy { min-width:0; }
.ind-flow-copy h3 { font-size:31px; letter-spacing:-.02em; line-height:1.15; margin:14px 0; }
.ind-flow-copy>p:not(.ind-eyebrow) { color:var(--ind-muted); font-size:16px; line-height:1.55; }
.ind-flow-copy h4 { font-size:16px; line-height:1.4; margin:26px 0 14px; }
.ind-journey { list-style:none; padding:0 0 0 12px; counter-reset:journey; display:grid; gap:0; }
.ind-journey li { position:relative; border-left:1px solid #d3d3d3; padding:0 0 22px 26px; color:var(--ind-muted); font-size:15px; line-height:1.45; }
.ind-journey li::before { content:''; position:absolute; left:-5px; top:5px; width:9px; height:9px; border-radius:50%; background:#151515; outline:5px solid #fff; }
.ind-journey li:last-child { border-color:transparent; padding-bottom:0; }
.ind-checklist { list-style:none; padding:0; display:grid; gap:11px; }
.ind-checklist li { display:flex; align-items:flex-start; gap:11px; color:var(--ind-muted); font-size:15px; line-height:1.45; }
.ind-checklist svg { width:15px; height:15px; flex-shrink:0; margin-top:4px; }
.ind-flow-visual { min-width:0; align-self:center; }
.ind-screen { border:1px solid #d8d8d8; border-radius:16px; overflow:hidden; box-shadow:0 18px 40px #0000000a; }
.ind-screen-bar { padding:14px 18px; border-bottom:1px solid #e8e8e8; display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--ind-muted); font-size:11px; }
.ind-screen-dots { display:flex; gap:4px; }
.ind-screen-dots i { width:5px; height:5px; border-radius:50%; background:#bcbcbc; }
.ind-screen-body { padding:26px; background:linear-gradient(140deg,#f9f9f9,#fff); }
.ind-screen-symbol { display:flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:18px; background:#e8e8e8; margin-bottom:22px; }
.ind-screen-symbol svg { width:35px; height:35px; }
.ind-screen-title { font-size:24px; line-height:1.2; letter-spacing:-.015em; margin-bottom:20px!important; }
.ind-screen-items { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ind-screen-items>div { padding:15px 12px; min-height:64px; display:flex; align-items:center; font-size:13px; line-height:1.4; border:1px solid #e1e1e1; border-radius:9px; background:#fff; }
.ind-screen-action { display:flex; justify-content:space-between; align-items:center; gap:12px; background:#222; color:#fff; padding:14px 16px; border-radius:9px; font-size:14px; line-height:1.4; margin-top:16px!important; }
.ind-screen-action svg { width:20px; height:20px; flex-shrink:0; }
.ind-flow-result { display:flex; gap:14px; margin-top:24px; }
.ind-flow-result>span { display:flex; align-items:center; justify-content:center; width:30px; height:30px; background:#ffe438; border-radius:50%; flex-shrink:0; }
.ind-flow-result svg { width:14px; height:14px; }
.ind-flow-result h4 { font-size:16px; line-height:1.4; margin-bottom:6px; }
.ind-flow-result p { font-size:14px; line-height:1.55; color:var(--ind-muted); }
.ind-note { margin-top:16px!important; max-width:900px; font-size:14px; line-height:1.5; color:var(--ind-muted); }
.ind-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ind-value-grid>article { border-top:2px solid #222; padding:24px 0 0; }
.ind-value-icon { display:block; width:31px; height:31px; margin-bottom:22px; }
.ind-value-icon svg { width:100%; height:100%; }
.ind-value-grid h3,.ind-deliverables h3 { font-size:23px; line-height:1.15; letter-spacing:-.015em; margin-bottom:12px; }
.ind-value-grid p,.ind-deliverables p { font-size:15px; line-height:1.6; color:var(--ind-muted); }
.ind-deliverables { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ind-deliverables>article { border:1px solid #fff; border-radius:20px; padding:28px; background:rgba(255,255,255,.8); box-shadow:0 3px 12px #00000003; }
.ind-options { margin-top:28px; padding:32px; border-radius:20px; background:#e7e7e7; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:40px; }
.ind-options h3 { font-size:27px; line-height:1.15; letter-spacing:-.02em; margin:12px 0; }
.ind-options p { color:var(--ind-muted); font-size:15px; line-height:1.55; }
.ind-option-list>div+div { border-top:1px solid #ccc; padding-top:18px; margin-top:18px; }
.ind-option-list h4 { font-size:18px; line-height:1.3; margin-bottom:8px; }
.ind-section-head--row { max-width:none; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.ind-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ind-case { min-width:0; }
.ind-case-cover { display:block; overflow:hidden; border-radius:22px; aspect-ratio:1.28; background:#e5e5e5; margin-bottom:20px; }
.ind-case-cover img { width:100%; height:100%; display:block; object-fit:cover; object-position:top; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.ind-case:hover img { transform:scale(1.035); }
.ind-case-client { font-size:12px; color:var(--ind-muted); margin-bottom:8px!important; }
.ind-case h3 { font-size:23px; line-height:1.15; letter-spacing:-.015em; margin-bottom:10px; }
.ind-case>p:not(.ind-case-client) { font-size:14px; line-height:1.4; color:var(--ind-muted); }
.ind-case>.ind-text-link { margin-top:18px; font-size:14px; }
.ind-process-list>article { display:grid; grid-template-columns:40px minmax(0,1.4fr) minmax(0,1fr); gap:28px; padding:28px 0; border-top:1px solid var(--ind-line); }
.ind-process-list>article:last-child { border-bottom:1px solid var(--ind-line); }
.ind-process-icon { width:30px; height:30px; margin-top:2px; }
.ind-process-icon svg { width:100%; height:100%; }
.ind-process-list h3 { font-size:25px; line-height:1.2; margin-bottom:12px; }
.ind-process-list p { color:var(--ind-muted); font-size:15px; line-height:1.6; max-width:600px; }
.ind-approval { padding-left:28px; border-left:1px solid var(--ind-line); }
.ind-approval>span { display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:12px; }
.ind-management { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:center; }
.ind-management h2,.ind-brief h2 { margin:12px 0 22px; }
.ind-management>div>p:not(.ind-eyebrow),.ind-brief>div>p:not(.ind-eyebrow) { color:var(--ind-muted); font-size:17px; line-height:1.6; }
.ind-management .ind-text-link { margin-top:24px; }
.ind-management-card { border-radius:22px; padding:32px; background:#fff; }
.ind-management-card h3 { font-size:23px; line-height:1.2; margin-bottom:22px; }
.ind-management-card ul { list-style:none; padding:0; }
.ind-management-card li { display:flex; gap:13px; font-size:16px; line-height:1.5; padding:16px 0; border-bottom:1px solid #e5e5e5; }
.ind-management-card svg { width:17px; height:17px; flex-shrink:0; margin-top:4px; }
.ind-management-card>p { font-size:14px; line-height:1.5; color:var(--ind-muted); margin-top:20px; }
.ind-brief { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:start; }
.ind-brief-note { font-size:15px!important; border-left:2px solid #222; padding-left:18px; margin:24px 0!important; }
.ind-brief-list { list-style:none; padding:0; display:grid; gap:0; }
.ind-brief-list li { display:flex; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid var(--ind-line); font-size:17px; line-height:1.5; }
.ind-brief-list li:first-child { border-top:1px solid var(--ind-line); }
.ind-brief-list svg { width:23px; height:23px; flex-shrink:0; }
.ind-faq { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:64px; }
.ind-faq-item { border-top:1px solid var(--ind-line); }
.ind-faq-item:last-child { border-bottom:1px solid var(--ind-line); }
.ind-faq-item summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; cursor:pointer; }
.ind-faq-item summary::-webkit-details-marker { display:none; }
.ind-faq-item h3 { font-size:21px; line-height:1.3; }
.ind-faq-item summary svg { width:23px; height:23px; flex-shrink:0; transition:transform .25s; }
.ind-faq-item[open] summary svg { transform:rotate(45deg); }
.ind-faq-item>p { font-size:16px; line-height:1.65; color:var(--ind-muted); padding:0 36px 24px 0; }
.ind-links { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.ind-links>a { display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--ind-line); padding:25px 0; font-size:22px; line-height:1.2; position:relative; }
.ind-links svg { width:24px; height:24px; flex-shrink:0; transition:transform .3s; }
.ind-links>a::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:#151515; transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.ind-links>a:hover::after { transform:scaleX(1); }
.ind-links>a:hover svg { transform:translateX(5px); }
.ind-reading .ish-block { margin:0; }
.ind-reading h2 { margin-bottom:32px; }
.ind-reading .ish-articles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ind-reading .ish-article { background:#fff; border:0; border-radius:18px; padding:24px; display:block; transition:transform .3s; }
.ind-reading .ish-article:hover { transform:translateY(-3px); }
.ind-reading h3 { font-size:20px; line-height:1.25; }
.ind-reading .ish-article p { color:var(--ind-muted); font-size:14px; line-height:1.5; margin-top:16px; }
.ind-reading h3>span { display:none; }
.ind-cta { padding:44px; background:#222; color:#fff; border-radius:24px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:50px; align-items:center; scroll-margin-top:110px; }
.ind-cta .ind-eyebrow { color:#bbb; }
.ind-cta h2 { color:#fff; margin:12px 0 22px; }
.ind-cta p:not(.ind-eyebrow) { color:#bbb; font-size:17px; line-height:1.5; max-width:650px; }
.ind-cta .ind-cta-next { margin-top:20px; font-size:14px!important; }
.ind-cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.ind .ind-cta .ind-button { color:#151515; }
.ind-contact-phone { font-size:23px; margin-top:8px; }
.ind-cta-actions>.ind-text-link { color:#bbb; font-size:14px; }
.ind a:focus-visible,.ind button:focus-visible,.ind summary:focus-visible,.ind [role=tabpanel]:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .face-wrapper { display:none; }
/* Keep the existing header modal within these four pages' neutral palette. */
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalInput { border:1px solid #ccc; border-radius:8px; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalInput:focus { border-color:#151515; outline-color:#151515; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalButton { color:#151515; background:#ffe438; border:1px solid #ffe438; border-radius:10px; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalButton:hover { color:#fff; background:#222; border-color:#222; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalQuickCons { background:#eee; color:#151515; }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 { max-width:calc(100vw - 32px); }
body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .js_alModalClose { top:12px; right:12px; filter:invert(1); }
@media(max-width:1100px) {
  .ind-wrap { padding:24px 28px 50px; }
  .ind-hero { gap:32px; }
  .ind h1 { font-size:48px; }
  .ind-flow-panel { padding:28px; gap:28px; }
  .ind-flow-copy h3 { font-size:28px; }
  .ind-tab { padding:17px 15px; font-size:15px; }
  .ind-options { gap:28px; }
  .ind-management,.ind-brief,.ind-faq { gap:36px; }
  .ind-deliverables>article { padding:24px; }
  .ind-cta { gap:32px; padding:36px; }
}
@media(max-width:900px) {
  .ind-hero { grid-template-columns:1fr; padding-bottom:40px; }
  .ind-hero-visual { max-width:680px; width:100%; }
  .ind h1 { max-width:780px; font-size:clamp(40px,6vw,54px); }
  .ind-hero-visual img { max-height:350px; }
  .ind-flow-panel { grid-template-columns:1fr; gap:32px; }
  .ind-flow-visual { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; align-items:center; }
  .ind-flow-result { margin:0; }
  .ind-deliverables { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ind-value-grid { gap:22px; }
  .ind-options { grid-template-columns:1fr; }
  .ind-faq { grid-template-columns:1fr; gap:0; }
  .ind-cta { grid-template-columns:1fr; }
}
@media(max-width:767px) {
  .ind-wrap { padding:24px 20px 36px; }
  .ind-breadcrumbs { margin-bottom:30px; font-size:12px; }
  .ind h1 { font-size:42px; }
  .ind-lead { font-size:17px; }
  .ind-actions { gap:22px; }
  .ind-hero-visual { padding:20px; }
  .ind-jump { gap:8px 22px; }
  .ind-section,.ind-reading { padding:44px 0; }
  .ind-tabs { grid-template-columns:1fr; gap:8px; }
  .ind-tab { min-height:54px; padding:14px 18px; font-size:16px; }
  .ind-flow-panel { padding:24px; border-radius:20px; }
  .ind-flow-visual { display:block; }
  .ind-flow-result { margin-top:24px; }
  .ind-screen-body { padding:22px; }
  .ind-value-grid,.ind-deliverables,.ind-cases,.ind-management,.ind-brief,.ind-links,.ind-reading .ish-articles { grid-template-columns:1fr; }
  .ind-value-grid { gap:28px; }
  .ind-deliverables>article { padding:26px; }
  .ind-options { padding:26px; }
  .ind-cases { gap:32px; }
  .ind-process-list>article { grid-template-columns:28px minmax(0,1fr); gap:18px; }
  .ind-process-icon { width:25px; height:25px; }
  .ind-approval { grid-column:2; border-left:0; padding:14px 0 0; border-top:1px solid var(--ind-line); }
  .ind-management-card { padding:26px; }
  .ind-management,.ind-brief { gap:28px; }
  .ind-faq-item h3 { font-size:20px; }
  .ind-faq-item>p { padding-right:0; }
  .ind-section-head--row { align-items:start; flex-direction:column; }
  .ind-links { gap:0; }
  .ind-links>a { font-size:21px; padding:23px 0; }
  .ind-cta { padding:28px; gap:30px; }
  .ind-contact-phone { font-size:21px; }
}
@media(max-width:400px) {
  .ind h1 { font-size:36px; }
  .ind-button { gap:18px; padding:17px 18px; }
  .ind-flow-panel { padding:20px; }
  .ind-flow-copy h3 { font-size:26px; }
  .ind-screen-body { padding:18px; }
  .ind-screen-items { grid-template-columns:1fr; }
  .ind-cta { padding:24px 20px; }
  body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalContent { padding:44px 20px 24px; }
  body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .alModalButton { font-size:13px; width:100%; padding:14px 6px; height:auto; min-height:48px; }
  body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .g-recaptcha { width:100%!important; height:62px; margin:0 auto 10px!important; }
  body:is(.page-id-4519,.page-id-4429,.page-id-4420,.page-id-4426) .js_modal-1 .g-recaptcha>div { transform:scale(.75); transform-origin:top left; }
}
@media(prefers-reduced-motion:reduce) { .ind *, .ind *::before, .ind *::after { transition:none!important; } .ind-case:hover img,.ind-button:hover,.ind-button:hover svg,.ind-text-link:hover svg,.ind-links>a:hover svg,.ind-reading .ish-article:hover { transform:none; } }
