/* Components modeled from the selected references, in Ebenezer's own palette. */
.service-cases{display:grid;gap:30px}
.service-case{display:grid;grid-template-columns:1.03fr 1fr;min-height:430px;overflow:hidden;isolation:isolate;border:1px solid transparent;border-radius:32px;background:linear-gradient(125deg,#061d31,#103f67) padding-box,linear-gradient(125deg,#2e8fce,#75bfe9 42%,#d9b872) border-box;box-shadow:0 16px 38px rgba(4,24,39,.12);color:#fff}
.service-case-copy{padding:38px 40px 40px;align-self:center}
.service-case-label{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.service-case-label>span{font-size:.67rem;letter-spacing:.13em;line-height:1.6;font-weight:700;color:#edce8c}
.case-identity{width:70px;height:70px;object-fit:contain;border-radius:16px;background:rgba(238,247,253,.97);padding:6px;flex:0 0 70px}
.service-case h3,.service-case h2{font-family:Poppins,sans-serif;color:#fff;font-weight:600;letter-spacing:-.045em;line-height:1.2;font-size:clamp(1.8rem,3vw,2.55rem);margin:0 0 20px}
.service-case p{font-size:.96rem;line-height:1.85;color:#e2edf5;margin:0 0 26px;max-width:470px}
.service-case .button{width:fit-content;min-height:52px;padding:14px 18px;font-size:.86rem;border-radius:10px}
.button-case{background:rgba(255,255,255,.07);border:1px solid rgba(173,218,247,.46);color:#fff;gap:16px}
.button-case:hover{background:rgba(46,143,206,.23);border-color:#d9b872;color:#fff}
.service-case-media{margin:0;min-width:0;min-height:100%;overflow:hidden;border-radius:32px 0 0 32px;position:relative;background:#123950}
.service-case-media>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:66% center;transition:transform .65s ease}
.service-case:hover .service-case-media>img{transform:scale(1.025)}
.service-case:nth-child(3) .service-case-media>img{object-position:center 39%}
.service-case-feature{margin-bottom:42px;min-height:475px}
.service-case-feature h2{font-size:clamp(1.85rem,3vw,2.5rem)}
.service-case-feature p{margin:0;font-size:.97rem}
.service-case-feature .service-case-media>img{object-position:69% center}
.services{background:radial-gradient(ellipse at 100% 0%,rgba(46,143,206,.045),transparent 60%),#f8fbfd;color:#0b3554}
.services::before{display:none}
.services-heading h2{color:#0b3554}
.services-heading>p:last-child{color:#496477}
.services .eyebrow{color:#286b99}
.services-heading{max-width:860px;margin-bottom:38px}
.services .service-strip{margin-top:28px}
.brand-system{background:radial-gradient(ellipse at 100% 90%,rgba(46,143,206,.065),transparent 48%),#fff}
.brand-system-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.brand-system-copy h2{font-size:clamp(2.2rem,3.8vw,3.5rem);line-height:1.14;color:#0b3554;margin-bottom:25px}
.brand-system-copy h2 em,.coverage-story-copy h2 em{font-style:normal;color:#2e8fce}
.brand-system-copy>p:not(.eyebrow){max-width:410px;color:#496477;line-height:1.85;font-size:1rem;margin-bottom:24px}
.brand-system .text-link{display:inline-flex;gap:15px;color:#146a9e;font-size:.86rem;line-height:1.6;text-decoration:underline;text-decoration-color:#d9b872;text-underline-offset:6px}
.brand-orbit{width:min(100%,560px);aspect-ratio:1;position:relative;margin:auto;isolation:isolate}
.orbit-ring{position:absolute;border-radius:50%;pointer-events:none}
.orbit-ring-outer{inset:10%;border:1px solid #dfeaf2;animation:eb-orbit-turn 55s linear infinite}
.orbit-ring-outer::after{content:"";position:absolute;width:7px;height:7px;left:50%;top:-4px;border-radius:50%;background:#2e8fce;box-shadow:0 0 0 5px rgba(46,143,206,.07)}
.orbit-ring-inner{inset:24%;border:1px solid rgba(217,184,114,.66)}
.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34%;aspect-ratio:1;display:grid;place-items:center;background:#fff;border:1px solid #d4e5f0;border-radius:50%;box-shadow:0 20px 45px rgba(18,98,147,.13),0 0 0 10px rgba(46,143,206,.025)}
.orbit-center img{width:87%;height:87%;object-fit:contain;border-radius:50%}
.orbit-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:114px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;z-index:2}
.orbit-node-figure{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#fff;border:1px solid #e1eaf2;box-shadow:0 5px 12px rgba(16,63,103,.035);transition:transform .3s,border-color .3s}
.orbit-node-figure img{width:53px;height:53px;object-fit:contain}
.orbit-node>span:last-child{font-family:Inter,sans-serif;font-size:.72rem;line-height:1.45;font-weight:600;color:#163c58;letter-spacing:.01em}
.orbit-node:hover .orbit-node-figure{transform:translateY(-4px);border-color:#d9b872}
@keyframes eb-orbit-turn{to{transform:rotate(360deg)}}
.work-gallery{background:radial-gradient(ellipse at 7% 0%,rgba(46,143,206,.2),transparent 60%),linear-gradient(120deg,#061d31,#0b3554);overflow:hidden;color:#fff}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:39px}
.gallery-heading h2{font-size:clamp(2.2rem,3.8vw,3.5rem);line-height:1.13;color:#fff;margin:0}
.gallery-heading h2 em{color:#9ed2f4;font-style:normal}
.gallery-heading-side{max-width:350px}
.gallery-heading-side>p{font-size:.96rem;line-height:1.85;color:#e0edf6;margin-bottom:21px}
.gallery-motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;border:1px solid rgba(175,217,245,.32);padding:10px 15px;border-radius:9px;background:rgba(255,255,255,.045);color:#fff;font-family:Inter,sans-serif;font-size:.75rem;cursor:pointer}
.gallery-motion-toggle:hover{border-color:#d9b872;background:rgba(255,255,255,.09)}
.gallery-motion-toggle[hidden]{display:none}
.dynamic-mosaic{display:grid;grid-template-columns:1.08fr .9fr 1fr;grid-template-rows:190px 190px 190px;gap:18px;padding-block:8px}
.work-tile{position:relative;display:block;border:1px solid rgba(161,205,236,.28);border-radius:22px;overflow:hidden;padding:0;min-width:0;min-height:0;background:#123a55;color:#fff;cursor:zoom-in;animation:eb-photo-float 9s ease-in-out infinite;text-align:left}
.work-tile-1{grid-column:1;grid-row:1/3;animation-delay:-2s}
.work-tile-2{grid-column:2;grid-row:1;animation-delay:-6s}
.work-tile-3{grid-column:3;grid-row:1/3;animation-delay:-4s}
.work-tile-4{grid-column:2;grid-row:2/4;animation-delay:-1s}
.work-tile-5{grid-column:1;grid-row:3;animation-delay:-5s}
.work-tile-6{grid-column:3;grid-row:3;animation-delay:-3s}
.work-tile>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%;transition:transform .65s ease,filter .4s ease}
.work-tile-1>img{object-position:center 42%}.work-tile-2>img{object-position:center 46%}.work-tile-5>img{object-position:center 24%}
.work-tile::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(3,22,37,.4));pointer-events:none}
.work-tile:hover>img{transform:scale(1.045);filter:brightness(1.04)}
.work-tile-caption{position:absolute;z-index:2;bottom:17px;left:17px;right:17px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(8,38,59,.58);backdrop-filter:blur(10px);font-family:Inter,sans-serif;font-weight:500;font-size:.79rem;line-height:1.55;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff}
.work-tile-caption>span{color:#e7c98b;font-size:1.05rem}
.work-gallery.is-paused .work-tile{animation-play-state:paused}
@keyframes eb-photo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.work-tile:focus-visible,.gallery-motion-toggle:focus-visible,.work-dialog button:focus-visible{outline:3px solid #d9b872;outline-offset:4px}
.gallery-open{overflow:hidden}
.work-dialog{position:fixed;border:1px solid rgba(156,203,234,.28);border-radius:18px;padding:20px;background:#061d31;color:#fff;width:min(1100px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 25px 80px rgba(0,0,0,.35)}
.work-dialog::backdrop{background:rgba(2,12,23,.86);backdrop-filter:blur(9px)}
.gallery-full-image{display:block;width:100%;height:min(72vh,760px);object-fit:contain;background:#041724;border-radius:10px}
.gallery-close{position:absolute;z-index:2;right:27px;top:27px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:#0b3554;color:white;font-size:29px;line-height:1;cursor:pointer}
.gallery-dialog-bottom{display:flex;align-items:center;gap:15px;margin-top:16px}
.gallery-dialog-bottom button{width:44px;height:44px;flex:0 0 44px;border-radius:9px;background:#123e5b;color:#fff;border:1px solid #356784;font-size:23px;cursor:pointer}
.gallery-dialog-bottom p{margin:0;text-align:center;flex:1;color:#e5eff6;font-size:.85rem;line-height:1.6}
.coverage-story{background:radial-gradient(ellipse at 90% 50%,rgba(46,143,206,.075),transparent 60%),#f5f9fc;overflow:hidden}
.coverage-story-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px;align-items:center}
.coverage-story-copy h2{font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1.14;color:#0b3554;margin-bottom:24px}
.coverage-story-copy>p:not(.eyebrow){font-size:.98rem;line-height:1.85;max-width:430px;color:#496477}
.coverage-segments{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px;max-width:430px}
.coverage-segments>span{display:flex;align-items:center;gap:10px;background:#e7f1f8;border:1px solid #c4ddec;border-radius:100px;padding:8px 16px 8px 10px;font-size:.74rem;font-weight:500;color:#17476a}
.coverage-segments img{display:block;width:31px;height:31px;object-fit:contain}
.coverage-story-copy .coverage-hours{font-size:.78rem!important;margin-top:23px}
.coverage-graphic{position:relative;padding:15px 0 40px;perspective:900px;isolation:isolate}
.coverage-graphic>img{display:block;width:100%;height:auto;border-radius:22px;transform:rotateX(15deg) rotateZ(-4deg);box-shadow:0 8px 0 #164a6b,0 16px 0 #cfdfeb,0 34px 40px rgba(10,47,74,.14)}
.capital-pin{position:absolute;left:66%;top:52%;display:flex;align-items:center;gap:9px;transform:translate(-20%,-40%);padding:9px 12px 9px 9px;border:1px solid #d9b872;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(2,21,36,.16);color:#0b3554;font-family:Inter,sans-serif;font-size:.66rem;line-height:1.4}
.capital-pin strong{font-size:.77rem}
.capital-pin-dot{display:block;width:17px;height:17px;border-radius:50%;border:4px solid #d9b872;background:#2e8fce;box-shadow:0 0 0 4px rgba(217,184,114,.15)}
.coverage-map-caption{display:block;text-align:center;position:relative;margin-top:36px;color:#496477;font-size:.62rem;letter-spacing:.1em;line-height:1.7}
.step-icon img,.audience-icon img{filter:none}
.phase-card{grid-template-columns:76px minmax(0,1fr);gap:10px 22px;border-radius:20px}
.phase-card .step-icon{width:76px;height:76px;background:#eff7fc;border:1px solid #d1e5f2;border-radius:18px}
.phase-card .step-icon img{width:65px;height:65px}
.process-list .step-icon{background:#eff7fc;border:1px solid #d1e5f2;border-radius:16px;width:66px;height:66px}
.process-list .step-icon img{width:56px;height:56px;filter:none}
.audience-icon{background:transparent;border:0;width:77px;height:77px;flex-basis:77px}
.audience-icon img{width:77px;height:77px}
@media(max-width:999px){.service-case-copy{padding:30px}.service-case{min-height:430px;border-radius:27px}.service-case h2,.service-case h3{font-size:1.9rem}.service-case-media{border-radius:27px 0 0 27px}.case-identity{width:60px;height:60px;flex-basis:60px}.brand-system-layout,.coverage-story-layout{gap:35px}.brand-orbit{width:100%;max-width:480px}.orbit-node{width:95px;gap:8px}.orbit-node-figure{width:58px;height:58px}.orbit-node-figure img{width:44px;height:44px}.orbit-node>span:last-child{font-size:.66rem}.gallery-heading{gap:40px}.dynamic-mosaic{grid-template-rows:165px 165px 165px;gap:16px}.work-tile-caption{left:12px;right:12px;bottom:12px;padding:10px 11px;font-size:.72rem}.phase-card{grid-template-columns:64px minmax(0,1fr);gap:10px 18px}.phase-card .step-icon{width:64px;height:64px}.phase-card .step-icon img{width:54px;height:54px}}
@media(max-width:767px){
 .service-cases{gap:25px}.service-case,.service-case-feature{grid-template-columns:1fr;min-height:0;border-radius:23px;margin-bottom:0}.service-case-copy{padding:27px 25px 30px;order:2}.service-case-media{order:1;min-height:280px;border-radius:0 0 23px 23px}.service-case-media>img{object-position:67% center}.service-case h2,.service-case h3{font-size:1.9rem;line-height:1.22;margin-bottom:20px}.service-case p{font-size:.93rem;line-height:1.85}.service-case-label{margin-bottom:19px;gap:13px}.service-case-label>span{font-size:.62rem;letter-spacing:.08em}.case-identity{width:57px;height:57px;flex-basis:57px;border-radius:13px}.service-case .button{width:100%;min-height:54px;font-size:.85rem}.service-case-feature{margin-bottom:34px}.service-case-feature .service-case-media{min-height:285px}.service-case-feature p{margin-bottom:0}.service-case-feature h2{font-size:1.88rem}
 .brand-system-layout{grid-template-columns:1fr;gap:30px}.brand-system-copy{text-align:center}.brand-system-copy h2{font-size:2.15rem;margin-bottom:22px}.brand-system-copy .eyebrow{justify-content:center}.brand-system-copy>p:not(.eyebrow){font-size:.94rem;max-width:460px;margin-inline:auto}.brand-system .text-link{font-size:.82rem}.brand-orbit{width:calc(100% - 16px);max-width:440px;margin:15px auto 8px}.orbit-node{width:88px;gap:7px}.orbit-node-figure{width:53px;height:53px}.orbit-node-figure img{width:41px;height:41px}.orbit-node>span:last-child{font-size:.69rem;line-height:1.4}.orbit-center{width:32%;box-shadow:0 10px 28px rgba(18,98,147,.1),0 0 0 6px rgba(46,143,206,.025)}
 .gallery-heading{display:block;margin-bottom:30px}.gallery-heading h2{font-size:2.15rem}.gallery-heading-side{max-width:none;margin-top:23px}.gallery-heading-side>p{font-size:.94rem;line-height:1.85;margin-bottom:18px}.gallery-motion-toggle{font-size:.73rem}.dynamic-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:160px 160px 160px 160px;gap:13px}.work-tile{border-radius:16px}.work-tile-1{grid-column:1;grid-row:1/3}.work-tile-2{grid-column:2;grid-row:1}.work-tile-3{grid-column:2;grid-row:2/4}.work-tile-4{grid-column:1;grid-row:3}.work-tile-5{grid-column:1;grid-row:4}.work-tile-6{grid-column:2;grid-row:4}.work-tile-caption{left:9px;right:9px;bottom:10px;padding:9px;font-size:.67rem;line-height:1.5;backdrop-filter:none}.work-tile-caption>span{font-size:.9rem}.work-tile-4>img{object-position:center 25%}.work-tile-6>img{object-position:center 29%}
 .work-dialog{padding:13px;width:calc(100% - 20px);border-radius:14px}.gallery-close{right:19px;top:19px}.gallery-full-image{height:67vh}.gallery-dialog-bottom{gap:8px}.gallery-dialog-bottom p{font-size:.76rem}.gallery-dialog-bottom button{width:44px;height:44px}
 .coverage-story-layout{grid-template-columns:1fr;gap:31px}.coverage-story-copy h2{font-size:2.15rem}.coverage-story-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.85}.coverage-segments{gap:9px;margin-top:22px}.coverage-segments>span{font-size:.71rem;padding:7px 13px 7px 8px}.coverage-segments img{width:29px;height:29px}.coverage-graphic{padding-top:6px;padding-bottom:18px}.coverage-graphic>img{border-radius:17px}.capital-pin{left:62%;top:49%;padding:7px 9px 7px 7px;font-size:.57rem;gap:7px}.capital-pin strong{font-size:.66rem}.capital-pin-dot{width:15px;height:15px;border-width:3px}.coverage-map-caption{font-size:.57rem;margin-top:30px;letter-spacing:.07em}
 .phase-card{grid-template-columns:57px minmax(0,1fr);gap:10px 17px}.phase-card .step-icon{width:57px;height:57px;border-radius:14px}.phase-card .step-icon img{width:48px;height:48px}.phase-card h3{font-size:1.04rem}.phase-card p{font-size:.89rem}.process-list .step-icon{width:62px;height:62px}.process-list .step-icon img{width:52px;height:52px}.audience-icon,.audience-icon img{width:72px;height:72px}
}
@media(max-width:360px){.orbit-node{width:78px}.orbit-node-figure{width:46px;height:46px}.orbit-node-figure img{width:36px;height:36px}.orbit-node>span:last-child{font-size:.64rem}.service-case-copy{padding-inline:22px}.service-case h2,.service-case h3{font-size:1.75rem}.service-case-media,.service-case-feature .service-case-media{min-height:255px}.dynamic-mosaic{grid-template-rows:150px 150px 150px 150px;gap:11px}.work-tile-caption{font-size:.64rem;padding:8px}.phase-card{padding-inline:20px;grid-template-columns:50px 1fr;gap:10px 14px}.phase-card .step-icon{width:50px;height:50px}.phase-card .step-icon img{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){.orbit-ring-outer,.work-tile{animation:none!important}.work-tile:hover>img,.service-case:hover .service-case-media>img{transform:none}.orbit-node:hover .orbit-node-figure{transform:none}}
