/* TVOREN MVP B2B visual system — black / graphite / off-white / #F200FF */
:root,
html[data-theme="tvoren-black-graphite-magenta"]{
  --mvp-bg:#0A0A0A;
  --mvp-panel:#1F1F1F;
  --mvp-panel-2:#262626;
  --mvp-panel-3:#2A2A2A;
  --mvp-text:#F7F7F5;
  --mvp-muted:#A0A0A0;
  --mvp-accent:#F200FF;
  --mvp-line:rgba(255,255,255,.11);
  --mvp-line-strong:rgba(255,255,255,.18);
  --mvp-radius:12px;
  --mvp-shell:1360px;
}

html,body{background:var(--mvp-bg)!important;color:var(--mvp-text)!important}
body{overflow-x:hidden}
body::before{display:none!important}
.shell{max-width:var(--mvp-shell)!important}

/* Header / footer placement is intentionally preserved. */
.site-header{background:rgba(10,10,10,.96)!important;border-bottom:1px solid var(--mvp-line)!important;box-shadow:none!important}
.header-inner{min-height:66px!important}
.wordmark{color:var(--mvp-text)!important}
.wordmark::before{filter:none!important}
.desktop-nav{margin-left:auto!important;gap:24px!important}
.desktop-nav a{color:#C7C7C7!important;font-size:12px!important;font-weight:600!important}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--mvp-text)!important}
.desktop-nav a.active::after{background:var(--mvp-accent)!important;height:1px!important}
.header-tools{margin-left:16px!important;display:flex!important;align-items:center!important;gap:10px!important}
.header-cta{min-height:36px!important;padding:0 14px!important;border-radius:6px!important;font-size:11px!important}
.tool-button{height:36px!important;border-radius:6px!important;background:#202020!important;border-color:var(--mvp-line)!important}
.tool-button:hover{border-color:var(--mvp-accent)!important}

.site-footer{border-top:1px solid var(--mvp-line)!important;background:#090909!important}
.footer-row{min-height:58px!important;gap:18px!important}
.footer-links{gap:16px!important}
.footer-links a,.footer-email,.footer-copy{font-size:11px!important;color:#B5B5B5!important}
.footer-copy{margin-left:auto!important}
.footer-legal{display:flex;gap:12px;align-items:center}
.footer-legal a{font-size:10px;color:#8E8E8E;text-decoration:none}
.footer-legal a:hover{color:var(--mvp-accent)}

/* Typography */
.eyebrow,.mvp-kicker{color:var(--mvp-accent)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.mvp-title{margin:10px 0 18px;font-size:clamp(46px,5.2vw,78px);line-height:.96;letter-spacing:-.055em;max-width:960px}
.mvp-lead{max-width:760px;color:#C1C1C1;font-size:17px;line-height:1.58}
.mvp-section-title{margin:8px 0 12px;font-size:clamp(32px,3.5vw,50px);line-height:1;letter-spacing:-.04em}
.mvp-section-copy{max-width:720px;color:var(--mvp-muted);font-size:15px;line-height:1.6}

/* Home hero keeps the existing right-side video, but treats it as supporting atmosphere. */
.hero.mvp-hero{min-height:calc(100svh - 66px)!important;grid-template-columns:minmax(0,1.05fr) minmax(380px,.85fr)!important;gap:58px!important;padding-block:54px 58px!important;align-items:center!important}
.mvp-hero .hero-copy{max-width:820px}
.mvp-hero .hero-copy h1{font-size:clamp(50px,5.25vw,78px)!important;line-height:.95!important;max-width:800px!important;margin:12px 0 20px!important}
.mvp-hero .hero-lead{font-size:17px!important;line-height:1.6!important;color:#C3C3C3!important;max-width:720px!important}
.mvp-hero .hero-media{height:min(58vh,510px)!important;min-height:390px!important;border-radius:10px!important;border:1px solid var(--mvp-line-strong)!important;box-shadow:none!important;background:#111!important;mask-image:none!important;-webkit-mask-image:none!important}
.mvp-hero .hero-video{filter:grayscale(48%) saturate(.38) contrast(1.12) brightness(.50)!important;transform:scale(1.025)!important}
.mvp-hero .hero-media::before{background:linear-gradient(90deg,rgba(10,10,10,.38),rgba(10,10,10,.10) 60%,rgba(10,10,10,.22))!important}
.mvp-hero .hero-media::after{background:linear-gradient(180deg,rgba(10,10,10,.08),rgba(10,10,10,.42))!important;mix-blend-mode:normal!important;opacity:1!important}
.hero-actions{gap:10px!important}
.button{border-radius:6px!important;box-shadow:none!important;transform:none!important}
.button-primary{background:var(--mvp-accent)!important;border-color:var(--mvp-accent)!important;color:#070707!important}
.button-primary:hover{background:#D900E5!important;border-color:#D900E5!important;box-shadow:0 0 0 1px rgba(255,255,255,.24)!important}
.button-ghost{background:#252525!important;border-color:var(--mvp-line-strong)!important;color:var(--mvp-text)!important}
.button-ghost:hover{border-color:var(--mvp-accent)!important;background:#2A2A2A!important}

/* Shared layout */
.mvp-section{padding:72px 0;border-top:1px solid var(--mvp-line)}
.mvp-section:first-of-type{border-top:0}
.mvp-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:56px;align-items:end;margin-bottom:30px}
.mvp-section-head .mvp-section-copy{justify-self:end}
.mvp-panel{background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}
.mvp-panel-quiet{background:#141414;border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}

/* Who we help */
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.audience-card{position:relative;min-height:300px;padding:30px;overflow:hidden;background:linear-gradient(145deg,#1D1D1D,#242424);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}
.audience-card::after{content:"";position:absolute;inset:auto -10% -35% 35%;height:260px;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 24px,rgba(242,0,255,.09) 25px 26px);opacity:.65;pointer-events:none}
.audience-card h3{position:relative;z-index:1;margin:14px 0 10px;font-size:31px;line-height:1.05;letter-spacing:-.035em}
.audience-card p{position:relative;z-index:1;max-width:610px;color:#B8B8B8;font-size:14px;line-height:1.6}
.audience-points{position:relative;z-index:1;display:grid;gap:0;margin-top:24px;border-top:1px solid var(--mvp-line)}
.audience-points span{padding:11px 0;border-bottom:1px solid var(--mvp-line);color:#D7D7D7;font-size:12px}

/* Service / offer cards use diagrams, not stock photos. */
.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.offer-card{position:relative;min-height:270px;padding:26px 28px 24px;overflow:hidden;background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius);text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.offer-card::before{content:"";position:absolute;inset:0 0 0 52%;background:linear-gradient(90deg,transparent,rgba(242,0,255,.025)),repeating-linear-gradient(0deg,transparent 0 29px,rgba(255,255,255,.055) 30px),repeating-linear-gradient(90deg,transparent 0 29px,rgba(255,255,255,.055) 30px);mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}
.offer-card::after{content:"";position:absolute;right:38px;top:48px;width:150px;height:150px;border:1px solid rgba(242,0,255,.30);border-radius:50%;box-shadow:0 0 0 34px rgba(242,0,255,.03),0 0 0 68px rgba(242,0,255,.018)}
.offer-card:hover{border-color:rgba(242,0,255,.64);background:#242424;transform:translateY(-2px)}
.offer-index{position:relative;z-index:2;color:var(--mvp-accent);font:800 11px/1 var(--font-ui);letter-spacing:.12em}
.offer-card h3{position:relative;z-index:2;max-width:64%;margin:54px 0 9px;font-size:27px;line-height:1.06;letter-spacing:-.035em}
.offer-card p{position:relative;z-index:2;max-width:66%;margin:0;color:#AFAFAF;font-size:13.5px;line-height:1.5}
.offer-link{position:absolute;z-index:2;right:26px;bottom:22px;color:var(--mvp-accent);font-size:18px}

/* Process */
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius);overflow:hidden;background:#151515}
.process-step{min-height:210px;padding:22px 20px;border-right:1px solid var(--mvp-line)}
.process-step:last-child{border-right:0}
.process-step .step-no{color:var(--mvp-accent);font-size:10px;font-weight:800;letter-spacing:.12em}
.process-step h3{margin:52px 0 8px;font-size:20px;line-height:1.06}
.process-step p{margin:0;color:#9E9E9E;font-size:12px;line-height:1.5}

/* Trust / quality */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.trust-card{min-height:210px;padding:22px;background:#171717;border-top:2px solid #333;border-right:1px solid var(--mvp-line);border-bottom:1px solid var(--mvp-line);border-left:1px solid var(--mvp-line)}
.trust-card:first-child{border-top-color:var(--mvp-accent)}
.trust-card h3{margin:38px 0 8px;font-size:19px}
.trust-card p{margin:0;color:#9F9F9F;font-size:12.5px;line-height:1.55}

/* Services page */
.mvp-service-list{display:grid;gap:10px;padding-bottom:12px}
.mvp-service-row{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 210px;gap:22px;align-items:center;min-height:170px;padding:24px;background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius);overflow:hidden}
.mvp-service-row::after{content:"";position:absolute;right:-45px;top:50%;width:220px;height:220px;transform:translateY(-50%);border:1px solid rgba(242,0,255,.16);border-radius:50%;box-shadow:0 0 0 36px rgba(242,0,255,.018),0 0 0 72px rgba(255,255,255,.012)}
.mvp-service-row .service-number{position:relative;z-index:2}
.mvp-service-row h2{position:relative;z-index:2;margin:0 0 7px;font-size:30px;line-height:1.04}
.mvp-service-row p{position:relative;z-index:2;margin:0;max-width:760px;color:#AFAFAF;font-size:13.5px;line-height:1.52}
.mvp-service-row .service-tags{position:relative;z-index:2;justify-content:flex-end}
.mvp-service-row .service-tags span{border-radius:4px!important;background:#181818!important;border:1px solid var(--mvp-line)!important;color:#C9C9C9!important;font-size:9.5px!important}
.mvp-service-row:hover{border-color:rgba(242,0,255,.55)}

/* How-we-work page */
.delivery-model{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-card{padding:28px;background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}
.delivery-card h3{margin:10px 0 10px;font-size:28px}
.delivery-card p{color:#AAAAAA;line-height:1.6;font-size:14px}
.delivery-card ul{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--mvp-line)}
.delivery-card li{padding:11px 0;border-bottom:1px solid var(--mvp-line);color:#D1D1D1;font-size:12px}

/* About */
.about-story{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.about-story-main,.about-story-side{padding:30px;background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}
.about-story-main h2{margin:8px 0 14px;font-size:clamp(34px,4vw,54px);line-height:1}
.about-story-main p,.about-story-side p{color:#A9A9A9;font-size:14px;line-height:1.65}
.about-story-side strong{display:block;margin-bottom:12px;font-size:18px}

/* Contact */
.contact-layout{gap:12px!important}
.project-form,.contact-aside{background:var(--mvp-panel)!important;border:1px solid var(--mvp-line)!important;border-radius:var(--mvp-radius)!important;box-shadow:none!important}
.project-form input,.project-form textarea,.project-form select{background:#111!important;border-color:var(--mvp-line)!important;border-radius:6px!important;color:var(--mvp-text)!important}
.project-form input:focus,.project-form textarea:focus,.project-form select:focus{border-color:var(--mvp-accent)!important;box-shadow:none!important}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.contact-note{margin-top:12px;color:#858585;font-size:11px;line-height:1.5}

/* Legal */
.legal-page{padding:54px 0 80px}
.legal-copy{max-width:880px;padding:30px;background:var(--mvp-panel);border:1px solid var(--mvp-line);border-radius:var(--mvp-radius)}
.legal-copy h1{font-size:48px;margin:8px 0 18px}
.legal-copy h2{margin:28px 0 8px;font-size:22px}
.legal-copy p,.legal-copy li{color:#A9A9A9;line-height:1.65;font-size:14px}
.legal-draft{padding:10px 12px;border-left:2px solid var(--mvp-accent);background:#171717;color:#C9C9C9;font-size:12px}

/* CTA */
.final-cta.mvp-cta{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:28px!important;align-items:center!important;padding:28px 30px!important;margin-block:18px 26px!important;background:var(--mvp-panel)!important;border:1px solid var(--mvp-line)!important;border-radius:var(--mvp-radius)!important}
.mvp-cta .eyebrow{grid-column:1;margin:0 0 7px}
.mvp-cta h2{grid-column:1;margin:0!important;font-size:clamp(27px,3vw,42px)!important;line-height:1.02!important;max-width:980px!important}
.mvp-cta .button{grid-column:2;grid-row:1 / span 2;align-self:center}

/* Reveal micro-interactions */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.offer-card{transition:none}}

@media(max-width:980px){
  .mvp-section-head,.about-story,.delivery-model{grid-template-columns:1fr}
  .mvp-section-head .mvp-section-copy{justify-self:start}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-step{border-bottom:1px solid var(--mvp-line)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .mvp-service-row{grid-template-columns:42px 1fr}
  .mvp-service-row .service-tags{grid-column:2;justify-content:flex-start}
  .hero.mvp-hero{grid-template-columns:1fr!important;min-height:0!important}
  .mvp-hero .hero-media{height:360px!important;min-height:360px!important}
}

@media(max-width:700px){
  .mvp-section{padding:48px 0}
  .audience-grid,.offer-grid,.trust-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .process-step{border-right:0}
  .offer-card h3,.offer-card p{max-width:82%}
  .mvp-service-row{grid-template-columns:1fr;padding:20px}
  .mvp-service-row .service-tags{grid-column:1;justify-content:flex-start}
  .final-cta.mvp-cta{grid-template-columns:1fr!important}
  .mvp-cta .button{grid-column:1;grid-row:auto;justify-self:start}
  .header-cta{display:none!important}
  .footer-row{flex-wrap:wrap!important}
  .footer-copy{margin-left:0!important}
  .footer-legal{width:100%}
}
