/* =====================================================================
   DataInsta public pages  ·  public/css/di-public.css
   Loaded after di-app.css (tokens + components) by layouts/app.blade.php,
   layouts/guest.blade.php and errors/minimal.blade.php.
   Everything here is scoped so it never leaks into the logged-in app:
   1. Auth (.di-auth)   2. Brand panel + mock dashboard (.di-brand, .di-mock)
   3. Public header (.di-pubhead)   4. Public footer (.di-pubfoot)
   5. Page-builder blocks (.pb-themesection)   6. Error pages (.di-err)
   ===================================================================== */

/* ---------- 1. Auth ---------- */
/* guest and error layouts don't load Bootstrap's reboot, so set the box model here */
.di-auth-body *,.di-auth-body *::before,.di-auth-body *::after,.di-err-body *,.di-err-body *::before,.di-err-body *::after{box-sizing:border-box}
.di-auth-body button,.di-auth-body input,.di-err-body button{font-family:inherit}
.di-auth-body{margin:0;background:#fff;color:var(--di-text);font-family:var(--di-font)}
.di-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"main brand" "foot brand"}
.di-auth__main{grid-area:main}
.di-auth .di-brand{grid-area:brand}
.di-auth .di-auth__foot{grid-area:foot;padding:0 clamp(24px,4vw,56px) 24px}
@media (min-width:1280px){.di-auth{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.di-auth__main{display:flex;flex-direction:column;min-width:0;padding:28px clamp(24px,4vw,56px) 8px}
.di-auth__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.di-auth__logo{display:inline-flex;align-items:center;border-radius:10px}
.di-auth__logo img{display:block;height:40px;width:auto}
.di-auth__back{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;margin-right:-10px;border-radius:10px;font-size:14px;font-weight:500;color:var(--di-muted)!important;text-decoration:none}
.di-auth__back svg{width:16px;height:16px}
.di-auth__back:hover{background:var(--di-tint);color:var(--di-violet)!important}
.di-auth__body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 0}
.di-auth__form{width:100%;max-width:440px}
.di-auth__form--wide{max-width:540px}
.di-auth__head{margin-bottom:26px}
.di-auth__head h1{margin:0 0 8px;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--di-ink)}
.di-auth__head p{margin:0;font-size:15.5px;color:var(--di-muted)}
.di-auth__fields{display:grid;gap:18px}
.di-auth__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.di-auth .di-input{min-height:48px;font-size:15px;border-radius:12px}
.di-auth .di-input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset;-webkit-text-fill-color:var(--di-ink)}
.di-auth .di-input.is-invalid{border-color:var(--di-danger)}
.di-auth .di-input.is-invalid:focus{box-shadow:0 0 0 4px rgba(240,68,56,.15)}
.di-auth .di-label{display:block;margin:0}
.di-auth .di-help{margin:0}
.di-field__error{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:1.4;color:var(--di-danger-ink)}
.di-field__error svg{flex:none;width:15px;height:15px;margin-top:1px}
.di-auth__between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.di-auth__link{font-size:14px;font-weight:600;color:var(--di-violet)!important;text-decoration:none;border-radius:6px}
.di-auth__link:hover{text-decoration:underline}
.di-auth__alt{margin:26px 0 0;text-align:center;font-size:14.5px;color:var(--di-muted)}
.di-auth__alt a{font-weight:600;color:var(--di-violet);text-decoration:none;margin-left:4px}
.di-auth__alt a:hover{text-decoration:underline}
.di-auth__foot{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;font-size:13px;color:var(--di-muted)}
.di-auth__foot nav{display:flex;gap:16px}
.di-auth__foot a{color:var(--di-muted);text-decoration:none}
.di-auth__foot a:hover{color:var(--di-violet)}
.di-auth .di-alert{margin-bottom:20px}
.di-auth .di-alert svg{flex:none;width:20px;height:20px;margin-top:1px}
.di-auth .di-alert ul{margin:6px 0 0;padding-left:18px}
.di-auth .di-alert b{display:block;font-weight:600}
.di-auth .di-btn--lg{height:52px;font-size:16px}
.di-auth .di-btn.is-busy{opacity:.75;pointer-events:none}
.di-auth .di-btn.is-busy::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:diSpin .7s linear infinite}
@keyframes diSpin{to{transform:rotate(360deg)}}
.di-auth__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.di-auth__actions form{margin:0}
.di-auth__lead{margin:0 0 18px;color:var(--di-text);font-size:15px}
.di-auth__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;border-radius:16px;background:var(--di-tint-2);color:var(--di-violet)}
.di-auth__icon svg{width:26px;height:26px}

/* checkbox */
.di-check{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14px;line-height:1.45;color:var(--di-text);cursor:pointer}
.di-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--di-violet);cursor:pointer}
.di-check a{color:var(--di-violet);font-weight:600;text-decoration:none}
.di-check a:hover{text-decoration:underline}

/* password field with show/hide */
.di-pw{position:relative}
.di-pw .di-input{padding-right:52px}
.di-pw__toggle{position:absolute;top:4px;right:4px;bottom:4px;width:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:transparent;color:var(--di-muted);cursor:pointer}
.di-pw__toggle:hover{background:var(--di-tint);color:var(--di-violet)}
.di-pw__toggle svg{width:20px;height:20px}
.di-pw__toggle .di-pw__off{display:none}
.di-pw__toggle.is-on .di-pw__on{display:none}
.di-pw__toggle.is-on .di-pw__off{display:block}

/* role picker (register) */
.di-rolepick{margin:0;padding:0;border:0;min-width:0}
.di-rolepick legend{float:none;width:auto;margin:0 0 10px;padding:0;font-size:13.5px;font-weight:600;color:var(--di-ink)}
.di-rolepick__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.di-rolepick__card{position:relative;display:block;margin:0;cursor:pointer}
.di-rolepick__card input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.di-rolepick__body{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 16px 16px;border:1.5px solid var(--di-border-2);border-radius:16px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
.di-rolepick__card:hover .di-rolepick__body{border-color:var(--di-violet-400);background:#FDFBFF}
.di-rolepick__card input:focus-visible+.di-rolepick__body{box-shadow:var(--di-ring);border-color:var(--di-violet-400)}
.di-rolepick__card input:checked+.di-rolepick__body{border-color:var(--di-violet);background:var(--di-tint);box-shadow:0 0 0 1px var(--di-violet)}
.di-rolepick__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.di-rolepick__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--di-tint-2);color:var(--di-violet)}
.di-rolepick__icon svg{width:20px;height:20px}
.di-rolepick__card input:checked+.di-rolepick__body .di-rolepick__icon{background:var(--di-violet);color:#fff}
.di-rolepick__tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--di-border-2);background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.di-rolepick__tick svg{width:12px;height:12px;stroke:#fff;stroke-width:3;opacity:0}
.di-rolepick__card input:checked+.di-rolepick__body .di-rolepick__tick{background:var(--di-violet);border-color:var(--di-violet)}
.di-rolepick__card input:checked+.di-rolepick__body .di-rolepick__tick svg{opacity:1}
.di-rolepick__title{font-size:15.5px;font-weight:700;color:var(--di-ink);line-height:1.25}
.di-rolepick__role{align-self:flex-start;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid var(--di-border);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--di-violet)}
.di-rolepick__desc{font-size:13px;line-height:1.45;color:var(--di-muted)}
.di-rolepick.is-invalid .di-rolepick__body{border-color:#FDA29B}
.di-rolepick .di-field__error{margin-top:8px}

/* reCAPTCHA */
.di-captcha{min-height:78px}
.di-captcha .g-recaptcha{display:inline-block;max-width:100%}
.di-captcha .g-recaptcha:empty{width:304px;height:78px;border-radius:10px;border:1px dashed var(--di-border-2);background:linear-gradient(90deg,#F7F3FF 25%,#FBF9FF 37%,#F7F3FF 63%);background-size:400% 100%;animation:diSkel 1.3s ease infinite}
@media (max-width:359px){.di-captcha .g-recaptcha{transform:scale(.88);transform-origin:0 0}}

@media (max-width:1023px){
  .di-auth{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"main" "brand" "foot"}
  .di-auth__main{min-height:auto;padding:20px 24px 0}
  .di-auth .di-auth__foot{padding:20px 24px 24px;background:#FBEFFF}
  .di-auth__body{padding:36px 0 40px}
}
@media (max-width:575px){
  .di-auth__main{padding:16px 16px 0}
  .di-auth .di-auth__foot{padding:18px 16px 22px}
  .di-auth__logo img{height:34px}
  .di-auth__back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .di-auth__back{width:40px;height:40px;justify-content:center;margin-right:-6px}
  .di-auth__body{align-items:flex-start;padding:28px 0 32px}
  .di-auth__head h1{font-size:25px}
  .di-auth__head{margin-bottom:22px}
  .di-auth .di-input{font-size:16px} /* avoids iOS zoom on focus */
  .di-auth__row{grid-template-columns:minmax(0,1fr)}
  .di-rolepick__grid{gap:10px}
  .di-rolepick__body{padding:14px 12px}
  .di-rolepick__desc{font-size:12.5px}
  .di-auth__foot{justify-content:center;text-align:center}
}
@media (max-width:359px){.di-rolepick__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- 2. Brand panel + mock dashboard ---------- */
.di-brand{position:relative;overflow:hidden;background:linear-gradient(160deg,#F6F0FF 0%,#F3ECFF 45%,#FBEFFF 100%);border-left:1px solid var(--di-border)}
.di-brand::before,.di-brand::after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.di-brand::before{width:520px;height:520px;right:-180px;top:-160px;background:radial-gradient(circle at 30% 30%,rgba(140,82,255,.20),rgba(140,82,255,0) 65%)}
.di-brand::after{width:460px;height:460px;left:-160px;bottom:-180px;background:radial-gradient(circle at 60% 40%,rgba(203,108,230,.20),rgba(203,108,230,0) 65%)}
.di-brand__inner{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:56px clamp(32px,4.5vw,72px);z-index:1}
.di-brand__eyebrow{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--di-border);font-size:12.5px;font-weight:600;color:var(--di-violet);box-shadow:var(--di-shadow-sm)}
.di-brand__eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--di-grad)}
.di-brand__title{margin:0;max-width:560px;font-size:clamp(26px,2.4vw,36px);line-height:1.18;font-weight:700;letter-spacing:-.02em;color:var(--di-navy)}
.di-brand__title em{font-style:normal;background:var(--di-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.di-brand__props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:600px;margin:0;padding:0;list-style:none}
.di-brand__props li{display:flex;gap:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(222,211,245,.8);backdrop-filter:blur(6px)}
.di-brand__props span{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:var(--di-tint-2);color:var(--di-violet)}
.di-brand__props svg{width:18px;height:18px}
.di-brand__props b{display:block;margin-bottom:2px;font-size:14px;color:var(--di-ink)}
.di-brand__props p{margin:0;font-size:13px;line-height:1.45;color:var(--di-muted)}
.di-brand__trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}
.di-brand__trust li{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--di-text)}
.di-brand__trust svg{width:16px;height:16px;color:var(--di-violet)}

.di-mock{position:relative;max-width:560px;padding:18px 34px 26px 0}
.di-mock__card{background:#fff;border:1px solid var(--di-border);border-radius:18px;box-shadow:0 18px 50px rgba(80,40,160,.13)}
.di-mock__main{padding:18px 20px}
.di-mock__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.di-mock__label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--di-subtle)}
.di-mock__title{display:block;margin-bottom:12px;font-size:16px;color:var(--di-ink)}
.di-mock__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;font-size:13px;color:var(--di-muted)}
.di-mock__faces{display:flex}
.di-mock__faces i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:-8px;border-radius:50%;border:2px solid #fff;background:var(--di-grad);color:#fff;font:700 11px/1 var(--di-font);font-style:normal}
.di-mock__faces i:first-child{margin-left:0}
.di-mock__faces i:nth-child(2){background:#132C47}
.di-mock__faces i:nth-child(3){background:#7339E8}
.di-mock__faces i:last-child{background:var(--di-tint-2);color:var(--di-violet)}
.di-mock__ms{padding:12px;border-radius:12px;background:var(--di-tint)}
.di-mock__ms-top{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12.5px;color:var(--di-muted)}
.di-mock__ms-top b{color:var(--di-ink)}
.di-mock__chart{display:flex;align-items:flex-end;gap:7px;height:62px;margin-top:14px}
.di-mock__chart i{flex:1;height:var(--h);border-radius:6px 6px 3px 3px;background:var(--di-tint-2)}
.di-mock__chart i.is-hi{background:var(--di-grad)}
.di-mock__float{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:12.5px;color:var(--di-muted)}
.di-mock__float b{display:block;font-size:13.5px;color:var(--di-ink)}
.di-mock__expert{right:0;top:-14px}
.di-mock__paid{left:-26px;bottom:-4px}
.di-mock__dot{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--di-grad);color:#fff;font:700 12px/1 var(--di-font)}
.di-mock__dot--ok{background:var(--di-success-bg);color:var(--di-success-ink)}
.di-mock__dot svg{width:17px;height:17px}
.di-mock .di-match{font-size:11.5px;padding:3px 8px;margin-left:4px}

@media (max-width:1279px){.di-brand__props{grid-template-columns:minmax(0,1fr)}.di-mock__paid{left:-10px}}
@media (max-width:1023px){
  .di-brand{border-left:0;border-top:1px solid var(--di-border)}
  .di-brand__inner{position:static;min-height:0;padding:40px 24px 44px;gap:22px}
  .di-brand__props{grid-template-columns:repeat(2,minmax(0,1fr))}
  .di-mock{max-width:520px}
}
@media (max-width:575px){
  .di-brand__inner{padding:32px 16px 36px}
  .di-brand__props{grid-template-columns:minmax(0,1fr)}
  .di-mock{display:none}
}

/* ---------- 3. Public header ---------- */
.di-pubhead{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--di-border);font-family:var(--di-font)}
.di-pubhead__bar{padding:9px 16px;text-align:center;font-size:13.5px;background:var(--di-navy);color:#fff}
.di-pubhead__bar p{margin:0;color:#fff}
.di-pubhead__bar a{color:#E4D6FF}
.di-pubhead__inner{position:relative;max-width:1280px;height:72px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px}
.di-pubhead__logo{flex:none;display:inline-flex;border-radius:10px}
.di-pubhead__logo img{display:block;height:38px;width:auto}
.di-pubhead__nav{flex:1;display:flex;align-items:center;min-width:0}
.di-pubhead__panel{flex:1;display:flex;align-items:center;min-width:0}
.di-pubhead__toggle{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--di-border);border-radius:12px;background:#fff;color:var(--di-ink);cursor:pointer}
.di-pubhead__toggle svg{width:22px;height:22px}
.di-pubhead__menu{display:flex;align-items:center;gap:2px;margin:0 auto;padding:0;list-style:none}
.di-pubhead__menu li{position:relative;list-style:none;margin:0;line-height:1.4}
.di-pubhead__menu a{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--di-text)!important;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}
.di-pubhead__menu a:hover,.di-pubhead__menu a.is-active{background:var(--di-tint);color:var(--di-violet)!important}
.di-pubhead__menu a i{font-size:11px}
.di-pubhead__menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:220px;margin:0;padding:6px;list-style:none;border-radius:14px;background:#fff;border:1px solid var(--di-border);box-shadow:var(--di-shadow-lg)}
.di-pubhead__menu li:hover>.sub-menu,.di-pubhead__menu li:focus-within>.sub-menu,.di-pubhead__menu .sub-menu.active{display:block}
.di-pubhead__menu .sub-menu a{display:flex;width:100%}
.di-pubhead__actions{flex:none;display:flex;align-items:center;gap:8px}
.di-pubhead__mobile-actions{display:none}
.di-pubhead__mobile-actions .di-btn:only-child{grid-column:1/-1}
.di-pubhead .tk-switch-language{margin:0}
.di-pubhead .tk-language-select{display:flex;align-items:center;gap:6px}
.di-pubhead .tk-language-select select{height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--di-border-2);background:#fff;font:500 14px var(--di-font);color:var(--di-ink)}
@media (max-width:1199px){
  .di-pubhead__inner{gap:12px}
  .di-pubhead__toggle{display:inline-flex}
  .di-pubhead__nav{flex:none;order:3;margin-left:0}
  .di-pubhead__actions{margin-left:auto}
  .di-pubhead__panel{display:block;position:absolute;left:0;right:0;top:100%;padding:12px 16px 18px;background:#fff;border-bottom:1px solid var(--di-border);box-shadow:0 18px 30px rgba(19,44,71,.08)}
  .di-pubhead__panel:not(.show){display:none}
  .di-pubhead__menu{flex-direction:column;align-items:stretch;gap:2px}
  .di-pubhead__menu a{display:flex;padding:12px 14px;font-size:16px}
  .di-pubhead__menu .sub-menu{position:static;display:none;box-shadow:none;border:0;padding:0 0 0 12px}
  .di-pubhead__menu .sub-menu.active{display:block}
}
@media (max-width:767px){
  .di-pubhead__inner{height:64px;padding:0 16px}
  .di-pubhead__logo img{height:32px}
  .di-pubhead__actions{display:none}
  .di-pubhead__nav{margin-left:auto}
  .di-pubhead__mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--di-border)}
}

/* ---------- 4. Public footer ---------- */
.di-pubfoot{margin-top:0;background:var(--di-tint);border-top:1px solid var(--di-border);font-family:var(--di-font);color:var(--di-text)}
.di-pubfoot__inner{max-width:1280px;margin:0 auto;padding:56px 24px 0}
.di-pubfoot__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:40px}
.di-pubfoot__brand img{display:block;height:38px;width:auto;margin-bottom:16px}
.di-pubfoot__brand p{max-width:420px;margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--di-muted)}
.di-pubfoot h2{margin:4px 0 14px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--di-ink)}
.di-pubfoot ul{margin:0;padding:0;list-style:none}
.di-pubfoot li{margin:0;line-height:1.5}
.di-pubfoot__links li+li{margin-top:2px}
.di-pubfoot__links a,.di-pubfoot__contact a{display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-size:14.5px;color:var(--di-text);text-decoration:none}
.di-pubfoot__links a:hover,.di-pubfoot__contact a:hover{color:var(--di-violet)}
.di-pubfoot__contact li+li{margin-top:6px}
.di-pubfoot__contact svg{width:17px;height:17px;color:var(--di-violet)}
.di-pubfoot__contact small{display:block;margin-left:25px;font-size:12.5px;color:var(--di-muted)}
.di-pubfoot__social{display:flex;gap:8px}
.di-pubfoot__social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--di-border);color:var(--di-navy);transition:all .15s}
.di-pubfoot__social a:hover{color:#fff;background:var(--di-violet);border-color:var(--di-violet)}
.di-pubfoot__social svg{width:17px;height:17px;fill:currentColor}
.di-pubfoot__apps{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.di-pubfoot__apps img{height:40px;width:auto;border-radius:8px}
.di-pubfoot__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:44px;padding:20px 0 28px;border-top:1px solid var(--di-border-2);font-size:13.5px;color:var(--di-muted)}
.di-pubfoot__bottom nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.di-pubfoot__bottom a{color:var(--di-muted);text-decoration:none}
.di-pubfoot__bottom a:hover{color:var(--di-violet)}
@media (max-width:991px){.di-pubfoot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.di-pubfoot__brand{grid-column:1/-1}}
@media (max-width:575px){.di-pubfoot__inner{padding:40px 16px 0}.di-pubfoot__grid{grid-template-columns:minmax(0,1fr);gap:28px}.di-pubfoot__bottom{flex-direction:column;align-items:flex-start;margin-top:32px}}

/* ---------- 5. Page-builder blocks (published pages) ---------- */
.di-pb{background:var(--di-bg);font-family:var(--di-font)}
.pb-themesection{font-family:var(--di-font)}
/* some template sections put a .row (negative margins) straight into a padding-less container */
.pb-themesection{overflow-x:clip}
@media (max-width:767px){.pb-themesection{overflow-x:hidden;overflow-x:clip}}
.pb-themesection h1,.pb-themesection h2,.pb-themesection h3,.pb-themesection h4{font-family:var(--di-font)!important;color:var(--di-ink)}
.pb-themesection p{color:var(--di-text)}
/* eyebrows and taglines */
.pb-themesection .tk-section_title>span,.pb-themesection .tk-tagline span,.pb-themesection .tk-work-title strong,.pb-themesection .wr-tagline span{display:inline-block;color:var(--di-violet)!important;font:600 14px/1.4 var(--di-font)!important;letter-spacing:.02em}
.pb-themesection .tk-section_title h2,.pb-themesection .tk-profile-content h2{font-weight:700!important;letter-spacing:-.02em}
/* buttons */
.pb-themesection .tk-btn,.pb-themesection .tk-btn-two{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px!important;border:0;background:var(--di-violet)!important;color:#fff!important;font:600 15px/1 var(--di-font)!important;text-decoration:none;box-shadow:0 8px 20px rgba(115,57,232,.22);transition:background .15s,transform .15s}
.pb-themesection .tk-btn:hover,.pb-themesection .tk-btn-two:hover{background:var(--di-violet-600)!important;transform:translateY(-1px)}
.pb-themesection .tk-btn span,.pb-themesection .tk-btn-two span,.pb-themesection .tk-btn i{color:#fff!important}
.pb-themesection .tk-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px!important;border:1px solid var(--di-border-2)!important;background:#fff!important;color:var(--di-ink)!important;font:600 15px/1 var(--di-font)!important;text-decoration:none}
.pb-themesection .tk-btn-secondary span{color:var(--di-ink)!important}
.pb-themesection .tk-btn-secondary:hover{border-color:var(--di-violet-400)!important;background:var(--di-tint)!important}
.pb-themesection .tk-btn-secondary:hover span{color:var(--di-violet)!important}
/* hero banner */
.pb-themesection:has(.sc-banner-01-wrapper){background:var(--di-grad-soft)!important}
.pb-themesection .tk-homebanner_content h1{font-weight:700!important;letter-spacing:-.025em;color:var(--di-navy)}
.pb-themesection .tk-homebanner_content h1 span,.pb-themesection .tk-homebanner_content h1 strong,.pb-themesection .tk-homebanner_content h1 em{background:var(--di-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.pb-themesection .tk-homebanner_content p{color:var(--di-muted)}
/* bullet lists */
.pb-themesection .tk-bannerlist li,.pb-themesection .wr-bannerlist li{color:var(--di-text)}
.pb-themesection .tk-bannerlist li::before,.pb-themesection .wr-bannerlist li::before{color:var(--di-violet)!important}
/* images that fail to load (local copies have no uploads) keep their space tidy */
.pb-themesection .tk-profile-images img,.pb-themesection .tk-howworkright img{border-radius:20px}
/* how it works */
.pb-themesection .tk-howworkleft,.pb-themesection .tk-howitworkvtwo.tk-howworkleft{background:#fff!important;border:1px solid var(--di-border);box-shadow:var(--di-shadow)}
.pb-themesection .tk-howworkleft::before,.pb-themesection .tk-howworkleft::after,.pb-themesection .tk-howitworkvtwo.tk-howworkleft::before,.pb-themesection .tk-howitworkvtwo.tk-howworkleft::after{background:var(--di-violet-400)!important;opacity:.12}
.pb-themesection .tk-howworklist>span{background:var(--di-tint-2)!important;color:var(--di-violet)!important}
.pb-themesection .tk-howworklist>span *{color:var(--di-violet)!important}
.pb-themesection .tk-workslist h4{color:var(--di-ink)!important}
.pb-themesection .tk-workslist p{color:var(--di-muted)!important}
/* counters */
.pb-themesection .tk-couter-wrapper{border-radius:20px;background:#fff;border:1px solid var(--di-border)}
.pb-themesection .tk-countitem h3{background:var(--di-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;font-weight:700!important}
.pb-themesection .tk-countitem span{color:var(--di-muted)}
/* FAQ accordion */
.pb-themesection .tk-section-accordion .accordion-item{border:1px solid var(--di-border)!important;border-radius:14px!important;background:#fff!important;overflow:hidden;box-shadow:var(--di-shadow-sm)}
.pb-themesection .tk-section-accordion .accordion-button{font:600 16px/1.4 var(--di-font)!important;color:var(--di-ink)!important;background:#fff!important}
.pb-themesection .tk-section-accordion .accordion-button:focus-visible{outline:2px solid var(--di-violet);outline-offset:-2px}
.pb-themesection .tk-section-accordion .accordion-button[aria-expanded="true"]{color:var(--di-violet)!important}
.pb-themesection .tk-accordion-body p{color:var(--di-muted)}
@media (max-width:991px){
  .pb-themesection .tk-section-frequently{flex-direction:column;gap:24px}
  .pb-themesection .tk-section-frequently .tk-section_title,.pb-themesection .tk-section-accordion{width:100%;max-width:100%}
  .pb-themesection .tk-section-frequently h2{max-width:100%}
}
/* plain text pages (terms, privacy) */
.pb-themesection .tk-jobdescription{max-width:860px;color:var(--di-text);font-size:16px;line-height:1.7}
.pb-themesection .tk-jobdescription h2,.pb-themesection .tk-jobdescription h3,.pb-themesection .tk-jobdescription h4{margin-top:1.4em}
.pb-themesection .tk-jobdescription a{color:var(--di-violet)}
/* brand slider */
.pb-themesection .tk-clients_title h2{font-size:18px!important;font-weight:600!important;color:var(--di-muted)!important}
/* call-to-action banner (add-banner block) */
.pb-themesection .tk-topfooter::after{display:none}
.pb-themesection .tk-opportunity{background:linear-gradient(120deg,#22175A 0%,#4A23B0 55%,#7339E8 100%);box-shadow:0 24px 60px rgba(80,40,160,.25)}
.pb-themesection .tk-opportunity::after{background:conic-gradient(from calc(var(--angle) + var(--start-angle)),transparent 0,#CB6CE6 40%,transparent 45%)}
.pb-themesection .tk-opportunity .tk-section_title>span{color:#E4D6FF!important}
.pb-themesection .tk-opportunity .tk-section_title h3{color:#fff!important;font-weight:700}
.pb-themesection .tk-opportunity .tk-section_title p{color:rgba(255,255,255,.85)!important}
.pb-themesection .tk-opportunity .tk-btn{background:#fff!important;color:var(--di-violet)!important;box-shadow:0 10px 24px rgba(19,44,71,.25)}
.pb-themesection .tk-opportunity .tk-btn span,.pb-themesection .tk-opportunity .tk-btn i{color:var(--di-violet)!important}
.pb-themesection .tk-opportunity .tk-btn:hover{background:var(--di-tint)!important}
.pb-themesection .tk-opportunity-button>span{color:#fff!important;opacity:.88!important}
.pb-themesection .tk-btn::before,.pb-themesection .tk-btn-two::before{display:none!important}
.pb-themesection .tk-topfooter{margin-bottom:64px}
.pb-themesection .tk-opportunity-button figure svg rect{fill:#CB6CE6}
.pb-themesection .tk-opportunity>figure:last-child,.pb-themesection .tk-opportunity .tk-bg-img{opacity:.35}
/* cards from listing blocks (projects, talents, services) */
.pb-themesection .tk-section_desciption p{color:var(--di-muted)}

/* ---------- 6. Error pages ---------- */
.di-err-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--di-bg);font-family:var(--di-font);color:var(--di-text)}
.di-err__top{max-width:1280px;width:100%;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.di-err__top img{display:block;height:38px;width:auto}
.di-err__main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px 56px}
.di-err__card{position:relative;width:100%;max-width:640px;padding:48px 44px 40px;border-radius:28px;background:#fff;border:1px solid var(--di-border);box-shadow:var(--di-shadow-lg);text-align:center;overflow:hidden}
.di-err__card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--di-grad)}
.di-err__art{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 22px;padding:14px 26px;border-radius:22px;background:var(--di-grad-soft);border:1px solid var(--di-border)}
.di-err__code{font-size:clamp(56px,10vw,88px);line-height:1;font-weight:800;letter-spacing:-.04em;background:var(--di-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.di-err__badge{position:absolute;right:-14px;top:-14px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#fff;border:1px solid var(--di-border);color:var(--di-violet);box-shadow:var(--di-shadow)}
.di-err__badge svg{width:22px;height:22px}
.di-err__card h1{margin:0 0 10px;font-size:clamp(22px,3vw,28px);line-height:1.25;font-weight:700;color:var(--di-ink)}
.di-err__card p{max-width:460px;margin:0 auto;font-size:15.5px;line-height:1.6;color:var(--di-muted)}
.di-err__detail{margin-top:10px!important;font-size:14px!important;color:var(--di-text)!important}
.di-err__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.di-err__help{margin-top:26px!important;padding-top:20px;border-top:1px solid var(--di-border);font-size:13.5px!important}
.di-err__help a{font-weight:600;color:var(--di-violet);text-decoration:none}
.di-err__help a:hover{text-decoration:underline}
.di-err__foot{padding:18px 24px 26px;text-align:center;font-size:13px;color:var(--di-muted)}
.di-err__foot a{color:var(--di-muted);text-decoration:none}
.di-err__foot a:hover{color:var(--di-violet)}
@media (max-width:575px){
  .di-err__top{padding:16px}
  .di-err__top img{height:32px}
  .di-err__card{padding:36px 20px 28px;border-radius:22px}
  .di-err__actions .di-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.di-captcha .g-recaptcha:empty,.di-auth .di-btn.is-busy::after{animation:none}.pb-themesection .tk-btn,.pb-themesection .tk-btn-two{transition:none}}
