.elementor-kit-6{--e-global-color-primary:#6C4DF6;--e-global-color-secondary:#F79E77;--e-global-color-text:#16112E;--e-global-color-accent:#8E76F7;--e-global-color-540c968:#221A45;--e-global-color-106d771:#2E2459;--e-global-color-7a684af:#F4F1FC;--e-global-color-e4e5efe:#EAE4FA;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:lowercase;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:lowercase;--e-global-typography-text-font-family:"Instrument Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Instrument Sans";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1260px;}.e-con{--container-max-width:1260px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   WIGOTT DIGITAL — COMPLETE STYLESHEET  v3
   ==========================================================================

   THIS FILE REPLACES EVERYTHING:
     wigott-global.css, wigott-site.css,
     wigott-patch-01 / 02 / 03 / 04 / 05 / 06

   HOW TO USE:
     1. Elementor -> Site Settings -> Custom CSS
     2. Select all existing CSS and DELETE it
     3. Paste this file in its place
     4. Save, purge cache, hard refresh (Cmd+Shift+R)

   v3 fix: all custom properties are prefixed --wig-* and the
   two font stacks are hard-coded, so no other plugin can
   overwrite them. (A bare --display was being clobbered,
   which is why headings fell back to a serif.)

   Every value is taken from wigott-digital-landing.html.
   !important appears where Elementor writes per-widget
   .elementor-kit-6s that would otherwise outrank these rules.

   CONTENTS
     1  Tokens
     2  Typography
     3  Buttons
     4  Header
     5  Hero
     6  Ticker
     7  Sections
     8  Service cards
     9  Process steps
    10  Work cards
    11  Testimonials
    12  Contact + form
    13  Footer
    14  Accessibility + motion
    15  Responsive
   ========================================================================== */


/* ==========================================================================
   1. TOKENS
   ========================================================================== */
:root{
  --wig-ink:#16112E;
  --wig-ink-2:#221A45;
  --wig-ink-3:#2E2459;
  --wig-violet:#6C4DF6;
  --wig-lilac:#8E76F7;
  --wig-coral:#F79E77;
  --wig-burnt:#CE8368;
  --wig-paper:#F4F1FC;
  --wig-paper-2:#EAE4FA;
  --wig-muted:#8E86AE;
  --wig-body-light:#CFC8E8;
  --wig-body-dark:#4A4270;
  --wig-stroke:rgba(255,255,255,.12);
  --wig-display:'Outfit',system-ui,sans-serif;
  --wig-body:'Instrument Sans',system-ui,sans-serif;
  --wig-shell:min(1180px,90vw);
  --wig-r:999px;
}


/* ==========================================================================
   2. TYPOGRAPHY
   ========================================================================== */

/* h1 / h2 / h3 — lowercase, tight, Outfit */
.wig-h1,.wig-h1 .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-weight:800!important;
  font-size:clamp(3rem,8.2vw,6.6rem)!important;line-height:.98!important;
  letter-spacing:-.045em!important;text-transform:lowercase!important;margin:0!important;
}
.wig-h2,.wig-h2 .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-weight:700!important;
  font-size:clamp(2.4rem,5.6vw,4.1rem)!important;line-height:.98!important;
  letter-spacing:-.035em!important;text-transform:lowercase!important;margin:0!important;
}
.wig-h3,.wig-h3 .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-weight:700!important;
  font-size:1.35rem!important;line-height:1.15!important;
  letter-spacing:-.02em!important;text-transform:lowercase!important;margin:0!important;
}

/* heading colour follows the section, not Elementor's Global Primary */
.sec-paper .elementor-heading-title{color:var(--wig-ink)!important}
.hero-sec .elementor-heading-title,
.sec-ink .elementor-heading-title,
.sec-deep .elementor-heading-title,
.sec-violet .elementor-heading-title{color:#fff!important}
.w1 .elementor-heading-title{color:#3B1C0D!important}
.w2 .elementor-heading-title,
.w3 .elementor-heading-title{color:#fff!important}

/* the coral period */
.dot{color:var(--wig-coral)!important}
.w1 .dot{color:#fff!important}

/* eyebrow label with its pill dash */
.eyebrow,.eyebrow p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--wig-coral)!important;margin:0!important;
}
.eyebrow{display:flex!important;align-items:center!important;gap:10px!important}
.eyebrow::before{
  content:""!important;width:26px!important;height:6px!important;
  border-radius:var(--wig-r)!important;background:var(--wig-coral)!important;flex:none!important;
}
.eyebrow p::before{content:none!important}
.eyebrow-white,.eyebrow-white p{color:#fff!important}
.eyebrow-white::before{background:#fff!important}

/* body copy */
.lead,.lead p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:clamp(1.02rem,1.6vw,1.19rem)!important;line-height:1.62!important;
  color:var(--wig-body-light)!important;max-width:56ch;margin:0!important;
}
.lead-dark,.lead-dark p,
.sec-paper .lead,.sec-paper .lead p{color:var(--wig-body-dark)!important}
.sec-violet .lead,.sec-violet .lead p{color:rgba(255,255,255,.86)!important}


/* ==========================================================================
   3. BUTTONS
   ========================================================================== */
.btn .elementor-button{
  display:inline-flex!important;align-items:center!important;gap:11px!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:15px!important;font-weight:600!important;
  line-height:1!important;padding:15px 27px!important;
  border:0!important;border-radius:var(--wig-r)!important;
  text-transform:none!important;letter-spacing:0!important;
  transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,background-color .25s,color .25s!important;
}
.btn .elementor-button-content-wrapper{align-items:center!important;line-height:1!important}

.btn-solid .elementor-button{
  background-color:var(--wig-coral)!important;color:#3B1C0D!important;fill:#3B1C0D!important;
}
.btn-solid .elementor-button:hover{
  background-color:var(--wig-coral)!important;color:#3B1C0D!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 30px -10px rgba(247,158,119,.75)!important;
}
.btn-ghost .elementor-button{
  background-color:transparent!important;color:#fff!important;fill:#fff!important;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)!important;
}
.btn-ghost .elementor-button:hover{
  background-color:rgba(255,255,255,.08)!important;color:#fff!important;
  transform:translateY(-2px)!important;
}
.btn-ink .elementor-button{background-color:var(--wig-ink)!important;color:#fff!important}
.btn-ink .elementor-button:hover{
  background-color:var(--wig-ink)!important;color:#fff!important;
  transform:translateY(-2px)!important;box-shadow:0 12px 30px -12px rgba(22,17,46,.6)!important;
}
.btn .elementor-button-icon{transition:transform .25s!important}
.btn .elementor-button:hover .elementor-button-icon{transform:translateX(4px)!important}


/* ==========================================================================
   4. HEADER
   Original: .nav{position:fixed;inset:14px 0 auto;z-index:80}
             .nav-in{width:min(1180px,90vw);padding:11px 12px 11px 22px}
   Total bar height = 11 + 36 + 11 = 58px
   ========================================================================== */
.nav-outer{
  position:fixed!important;top:14px!important;left:0!important;right:0!important;
  bottom:auto!important;width:100%!important;z-index:80!important;
  padding:0!important;background:transparent!important;background-color:transparent!important;
  pointer-events:none;
}
.nav-in{
  width:var(--wig-shell)!important;max-width:none!important;margin-inline:auto!important;
  display:flex!important;align-items:center!important;gap:24px!important;
  padding:0px 18px 0px 20px!important;
  min-height:0!important;height:auto!important;
  border-radius:var(--wig-r)!important;
  background-color:rgba(22,17,46,.9)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 0 0 1px var(--wig-stroke)!important;
  transition:background-color .3s!important;
  pointer-events:auto;
}
/* solid state, toggled by the scroll snippet */

/* strip Elementor's widget wrapper padding — this is what inflates the bar */
.nav-in .elementor-widget,
.nav-in .elementor-element,
.nav-in .elementor-widget-container{
  margin:0!important;padding:0!important;min-height:0!important;
}

/* logo: 45px tall */
.nav-logo img,
.nav-in .elementor-widget-theme-site-logo img,
.nav-in .elementor-widget-image img{
  height:45px!important;max-height:45px!important;width:auto!important;
  max-width:none!important;object-fit:contain!important;display:block!important;
}

/* menu: 26px gaps, coral underline on hover only */
.nav-links{margin-left:auto!important}
.nav-links .elementor-nav-menu,
.nav-links .elementor-nav-menu--main{margin:0!important;padding:0!important}
.nav-links .elementor-nav-menu > li{
  margin:0 26px 0 0!important;
}
.nav-links .elementor-nav-menu > li:last-child{margin-right:0!important}
.nav-links .elementor-item{
  position:relative!important;padding:4px 0!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:14.5px!important;font-weight:500!important;
  line-height:1.4!important;color:var(--wig-body-light)!important;
  text-transform:none!important;letter-spacing:0!important;
  background:transparent!important;min-height:0!important;
}
.nav-links .elementor-item::after{
  content:""!important;position:absolute!important;left:0!important;bottom:-1px!important;
  height:4px!important;width:0!important;border-radius:var(--wig-r)!important;
  background:var(--wig-coral)!important;opacity:1!important;
  transition:width .3s cubic-bezier(.2,.8,.3,1)!important;
}
.nav-links .elementor-item:hover{color:#fff!important}
.nav-links .elementor-item:hover::after{width:100%!important}
.nav-links .elementor-item.elementor-item-active::after{width:0!important}
.nav-links .elementor-item.elementor-item-active:hover::after{width:100%!important}

/* header CTA is smaller than the hero buttons */
.nav-in .btn .elementor-button{
  padding:11px 20px!important;font-size:14px!important;line-height:1!important;
  height:auto!important;min-height:0!important;
}

/* keep clear of the WP admin bar */
body.admin-bar .nav-outer{top:46px!important}
@media(min-width:783px){body.admin-bar .nav-outer{top:46px!important}}
@media(min-width:1025px){.nav-in .elementor-menu-toggle{display:none!important}}


/* ==========================================================================
   5. HERO
   ========================================================================== */
.hero-sec{
  position:relative;isolation:isolate;overflow:hidden;
}

/* the coral swipe under one word: <span class="rule">impossible</span> */
.rule{display:inline-block;position:relative}
.rule::after{
  content:"";position:absolute;left:-2%;right:-2%;bottom:0em;
  height:.085em;border-radius:var(--wig-r);background:var(--wig-coral);
  transform:scaleX(0);transform-origin:left;
  animation:wig-swipe 1s cubic-bezier(.2,.8,.3,1) 1.15s forwards;
}
@keyframes wig-swipe{to{transform:scaleX(1)}}

.hero-meta{border-top:1px solid var(--wig-stroke)!important}
.chip p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:13px!important;font-weight:500!important;
  color:var(--wig-body-light)!important;padding:7px 15px!important;
  border-radius:var(--wig-r)!important;box-shadow:inset 0 0 0 1px var(--wig-stroke)!important;
  margin:0!important;display:inline-block!important;line-height:1.62!important;
}
.chip strong{color:var(--wig-coral)!important;font-weight:600!important}

/* the drawn W (also styled inline in the HTML widget) */
.wig-mark-wrap{position:relative;width:100%;max-width:520px;margin:0 auto}
.wig-mark-wrap::before{
  content:"";position:absolute;inset:-18%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(108,77,246,.45),transparent 62%);
  filter:blur(40px);z-index:0;
}
.wig-mark{position:relative;z-index:1;width:100%;height:auto;overflow:visible}
.wig-mark .wig-s{
  fill:none;stroke-linecap:round;stroke-width:92;
  stroke-dasharray:340;stroke-dashoffset:340;
  mix-blend-mode:screen;opacity:.92;
  animation:wig-draw 1.25s cubic-bezier(.55,.1,.2,1) forwards;
}
.wig-mark .wig-s1{stroke:var(--wig-coral);animation-delay:.15s}
.wig-mark .wig-s2{stroke:var(--wig-lilac);animation-delay:.35s}
.wig-mark .wig-s3{stroke:var(--wig-violet);animation-delay:.55s}
.wig-mark .wig-pip{
  fill:var(--wig-violet);mix-blend-mode:screen;opacity:.92;
  transform-origin:center;transform-box:fill-box;scale:0;
  animation:wig-pop .5s cubic-bezier(.3,1.6,.5,1) 1.15s forwards;
}
@keyframes wig-draw{to{stroke-dashoffset:0}}
@keyframes wig-pop{to{scale:1}}


/* ==========================================================================
   6. TICKER
   ========================================================================== */
.wig-ticker{
  background:var(--wig-coral);color:#3B1C0D;padding:15px 0;
  overflow:hidden;position:relative;width:100%;
}
.wig-ticker-track{display:flex;width:max-content;animation:wig-slide 34s linear infinite}
.wig-ticker span{
  font-family:'Outfit',system-ui,-apple-system,sans-serif;font-weight:600;
  font-size:clamp(1.05rem,2vw,1.5rem);text-transform:lowercase;
  letter-spacing:-.02em;padding:0 22px;white-space:nowrap;
  display:flex;align-items:center;gap:22px;
}
.wig-ticker span::after{
  content:"";width:9px;height:9px;border-radius:var(--wig-r);
  background:#3B1C0D;opacity:.55;
}
@keyframes wig-slide{to{transform:translateX(-50%)}}
.wig-ticker:hover .wig-ticker-track{animation-play-state:paused}


/* ==========================================================================
   7. SECTIONS
   ========================================================================== */
.sec-paper{background-color:var(--wig-paper)!important;color:var(--wig-ink)!important}
.sec-ink{background-color:var(--wig-ink-2)!important;color:#fff!important}
.sec-deep{background-color:var(--wig-ink)!important;color:#fff!important}
.sec-violet{background-color:var(--wig-violet)!important;color:#fff!important}


/* ==========================================================================
   8. SERVICE CARDS — the multiply-overlap signature
   Container needs Advanced -> Overflow: hidden
   ========================================================================== */
.svc-card{
  position:relative;overflow:hidden;isolation:isolate;
  background-color:#fff!important;border-radius:30px!important;
  transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;
}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(34,26,69,.55)}
.svc-card .elementor-widget,
.svc-card .e-con-inner{position:relative;z-index:2}

.svc-card::before,
.svc-card::after{
  content:"";position:absolute;border-radius:var(--wig-r);z-index:1;
  width:120px;height:330px;top:-140px;left:auto;
  mix-blend-mode:multiply;pointer-events:none;
  transform:rotate(24deg) translateY(-40%);
  transition:transform .55s cubic-bezier(.2,.8,.3,1);
}
.svc-card::before{background:var(--wig-coral);right:-30px}
.svc-card::after{background:#7351EF;right:-108px;mix-blend-mode:normal}
.svc-card:hover::before{transform:rotate(24deg) translateY(-8%)}
.svc-card:hover::after{transform:rotate(24deg) translateY(-18%)}

.svc-num,.svc-num p{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--wig-violet)!important;margin:0!important;
}
.svc-card .lead-dark,.svc-card .lead-dark p{font-size:15.5px!important;max-width:34ch}

.svc-list{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0;list-style:none}
.svc-list li{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;font-size:12.5px;font-weight:500;
  color:var(--wig-body-dark);padding:5px 12px;border-radius:var(--wig-r);
  background:var(--wig-paper-2);list-style:none;
}


/* ==========================================================================
   9. PROCESS STEPS — bar is a pseudo-element, no widget needed
   Track and fill share one geometry declaration, so the fill can never be
   a different width from the track. The fill scales rather than animating
   width. Note: no !important on the animation shorthand — it invalidates
   the whole declaration and the bar never fills.
   ========================================================================== */
.step{position:relative;padding-top:38px!important}
.step::before,
.step::after{
  content:"";position:absolute;
  top:0;left:0;right:26px;
  width:auto!important;height:8px;
  border-radius:var(--wig-r);
}
.step::before{background:var(--wig-stroke)}
.step::after{
  transform:scaleX(0);transform-origin:left;
  animation:wig-fill .9s cubic-bezier(.2,.8,.3,1) forwards;
}
@keyframes wig-fill{to{transform:scaleX(1)}}
.step-1::after{background:var(--wig-coral);animation-delay:.15s}
.step-2::after{background:var(--wig-burnt);animation-delay:.35s}
.step-3::after{background:var(--wig-lilac);animation-delay:.55s}
.step-4::after{background:var(--wig-violet);animation-delay:.75s}
.step-n,.step-n p{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--wig-muted)!important;margin:0!important;
}
.step .lead,.step .lead p{font-size:15px!important;color:#BDB4DA!important;max-width:none}


/* ==========================================================================
   10. WORK CARDS
   Container needs Advanced -> Overflow: hidden
   ========================================================================== */
.work-card{
  position:relative;overflow:hidden;isolation:isolate;border-radius:30px!important;
  transition:transform .35s cubic-bezier(.2,.8,.3,1);
}
.work-card:hover{transform:translateY(-5px)}
.work-card .elementor-widget{position:relative;z-index:2}
.work-card::before{
  content:"";position:absolute;width:210px;height:210px;border-radius:var(--wig-r);
  right:-70px;top:-70px;background:rgba(255,255,255,.16);
  mix-blend-mode:overlay;z-index:1;pointer-events:none;
  transition:transform .6s cubic-bezier(.2,.8,.3,1);
}
.work-card:hover::before{transform:translate(-24px,26px) scale(1.15)}
.w1{background-color:var(--wig-coral)!important;color:#3B1C0D!important}
.w2{background-color:var(--wig-violet)!important;color:#fff!important}
.w3{background-color:var(--wig-ink-3)!important;color:#fff!important}

.work-tag,.work-tag p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:12.5px!important;font-weight:600!important;
  letter-spacing:.1em!important;text-transform:uppercase!important;
  opacity:.72;margin:0!important;color:inherit!important;
}
.work-desc,.work-desc p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:14.5px!important;
  opacity:.8;max-width:28ch;margin:0!important;color:inherit!important;
}
.work-card h3,.work-card .elementor-heading-title{font-size:1.9rem!important}


/* ==========================================================================
   11. TESTIMONIALS
   ========================================================================== */
.quote{background-color:#fff!important;border-radius:30px!important}
.quote-text,.quote-text p,
.quote .elementor-testimonial__text{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;font-size:1.25rem!important;font-weight:400!important;
  line-height:1.4!important;letter-spacing:-.015em!important;
  color:var(--wig-ink)!important;margin:0 0 22px!important;
}
.q-av{
  width:42px;height:42px;border-radius:var(--wig-r);background:var(--wig-paper-2);
  display:grid;place-items:center;font-family:'Outfit',system-ui,-apple-system,sans-serif;font-weight:700;
  color:var(--wig-violet);flex:none;
}
.q-name{font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;font-size:14.5px;font-weight:600;color:var(--wig-ink);line-height:1.3}
.q-role{font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;font-size:13px;color:#6E6796}


/* ==========================================================================
   12. CONTACT + FORM
   ========================================================================== */
.form-card{background-color:#fff!important;border-radius:34px!important;padding:34px!important}
.wig-form .elementor-field-group{margin-bottom:16px!important}

.wig-form .elementor-field-group > label{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:12.5px!important;font-weight:600!important;
  letter-spacing:.09em!important;text-transform:uppercase!important;
  color:#6E6796!important;margin-bottom:7px!important;
}
.wig-form input.elementor-field-textual,
.wig-form textarea.elementor-field-textual,
.wig-form select.elementor-field-textual{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:15.5px!important;color:var(--wig-ink)!important;
  background-color:var(--wig-paper)!important;border:0!important;
  border-radius:16px!important;padding:14px 17px!important;
  box-shadow:inset 0 0 0 1.5px transparent!important;min-height:auto!important;
  transition:box-shadow .2s,background-color .2s!important;
}
.wig-form input.elementor-field-textual:focus,
.wig-form textarea.elementor-field-textual:focus{
  background-color:#fff!important;outline:0!important;
  box-shadow:inset 0 0 0 1.5px var(--wig-violet)!important;
}
.wig-form textarea.elementor-field-textual{min-height:110px!important;resize:vertical}

/* budget radios as pills — switch ON "Inline List" in the field settings too */
.wig-form .elementor-field-subgroup{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:8px!important;align-items:center!important;
}
.wig-form .elementor-field-subgroup .elementor-field-option{
  position:relative!important;margin:0!important;
  width:auto!important;flex:0 0 auto!important;display:inline-block!important;
}
.wig-form .elementor-field-subgroup input[type=radio],
.wig-form .elementor-field-subgroup input[type=checkbox]{
  position:absolute!important;opacity:0!important;width:100%!important;height:100%!important;
  left:0!important;top:0!important;margin:0!important;cursor:pointer!important;z-index:2!important;
}
.wig-form .elementor-field-subgroup label{
  display:inline-block!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:13.5px!important;font-weight:500!important;
  text-transform:none!important;letter-spacing:0!important;
  color:var(--wig-body-dark)!important;background-color:var(--wig-paper)!important;
  padding:9px 16px!important;border-radius:var(--wig-r)!important;
  margin:0!important;cursor:pointer!important;transition:.2s!important;
}
.wig-form .elementor-field-subgroup input:checked + label{
  background-color:var(--wig-ink)!important;color:#fff!important;
}
.wig-form .elementor-field-subgroup input:focus-visible + label{
  outline:3px solid var(--wig-violet);outline-offset:2px;
}

.wig-form .elementor-button{
  width:100%!important;justify-content:center!important;margin-top:6px!important;
  background-color:var(--wig-ink)!important;color:#fff!important;
  border-radius:var(--wig-r)!important;padding:15px 27px!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:15px!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;border:0!important;
  transition:transform .25s,box-shadow .25s!important;
}
.wig-form .elementor-button:hover{
  transform:translateY(-2px)!important;box-shadow:0 12px 30px -12px rgba(22,17,46,.6)!important;
}
.wig-form .elementor-message{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;font-size:14px!important;
}

/* the line under the send button — Text Editor widget, class "form-note" */
.form-note,
.form-note p,
.form-card .form-note .elementor-widget-container p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:13px!important;color:#6E6796!important;
  text-align:center!important;line-height:1.62!important;
  margin:0px 0 0!important;
}

/* contact column */
.sec-violet .wig-h2,
.sec-violet .wig-h2 .elementor-heading-title{
  font-size:clamp(2.4rem,5vw,3.6rem)!important;margin:18px 0 20px!important;
}
.sec-violet .lead,.sec-violet .lead p{margin:0!important}

.c-detail{
  margin-top:34px!important;
  display:flex!important;flex-direction:column!important;gap:14px!important;
}
.c-detail a,.c-detail span,.c-detail p{
  display:flex!important;gap:12px!important;align-items:center!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:15.5px!important;color:rgba(255,255,255,.9)!important;
  text-decoration:none!important;margin:0!important;
}
.c-detail a:hover{color:#fff!important}
.c-detail em{
  width:34px;height:34px;border-radius:var(--wig-r);background:rgba(255,255,255,.14);
  display:grid;place-items:center;flex:none;font-style:normal;font-size:15px;
}


/* ==========================================================================
   13. FOOTER
   ========================================================================== */
.foot{background-color:var(--wig-ink)!important}

.foot .foot-top{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  justify-content:space-between!important;align-items:flex-start!important;
  gap:30px!important;
}
.foot .foot-cols{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  gap:64px!important;align-items:flex-start!important;width:auto!important;
}
.foot .foot-cols > .e-con,
.foot .foot-cols > .elementor-element{
  flex:0 0 auto!important;width:auto!important;max-width:none!important;
}

.foot h4,
.foot .foot-h .elementor-heading-title,
.foot .foot-col .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;
  font-size:13px!important;font-weight:600!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--wig-muted)!important;margin:0 0 14px!important;
}

.foot .foot-links a,
.foot .foot-col .elementor-icon-list-text{
  display:block!important;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:15px!important;line-height:1.62!important;
  color:var(--wig-body-light)!important;text-decoration:none!important;
  margin-bottom:9px!important;transition:color .2s!important;
}
.foot .foot-links a:hover,
.foot .foot-col .elementor-icon-list-item:hover .elementor-icon-list-text{
  color:var(--wig-coral)!important;
}

.foot .foot-logo img{height:80px!important;width:auto!important;margin:0 0 16px!important}
.foot .lead,.foot .lead p{
  font-size:15px!important;line-height:1.62!important;
  color:var(--wig-body-light)!important;max-width:34ch;margin:0!important;
}

.foot .foot-bar{
  border-top:1px solid var(--wig-stroke)!important;
  margin-top:56px!important;padding-top:22px!important;
  display:flex!important;flex-wrap:wrap!important;gap:14px!important;
  justify-content:space-between!important;align-items:center!important;
}
.foot .foot-copy,.foot .foot-copy p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:13.5px!important;color:var(--wig-muted)!important;margin:0!important;
}

.foot .socials .elementor-social-icon{
  width:36px!important;height:36px!important;border-radius:var(--wig-r)!important;
  background-color:transparent!important;
  box-shadow:inset 0 0 0 1px var(--wig-stroke)!important;
  color:var(--wig-body-light)!important;font-size:14px!important;transition:.25s!important;
}
.foot .socials .elementor-social-icon:hover{
  background-color:var(--wig-coral)!important;color:#3B1C0D!important;box-shadow:none!important;
}

@media(max-width:900px){.foot .foot-cols{gap:40px!important}}
@media(max-width:767px){
  .foot .foot-top{flex-direction:column!important;gap:34px!important}
  .foot .foot-cols{flex-wrap:wrap!important;gap:30px!important}
}


/* ==========================================================================
   14. ACCESSIBILITY + MOTION
   ========================================================================== */
:focus-visible{outline:3px solid var(--wig-coral);outline-offset:3px;border-radius:4px}
html{scroll-behavior:smooth}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rule::after{animation:none;transform:scaleX(1)}
  .step::after{animation:none;width:calc(100% - 26px)}
  .wig-mark .wig-s{animation:none;stroke-dashoffset:0}
  .wig-mark .wig-pip{animation:none;scale:1}
  .wig-ticker-track{animation:none}
  .svc-card,.work-card,.btn .elementor-button{transition:none!important}
}


/* ==========================================================================
   15. RESPONSIVE — 960px and 640px, exactly as the source file
   ========================================================================== */
@media(max-width:960px){
  /* .nav-links{display:none} — the original drops the menu and the
     hamburger entirely; the bar is logo + CTA only */
  .nav-links{display:none!important}
  .nav-in .elementor-menu-toggle{display:none!important}
  .nav-in{flex-wrap:nowrap!important}
  .nav-in .btn{margin-left:auto!important}

  .hero-grid{flex-direction:column!important}
  .wig-mark-wrap{order:-1;max-width:300px}
  .sec-head{flex-direction:column!important;gap:20px!important}
  .svc-grid > *,.quotes > *,.work-grid > *,
  .contact-grid{flex-direction:column!important}
  .steps > *{flex:1 1 50%!important}
}

@media(max-width:640px){
  body{font-size:16px}
  .sec-paper,.sec-ink,.sec-violet{padding-top:40px!important;padding-bottom:40px!important}
  .hero-sec{padding-top:0px!important;padding-bottom:0px!important}
  .steps > *{flex:1 1 100%!important}
  .step{padding:22px 0 0!important}
  .step::before,.step::after{right:0}
  .form-card,.quote,.svc-card{padding:25px!important}
  .foot .foot-cols{gap:34px!important}
  .nav-outer{top:10px!important}
  body.admin-bar .nav-outer{top:56px!important}
  .nav-in{padding:10px 10px 10px 16px!important;gap:12px!important}
}
/* ==========================================================================
   17. PORTFOLIO CARDS (image)
   Image only at rest. Overlay and text fade in on hover.
   Set the image per card in Elementor -> Style -> Background -> Image.
   Card width and height are set per card in Elementor
   (Layout -> Width / Min Height), not here.
   ========================================================================== */
.pf-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:18px!important;
}
.pf-grid > *{flex:1 1 calc(33.333% - 12px);min-width:0}

.pf-card{
  position:relative;overflow:hidden;isolation:isolate;
  border-radius:30px!important;padding:22px!important;
  min-height:400px;
  display:flex!important;flex-direction:column!important;
  justify-content:flex-end!important;gap:0!important;
  background-size:cover!important;background-position:center center!important;
  transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s,background-size .5s!important;
}
.pf-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 50px -30px rgba(34,26,69,.55);
  background-size:100%!important;
}

/* the wash — invisible until hover */
.pf-card::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(22,17,46,.82);
  opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.3,1);
}
.pf-card:hover::before,
.pf-card:focus-within::before{opacity:1}

.pf-card .elementor-widget,
.pf-card .e-con,
.pf-card .e-con-inner{position:relative;z-index:2}

/* text — hidden at rest, rises on hover */
.pf-tagwrap,.pf-body{
  opacity:0;transform:translateY(14px);
  transition:opacity .8s cubic-bezier(.2,.8,.3,1),transform .4s cubic-bezier(.2,.8,.3,1);
}
.pf-card:hover .pf-tagwrap,
.pf-card:hover .pf-body,
.pf-card:focus-within .pf-tagwrap,
.pf-card:focus-within .pf-body{opacity:1;transform:none}
.pf-card:hover .pf-body,
.pf-card:focus-within .pf-body{transition-delay:.1s}

/* the category pill: E-commerce, Branding, Social media, Business site... */
.pf-tag{
  display:inline-block;
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;
  font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:rgba(255,255,255,.16);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  padding:6px 13px;border-radius:var(--wig-r);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.pf-tagwrap,.pf-tagwrap p{margin:0 0 10px!important}

.pf-body{gap:0!important}
.pf-title .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;
  font-size:1.7rem!important;font-weight:700!important;
  letter-spacing:-.02em!important;line-height:1.1!important;
  text-transform:lowercase!important;
  color:#fff!important;margin:0 0 6px!important;
}
.pf-desc,.pf-desc p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:14px!important;line-height:1.5!important;
  color:rgba(255,255,255,.82)!important;max-width:32ch;margin:0!important;
}

/* placeholder look before you add an image */
.pf-card:not([style*="background-image"]){background-color:var(--wig-ink-3)!important}

/* touch screens have no hover — show everything */
@media(max-width:960px){
  .pf-grid > *{flex:1 1 calc(50% - 9px)}
  .pf-card::before{
    opacity:1;
    background:linear-gradient(to bottom,rgba(22,17,46,0) 40%,rgba(22,17,46,.88) 90%);
  }
  .pf-tagwrap,.pf-body{opacity:1;transform:none}
}
@media(max-width:640px){
  .pf-grid{flex-direction:column!important}
  .pf-grid > *{flex:1 1 100%}
  .pf-card{min-height:260px;padding:20px!important}
}
/* ==========================================================================
   18. TEAM
   Paste at the end of your stylesheet.

   Sits on the dark section (sec-ink), same as the process block.
   Headshots are Image widgets — upload per person in Elementor.
   The coral ring and the square crop are handled here, so any
   photo shape works.
   ========================================================================== */

.tm-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:30px!important;
}
.tm-grid > *{flex:1 1 calc(33.333% - 20px);min-width:0}

.tm-card{
  display:flex!important;flex-direction:column!important;
  gap:0!important;align-items:flex-start!important;
}

/* headshot: square crop, rounded, coral ring on hover */
.tm-photo img{
  width:100%!important;max-width:220px!important;
  aspect-ratio:1/1;object-fit:cover!important;
  border-radius:24px!important;display:block!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s!important;
}
.tm-card:hover .tm-photo img{
  transform:translateY(-4px);
  box-shadow:0 0 0 2px var(--wig-coral);
}
.tm-photo{margin:0 0 20px!important}

/* name */
.tm-name .elementor-heading-title{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;
  font-size:1.35rem!important;font-weight:700!important;
  letter-spacing:-.02em!important;line-height:1.15!important;
  text-transform:lowercase!important;
  color:#fff!important;margin:0 0 6px!important;
}

/* role — coral, uppercase, the same treatment as the service labels */
.tm-role,.tm-role p{
  font-family:'Outfit',system-ui,-apple-system,sans-serif!important;
  font-size:12.5px!important;font-weight:600!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--wig-coral)!important;margin:0 0 8px!important;
}

/* bio */
.tm-bio,.tm-bio p{
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif!important;
  font-size:15px!important;line-height:1.62!important;
  color:#BDB4DA!important;max-width:34ch;margin:0!important;
}

/* placeholder before a photo is uploaded */
.tm-photo:empty::before,
.tm-photo .elementor-widget-container:empty::before{
  content:"";display:block;width:220px;aspect-ratio:1/1;
  border-radius:24px;background:var(--wig-ink-3);
}

@media(max-width:960px){
  .tm-grid > *{flex:1 1 calc(50% - 15px)}
}
@media(max-width:640px){
  .tm-grid{flex-direction:column!important;gap:34px!important}
  .tm-grid > *{flex:1 1 100%}
  .tm-photo img{max-width:180px!important}
}/* End custom CSS */