/* HectoInk - dark flash aesthetic (Stitch direction, adopted Oct 31):
   near-black ground, hectograph purple, sparing flash red, filigree
   ornaments, framed photo panels. Display type gets the gradient +
   glow treatment; body and UI controls stay flat. */
:root{
  --bg:#09090c; --bg2:#050506; --panel:#0e0e12; --panel2:#131318;
  --line:#27272a; --line2:#3f3f46;
  --ink:#F2EFE7; --body:#D9D4C9; --muted:#A09A8D; --faint:#7d7769;
  --purple:#7C3AED; --purple-solid:#6D28D9; --purple-dk:#4C1D95;
  --purple-b:#A78BFA; --purple-pale:#C4B5FD;
  --red:#DC2626; --red-b:#EF4444;
  --orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cg fill='none' stroke='%23A78BFA' stroke-width='1.5'%3E%3Cpath d='M6 12h82'/%3E%3Cpath d='M212 12h82'/%3E%3Cpath d='M140 12c-8-10-18 10-28 0'/%3E%3Cpath d='M160 12c8-10 18 10 28 0'/%3E%3C/g%3E%3Ccircle cx='100' cy='12' r='2' fill='%23A78BFA'/%3E%3Ccircle cx='200' cy='12' r='2' fill='%23A78BFA'/%3E%3Cpath d='M150 3l8 9-8 9-8-9z' fill='%23DC2626'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--body);
  background-color:var(--bg);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    radial-gradient(1150px 620px at 50% -100px, rgba(124,58,237,.09), rgba(9,9,12,0) 62%);
  background-repeat:repeat,no-repeat;
  font-family:"Archivo",system-ui,sans-serif;font-size:17px;line-height:1.55}
h1,h2,h3,.display{font-family:"Bebas Neue","Archivo",sans-serif;
  letter-spacing:.02em;line-height:1.02;margin:0}
.mono{font-family:"Courier Prime",monospace}
a{color:var(--purple-pale)}
/* subtle tattoo flash wallpaper: fixed layer, screen blend so the
   black in the art drops out and only the faint line work shows */
.bgflash{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:url("/static/img/flash-bg.jpg") center top/cover no-repeat;
  opacity:.42;mix-blend-mode:screen}
::selection{background:var(--purple);color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
img{max-width:100%;display:block}

/* display type treatment: gradient + glow (headlines only) */
.grad-text{
  background:linear-gradient(180deg,#DDD0FF 0%,#A78BFA 38%,#7C3AED 72%,#5B21B6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(124,58,237,.45))}
.red-text{
  background:linear-gradient(180deg,#F87171 0%,#DC2626 55%,#991B1B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 14px rgba(220,38,38,.35))}

/* site header: pure black band so the wordmark art blends in */
.site-head{background:#000;border-bottom:1px solid var(--line);
  position:relative;z-index:20}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.site-head a.wordmark{line-height:0}
.wordmark img{height:60px;width:auto}
.site-head nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.site-head nav a{color:#D8D3C8;text-decoration:none;font-weight:600;font-size:15.5px}
.site-head nav a:hover{color:var(--purple-pale)}
.site-head nav a.btn-nav{background:var(--purple-solid);color:#fff;
  font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:20px;
  letter-spacing:.05em;padding:8px 18px 6px;
  border:1px solid rgba(167,139,250,.5);
  box-shadow:0 4px 18px rgba(124,58,237,.35)}
.site-head nav a.btn-nav:hover{background:#5B21B6;color:#fff}
@media(max-width:820px){
  .site-head nav a:not(.btn-nav){display:none}
  .wordmark img{height:48px}}

/* filigree ornament row (standalone divider) */
.ornament-row{width:min(430px,84%);height:24px;margin:6px auto 0;
  background-image:var(--orn);background-size:contain;
  background-repeat:no-repeat;background-position:center}

/* hero */
.hero{position:relative;overflow:hidden;padding:46px 0 34px;
  border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;top:-170px;right:-190px;
  width:800px;height:800px;pointer-events:none;
  background:url("/static/img/flash-ornament.jpg") center/contain no-repeat;
  opacity:.17;mix-blend-mode:screen;transform:rotate(10deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 76%);
  mask-image:radial-gradient(closest-side,#000 52%,transparent 76%)}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.kicker{font-family:"Courier Prime",monospace;font-size:14px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--red-b);font-weight:700}
.hero h1{font-family:"Rye","Bebas Neue",serif;font-weight:400;
  font-size:clamp(40px,5.6vw,72px);line-height:1.08;letter-spacing:.01em;
  margin:10px 0 12px;color:#fff}
.hero h1 .l1{background:linear-gradient(180deg,#DDD0FF 0%,#A78BFA 38%,#7C3AED 72%,#5B21B6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(124,58,237,.45))}
.hero h1 .l2{background:linear-gradient(180deg,#F87171 0%,#DC2626 55%,#991B1B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 14px rgba(220,38,38,.35))}
.hero .sub{font-size:19px;max-width:34em;color:#D9D4C9}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px}
.chip{border:1px solid var(--line2);background:rgba(14,14,18,.88);
  color:#E8E3D8;padding:6px 12px;
  font-family:"Courier Prime",monospace;font-size:14px}

/* framed photo panels with a purple grade */
.frame{position:relative;background:#000;border:1px solid var(--line2);
  outline:1px solid var(--line);outline-offset:4px}
.ph{position:relative;overflow:hidden}
.ph img{width:100%;display:block;filter:saturate(.85) contrast(1.06) brightness(.94)}
.grade{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;
  background:linear-gradient(165deg,rgba(124,58,237,.55),rgba(124,58,237,0) 48%,rgba(0,0,0,.6))}
.hero-photo{margin:26px 0 0}
.hero-photo .ph img{aspect-ratio:16/10;object-fit:cover}
.hero-photo figcaption{font-family:"Courier Prime",monospace;font-size:13px;
  padding:9px 12px;background:var(--bg2);color:var(--muted);
  border-top:1px solid var(--line)}
.chipcap{position:absolute;right:12px;bottom:12px;z-index:2;
  background:var(--purple-solid);color:#fff;border:1px solid rgba(196,181,253,.55);
  font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 12px 6px;text-align:center}
.chipcap::after{content:"\25C6";display:block;font-size:7px;line-height:1;
  color:#FCA5A5;border-top:1px solid rgba(255,255,255,.45);
  padding-top:4px;margin-top:4px}

/* converter card */
.tool{background:var(--panel);border:1px solid var(--line2);
  outline:1px solid var(--line);outline-offset:5px;
  box-shadow:0 34px 70px rgba(0,0,0,.6);padding:24px;position:relative}
.tool::before{content:"";position:absolute;top:-12px;left:50%;
  transform:translateX(-50%);width:230px;height:24px;
  background-color:var(--panel);background-image:var(--orn);
  background-repeat:no-repeat;background-position:center;background-size:contain}
.tool h2{font-size:34px;margin-bottom:4px;color:#fff}
.tool .hint{font-size:14.5px;color:var(--muted);margin:0 0 14px}
.drop{border:2px dashed rgba(167,139,250,.55);padding:20px;text-align:center;
  cursor:pointer;background:rgba(124,58,237,.07);color:var(--ink)}
.drop.drag{background:rgba(124,58,237,.18)}
.drop strong{font-size:18px}
.drop span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px}
.field{margin:14px 0}
.field label{display:flex;justify-content:space-between;font-weight:700;
  font-size:14.5px;text-transform:uppercase;letter-spacing:.05em;color:#DDD8CC}
.field label output{font-family:"Courier Prime",monospace;color:var(--purple-b)}
input[type=range]{width:100%;accent-color:var(--purple);height:28px}
.seg{display:flex;border:1px solid var(--line2)}
.seg button{flex:1;background:var(--panel2);color:#CFC9BB;border:0;
  border-right:1px solid var(--line2);
  padding:10px 4px;font:inherit;font-weight:700;cursor:pointer;font-size:15px}
.seg button:last-child{border-right:0}
.seg button.on{background:var(--purple-solid);color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
select,input[type=number]{width:100%;padding:10px;border:1px solid var(--line2);
  font:inherit;background:var(--panel2);color:var(--ink)}
.checks{display:flex;gap:18px;flex-wrap:wrap;font-size:14.5px}
.checks label{display:flex;gap:7px;align-items:center;font-weight:600;
  text-transform:none;letter-spacing:0}
.btn{display:block;width:100%;border:1px solid var(--line2);padding:14px;
  background:transparent;color:var(--ink);
  font-family:"Bebas Neue",sans-serif;font-size:24px;letter-spacing:.05em;
  cursor:pointer;text-align:center;text-decoration:none}
.btn-p{background:var(--purple-solid);border-color:rgba(167,139,250,.55);
  color:#fff;box-shadow:0 8px 26px rgba(124,58,237,.35)}
.btn-p:hover{background:#5B21B6}
.btn-g{background:rgba(255,255,255,.02);color:var(--ink);margin-top:10px}
.btn-g:hover{border-color:var(--purple-b)}
.btn[disabled]{opacity:.5;cursor:wait}
.previewbox{margin-top:16px;border:1px solid var(--line2);background:
  repeating-conic-gradient(#0c0c10 0% 25%, #141419 0% 50%) 0 0/22px 22px;
  min-height:180px;display:flex;align-items:center;justify-content:center}
.previewbox img{max-height:420px;width:auto;filter:none}
.statsline{font-family:"Courier Prime",monospace;font-size:14px;margin-top:10px;
  color:#CFC9BB}
.warn{background:rgba(220,38,38,.09);border:1px solid #7F1D1D;color:#FCA5A5;
  padding:10px 12px;font-size:14.5px;margin-top:10px;display:none}
.err{background:rgba(220,38,38,.09);border:1px solid #7F1D1D;color:#FCA5A5;
  padding:10px 12px;margin-top:10px;display:none;font-size:14.5px}

/* stats strip */
.strip{background:var(--bg2);border-bottom:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:900px){.strip .wrap{grid-template-columns:repeat(2,1fr)}}
.strip .cell{padding:22px 18px;border-right:1px solid #1d1d22}
.strip .big{font-family:"Bebas Neue",sans-serif;font-size:44px;color:#EDE9FE}
.strip .big em{font-style:normal;color:var(--red-b)}
.strip p{margin:2px 0 0;font-size:14px;color:var(--muted)}

/* sections */
section{padding:54px 0;position:relative}
section#pricing{overflow:hidden}
section#pricing::before{content:"";position:absolute;bottom:-230px;left:-210px;
  width:720px;height:720px;pointer-events:none;
  background:url("/static/img/flash-ornament.jpg") center/contain no-repeat;
  opacity:.10;mix-blend-mode:screen;transform:scaleX(-1) rotate(-8deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 76%);
  mask-image:radial-gradient(closest-side,#000 52%,transparent 76%)}
section#pricing .wrap{position:relative;z-index:1}
.sec-head{max-width:44em}
.sec-head h2{font-size:clamp(38px,4.5vw,56px);
  background:linear-gradient(180deg,#EDE9FE 0%,#A78BFA 62%,#7C3AED 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 12px rgba(124,58,237,.30))}
.sec-head::after{content:"";display:block;width:280px;max-width:70%;height:22px;
  margin-top:14px;background-image:var(--orn);background-repeat:no-repeat;
  background-position:left center;background-size:contain}
.sec-head p{font-size:18px;color:#BDB6A7}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:26px}
@media(max-width:900px){.tiles{grid-template-columns:1fr}}
.tile{border:1px solid var(--line2);outline:1px solid var(--line);
  outline-offset:4px;background:var(--panel)}
.tile .ph{border-bottom:1px solid var(--line)}
.tile .ph img{aspect-ratio:16/9;object-fit:cover;width:100%}
.tile .pad{padding:18px}
.tile h3{font-size:27px;color:#fff}
.tile p{margin:6px 0 0;font-size:15.5px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
.step{border:1px solid var(--line);background:var(--panel);padding:18px}
.step .n{font-family:"Bebas Neue",sans-serif;font-size:52px;color:var(--purple-b)}
.step h3{font-size:23px;color:#fff}
.step p{font-size:15px;margin:4px 0 0;color:var(--muted)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
@media(max-width:900px){.ba{grid-template-columns:1fr}}
.ba figure{margin:0}
.ba .ph img{width:100%}
.ba figcaption{font-family:"Courier Prime",monospace;font-size:13.5px;
  padding:9px 12px;background:var(--bg2);color:#CFC9BB;
  border-top:1px solid var(--line)}

/* tables */
table{width:100%;border-collapse:collapse;margin-top:26px;background:var(--panel);
  border:1px solid var(--line2)}
th,td{border:1px solid #232329;padding:12px 14px;text-align:left;
  font-size:15.5px;vertical-align:top;color:#D8D3C8}
th{font-family:"Bebas Neue",sans-serif;font-size:21px;letter-spacing:.04em;
  background:#000;color:#EDE9FE;border-color:var(--line)}
td.price{font-family:"Courier Prime",monospace;font-weight:700;white-space:nowrap;
  color:var(--purple-pale)}
tr td:first-child{font-weight:700}
.yes{color:var(--purple-b);font-weight:700}
.no{color:var(--faint)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
@media(max-width:900px){.plans{grid-template-columns:1fr}}
.plan{border:1px solid var(--line2);outline:1px solid var(--line);
  outline-offset:5px;background:var(--panel);padding:24px;
  box-shadow:0 24px 50px rgba(0,0,0,.5)}
.plan.hot{border-color:rgba(167,139,250,.6);outline-color:rgba(124,58,237,.35)}
.plan h3{font-size:29px;color:#fff}
.plan .amt{font-family:"Bebas Neue",sans-serif;font-size:58px;margin:6px 0 0;color:#fff}
.plan .amt small{font-size:20px;color:var(--muted)}
.plan ul{margin:12px 0 20px;padding-left:20px;font-size:15.5px;color:#CFC9BB}
.plan .btn{font-size:21px;padding:11px}
.tag{display:inline-block;background:var(--red);color:#fff;font-size:12.5px;
  font-family:"Courier Prime",monospace;padding:3px 9px;text-transform:uppercase;
  letter-spacing:.08em}

/* faq */
.faq{max-width:52em}
.faq details{border:1px solid var(--line2);background:var(--panel);
  margin-top:12px;padding:14px 18px}
.faq summary{font-weight:800;cursor:pointer;font-size:17px;color:#fff}
.faq p{margin:8px 0 2px;font-size:15.5px;color:#BDB6A7}

/* transfer rating page */
.rate-wrap{max-width:46em}
.rate-h1{font-size:clamp(48px,6vw,76px);margin:10px 0 12px;
  background:linear-gradient(180deg,#DDD0FF 0%,#A78BFA 38%,#7C3AED 72%,#5B21B6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(124,58,237,.45))}
.rate-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin:22px 0 6px}
@media(max-width:700px){.rate-choices{grid-template-columns:1fr}}
.rate-choices button{border:1px solid var(--line2);background:var(--panel);
  color:var(--ink);padding:20px 10px;cursor:pointer;
  font-family:"Bebas Neue",sans-serif;font-size:26px;letter-spacing:.04em}
.rate-choices button.on{background:var(--purple-solid);color:#fff;
  border-color:rgba(167,139,250,.55)}
.rate-wrap input[type=text]{width:100%;padding:10px;border:1px solid var(--line2);
  font:inherit;background:var(--panel2);color:var(--ink)}
.rate-saved{font-family:"Courier Prime",monospace;font-weight:700;
  color:var(--purple-pale);margin-top:12px}
.rate-log{margin-top:34px;border:1px solid var(--line2);
  outline:1px solid var(--line);outline-offset:5px;
  background:var(--panel);padding:20px}
.rate-log h2{font-size:30px;margin-bottom:8px;color:#fff}
.rate-tally{margin:6px 0;font-size:15.5px}
.rate-entry{font-family:"Courier Prime",monospace;font-size:13.5px;
  margin:4px 0;color:var(--muted)}
.profile-nudge{font-size:14.5px;color:var(--purple-pale);font-weight:600;
  margin-top:6px}

footer{background:#000;color:var(--muted);padding:36px 0;margin-top:20px;
  border-top:1px solid var(--line)}
footer a{color:#D8D3C8}
footer .cols{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
footer ul{list-style:none;padding:0;margin:8px 0;font-size:14.5px;line-height:2}
footer .brand{font-family:"Bebas Neue",sans-serif;font-size:34px;color:#fff}
.foot-mark{height:46px;width:auto}
.badge-line{font-family:"Courier Prime",monospace;font-size:12.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--purple-pale);
  margin-top:12px}
