/* One model, physically placed in reserved spaces inside each section. */
.block-canvas{position:absolute;display:block;pointer-events:none}
.block-model-ready .material-form{visibility:hidden}
.material-dock{position:relative;min-width:0;height:420px;isolation:isolate;overflow:clip;display:block}
.material-dock .experience-object{position:absolute;left:50%;top:47%;z-index:1;transform:none;perspective:1100px;opacity:1;will-change:auto}
.material-ground{position:absolute;inset:auto 15% 9%;height:18%;border-radius:50%;background:radial-gradient(ellipse,#dbe7ff30,transparent 68%);transform:scaleX(calc(.85 + var(--material-progress,0)*.25));border-bottom:1px solid #1d4ed830}
.motion-paused .material-dock .experience-object{visibility:visible!important}
@media(prefers-reduced-motion:reduce){.material-dock .experience-object{visibility:visible!important}}
/* The service message and the object share a reading row, with no overlap. */
@media(min-width:1001px) and (min-height:651px){
 .motion-enabled .services-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-content:center;column-gap:5%;row-gap:20px}
 .services-stage>.section-label,.services-stage>.service-intro-heading,.services-stage>.service-starts,.services-stage>.text-cta{grid-column:1/-1}
 .services-stage>.services-rail{grid-column:1;grid-row:4;align-self:center}
 .services-stage>.material-dock{grid-column:2;grid-row:4}
 .motion-enabled .service-intro-grid article{width:46vw;max-width:none}
 .motion-enabled .service-intro-grid h3{font-size:clamp(32px,3.3vw,52px)}
 .motion-enabled .service-intro-heading h2{font-size:clamp(40px,4vw,64px)}
 .motion-enabled .service-intro-grid p{font-size:17px}
}
.identity-sample .identity-symbol{display:none}
.material-dock-campaign{height:340px;margin:0 -20px}
.process-statement{position:sticky;top:130px;min-width:0}
.process-statement h2{font:inherit;font-size:clamp(38px,4.7vw,68px);line-height:1.1;letter-spacing:-.045em;margin:0}
.material-dock-process{height:340px;margin-top:25px}
#contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:5%;align-items:center}
#contact>.section-label,#contact>.contact-bottom,#contact>.next-step-note,#contact>.depth-type{grid-column:1/-1}
#contact>.big-contact{font-size:clamp(54px,6.2vw,100px);transform:none;grid-column:1}
#contact>.material-dock{grid-column:2;grid-row:2}
@media(max-width:1000px),(max-height:650px){
 .material-dock{height:320px}
 .services-stage>.material-dock{height:260px}
 .motion-enabled #services{height:auto;padding-top:55px;padding-bottom:55px}
 .motion-enabled .services-stage{position:relative;top:auto;display:flex;min-height:0;gap:24px}
 .motion-enabled .service-intro-grid{display:grid;width:100%;gap:35px;transform:none}
 .motion-enabled .service-intro-grid article{width:auto;max-width:none}
 .motion-enabled .services-rail{padding:0}
 .process-statement{position:relative;top:auto}
 #contact{display:block}
 #contact>.big-contact{font-size:clamp(44px,10vw,80px)}
 .material-dock-contact{margin-top:25px}
}
@media(max-width:700px){.material-dock-campaign{margin:0;height:300px}.material-dock-process{height:280px}.process-statement h2{font-size:40px}.material-ground{bottom:5%}}

/* Face messages remain advertising; the companion action is a normal keyboard-accessible control. */
.material-ad-footer{position:absolute;bottom:0;left:3%;right:3%;z-index:3;text-align:center;background:linear-gradient(transparent,#f7f9fc 25%);padding:14px 8px 5px}
.material-ad-footer>span{display:block;font:11px/1.6 var(--font);letter-spacing:.06em;color:#172638}
.material-ad-footer button{font:14px/1.5 var(--font);background:none;color:#1d4ed8;border:0;border-bottom:1px solid #1d4ed8;min-height:44px;padding:8px 0;cursor:pointer}
.material-ad-footer button:focus-visible{outline:2px solid #1d4ed8;outline-offset:4px}
.material-dock .experience-object{top:41%}
.material-ground{bottom:19%}
.material-face small{display:block;color:#172638;font:600 calc(var(--edge)*.045)/1.3 Arial;padding:8% 8% 0}
.material-face strong{display:block;color:#172638;font:600 calc(var(--edge)*.13)/1.1 Arial;padding:15% 8% 0}
.material-dock-services{height:440px}
@media(max-width:1000px),(max-height:650px){.motion-enabled .service-intro-grid{grid-template-columns:1fr}.services-stage>.material-dock{height:340px}}
@media(max-width:700px){.material-dock-campaign,.material-dock-process,.material-dock-contact{height:340px}.material-ground{bottom:19%}}

/* A complete message occupies the reading column; scroll turns the corresponding face. */
@media(min-width:1001px) and (min-height:651px){
 .motion-enabled .services-rail{overflow:visible}
 .motion-enabled .service-intro-grid{display:grid;width:100%;grid-template-columns:1fr;transform:none;gap:0}
 .motion-enabled .service-intro-grid article{grid-area:1/1;width:100%;opacity:0;visibility:hidden;pointer-events:none}
 .motion-enabled .service-intro-grid article.service-current{opacity:1;visibility:visible;pointer-events:auto}
 .motion-enabled .service-intro-grid h3{max-width:100%}
}

.material-ad-footer>span{font-size:13px;line-height:1.6;color:#172638}.material-ad-footer button{font-size:15px}
