/* Raven Digitals V65 — Raven Motion */
:root{--rd-ease:cubic-bezier(.22,.61,.36,1);--rd-spring:cubic-bezier(.2,.8,.2,1);--rd-shadow:0 24px 70px rgba(37,24,55,.10);--rd-shadow-hover:0 34px 90px rgba(37,24,55,.16)}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{overflow-x:hidden;background:radial-gradient(circle at 50% -20%,rgba(119,80,232,.06),transparent 34%),var(--bg,#f8f6fa)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.rd-scroll-progress{position:fixed;top:0;left:0;z-index:10000;width:100%;height:2px;pointer-events:none}.rd-scroll-progress>i{display:block;width:100%;height:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#7750e8,#aa8dff,#7750e8);box-shadow:0 0 16px rgba(119,80,232,.45)}
.site-header{transition:background .35s var(--rd-ease),border-color .35s var(--rd-ease),box-shadow .35s var(--rd-ease),transform .35s var(--rd-ease)}
.site-header.rd-scrolled{background:rgba(249,247,251,.78)!important;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-bottom-color:rgba(119,80,232,.10)!important;box-shadow:0 14px 40px rgba(38,24,57,.06)}
.page-hero{isolation:isolate;overflow:hidden}.page-hero::before{content:"";position:absolute;inset:auto -12% -35% auto;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(119,80,232,.18),transparent 68%);filter:blur(28px);pointer-events:none;z-index:0;animation:rdAura 9s ease-in-out infinite alternate}
.page-hero-media{will-change:transform,filter;transition:transform 1.2s var(--rd-ease),filter 1.2s var(--rd-ease);transform:scale(1.025)}
.page-hero:hover .page-hero-media{transform:scale(1.055);filter:saturate(1.03) contrast(1.02)}
.hero-inner,.hero-copy{position:relative;z-index:2}
.hero-copy h1,.page-hero h1{animation:rdHeroIn .9s .04s var(--rd-spring) both}.hero-lead{animation:rdHeroIn .9s .14s var(--rd-spring) both}.hero-actions{animation:rdHeroIn .9s .23s var(--rd-spring) both}.hero-meta{animation:rdHeroIn .9s .31s var(--rd-spring) both}
.primary-btn,.secondary-btn,.nav-cta,.portal-primary{position:relative;isolation:isolate;overflow:hidden;transform:translateZ(0);transition:transform .28s var(--rd-spring),box-shadow .28s var(--rd-ease),border-color .28s ease,background .28s ease,color .28s ease}
.primary-btn::after,.nav-cta::after,.portal-primary::after{content:"";position:absolute;z-index:-1;inset:-2px;transform:translateX(-120%) skewX(-18deg);background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.38) 48%,transparent 68%);transition:transform .75s var(--rd-ease)}
.primary-btn:hover,.nav-cta:hover,.portal-primary:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(119,80,232,.22)}
.primary-btn:hover::after,.nav-cta:hover::after,.portal-primary:hover::after{transform:translateX(120%) skewX(-18deg)}
.secondary-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(34,23,49,.08)}
.reveal,.rd-reveal{opacity:0;transform:translateY(24px) scale(.992);filter:blur(3px);transition:opacity .75s var(--rd-ease),transform .75s var(--rd-spring),filter .75s ease}.reveal.is-visible,.rd-reveal.is-visible{opacity:1;transform:none;filter:none}
.rd-stagger>*{opacity:0;transform:translateY(18px);transition:opacity .55s var(--rd-ease),transform .55s var(--rd-spring)}.rd-stagger.is-visible>*{opacity:1;transform:none}.rd-stagger.is-visible>*:nth-child(2){transition-delay:.06s}.rd-stagger.is-visible>*:nth-child(3){transition-delay:.12s}.rd-stagger.is-visible>*:nth-child(4){transition-delay:.18s}.rd-stagger.is-visible>*:nth-child(5){transition-delay:.24s}.rd-stagger.is-visible>*:nth-child(6){transition-delay:.3s}
.work-card,.process-card,.delivery-card,.case-info,.case-outcomes article,.local-offer-grid article,.instagram-live-card,.custom-project-card,.raven-trust-grid article,.faq-list details,.local-faq details{will-change:transform;transition:transform .38s var(--rd-spring),box-shadow .38s var(--rd-ease),border-color .38s ease,background .38s ease}
.work-card:hover,.process-card:hover,.delivery-card:hover,.case-info:hover,.case-outcomes article:hover,.local-offer-grid article:hover,.instagram-live-card:hover,.custom-project-card:hover{transform:translateY(-7px);box-shadow:var(--rd-shadow-hover);border-color:rgba(119,80,232,.19)}
.work-card img,.instagram-live-card img,.case-gallery img{transition:transform .9s var(--rd-ease),filter .7s var(--rd-ease)}.work-card:hover img,.instagram-live-card:hover img,.case-gallery figure:hover img{transform:scale(1.045);filter:saturate(1.04)}
.card-arrow{transition:transform .35s var(--rd-spring)}.work-card:hover .card-arrow{transform:translate(4px,-4px) rotate(5deg)}
.section{position:relative}.section>.page-shell{position:relative;z-index:1}.section.soft::before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(119,80,232,.16),transparent)}
.home-proof-strip{overflow:hidden}.home-proof-strip>*{transition:transform .35s var(--rd-spring),opacity .35s ease}.home-proof-strip>*:hover{transform:translateY(-3px)}
.raven-trust-grid article:hover{background:#251d30;transform:translateY(-4px)}
.faq-list details[open],.local-faq details[open]{border-color:rgba(119,80,232,.22);box-shadow:0 18px 40px rgba(37,24,55,.06)}
.booking-card,.booking-summary,.manage-booking-app,.booking-result-card{transition:box-shadow .35s var(--rd-ease),transform .35s var(--rd-spring)}.booking-card:focus-within,.manage-booking-app:focus-within{box-shadow:0 32px 90px rgba(42,27,65,.12)}
.choice,.calendar-day,.time-choice,.manage-day,.manage-time-grid button{transition:transform .2s var(--rd-spring),box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.calendar-day:hover,.time-choice:hover,.manage-day:hover,.manage-time-grid button:hover{transform:translateY(-2px)}
.booking-step.is-active{animation:rdPanelIn .42s var(--rd-spring) both}.confirmation-mark{animation:rdConfirmPop .72s var(--rd-spring) both}.confirmation-orbit{animation:rdFloat 4s ease-in-out infinite}
.visual-band{overflow:hidden}.visual-band img{transition:transform 1.2s var(--rd-ease)}.visual-band:hover img{transform:scale(1.035)}
footer a{transition:opacity .2s ease,transform .2s var(--rd-spring)}footer a:hover{transform:translateX(2px)}
.rd-cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(119,80,232,.055),transparent 67%);transform:translate3d(-50%,-50%,0);opacity:0;transition:opacity .3s ease}
body.rd-pointer .rd-cursor-glow{opacity:1}
@keyframes rdHeroIn{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes rdPanelIn{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}@keyframes rdConfirmPop{0%{opacity:0;transform:scale(.65) rotate(-8deg)}70%{transform:scale(1.07) rotate(2deg)}100%{opacity:1;transform:none}}@keyframes rdAura{from{transform:translate3d(-3%,2%,0) scale(.92)}to{transform:translate3d(4%,-3%,0) scale(1.08)}}@keyframes rdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (max-width:820px){.page-hero::after{width:78vw;height:78vw}.rd-cursor-glow{display:none}.reveal,.rd-reveal{transform:translateY(16px)}.work-card:hover,.process-card:hover,.delivery-card:hover,.case-info:hover,.case-outcomes article:hover,.local-offer-grid article:hover,.instagram-live-card:hover,.custom-project-card:hover{transform:none;box-shadow:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal,.rd-reveal,.rd-stagger>*{opacity:1!important;transform:none!important;filter:none!important}.page-hero-media{transform:none!important}.rd-cursor-glow{display:none!important}}


/* V66 — photo text readability pass */
/* Keep the cinematic imagery, but guarantee readable copy regardless of photo brightness. */
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(248,247,251,.985) 0%,rgba(248,247,251,.93) 36%,rgba(248,247,251,.72) 56%,rgba(248,247,251,.30) 78%,rgba(248,247,251,.10) 100%),
    linear-gradient(0deg,rgba(248,247,251,.92) 0%,rgba(248,247,251,.34) 44%,rgba(248,247,251,.06) 74%);
}
.page-hero .hero-copy h1,
.page-hero .hero-lead,
.page-hero .eyebrow,
.page-hero .hero-meta{
  text-shadow:0 1px 1px rgba(255,255,255,.9),0 8px 28px rgba(255,255,255,.42);
}

.work-card::after{
  background:linear-gradient(0deg,rgba(14,9,22,.94) 0%,rgba(14,9,22,.72) 26%,rgba(14,9,22,.20) 61%,rgba(14,9,22,.02) 82%);
}
.work-info{
  text-shadow:0 2px 14px rgba(0,0,0,.68);
}
.work-info small{opacity:.94;color:rgba(255,255,255,.94)}

.instagram-live-card::after{
  background:linear-gradient(180deg,rgba(20,14,29,.02) 24%,rgba(20,14,29,.18) 55%,rgba(20,14,29,.92) 100%);
}
.instagram-live-copy{
  padding:11px 12px;
  margin:-11px -12px;
  border-radius:13px;
  background:linear-gradient(135deg,rgba(15,10,23,.48),rgba(15,10,23,.22));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.instagram-live-copy small{opacity:1;color:rgba(255,255,255,.94)}

.summary-image::after{
  background:linear-gradient(0deg,rgba(20,15,30,.72),rgba(20,15,30,.12) 66%,transparent);
}
.summary-image span{text-shadow:0 2px 12px rgba(0,0,0,.72)}

/* On smaller screens the photograph fills more of the copy area, so the veil becomes stronger. */
@media (max-width:820px){
  .page-hero::after{
    background:
      linear-gradient(0deg,rgba(248,247,251,.985) 0%,rgba(248,247,251,.91) 49%,rgba(248,247,251,.62) 76%,rgba(248,247,251,.30) 100%),
      linear-gradient(90deg,rgba(248,247,251,.93),rgba(248,247,251,.54));
  }
  .work-card::after{background:linear-gradient(0deg,rgba(14,9,22,.96) 0%,rgba(14,9,22,.73) 31%,rgba(14,9,22,.16) 68%)}
  .instagram-live-card::after{background:linear-gradient(180deg,rgba(20,14,29,.03) 20%,rgba(20,14,29,.22) 52%,rgba(20,14,29,.94) 100%)}
}
