/* ==========================================================================
   TISHAQVOR — Design Tokens
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&display=swap');

:root{
  --color-ink:#1C1730;
  --color-ink-soft:#5B5570;
  --color-ink-faint:#8A83A0;
  --color-paper:#FBF9F5;
  --color-paper-dim:#F1ECFB;
  --color-surface:#FFFFFF;
  --color-border:#E7E1F5;

  --color-primary:#4F3CC9;
  --color-primary-dark:#362894;
  --color-primary-light:#8A7CF0;
  --color-secondary:#C0209E;
  --color-secondary-dark:#8E1876;
  --color-accent:#F2994A;
  --color-teal:#0FA88B;

  --gradient-brand: linear-gradient(135deg,#3A2E9B 0%, #7C3AED 32%, #C0209E 66%, #F2994A 100%);
  --gradient-brand-soft: linear-gradient(135deg, rgba(58,46,155,.10) 0%, rgba(192,32,158,.10) 55%, rgba(242,153,74,.12) 100%);
  --gradient-soft: linear-gradient(160deg,#EEF0FF 0%, #FBF0FC 55%, #FFF6EC 100%);
  --gradient-dark: linear-gradient(165deg,#1C1730 0%, #362894 55%, #7C1D8C 100%);
  --gradient-card: linear-gradient(135deg,#4F3CC9 0%, #C0209E 100%);

  --shadow-sm: 0 1px 2px rgba(28,23,48,.08), 0 1px 1px rgba(28,23,48,.05);
  --shadow-md: 0 10px 26px -10px rgba(76,45,150,.35), 0 3px 8px rgba(28,23,48,.08);
  --shadow-lg: 0 26px 52px -18px rgba(76,45,150,.42), 0 10px 20px -8px rgba(28,23,48,.14);
  --shadow-glow: 0 0 0 1px rgba(255,255,255,.5) inset, 0 22px 44px -14px rgba(192,32,158,.4);

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:42px;
  --radius-pill:999px;

  --space-3xs:.25rem;
  --space-2xs:.5rem;
  --space-xs:.75rem;
  --space-sm:1.25rem;
  --space-md:2rem;
  --space-lg:3.25rem;
  --space-xl:5rem;
  --space-2xl:7.5rem;

  --font-heading:'Schibsted Grotesk', sans-serif;
  --font-body:'Schibsted Grotesk', sans-serif;
  --ease: cubic-bezier(.4,0,.2,1);

  --fs-sm: 0.9rem;
  --fs-base: 1.05rem;
  --fs-md: clamp(1.15rem, 1.05rem + .3vw, 1.35rem);
  --fs-lg: clamp(1.4rem, 1.2rem + .8vw, 1.85rem);
  --fs-xl: clamp(1.9rem, 1.5rem + 1.6vw, 2.75rem);
  --fs-2xl: clamp(2.3rem, 1.7rem + 2.6vw, 3.5rem);
  --fs-3xl: clamp(2.7rem, 1.8rem + 4vw, 4.75rem);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-paper);
  font-size:var(--fs-base);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;font-size:1rem;}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-ink);line-height:1.12;margin:0;font-weight:700;letter-spacing:-.01em;}
p{margin:0;}
.container{width:min(1240px, 100% - 3rem);margin-inline:auto;}
section{padding-block:var(--space-2xl);}

.gradientText{
  background:var(--gradient-brand);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--color-secondary-dark);
  background:color-mix(in srgb, var(--color-secondary) 10%, white);
  padding:.4rem .9rem;border-radius:var(--radius-pill);
  margin-block-end:var(--space-sm);
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.9rem 1.8rem;border-radius:var(--radius-pill);
  font-weight:700;font-size:.98rem;border:none;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  min-height:44px;
}
.btn-primary{
  background:var(--gradient-brand);
  color:#fff;
  box-shadow:var(--shadow-md);
}
.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:var(--shadow-lg);}
.btn-outline{
  background:var(--color-surface);
  color:var(--color-ink);
  border:2px solid var(--color-border);
}
.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary-dark);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.4);backdrop-filter:blur(6px);}
.btn-light:hover{background:rgba(255,255,255,.24);transform:translateY(-3px);}

/* ==========================================================================
   Header / Navigation
   ========================================================================== */
.siteHeader{
  position:fixed;inset-inline:0;inset-block-start:0;z-index:150;
  background:rgba(251,249,245,.96);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .35s var(--ease);
}
.siteHeader.is-scrolled{box-shadow:var(--shadow-lg);}
.siteHeader_inner{
  width:min(1240px, 100% - 2.5rem);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;
  padding-block:1rem;gap:1.5rem;
}
.siteHeader_logo{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.25rem;color:var(--color-ink);}
.siteHeader_logo img{width:38px;height:38px;}
.siteHeader_nav ul{display:flex;align-items:center;gap:2rem;}
.siteHeader_nav a{
  font-weight:600;font-size:.96rem;color:var(--color-ink-soft);position:relative;padding-block:.3rem;
  transition:color .25s var(--ease);
}
.siteHeader_nav a::after{
  content:'';position:absolute;inset-inline-start:0;inset-block-end:0;height:2px;width:0;
  background:var(--gradient-brand);transition:width .3s var(--ease);
}
.siteHeader_nav a:hover{color:var(--color-ink);}
.siteHeader_nav a:hover::after{width:100%;}
.siteHeader_cta{white-space:nowrap;}
.siteHeader_burger{
  display:none;width:44px;height:44px;border:none;background:var(--color-paper-dim);border-radius:var(--radius-sm);
  flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:background .25s var(--ease);
}
.siteHeader_burger span{width:20px;height:2px;background:var(--color-ink);border-radius:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);}
.siteHeader_burger:hover{background:var(--color-paper-dim);}

.mobileMenu{position:fixed;inset:0;z-index:200;visibility:hidden;}
.mobileMenu.is-open{visibility:visible;}
.mobileMenu_overlay{position:absolute;inset:0;background:rgba(20,15,40,.55);opacity:0;transition:opacity .35s var(--ease);}
.mobileMenu.is-open .mobileMenu_overlay{opacity:1;}
.mobileMenu_panel{
  position:absolute;inset-block:0;inset-inline-start:0;width:80%;max-width:340px;
  background:var(--gradient-dark);padding:2rem 1.75rem;
  transform:translateX(-100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
}
.mobileMenu.is-open .mobileMenu_panel{transform:translateX(0);}
.mobileMenu_close{
  align-self:flex-end;width:40px;height:40px;border:none;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;transition:background .25s var(--ease);
}
.mobileMenu_close:hover{background:rgba(255,255,255,.24);}
.mobileMenu_list{margin-block-start:2rem;display:flex;flex-direction:column;gap:1.5rem;}
.mobileMenu_list li{opacity:0;transform:translateX(-16px);transition:opacity .4s var(--ease), transform .4s var(--ease);transition-delay:calc(var(--d, 0) * 70ms);}
.mobileMenu.is-open .mobileMenu_list li{opacity:1;transform:translateX(0);}
.mobileMenu_list a{color:#fff;font-size:1.3rem;font-weight:700;}
.mobileMenu_foot{margin-block-start:auto;color:rgba(255,255,255,.7);font-size:.85rem;line-height:1.6;}
.mobileMenu_foot a{color:#fff;font-weight:600;}

.pageBreadcrumb{background:var(--color-paper-dim);padding-block:.9rem;margin-block-start:74px;}
.pageBreadcrumb_inner{width:min(1240px, 100% - 2.5rem);margin-inline:auto;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-ink-soft);}
.pageBreadcrumb_inner a{font-weight:600;transition:color .2s var(--ease);}
.pageBreadcrumb_inner a:hover{color:var(--color-primary);}
.pageBreadcrumb_inner span{color:var(--color-ink-faint);}

/* ==========================================================================
   Hero
   ========================================================================== */
.mainHero{
  padding-block:calc(74px + var(--space-xl)) var(--space-xl);
  background:var(--gradient-soft);
  position:relative;overflow:hidden;
}
.mainHero::before{
  content:'';position:absolute;inset-block-start:-20%;inset-inline-end:-10%;width:60%;aspect-ratio:1;
  background:var(--gradient-brand);opacity:.16;filter:blur(70px);border-radius:50%;
}
.mainHero_inner{position:relative;z-index:1;text-align:center;max-width:880px;margin-inline:auto;padding-inline:1rem;}
.mainHero_title{font-size:var(--fs-3xl);margin-block-end:1.3rem;}
.mainHero_sub{font-size:var(--fs-md);color:var(--color-ink-soft);max-width:640px;margin-inline:auto;margin-block-end:2.3rem;}
.mainHero_actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-block-end:3.5rem;}

.miniCardRow{
  display:flex;gap:1.25rem;overflow-x:auto;padding-block:.5rem 1.5rem;
  scroll-snap-type:x mandatory;margin-inline:calc(-1 * (100vw - 100%) / 2 - 1.5rem);
  padding-inline:calc((100vw - min(1240px, 100% - 3rem)) / 2 + 1.5rem);
}
.miniCardRow::-webkit-scrollbar{height:6px;}
.miniCardRow::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px;}
.miniCard{
  scroll-snap-align:start;flex:0 0 auto;width:250px;
  background:var(--color-surface);border-radius:var(--radius-lg);
  padding:1.6rem;box-shadow:var(--shadow-md);text-align:start;
  border:1px solid var(--color-border);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.miniCard:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg);border-color:transparent;}
.miniCard_icon{
  width:46px;height:46px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;
  background:var(--gradient-card);color:#fff;font-size:1.15rem;margin-block-end:1rem;
}
.miniCard_title{font-size:1.05rem;font-weight:700;margin-block-end:.4rem;}
.miniCard_text{font-size:.9rem;color:var(--color-ink-soft);line-height:1.55;}
.miniCard_tag{display:inline-block;margin-block-start:.8rem;font-size:.75rem;font-weight:700;color:var(--color-primary);}

/* ==========================================================================
   Zigzag content blocks
   ========================================================================== */
.zigzag{padding-block:var(--space-2xl);}
.zigzag_row{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center;
}
.zigzag_row.is-reverse .zigzag_media{order:2;}
.zigzag_row.is-reverse .zigzag_content{order:1;}
.zigzag_media{position:relative;}
.zigzag_media img{
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  aspect-ratio:4/3;object-fit:cover;width:100%;
}
.zigzag_media::after{
  content:'';position:absolute;inset-block-end:-18px;inset-inline-start:-18px;width:110px;height:110px;
  background:var(--gradient-brand);border-radius:var(--radius-lg);z-index:-1;opacity:.5;
}
.zigzag_content h2{font-size:var(--fs-xl);margin-block-end:1.1rem;}
.zigzag_content p{color:var(--color-ink-soft);margin-block-end:1rem;font-size:var(--fs-base);}
.zigzag_content p:last-child{margin-block-end:0;}
.zigzag_list{margin-block-start:1.3rem;display:flex;flex-direction:column;gap:.7rem;}
.zigzag_list li{display:flex;align-items:flex-start;gap:.7rem;color:var(--color-ink-soft);font-size:.95rem;}
.zigzag_list i{color:var(--color-secondary);margin-block-start:.2rem;}


.flowZone{background:var(--gradient-dark);color:#fff;}
.flowZone .processSection{padding-block-end:var(--space-md);}
.flowZone .audienceSection{padding-block-start:var(--space-md);}
.flowZone h2{color:#fff;}
.flowZone p{color:rgba(255,255,255,.78);}
.flowZone_heading{max-width:640px;margin-inline:auto;text-align:center;margin-block-end:var(--space-lg);}
.processGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.processCard{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-md);padding:1.6rem;backdrop-filter:blur(6px);
  transition:transform .35s var(--ease), background .35s var(--ease);
}
.processCard:hover{transform:translateY(-6px);background:rgba(255,255,255,.11);}
.processCard_num{font-size:2.1rem;font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;margin-block-end:.6rem;display:block;}
.processCard h3{color:#fff;font-size:1.05rem;margin-block-end:.5rem;}
.processCard p{color:rgba(255,255,255,.72);font-size:.88rem;}

.audienceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.audienceCard{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);
  padding:1.5rem;text-align:center;transition:transform .35s var(--ease), background .35s var(--ease);
}
.audienceCard:hover{transform:translateY(-6px) scale(1.02);background:rgba(255,255,255,.1);}
.audienceCard i{font-size:1.5rem;margin-block-end:.7rem;color:var(--color-accent);}
.audienceCard h3{color:#fff;font-size:1rem;margin-block-end:.4rem;}
.audienceCard p{color:rgba(255,255,255,.7);font-size:.85rem;}

/* ==========================================================================
   Calculator
   ========================================================================== */
.calcSection{background:var(--color-paper-dim);}
.calcCard{
  background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);
  display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;
}
.calcCard_form{padding:var(--space-lg);}
.calcCard_form h2{font-size:var(--fs-lg);margin-block-end:.6rem;}
.calcCard_form > p{color:var(--color-ink-soft);margin-block-end:1.8rem;font-size:.95rem;}
.calcField{margin-block-end:1.3rem;}
.calcField label{display:block;font-weight:700;font-size:.88rem;margin-block-end:.5rem;}
.calcField select, .calcField input{
  width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);
  background:var(--color-paper);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.calcField:has(select:focus), .calcField:has(input:focus){}
.calcField select:focus, .calcField input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 15%, transparent);}
.calcCard_result{
  background:var(--gradient-brand);color:#fff;padding:var(--space-lg);
  display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
}
.calcCard_result::before{content:'';position:absolute;inset-block-start:-30%;inset-inline-end:-30%;width:70%;aspect-ratio:1;background:rgba(255,255,255,.12);border-radius:50%;}
.calcCard_result h3{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-block-end:.8rem;}
.calcCard_number{font-size:clamp(2.4rem,2rem + 2vw,3.4rem);font-weight:800;margin-block-end:.4rem;position:relative;z-index:1;}
.calcCard_resultText{opacity:.9;font-size:.95rem;position:relative;z-index:1;line-height:1.55;margin-block-end:1.2rem;}
.calcCard_disclaimer{font-size:.78rem;opacity:.72;position:relative;z-index:1;}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faqSection{background:var(--color-paper);}
.faqList{max-width:840px;margin-inline:auto;display:flex;flex-direction:column;gap:1rem;margin-block-start:var(--space-lg);}
.faqItem{
  background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);
  overflow:hidden;transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.faqItem:hover{box-shadow:var(--shadow-sm);}
.faqItem.is-open{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);}
.faqItem_trigger{
  width:100%;background:none;border:none;text-align:start;padding:1.3rem 1.5rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-weight:700;font-size:1.02rem;color:var(--color-ink);
}
.faqItem_trigger i{transition:transform .35s var(--ease);color:var(--color-secondary);flex:0 0 auto;}
.faqItem.is-open .faqItem_trigger i{transform:rotate(135deg);}
.faqItem_panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease);}
.faqItem.is-open .faqItem_panel{grid-template-rows:1fr;}
.faqItem_panelInner{overflow:hidden;}
.faqItem_panelInner p{padding:0 1.5rem 1.4rem;color:var(--color-ink-soft);font-size:.95rem;line-height:1.7;}

/* ==========================================================================
   Splide overrides
   ========================================================================== */
.exampleSection{background:var(--gradient-soft);}
.splide__slide{height:auto;}
.exampleCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:1.9rem;height:100%;
  box-shadow:var(--shadow-md);border:1px solid var(--color-border);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.exampleCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.exampleCard_icon{width:52px;height:52px;border-radius:var(--radius-sm);background:var(--gradient-card);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-block-end:1.1rem;}
.exampleCard h3{font-size:1.1rem;margin-block-end:.6rem;}
.exampleCard p{color:var(--color-ink-soft);font-size:.92rem;}
.splide__pagination__page{background:var(--color-border);}
.splide__pagination__page.is-active{background:var(--color-secondary);transform:scale(1.3);}
.splide__arrow{background:var(--color-surface);box-shadow:var(--shadow-sm);}
.splide__arrow svg{fill:var(--color-ink);}
.splide__arrow:hover{background:var(--color-primary);}
.splide__arrow:hover svg{fill:#fff;}

/* ==========================================================================
   CTA banner
   ========================================================================== */
.ctaBanner{background:var(--gradient-brand);color:#fff;text-align:center;}
.ctaBanner h2{color:#fff;font-size:var(--fs-xl);margin-block-end:1rem;}
.ctaBanner p{color:rgba(255,255,255,.85);max-width:560px;margin-inline:auto;margin-block-end:2rem;}
.ctaBanner_actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ==========================================================================
   Cards general (about/team/service)
   ========================================================================== */
.sectionHead{max-width:680px;margin-inline:auto;text-align:center;margin-block-end:var(--space-lg);}
.sectionHead h2{font-size:var(--fs-xl);}
.sectionHead p{color:var(--color-ink-soft);margin-block-start:.9rem;font-size:var(--fs-base);}

.teamGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;container-type:inline-size;}
.bioCard{
  background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);
  box-shadow:var(--shadow-sm);transition:box-shadow .35s var(--ease), transform .35s var(--ease);
  cursor:pointer;
}
.bioCard:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.bioCard_img{aspect-ratio:4/5;overflow:hidden;}
.bioCard_img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.bioCard:hover .bioCard_img img{transform:scale(1.06);}
.bioCard_body{padding:1.5rem;}
.bioCard_name{font-size:1.15rem;font-weight:700;margin-block-end:.2rem;}
.bioCard_role{font-size:.85rem;color:var(--color-secondary-dark);font-weight:600;margin-block-end:.9rem;}
.bioCard_toggle{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--color-primary);}
.bioCard_toggle i{transition:transform .35s var(--ease);}
.bioCard.is-open .bioCard_toggle i{transform:rotate(180deg);}
.bioCard_bio{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease);}
.bioCard.is-open .bioCard_bio{grid-template-rows:1fr;}
.bioCard_bioInner{overflow:hidden;}
.bioCard_bioInner p{padding-block-start:1rem;color:var(--color-ink-soft);font-size:.92rem;line-height:1.65;}

/* ==========================================================================
   Legal pages
   ========================================================================== */
.legalHero{background:var(--gradient-soft);padding-block:calc(74px + var(--space-lg)) var(--space-lg);}
.legalHero h1{font-size:var(--fs-2xl);}
.legalHero p{color:var(--color-ink-soft);margin-block-start:.8rem;}
.legalBody{max-width:780px;margin-inline:auto;padding-block:var(--space-xl);}
.legalBody h2{font-size:1.4rem;margin-block:2.2rem 1rem;}
.legalBody h3{font-size:1.15rem;margin-block:1.6rem .8rem;color:var(--color-primary-dark);}
.legalBody p{color:var(--color-ink-soft);margin-block-end:1.1rem;font-size:.98rem;line-height:1.8;}
.legalBody a{color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.legalBody ul{margin-block-end:1.1rem;padding-inline-start:1.3rem;}
.legalBody li{list-style:disc;color:var(--color-ink-soft);margin-block-end:.5rem;line-height:1.7;}
.legalBody strong{color:var(--color-ink);}

.impressumTable{width:100%;border-collapse:collapse;margin-block:1.5rem;}
.impressumTable td, .impressumTable th{padding:.85rem 1rem;border-block-end:1px solid var(--color-border);text-align:start;font-size:.94rem;vertical-align:top;}
.impressumTable th{width:38%;color:var(--color-ink-soft);font-weight:600;}
.impressumTable td{color:var(--color-ink);font-weight:600;}

/* ==========================================================================
   Forms - wizard
   ========================================================================== */
.wizardSection{background:var(--gradient-soft);}
.wizardCard{
  max-width:680px;margin-inline:auto;background:var(--color-surface);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);padding:var(--space-lg);
}
.wizardSteps{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-block-end:2.5rem;}
.wizardSteps_dot{
  width:38px;height:38px;border-radius:50%;background:var(--color-paper-dim);color:var(--color-ink-faint);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;
  transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}
.wizardSteps_dot.is-active{background:var(--gradient-brand);color:#fff;transform:scale(1.1);}
.wizardSteps_dot.is-done{background:var(--color-teal);color:#fff;}
.wizardSteps_line{width:36px;height:2px;background:var(--color-border);}
.wizardForm_track{overflow:hidden;}
.wizardForm_steps{display:flex;transition:transform .45s var(--ease);}
.wizardForm_step{flex:0 0 100%;padding-inline:.2rem;}
.wizardForm_group{margin-block-end:1.4rem;}
.wizardForm_group label{display:block;font-weight:700;font-size:.88rem;margin-block-end:.5rem;transition:color .25s var(--ease);}
.wizardForm_group:has(:focus-visible) label{color:var(--color-secondary);}
.wizardForm_row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.wizardForm_group input, .wizardForm_group select, .wizardForm_group textarea{
  width:100%;padding:.9rem 1.1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);
  background:var(--color-paper);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.wizardForm_group textarea{resize:vertical;min-height:130px;}
.wizardForm_group input:focus, .wizardForm_group select:focus, .wizardForm_group textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 15%, transparent);
}
.wizardForm_check{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--color-ink-soft);}
.wizardForm_check input{width:20px;height:20px;flex:0 0 auto;margin-block-start:.15rem;}
.wizardForm_nav{display:flex;justify-content:space-between;margin-block-start:2rem;gap:1rem;}
.wizardForm_stepTitle{font-size:1.2rem;font-weight:700;margin-block-end:1.5rem;}
.formMsg{font-size:.85rem;color:var(--color-secondary-dark);font-weight:600;margin-block-start:.8rem;min-height:1.2em;}

/* ==========================================================================
   Contact extras
   ========================================================================== */
.factsStrip{background:var(--color-ink);color:#fff;}
.factsStrip_inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}
.factsStrip_item i{font-size:1.4rem;color:var(--color-accent);margin-block-end:.7rem;display:block;}
.factsStrip_item strong{display:block;font-size:1.05rem;margin-block-end:.2rem;}
.factsStrip_item span{font-size:.85rem;color:rgba(255,255,255,.68);}
.mapWrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);margin-block-start:var(--space-lg);}
.mapWrap iframe{width:100%;height:380px;border:0;display:block;}

/* ==========================================================================
   Thanks page
   ========================================================================== */
.thanksSection{min-height:60vh;display:flex;align-items:center;background:var(--gradient-soft);padding-block:calc(74px + var(--space-xl)) var(--space-xl);}
.quoteCard{
  max-width:640px;margin-inline:auto;background:var(--gradient-dark);color:#fff;border-radius:var(--radius-xl);
  padding:var(--space-lg);text-align:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
}
.quoteCard::before{content:'\201C';position:absolute;top:-10px;inset-inline-start:24px;font-size:8rem;font-family:Georgia,serif;color:rgba(255,255,255,.08);}
.quoteCard_text{font-size:1.35rem;font-weight:600;line-height:1.5;position:relative;z-index:1;}
.quoteCard_author{margin-block-start:1.3rem;color:rgba(255,255,255,.7);font-size:.9rem;position:relative;z-index:1;}
.thanksSection h1{text-align:center;margin-block:2.5rem 1rem;font-size:var(--fs-xl);}
.thanksSection_actions{text-align:center;}

/* ==========================================================================
   Footer
   ========================================================================== */
.pageFooter{background:var(--color-ink);color:rgba(255,255,255,.82);margin-block-start:auto;}
.pageFooter_inner{
  width:min(1240px, 100% - 2.5rem);margin-inline:auto;padding-block:var(--space-xl) var(--space-lg);
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;
}
.pageFooter_brand img{width:34px;margin-block-end:.8rem;}
.pageFooter_brand p{font-weight:700;color:#fff;font-size:1.15rem;}
.pageFooter_tag{font-weight:400 !important;color:rgba(255,255,255,.6) !important;font-size:.88rem !important;margin-block-start:.5rem;}
.pageFooter_col h3{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-block-end:1.1rem;}
.pageFooter_col ul{display:flex;flex-direction:column;gap:.7rem;}
.pageFooter_col a{font-size:.92rem;color:rgba(255,255,255,.7);transition:color .25s var(--ease);}
.pageFooter_col a:hover{color:#fff;}
.pageFooter address{font-style:normal;font-size:.92rem;line-height:1.8;color:rgba(255,255,255,.7);}
.pageFooter address a{color:rgba(255,255,255,.85);}
.pageFooter_bottom{border-block-start:1px solid rgba(255,255,255,.12);padding-block:1.3rem;text-align:center;font-size:.82rem;color:rgba(255,255,255,.55);}

/* ==========================================================================
   Cookie consent
   ========================================================================== */
.cookieConsent{
  position:fixed;inset-block-end:1.4rem;inset-inline:0;margin-inline:auto;z-index:400;
  width:fit-content;max-width:min(92vw, 560px);
  transition:all .5s var(--ease);
}
.cookieConsent_pill{
  display:flex;align-items:center;gap:1rem;background:var(--color-ink);color:#fff;
  padding:.8rem 1rem .8rem 1.4rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);
  transition:all .45s var(--ease);
}
.cookieConsent_pill p{font-size:.85rem;line-height:1.4;color:rgba(255,255,255,.88);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cookieConsent_pillActions{display:flex;gap:.5rem;flex:0 0 auto;}
.cookieConsent_pillActions button{
  padding:.55rem 1.05rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;border:none;white-space:nowrap;
  transition:transform .25s var(--ease), background .25s var(--ease);
}
.cookieConsent_accept{background:var(--gradient-brand);color:#fff;}
.cookieConsent_accept:hover{transform:scale(1.05);}
.cookieConsent_customize{background:rgba(255,255,255,.14);color:#fff;}
.cookieConsent_customize:hover{background:rgba(255,255,255,.25);}

.cookieConsent.is-modal{inset-block-end:1rem;width:min(94vw, 620px);}
.cookieConsent.is-modal .cookieConsent_pill{display:none;}
.cookieConsent_modal{display:none;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.8rem;}
.cookieConsent.is-modal .cookieConsent_modal{display:block;}
.cookieConsent_modal h3{font-size:1.15rem;margin-block-end:.5rem;}
.cookieConsent_modal > p{color:var(--color-ink-soft);font-size:.88rem;margin-block-end:1.2rem;}
.cookieConsent_cat{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding-block:.9rem;border-block-start:1px solid var(--color-border);
}
.cookieConsent_cat:first-of-type{border-block-start:none;}
.cookieConsent_catText strong{display:block;font-size:.92rem;margin-block-end:.2rem;}
.cookieConsent_catText span{font-size:.8rem;color:var(--color-ink-soft);}
.switch{position:relative;width:44px;height:26px;flex:0 0 auto;}
.switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;cursor:pointer;}
.switch_track{position:absolute;inset:0;background:var(--color-border);border-radius:99px;transition:background .3s var(--ease);}
.switch_track::before{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;inset-block-start:3px;inset-inline-start:3px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease);}
.switch input:checked + .switch_track{background:var(--color-primary);}
.switch input:checked + .switch_track::before{transform:translateX(18px);}
.switch input:disabled + .switch_track{background:var(--color-teal);opacity:.6;}
.cookieConsent_modalActions{display:flex;gap:.8rem;margin-block-start:1.4rem;flex-wrap:wrap;}
.cookieConsent_modalActions button{flex:1;min-width:140px;padding:.8rem 1rem;border-radius:var(--radius-pill);font-weight:700;font-size:.85rem;border:none;transition:transform .25s var(--ease), background .25s var(--ease);}
.cookieConsent_save{background:var(--color-ink);color:#fff;}
.cookieConsent_save:hover{transform:scale(1.02);}
.cookieConsent_acceptAll{background:var(--gradient-brand);color:#fff;}
.cookieConsent_acceptAll:hover{transform:scale(1.02);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .zigzag_row{grid-template-columns:1fr;}
  .zigzag_row.is-reverse .zigzag_media{order:1;}
  .zigzag_row.is-reverse .zigzag_content{order:2;}
  .processGrid, .audienceGrid{grid-template-columns:repeat(2,1fr);}
  .calcCard{grid-template-columns:1fr;}
  .teamGrid{grid-template-columns:repeat(2,1fr);}
  .pageFooter_inner{grid-template-columns:1fr 1fr;}
  .factsStrip_inner{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
  .siteHeader_nav, .siteHeader_cta{display:none;}
  .siteHeader_burger{display:flex;}
  .mainHero_title{font-size:var(--fs-2xl);}
  .wizardForm_row{grid-template-columns:1fr;}
  .teamGrid{grid-template-columns:1fr;}
  .pageFooter_inner{grid-template-columns:1fr;text-align:start;}
  section{padding-block:var(--space-xl);}
}
@media (max-width:560px){
  .processGrid, .audienceGrid{grid-template-columns:1fr;}
  .factsStrip_inner{grid-template-columns:1fr;}
  .wizardCard{padding:var(--space-md);}
  .cookieConsent_pill p{white-space:normal;}
}
@container (min-width: 700px){
  .teamGrid{gap:2.5rem;}
}