/* Consulting LP: all rules scoped to this page. Shared site shell stays intact. */
.consulting-page { color:#0a294e; }
.consulting-page .consulting-wrap { width:min(100% - 72px, 840px); margin-inline:auto; }
.consulting-page h1,.consulting-page h2,.consulting-page h3,.consulting-page p { margin-top:0; }
.consulting-page h1,.consulting-page h2,.consulting-page h3 { color:#092a4f; }
.consulting-page h1,.consulting-page h2 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:700; }
.consulting-page .consulting-eyebrow { color:#0ba9bd; font:800 11px/1.5 Arial,sans-serif; letter-spacing:.23em; }
.consulting-page .consulting-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:238px; min-height:51px; padding:10px 22px; border-radius:50px; color:#fff; background:#ff6d52; box-shadow:0 9px 17px #ef947875; font-size:17px; font-weight:800; white-space:nowrap; transition:background .2s,transform .2s; }
.consulting-page .consulting-button:hover { background:#ec543d; transform:translateY(-2px); }
.consulting-page .consulting-button:focus-visible { outline:3px solid #005f89; outline-offset:3px; }
.consulting-hero { position:relative; height:350px; overflow:hidden; background:linear-gradient(90deg,#f7fbef 0%,#fff 48%,#e6f6fb 100%); }
.consulting-hero-photo { position:absolute; top:0; right:max(0px,calc((100vw - 905px)/2)); width:525px; height:360px; background:url("assets/consulting-hero-textless.png") center / cover no-repeat; }
.consulting-hero::after { content:""; position:absolute; top:0; bottom:0; left:0; width:53%; background:linear-gradient(90deg,#fbfcf3 5%,rgba(251,252,243,.95) 61%,rgba(251,252,243,0)); pointer-events:none; }
.consulting-hero-content { position:relative; z-index:1; padding-top:54px; }
.consulting-hero .consulting-eyebrow { margin:0 0 12px 20px; }
.consulting-hero h1 { margin:0 0 13px 18px; font-size:40px; letter-spacing:.02em; line-height:1.35; }
.consulting-hero .consulting-lead { margin:0 0 17px 20px; font-size:15px; font-weight:700; line-height:1.55; }
.consulting-hero .consulting-button { margin-left:20px; min-width:290px; }
.consulting-concerns { padding:25px 0 26px; background:#fcfbf6; }
.consulting-centered { display:flex; align-items:center; justify-content:center; gap:28px; margin:0 0 16px; text-align:center; font-size:24px; line-height:1.4; }
.consulting-centered::before,.consulting-centered::after { content:""; width:57px; height:1px; background:#65c6d0; }
.consulting-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.consulting-card { background:#fff; border-radius:9px; box-shadow:0 7px 22px rgba(42,80,100,.08); }
.concern-card { min-height:220px; padding:11px 12px 13px; text-align:center; }
.consulting-art,.flow-art { background-image:url("assets/consulting-design.png"); background-size:905px 1737px; background-repeat:no-repeat; }
.concern-card .consulting-art { height:126px; max-width:220px; margin:auto; }
.art-concern-1 { background-position:-60px -483px; }
.art-concern-2 { background-position:-348px -483px; }
.art-concern-3 { background-position:-632px -483px; }
.concern-card h3 { margin:0 0 6px; font-size:17px; line-height:1.4; }
.concern-card p { margin:0; color:#4a4a4a; font-size:12px; line-height:1.55; }
.consulting-services { position:relative; isolation:isolate; min-height:450px; overflow:hidden; padding:31px 0 30px; background:linear-gradient(112deg,#e5faff,#effaff 58%,#d8eff8); }
.consulting-services::before { content:""; position:absolute; z-index:-1; width:310px; height:178px; right:max(0px,calc((100vw - 905px)/2)); top:0; background:url("assets/consulting-design.png") -595px -718px / 905px 1737px no-repeat; opacity:.75; }
.consulting-services::after { display:none; }
.consulting-services .consulting-eyebrow { margin:0 0 12px 14px; }
.consulting-services h2 { margin:0 0 8px 14px; font-size:31px; line-height:1.4; }
.consulting-service-intro { margin:0 0 15px 14px; font-size:14px; font-weight:700; line-height:1.7; }
.service-card { height:246px; overflow:hidden; padding:12px 16px 12px; }
.service-heading { display:flex; gap:12px; align-items:center; height:34px; }
.service-heading span,.flow-number { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; color:#fff; background:#8fd6e2; font-family:Georgia,serif; font-size:15px; font-weight:700; }
.service-heading h3 { margin:0; font-size:16px; line-height:1.3; }
.service-card .consulting-art { height:116px; margin:3px -8px 8px; }
.art-service-1 { background-position:-45px -947px; }
.art-service-2 { background-position:-330px -947px; }
.art-service-3 { background-position:-616px -947px; }
.service-card p { margin:0; font-size:12px; font-weight:600; line-height:1.55; }
.consulting-mid-cta { padding:22px 0; background:linear-gradient(100deg,#bdeaf4,#d8f5fa); }
.consulting-cta-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.consulting-cta-row h2 { margin:0 0 4px; font-size:23px; line-height:1.4; }
.consulting-cta-row p { margin:0; font-size:12px; font-weight:600; }
.consulting-mid-cta .consulting-button { min-width:238px; min-height:48px; font-size:15px; box-shadow:none; }
.consulting-flow { padding:20px 0 13px; background:#fcfbf6; }
.consulting-flow .consulting-centered { margin-bottom:3px; }
.flow-intro { margin:0 0 16px; color:#4c4c4c; font-size:12px; text-align:center; }
.consulting-four { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.flow-card { position:relative; height:158px; padding:13px 12px 10px; }
.flow-card:not(:last-child)::after { content:"›"; position:absolute; right:-18px; top:50%; color:#0ea2b8; font-size:28px; transform:translateY(-50%); }
.flow-number { position:absolute; top:9px; left:8px; width:29px; height:29px; font-size:14px; }
.flow-art { width:57px; height:53px; margin:0 auto 2px; }
.art-flow-1 { background-position:-105px -1363px; }
.art-flow-2 { background-position:-325px -1363px; }
.art-flow-3 { background-position:-535px -1363px; }
.art-flow-4 { background-position:-750px -1363px; }
.flow-card h3 { margin:0 0 5px; text-align:center; font-size:16px; }
.flow-card p { margin:0; color:#4b4b4b; font-size:11px; line-height:1.45; }
.consulting-final-cta { padding:30px 0; background:linear-gradient(95deg,#ddf5f8,#d5edf6); }
.consulting-final-cta .consulting-button { min-width:248px; box-shadow:none; font-size:15px; }
@media(max-width:760px){
  .consulting-page .consulting-wrap { width:min(100% - 32px,540px); }
  .consulting-hero { height:auto; padding-bottom:24px; background:#f7fbf7; }
  .consulting-hero-photo { position:relative; right:auto; width:100%; height:230px; background-position:center; background-size:cover; }
  .consulting-hero::after { display:none; }
  .consulting-hero-content { padding-top:22px; }
  .consulting-hero .consulting-eyebrow,.consulting-hero h1,.consulting-hero .consulting-lead,.consulting-hero .consulting-button { margin-left:0; }
  .consulting-hero h1 { font-size:clamp(27px,7vw,38px); }
  .consulting-hero .consulting-lead { font-size:14px; }
  .desktop-break { display:none; }
  .consulting-hero .consulting-button { width:100%; min-width:0; }
  .consulting-centered { gap:12px; font-size:21px; }
  .consulting-centered::before,.consulting-centered::after { width:25px; }
  .consulting-three { grid-template-columns:1fr; gap:14px; }
  .concern-card { min-height:0; padding:8px 12px 17px; }
  .consulting-services { padding:32px 0; }
  .consulting-services h2 { font-size:26px; }
  .service-card { height:auto; min-height:235px; }
  .service-card .consulting-art { max-width:235px; margin-left:auto; margin-right:auto; }
  .consulting-cta-row { display:block; text-align:center; }
  .consulting-cta-row h2 { font-size:21px; }
  .consulting-cta-row p { margin-bottom:13px; }
  .consulting-cta-row .consulting-button { width:100%; min-width:0; }
  .consulting-flow { padding:32px 0; }
  .consulting-four { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .flow-card { height:180px; }
  .flow-card::after { display:none; }
}
@media(max-width:390px){ .consulting-four { grid-template-columns:1fr; } .flow-card { height:145px; } }
