/* Digital Crown — visual and motion layer. No library or third-party runtime. */
:root{--electric:#c9f970;--ease-out:cubic-bezier(.2,.75,.2,1)}
::selection{background:var(--electric);color:#111}
[hidden]{display:none!important}
.site-header{transition:box-shadow .3s,background .3s}
.site-header.has-scrolled{box-shadow:0 6px 30px #1424450a;background:#fffffff5}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--blue);pointer-events:none}
.preloader{display:none;position:fixed;inset:0;z-index:1000;background:#000;color:#fff;place-content:center;justify-items:center;gap:25px;pointer-events:none}
.is-preloading .preloader{display:grid;animation:loader-exit .45s var(--ease-out) .85s forwards}
.preloader-brand{width:min(420px,78vw);overflow:hidden}
.preloader-brand img{width:100%;height:auto;animation:loader-word .65s var(--ease-out) both}
.preloader-caption{color:#bac4cc;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.preloader-line{width:180px;height:2px;background:#343a40;overflow:hidden}
.preloader-line:after{content:'';display:block;background:#65c5d9;width:100%;height:100%;transform-origin:left;animation:loader-line 1s var(--ease-out) both}
@keyframes loader-exit{to{opacity:0;visibility:hidden;transform:translateY(-5%)}}
@keyframes loader-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes loader-word{from{transform:translateY(110%)}to{transform:translateY(0)}}
.hero{position:relative;isolation:isolate;gap:54px;padding-block:80px}
.hero:before{content:'';position:absolute;inset:0 -20px;z-index:-1;background-image:radial-gradient(#c5d3ef 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(100deg,transparent 48%,#000 100%);opacity:.45;pointer-events:none}
.hero-copy{position:relative;z-index:2}
.hero .eyebrow{display:inline-flex;gap:10px;align-items:center;border:1px solid #dbe3f1;background:#f5f8ff;border-radius:30px;padding:9px 13px;font-size:.65rem;letter-spacing:.09em}
.hero .eyebrow:before{content:'✳';font-size:17px;line-height:1}
.hero h1{font-size:clamp(3.7rem,5.9vw,5.7rem);line-height:1.06}
.hero h1 em{position:relative;white-space:nowrap}
.hero h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:7px;background:var(--electric);border-radius:50%;transform:rotate(-2deg);z-index:-1}
.hero-visual{overflow:visible;border-radius:24px;box-shadow:0 25px 55px #1d396924;transform:rotate(2deg);transition:transform .55s var(--ease-out);background:#1747d0;min-width:0}
.hero-visual:hover{transform:rotate(0)}
.visual-label{border-radius:24px 24px 0 0;background:#1539a9;padding:22px 26px;font-size:.65rem;gap:14px}
.hero-photo{border-radius:0;filter:saturate(.75);object-position:center}
.hero-caption{border-radius:0 0 24px 24px;background:#1539a9;padding:28px 28px 44px}
.hero-caption em{color:var(--electric)}
.visual-spark{color:var(--electric);animation:turn-spark 2.5s var(--ease-out) 1s 1}
.image-tab{background:var(--electric);color:#203509;border-radius:12px 0 24px 0;letter-spacing:.11em}
.perspective-badge{position:absolute;right:-19px;top:92px;width:99px;height:99px;border-radius:50%;background:var(--electric);color:#172815;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);box-shadow:0 7px 20px #14292826;border:5px solid #fff;z-index:2}
.perspective-badge strong{font-size:1.8rem;font-weight:650;letter-spacing:-.05em;line-height:1.2}
.perspective-badge span{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.hero-tag{position:absolute;z-index:3;left:-27px;top:51%;padding:13px 18px;background:#fffffff5;backdrop-filter:blur(8px);border:1px solid #e5eafa;border-radius:11px;display:flex;align-items:center;gap:12px;transform:rotate(-4deg);box-shadow:0 10px 35px #1d2c492b;color:#171d29;font-size:.85rem;font-weight:650}
.hero-tag svg{color:var(--blue);width:29px;height:29px}
.hero-tag small{display:block;font-weight:500;color:#657186;font-size:.71rem}
.hero-footnote .tiny-symbol{padding:9px;border:1px solid #dbe3f0;border-radius:50%;font-size:29px}
.button{border-radius:50px;position:relative;overflow:hidden;transition:transform .3s var(--ease-out),background .3s,box-shadow .3s}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #1e4ac220}
.button:active{transform:translateY(0);box-shadow:none}
.primary{box-shadow:0 4px 12px #214ed519}
.underlined{position:relative;border:0;background:linear-gradient(currentColor,currentColor) bottom left/100% 1px no-repeat;transition:background-size .3s,color .3s}
.underlined:hover{background-size:35% 1px}
.expertise-strip{background:#f9fbff}
.dark-section{background:#101518;background-image:radial-gradient(ellipse at top right,#2146762b,transparent 60%)}
.dark-section .eyebrow{color:var(--electric)}
.service-card{position:relative;isolation:isolate;overflow:hidden;background:#ffffff03;border-radius:17px;transition:transform .4s var(--ease-out),border-color .4s,background .4s;min-width:0}
.service-card:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,50%),#a2c6ff1a,transparent 65%);transition:opacity .4s}
.service-card:hover:before{opacity:1}
.service-card:hover{transform:translateY(-7px);background:#1a2534;border-color:#829dc2}
.service-icon{border-radius:12px;background:#263248;padding:12px;color:#b7d4ff;transition:background .3s,color .3s,transform .3s}
.service-card:hover .service-icon{background:var(--electric);color:#142210;transform:rotate(-8deg)}
.card-number{font-size:1rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.text-link>span{width:33px;height:33px;display:grid;place-content:center;border:1px solid #3d4c60;border-radius:50%;font-size:21px;transition:transform .3s,background .3s,color .3s}
.service-card:hover .text-link>span{background:var(--electric);color:#1a2b10;border-color:transparent;transform:rotate(45deg)}
.light-cards .service-icon{background:#e8efff}
.light-cards .service-card:hover{background:#f1f5ff}
.strategy-band{border:1px solid #3d506b;background:#1c2a3c;border-radius:14px}
.creative-ticker{background:var(--electric);position:relative;overflow:hidden;padding:27px 0;color:#162513}
.ticker-window{overflow:hidden}
.ticker-track{display:flex;width:max-content}
.creative-ticker:not(.motion-enabled) .ticker-track{width:100%}
.creative-ticker:not(.motion-enabled) .ticker-group{flex-wrap:wrap;justify-content:center;width:100%;padding-inline:20px;gap:18px}
.creative-ticker:not(.motion-enabled) .ticker-group[aria-hidden=true]{display:none}
.motion-enabled .ticker-track{animation:ticker-travel 28s linear infinite}
.ticker-group{display:flex;align-items:center;gap:36px;padding-right:36px;flex-shrink:0}
.ticker-group span{font-size:clamp(2rem,4vw,4rem);font-weight:650;letter-spacing:-.055em;white-space:nowrap;line-height:1.2}
.ticker-group b{font-size:45px;font-weight:400;line-height:1}
.ticker-toggle{display:block;margin:17px auto 0;background:transparent;border:1px solid #4e693c;border-radius:20px;padding:5px 13px;color:#203a12;font-size:.75rem;min-height:32px}
.creative-ticker:hover .ticker-track,.creative-ticker:focus-within .ticker-track,.creative-ticker.is-paused .ticker-track{animation-play-state:paused}
@keyframes ticker-travel{to{transform:translateX(-50%)}}
@keyframes turn-spark{to{transform:rotate(180deg)}}
.goal-section{background:#f6f8fc;border-bottom:1px solid #e2e7ef}
.goal-heading{text-align:center;max-width:740px;margin:0 auto 44px}
.goal-heading h2{margin-bottom:22px}
.goal-heading p:last-child{max-width:560px;margin-inline:auto}
.goal-experience{border:1px solid #dce4f1;background:#fff;padding:12px;border-radius:24px;box-shadow:0 14px 45px #14254408}
.goal-tabs{display:none}
.enhanced .goal-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f0f3fa;border-radius:15px;padding:7px;margin-bottom:12px}
.goal-tab{border:0;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:10px;padding:19px 14px;background:transparent;color:#5e6b7b;font-weight:650;font-size:1rem;transition:background .25s,box-shadow .25s,color .25s}
.goal-tab>span{font-size:.75rem;font-weight:500}
.goal-tab[aria-selected=true]{background:#fff;color:var(--blue);box-shadow:0 4px 15px #233c6c10}
.goal-tab:hover{color:var(--blue)}
.goal-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding:36px;border-radius:14px;align-items:center}
.goal-panel+.goal-panel{border-top:1px solid #dce4f1}
.enhanced .goal-panel{border:0;animation:panel-enter .4s var(--ease-out);min-height:350px}
.goal-panel h3{font-size:2.55rem;margin:0 0 20px;max-width:470px}
.goal-panel p{font-size:1rem;max-width:470px}
.goal-services{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}
.goal-services a{font-size:.79rem;padding:7px 12px;border:1px solid #d6deea;border-radius:30px;transition:background .2s,border-color .2s}
.goal-services a:hover{background:#edf3ff;border-color:#8aa8e8}
.goal-art{background:#ecf2ff;min-height:280px;border-radius:16px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.goal-art:before,.goal-art:after{content:'';position:absolute;border:1px solid #c8d7f2;border-radius:50%;width:230px;height:230px;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.goal-art:after{width:370px;height:370px}
.goal-art>.service-icon{background:var(--blue);color:#fff;padding:25px;border-radius:21px;box-shadow:0 15px 40px #2154ed26;z-index:1;transform:rotate(-8deg)}
.goal-art>.service-icon svg{width:55px;height:55px;stroke-width:1.25}
.goal-art>span:last-child{font-size:.8rem;font-weight:650;z-index:1;background:#fff;border-radius:30px;padding:7px 15px;box-shadow:0 6px 20px #1c3f6a0c}
.goal-art[data-theme=trust]{background:#eef3e9}.goal-art[data-theme=trust]>.service-icon{background:#537b29}.goal-art[data-theme=enquiries]{background:#f3efff}.goal-art[data-theme=enquiries]>.service-icon{background:#6a48c3}
.about-visual{border-radius:24px;box-shadow:14px 14px 0 #edf2ff}
.about-visual img{transition:transform .8s var(--ease-out)}
.about-visual:hover img{transform:scale(1.035)}
.industry-list span{transition:transform .3s,background .3s,border-color .3s}
.industry-list span:hover{transform:translateY(-4px) rotate(-2deg);background:var(--electric);border-color:#b8d889}
.process-grid article{position:relative;transition:border-color .3s}
.process-grid article:before{content:'';position:absolute;top:-2px;left:0;width:34px;height:3px;background:var(--blue);transition:width .6s var(--ease-out)}
.process-grid article:hover:before{width:100%}
.step{font-size:2.6rem;letter-spacing:-.06em;font-weight:550;color:#7d93b9}
.faq-list details{transition:background .3s,padding .3s}
.faq-list details[open]{background:#eaf0fc;padding-inline:20px;border-radius:12px}
.faq-list details[open] p{animation:panel-enter .3s var(--ease-out)}
.cta-section{background:#173ec7;color:#fff;position:relative;isolation:isolate;overflow:hidden}
.cta-section:before,.cta-section:after{content:'';position:absolute;width:570px;height:570px;border:1px solid #ffffff1c;border-radius:50%;right:-140px;top:-200px;z-index:-1;pointer-events:none}
.cta-section:after{width:780px;height:780px;right:-245px;top:-305px}
.cta-inner .eyebrow{color:var(--electric)}
.cta-inner p{color:#c9d7ff}
.cta-inner>.button{background:var(--electric);color:#1d3013;border:0;padding:20px 30px}
.cta-inner>.button:hover{background:#ddff9f;box-shadow:0 8px 25px #07114e24}


.page-intro{position:relative}
.service-hero-art{border-radius:25px;background:#e8efff;background-image:radial-gradient(#bdd0f3 1px,transparent 1px);background-size:18px 18px}
.service-hero-art .large-icon{transition:transform .55s var(--ease-out)}
.service-hero-art:hover .large-icon{transform:rotate(-10deg) scale(1.06)}
.service-banner{border-radius:22px}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}
.reveal-ready.is-revealed{opacity:1;transform:translateY(0)}
@keyframes panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:panel-enter .75s var(--ease-out) both}.hero-visual{animation:hero-enter .95s var(--ease-out) both}.hero-actions{animation:panel-enter .8s var(--ease-out) .15s both}.is-preloading .hero-copy,.is-preloading .hero-visual,.is-preloading .hero-actions{animation-delay:.7s}}
@keyframes hero-enter{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .25s ease both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.hero{gap:38px}.hero h1{font-size:4.1rem}.hero-tag{left:-17px;font-size:.78rem;padding:10px 13px}.perspective-badge{right:-15px;width:85px;height:85px}.perspective-badge strong{font-size:1.6rem}.goal-panel{gap:25px;padding:27px}.goal-panel h3{font-size:2.1rem}}
@media(max-width:850px){.hero{gap:44px;padding-block:55px}.hero h1{font-size:4.6rem}.hero-visual{margin:0 12px;min-height:420px;transform:rotate(1deg)}.visual-label{grid-column:1/-1}.hero-caption{border-radius:0 0 24px 0}.hero-photo{border-radius:0 0 0 24px}.hero-tag{top:70%;left:20px}.perspective-badge{top:80px;right:15px}.goal-panel{gap:24px;padding:25px}.goal-art{min-height:255px}.goal-tab{font-size:.9rem;gap:8px}.goal-panel h3{font-size:2rem}}
@media(max-width:620px){.hero{padding-block:38px 48px;gap:42px}.hero:before{inset:0;mask-image:linear-gradient(180deg,transparent 20%,#000 100%)}.hero .eyebrow{font-size:.58rem;padding:8px 10px;letter-spacing:.05em;gap:7px;max-width:100%}.hero h1{font-size:clamp(2.8rem,11.7vw,4.2rem)}.hero h1 em:after{height:5px;bottom:-4px}.hero-visual{margin-inline:5px;min-height:0;transform:rotate(1deg)}.hero-tag{top:49%;left:-9px;font-size:.78rem;padding:10px 12px}.hero-tag small{font-size:.66rem}.hero-tag svg{width:24px;height:24px}.perspective-badge{right:-7px;top:71px;width:77px;height:77px;border-width:4px}.perspective-badge strong{font-size:1.45rem}.perspective-badge span{font-size:.5rem}.visual-label{padding:18px;font-size:.53rem;gap:9px}.hero-photo{border-radius:0;height:235px}.hero-caption{border-radius:0 0 24px 24px;padding:24px 23px 42px;font-size:2rem}.image-tab{font-size:.5rem}.goal-heading{margin-bottom:30px}.goal-experience{padding:8px;border-radius:19px}.enhanced .goal-tabs{padding:5px;gap:3px;border-radius:12px}.goal-tab{flex-direction:column;gap:4px;padding:13px 5px;font-size:.82rem;line-height:1.35}.goal-tab>span{font-size:.65rem}.goal-panel{grid-template-columns:1fr;padding:23px 14px;gap:28px}.goal-panel h3{font-size:2rem}.goal-panel p{font-size:.96rem}.goal-art{min-height:205px;order:-1}.goal-art>.service-icon{padding:19px}.goal-art>.service-icon svg{width:42px;height:42px}.goal-services{gap:7px}.goal-services a{font-size:.75rem;padding:7px 10px}.ticker-group{gap:23px;padding-right:23px}.ticker-group span{font-size:2.3rem}.ticker-group b{font-size:30px}.creative-ticker{padding-block:23px}.about-visual{box-shadow:7px 7px 0 #edf2ff}.step{font-size:2.1rem}.faq-list details[open]{padding-inline:12px}.cta-inner>.button{padding:17px 22px}}
@media(prefers-reduced-motion:reduce){.preloader{display:none!important}.reveal-ready{opacity:1!important;transform:none!important}.ticker-track{animation:none;transform:none;width:100%}.ticker-group{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;padding:0 20px}.ticker-group[aria-hidden=true]{display:none}.ticker-group span{font-size:1.6rem}.ticker-group b{font-size:22px}.ticker-toggle{display:none!important}.hero-visual{transform:none}.hero-visual:hover,.service-card:hover,.button:hover,.industry-list span:hover,.service-card:hover .service-icon,.about-visual:hover img{transform:none}.visual-spark{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@media print{.preloader,.creative-ticker,.reading-progress,.hero-tag,.perspective-badge,.reveal-ready{opacity:1;transform:none}.goal-tabs{display:none!important}.goal-panel[hidden]{display:grid!important}}
