/* Decorative, self-contained 3D composition for the agency contact section. */
.agency-page .ag-contact{position:relative;isolation:isolate}
/* Extend only the top edge; compensate so the content and lower edge stay aligned. */
.agency-page .ag-contact.ag-section{--ag-contact-lift:36px;--ag-contact-top-padding:clamp(80px,7.5vw,124px);margin-top:calc(-1 * var(--ag-contact-lift));padding-top:calc(var(--ag-contact-top-padding) + var(--ag-contact-lift))}
.agency-page .ag-contact-grid{position:relative;z-index:1}
.agency-page .ag-contact-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.agency-page .ag-contact-art:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 2% 78%,#205e8c08,transparent 32%),radial-gradient(ellipse at 93% 9%,#f4762708,transparent 35%)}
.agency-page .ag-contact-art .ag-geo{--ag-geo-size:180px;position:absolute;display:block;width:var(--ag-geo-size);height:var(--ag-geo-size);perspective:800px;transform-style:preserve-3d}
.agency-page .ag-contact-art .ag-geo-motion{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;animation-duration:13.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
.agency-page .ag-contact.is-art-active .ag-geo-motion{animation-play-state:running}

/* A soft glazed sphere, anchored at the outside edge of the composition. */
.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:228px;left:-83px;bottom:31px;opacity:.25}
.agency-page .ag-contact-art .ag-geo-sphere>.ag-geo-motion{border-radius:50%;background:radial-gradient(circle at 29% 23%,#fff 0%,#e4f3fb 13%,#6fa2c2 35%,#205e8c 61%,#123e60 85%,#0d2b43 100%);box-shadow:inset 6px 7px 18px #ffffff90,inset -12px -15px 24px #153d5b62,12px 24px 28px #205e8c16;transform:translate3d(0,0,0) rotateZ(-8deg);animation-name:ag-contact-sphere-float;animation-duration:13s;animation-delay:-4s}
.agency-page .ag-contact-art .ag-geo-sphere>.ag-geo-motion:after{content:'';position:absolute;inset:17% 13% 40% 12%;border-top:1px solid #ffffffb3;border-radius:50%;transform:rotate(-26deg)}

/* Orange bevel ring: its central opening keeps the layout light. */
.agency-page .ag-contact-art .ag-geo-ring{--ag-geo-size:223px;left:47%;top:-20px;opacity:.42;transform:translateX(-50%)}
.agency-page .ag-contact-art .ag-geo-ring>.ag-geo-motion{border:19px solid #f47627;border-top-color:#ffbc88;border-left-color:#ff9c59;border-right-color:#e86d24;border-bottom-color:#c85a1e;border-radius:50%;box-shadow:inset 0 4px 6px #ad4c222e,0 6px 0 #b85a242c,0 15px 21px #a5632d20;transform:translate3d(0,0,0) rotateX(57deg) rotateY(-15deg) rotateZ(-24deg);animation-name:ag-contact-ring-float;animation-duration:16.5s;animation-delay:-9s}

/* A true six-face cube, with distinct lit and shaded planes. */
.agency-page .ag-contact-art .ag-geo-cube{--ag-geo-size:94px;--ag-cube-depth:47px;right:5%;bottom:43px;opacity:.29}
.agency-page .ag-contact-art .ag-geo-cube>.ag-geo-motion{transform:translate3d(0,0,0) rotateX(-19deg) rotateY(-31deg) rotateZ(-9deg);animation-name:ag-contact-cube-float;animation-duration:16s;animation-delay:-6s}
.agency-page .ag-contact-art .ag-cube-face{position:absolute;inset:0;display:block;border:1px solid #ecf7ff77;backface-visibility:hidden;box-shadow:inset 0 0 14px #ffffff10}
.agency-page .ag-contact-art .ag-cube-front{background:linear-gradient(135deg,#71a4c6,#205e8c);transform:translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-cube-back{background:linear-gradient(135deg,#245b81,#163f60);transform:rotateY(180deg) translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-cube-right{background:linear-gradient(135deg,#2a698f,#143f5d);transform:rotateY(90deg) translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-cube-left{background:linear-gradient(135deg,#8db8d2,#387ba5);transform:rotateY(-90deg) translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-cube-top{background:linear-gradient(135deg,#d6eaf7,#89b6d1);transform:rotateX(90deg) translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-cube-bottom{background:linear-gradient(135deg,#174b6e,#103a59);transform:rotateX(-90deg) translateZ(var(--ag-cube-depth))}
.agency-page .ag-contact-art .ag-geo-cube:after{content:'';position:absolute;left:-3%;right:-18%;height:25%;bottom:-32%;border-radius:50%;background:radial-gradient(ellipse,#205e8c22,transparent 67%);transform:rotate(-9deg);z-index:-1}

/* Four shaded facets create a compact, warm crystal. */
.agency-page .ag-contact-art .ag-geo-diamond{--ag-geo-size:113px;right:9%;top:22px;opacity:.37;filter:drop-shadow(10px 15px 10px #bd682c18)}
.agency-page .ag-contact-art .ag-geo-diamond>.ag-geo-motion{transform:translate3d(0,0,0) rotateY(-18deg) rotateZ(17deg);animation-name:ag-contact-diamond-float;animation-duration:14s;animation-delay:-3s}
.agency-page .ag-contact-art .ag-diamond-face{position:absolute;inset:0;display:block;backface-visibility:hidden}
.agency-page .ag-contact-art .ag-diamond-front{clip-path:polygon(50% 0,50% 40%,0 40%);background:linear-gradient(125deg,#ffe1c4,#ffb078)}
.agency-page .ag-contact-art .ag-diamond-right{clip-path:polygon(50% 0,100% 40%,50% 40%);background:linear-gradient(135deg,#ffb778,#f47627)}
.agency-page .ag-contact-art .ag-diamond-back{clip-path:polygon(0 40%,50% 40%,50% 100%);background:linear-gradient(145deg,#ffab6c,#df6b28)}
.agency-page .ag-contact-art .ag-diamond-left{clip-path:polygon(50% 40%,100% 40%,50% 100%);background:linear-gradient(135deg,#f47627,#b94f1a)}

/* Small blue counterpoint at the upper left. */
.agency-page .ag-contact-art .ag-geo-sphere-small{--ag-geo-size:72px;left:3%;top:19px;bottom:auto;opacity:.24}
.agency-page .ag-contact-art .ag-geo-sphere-small>.ag-geo-motion{box-shadow:inset 3px 4px 8px #ffffff90,inset -5px -6px 12px #153d5b62,5px 12px 15px #205e8c13;animation-duration:10.5s;animation-delay:-8s}

@keyframes ag-contact-sphere-float{0%,100%{transform:translate3d(0,0,0) rotateZ(-8deg)}50%{transform:translate3d(11px,-17px,0) rotateZ(5deg)}}
@keyframes ag-contact-ring-float{0%,100%{transform:translate3d(0,0,0) rotateX(57deg) rotateY(-15deg) rotateZ(-24deg)}50%{transform:translate3d(9px,14px,0) rotateX(47deg) rotateY(9deg) rotateZ(-7deg)}}
@keyframes ag-contact-cube-float{0%,100%{transform:translate3d(0,0,0) rotateX(-19deg) rotateY(-31deg) rotateZ(-9deg)}50%{transform:translate3d(-9px,-17px,0) rotateX(-9deg) rotateY(-12deg) rotateZ(4deg)}}
@keyframes ag-contact-diamond-float{0%,100%{transform:translate3d(0,0,0) rotateY(-18deg) rotateZ(17deg)}50%{transform:translate3d(-8px,12px,0) rotateY(8deg) rotateZ(4deg)}}

@media(min-width:1900px){.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:270px;left:-70px}.agency-page .ag-contact-art .ag-geo-cube{right:7%;bottom:45px}.agency-page .ag-contact-art .ag-geo-diamond{right:13%;top:24px}.agency-page .ag-contact-art .ag-geo-sphere-small{left:7%;top:25px}}
@media(max-width:1200px){.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:180px;left:-84px;bottom:29px}.agency-page .ag-contact-art .ag-geo-ring{--ag-geo-size:190px;left:50%;top:-10px}.agency-page .ag-contact-art .ag-geo-ring>.ag-geo-motion{border-width:16px}.agency-page .ag-contact-art .ag-geo-cube{--ag-geo-size:76px;--ag-cube-depth:38px;right:3.5%;bottom:38px}.agency-page .ag-contact-art .ag-geo-diamond{--ag-geo-size:90px;right:9%;top:13px}.agency-page .ag-contact-art .ag-geo-sphere-small{--ag-geo-size:59px;left:2%;top:14px}}
@media(max-width:980px){.agency-page .ag-contact.ag-section{--ag-contact-lift:28px;--ag-contact-top-padding:80px}}
@media(max-width:760px){.agency-page .ag-contact.ag-section{--ag-contact-lift:20px;--ag-contact-top-padding:65px}}
@media(max-width:980px){.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:190px;left:auto;right:-88px;bottom:17%;opacity:.21}.agency-page .ag-contact-art .ag-geo-ring{--ag-geo-size:181px;left:auto;right:-54px;top:32px;transform:none;opacity:.31}.agency-page .ag-contact-art .ag-geo-cube{--ag-geo-size:69px;--ag-cube-depth:34.5px;right:6%;bottom:30px;opacity:.27}.agency-page .ag-contact-art .ag-geo-diamond{--ag-geo-size:86px;right:7%;top:49%;opacity:.25}.agency-page .ag-contact-art .ag-geo-sphere-small{--ag-geo-size:55px;left:-19px;top:19px;opacity:.21}}
@media(max-width:760px){.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:160px;right:-93px;bottom:20%;opacity:.18}.agency-page .ag-contact-art .ag-geo-ring{--ag-geo-size:150px;right:-53px;top:12px;opacity:.27}.agency-page .ag-contact-art .ag-geo-ring>.ag-geo-motion{border-width:14px}.agency-page .ag-contact-art .ag-geo-cube{--ag-geo-size:57px;--ag-cube-depth:28.5px;right:8%;bottom:23px;opacity:.23}.agency-page .ag-contact-art .ag-geo-diamond{--ag-geo-size:65px;right:1%;top:44%;opacity:.22}.agency-page .ag-contact-art .ag-geo-sphere-small{--ag-geo-size:43px;left:-18px;top:10px;opacity:.18}}
@media(max-width:480px){.agency-page .ag-contact-art .ag-geo-ring{--ag-geo-size:128px;right:-62px;top:5px;opacity:.24}.agency-page .ag-contact-art .ag-geo-ring>.ag-geo-motion{border-width:12px}.agency-page .ag-contact-art .ag-geo-diamond{--ag-geo-size:53px;right:-11px;top:46%}.agency-page .ag-contact-art .ag-geo-sphere{--ag-geo-size:136px;right:-101px;bottom:25%}.agency-page .ag-contact-art .ag-geo-cube{--ag-geo-size:48px;--ag-cube-depth:24px;right:12%;bottom:18px;opacity:.2}.agency-page .ag-contact-art .ag-geo-sphere-small{--ag-geo-size:35px;left:-16px;top:9px}}
@media(prefers-reduced-motion:reduce){.agency-page .ag-contact-art .ag-geo-motion{animation:none!important}}
@media print{.agency-page .ag-contact-art{display:none}}
