/* =====================================================================
   SCRIBBBLY v3 — Awwwards-style theme inspired by Studio Namma
   Palette: warm off-white background · deep ink text · electric blue accent
   ===================================================================== */

:root {
    --bg:        #EFECE6;            /* warm off-white */
    --bg-2:      #E8E4DC;            /* slightly darker panel */
    --paper:     #F6F3ED;            /* cards */
    --ink:       #0E0E12;            /* primary text */
    --ink-2:     #2A2A30;
    --muted:     #6F6E68;
    --line:      rgba(14,14,18,0.12);
    --accent:    #3D3DFF;            /* electric blue */
    --accent-2:  #6A6AFF;
    --accent-soft: rgba(61,61,255,0.10);
    --white:     #ffffff;
    --black:     #000000;
    --font-display: 'Instrument Serif', 'Times New Roman', serif;
    --font-body:    'Inter', 'Helvetica Neue', Arial, sans-serif;
    --easing: cubic-bezier(0.65,0,0.35,1);
    --radius: 22px;
    --maxw: 1440px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:auto; background:var(--bg); }
body {
    font-family:var(--font-body); background:var(--bg); color:var(--ink);
    line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    overflow-x:hidden; cursor:none;
}
@media (max-width:1024px){ body{cursor:auto;} .cursor{display:none!important;} }
::selection { background:var(--accent); color:var(--white); }
a { color:inherit; text-decoration:none; transition:color .25s var(--easing); }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
button { font:inherit; background:none; border:0; cursor:none; color:inherit; }

.container { max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,56px); }

/* =====================  PRELOADER  ===================== */
#preloader {
    position:fixed; inset:0; z-index:99999; background:var(--bg); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    transition:opacity .7s var(--easing), visibility .7s var(--easing);
}
#preloader.done { opacity:0; visibility:hidden; }
.pl-corner { position:absolute; top:28px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink); }
.pl-tl { left:28px; }
.pl-tr { right:28px; font-variant-numeric:tabular-nums; }
.pl-corner span{ color:var(--accent); margin-left:6px; }
.pl-center { display:flex; flex-direction:column; align-items:center; gap:36px; }
.pl-marks { display:flex; gap:8px; }
.pl-marks span {
    width:8px; height:8px; border-radius:50%; background:var(--accent);
    transform:translateY(8px); opacity:0; animation:plDot 1.8s var(--easing) infinite;
}
.pl-marks span:nth-child(2){ animation-delay:.2s; }
.pl-marks span:nth-child(3){ animation-delay:.4s; }
@keyframes plDot { 0%,80%,100%{transform:translateY(8px); opacity:0;} 40%{transform:translateY(0); opacity:1;} }
.pl-words { position:relative; height:1.1em; min-width:280px; text-align:center;
    font-family:var(--font-display); font-style:italic; font-size:clamp(48px,8vw,84px); line-height:1; color:var(--ink); }
.pl-word { position:absolute; inset:0; opacity:0; transform:translateY(20px); }
.pl-word em, .pl-word { font-style:italic; }
.pl-bar { position:absolute; left:28px; right:28px; bottom:28px; height:1px; background:var(--line); }
.pl-bar i { display:block; height:100%; width:0%; background:var(--accent); }

/* =====================  CURSOR  ===================== */
.cursor { position:fixed; top:0; left:0; pointer-events:none; z-index:9998;
    mix-blend-mode:difference; }
.cursor-dot { position:fixed; width:6px; height:6px; background:var(--white);
    border-radius:50%; transform:translate(-50%,-50%); transition:transform .12s linear; }
.cursor-ring { position:fixed; width:36px; height:36px; border:1px solid var(--white);
    border-radius:50%; transform:translate(-50%,-50%); transition:transform .25s var(--easing), width .25s var(--easing), height .25s var(--easing); }
.cursor.hover .cursor-ring { width:64px; height:64px; background:rgba(255,255,255,0.15); }

/* =====================  HEADER  ===================== */
.site-header {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    padding:14px clamp(16px,3vw,32px);
    transition:transform .4s var(--easing), background .4s var(--easing);
}
.site-header.hidden { transform:translateY(-110%); }
.header-inner {
    max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; justify-content:space-between;
    padding:10px 20px; border-radius:999px;
    background:rgba(246,243,237,0.65);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid var(--line);
    transition:background .3s var(--easing), border-color .3s var(--easing);
}
.site-header.scrolled .header-inner { background:rgba(246,243,237,0.92); }
.header-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:20px; }
.header-logo img { height:26px; width:auto; }
.header-logo-text em { color:var(--accent); font-style:italic; }
.nav-links { display:flex; gap:6px; }
@media (max-width:1024px){ .nav-links { display:none; } }
.nav-links a {
    position:relative; font-size:13px; padding:8px 14px; border-radius:999px;
    color:var(--ink-2); overflow:hidden; display:inline-block;
}
.nav-links a span { display:inline-block; transition:transform .35s var(--easing); }
.nav-links a:hover span { transform:translateY(-100%); }
.nav-links a:before {
    content:attr(data-text); position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    color:var(--accent); transform:translateY(100%); transition:transform .35s var(--easing);
}
.nav-links a:hover:before { transform:translateY(0); }
.header-cta .pill-btn {
    display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:var(--bg);
    font-size:13px; font-weight:500; padding:11px 20px; border-radius:999px; transition:background .25s var(--easing);
}
.header-cta .pill-btn:hover { background:var(--accent); }
.header-cta .pill-btn i { transition:transform .3s var(--easing); }
.header-cta .pill-btn:hover i { transform:translate(2px,-2px); }

.nav-toggle { display:none; width:40px; height:40px; flex-direction:column; gap:5px; align-items:center; justify-content:center; }
.nav-toggle span { width:18px; height:1.5px; background:var(--ink); transition:transform .3s var(--easing); }
@media (max-width:1024px){ .nav-toggle { display:flex; } .header-cta{ display:none; } }
.nav-toggle.open span:first-child { transform:translateY(3.25px) rotate(45deg); }
.nav-toggle.open span:last-child  { transform:translateY(-3.25px) rotate(-45deg); }

.mobile-menu {
    position:fixed; inset:0; z-index:999; background:var(--bg); padding:120px 32px 40px;
    transform:translateY(-100%); transition:transform .6s var(--easing);
}
.mobile-menu.open { transform:translateY(0); }
.mobile-menu nav { display:flex; flex-direction:column; gap:8px; }
.mobile-menu a { font-family:var(--font-display); font-size:48px; color:var(--ink); }
.mobile-menu a:hover { color:var(--accent); font-style:italic; }

/* =====================  HERO  ===================== */
.hero { position:relative; min-height:100vh; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:120px 24px 80px; }
.hero-video {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    z-index:0; opacity:1; filter:none;
}
.hero-overlay, .hero-grain { display:none !important; }
.hero-content { position:relative; z-index:3; max-width:1100px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-eyebrow {
    display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--ink-2); padding:8px 16px;
    background:rgba(255,255,255,.6); border:1px solid var(--line); border-radius:999px; margin-bottom:32px;
}
.hero-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); animation:pulse 2s var(--easing) infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.25);} }

.hero-title {
    font-family:var(--font-display);
    font-weight:400;
    color:transparent;
    font-size:clamp(56px,11vw,160px);
    line-height:.95;
    letter-spacing:-0.02em;
}

.hero-title .line {
    display:block;
    overflow:hidden;
    padding-bottom:.08em;
}

.hero-title .line > span {
    display:inline-block;
    transform:translateY(110%);
}

.hero-title em {
    color:transparent;
    font-style:italic;
}

.hero-subhead {
    font-size:clamp(15px,1.4vw,18px);
    color:transparent;
    max-width:60ch;
    margin-top:30px;
}
.hero-ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; justify-content:center; }
.hero-meta {
    margin-top:64px; display:flex; gap:48px; flex-wrap:wrap; justify-content:center;
    padding-top:32px; border-top:1px solid var(--line); width:min(100%,560px);
}
.hero-meta > div { display:flex; flex-direction:column; align-items:center; }
.hero-meta .num { font-family:var(--font-display); font-size:34px; color:var(--ink); line-height:1; }
.hero-meta .lbl { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

.btn {
    display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px;
    font-size:14px; font-weight:500; transition:transform .3s var(--easing), background .3s var(--easing), color .3s var(--easing), border-color .3s var(--easing);
    will-change:transform;
}
.btn i { display:inline-block; transition:transform .35s var(--easing); }
.btn:hover i { transform:translate(3px,-3px); }
.btn-primary { background:var(--ink); color:var(--bg); }
.btn-primary:hover { background:var(--accent); }
.btn-ghost { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.btn-ghost:hover { background:var(--ink); color:var(--bg); }

.hero-marquee {
    position:absolute; bottom:90px; left:0; right:0; z-index:2; overflow:hidden; opacity:.5;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0;
}
.hero-marquee-track {
    display:inline-flex; gap:32px; white-space:nowrap;
    font-family:var(--font-display); font-style:italic; font-size:22px; color:var(--ink-2);
    animation:slideX 28s linear infinite;
}
@keyframes slideX { from{transform:translateX(0);} to{transform:translateX(-50%);} }

.hero-scroll {
    position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:3;
    display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--ink-2); font-size:11px;
    letter-spacing:.22em; text-transform:uppercase;
}
.hero-scroll i { display:block; width:1px; height:38px; background:var(--ink); position:relative; overflow:hidden; }
.hero-scroll i:after { content:""; position:absolute; left:0; top:-100%; width:100%; height:100%; background:var(--accent); animation:scrollLine 1.6s var(--easing) infinite; }
@keyframes scrollLine { to { top:100%; } }

/* =====================  LOGOS  ===================== */
.logo-section { background:var(--bg); padding:80px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.logo-wall-label { font-family:var(--font-display); font-style:italic; font-size:20px; color:var(--muted); text-align:center; margin-bottom:36px; }
.logo-marquee { display:flex; overflow:hidden; user-select:none; gap:80px;
    mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.logo-marquee-content { flex-shrink:0; display:flex; align-items:center; gap:80px; min-width:100%; animation:scrollHorizontal 38s linear infinite; }
@keyframes scrollHorizontal { from{transform:translateX(0);} to{transform:translateX(calc(-100% - 80px));} }
.logo-item { display:flex; align-items:center; justify-content:center; height:64px; }
.logo-item img { max-height:48px; width:auto; object-fit:contain; opacity:.55;
    filter:grayscale(1) contrast(1.1) brightness(.2); transition:opacity .3s var(--easing), transform .3s var(--easing), filter .3s var(--easing); }
.logo-item:hover img { opacity:1; filter:none; transform:scale(1.05); }

/* =====================  SECTIONS  ===================== */
section { position:relative; }
.section-head { max-width:880px; margin-bottom:80px; }
.eyebrow {
    display:inline-block; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted);
    margin-bottom:24px; padding-left:18px; position:relative;
}
.eyebrow:before { content:""; position:absolute; left:0; top:50%; width:10px; height:1px; background:var(--accent); }
h2 {
    font-family:var(--font-display); font-weight:400; color:var(--ink);
    font-size:clamp(40px,7.5vw,108px); line-height:1; letter-spacing:-0.02em; margin-bottom:24px;
}
h2 em { color:var(--accent); font-style:italic; }
.section-lead { color:var(--ink-2); font-size:clamp(15px,1.3vw,18px); max-width:62ch; }

/* SERVICES */
.services { padding:160px 0; background:var(--bg-2); }
.services-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.service-card {
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:36px;
    display:flex; flex-direction:column; gap:18px; transition:transform .4s var(--easing), border-color .3s, background .3s;
    position:relative; overflow:hidden;
}
.service-card:hover { transform:translateY(-6px); border-color:var(--ink); }
.service-card:before {
    content:""; position:absolute; inset:auto -40% -60% auto; width:240px; height:240px;
    background:radial-gradient(closest-side, var(--accent-soft), transparent 70%); transition:transform .8s var(--easing);
}
.service-card:hover:before { transform:translate(-30%,-30%); }
.service-num { font-family:var(--font-body); font-size:11px; letter-spacing:.2em; color:var(--accent); }
.service-card h3 { font-family:var(--font-display); font-size:30px; line-height:1.1; color:var(--ink); }
.service-card p { font-size:14.5px; color:var(--ink-2); }
.service-card ul { display:flex; flex-direction:column; gap:8px; margin-top:8px; padding-top:18px; border-top:1px solid var(--line); }
.service-card li { font-size:13px; color:var(--ink-2); padding-left:20px; position:relative; }
.service-card li:before { content:"→"; position:absolute; left:0; color:var(--accent); }

/* WORK */
.work { padding:160px 0; background:var(--bg); }
.work-grid {
    display:grid; gap:48px 32px;
    grid-template-columns:repeat(12,1fr);
}
.work-card { grid-column:span 6; display:flex; flex-direction:column; gap:20px; }
.work-card:nth-child(3n)   { grid-column:span 12; }
.work-card:nth-child(3n) .work-cover { aspect-ratio:21/9; }
@media (max-width:900px){ .work-card, .work-card:nth-child(3n){ grid-column:span 12; } }
.work-cover {
    position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius); background:var(--paper);
    border:1px solid var(--line);
}
.work-cover img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--easing), filter .6s var(--easing); }
.work-card:hover .work-cover img { transform:scale(1.04); }
.work-hover {
    position:absolute; inset:auto 20px 20px auto; display:flex; align-items:center; gap:10px;
    background:var(--ink); color:var(--bg); padding:10px 18px; border-radius:999px;
    font-size:12px; letter-spacing:.06em; opacity:0; transform:translateY(8px); transition:opacity .4s var(--easing), transform .4s var(--easing);
}
.work-card:hover .work-hover { opacity:1; transform:translateY(0); }
.work-meta { display:flex; flex-direction:column; gap:8px; padding:0 4px; }
.work-num { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.work-title { font-family:var(--font-display); font-size:clamp(24px,2.3vw,32px); line-height:1.1; color:var(--ink); }
.work-tag { font-size:12px; letter-spacing:.06em; color:var(--accent); }
.work-cta { text-align:center; margin-top:80px; }

/* PRICING */
.pricing { padding:160px 0; background:var(--bg-2); }
.pricing-grid { display:grid; gap:22px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); align-items:stretch; }
.pricing-card {
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:40px;
    display:flex; flex-direction:column; position:relative; transition:transform .4s var(--easing), border-color .3s;
}
.pricing-card:hover { transform:translateY(-6px); }
.pricing-card.featured { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.pricing-card.featured .tier-name, .pricing-card.featured .tier-sub, .pricing-card.featured .pricing-list li { color:rgba(255,255,255,.78); }
.pricing-card.featured .tier-price { color:var(--bg); }
.pricing-card.featured .pricing-btn { background:var(--accent); color:var(--white); }
.popular-pill {
    position:absolute; top:22px; right:22px; background:var(--accent); color:var(--white);
    font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.18em; padding:6px 12px; border-radius:999px;
}
.tier-name { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.tier-price { font-family:var(--font-display); font-size:64px; color:var(--ink); margin-bottom:6px; letter-spacing:-0.02em; line-height:1; }
.tier-price span { font-size:14px; color:var(--muted); margin-left:6px; font-family:var(--font-body); }
.tier-sub { font-size:14px; color:var(--ink-2); margin-bottom:28px; }
.pricing-list { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; padding-top:24px; border-top:1px solid var(--line); }
.pricing-card.featured .pricing-list { border-color:rgba(255,255,255,.18); }
.pricing-list li { font-size:14px; color:var(--ink-2); padding-left:20px; position:relative; }
.pricing-list li:before { content:"✓"; position:absolute; left:0; color:var(--accent); }
.pricing-btn {
    margin-top:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 24px; background:var(--ink); color:var(--bg); border-radius:999px; font-size:13px; font-weight:500;
    transition:background .3s var(--easing), transform .3s var(--easing);
}
.pricing-btn:hover { background:var(--accent); }
.pricing-btn i { transition:transform .3s var(--easing); }
.pricing-btn:hover i { transform:translate(2px,-2px); }

/* ABOUT */
.about { padding:160px 0; background:var(--bg); }
.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; }
@media (max-width:900px){ .about-grid { grid-template-columns:1fr; } }
.about-copy .lead { font-family:var(--font-display); font-size:clamp(22px,2.4vw,32px); line-height:1.2; color:var(--ink); margin-bottom:20px; }
.about-copy p { color:var(--ink-2); font-size:16px; }
.about-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.about-stats .stat {
    padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    display:flex; flex-direction:column; gap:8px;
}
.about-stats .num { font-family:var(--font-display); font-size:56px; color:var(--ink); line-height:1; letter-spacing:-0.02em; }
.about-stats .lbl { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }

/* CONTACT */
.contact { padding:160px 0; background:var(--bg-2); }
.contact-links { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:48px; }
.contact-link {
    display:inline-flex; align-items:center; gap:8px; padding:14px 22px;
    background:var(--paper); border:1px solid var(--line); border-radius:999px; font-size:14px; transition:background .3s, color .3s, border-color .3s;
}
.contact-link:hover { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.contact-link i { transition:transform .3s var(--easing); }
.contact-link:hover i { transform:translate(2px,-2px); }
.cal-container { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:16px; min-height:520px; }
.cal-container #my-cal-inline-30min { min-height:500px; }

/* BIG WORDMARK */
.big-wordmark { background:var(--bg); padding:40px 0 100px; overflow:hidden; border-top:1px solid var(--line); }
.bw-track {
    display:inline-flex; gap:40px; white-space:nowrap; font-family:var(--font-display); font-style:italic;
    font-size:clamp(80px,18vw,260px); color:var(--ink); line-height:1; animation:slideX 40s linear infinite; letter-spacing:-0.03em;
}
.bw-track span { color:var(--accent); }

/* FOOTER */
.site-footer { background:var(--ink); color:var(--bg); padding:80px 0 40px; }
.footer-top { display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; align-items:flex-end; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-wordmark { font-family:var(--font-display); font-size:clamp(48px,7vw,96px); color:var(--bg); }
.footer-wordmark em { color:var(--accent); font-style:italic; }
.footer-tag { font-size:14px; color:rgba(255,255,255,.7); max-width:32ch; }
.footer-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:28px; padding:48px 0; }
.footer-cols > div { display:flex; flex-direction:column; gap:10px; }
.footer-h { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:8px; }
.footer-cols a { font-size:14px; color:rgba(255,255,255,.85); }
.footer-cols a:hover { color:var(--accent); }
.footer-status { display:inline-flex; align-items:center; gap:8px; font-size:14px; color:rgba(255,255,255,.85); }
.footer-status i { width:8px; height:8px; border-radius:50%; background:#3DDC84; box-shadow:0 0 0 4px rgba(61,220,132,.15); animation:pulse 2s var(--easing) infinite; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:rgba(255,255,255,.6); }

/* REVEAL ANIMATIONS */
[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .9s var(--easing), transform .9s var(--easing); }
[data-reveal].in { opacity:1; transform:translateY(0); }
[data-split-lines] .ln { display:block; overflow:hidden; }
[data-split-lines] .ln > span { display:inline-block; transform:translateY(110%); transition:transform 1s var(--easing); }
[data-split-lines].in .ln > span { transform:translateY(0); }

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    *,*:before,*:after { animation-duration:0.001ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; }
}

/* =====================  PRELOADER WHEEL  ===================== */
.pl-wheel {
    position:relative;
    width:clamp(96px, 14vw, 156px);
    height:clamp(96px, 14vw, 156px);
    display:flex; align-items:center; justify-content:center;
}
.pl-wheel-img {
    width:78%; height:78%; object-fit:contain;
    animation:plSpin 3.6s linear infinite;
    filter:drop-shadow(0 6px 18px rgba(199,124,68,.25));
}
.pl-wheel-ring {
    position:absolute; inset:0; border-radius:50%;
    border:1px dashed rgba(199,124,68,.45);
    animation:plSpinRev 9s linear infinite;
}
.pl-wheel-ring:before, .pl-wheel-ring:after {
    content:""; position:absolute; width:6px; height:6px; border-radius:50%;
    background:var(--accent); top:50%; transform:translateY(-50%);
}
.pl-wheel-ring:before { left:-3px; }
.pl-wheel-ring:after  { right:-3px; }
@keyframes plSpin    { to { transform:rotate(360deg);  } }
@keyframes plSpinRev { to { transform:rotate(-360deg); } }

/* =====================  FOOTER LOGO  ===================== */
.footer-wordmark { display:inline-flex; align-items:center; gap:14px; }
.footer-logo-img { height:38px; width:auto; display:block; }

/* Disable custom cursor inside Elementor editor / preview */
body.elementor-editor-active,
body.elementor-editor-active *,
body.elementor-editor-preview,
body.elementor-editor-preview *,
body.elementor-html,
body.elementor-html * { cursor: auto !important; }
body.elementor-editor-active .cursor,
body.elementor-editor-preview .cursor,
body.elementor-html .cursor { display:none !important; }
