/* Inner-page refinements. Home deliberately retains its existing styling. */
.page--inner .wrap { width:calc(100% - clamp(40px,8vw,128px)); max-width:1360px; }
.page--inner .band { padding-block:clamp(64px,7vw,112px); }
.page--inner .display { font-size:clamp(34px,3.6vw,58px); line-height:1.08; letter-spacing:-.035em; max-width:22ch; }
.page--inner h1.display { font-size:clamp(42px,4.6vw,72px); max-width:19ch; }
.page--inner .statement,.page--inner .sol-hero .statement { font-size:clamp(18px,1.4vw,21px); line-height:1.55; max-width:51ch; margin-top:28px; }
.page--inner .prose { font-size:clamp(17px,1.3vw,20px); line-height:1.65; max-width:62ch; }
.page--inner .kicker { margin-bottom:24px; }
.page--inner .btn-pear { border-radius:4px; min-height:46px; }
.page--inner .sol-hero--interactive { padding-top:calc(76px + clamp(32px,4vw,64px)); padding-bottom:48px; position:relative; }
.page--inner .sol-hero__grid { position:static; min-height:440px; display:block; }
.page--inner .sol-hero__copy { position:relative; z-index:1; max-width:52%; }
.page--inner .sol-star-bg {
  position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.92;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 40%, black 58%);
  mask-image: linear-gradient(to right, transparent 0%, transparent 40%, black 58%);
}
.page--inner .sol-star-bg canvas { display:block; width:100%; height:100%; touch-action:pan-y; }
.page--inner .sol-star-bg canvas:focus-visible { outline:1px solid var(--violet); outline-offset:-8px; }
.page--inner .uc-table { margin-top:32px; }
.page--inner .uc-row { padding:24px 24px 24px 0; }
.page--inner .uc-row__title { font-size:clamp(20px,1.8vw,27px); line-height:1.25; }
.page--inner .uc-row__brief { font-size:17px; line-height:1.6; max-width:48ch; }
.page--inner .uc-table__detail { padding:28px 0 28px 28px; border-left:1px solid var(--ink-hair); }
.page--inner .uc-panel__headline { font-size:clamp(27px,2.6vw,40px); line-height:1.15; max-width:none; }
.page--inner .uc-point p { font-size:18px; line-height:1.6; }
.page--inner .stack__card { padding:32px; }
.page--inner .stack__card h3 { font-size:clamp(24px,2.2vw,32px); line-height:1.2; }
.page--inner .stack__card p { font-size:17px; line-height:1.6; }
.page--inner .stack__link { font-size:16px; line-height:1.4; }
.page--inner .about-hero { padding-top:calc(76px + clamp(56px,7vw,112px)); min-height:570px; }
.page--inner .about-hero .wrap { z-index:1; }
.page--inner .about-wave-bg { opacity:.38; }
.page--inner .about-hero h1 { max-width:23ch; }
.page--inner .inner-editorial { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,8vw,128px); align-items:start; }
.page--inner .inner-editorial .prose:first-child { margin-top:0; }
.page--inner .inner-values { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:52px; }
.page--inner .inner-values article { border-top:1px solid #cbc5d3; padding-top:24px; }
.page--inner .inner-values article>span { font:500 13px var(--font-display); color:#5a2cc0; }
.page--inner .inner-values h3 { font-size:25px; margin:22px 0 16px; }
.page--inner .inner-values p { font-size:18px; line-height:1.6; }
.page--inner .inner-cta { background:#5a2cc0; color:white; }
.page--inner .inner-cta .display,.page--inner .inner-cta .prose,.page--inner .inner-cta .kicker { color:white; }
.page--inner .inner-cta .btn-pear { margin-top:20px; }
.page--inner .contact-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(40px,8vw,120px); padding-block:48px; }
.page--inner .contact-intro h1 { max-width:14ch; }
.page--inner .hero__sub--sm { font-size:19px; line-height:1.6; max-width:42ch; margin-top:28px; }
.page--inner .contact-direct { font-size:17px; line-height:1.8; margin-top:42px; color:#fff; }
.page--inner .contact-direct a { color:white; text-underline-offset:5px; }
.page--inner .hero--contact .form { margin:8px 0 0; max-width:none; width:100%; gap:24px; }
.page--inner .field label { font-size:15px; line-height:1.4; }
.page--inner .field input,.page--inner .field textarea { box-sizing:border-box; width:100%; min-width:0; min-height:50px; background:rgba(255,255,255,.96); color:#161020; border:1px solid #ddd1ed; border-radius:3px; padding:13px 15px; font:400 17px/1.5 var(--font-display); }
.page--inner .field textarea { resize:vertical; min-height:145px; }
.page--inner .field textarea:focus-visible { outline:2px solid white; outline-offset:3px; }
.page--inner .contact-privacy { font-size:13px; line-height:1.6; color:#fff; margin:0; }
.page--inner .contact-privacy a { color:inherit; }
.page--inner .form .btn-pear { justify-self:start; }
.page--inner .legal-page { padding-top:calc(76px + 70px); min-height:70vh; }
.page--inner .legal-copy { max-width:70ch; margin-top:40px; }
.page--inner .legal-copy h2 { font-size:25px; margin-top:36px; }
.page--inner .legal-copy p { font-size:18px; line-height:1.65; }
.page--inner .case-detail__grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:8%; }
.page--inner .case-detail__grid img { width:100%; height:auto; border-radius:3px; }
.page--inner .case-detail__grid p { font-size:18px; line-height:1.65; }
.page--inner .case-detail__grid h2 { font-size:clamp(30px,3vw,44px); }
.page--inner .case-detail__grid h3 { font-size:20px; }
@media(max-width:860px) {
 .page--inner .sol-hero__copy { max-width:100%; }
 .page--inner .sol-hero__grid { min-height:0; }
 .page--inner .sol-star-bg {
   position:absolute; inset:auto; top:0; left:0; right:0; width:100%; height:320px; max-width:none; margin:0;
   opacity:.5; pointer-events:none; z-index:0;
   -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 94%);
   mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 94%);
 }
 .page--inner .sol-hero .statement { margin-bottom:8px; }
 .page--inner .inner-editorial,.page--inner .contact-layout,.page--inner .case-detail__grid { grid-template-columns:1fr; gap:32px; }
 .page--inner .inner-values { grid-template-columns:1fr; gap:24px; }
 .page--inner .uc-table__detail { padding:28px 0; border-left:0; }
 .page--inner .contact-layout { padding-top:20px; }
 .page--inner .contact-intro h1 { max-width:18ch; }
 .page--inner .case-detail__grid img { max-height:400px; }
 .page--inner .about-hero { min-height:0; }
}
@media(max-width:480px) {
 .page--inner .sol-star-bg { height:280px; }
 .page--inner .stack__card { padding:24px; }
 .page--inner .uc-row { padding-right:0; }
}
.page--inner .contact-layout .form { padding:32px; background:#5026b6; border:1px solid rgba(255,255,255,.2); border-radius:4px; }
@media(max-width:480px) { .page--inner .contact-layout .form { padding:24px 20px; } }
.page--inner .uc-row { padding-left:24px; }
@media(max-width:480px) { .page--inner h1.display { font-size:38px; } .page--inner .uc-row { padding-inline:16px; } }
