/* Shared progressive motion: all content remains visible without JavaScript. */
.oa-hero{isolation:isolate;background:radial-gradient(ellipse at 80% 35%,#673314 0%,#201c19 58%)}
.oa-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(440px circle at var(--mx,75%) var(--my,40%),#ff6b002b,transparent 75%);transition:opacity .35s}
.oa-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.16;background-image:linear-gradient(#e9b48a22 1px,transparent 1px),linear-gradient(90deg,#e9b48a22 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.oa-hero-visual::before,.oa-hero-visual::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.oa-hero-visual::before{inset:7%;border:1px solid #ff9a4a40;border-top:2px solid #ff9a4a;animation:oa-orbit-spin 22s linear infinite}
.oa-hero-visual::after{inset:22%;border:1px dotted #ff9a4a70;animation:oa-orbit-spin 32s linear infinite reverse}
.oa-core{animation:oa-core-float 7s ease-in-out infinite;position:relative;z-index:1}
.oa-chip{z-index:2;animation:oa-chip-float 6s ease-in-out infinite}
.oa-chip:nth-of-type(3){animation-delay:-2s}.oa-chip:nth-of-type(4){animation-delay:-4s}
.oa-dot{box-shadow:0 0 14px #ff9a4a88}
.oa-card{position:relative;overflow:hidden;transition:transform .22s ease,border-color .3s,box-shadow .3s}
.oa-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),#ff6b0012,transparent 75%);opacity:0;transition:opacity .3s}
.oa-card.oa-pointer-active::before{opacity:1}.oa-card.oa-pointer-active{border-color:#d59a6e;box-shadow:0 18px 44px #5f351012}
.oa-icon{transition:background .25s,color .25s,transform .25s}.oa-card:hover .oa-icon{background:#ff6b00;color:#201c19;transform:rotate(-5deg)}
.oa-btn{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .25s}
.oa-btn::after{content:"";position:absolute;inset:-70% auto -70% -80%;width:40%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff55,transparent);pointer-events:none}
.oa-btn:hover::after{animation:oa-shine .7s ease-out}.oa-btn:hover{box-shadow:0 10px 32px #ff6b0035}
.oa-text-link{display:inline-block;transition:transform .2s}.oa-text-link:hover{transform:translateX(4px)}
.oa-dark .oa-eyebrow{color:#ff9a4a}
@media(prefers-reduced-motion:no-preference){
 .oa-reveal{opacity:0;translate:0 22px;transition:opacity .65s ease var(--oa-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--oa-delay,0ms)}
 .oa-reveal.oa-revealed,.oa-reveal:focus-within{opacity:1;translate:0 0}
 .oa-hero h1{animation:oa-intro .8s ease-out both}.oa-hero .oa-lead{animation:oa-intro 1s ease-out both}
}
@keyframes oa-orbit-spin{to{rotate:360deg}}@keyframes oa-core-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-5deg)}}
@keyframes oa-chip-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes oa-shine{to{left:150%}}@keyframes oa-intro{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@media(hover:none),(pointer:coarse){.oa-core,.oa-chip,.oa-hero-visual::before,.oa-hero-visual::after{animation:none}.oa-card:hover .oa-icon{transform:none}}
@media(prefers-reduced-motion:reduce){.oa-reveal{opacity:1!important;translate:none!important}.oa-card,.oa-btn,.oa-text-link,.oa-icon{transform:none!important}.oa-core,.oa-chip,.oa-hero-visual::before,.oa-hero-visual::after{animation:none!important}}
@media print{.oa-reveal{opacity:1!important;translate:none!important}}

/* Service cards: colored panels, crisp symbols and cursor lighting. */
.oa-service-card{--card-ink:#713600;--card-glow:#ff7b2540;background:linear-gradient(135deg,#fff4e5,#ffd8b4);border-color:#edbd93;padding:36px;min-height:330px;isolation:isolate}
.oa-service-card:nth-child(5n+2){--card-ink:#234d8e;--card-glow:#468fff40;background:linear-gradient(135deg,#eff5ff,#d1e2ff);border-color:#b6cbee}
.oa-service-card:nth-child(5n+3){--card-ink:#155d51;--card-glow:#19c3a340;background:linear-gradient(135deg,#edfff8,#c1efdf);border-color:#9cd2bf}
.oa-service-card:nth-child(5n+4){--card-ink:#613889;--card-glow:#a963eb40;background:linear-gradient(135deg,#f8f0ff,#e6d1fa);border-color:#d2b5eb}
.oa-service-card:nth-child(5n){--card-ink:#823448;--card-glow:#ff659440;background:linear-gradient(135deg,#fff1f4,#ffd7e1);border-color:#eeb3c4}
.oa-service-card> *{position:relative;z-index:2}
.oa-service-card::before{z-index:1;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),#ffffffb0,var(--card-glow) 35%,transparent 72%)}
.oa-service-card::after{content:"";position:absolute;right:-60px;top:-80px;width:240px;height:240px;border:1px solid currentColor;border-radius:50%;color:var(--card-ink);opacity:.12;box-shadow:0 0 0 28px #ffffff33,0 0 0 58px #ffffff22;pointer-events:none;transition:translate .4s}
.oa-service-card.oa-pointer-active::after{translate:-12px 14px}
.oa-service-card .oa-icon{width:62px;height:62px;border-radius:18px;background:#ffffffb3;color:var(--card-ink);box-shadow:0 8px 24px #4427110d;margin-bottom:28px;border:1px solid #ffffffc0}
.oa-service-card .oa-icon svg{width:30px;height:30px;display:block}
.oa-service-card .oa-eyebrow,.oa-service-card .oa-text-link{color:var(--card-ink)}
.oa-service-card p:not(.oa-eyebrow){color:#443e3b}
.oa-service-card:hover .oa-icon{background:var(--card-ink);color:white;transform:translateY(-4px) rotate(-8deg) scale(1.07)}
.oa-service-card.oa-pointer-active{border-color:var(--card-ink);box-shadow:0 22px 44px #30251d24}
.oa-service-card:focus-within{outline:2px solid var(--card-ink);outline-offset:4px}
@media(max-width:700px){.oa-service-card{padding:28px;min-height:0}}
@media(prefers-reduced-motion:reduce){.oa-service-card::after{translate:none!important}}

/* Service constellation: independent rings, clear center, ten service labels. */
.oa-universe{border:0;isolation:isolate;min-width:0;--mx:50%;--my:50%;background:radial-gradient(circle at var(--mx) var(--my),#ff6b003b,transparent 64%)}
.oa-universe::before,.oa-universe::after{display:none}
.oa-ring{position:absolute;border-radius:50%;pointer-events:none;animation:oa-orbit-spin 26s linear infinite;border:1px solid #ffa35d38}
.oa-ring::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid transparent;border-top-color:#ff9a4a;border-right-color:#ff9a4a40;filter:drop-shadow(0 0 6px #ff6b0070)}
.oa-ring::after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:#ffe1bd;box-shadow:0 0 15px 4px #ff6b0090}
.oa-ring-outer{inset:3%;animation-duration:38s}.oa-ring-middle{inset:16%;animation-duration:26s;animation-direction:reverse;border-style:dashed}.oa-ring-inner{inset:29%;animation-duration:18s;border-color:#ffc88755}
.oa-ring-middle::before{border-top-color:#ffc28e;border-right-color:transparent}.oa-ring-inner::before{border-top-color:#fff0cf;border-right-color:#ff9a4a20}
.oa-hub{position:absolute;inset:40%;display:grid;place-items:center;border:1px solid #ffb47780;background:radial-gradient(circle,#a74f25,#44291d);border-radius:50%;color:#ffd4a5;box-shadow:0 0 40px #ff6b0045,inset 0 0 25px #ff9a4a20;animation:oa-hub-pulse 5s ease-in-out infinite}
.oa-hub svg{width:60%;height:60%}
.oa-service-tag{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #af784e77;border-radius:12px;background:linear-gradient(135deg,#513722f5,#2b241ff5);box-shadow:0 8px 20px #0003;color:#fff1e6;font-size:clamp(.65rem,1vw,.78rem);font-weight:600;white-space:nowrap;animation:oa-tag-drift 7s ease-in-out infinite;transition:box-shadow .3s,border-color .3s}
.oa-service-tag i{width:5px;height:5px;flex-shrink:0;background:#ffad66;border-radius:50%;box-shadow:0 0 9px #ff6b00}
.oa-tag-1{left:13%;top:5%}.oa-tag-2{right:6%;top:14%;animation-delay:-2s}.oa-tag-3{left:1%;top:25%;animation-delay:-4s}.oa-tag-4{right:0;top:35%;animation-delay:-1s}.oa-tag-5{left:17%;top:43%;animation-delay:-5s}.oa-tag-6{right:15%;top:57%;animation-delay:-3s}.oa-tag-7{left:0;top:65%;animation-delay:-2s}.oa-tag-8{right:0;top:78%;animation-delay:-6s}.oa-tag-9{left:17%;top:87%;animation-delay:-4s}.oa-tag-10{left:39%;top:20%;animation-delay:-1s}
.oa-universe.oa-pointer-active .oa-service-tag{border-color:#efad7677;box-shadow:0 10px 24px #0003,0 0 14px #ff6b001a}
@keyframes oa-hub-pulse{0%,100%{box-shadow:0 0 30px #ff6b0035,inset 0 0 20px #ff9a4a20;scale:1}50%{box-shadow:0 0 60px #ff6b0055,inset 0 0 30px #ff9a4a30;scale:1.05}}
@keyframes oa-tag-drift{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(min-width:701px) and (max-width:1000px){.oa-hero .oa-split{grid-template-columns:1fr}.oa-universe{width:min(100%,500px);margin-inline:auto}}
@media(max-width:700px){.oa-service-tag{padding:8px 9px;font-size:.65rem;gap:5px}.oa-tag-5{left:12%}.oa-tag-6{right:10%}}
@media(hover:none),(pointer:coarse){.oa-service-tag,.oa-hub{animation:none}.oa-ring{animation-duration:50s}}
@media(prefers-reduced-motion:reduce){.oa-ring,.oa-service-tag,.oa-hub{animation:none!important}}
