/* tixora.ai public website
   Palette: ink #14173a, paper #f5f4fb, violet #6a4df4, teal #12b5a6, sun #ffc857, line #dcdcef
   Type: Bricolage Grotesque (display), Instrument Sans (text) */
:root{--ink:#14173a;--ink2:#23246a;--paper:#f5f4fb;--white:#fff;--violet:#6a4df4;--teal:#12b5a6;--sun:#ffc857;
  --line:#dcdcef;--text:#2a2d4a;--soft:#5d6187;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Instrument Sans","Segoe UI",system-ui,sans-serif;--wrap:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 var(--body);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.08;margin:0;font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(40px,6.2vw,76px);font-stretch:88%}
h2{font-size:clamp(30px,3.8vw,46px);font-stretch:92%}
h3{font-size:22px;line-height:1.2;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:66ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:var(--sun);color:var(--ink);padding:10px 14px;z-index:99}.skip:focus{left:10px;top:10px}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(245,244,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font:700 23px/1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:var(--text);text-decoration:none;font-weight:500;font-size:16px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--violet)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.nav .btn{color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:9px 13px;font:600 15px var(--body);color:var(--ink);cursor:pointer}

/* buttons */
.btn{display:inline-block;background:var(--violet);color:#fff;text-decoration:none;font:600 16px/1 var(--body);padding:15px 22px;border-radius:12px;border:0;cursor:pointer}
.btn:hover{background:#5638e0}
.btn.sun{background:var(--sun);color:var(--ink)}.btn.sun:hover{background:#ffd47a}
.btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}.btn.line:hover{background:rgba(255,255,255,.1)}
.btn.small{padding:11px 16px;font-size:15px;border-radius:10px}
.btn.quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.quiet:hover{background:var(--ink);color:#fff}

/* hero */
.hero{background:var(--ink);color:#d9dbf5;overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 480px at 88% 8%,rgba(18,181,166,.34),transparent 62%),radial-gradient(620px 520px at 4% 100%,rgba(106,77,244,.5),transparent 60%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:54px;align-items:center;padding-top:84px;padding-bottom:0}
.hero h1{color:#fff}
.hero .lede{font-size:20px;line-height:1.55;margin:26px 0 32px;max-width:33em;color:#d9dbf5}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-copy{padding-bottom:96px}
.hero-note{margin-top:26px;font-size:15px;color:#a9acd6}
.hero-note a{color:#fff}

/* product mock (hero) */
.mock{background:#fff;border-radius:18px 18px 0 0;box-shadow:0 40px 90px rgba(5,6,30,.55);color:var(--text);font-size:14px;align-self:end;overflow:hidden;transform:translateY(1px)}
.mock-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#ecebf7;border-bottom:1px solid var(--line)}
.mock-bar i{width:10px;height:10px;border-radius:50%;background:#c9c8e2}
.mock-bar span{margin-left:10px;font-size:12.5px;color:var(--soft)}
.mock-body{display:grid;grid-template-columns:150px 1fr;min-height:372px}
.mock-side{background:var(--ink);color:#b9bce4;padding:16px 12px;font-size:13px}
.mock-side b{display:block;color:#fff;font:700 15px var(--display);margin:0 6px 14px}
.mock-side span{display:block;padding:8px 10px;border-radius:8px;margin-bottom:3px}
.mock-side .on{background:rgba(255,255,255,.12);color:#fff}
.mock-main{padding:20px 22px}
.mock-main h4{font:700 18px/1.2 var(--display);color:var(--ink);margin:0 0 3px}
.mock-main small{color:var(--soft)}
.draft{margin:16px 0 14px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--paper)}
.draft .who{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);margin-bottom:10px}
.draft .who img{width:20px;height:20px}
.draft .l{height:9px;border-radius:5px;background:#cfcfe9;margin:9px 0;transform-origin:left;animation:write .7s cubic-bezier(.2,.7,.2,1) both}
.draft .l:nth-child(2){width:94%;animation-delay:.5s}.draft .l:nth-child(3){width:86%;animation-delay:.95s}
.draft .l:nth-child(4){width:91%;animation-delay:1.4s}.draft .l:nth-child(5){width:58%;animation-delay:1.85s}
@keyframes write{from{transform:scaleX(0);opacity:.3}to{transform:scaleX(1);opacity:1}}
.review{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;font-weight:600;font-size:12.5px;background:#fff3d6;color:#7a5200}
.chip.ok{background:#d8f5f0;color:#0a6b61;animation:pop .5s 2.9s both}
@keyframes pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.mock-btn{background:var(--violet);color:#fff;font-weight:600;padding:9px 15px;border-radius:9px;font-size:13px}
.mock-foot{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:flex;gap:18px;color:var(--soft);font-size:12.5px;flex-wrap:wrap}
.mock-foot b{color:var(--ink)}

/* sections */
.band{padding:104px 0}
.band.tight{padding:72px 0}
.band.white{background:#fff}
.band.ink{background:var(--ink);color:#d9dbf5}.band.ink h2,.band.ink h3{color:#fff}
.intro{max-width:760px;margin-bottom:54px}
.intro p{font-size:19px;color:var(--soft);margin-top:18px}
.band.ink .intro p{color:#b9bce4}

/* folder: tabs on a real folder shape */
.folder{display:grid;grid-template-columns:300px 1fr;border:1.5px solid var(--ink);border-radius:0 22px 22px 22px;background:#fff;position:relative;margin-top:42px}
.folder::before{content:attr(data-label);position:absolute;left:-1.5px;top:-41px;height:41px;padding:0 22px;display:flex;align-items:center;background:var(--ink);color:#fff;font:600 15px var(--display);border-radius:14px 14px 0 0}
.folder ul{list-style:none;margin:0;padding:22px;border-right:1.5px solid var(--ink);background:var(--paper);border-radius:0 0 0 20px}
.folder li{padding:13px 16px;border-radius:10px;font-weight:600;color:var(--ink)}
.folder li.on{background:var(--ink);color:#fff}
.folder dl{margin:0;padding:30px 36px;display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.folder dt{font:700 19px/1.2 var(--display);color:var(--ink);margin-bottom:6px}
.folder dd{margin:0;color:var(--soft);font-size:16px}

/* flow: a real sequence, so it is numbered */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:s;position:relative}
.flow::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;background:linear-gradient(90deg,var(--violet),var(--teal))}
.flow li{counter-increment:s;padding-right:26px;position:relative}
.flow li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--ink);border:2px solid var(--teal);color:#fff;font:700 18px var(--display);margin-bottom:22px;position:relative}
.flow li.human::before{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.flow h3{font-size:20px;margin-bottom:8px}
.flow p{font-size:15.5px;color:#b9bce4;margin:0}

/* module rows */
.row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0;padding-top:0}
.row.flip .pic{order:-1}
.row h3{font-size:32px;font-stretch:92%;margin-bottom:14px}
.row ul{padding:0;margin:20px 0 0;list-style:none}
.row li{padding:10px 0 10px 30px;position:relative;border-top:1px solid var(--line);font-size:16px}
.row li::before{content:"";position:absolute;left:2px;top:19px;width:14px;height:8px;border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);transform-origin:left bottom}
.tag{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:99px;background:#fff3d6;color:#7a5200;margin-left:8px;vertical-align:middle;font-family:var(--body);letter-spacing:0}
.pic{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.band.white .pic{background:var(--paper)}

/* small illustrations made of real interface parts */
.score{display:flex;align-items:center;gap:26px}
.dial{width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--teal) 0 78%,#dedff0 78% 100%);display:flex;align-items:center;justify-content:center;flex:none}
.dial b{width:100px;height:100px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font:700 36px var(--display);color:var(--ink)}
.issues{flex:1;font-size:14.5px}
.issues div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.sev{font-weight:600;font-size:12.5px;padding:2px 9px;border-radius:99px}
.sev.h{background:#ffe1dc;color:#9b2414}.sev.m{background:#fff3d6;color:#7a5200}.sev.l{background:#e4e5f5;color:#454a78}
.bars{display:flex;align-items:flex-end;gap:9px;height:150px;margin-top:18px}
.bars i{flex:1;background:linear-gradient(180deg,var(--violet),#9a86fb);border-radius:6px 6px 0 0}
.bars i.t{background:linear-gradient(180deg,var(--teal),#7fdcd2)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpis div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--soft)}
.kpis b{display:block;font:700 24px var(--display);color:var(--ink)}
.pages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pages div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;aspect-ratio:3/4;display:flex;flex-direction:column;gap:7px}
.pages div::before{content:"";height:34%;border-radius:6px;background:linear-gradient(135deg,var(--ink),var(--violet))}
.pages div:nth-child(2)::before{background:linear-gradient(135deg,var(--teal),#7fdcd2)}
.pages div:nth-child(3)::before{background:linear-gradient(135deg,var(--sun),#ff9d6c)}
.pages s{display:block;height:6px;border-radius:3px;background:#dedff0;text-decoration:none}.pages s:nth-of-type(2){width:70%}.pages s:nth-of-type(3){width:85%}
.caption{font-size:13.5px;color:var(--soft);margin:16px 0 0}

/* promises */
.promises{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1.5px solid var(--ink)}
.promises div{padding:34px 40px 34px 0;border-bottom:1px solid var(--line)}
.promises div:nth-child(odd){border-right:1px solid var(--line)}
.promises div:nth-child(even){padding-left:40px}
.promises h3{margin-bottom:10px}
.promises p{margin:0;color:var(--soft);font-size:16.5px}

/* company facts */
.facts{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}
.facts dl{margin:0;border-top:1.5px solid rgba(255,255,255,.4)}
.facts dl div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.facts dt{color:#b9bce4}.facts dd{margin:0;color:#fff;font-weight:600;text-align:right}
.band.white .facts dl{border-top-color:var(--ink)}.band.white .facts dl div{border-bottom-color:var(--line)}
.band.white .facts dt{color:var(--soft)}.band.white .facts dd{color:var(--ink)}

/* closing call */
.close{background:linear-gradient(120deg,var(--violet),#4a34c9 55%,var(--teal) 130%);color:#fff;padding:84px 0}
.close .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.close h2{color:#fff;max-width:15em}
.close p{color:#e6e2ff;margin:14px 0 0;font-size:18px}

/* page head (inner pages) */
.page-head{background:var(--ink);color:#d9dbf5;padding:76px 0 70px;position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 380px at 92% 0,rgba(18,181,166,.3),transparent 62%),radial-gradient(520px 420px at 0 110%,rgba(106,77,244,.45),transparent 60%)}
.page-head .wrap{position:relative}
.page-head h1{color:#fff;font-size:clamp(38px,5.2vw,62px);max-width:14em}
.page-head p{font-size:20px;margin:22px 0 0;max-width:36em;color:#d9dbf5}

/* services list */
.svc{display:grid;grid-template-columns:320px 1fr;gap:50px;padding:44px 0;border-top:1.5px solid var(--ink)}
.svc h3{font-size:30px;font-stretch:92%}
.svc .who{margin-top:12px;color:var(--soft);font-size:15.5px}
.svc ul{columns:2;column-gap:44px;padding:0;margin:18px 0 0;list-style:none}
.svc li{break-inside:avoid;padding:9px 0 9px 22px;position:relative;font-size:16px;border-bottom:1px solid var(--line)}
.svc li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:50%;background:var(--teal)}

/* contact */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.ways{border-top:1.5px solid var(--ink)}
.ways div{padding:20px 0;border-bottom:1px solid var(--line)}
.ways span{display:block;color:var(--soft);font-size:15px;margin-bottom:3px}
.ways a,.ways b{font:600 21px/1.3 var(--display);color:var(--ink);text-decoration:none}
.ways a:hover{color:var(--violet)}
.ways p{margin:0;font-size:17px;color:var(--ink)}
.form{background:#fff;border:1.5px solid var(--ink);border-radius:22px;padding:36px}
.form h2{font-size:30px;margin-bottom:8px}
.form label{display:block;font-weight:600;font-size:15px;color:var(--ink);margin:18px 0 6px}
.form input,.form select,.form textarea{width:100%;font:16px var(--body);color:var(--ink);padding:13px 14px;border:1.5px solid #c5c6e0;border-radius:10px;background:var(--paper)}
.form textarea{min-height:140px;resize:vertical}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .trap{position:absolute;left:-9999px}
.form .btn{margin-top:24px;width:100%}
.form small{display:block;margin-top:14px;color:var(--soft);font-size:14px}
.notice{background:#ffe1dc;color:#7c1d10;border-radius:12px;padding:14px 18px;margin-bottom:20px;display:none}
.notice.show{display:block}

/* long text (policies) */
.prose{max-width:800px}
.prose section{padding:30px 0;border-top:1px solid var(--line)}
.prose section:first-child{border-top:0;padding-top:0}
.prose h2{font-size:27px;margin-bottom:14px}
.prose p,.prose li{max-width:70ch}
.prose ul,.prose ol{padding-left:22px}.prose li{margin:7px 0}

/* footer */
.foot{background:#0d0f2b;color:#a9acd6;padding:70px 0 34px;font-size:15.5px}
.foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.foot .brand{color:#fff;margin-bottom:16px}
.foot h4{font:600 15px var(--body);color:#fff;margin:0 0 14px}
.foot a{color:#a9acd6;text-decoration:none;display:block;padding:4px 0}.foot a:hover{color:#fff}
.foot a.brand{display:flex;color:#fff;padding:0}
.foot p{margin:0 0 6px;max-width:30em}
.foot .legal{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;padding-top:60px}.hero-copy{padding-bottom:44px}
  .folder{grid-template-columns:1fr}.folder ul{display:flex;flex-wrap:wrap;gap:6px;border-right:0;border-bottom:1.5px solid var(--ink);border-radius:0 20px 0 0}.folder dl{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr;gap:26px}.flow::before{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto}.flow li{padding:0 0 0 70px}.flow li::before{position:absolute;left:0;top:0}
  .row,.facts,.contact,.svc{grid-template-columns:1fr;gap:34px}.row.flip .pic{order:0}
  .promises{grid-template-columns:1fr}.promises div,.promises div:nth-child(even){padding:28px 0;border-right:0}
  .foot .cols{grid-template-columns:1fr 1fr}
  .band{padding:72px 0}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 22px}
  .nav.open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid var(--line)}.nav .btn{margin-top:16px;text-align:center;border:0}
  .mock-body{grid-template-columns:1fr}.mock-side{display:none}
  .svc ul{columns:1}.form .two{grid-template-columns:1fr}.form{padding:26px 22px}
  .score{flex-direction:column;align-items:flex-start}
  .foot .cols{grid-template-columns:1fr}
  .wrap{padding:0 22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;scroll-behavior:auto !important}}
