/* Original statistical illustration system. Existing brand tokens are unchanged.
   Motion is a short, once-per-visit enhancement; reading never depends on JS. */
.hero{overflow:hidden;background:radial-gradient(ellipse at 88% 24%,#4b95d023,transparent 53%),linear-gradient(120deg,#f8fbff,#eef5fc 64%,#e2f0fb)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#4b95d034 .8px,transparent .8px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent 40%,#000)}
.hero-layout{gap:38px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.hero-studio{padding-top:0}
.stat-scene{position:relative;margin:0;min-width:0;isolation:isolate}
.stat-scene-svg{display:block;width:100%;height:auto;overflow:visible}
.stat-scene figcaption{margin:0 0 16px;text-align:center;font-size:11px;line-height:1.5;color:var(--blue-700);letter-spacing:.025em}
.art-depth{transform:perspective(900px) rotateX(var(--art-x,0deg)) rotateY(var(--art-y,0deg));transition:transform .3s ease-out;transform-style:preserve-3d}
.hero-studio>.stat-scene{margin:-30px -24px -4px}
.hero-studio>.stat-scene .stat-scene-svg{max-height:355px}
.hero-studio .hero-guide{padding:24px;background:linear-gradient(135deg,#ffffffeb,#ffffffa6);box-shadow:inset 0 1px 0 #fff,0 14px 40px -20px #245f8d4a}
.hero-studio .hero-guide h2{font-size:25px}
.hero-studio .hero-checklist li{padding:11px 0}
.hero-studio .hero-checklist p{font-size:13px;line-height:1.5}
.hero-studio .delivery-scope{font-size:12px;margin:12px 0}
.hero-studio .guide-kicker{font-size:10px}
/* Six different subject illustrations, not six copies of a generic chart. */
.home-services .svc{position:relative;overflow:hidden;padding:0;display:flex;flex-direction:column;gap:0;background:linear-gradient(145deg,#fff,#f6f9fc);border-color:#cddfeb}
.service-art{display:block;position:relative;width:100%;height:160px;flex:none;background:radial-gradient(ellipse at 50% 45%,#4b95d023,transparent 70%),linear-gradient(120deg,#f2f7fb,#e4eff8);border-bottom:1px solid #d4e3ed;overflow:hidden}
.service-art::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff88 48%,transparent 66%);transform:translateX(-110%);pointer-events:none}
.service-art svg{width:100%;height:100%;display:block}
.mini-paper{fill:#ffffffed;stroke:#a9cbe4;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 7px 5px #245f8d18)}
.mini-rule{fill:none;stroke:#4b95d0;stroke-width:2;stroke-linecap:round;opacity:.6}
.mini-bars{stroke:#4b95d0;stroke-width:11;stroke-linecap:round}
.mini-node{fill:#4b95d0;stroke:#fff;stroke-width:2}
.mini-ink,.mini-curve{fill:none;stroke:#245f8d;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.mini-white{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.mini-orbit{fill:none;stroke:#4b95d0;stroke-width:1;opacity:.15}
.home-services .svc>.n{position:absolute;top:140px;right:22px;width:40px;height:40px;border-radius:12px;z-index:1}
.home-services .svc>div{padding:28px 24px 24px;flex:1;display:flex;flex-direction:column}
.home-services .svc h3{font-size:19px;line-height:1.3;padding-right:14px}
.home-services .svc p{margin-bottom:16px}
.home-services .svc .more{margin-top:auto}
/* Shared service illustration: source order keeps all contact links first. */
.service-hero-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px;align-items:center}
.service-hero-copy{min-width:0}
.service-hero-layout .stat-scene{margin-inline:-15px}
.service-hero-layout .stat-scene figcaption{font-size:11px}
.page-hero{overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#4b95d02b .8px,transparent .8px);background-size:25px 25px;mask-image:linear-gradient(90deg,transparent 35%,#000);pointer-events:none}
.service-hero-copy h1{font-size:clamp(30px,3.6vw,47px)}
.service-hero-copy .page-hero-actions .btn{font-size:13px;padding:13px 15px}
/* Sculptural editorial covers, with an intentionally illustrative graph. */
.post .ph.post-method-visual,.article-cover .ph.post-method-visual{background:radial-gradient(ellipse at 100% 0%,#4b95d038,transparent 65%),linear-gradient(135deg,#e4eff8,#f2f7fb 60%,#d5e7f5);color:var(--ink)}
.post .ph.post-method-visual::before,.article-cover .ph.post-method-visual::before{top:auto;bottom:40px;right:11%;width:74%;height:59%;border:1px solid #fff;border-radius:16px;background:linear-gradient(135deg,#ffffffef,#ffffff80);box-shadow:9px 9px 0 -1px #4b95d025,10px 10px 0 0 #4b95d025,0 16px 22px -14px #245f8d45;transform:rotate(-7deg)}
.post .ph.post-method-visual::after,.article-cover .ph.post-method-visual::after{content:"";position:absolute;z-index:-1;right:-45px;top:45px;width:180px;height:180px;border:1px solid #4b95d02b;border-radius:50%;box-shadow:0 0 0 24px #4b95d008,0 0 0 25px #4b95d015}
.post-method-visual .ph-label{position:relative;z-index:1;background:#fff9;border:1px solid #fff;color:var(--blue-700);box-shadow:0 3px 10px #245f8d0c;font-weight:650}
.post-method-visual .post-method-svg{right:14%;width:71%;height:142px;bottom:43px;transform:rotate(-7deg);filter:drop-shadow(0 4px 2px #245f8d0d)}
.post-method-svg .visual-grid path{stroke:#4b95d018}
.post-method-svg .visual-axis path{stroke:#2b6f9f45}
.post-method-svg .visual-lines path,.post-method-svg .visual-links path,.post-method-svg .visual-report path,.post-method-svg .visual-table path,.post-method-svg .visual-ci path,.post-method-svg .visual-box path{stroke:#4b95d0;stroke-width:2}
.post-method-svg .visual-lines .strong,.post-method-svg .visual-ring .strong{stroke:#245f8d;stroke-width:3}
.post-method-svg .visual-points circle,.post-method-svg .visual-focus,.post-method-svg .visual-ci circle{fill:#4b95d0;stroke:#fff}
.post-method-svg .visual-bars rect{fill:#4b95d0;stroke:#2b6f9f}
.post-method-svg .visual-bars rect:nth-child(3n){fill:#a9d3f0}
.post-method-svg .visual-nodes circle,.post-method-svg .visual-nodes rect{fill:#e4eff8;stroke:#4b95d0;stroke-width:2}
.post-method-svg .visual-cells rect{fill:#4b95d055;stroke:#4b95d0}
.post-method-svg .visual-cells rect:nth-child(3n+2){fill:#4b95d0b3}
.post-method-svg .visual-ring circle{stroke:#4b95d02b}
.post-method-svg .visual-report rect,.post-method-svg .visual-box rect{fill:#4b95d033;stroke:#2b6f9f}
.post-method-svg text,.post-method-svg .visual-table circle{fill:#245f8d}
.post-method-visual .cover-signature{color:var(--blue-700);font-size:8px;z-index:1}
body[data-page="/"] .post .ph{min-height:220px}
body[data-page="/"] .post-method-visual .post-method-svg{height:120px;bottom:43px}
/* Light depth and ornament, without placing decoration over text. */
.step{position:relative;overflow:hidden}
.step::after{content:"";position:absolute;pointer-events:none;width:90px;height:90px;right:-30px;top:-30px;border:1px solid #4b95d030;border-radius:50%;box-shadow:0 0 0 15px #4b95d009,0 0 0 16px #4b95d015}
.review-card{position:relative}
.review-card::after{content:"“";position:absolute;right:20px;top:12px;font-family:Georgia,serif;font-size:80px;line-height:1;color:#4b95d014;pointer-events:none}
.cta-band{position:relative;isolation:isolate;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-100px;top:-140px;width:410px;height:410px;border:1px solid #ffffff20;border-radius:50%;box-shadow:0 0 0 29px #ffffff06,0 0 0 30px #ffffff10,0 0 0 59px #ffffff03,0 0 0 60px #ffffff0d;pointer-events:none;z-index:-1}
.home-additional-services a{transition:box-shadow .3s,border-color .3s}
/* Four-second opening choreography, no perpetual looping or scroll hijacking. */
@keyframes art-assemble{0%{transform:translateY(20px) rotate(3deg)}55%{transform:translateY(-5px) rotate(-1deg)}100%{transform:none}}
@keyframes art-orbit-in{from{transform:rotate(-12deg) scale(.93)}to{transform:none}}
@keyframes art-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes art-pearl-in{0%{transform:translateY(-12px)}50%{transform:translateY(5px)}100%{transform:none}}
@keyframes art-shine{to{transform:translateX(110%)}}
@keyframes art-mini-in{0%{transform:translateY(12px) rotate(-4deg)}60%{transform:translateY(-3px) rotate(1deg)}100%{transform:none}}
.art-enter .art-main-sheet{animation:art-assemble 2s cubic-bezier(.2,.7,.2,1) both}
.art-enter .art-data-sheet{animation:art-assemble 2.3s .1s cubic-bezier(.2,.7,.2,1) both}
.art-enter .art-report-sheet{animation:art-assemble 2.5s .2s cubic-bezier(.2,.7,.2,1) both}
.art-enter .art-orbits{transform-origin:329px 245px;animation:art-orbit-in 3.5s ease-out both}
.art-enter .art-pearls{animation:art-pearl-in 3.8s ease-in-out both}
.art-enter .art-curve{stroke-dasharray:1;animation:art-trace 2.3s .35s ease both}
.art-enter .mini-object{transform-origin:center;animation:art-mini-in 1.3s ease both}
.service-art.art-enter::after{animation:art-shine 1.6s .2s ease-out}
.art-enter .post-method-svg{animation:art-mini-in 1.5s ease-out}
.art-motion-suspended *{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){
  .home-services .svc:hover,.home-services .svc:focus-visible{transform:translateY(-6px);border-color:#91bddd;box-shadow:0 18px 36px -14px #245f8d45,inset 0 1px 0 #fff}
  .home-services .svc .mini-object{transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:center}
  .home-services .svc:hover .mini-object,.home-services .svc:focus-visible .mini-object{transform:translateY(-5px) rotate(-3deg)}
  .home-services .svc:hover .service-art::after{animation:art-shine 1s ease-out}
  .post:hover .post-method-svg,.post:focus-visible .post-method-svg{transform:rotate(-3deg) translateY(-4px) scale(1.03)}
  .home-additional-services a:hover{border-color:#91bddd;box-shadow:0 9px 20px #245f8d0f}
}
@media(max-width:1000px){
  .hero-layout{grid-template-columns:1fr;gap:26px}
  .hero-studio{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
  .hero-studio>.stat-scene{margin:0 -10px}
  .service-hero-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
  .service-hero-layout .stat-scene{margin:0 -16px}
  .service-hero-copy h1{font-size:clamp(30px,4.5vw,44px)}
}
@media(max-width:680px){
  .hero-layout{gap:14px}
  .hero-studio{display:block}
  .hero-studio>.stat-scene{margin:0 -6px 8px}
  .hero-studio>.stat-scene .stat-scene-svg{max-height:245px}
  .hero-studio>.stat-scene figcaption{font-size:10px;margin-top:-7px;margin-bottom:18px}
  .hero-studio .hero-guide{padding:22px}
  .home-services .svc{display:grid;grid-template-columns:98px minmax(0,1fr);align-items:stretch;padding:0;gap:0}
  .service-art{height:100%;min-height:168px;border-bottom:0;border-right:1px solid #d4e3ed;display:flex;align-items:center}
  .service-art svg{width:150px;max-width:none;flex-shrink:0;margin-left:-26px}
  .home-services .svc>.n{display:none}
  .home-services .svc>div{padding:18px 16px}
  .home-services .svc h3{font-size:17px;padding:0}
  .home-services .svc p{font-size:13px;line-height:1.55;margin-bottom:9px}
  .home-services .svc .more{font-size:12px}
  .service-hero-layout{display:flex;flex-direction:column;gap:10px;align-items:stretch}
  .service-hero-layout .stat-scene{max-width:330px;width:100%;margin:0 auto}
  .service-hero-layout .stat-scene-svg{max-height:200px}
  .service-hero-layout .stat-scene figcaption{font-size:10px;margin:-6px 0 0}
  .service-hero-copy h1{font-size:clamp(29px,7.8vw,40px)}
  .service-hero-copy .page-hero-actions .btn{font-size:13px}
  .article-cover .ph.post-method-visual{min-height:240px}
  .article-cover .post-method-svg{height:130px;bottom:47px}
}
@media(prefers-reduced-motion:reduce){
  .art-depth{transform:none!important;transition:none!important}
  [data-art-motion] *,[data-art-motion]::after{animation:none!important;transition:none!important}
  .home-services .svc:hover,.home-services .svc:hover .mini-object{transform:none}
}
html.motion-paused .art-depth{transform:none!important}
@media print{.stat-scene,.service-art{display:none}.service-hero-layout{display:block}.hero-studio{display:block}}
