/* Fluid type and grid transitions shared by the review site */
h1,h2,h3,h4,p,a,small,strong { overflow-wrap:anywhere; }
h1,h2,h3,h4 { line-break:strict; text-wrap:pretty; }
main,section,article,nav,div { min-width:0; }
img { max-width:100%; }
.headline-line { width:auto; white-space:normal; }
.philosophy-service-title { position:relative; inset:auto; margin-top:auto; padding:150px 24px 30px; }
.philosophy-service { display:flex; flex-direction:column; min-height:370px; }
.philosophy-service-title strong { padding-right:12px; font-size:clamp(1rem,.85rem + .45vw,1.35rem); }
.philosophy-service-title small { font-size:.75rem; letter-spacing:.08em; }
.philosophy-index small { font-size:.75rem; white-space:normal; }
.philosophy-copy h2 { font-size:clamp(1.6rem,1rem + 2.2vw,3rem); }
.philosophy-copy>p:last-child { font-size:1rem; }
.detail-hero h1 { font-size:clamp(1.85rem,1.2rem + 2.6vw,3.75rem); }
.section-heading h2 { font-size:clamp(2rem,1.2rem + 3.5vw,4.5rem); line-height:1.2; }
.motion-item { opacity:0; translate:0 30px; transition:opacity 900ms cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms),translate 1100ms cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms); }
.motion-visible { opacity:1; translate:0 0; }
@media(min-width:1600px) {
  :root { --pad:max(96px,calc((100vw - 1440px)/2)); }
}
@media(max-width:1200px) {
  .philosophy-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philosophy-service { min-height:360px; }
  .consulting-intro { grid-template-columns:minmax(100px,.25fr) minmax(0,1fr); gap:30px; }
}
@media(max-width:700px) {
  .consulting-intro,.detail-intro,.detail-section,.detail-cta { grid-template-columns:minmax(0,1fr); }
  .philosophy-copy h2 br { display:none; }
  .philosophy-service-title { padding:135px 16px 24px; }
  .philosophy-service { min-height:270px; }
  .philosophy-service-title strong { font-size:1rem; }
  .philosophy-service-title small { font-size:.75rem; letter-spacing:0; }
  .philosophy-service b { display:none; }
  .philosophy-services { padding-left:16px; padding-right:16px; }
  .detail-hero h1 br { display:none; }
  .fee-row { grid-template-columns:1fr; }
  .detail-header { gap:12px; }
  .detail-header .brand { min-width:0; }
  .detail-header .brand-logo { width:min(205px,48vw); }
}
@media(prefers-reduced-motion:reduce) {
  .motion-item { opacity:1; translate:none; transition:none; }
}
/* Six fee categories stay balanced on tablets and desktop. */
.pricing-page .pricing-nav {grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px) {.pricing-page .pricing-nav {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px) {.pricing-page .pricing-nav {grid-template-columns:1fr;}}

/* Five-service homepage layout */
@media(min-width:1200px){.philosophy-service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.philosophy-service-title{padding-left:16px;padding-right:16px}.philosophy-service-title strong{font-size:clamp(15px,1.2vw,19px)}}
@media(min-width:761px) and (max-width:1199px){.philosophy-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.philosophy-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.philosophy-service-grid>.philosophy-service:last-child{grid-column:1 / -1}}
.visual-it-ai{background-image:url('hero-it-ai-selected.png')}
#it-ai{scroll-margin-top:100px}
