/*
Theme Name: Aurora Marketing
Description: Clean abstract digital marketing theme with animated colour fields.
Version: 1.0
Author: Kenny
Text Domain: aurora-marketing
*/
:root{--ink:#15151F;--bg:#FAFAFA}
*{box-sizing:border-box}
.site-header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:32px 64px;position:relative;z-index:2}
.logo{font-weight:600;font-size:22px}
.main-nav ul{display:flex;gap:36px;list-style:none;margin:0;padding:0;font-weight:300}
.site-footer{background:#fff;border-top:1px solid #ECECF2;font-weight:300;color:#555566}
.footer-line{height:3px;animation:c1 9s ease-in-out infinite}
.footer-grid{padding:64px 64px 32px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-grid p{max-width:320px;line-height:1.7;margin:16px 0 0}
.f-title{font-weight:500;color:var(--ink);margin-bottom:16px}
.f-links,.f-legal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.f-legal{flex-direction:row;gap:24px}
.f-links a:hover,.f-legal a:hover{color:var(--ink)}
.footer-bottom{margin:0 64px;padding:24px 0 40px;border-top:1px solid #ECECF2;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr;padding:48px 24px 24px}.footer-bottom{margin:0 24px}}
.page-wrap{max-width:820px;margin:0 auto;padding:40px 24px 96px;line-height:1.7;font-weight:300}
/* ===== Menu: underline + Services dropdown ===== */
.main-nav>ul>li{position:relative;padding-bottom:12px;margin-bottom:-12px}
.main-nav>ul>li>a{position:relative;display:inline-block;padding:8px 0}
.main-nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background-color:#7C6CFF;animation:c1 9s ease-in-out infinite;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.main-nav>ul>li:hover>a::after,.main-nav>ul>li.current-menu-item>a::after{transform:scaleX(1)}
.main-nav .menu-item-has-children>a::before{content:"";order:2}
.main-nav .menu-item-has-children>a{padding-right:2px}
.main-nav .menu-item-has-children>a::after{}
.main-nav ul.sub-menu{position:absolute;top:100%;left:-24px;margin:0;padding:12px;list-style:none;width:300px;flex-direction:column;gap:0;background:#fff;border:1px solid #ECECF2;border-radius:22px;box-shadow:0 24px 48px rgba(20,20,40,.12);opacity:0;visibility:hidden;transform:translateY(14px) rotateX(-14deg);transform-origin:top;transition:opacity .3s,transform .3s,visibility .3s;z-index:20;display:flex}
.main-nav li:hover>ul.sub-menu,.main-nav li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav ul.sub-menu a{display:block;padding:12px 14px;border-radius:14px;transition:background .2s,padding .2s}
.main-nav ul.sub-menu a:hover{background:#F4F3FF;padding-left:20px}
@media(max-width:800px){.main-nav ul{flex-wrap:wrap}.main-nav ul.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;width:auto;padding:4px 0 0 12px}}
@media(max-width:800px){.site-header{padding-left:24px;padding-right:24px}}
/* ===== Design animations ===== */
body{margin:0;background:#FAFAFA}
a{color:inherit;text-decoration:none}
@keyframes c1{0%,100%{background-color:#7C6CFF}33%{background-color:#00D1B2}66%{background-color:#FF8FB1}}
@keyframes c2{0%,100%{background-color:#FFB020}33%{background-color:#FF6B6B}66%{background-color:#4DA3FF}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,40px) scale(1.15)}}
@keyframes txt{0%,100%{color:#7C6CFF}33%{color:#00B39A}66%{color:#FF5C8A}}
@keyframes fade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes ring{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes on{0%,100%{background-color:#E6E6F0;transform:scale(1);box-shadow:none}40%,60%{background-color:#00D1B2;transform:scale(1.3);box-shadow:0 0 14px #00D1B2}}
@keyframes race{0%,100%{width:18%}50%{width:92%}}
.rg{position:absolute;inset:0;border:2px solid #7C6CFF;border-radius:50%;animation:ring 3s ease-out infinite}
.dt{width:22px;height:22px;border-radius:50%;background:#E6E6F0;animation:on 5s ease-in-out infinite}
.rc{height:14px;border-radius:14px;animation:race 6s ease-in-out infinite}
.bn{transition:transform .35s}.bn:hover{transform:translateY(-6px)}
@keyframes sway{0%,100%{transform:rotateX(2deg) rotateY(-6deg)}50%{transform:rotateX(-3deg) rotateY(6deg)}}
@keyframes bob{0%,100%{transform:translateZ(46px) translateY(0) rotate(0)}50%{transform:translateZ(60px) translateY(-8px) rotate(8deg)}}
.sv{transform-style:preserve-3d;animation:sway 7s ease-in-out infinite;transition:transform .4s,box-shadow .4s}
.sv:hover{animation:none;transform:rotateX(8deg) rotateY(-14deg) translateZ(30px);box-shadow:-24px 32px 48px rgba(20,20,40,.18)}
.sv .ico{width:56px;height:56px;border-radius:18px;transform:translateZ(46px);animation:c1 9s ease-in-out infinite,bob 5s ease-in-out infinite;box-shadow:8px 8px 0 rgba(20,20,40,.14)}
@keyframes gx{0%,100%{transform:scaleX(.3)}50%{transform:scaleX(1)}}
@keyframes gy{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@keyframes pls{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.5}}
@keyframes blk{0%,100%{opacity:.15}50%{opacity:1}}
@keyframes drw{0%{stroke-dashoffset:60}55%,100%{stroke-dashoffset:0}}
@keyframes png{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.ik{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.fk{fill:currentColor;stroke:none}
.gx{transform-box:fill-box;transform-origin:left;animation:gx 3s ease-in-out infinite}
.gy{transform-box:fill-box;transform-origin:bottom;animation:gy 3s ease-in-out infinite}
.pl{transform-box:fill-box;transform-origin:center;animation:pls 2.4s ease-in-out infinite}
.bk{animation:blk 1.6s ease-in-out infinite}
.sp{transform-box:fill-box;transform-origin:center;animation:spin 9s linear infinite}
.dr{stroke-dasharray:60;animation:drw 3s ease-in-out infinite}
.pg{transform-box:fill-box;transform-origin:center;animation:png 2.4s ease-out infinite}
.ico3{width:64px;height:64px;padding:8px;box-sizing:border-box;border-radius:18px;background:#F4F3FF;transform:translateZ(46px);box-shadow:8px 8px 0 rgba(20,20,40,.12);color:#7C6CFF;animation:bob 5s ease-in-out infinite,txt 9s ease-in-out infinite}
@keyframes cd{0%,100%{background-color:#5B4BDB}33%{background-color:#00907C}66%{background-color:#D6407A}}
@keyframes cdt{0%,100%{color:#5B4BDB}33%{color:#00907C}66%{color:#D6407A}}
@keyframes fl{0%,100%{transform:translateZ(var(--z)) translateY(0)}50%{transform:translateZ(var(--z)) translateY(-16px)}}
@keyframes ty{0%,100%{opacity:.25}50%{opacity:1}}
.ct{animation:cd 9s ease-in-out infinite}
.cs{transform-style:preserve-3d;animation:sway 7s ease-in-out infinite,cd 9s ease-in-out infinite}
.fb{position:absolute;background:#fff;border-radius:22px;color:#15151F;font-weight:500;animation:fl 5s ease-in-out infinite;box-shadow:10px 14px 0 rgba(0,0,0,.12)}
.td{display:inline-block;width:9px;height:9px;border-radius:50%;background:#5B4BDB;margin:0 3px;animation:ty 1.4s ease-in-out infinite}
.cb{display:inline-block;background:#fff;color:#5B4BDB;font-weight:600;padding:18px 34px;border-radius:999px;box-shadow:6px 8px 0 rgba(0,0,0,.18);animation:cdt 9s ease-in-out infinite;transition:transform .25s,box-shadow .25s}
.cb:hover{transform:translate(-3px,-3px);box-shadow:10px 12px 0 rgba(0,0,0,.2)}
.ch{display:inline-block;border:1.5px solid rgba(255,255,255,.7);color:#fff;padding:12px 22px;border-radius:999px;font-weight:500;transition:transform .25s}
.ch:hover{transform:translateY(-3px)}
.wr{position:absolute;inset:70px;border:2px solid rgba(255,255,255,.7);border-radius:50%;animation:ring 3s ease-out infinite}
.nv{position:relative;display:inline-block;padding:8px 0}
.nv::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background-color:#7C6CFF;animation:c1 9s ease-in-out infinite;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nv:hover::after,.nv.on::after,.dd:hover .nv::after{transform:scaleX(1)}
.cv{display:inline-block;font-size:12px;transition:transform .3s}
.dd:hover .cv{transform:rotate(180deg)}
.dd{position:relative}
.dm{position:absolute;top:100%;left:-24px;padding-top:18px;visibility:hidden;opacity:0;transform:translateY(14px) rotateX(-14deg);transform-origin:top;transition:opacity .3s,transform .3s,visibility .3s;z-index:20}
.dd:hover .dm{visibility:visible;opacity:1;transform:none}
.dmi{background:#fff;border:1px solid #ECECF2;border-radius:22px;padding:12px;box-shadow:0 24px 48px rgba(20,20,40,.12);width:300px;display:flex;flex-direction:column}
.dmi a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;transition:background .2s,padding .2s}
.dmi a:hover{background:#F4F3FF;padding-left:20px}
.dd:hover .dmi a{animation:fade .45s both}
.dmi i{flex:none;width:10px;height:10px;border-radius:50%;animation:c1 9s ease-in-out infinite}
@keyframes ln{0%{stroke-dashoffset:460}60%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:460}}
@keyframes ar{0%,12%{opacity:0}60%,92%{opacity:1}100%{opacity:0}}
@keyframes cu{0%,8%{transform:translate(-150px,-110px)}36%{transform:translate(0,0) scale(1)}41%{transform:translate(0,0) scale(.8)}46%{transform:translate(0,0) scale(1)}84%{transform:translate(0,0)}100%{transform:translate(-150px,-110px)}}
@keyframes clk{0%,38%{transform:scale(.7);opacity:0}42%{opacity:.7}62%,100%{transform:scale(1.7);opacity:0}}
.ln{stroke-dasharray:460;animation:ln 5s ease-in-out infinite}
.ar{animation:ar 5s ease-in-out infinite}
.cu{animation:cu 6s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
.rp{position:absolute;inset:-6px;border-radius:999px;border:2px solid #7C6CFF;animation:clk 6s ease-out infinite}
.bb{border-radius:8px 8px 4px 4px;transform-origin:bottom;animation:gy 3s ease-in-out infinite,c1 9s ease-in-out infinite}
.dd3{display:block;width:9px;height:9px;border-radius:50%;animation:c1 9s ease-in-out infinite}
@media(max-width:900px){.dvw{display:none}}
@keyframes scn{0%,100%{transform:rotateY(-20deg) rotateX(8deg)}50%{transform:rotateY(20deg) rotateX(-4deg)}}
@keyframes ob{0%,100%{transform:translate3d(var(--x),var(--y),var(--z))}50%{transform:translate3d(var(--x),calc(var(--y) - 34px),calc(var(--z) + 40px))}}
@keyframes rsp{to{transform:rotateX(var(--r)) rotateZ(360deg)}}
@keyframes fsh{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.8);opacity:.55}}
.sc3{animation:scn 14s ease-in-out infinite}
.sp3{position:absolute;left:0;top:0;width:var(--s);height:var(--s);border-radius:50%;background-image:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,0) 42%),radial-gradient(circle at 74% 82%,rgba(20,10,80,.34),rgba(20,10,80,0) 62%);box-shadow:inset -10px -14px 30px rgba(20,10,80,.2),0 24px 48px rgba(124,108,255,.28)}
.rg3{position:absolute;border-radius:50%;border:2px solid rgba(124,108,255,.18);border-top-color:#7C6CFF;transform:rotateX(var(--r));animation:rsp 16s linear infinite}
.fs3{border-radius:50%;background:rgba(80,60,200,.2);filter:blur(22px);animation:fsh 7s ease-in-out infinite}
@media(max-width:900px){.sc3w{display:none}}
.o{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75}
.hl{animation:txt 9s ease-in-out infinite}
.f{animation:fade 1s both}.f2{animation-delay:.2s}.f3{animation-delay:.4s}
.line{height:3px;border-radius:3px;animation:c1 9s ease-in-out infinite}
.card{transition:transform .35s,box-shadow .35s}
.card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(20,20,40,.1)}
.btn{display:inline-block;padding:16px 32px;border-radius:999px;color:#fff;font-weight:500;animation:c1 9s ease-in-out infinite;transition:transform .2s}
.btn:hover{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
/* ===== Elementor page content (class names used by the templates) ===== */
body .elementor .elementor-heading-title,body .elementor .elementor-widget-text-editor,body .elementor .elementor-button{font-family:'Outfit',sans-serif}
.elementor-heading-title .hl{font-weight:600}
.aur-hero{position:relative;overflow:hidden}
.aur-hero::before,.aur-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;z-index:0;pointer-events:none}
.aur-hero::before{right:60px;top:20px;width:420px;height:420px;animation:c1 9s ease-in-out infinite,drift 12s ease-in-out infinite}
.aur-hero::after{right:320px;top:200px;width:320px;height:320px;animation:c2 11s ease-in-out infinite,drift 15s ease-in-out infinite reverse}
.aur-hero>*{position:relative;z-index:1}
.aur-h1 .elementor-heading-title{font-weight:300;font-size:clamp(44px,7.5vw,104px);line-height:1.05;color:#15151F;animation:fade 1s both}
.aur-h2 .elementor-heading-title{font-weight:300;font-size:clamp(30px,4vw,44px);line-height:1.12;color:#15151F}
.aur-h2s .elementor-heading-title{font-weight:300;font-size:clamp(26px,3vw,34px);color:#15151F}
.aur-h3 .elementor-heading-title{font-weight:500;font-size:24px;line-height:1.25;color:#15151F}
.aur-label .elementor-heading-title{font-size:15px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;animation:txt 9s ease-in-out infinite}
.aur-lead,.aur-lead p{font-size:20px;font-weight:300;line-height:1.6;color:#15151F;animation:fade 1s .2s both}
.aur-p,.aur-p p{font-size:16px;font-weight:300;line-height:1.6;color:#15151F;margin:0}
.aur-num,.aur-num p{font-size:14px;font-weight:300;color:#15151F;margin:0}
.aur-btn .elementor-button{border-radius:999px;color:#fff!important;padding:16px 32px;font-weight:500;animation:c1 9s ease-in-out infinite;transition:transform .2s}
.aur-btn .elementor-button:hover{transform:scale(1.06)}
.aur-card{background:#fff;border:1px solid #ECECF2;border-radius:28px}
.aur-persp{perspective:1200px}
.sv.aur-card{border-radius:24px;box-shadow:0 20px 40px rgba(20,20,40,.07)}
.sv,.sv .e-con-inner,.sv .elementor-widget,.sv .elementor-widget-container{transform-style:preserve-3d}
.sv .aur-num{transform:translateZ(20px)}.sv .aur-h3{transform:translateZ(30px)}.sv .aur-p{transform:translateZ(14px)}
.sv:nth-child(2){animation-delay:-.9s}.sv:nth-child(3){animation-delay:-1.8s}.sv:nth-child(4){animation-delay:-2.7s}.sv:nth-child(5){animation-delay:-3.6s}.sv:nth-child(6){animation-delay:-4.5s}.sv:nth-child(7){animation-delay:-5.4s}.sv:nth-child(8){animation-delay:-6.3s}
.aur-contact{border-radius:44px;color:#fff;background-color:#5B4BDB;box-shadow:0 30px 60px rgba(60,40,160,.25)}
.aur-contact,.aur-contact .e-con-inner,.aur-contact .elementor-widget,.aur-contact .elementor-widget-container,.cs-r{transform-style:preserve-3d}
.aur-contact .elementor-heading-title,.aur-contact .aur-p,.aur-contact .aur-p p{color:#fff}
.aur-contact .aur-label .elementor-heading-title{animation:none;opacity:.85}
.aur-contact .aur-h2 .elementor-heading-title{line-height:1.08}
.cs-l{transform:translateZ(40px)}
.cb-w .elementor-button{background:#fff;color:#5B4BDB;font-weight:600;padding:18px 34px;border-radius:999px;box-shadow:6px 8px 0 rgba(0,0,0,.18);animation:cdt 9s ease-in-out infinite;transition:transform .25s,box-shadow .25s}
.cb-w .elementor-button:hover{transform:translate(-3px,-3px);box-shadow:10px 12px 0 rgba(0,0,0,.2)}
.ch-w .elementor-button{background:transparent;border:1.5px solid rgba(255,255,255,.7);color:#fff;padding:12px 22px;border-radius:999px;font-weight:500;transition:transform .25s}
.ch-w .elementor-button:hover{transform:translateY(-3px);background:transparent;color:#fff}

/* ===== v1.1 fixes: font + stronger Elementor overrides ===== */
body{font-family:'Outfit',sans-serif;color:#15151F}
.site-header,.site-footer,.main-nav a,.logo,.btn{font-family:'Outfit',sans-serif}
.logo{font-weight:600;font-size:22px}
.main-nav a{font-weight:300}
body .elementor .aur-h1{max-width:760px}
body .elementor .aur-h1 .elementor-heading-title{font-family:'Outfit',sans-serif!important;font-weight:300!important;font-size:clamp(44px,7.5vw,104px)!important;line-height:1.05!important;color:#15151F!important}
body .elementor .aur-h2 .elementor-heading-title{font-family:'Outfit',sans-serif!important;font-weight:300!important;font-size:clamp(30px,4vw,44px)!important;line-height:1.12!important;color:#15151F!important}
body .elementor .aur-h2s .elementor-heading-title{font-family:'Outfit',sans-serif!important;font-weight:300!important;font-size:clamp(26px,3vw,34px)!important;color:#15151F!important}
body .elementor .aur-h3 .elementor-heading-title{font-family:'Outfit',sans-serif!important;font-weight:500!important;font-size:24px!important;line-height:1.25!important;color:#15151F!important}
body .elementor .aur-label .elementor-heading-title{font-family:'Outfit',sans-serif!important;font-weight:500!important;font-size:15px!important;letter-spacing:.12em;text-transform:uppercase}
body .elementor .elementor-heading-title .hl{font-weight:600!important}
body .elementor .aur-lead p,body .elementor .aur-p p,body .elementor .aur-num p{font-family:'Outfit',sans-serif!important;font-weight:300!important;color:#15151F!important;margin:0}
body .elementor .aur-lead p{font-size:20px!important;line-height:1.6!important}
body .elementor .aur-contact .elementor-heading-title,body .elementor .aur-contact .aur-p p{color:#fff!important}
body .elementor .aur-contact .aur-h2 .elementor-heading-title{font-size:clamp(34px,4.4vw,56px)!important;line-height:1.08!important}
body .elementor .aur-contact .elementor-heading-title b{font-weight:600}

/* ===== v1.2: coloured dots in dropdown + headline width ===== */
.main-nav ul.sub-menu a{display:flex;align-items:center;gap:12px}
.main-nav ul.sub-menu a::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background-color:#7C6CFF;animation:c1 9s ease-in-out infinite}
.main-nav ul.sub-menu li:nth-child(2) a::before{animation-delay:-1s}
.main-nav ul.sub-menu li:nth-child(3) a::before{animation-delay:-2s}
.main-nav ul.sub-menu li:nth-child(4) a::before{animation-delay:-3s}
.main-nav ul.sub-menu li:nth-child(5) a::before{animation-delay:-4s}
.main-nav ul.sub-menu li:nth-child(6) a::before{animation-delay:-5s}
.main-nav ul.sub-menu li:nth-child(7) a::before{animation-delay:-6s}
.main-nav ul.sub-menu li:nth-child(8) a::before{animation-delay:-7s}
body .elementor .aur-h1{max-width:760px!important}
body .elementor .aur-h1 .elementor-heading-title{max-width:760px}

/* ===== v1.3: logo image ===== */
.logo img{display:block;max-height:52px;width:auto;height:auto}

/* ===== v1.4: logo sizing ===== */
.site-header{padding-top:18px;padding-bottom:18px}
.logo{display:flex;align-items:center;line-height:0}
.logo img{display:block;height:auto;width:auto;max-height:78px;max-width:240px;object-fit:contain}
.site-footer .logo img{max-height:64px}
@media(max-width:800px){.logo img{max-height:56px;max-width:180px}}
