/* WEXORA — OBSIDIAN VIOLET
   High-impact, dependency-free landing design. Isolated to the public homepage.
   Purple/magenta light and intentional visual hierarchy, without large raster assets.
*/
:root[data-design="obsidian-violet"]{
  color-scheme: dark;
  --page:#08050f;
  --surface:#100d1e;
  --surface-raised:#1c142b;
  --surface-soft:#0d0918;
  --ink:#f7f4ff;
  --ink-soft:#e0d7f0;
  --muted:#b0a7c5;
  --faint:#827691;
  --stroke:#2f2542;
  --stroke-strong:#514067;
  --contrast:#a85cff;
  --on-contrast:#ffffff;
  --logo-line:#ffffff;
  --hero-spot:rgba(143,57,246,.25);
  --preview-shadow:0 38px 110px rgba(0,0,0,.42);
  --focus:#d2a4ff;
  --violet:#9e55ff;
  --violet-hot:#d153e8;
  --violet-deep:#7138df;
  --glow:rgba(140,69,255,.25);
  font-family:Inter,"Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,sans-serif;
}
:root[data-design="obsidian-violet"][data-theme="light"]{
  color-scheme:light;
  --page:#f7f4fc;
  --surface:#ffffff;
  --surface-raised:#f1eafa;
  --surface-soft:#f2ecfa;
  --ink:#1d122c;
  --ink-soft:#392549;
  --muted:#655674;
  --faint:#786c86;
  --stroke:#e2d4f2;
  --stroke-strong:#c2abd9;
  --contrast:#783bdd;
  --on-contrast:#ffffff;
  --logo-line:#ffffff;
  --hero-spot:rgba(135,53,220,.13);
  --preview-shadow:0 30px 80px rgba(70,27,106,.10);
  --focus:#7538c0;
  --violet:#783bdd;
  --violet-hot:#a533bc;
  --violet-deep:#632ac5;
  --glow:rgba(134,50,220,.12);
}
:root[data-design="obsidian-violet"]{scroll-padding-top:94px}
:root[data-design="obsidian-violet"] body{
  background:
    radial-gradient(ellipse 70% 650px at 85% 2%,rgba(83,25,143,.22),transparent 78%),
    var(--page);
  color:var(--ink);
}
:root[data-design="obsidian-violet"] .container{width:min(1310px,calc(100% - 90px))}
:root[data-design="obsidian-violet"] .muted-heading{color:var(--muted)}
.violet-heading{
  display:inline-block;
  background:linear-gradient(100deg,#f5deff 4%,#c88cff 38%,#a665ff 67%,#e78bfa 100%);
  background-size:190% 100%;
  color:#bf83f5;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
:root[data-design="obsidian-violet"][data-theme="light"] .violet-heading{
  background-image:linear-gradient(110deg,#6d28bc 0%,#933ce0 48%,#b338aa 100%);
}
:root[data-design="obsidian-violet"] :is(a,button,input,textarea,summary):focus-visible{
  outline:2px solid var(--focus);outline-offset:4px
}
/* Global navigation */
.site-header{
  border-bottom:1px solid rgba(169,108,236,.12);
  background:rgba(11,7,22,.78);
  box-shadow:0 14px 45px rgba(5,3,17,.12);
}
.site-header.scrolled{
  background:rgba(12,7,25,.92);
  border-bottom-color:rgba(183,129,255,.24);
}
:root[data-design="obsidian-violet"][data-theme="light"] .site-header{
  background:rgba(250,247,254,.93);
}
.site-header .header-inner{height:86px}
.brand-mark{filter:drop-shadow(0 0 15px rgba(157,85,255,.38))}
.brand-point,.footer-logo span{color:var(--violet)}
.navigation{font-size:12px;font-weight:660}
.navigation a{transition:color .2s}
.navigation a:hover{color:var(--ink)}
.theme-toggle{
  border-color:var(--stroke-strong);
  background:rgba(164,93,244,.07);
}
.header-cta,.btn-primary,.studio-bottom-cta,.home-qr-download{
  border:1px solid rgba(238,209,255,.23);
  color:#fff;
  background:linear-gradient(116deg,#7739df 0%,#9a4dff 54%,#c34bc7 100%);
  box-shadow:0 9px 34px rgba(116,45,209,.30),inset 0 1px 0 rgba(255,255,255,.20);
  transition:box-shadow .25s ease, transform .25s ease,filter .25s ease;
}
.header-cta:hover,.btn-primary:hover,.studio-bottom-cta:hover,.home-qr-download:hover:not(:disabled){
  transform:translateY(-2px);
  filter:brightness(1.10);
  box-shadow:0 14px 48px rgba(143,58,244,.40),inset 0 1px 0 rgba(255,255,255,.25);
}
.header-cta{border-radius:12px;padding:13px 19px;font-weight:750}
.btn-primary{border-radius:14px;padding:18px 22px}
.btn-text{color:var(--ink-soft);font-weight:700}
.btn-text:hover{color:var(--violet-hot)}
/* Cinematic hero */
.hero{
  position:relative;
  isolation:isolate;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:10px;
  min-height:780px;
  padding-top:90px;padding-bottom:96px;
}
.hero::before{
  content:"";position:absolute;z-index:-2;pointer-events:none;
  left:50%;top:0;bottom:0;width:100vw;transform:translateX(-50%);
  background:
    radial-gradient(ellipse 43% 49% at 74% 41%,rgba(114,42,236,.33),transparent 91%),
    radial-gradient(ellipse 34% 46% at 98% 66%,rgba(204,37,203,.15),transparent 91%),
    radial-gradient(ellipse 50% 70% at 5% 13%,rgba(62,21,108,.14),transparent 95%),
    linear-gradient(145deg,#090611 0%,#0b0616 35%,#1b0c31 74%,#0b0716 100%);
}
.hero::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:100vw;inset:0 auto 0 50%;transform:translateX(-50%);opacity:.26;
  background-image:linear-gradient(rgba(159,109,237,.15) 1px,transparent 1px),
    linear-gradient(90deg,rgba(159,109,237,.15) 1px,transparent 1px);
  background-size:100px 100px;
  mask-image:linear-gradient(to right,transparent 13%,#000 100%);
}
.hero-copy{padding:44px 0 24px;z-index:3}
.hero .hero-eyebrow{color:#cfb7e6;letter-spacing:.20em;font-size:10px;max-width:100%;white-space:normal}
.hero .signal{background:#c98dff;box-shadow:0 0 0 5px rgba(183,104,255,.12),0 0 22px #a855f7}
.hero-edition{
  display:inline-flex;gap:15px;align-items:center;
  margin-top:60px;
  border:1px solid rgba(189,119,255,.26);
  color:#dabff5;
  background:linear-gradient(95deg,rgba(150,68,245,.14),rgba(90,44,158,.04));
  border-radius:30px;padding:10px 14px;
  font-size:10px;font-weight:760;letter-spacing:.20em;
}
.hero-edition span{color:#e68bff;font-size:15px}
.hero h1{
  margin:27px 0 32px;
  font-size:clamp(62px,7.6vw,116px);
  line-height:.98;
  letter-spacing:-.092em;
  font-weight:790;
}
.hero-lead{font-size:16px;line-height:1.85;max-width:520px;color:#bdb0d0}
.hero-lead em{color:#f2e5ff;font-weight:650}
.hero-buttons{margin-top:36px}
.hero-footnote{font-size:10px;color:#aca0c0}
.hero-footnote strong{color:#ecdcff}
.hero-footnote .mini-rule{background:#af70f8}
.hero-art{
  height:625px;
  overflow:visible;
  background:none;
  transform:translateX(13px);
}
.hero-art-grid{
  position:absolute;inset:30px -30px;
  border:1px solid rgba(178,122,250,.13);
  border-radius:50%;
  transform:rotate(-16deg) scale(.91);
}
.hero-aura{
  position:absolute;inset:8%;
  border-radius:50%;filter:blur(31px);pointer-events:none;
}
.hero-aura-one{background:radial-gradient(circle at 50% 50%,rgba(121,54,253,.54),transparent 62%);animation:violet-breathe 6s ease-in-out infinite alternate}
.hero-aura-two{background:radial-gradient(circle at 78% 40%,rgba(227,63,203,.28),transparent 51%);animation:violet-breathe 8s ease-in-out infinite alternate-reverse}
.hero-art .orbit{border-color:rgba(177,108,248,.32);box-shadow:0 0 25px rgba(154,67,234,.11)}
.hero-art .orbit-one{width:340px;transform:rotate(18deg)}
.hero-art .orbit-two{width:490px;transform:rotate(-14deg)}
.hero-art .orbit-three{width:615px;opacity:.50;transform:rotate(20deg)}
.hero-art .orbit-one::before,.hero-art .orbit-two::after{
  background:#e6a0ff;
  box-shadow:0 0 17px 5px rgba(182,93,249,.38);
}
.hero .art-core{
  width:244px;height:244px;
  border-radius:55px;z-index:2;
  background:linear-gradient(137deg,#702bba 0%,#3b146c 22%,#1b0c38 62%,#421573 100%);
  border:1px solid rgba(223,167,255,.69);
  box-shadow:0 0 0 1px rgba(229,175,255,.11),0 35px 90px rgba(49,12,117,.55),
   0 0 95px rgba(177,54,255,.30),inset 0 2px 3px rgba(255,255,255,.35);
  transform:rotate(-12deg);
  animation:violet-float 8s ease-in-out infinite;
}
.hero .art-core::before{
  content:"";position:absolute;inset:-10px;
  border:1px solid rgba(214,153,255,.22);
  border-radius:63px;
}
.hero .art-core::after{inset:14px;border-radius:42px;border-color:rgba(244,214,255,.22)}
.hero .art-core svg{color:#fcf2ff;width:162px;height:162px;filter:drop-shadow(0 0 15px rgba(234,180,255,.5))}
.hero-glass-card{
  position:absolute;z-index:3;display:flex;flex-direction:column;gap:6px;
  width:205px;padding:17px 20px;border-radius:15px;
  border:1px solid rgba(213,151,255,.33);
  background:linear-gradient(128deg,rgba(79,45,128,.57),rgba(28,17,50,.78));
  box-shadow:0 20px 48px rgba(7,3,23,.32),inset 0 1px 0 rgba(255,255,255,.11);
  backdrop-filter:blur(16px);
  color:#f7edff;
}
.hero-glass-card span,.hero-glass-card small{
  color:#d1b1ec;letter-spacing:.12em;font-size:9px;font-weight:720;
}
.hero-glass-card strong{font-size:18px;line-height:1.12;letter-spacing:-.04em}
.hero-glass-card small{font-size:8px}
.hero-glass-top{top:100px;right:-28px;transform:rotate(5deg)}
.hero-glass-bottom{bottom:77px;left:-18px;transform:rotate(-7deg)}
.hero-art-coordinate{position:absolute;color:#b999d8;font-size:9px;font-weight:700;letter-spacing:.17em}
.hero-art-coordinate-top{top:22px;left:14px}
.hero-art-coordinate-bottom{bottom:19px;right:0}
/* Continuous brand ticker */
.violet-marquee{
  width:100%;overflow:hidden;
  border-block:1px solid rgba(192,122,253,.27);
  background:linear-gradient(92deg,#200c38 0%,#522191 44%,#6422a4 70%,#270e43 100%);
  box-shadow:0 8px 45px rgba(98,38,170,.24);
}
.violet-marquee-track{
  width:max-content;display:flex;align-items:center;gap:45px;
  padding:22px 0;white-space:nowrap;
  color:#f7efff;font-size:12px;font-weight:790;letter-spacing:.28em;
  animation:violet-marquee 36s linear infinite;
}
.violet-marquee-track i{font-style:normal;color:#deb4ff;font-size:18px}
@keyframes violet-marquee{to{transform:translateX(-50%)}}
@keyframes violet-float{0%,100%{transform:translateY(-7px) rotate(-12deg)}50%{transform:translateY(8px) rotate(-10deg)}}
@keyframes violet-breathe{from{opacity:.58;transform:scale(.92)}to{opacity:1;transform:scale(1.07)}}
/* Typography and section rhythm */
.divider-row{
  border-color:var(--stroke);color:var(--violet);
  margin-top:30px;font-size:10px;
}
.section-intro h2,.studio-intro h2,.approach h2,.roadmap-wrap h2,.faq h2{
  font-weight:770;letter-spacing:-.071em;
}
.section-kicker,.eyebrow{color:var(--violet)}
.section-intro>p,.studio-intro>p{font-size:14px}
#platform.section{padding-top:100px}
/* Product showcase: featured cards + 4 distinct satellites */
.studios-section{
  position:relative;
  isolation:isolate;overflow:hidden;
  border-block:0;padding:116px 0 124px;
  background:
    radial-gradient(ellipse 60% 36% at 76% 0%,rgba(111,34,203,.19),transparent 96%),
    radial-gradient(ellipse 35% 36% at 0 85%,rgba(170,61,198,.12),transparent 96%),
    var(--surface-soft);
}
.studios-section::before{
  content:"";position:absolute;pointer-events:none;inset:0;z-index:-1;opacity:.38;
  background-image:radial-gradient(rgba(188,137,236,.28) .7px,transparent .7px);
  background-size:22px 22px;
  mask-image:linear-gradient(100deg,transparent,#000 60%,transparent 100%);
}
.studio-intro{margin-bottom:48px}
.studio-intro h2{font-size:clamp(50px,5.7vw,84px);line-height:1.02}
.studios-grid-violet{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.studio-card{
  grid-column:span 3;
  min-height:400px;
  border:1px solid rgba(149,105,194,.26);
  border-radius:24px;
  background:linear-gradient(154deg,#171024 0%,#100d1d 70%,#120c21 100%);
  padding:28px;
  isolation:isolate;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.studio-card::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:0;opacity:0;border-radius:inherit;
  background:radial-gradient(ellipse 95% 70% at 80% 0%,rgba(158,74,245,.20),transparent 90%);
  transition:opacity .25s ease;
}
.studio-card:hover{
  transform:translateY(-7px);border-color:rgba(195,130,255,.62);
  box-shadow:0 25px 75px rgba(23,7,54,.38),0 0 40px rgba(118,40,229,.13);
}
.studio-card:hover::before{opacity:1}
.studio-card--qr,.studio-card--short{grid-column:span 6;min-height:475px}
.studio-card--qr{
  background:
    radial-gradient(ellipse 55% 70% at 87% 28%,rgba(164,58,252,.35),transparent 90%),
    linear-gradient(145deg,#251038 0%,#1c0e34 43%,#110b1f 100%);
  border-color:rgba(182,101,255,.55);
  box-shadow:inset 0 1px 0 rgba(246,194,255,.10);
}
.studio-card--short{
  background:
    radial-gradient(ellipse 66% 78% at 93% 2%,rgba(215,64,192,.25),transparent 87%),
    linear-gradient(140deg,#28112f,#151024 70%,#120b1e 100%);
  border-color:rgba(175,99,208,.39);
}
.studio-index{color:#baa0d0;font-size:10px;font-weight:750}
.studio-status{color:#a99bbc;border-color:rgba(166,112,218,.29)}
.studio-status-active{color:#f1d6ff;border-color:rgba(211,146,255,.55);background:rgba(163,76,245,.11)}
.studio-symbol{
  width:78px;height:78px;margin:33px 0 25px;
  font-size:48px;color:#d6afff;
  border:1px solid rgba(208,151,255,.33);border-radius:22px;
  background:radial-gradient(circle at 25% 13%,rgba(177,92,255,.31),rgba(85,40,130,.13) 70%);
  box-shadow:0 10px 35px rgba(98,41,193,.12),inset 0 1px 0 rgba(241,189,255,.15);
}
.studio-card--qr .studio-symbol,.studio-card--short .studio-symbol{
  width:112px;height:112px;
  font-size:72px;border-radius:28px;
  margin:50px 0 30px;color:#f3d9ff;
  transform:rotate(-8deg);
  background:linear-gradient(139deg,#9f4df1,#571d9b 72%,#321352);
  box-shadow:0 20px 54px rgba(137,40,221,.32),inset 0 1px 0 rgba(255,255,255,.32);
}
.studio-card--short .studio-symbol{
  transform:rotate(8deg);
  background:linear-gradient(139deg,#ca54e6,#7824b1 60%,#39174c);
}
.studio-card h3{color:#f9f3ff;font-size:27px;letter-spacing:-.055em}
.studio-card--qr h3,.studio-card--short h3{font-size:36px}
.studio-title-point{color:#cb79ff}
.studio-card>p{color:#bcadd0;font-size:12px;min-height:0}
.studio-tags span{color:#bca8d2;border-color:rgba(171,112,228,.25);background:rgba(159,87,234,.06)}
.studio-card-link{color:#f6dfff;border-color:rgba(194,130,255,.25);font-size:13px}
.studio-card-link:hover{color:#d591ff}
.studio-card-upcoming{color:#9e90b1;border-color:rgba(176,110,216,.16)}
/* Public QR tool, as a designed product demo rather than generic form */
.home-qr-lab{
  position:relative;margin-top:34px;
  background:
    radial-gradient(ellipse 58% 95% at 100% 20%,rgba(121,45,222,.29),transparent 82%),
    linear-gradient(125deg,#1b1031,#0c0a19 85%);
  border:1px solid rgba(192,123,255,.40);
  border-radius:28px;
  padding:clamp(28px,4.3vw,58px);
  box-shadow:0 28px 100px rgba(13,5,37,.38),inset 0 1px 0 rgba(255,255,255,.05);
  gap:70px;overflow:hidden;
}
.home-qr-lab::before{
  content:"";pointer-events:none;position:absolute;
  right:-130px;top:-180px;width:520px;height:520px;
  border:1px solid rgba(201,130,255,.16);border-radius:50%;
  box-shadow:0 0 0 55px rgba(158,70,234,.025),0 0 0 110px rgba(158,70,234,.022);
}
.home-qr-copy,.home-qr-preview{position:relative;z-index:1}
.home-qr-copy h3{color:#fff;font-size:clamp(32px,3.6vw,51px);font-weight:765;letter-spacing:-.075em}
.home-qr-copy>p{color:#c2b4d7;font-size:13px}
.home-qr-label{color:#f8e7ff;font-size:12px}
.home-qr-copy textarea{
  min-height:95px;
  background:rgba(11,7,26,.75);color:#f7edff;
  border:1px solid rgba(196,131,246,.36);border-radius:13px;
}
.home-qr-copy textarea:focus{border-color:#c684ff;outline-color:#cf94ff}
.home-qr-preview canvas{
  border:19px solid #fff;border-radius:18px;
  box-shadow:0 26px 90px rgba(153,63,237,.25),0 0 75px rgba(162,83,255,.27);
}
.home-qr-preview>span{color:#d6bce9}
.home-qr-download{border-radius:11px}
.home-qr-full{border-color:rgba(186,112,252,.35);background:rgba(190,111,255,.08);color:#f6e5ff;border-radius:11px}
.home-qr-full:hover{border-color:#bc7fff}
.studio-bottom-bar{
  margin-top:20px;border:1px solid rgba(170,109,231,.20);border-radius:18px;
  background:rgba(35,20,54,.55);
}
.studio-bottom-cta{border-radius:12px}
/* Product UI concept: premium surface without pretending it is live */
.preview-shell{
  border:1px solid rgba(156,90,220,.38);
  border-radius:23px;overflow:hidden;
  background:linear-gradient(145deg,var(--surface-raised),var(--surface));
  box-shadow:0 35px 115px rgba(15,5,40,.32),0 0 95px rgba(117,40,210,.12);
}
.preview-titlebar{background:linear-gradient(110deg,var(--surface-raised),rgba(132,55,220,.13))}
.preview-sidebar{background:rgba(24,12,43,.22)}
.preview-tab.is-active{border-color:rgba(184,103,255,.36);background:rgba(135,52,212,.15);color:var(--ink)}
.preview-panel .preview-card.featured{
  border-color:rgba(171,106,237,.55);
  background:linear-gradient(128deg,rgba(118,47,190,.21),var(--surface-raised));
}
.preview-pill,.mock-status{border-color:var(--stroke-strong)}
.features-section{
  background:linear-gradient(155deg,var(--surface-soft),var(--surface) 48%,var(--surface-soft));
}
.feature{border-top-color:rgba(180,108,245,.42)}
.feature-symbol{color:var(--violet);text-shadow:0 0 32px rgba(173,83,246,.22)}
.feature-line{background:var(--violet)}
.approach-visual{
  border-color:rgba(176,100,235,.37);
  background:radial-gradient(circle at 50% 42%,rgba(140,62,234,.20),transparent 74%),var(--surface);
  box-shadow:0 20px 75px rgba(21,6,49,.15);
}
.node-icon{background:linear-gradient(145deg,#7633c5,#b05bec);color:#fff}
.roadmap-section{
  background:radial-gradient(ellipse 65% 100% at 0 60%,rgba(104,38,175,.10),transparent 88%),var(--surface-soft);
}
.roadmap-state.current{color:var(--violet);border-color:var(--violet)}
.faq-items details[open] summary{color:var(--violet)}
.closing-section{
  border:1px solid rgba(200,131,255,.44);
  border-radius:30px;overflow:hidden;
  background:
    radial-gradient(ellipse 65% 110% at 87% 50%,rgba(157,59,227,.38),transparent 75%),
    linear-gradient(123deg,#190e31 0%,#2b1550 65%,#3a175e 100%);
  box-shadow:0 32px 100px rgba(43,11,85,.25),inset 0 1px 0 rgba(255,255,255,.08);
}
.closing-section .eyebrow,.closing-section h2,.closing-section p{color:#f6edff}
.closing-section h2 span{color:#d294ff}
.closing-orbit{border-color:rgba(212,150,250,.35);box-shadow:0 0 0 60px rgba(185,86,255,.028),0 0 0 61px rgba(210,143,255,.15)}
.site-footer{border-color:var(--stroke)}
/* Light-mode parity — rich violet but legible and readable */
:root[data-design="obsidian-violet"][data-theme="light"] body{
  background:radial-gradient(ellipse at 77% 0%,rgba(147,77,228,.13),transparent 48%),var(--page);
}
:root[data-design="obsidian-violet"][data-theme="light"] .hero::before{
  background:radial-gradient(ellipse at 75% 40%,rgba(174,104,238,.23),transparent 65%),
    linear-gradient(145deg,#f9f5ff,#f0e5fb 57%,#e7d6fa);
}
:root[data-design="obsidian-violet"][data-theme="light"] .hero::after{opacity:.16}
:root[data-design="obsidian-violet"][data-theme="light"] .hero .hero-eyebrow,
:root[data-design="obsidian-violet"][data-theme="light"] .hero-lead,
:root[data-design="obsidian-violet"][data-theme="light"] .hero-footnote{color:#615073}
:root[data-design="obsidian-violet"][data-theme="light"] .hero h1{color:#1d122d}
:root[data-design="obsidian-violet"][data-theme="light"] .hero-lead em,
:root[data-design="obsidian-violet"][data-theme="light"] .hero-footnote strong{color:#392149}
:root[data-design="obsidian-violet"][data-theme="light"] .hero-edition{color:#6f3f93;background:rgba(152,86,209,.09);border-color:rgba(144,71,206,.24)}
:root[data-design="obsidian-violet"][data-theme="light"] .hero-art-coordinate{color:#765197}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card{
  background:linear-gradient(145deg,#fff,#f5effd);
  border-color:#d4b5ed;
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card--qr{
  background:radial-gradient(ellipse at 90% 10%,rgba(169,85,255,.22),transparent 75%),linear-gradient(120deg,#fff,#f1e3ff);
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card--short{
  background:radial-gradient(ellipse at 90% 10%,rgba(211,82,197,.18),transparent 75%),linear-gradient(120deg,#fff,#f6e7fb);
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card h3{color:#2c143f}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card>p,
:root[data-design="obsidian-violet"][data-theme="light"] .studio-index{color:#63516c}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-status{color:#6c587d;border-color:#bda7d0}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-status-active{color:#7137ad;background:#f0e0ff;border-color:#ad7cdf}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-tags span{color:#6a5777;border-color:#d8c4e8}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card-link{color:#6631a3}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-symbol:not(.studio-symbol-qr){color:#8744bd}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card--qr .studio-symbol,
:root[data-design="obsidian-violet"][data-theme="light"] .studio-card--short .studio-symbol{color:#f9eaff}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-bottom-bar{background:#f8f0ff}
:root[data-design="obsidian-violet"][data-theme="light"] .preview-sidebar{background:rgba(119,52,188,.05)}
/* Responsive detail */
@media(max-width:1170px){
  .hero{min-height:720px}
  .hero h1{font-size:clamp(56px,7.8vw,99px)}
  .hero-art{transform:scale(.87);transform-origin:center right}
  .hero-glass-top{right:8px}
  .hero-glass-bottom{left:7px}
}
@media(max-width:970px){
  :root[data-design="obsidian-violet"] .container{width:min(100% - 48px,1310px)}
  .hero{gap:0;min-height:640px;grid-template-columns:1.06fr .94fr;padding-top:55px}
  .hero h1{font-size:clamp(52px,7.8vw,76px)}
  .hero-art{transform:scale(.76);transform-origin:center}
  .hero-edition{margin-top:35px}
  .hero-glass-card{width:190px}
  .studio-card{grid-column:span 6}
}
@media(max-width:850px){
  .site-header,.site-header.scrolled{background:rgba(10,6,22,.96)}
  :root[data-design="obsidian-violet"][data-theme="light"] .site-header{background:rgba(250,246,254,.96)}
  .js .navigation.is-open{background:var(--surface);border-color:var(--stroke)}
  .hero{grid-template-columns:1fr;display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:5px;padding-top:65px;padding-bottom:70px}
  .hero-copy{padding:0}
  .hero h1{font-size:clamp(65px,10.5vw,96px);max-width:760px}
  .hero-edition{margin-top:33px}
  .hero-art{height:425px;transform:scale(.83);width:100%;margin:0 auto;transform-origin:center}
  .hero-art .orbit-three{width:570px}
  .studio-card--qr,.studio-card--short{min-height:415px}
  .home-qr-lab{gap:38px}
}
@media(max-width:640px){
  :root[data-design="obsidian-violet"] .container{width:calc(100% - 36px)}
  .site-header .header-inner{height:73px}
  .hero{padding-top:56px;padding-bottom:55px}
  .hero .hero-eyebrow{font-size:9px;gap:8px;letter-spacing:.10em}
  .hero .eyebrow-line{width:12px}
  .hero-edition{font-size:9px;padding:8px 11px;margin-top:25px;letter-spacing:.13em}
  .hero h1{font-size:clamp(48px,12.5vw,78px);margin:25px 0}
  .hero-lead{font-size:14px;line-height:1.8}
  .hero-buttons{gap:12px;margin-top:27px}
  .hero-buttons .btn{width:100%;justify-content:space-between}
  .hero-footnote{gap:8px;margin-top:25px;line-height:1.8}
  .hero-art{height:360px;transform:scale(.70);width:calc(100% + 60px);left:-30px;transform-origin:center}
  .hero-glass-top{top:65px;right:0}
  .hero-glass-bottom{bottom:70px;left:0}
  .hero .art-core{width:213px;height:213px;border-radius:43px}
  .hero .art-core svg{width:142px;height:142px}
  .hero-art-coordinate-bottom{right:30px}
  .violet-marquee-track{padding:16px 0;font-size:10px;gap:26px}
  .studios-section{padding:76px 0 85px}
  .studio-intro h2{font-size:clamp(42px,10vw,65px)}
  .studio-card,.studio-card--qr,.studio-card--short{grid-column:span 12;min-height:0;padding:25px;border-radius:20px}
  .studio-card--qr,.studio-card--short{min-height:420px}
  .studio-card--qr .studio-symbol,.studio-card--short .studio-symbol{width:92px;height:92px;font-size:58px;margin:35px 0 22px}
  .studio-symbol{width:62px;height:62px;font-size:38px;margin:24px 0 18px}
  .studio-card h3{font-size:27px}
  .studio-card--qr h3,.studio-card--short h3{font-size:31px}
  .studio-tags{padding-bottom:16px}
  .home-qr-lab{border-radius:20px;padding:28px 22px;gap:26px;margin-top:20px}
  .home-qr-copy h3{font-size:clamp(31px,7vw,42px)}
  .home-qr-preview canvas{max-width:260px}
  .studio-bottom-bar{border-radius:16px}
  .closing-section{border-radius:20px}
}
@media(max-width:380px){
  .hero h1{font-size:48px}
  .hero-art{transform:scale(.58);height:310px}
  .hero .hero-eyebrow{font-size:8px}
  .studio-card{padding:21px}
}
@media(prefers-reduced-motion:reduce){
  .violet-marquee-track,.hero .art-core,.hero-aura{animation:none!important}
  .studio-card,.btn,.header-cta,.home-qr-download{transition:none!important}
  .studio-card:hover,.btn-primary:hover,.header-cta:hover{transform:none!important}
}


/* OBSIDIAN VIOLET V1.1 — layout and readability refinements
   Screenshot-driven fixes for ultrawide spacing, legibility and horizontal clipping.
   Kept in the same stylesheet so the public site loads only two CSS files.
*/
:root[data-design="obsidian-violet"]{
  --logo-line:#381557;
  --violet-readable:#dab6ff;
}
:root[data-design="obsidian-violet"] body{
  overflow-x:clip;
}
:root[data-design="obsidian-violet"] .container{
  width:min(1680px,calc(100% - clamp(40px,7vw,160px)));
}
:root[data-design="obsidian-violet"] .site-header .header-inner{
  height:86px;
  gap:clamp(16px,2.4vw,40px);
}
:root[data-design="obsidian-violet"] .brand{
  font-size:clamp(25px,1.6vw,30px);
  gap:13px;
}
:root[data-design="obsidian-violet"] .brand-mark{
  width:44px;height:44px;
}
:root[data-design="obsidian-violet"] .navigation{
  gap:clamp(16px,1.85vw,34px);
  font-size:clamp(13px,.86vw,15px);
}
:root[data-design="obsidian-violet"] .header-cta{
  min-height:45px;
  padding:13px 21px;
  font-size:13px;
}
:root[data-design="obsidian-violet"] .hero{
  min-height:690px;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(32px,4vw,80px);
  padding-top:55px;
  padding-bottom:55px;
}
:root[data-design="obsidian-violet"] .hero-copy{
  padding:20px 0;
}
:root[data-design="obsidian-violet"] .hero .hero-eyebrow{
  font-size:clamp(10px,.73vw,12px);
  letter-spacing:.13em;
  color:#d6b8f2;
}
:root[data-design="obsidian-violet"] .hero .eyebrow-line{
  width:32px;
}
:root[data-design="obsidian-violet"] .hero-edition{
  margin-top:34px;
  padding:11px 16px;
  font-size:11px;
  letter-spacing:.12em;
}
:root[data-design="obsidian-violet"] .hero h1{
  font-size:clamp(66px,7.1vw,136px);
  line-height:.99;
  margin:27px 0 28px;
  letter-spacing:-.088em;
  text-wrap:balance;
}
:root[data-design="obsidian-violet"] .hero-lead{
  font-size:clamp(16px,1vw,19px);
  line-height:1.75;
  max-width:610px;
  color:#d1c3e4;
}
:root[data-design="obsidian-violet"] .hero-buttons{
  margin-top:32px;
  gap:18px;
}
:root[data-design="obsidian-violet"] .hero-buttons .btn{
  min-height:54px;
  font-size:14px;
}
:root[data-design="obsidian-violet"] .hero-footnote{
  margin-top:36px;
  font-size:12px;
  line-height:1.5;
}
:root[data-design="obsidian-violet"] .hero-art{
  height:570px;
  width:100%;
  transform:none;
  min-width:0;
  margin:0;
  overflow:visible;
}
:root[data-design="obsidian-violet"] .hero .art-core{
  width:clamp(225px,15vw,285px);
  height:clamp(225px,15vw,285px);
}
:root[data-design="obsidian-violet"] .hero-glass-card{
  width:clamp(205px,13.5vw,270px);
  padding:20px 23px;
  gap:9px;
  border-radius:18px;
}
:root[data-design="obsidian-violet"] .hero-glass-card strong{
  font-size:clamp(18px,1.3vw,24px);
}
:root[data-design="obsidian-violet"] .hero-glass-card span{
  font-size:10px;
}
:root[data-design="obsidian-violet"] .hero-glass-card small{
  font-size:10px;
  line-height:1.4;
}
:root[data-design="obsidian-violet"] .hero-glass-top{
  top:89px;right:9px;transform:rotate(3deg);
}
:root[data-design="obsidian-violet"] .hero-glass-bottom{
  left:3px;bottom:83px;transform:rotate(-4deg);
}
:root[data-design="obsidian-violet"] .hero-art-coordinate{
  font-size:10px;
  letter-spacing:.10em;
  color:#d7b1f4;
}
:root[data-design="obsidian-violet"] .hero-art-coordinate-top{
  top:20px;left:30px;
}
:root[data-design="obsidian-violet"] .hero-art-coordinate-bottom{
  right:22px;bottom:21px;
}
:root[data-design="obsidian-violet"] .hero .art-core::after{
  pointer-events:none;
}
:root[data-design="obsidian-violet"] .hero-art-grid{
  inset:38px 0;
}
/* Four complete steps: prevent the scrolling ticker from cutting off letters
   during snapshot or at reduced frame rates. */
:root[data-design="obsidian-violet"] .violet-marquee{
  background:linear-gradient(93deg,#240f3e,#6424a4 53%,#3d155e);
  box-shadow:0 10px 35px rgba(75,17,130,.18);
}
:root[data-design="obsidian-violet"] .violet-marquee-track{
  animation:none;
  width:min(1680px,calc(100% - 80px));
  margin-inline:auto;
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(15px,3vw,60px);
  white-space:nowrap;
  font-size:clamp(11px,.82vw,14px);
  letter-spacing:.19em;
  overflow:hidden;
}
:root[data-design="obsidian-violet"] .violet-marquee-track i{
  flex:0 0 auto;
  font-size:17px;
}
:root[data-design="obsidian-violet"] .studio-intro{
  align-items:center;
  gap:clamp(35px,4vw,90px);
}
:root[data-design="obsidian-violet"] .studio-intro h2{
  font-size:clamp(56px,5vw,82px);
  line-height:1.07;
}
.studio-intro-side{
  width:min(100%,380px);
  flex:0 0 380px;
  display:grid;
  gap:14px;
  justify-items:start;
}
.studio-progress{
  display:flex;
  align-items:baseline;
  gap:17px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(208,151,255,.32);
  color:#f7e8ff;
  width:100%;
}
.studio-progress strong{
  font-size:clamp(35px,3vw,52px);
  font-weight:770;
  letter-spacing:-.075em;
  line-height:1;
}
.studio-progress strong span{
  color:#ad77dd;
  font-size:clamp(21px,1.7vw,29px);
}
.studio-progress small{
  color:#ccb1e2;
  font-size:11px;
  font-weight:720;
  letter-spacing:.12em;
  line-height:1.5;
}
.studio-intro-side p{
  margin:0;
  font-size:clamp(13px,.86vw,15px);
  line-height:1.75;
  color:#c9b8da;
}
:root[data-design="obsidian-violet"] .studios-section{
  padding:100px 0 105px;
}
:root[data-design="obsidian-violet"] .studios-grid-violet{
  gap:20px;
}
:root[data-design="obsidian-violet"] .studio-card{
  padding:clamp(24px,2vw,36px);
}
:root[data-design="obsidian-violet"] .studio-card--qr,
:root[data-design="obsidian-violet"] .studio-card--short{
  min-height:440px;
}
:root[data-design="obsidian-violet"] .studio-card h3{
  font-size:clamp(24px,1.7vw,31px);
}
:root[data-design="obsidian-violet"] .studio-card--qr h3,
:root[data-design="obsidian-violet"] .studio-card--short h3{
  font-size:clamp(34px,2.4vw,43px);
}
:root[data-design="obsidian-violet"] .studio-card>p{
  font-size:clamp(13px,.9vw,15px);
  line-height:1.7;
  max-width:560px;
}
:root[data-design="obsidian-violet"] .studio-card--qr .studio-symbol,
:root[data-design="obsidian-violet"] .studio-card--short .studio-symbol{
  width:105px;height:105px;
  margin:33px 0 22px;
}
.studio-feature-icon{
  width:67%;
  height:67%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 2px 14px rgba(246,212,255,.35));
}
:root[data-design="obsidian-violet"] .studio-symbol:not(:has(svg)){
  font-family:system-ui,sans-serif;
}
:root[data-design="obsidian-violet"] .studio-card-link{
  min-height:45px;
  font-size:14px;
}
:root[data-design="obsidian-violet"] .studio-card-upcoming{
  font-size:11px;
}
:root[data-design="obsidian-violet"] .studio-status{
  font-size:10px;
  letter-spacing:.05em;
}
:root[data-design="obsidian-violet"] .studio-index{
  font-size:11px;
}
:root[data-design="obsidian-violet"] .studio-tags span{
  font-size:10px;
  padding:7px 9px;
}
:root[data-design="obsidian-violet"] .section-intro>p,
:root[data-design="obsidian-violet"] .preview-heading p,
:root[data-design="obsidian-violet"] .feature p{
  font-size:14px;
}
:root[data-design="obsidian-violet"] .home-qr-copy>p{
  font-size:15px;
}
:root[data-design="obsidian-violet"] .home-qr-copy textarea{
  font-size:15px;
}
:root[data-design="obsidian-violet"] .home-qr-download,
:root[data-design="obsidian-violet"] .home-qr-full{
  min-height:48px;
  font-size:13px;
}
:root[data-design="obsidian-violet"] .home-qr-preview>span{
  font-size:11px;
}
:root[data-design="obsidian-violet"] .studio-bottom-bar p{
  font-size:14px;
}
:root[data-design="obsidian-violet"] .preview-card strong{
  font-size:14px;
}
:root[data-design="obsidian-violet"] .preview-card small,
:root[data-design="obsidian-violet"] .preview-breadcrumb{
  font-size:12px;
}
:root[data-design="obsidian-violet"] .faq-items details p{
  font-size:14px;
}
:root[data-design="obsidian-violet"] .site-footer{
  min-height:165px;
}
:root[data-design="obsidian-violet"] .footer-links{
  font-size:13px;
}
/* Light theme: keep all new copy legible, not lavender-on-white. */
:root[data-design="obsidian-violet"][data-theme="light"] .hero .hero-eyebrow{
  color:#573b78;
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-intro-side p{
  color:#604975;
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-progress{
  color:#4b226e;
  border-color:#c6a7e0;
}
:root[data-design="obsidian-violet"][data-theme="light"] .studio-progress strong span,
:root[data-design="obsidian-violet"][data-theme="light"] .studio-progress small{
  color:#694187;
}
@media(min-width:1900px){
  :root[data-design="obsidian-violet"] .container{
    width:min(1780px,calc(100% - 120px));
  }
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:clamp(112px,6.3vw,148px);
  }
}
@media(max-width:1250px){
  :root[data-design="obsidian-violet"] .container{
    width:calc(100% - 68px);
  }
  :root[data-design="obsidian-violet"] .hero{
    gap:18px;
    min-height:625px;
  }
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:clamp(58px,6.9vw,96px);
  }
  :root[data-design="obsidian-violet"] .hero-art{
    height:520px;
    transform:scale(.90);
  }
  .studio-intro-side{flex-basis:300px;}
}
@media(max-width:990px){
  :root[data-design="obsidian-violet"] .site-header .header-inner{
    gap:16px;
  }
  :root[data-design="obsidian-violet"] .navigation{
    gap:12px;
    font-size:12px;
  }
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:clamp(54px,6.7vw,77px);
  }
  :root[data-design="obsidian-violet"] .hero-art{
    transform:scale(.79);
    transform-origin:center;
  }
  :root[data-design="obsidian-violet"] .hero-glass-card{
    width:190px;
  }
  :root[data-design="obsidian-violet"] .studio-intro{
    align-items:start;
  }
}
@media(max-width:850px){
  :root[data-design="obsidian-violet"] .container{
    width:calc(100% - 48px);
  }
  :root[data-design="obsidian-violet"] .hero{
    min-height:0;
    padding-top:56px;
    padding-bottom:50px;
    gap:18px;
  }
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:clamp(65px,10vw,95px);
  }
  :root[data-design="obsidian-violet"] .hero-art{
    height:425px;
    width:min(100%,620px);
    align-self:center;
    transform:scale(.86);
  }
  :root[data-design="obsidian-violet"] .studio-intro{
    flex-direction:column;
    align-items:stretch;
    gap:25px;
  }
  .studio-intro-side{
    flex:0 0 auto;
    width:100%;
    max-width:100%;
    grid-template-columns:200px 1fr;
    align-items:center;
    gap:20px;
  }
  :root[data-design="obsidian-violet"] .studios-grid-violet{
    gap:14px;
  }
  :root[data-design="obsidian-violet"] .studio-card{
    grid-column:span 6;
  }
}
@media(max-width:640px){
  :root[data-design="obsidian-violet"] .container{
    width:calc(100% - 36px);
  }
  :root[data-design="obsidian-violet"] .site-header .header-inner{
    height:70px;
  }
  :root[data-design="obsidian-violet"] .brand{
    font-size:23px;
  }
  :root[data-design="obsidian-violet"] .brand-mark{
    width:35px;height:35px;
  }
  :root[data-design="obsidian-violet"] .hero{
    padding-top:42px;padding-bottom:35px;
  }
  :root[data-design="obsidian-violet"] .hero .hero-eyebrow{
    font-size:10px;
    white-space:normal;
    flex-wrap:wrap;
  }
  :root[data-design="obsidian-violet"] .hero .hero-eyebrow .eyebrow-line{
    display:none;
  }
  :root[data-design="obsidian-violet"] .hero-edition{
    margin-top:24px;
    font-size:10px;
  }
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:clamp(49px,11.7vw,72px);
    letter-spacing:-.076em;
    margin:22px 0;
  }
  :root[data-design="obsidian-violet"] .hero-lead{
    font-size:15px;
  }
  :root[data-design="obsidian-violet"] .hero-buttons{
    flex-wrap:wrap;
    gap:9px;
  }
  :root[data-design="obsidian-violet"] .hero-buttons .btn{
    width:100%;
    min-height:50px;
  }
  :root[data-design="obsidian-violet"] .hero-footnote{
    font-size:11px;
    margin-top:25px;
  }
  :root[data-design="obsidian-violet"] .hero-art{
    height:335px;
    width:calc(100% + 38px);
    align-self:center;
    transform:scale(.71);
    transform-origin:center;
  }
  :root[data-design="obsidian-violet"] .hero-glass-card{
    width:190px;
    padding:15px;
  }
  :root[data-design="obsidian-violet"] .hero-glass-top{
    right:0;top:62px;
  }
  :root[data-design="obsidian-violet"] .hero-glass-bottom{
    left:0;bottom:60px;
  }
  :root[data-design="obsidian-violet"] .violet-marquee-track{
    width:calc(100% - 36px);
    padding:16px 0;
    gap:11px;
    font-size:11px;
    letter-spacing:.12em;
    justify-content:space-around;
  }
  :root[data-design="obsidian-violet"] .violet-marquee-track span:nth-of-type(n+3),
  :root[data-design="obsidian-violet"] .violet-marquee-track i:nth-of-type(n+2){
    display:none;
  }
  .studio-intro-side{
    grid-template-columns:1fr;
    gap:10px;
  }
  .studio-progress strong{
    font-size:38px;
  }
  :root[data-design="obsidian-violet"] .studio-intro h2{
    font-size:clamp(42px,9.8vw,63px);
  }
  :root[data-design="obsidian-violet"] .studio-card{
    grid-column:span 12;
    min-height:0;
  }
  :root[data-design="obsidian-violet"] .studio-card--qr,
  :root[data-design="obsidian-violet"] .studio-card--short{
    min-height:405px;
  }
  :root[data-design="obsidian-violet"] .studio-card--qr .studio-symbol,
  :root[data-design="obsidian-violet"] .studio-card--short .studio-symbol{
    width:90px;height:90px;
  }
  :root[data-design="obsidian-violet"] .home-qr-copy>p{
    font-size:14px;
  }
}
@media(max-width:380px){
  :root[data-design="obsidian-violet"] .hero h1{
    font-size:46px;
  }
  :root[data-design="obsidian-violet"] .hero-art{
    transform:scale(.58);
    height:300px;
  }
  :root[data-design="obsidian-violet"] .hero-glass-card{
    width:185px;
  }
}
