/* Inkjin site styles. White, Sora headlines, Plus Jakarta Sans text. Same layout system as the Bookpay pages. */
@font-face{font-family:"Sora";font-weight:700;font-display:swap;src:url(fonts/sora-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";font-weight:700;font-display:swap;src:url(fonts/sora-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-weight:400;font-display:swap;src:url(fonts/pjs-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-weight:500;font-display:swap;src:url(fonts/pjs-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-weight:600;font-display:swap;src:url(fonts/pjs-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-weight:700;font-display:swap;src:url(fonts/pjs-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-weight:800;font-display:swap;src:url(fonts/pjs-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-weight:400;font-display:swap;src:url(fonts/pjs-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-weight:700;font-display:swap;src:url(fonts/pjs-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Greek letters (Sora and Plus Jakarta Sans have none) */
@font-face{font-family:"Inkjin Greek";font-weight:400;font-display:swap;src:url(fonts/inter-greek-400.woff2) format("woff2");unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:"Inkjin Greek";font-weight:500;font-display:swap;src:url(fonts/inter-greek-500.woff2) format("woff2");unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:"Inkjin Greek";font-weight:600;font-display:swap;src:url(fonts/inter-greek-600.woff2) format("woff2");unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:"Inkjin Greek";font-weight:700;font-display:swap;src:url(fonts/inter-greek-700.woff2) format("woff2");unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:"Inkjin Greek";font-weight:800;font-display:swap;src:url(fonts/inter-greek-800.woff2) format("woff2");unicode-range:U+0370-03FF,U+1F00-1FFF}

:root{--bg:#fff;--ink:#0B0B0F;--ink2:#1c1b22;--muted:#4c4854;--faint:#6b6672;--line:#ECEAF0;--soft:#F7F6F9;--card:#fff;
 --brand:#482d91;--brand-d:#3a2474;--brand-l:#6a4fc4;--lav:#cebdff;--lavbg:#F2EEFF;--dark:#0B0B0F;--dcard:#16151b;--dline:#2a2830;
 --r:20px;--shadow:0 1px 2px rgba(20,10,40,.06),0 12px 32px rgba(20,10,40,.07);--shadow-lg:0 30px 80px rgba(40,20,90,.18);
 --fh:"Sora","Inkjin Greek","Plus Jakarta Sans",system-ui,sans-serif;--fb:"Plus Jakarta Sans","Inkjin Greek",system-ui,sans-serif}
*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top)}
body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:#fff;z-index:60}
a{color:inherit}img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--fh);font-weight:700;letter-spacing:-.03em;margin:0;line-height:1.08;color:var(--ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* header */
header{position:sticky;top:env(safe-area-inset-top);z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid rgba(11,11,15,.06)}
.nav{display:flex;align-items:center;gap:16px;height:72px}
.logo img{height:34px;width:auto}
.links{display:flex;align-items:center;gap:2px;margin-left:22px;flex:1}
.links>a,.dd>button{font:inherit;font-size:15px;font-weight:600;color:var(--muted);text-decoration:none;padding:9px 13px;border-radius:12px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.links>a:hover,.dd>button:hover,.links>a.on{color:var(--ink);background:var(--soft)}
.dd{position:relative}.dd>button i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.dd .menu{display:none;position:absolute;top:calc(100% + 8px);left:-8px;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow-lg)}
.dd:hover .menu,.dd.open .menu{display:block}.dd:before{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.menu a{display:block;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}.menu a:hover{background:var(--soft)}
.menu a b{display:block;font-size:14.5px;font-weight:700}.menu a small{display:block;font-size:13px;color:var(--faint);margin-top:1px}
.menu .mtag{display:block;padding:8px 12px 10px;font-size:12.5px;color:var(--faint);border-bottom:1px solid var(--line);margin-bottom:6px}
.act{display:flex;align-items:center;gap:12px}
.lang{display:flex;background:var(--soft);border-radius:12px;padding:3px}.lang a{font-size:13px;font-weight:700;color:var(--faint);text-decoration:none;padding:6px 10px;border-radius:9px}.lang a.cur{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.links>a.mob{display:none}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer;padding:0}
.burger span{position:absolute;left:10px;right:10px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,top .25s}.burger span:first-child{top:17px}.burger span:last-child{top:25px}
header.open .burger span:first-child{top:21px;transform:rotate(45deg)}header.open .burger span:last-child{top:21px;transform:rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:15px;text-decoration:none;border-radius:999px;padding:14px 22px;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:transform .15s,background .15s,box-shadow .15s;cursor:pointer;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(11,11,15,.18)}
.btn.sm{padding:10px 16px;font-size:14px}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}.btn.brand{background:var(--brand);border-color:var(--brand)}
.more{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:700;text-decoration:none}.more:hover{text-decoration:underline}
.btnrow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}

/* type helpers */
.eyebrow{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:14px}
.kicker{display:block;font-size:13px;font-weight:800;color:var(--brand);margin-bottom:10px}
.h2{font-size:clamp(32px,4vw,52px);margin-bottom:16px}
.lead{font-size:18px;color:var(--muted);margin:0;max-width:660px}
.shead{margin-bottom:44px}.shead.center{text-align:center}.shead.center .lead{margin:0 auto}
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 10px;box-shadow:var(--shadow)}
.chip b{color:var(--ink)}.stars{color:#F5A524;letter-spacing:1px;font-size:13px}

/* sections */
section{padding:96px 0;position:relative}
section.soft{background:var(--soft)}
section.dark{background:var(--dark);color:#fff}section.dark h2,section.dark h3{color:#fff}section.dark .lead{color:#c9c5d0}section.dark .eyebrow{color:var(--lav)}

/* hero */
.hero{padding:64px 0 88px;overflow:hidden}
.hero .glow{position:absolute;inset:-20% -10% auto auto;width:900px;height:900px;background:radial-gradient(closest-side,rgba(106,79,196,.20),rgba(206,189,255,.12) 45%,transparent 70%);pointer-events:none}
.hgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative}
.hero h1{font-size:clamp(34px,4.3vw,56px);margin:22px 0 20px;letter-spacing:-.035em;line-height:1.1}
.hero h1 .hl{color:var(--brand)}
.hero .sub{font-size:19px;color:var(--muted);margin:0 0 30px;max-width:560px}
.badges{display:flex;gap:10px;flex-wrap:wrap}.badges img{height:48px;width:auto}.badges a{transition:transform .15s}.badges a:hover{transform:translateY(-1px)}
.hstats{display:flex;gap:36px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.hstats b{display:block;font-family:var(--fh);font-size:30px;letter-spacing:-.03em}.hstats span{font-size:14px;color:var(--faint);font-weight:600}
.hmedia{position:relative;display:flex;justify-content:center;padding:20px 40px}
.phone{position:relative;width:320px;aspect-ratio:9/19;border-radius:48px;background:#0b0b0f;padding:12px;box-shadow:0 0 0 1px #2a2830,var(--shadow-lg);transform:rotate(2deg)}
.phone img{width:100%;height:100%;object-fit:cover;border-radius:38px;background:linear-gradient(160deg,#e9e3ff,#f7f6f9)}
.phone:before{content:"";position:absolute;top:22px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:14px;background:#0b0b0f;z-index:2}
.play{white-space:nowrap;position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;padding:8px 16px 8px 8px;border-radius:999px;box-shadow:var(--shadow)}
.play span{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}
.float{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow-lg);font-size:14px}
.float b{display:block;font-weight:800}.float small{color:var(--faint);font-size:12.5px}
.float .fi{width:36px;height:36px;border-radius:12px;background:var(--lavbg);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800}
.f1{left:-10px;top:22%}.f2{right:-14px;top:52%}.f3{left:6%;bottom:6%;gap:8px;padding:10px 14px}.f3 b{display:inline;font-size:16px}

/* steps (dark band) */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:var(--dcard);border:1px solid var(--dline);border-radius:var(--r);padding:28px 24px;position:relative;overflow:hidden}
.step .num{display:flex;align-items:center;gap:12px;font-family:var(--fh);font-size:15px;letter-spacing:.02em;color:var(--lav);line-height:1;margin-bottom:28px}.step .num:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#4a4458,transparent)}
.step .se{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--lav);margin-bottom:8px}
.step h3{font-size:20px;margin-bottom:10px}.step p{margin:0;color:#c9c5d0;font-size:15px}

/* tabs */
.tabs{background:#fff}
.tablist{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:-10px auto 36px;background:var(--soft);border-radius:999px;padding:6px;width:max-content;max-width:100%}
.tablist button{font:inherit;font-weight:700;font-size:14.5px;color:var(--muted);background:none;border:0;border-radius:999px;padding:10px 18px;cursor:pointer}
.tablist button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.tabpane{display:none;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.tabpane.on{display:grid;animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tcopy h3{font-size:clamp(26px,3vw,38px);margin-bottom:14px}.tcopy p{color:var(--muted);font-size:17px;margin:0 0 26px}
.stage{background:radial-gradient(120% 90% at 70% 20%,#e7ddff,var(--lavbg) 55%,#f7f6f9);border-radius:28px;padding:36px;display:flex;align-items:center;justify-content:center;min-height:420px}
.stage img{max-height:440px;width:auto;filter:drop-shadow(0 24px 40px rgba(40,20,90,.18))}

/* designs marquee */
.designs{overflow:hidden}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee+.marquee{margin-top:16px}
.track{display:flex;gap:16px;width:max-content;animation:scroll 70s linear infinite;padding:4px 0}
.marquee.rev .track{animation-direction:reverse;animation-duration:80s}.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.dcard{display:block;width:220px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.dcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.dcard img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--soft)}
.dcard b{display:block;font-size:14px;margin:10px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcard small{display:block;font-size:12.5px;color:var(--faint);margin:0 4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none}.dcard em{display:inline-block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand);background:var(--lavbg);border-radius:999px;padding:3px 9px;margin:6px 4px 4px}
@media (prefers-reduced-motion:reduce){.track{animation:none}}

/* proof */
.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 auto 24px;max-width:960px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.stat{text-align:center;padding:36px 24px;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:var(--line)}
.stat b{display:block;font-family:var(--fh);font-size:clamp(40px,4.4vw,56px);letter-spacing:-.04em;color:var(--ink);line-height:1}.stat span{display:block;margin-top:10px;font-size:15px;font-weight:600;color:var(--faint)}
.quotes{columns:3;column-gap:16px}
.quote{break-inside:avoid;margin:0 0 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.quote blockquote{margin:12px 0 18px;font-size:15.5px;color:var(--ink2)}
.quote figcaption{display:flex;align-items:center;gap:10px}.quote figcaption b{font-size:14px}.quote figcaption small{color:var(--faint);font-size:13px;margin-left:auto}
.av{width:34px;height:34px;border-radius:50%;background:var(--lavbg);color:var(--brand);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}

/* Bookpay band */
.bpband{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:radial-gradient(90% 120% at 90% 10%,#2a1c55,#0B0B0F 60%);color:#fff;border-radius:32px;padding:56px;position:relative;overflow:hidden}
.bpband h2{color:#fff}.bpband .lead{color:#d6d2dc}.bpband .eyebrow{color:var(--lav)}.bpband .more{color:var(--lav)}
.pills{list-style:none;padding:0;margin:26px 0 30px;display:flex;flex-wrap:wrap;gap:8px}
.pills li{font-size:13.5px;font-weight:600;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 13px}
.bpimg img{width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.bpstudio{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px 22px;text-decoration:none;color:#fff}
.bpstudio b{font-family:var(--fh);font-size:17px}.bpstudio span{color:#c9c5d0;flex:1;min-width:240px}.bpstudio em{font-style:normal;font-weight:700;color:var(--lav)}.bpstudio:hover{background:rgba(255,255,255,.1)}

/* 4 cards */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.c4{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}
.c4:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.c4img{background:var(--lavbg);aspect-ratio:1}.c4img img{width:100%;height:100%;object-fit:cover}
.c4body{padding:22px}.c4body h3{font-size:19px;margin-bottom:8px}.c4body p{margin:0 0 14px;color:var(--muted);font-size:15px}.c4body .more{font-size:14.5px}

/* FAQ */
.faqgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faqside{position:sticky;top:110px}.faqside .lead{margin-bottom:22px}
details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:700;font-size:17px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:24px;line-height:1;color:var(--brand);transition:transform .2s}details[open] summary:after{transform:rotate(45deg)}
details p{margin:12px 0 0;color:var(--muted)}

/* download */
section.last{padding-top:32px}
.dlband{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center;background:linear-gradient(135deg,#482d91,#6a4fc4 55%,#8f78e0);border-radius:32px;padding:56px;color:#fff;overflow:hidden;position:relative}
.dlband:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.08)}
.dlband h2{color:#fff}.dlband .lead{color:#ece6ff;margin-bottom:28px}.dlband .eyebrow{color:#e3d9ff}
.dlrate{margin-top:22px}.dlrate .chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}.dlrate .chip b{color:#fff}
.qr{justify-self:center;background:#fff;border-radius:22px;padding:18px;text-align:center;position:relative;z-index:1;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.qr img{width:170px;height:170px}.qr span{display:block;margin-top:10px;font-size:13px;font-weight:700;color:var(--muted)}

/* footer */
footer.site{background:var(--dark);color:#d6d2dc;padding:64px 0 32px}
.fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.fbrand img{height:32px;width:auto;margin-bottom:16px}.fbrand p{margin:0 0 20px;color:#a8a3b0;font-size:14.5px;max-width:280px}.fbrand .badges img{height:42px}
footer h4{margin:0 0 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8d8896}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:0 0 10px}footer a{color:#d6d2dc;text-decoration:none;font-size:14.5px}footer a:hover{color:#fff}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:24px;border-top:1px solid #24222a;font-size:13.5px;color:#8d8896}
.fbottom a{font-size:13.5px;color:#a8a3b0;margin-right:16px}.social a{margin:0 0 0 16px}

/* top banner (Bookpay pages use the same) and cookie box */
.topbanner{background:#000;color:#fff;font-size:14px;padding:12px 24px;position:relative;z-index:51}
.topbanner.lav{background:#cebdff;color:#0B0B0F}
.tb-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:14px}
.tb-msg{margin:0;flex:1;min-width:0;line-height:1.35;font-weight:500}.tb-msg b{font-weight:700}.tb-msg span{margin-left:4px;color:#d1d5db}.topbanner.lav .tb-msg span{color:#2a2530}
.tb-btn{background:#482d91;color:#fff;font-weight:700;font-size:13px;padding:8px 20px;border-radius:999px;text-decoration:none;white-space:nowrap}.tb-btn:hover{background:#3a2474}
.tb-x{background:none;border:0;color:#9ca3af;cursor:pointer;padding:4px;display:flex}.tb-x:hover{color:#fff}
.ck{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:620px;right:16px;z-index:100;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-lg);font-size:14.5px}
.ck p{margin:0 0 16px;color:var(--muted)}.ck a{color:var(--brand)}
.ckbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ckbtns button{font:inherit;font-weight:700;border-radius:999px;padding:10px 18px;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff}
.ckbtns button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.ckbtns button[hidden]{display:none}
.ckprefs{margin:0 0 14px}.ckprefs[hidden]{display:none}.ckrow{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.ckrow b{display:block}.ckrow small{color:var(--faint);font-size:13px}.ckrow input{flex:none;width:20px;height:20px;accent-color:#482d91}
#ckfab{position:fixed;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:90;width:46px;height:46px;border-radius:50%;background:#0B0B0F;border:0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.25)}
#ckfab:hover{transform:translateY(-1px)}body.ck-open #ckfab{display:none}

/* phone and tablet */
@media(max-width:1060px){
 .links,.act .lang,.act .btn{display:none}.burger{display:block}
 header.open .links{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:72px;left:0;right:0;background:#fff;padding:12px 16px 22px;margin:0;border-bottom:1px solid var(--line);max-height:calc(100vh - 72px);overflow:auto}
 header.open .links>a.mob{display:block;border-top:1px solid var(--line);border-radius:0;margin-top:8px;padding-top:14px}
 .dd .menu{position:static;display:none;box-shadow:none;border:0;padding:0 0 0 10px;min-width:0}.dd:hover .menu{display:none}.dd.open .menu{display:block}
 .hgrid,.tabpane.on,.bpband,.dlband,.faqgrid{grid-template-columns:1fr}.hmedia{padding:10px 0 0}.faqside{position:static}
 .steps4,.g4{grid-template-columns:1fr 1fr}.quotes{columns:2}.fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}
 .split-head{flex-direction:column;align-items:flex-start}.bpband,.dlband{padding:36px 26px}}
@media(max-width:640px){
 .wrap{padding:0 18px}section{padding:68px 0}.hero{padding:32px 0 56px}
 .hero .sub{font-size:17px}.hstats{gap:22px}.hstats b{font-size:24px}
 .phone{width:250px}.f1{left:-4px}.f2{right:-4px}.f3{display:none}.chip{font-size:12.5px;white-space:nowrap}.hero .chip span.rt{display:none}.float{padding:9px 12px;font-size:13px}.float .fi{width:30px;height:30px}
 .steps4,.g4,.statrow{grid-template-columns:1fr}.quotes{columns:1}.stage{min-height:0;padding:22px}
 .tablist{width:auto;border-radius:18px}.topbanner{font-size:12.5px;padding:10px 14px}.tb-in{align-items:flex-start;gap:8px}.tb-btn{font-size:12px;padding:6px 12px}
 .fbottom{flex-direction:column}.social a{margin:0 14px 0 0}}

/* ---------- language picker ---------- */
.langdd>button{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;font-weight:800;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px 9px 12px;cursor:pointer;transition:border-color .15s}
.langdd>button:hover,.langdd.open>button{border-color:var(--ink)}
.langdd>button .gl{width:18px;height:18px;fill:var(--muted)}
.langdd>button i{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.5;margin-left:2px}
.langdd .menu{left:auto;right:0;min-width:270px}
.langdd .menu a{display:flex;align-items:center;gap:12px}
.langdd .lc{width:38px;height:38px;flex:none;border-radius:12px;background:var(--soft);color:var(--muted);font-family:var(--fh);font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.langdd .ln{flex:1}.langdd .ln b{font-size:15px}
.langdd a.cur .lc{background:var(--ink);color:#fff}
.langdd a.cur{background:var(--soft)}
.langdd .tick{width:20px;height:20px;border-radius:50%;flex:none}
.langdd a.cur .tick{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.langdd .lnote{display:block;font-size:12px;color:var(--faint);padding:8px 12px 4px;border-top:1px solid var(--line);margin-top:6px}
.mlang{display:none}

/* ---------- inner pages ---------- */
.center{text-align:center}.mt{margin-top:28px}
.hero.page{padding:56px 0 80px}
.hsolo{max-width:820px}.hsolo.center{margin:0 auto;text-align:center}.hsolo.center .sub{margin-left:auto;margin-right:auto}
.hero.page .btnrow{margin-top:4px}
.hero.page .hstats{margin-top:36px}
/* design mosaic */
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:rotate(-3deg);padding:10px}
.mosaic a{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:var(--shadow);text-decoration:none;transition:transform .2s}
.mosaic a:hover{transform:translateY(-4px) rotate(1deg)}
.mosaic a:nth-child(3n+2){transform:translateY(34px)}.mosaic a:nth-child(3n+2):hover{transform:translateY(30px)}
.mosaic img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--soft)}
.mosaic span{position:absolute;left:14px;bottom:14px;font-size:12px;font-weight:700;background:rgba(255,255,255,.92);border-radius:999px;padding:4px 10px;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* chips */
.chiprows{display:grid;gap:22px}
.chiprow{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start;padding-top:22px;border-top:1px solid var(--line)}
.clabel{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding-top:10px}
.chipset{display:flex;flex-wrap:wrap;gap:8px}
.chipset a{font-size:14.5px;font-weight:600;color:var(--ink2);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;transition:all .15s}
.chipset a:hover{border-color:var(--brand);color:var(--brand);background:var(--lavbg)}
section.soft .chipset a{background:#fff}
/* split with side panel */
.split2{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}.split2.mid{align-items:center}
.nlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.nlist li{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.nlist .n{flex:none;width:34px;padding-top:7px;font-family:var(--fh);font-size:15px;color:var(--brand);border-top:2px solid var(--brand);line-height:1}
.nlist h3{font-size:18px;margin:6px 0 6px}.nlist p{margin:0;color:var(--muted);font-size:15.5px}
.panel,.apanel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:16px;box-shadow:var(--shadow-lg)}
.panel{position:sticky;top:100px}.stick{position:sticky;top:100px}
.pimg img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:var(--soft)}
.panel h3,.apanel h3{font-size:22px;margin:10px 6px 4px}.apanel h3 a{text-decoration:none}
.pmeta{margin:0 6px 12px;color:var(--faint);font-size:14.5px}.pmeta a{color:var(--brand);font-weight:700;text-decoration:none}
.spill{display:inline-flex;align-items:center;gap:7px;margin:14px 6px 0;font-size:12.5px;font-weight:700;color:#1d7a3a;background:#e8f7ec;border-radius:999px;padding:5px 11px}
.spill i{width:7px;height:7px;border-radius:50%;background:#22a04b;box-shadow:0 0 0 3px rgba(34,160,75,.2)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 6px 14px}.tags span{font-size:12.5px;font-weight:700;color:var(--brand);background:var(--lavbg);border-radius:999px;padding:4px 10px}
.prow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 6px 6px;padding-top:14px;border-top:1px solid var(--line)}.prow>b{font-family:var(--fh);font-size:18px}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.agrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--soft)}
.agrid img:first-child{border-top-left-radius:18px}.agrid img:nth-child(2){border-top-right-radius:18px}
.apanel .btn{margin:0 6px 6px}
/* AR feature items */
.fitems{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fitem{background:var(--soft);border-radius:18px;padding:18px}.fitem b{display:block;font-size:16px;margin-bottom:4px}.fitem span{color:var(--muted);font-size:14.5px}
.stage.tall{min-height:0;padding:28px}.stage.tall img{max-height:560px}
.stage.about{background:radial-gradient(90% 80% at 50% 30%,#e3d8ff,var(--lavbg) 60%,#fff);padding:24px 24px 0;align-items:flex-end}.stage.about img{max-height:580px;filter:none}
/* dark journey */
.steps5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.steps5 .step{text-decoration:none;color:#fff;transition:transform .2s,border-color .2s}.steps5 .step:hover{transform:translateY(-4px);border-color:#4a3d7a}
.steps5 .step .num{margin-bottom:24px}.slink{display:block;margin-top:14px;color:var(--lav);font-weight:700;font-size:14.5px}
/* card grids */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.gcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.gcard h3{font-size:19px;margin-bottom:10px}.gcard p{color:var(--muted);font-size:15px;margin:0 0 18px;flex:1}.gcard .more{font-size:14.5px}
.c4img.wide{aspect-ratio:4/3}.c4body small.by{display:block;color:var(--brand);font-weight:700;font-size:13px;margin:-4px 0 8px}
/* spotlight */
.spot{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;background:var(--soft);border-radius:32px;padding:40px;align-items:start}
.spcopy h3{font-size:30px;margin:14px 0 12px}.spcopy .tags{margin:0 0 16px}.spcopy p{color:var(--muted);margin:0 0 22px}
.av.lg{width:64px;height:64px;font-size:26px;font-family:var(--fh);background:linear-gradient(135deg,#6a4fc4,#482d91);color:#fff}
.spstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}
.spstats div{background:#fff;border-radius:16px;padding:14px}.spstats b{display:block;font-family:var(--fh);font-size:16px;line-height:1.25}.spstats span{font-size:12.5px;color:var(--faint);font-weight:600}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dgrid .dcard{width:auto}
/* quotes with fewer items */
.quotes.q2{columns:2}.quotes.q1{columns:1;max-width:640px;margin:0 auto}
/* CTA band */
.ctaband{position:relative;overflow:hidden;text-align:center;border-radius:32px;padding:72px 40px}
.ctaband.dark{background:radial-gradient(80% 120% at 50% 0%,#2e1f5e,#0B0B0F 65%);color:#fff}
.ctaband .cglow{position:absolute;left:50%;top:-40%;width:700px;height:500px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(206,189,255,.25),transparent);pointer-events:none}
.ctaband h2{color:#fff;max-width:760px;margin-left:auto;margin-right:auto;position:relative}.ctaband .lead{color:#d6d2dc;margin:0 auto 30px;position:relative}.ctaband .eyebrow{color:var(--lav);position:relative}
.ctaband .btnrow{justify-content:center;position:relative}
.btn.line{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}.btn.line:hover{border-color:#fff;box-shadow:none}
.bpband.slim{grid-template-columns:1.1fr .9fr}
/* video */
.video{position:relative;display:block;max-width:760px;margin:0 auto;border-radius:28px;overflow:hidden;border:1px solid var(--dline);background:var(--dcard)}
.video img{width:100%;aspect-ratio:4/3;object-fit:cover;opacity:.92;transition:opacity .2s}.video:hover img{opacity:1}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--ink);font-weight:800;border-radius:999px;padding:10px 22px 10px 10px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.vplay i{font-style:normal;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center}
/* AR steps */
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.simg{background:radial-gradient(120% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9);padding:22px 22px 0}.simg img{width:100%;aspect-ratio:4/3;object-fit:contain}
.sbody{padding:24px}.sbody .num{display:flex;align-items:center;gap:12px;font-family:var(--fh);font-size:15px;color:var(--brand);margin-bottom:14px}.sbody .num:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.sbody h3{font-size:20px;margin-bottom:8px}.sbody p{margin:0;color:var(--muted);font-size:15px}
/* versus */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:960px;margin:0 auto}.versus.one{grid-template-columns:1fr;max-width:none}
.vcol{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}
.vcol h3{font-size:24px;margin-bottom:16px}.vcol ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.vcol li{display:flex;gap:12px;align-items:flex-start;font-weight:600}.vcol li b{display:block}.vcol li small{display:block;color:var(--faint);font-weight:500;font-size:14px}
.vcol li i{flex:none;width:24px;height:24px;border-radius:50%;margin-top:1px;background:center/13px no-repeat}
.vcol li i.x{background-color:#fdecec;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cc0000' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.vcol li i.ok{background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.vcol li i.ok.g{background-color:#2e9b4f}
.vcol li i.dash{background-color:#eeecf1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E")}
.vcol.win{background:radial-gradient(90% 120% at 90% 0%,#2e1f5e,#0B0B0F 70%);border-color:transparent;color:#fff}.vcol.win h3{color:#fff}.vcol.win .kicker{color:var(--lav)}
.vcol li:not(:last-child){padding-bottom:14px;border-bottom:1px solid var(--line)}.vcol.win li:not(:last-child){border-color:#2a2830}
/* estimator */
.est-hero .hsolo{margin-bottom:40px}.est-hero .intro{color:var(--faint);max-width:640px;margin:-10px auto 0}
.est{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}
.estin{padding:36px;border-right:1px solid var(--line)}.estsub{color:var(--muted);margin:0 0 20px}
.drop{display:flex;align-items:center;justify-content:center;min-height:280px;border:2px dashed #d9d0f5;border-radius:22px;background:var(--lavbg);cursor:pointer;margin-bottom:20px;overflow:hidden;transition:border-color .15s,transform .15s}
.drop:hover,.drop.over{border-color:var(--brand);transform:scale(1.01)}.drop.has{border-style:solid;background:#fff}
.drop img{max-height:320px;width:auto}.dph{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:20px}.dph[hidden],.drop img[hidden]{display:none}
.dicon{width:52px;height:52px;border-radius:16px;background:#fff;color:var(--brand);font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);margin-bottom:8px}
.dph small{color:var(--faint)}.eststat{min-height:24px;margin:14px 0 0;font-weight:600;color:var(--brand)}
.est.busy .estout{opacity:.55}
.estout{padding:36px;background:var(--soft);display:flex;flex-direction:column}
.estcur{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px;font-size:14px;font-weight:600;color:var(--muted)}
.seg{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{font:inherit;font-size:13px;font-weight:700;color:var(--faint);background:none;border:0;border-radius:999px;padding:6px 11px;cursor:pointer}.seg button.on{background:var(--ink);color:#fff}
.estempty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--faint);min-height:240px}.estempty[hidden],.estres[hidden],.sess[hidden]{display:none}
.eicon{width:64px;height:64px;border-radius:50%;background:#fff;color:var(--brand);font-family:var(--fh);font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);margin-bottom:14px}
.range{display:block;font-family:var(--fh);font-size:clamp(34px,4vw,48px);letter-spacing:-.03em;color:var(--brand);line-height:1.1}.sess{display:block;color:var(--muted);font-weight:600;margin-top:6px}
.estres dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 16px}.estres dl div{background:#fff;border-radius:14px;padding:12px 14px}
.estres dt{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.estres dd{margin:2px 0 0;font-weight:700}
.note{font-size:13.5px;color:var(--faint);margin:0}.fine{text-align:center;font-size:13.5px;color:var(--faint);margin:18px auto 0;max-width:640px}
/* about */
.hero.page .hcopy .sub+.sub{font-size:17px}
.facts{padding:0 0 24px}.factrow{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.factrow div{padding:24px;border-right:1px solid var(--line)}.factrow div:last-child{border:0}
.factrow b{display:block;font-family:var(--fh);font-size:28px;letter-spacing:-.03em;color:var(--brand)}.factrow span{font-size:14px;font-weight:600;color:var(--muted)}
.story{max-width:760px;margin:0 auto;text-align:center}.story p{font-size:18px;color:var(--muted);text-align:left;margin:0 0 18px}.story p:first-of-type:first-letter{font-family:var(--fh);font-size:3.2em;float:left;line-height:.9;margin:6px 10px 0 0;color:var(--brand)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.person{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 20px 22px;text-align:center;transition:transform .2s,box-shadow .2s}.person:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.person img{width:120px;height:120px;margin:0 auto 16px;border-radius:50%;box-shadow:0 0 0 5px var(--lavbg)}
.person h3{font-size:18px;margin-bottom:4px}.person p{margin:0 0 14px;color:var(--faint);font-size:14px;min-height:42px}
.soc{display:flex;justify-content:center;gap:8px}.soc a{width:34px;height:34px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:background .15s}
.soc svg{width:16px;height:16px;fill:var(--muted)}.soc a:hover{background:var(--brand)}.soc a:hover svg{fill:#fff}
.twin{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tcard{border-radius:28px;padding:40px;display:flex;flex-direction:column;align-items:flex-start}.tcard h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:12px}.tcard p{margin:0 0 26px;flex:1}
.tcard.dark{background:radial-gradient(90% 120% at 90% 0%,#2e1f5e,#0B0B0F 70%);color:#fff}.tcard.dark h3{color:#fff}.tcard.dark p{color:#d6d2dc}.tcard.dark .eyebrow{color:var(--lav)}
.tcard.lav{background:linear-gradient(160deg,var(--lavbg),#fff);border:1px solid #e6dfff}.tcard.lav p{color:var(--muted)}
/* contact */
.g4.contact{margin-top:8px}
.ccard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;text-decoration:none;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.ccard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.ccard h3{font-size:19px;margin-bottom:8px}.ccard p{color:var(--muted);font-size:15px;margin:0 0 18px;flex:1}.ccard .more{font-size:14.5px;word-break:break-word}
.cicon{width:48px;height:48px;border-radius:14px;background:var(--lavbg);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.cicon svg{width:22px;height:22px;fill:var(--brand)}
.ccard.hot{background:linear-gradient(135deg,#482d91,#6a4fc4);border-color:transparent;color:#fff}.ccard.hot h3{color:#fff}.ccard.hot p{color:#e6defc}.ccard.hot .more{color:#fff}.ccard.hot .cicon{background:rgba(255,255,255,.16)}.ccard.hot .cicon svg{fill:#fff}
.follow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:36px;font-size:14.5px;color:var(--faint)}.follow a{font-weight:700;color:var(--ink);text-decoration:none}.follow a:hover{color:var(--brand)}
.faqask{margin:18px 0 0;font-weight:600;color:var(--muted)}.faqask a{color:var(--brand);text-decoration:none}
/* 404 */
.nf .nfimg{max-height:520px;width:auto;border-radius:28px}.nfel{margin-top:22px;color:var(--faint);font-size:14.5px}.nfel a{color:var(--brand);font-weight:700}

@media(max-width:1060px){
 .act .langdd{display:none}
 header.open .links>.mlang{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);margin-top:8px;padding-top:14px}
 .mlang .gl{width:20px;height:20px;fill:var(--faint);margin:0 6px 0 4px}
 .mlang a{flex:1;text-align:center;font-weight:700;font-size:15px;text-decoration:none;color:var(--muted);background:var(--soft);border-radius:12px;padding:11px}
 .mlang a.cur{background:var(--ink);color:#fff}
 .split2,.spot,.est,.twin,.bpband.slim{grid-template-columns:1fr}.panel,.stick{position:static}
 .steps5{grid-template-columns:1fr 1fr}.g3,.team{grid-template-columns:1fr 1fr}.factrow{grid-template-columns:repeat(3,1fr)}
 .factrow div:nth-child(3){border-right:0}.factrow div:nth-child(-n+3){border-bottom:1px solid var(--line)}
 .estin{border-right:0;border-bottom:1px solid var(--line)}.mosaic{max-width:560px;margin:10px auto 30px}}
@media(max-width:640px){
 .mosaic{gap:8px}.mosaic span{display:none}
 .chiprow{grid-template-columns:1fr;gap:8px}.clabel{padding-top:0}
 .fitems,.g3,.steps5,.versus,.dgrid,.spstats{grid-template-columns:1fr}.team{grid-template-columns:1fr 1fr;gap:10px}.person{padding:20px 12px}.person img{width:88px;height:88px}
 .dgrid{grid-template-columns:1fr 1fr}.spot{padding:22px}.ctaband{padding:48px 22px}.estin,.estout{padding:22px}.estres dl{grid-template-columns:1fr 1fr}
 .factrow{grid-template-columns:1fr 1fr}.factrow div{border-right:0!important;border-bottom:1px solid var(--line)}.factrow div:nth-child(odd){border-right:1px solid var(--line)!important}
 .quotes.q2{columns:1}.tcard{padding:28px}.estcur{flex-direction:column;align-items:flex-start}}
.dgrid .dcard img{aspect-ratio:1;height:auto}
.spot>*,.split2>*,.hgrid>*{min-width:0}
/* video popup */
.vidpop{position:fixed;inset:0;z-index:200;background:rgba(11,11,15,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .25s ease}
.vidin{width:min(960px,100%);aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.vidin.tall{width:auto;height:min(86vh,820px);aspect-ratio:9/16;max-width:100%}
.vidin iframe{width:100%;height:100%;border:0;display:block}
.vidx{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#0B0B0F;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.vidx:hover{transform:scale(1.05)}body.vid-open{overflow:hidden}

@media(max-width:640px){.statrow{grid-template-columns:1fr}.stat{padding:26px 20px}.stat+.stat:before{left:24%;right:24%;top:0;bottom:auto;width:auto;height:1px}}

/* banner link sits right after the text */
.tb-link{margin-left:8px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap}.tb-link:hover{text-decoration-thickness:2px}.topbanner.lav .tb-link{color:#0B0B0F}

/* language picker, light version */
.langdd>button{font-weight:500;font-size:14px;color:var(--muted);background:none;border:0;padding:8px 10px;gap:6px;border-radius:10px}
.langdd>button:hover,.langdd.open>button{color:var(--ink);background:var(--soft);border:0}
.langdd>button .gl{width:18px;height:18px;fill:none;stroke:currentColor}
.langdd>button i{width:5px;height:5px;border-right-width:1.5px;border-bottom-width:1.5px;opacity:.6}
.langdd .ln b{font-weight:600;font-size:14.5px}.langdd .lc{font-family:var(--fb);font-weight:600;font-size:12px;width:34px;height:34px;border-radius:10px}
.mlang .gl{fill:none!important;stroke:var(--faint)}.mlang a{font-weight:500}

/* hero: artist message bubble */
.float.msg{align-items:flex-start;gap:10px;padding:12px 16px 12px 12px;border-radius:18px 18px 18px 6px;max-width:260px}
.float.msg .mav{flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center}.float.msg .mav svg{width:15px;height:15px;fill:#fff}
.float.msg small{display:block;font-size:11.5px;font-weight:600;color:var(--faint);margin-bottom:2px}
.float.msg p{margin:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.f3.msg{left:0;bottom:8%}
.f3.msg{left:-10px;bottom:auto;top:66%}
/* reviews: open one at a time */
.revs{max-width:860px;margin:8px auto 0;display:grid;gap:10px}
.rev{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0;transition:box-shadow .2s,border-color .2s}
.rev:first-child{border-top:1px solid var(--line)}.rev:hover{border-color:#dcd6e6}.rev[open]{box-shadow:var(--shadow)}
.rev summary{display:flex;align-items:center;gap:14px;padding:16px 20px;font-weight:600;font-size:15px}
.rev summary:after{margin-left:auto;flex:none}
.rwho{display:flex;flex-direction:column;flex:none;min-width:130px;line-height:1.25}.rwho b{font-size:15px}.rwho small{font-size:12.5px;color:var(--faint);font-weight:500}
.rteaser{flex:1;min-width:0;color:var(--faint);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rev[open] .rteaser{visibility:hidden}
.rev blockquote{margin:0;padding:0 20px 20px 68px;font-size:16.5px;line-height:1.6;color:var(--ink2)}
@media(max-width:640px){.rteaser{display:none}.rev blockquote{padding:0 18px 18px}.rev summary{padding:14px 16px}}
@media(max-width:640px){.statrow{grid-template-columns:repeat(3,1fr)}.stat{padding:20px 8px}.stat b{font-size:28px}.stat span{font-size:12.5px;line-height:1.3}.stat+.stat:before{left:0;right:auto;top:24%;bottom:24%;width:1px;height:auto}}
.revs{max-width:960px}
/* filters */
.fbox{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.fhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.fcount{margin:0;font-size:16px;color:var(--muted)}.fcount b{font-family:var(--fh);font-size:22px;color:var(--ink);letter-spacing:-.02em}
.fclear{font:inherit;font-size:14px;font-weight:700;color:var(--brand);background:none;border:0;cursor:pointer;padding:6px 0}.fclear[hidden]{display:none}
.fbox .chiprow:first-child{border-top:0}
.chipset a{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.chipset .cnt{font-size:12px;font-weight:600;color:var(--faint);transition:color .15s}
.chipset a.on{background:var(--ink);border-color:var(--ink);color:#fff}.chipset a.on .cnt{color:rgba(255,255,255,.7)}
.chipset a.on:hover{background:var(--ink);color:#fff}
.chipset a.zero{opacity:.35;cursor:default;pointer-events:none}
.chipset a.x{display:none}.chipset.all a.x,.chipset a.x.on{display:inline-flex}
.chmore{font:inherit;font-size:14px;font-weight:700;color:var(--brand);background:none;border:1px dashed #d9d0f5;border-radius:999px;padding:8px 14px;cursor:pointer}
.fres{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.fcard{display:block;text-decoration:none;min-width:0}.fcard img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--soft);transition:transform .2s}.fcard:hover img{transform:translateY(-3px)}
.fcard b{display:block;font-size:13.5px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcard small{display:block;font-size:12.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcard em{display:block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnone{margin:0;color:var(--muted);text-align:center;padding:20px 0}
.ffoot{margin-top:24px;display:flex;justify-content:center}.btn.dim{opacity:.4;pointer-events:none}
@media(max-width:1060px){.fgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.fbox{padding:18px;border-radius:22px}.fgrid{grid-template-columns:repeat(2,1fr)}.fgrid .fcard:nth-child(n+5){display:none}}
@media(max-width:640px){
 .fbox .chipset{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:2px 18px 4px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
 .fbox .chipset::-webkit-scrollbar{display:none}
 .fbox .chipset a{flex:none}.fbox .chipset a.x{display:inline-flex}.fbox .chmore{display:none}
 .fbox .chiprows{gap:14px}.fbox .chiprow{padding-top:14px}}
/* home "all in one place": real screens */
.c4img.shot{display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(120% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9)}
.c4img.shot img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(40,20,90,.16))}
.c4img.shot.s1 img{border-radius:12px}
.c4img.gtext{display:flex;flex-direction:column;justify-content:center;padding:26px;background:radial-gradient(120% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9)}
.gtext .gk{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.gtext ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gtext li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700;box-shadow:0 1px 2px rgba(20,10,40,.05)}
.gtext li i{font-style:normal;color:var(--brand)}
.c4img.gtext{padding:20px;overflow:hidden}.gtext li{padding:10px 13px;font-size:13.5px;line-height:1.3}.gtext ul{gap:7px}

/* =================== v2 home =================== */
.v2hero{padding:40px 0 0;overflow:hidden;position:relative}
.v2hero:before{content:"";position:absolute;left:50%;top:-340px;width:1100px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(206,189,255,.35),transparent);pointer-events:none}
.v2top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;position:relative}
.hardy{font-size:14.5px;font-weight:700;color:var(--brand);text-decoration:none}.hardy:hover{text-decoration:underline}
.v2hero h1{font-size:clamp(40px,6.2vw,84px);line-height:1.02;letter-spacing:-.045em;margin:34px 0 20px;max-width:1100px;position:relative}
.v2hero h1 .hl{color:var(--brand)}
.v2sub{font-size:20px;color:var(--muted);margin:0 0 30px;max-width:640px}
.v2search{display:flex;align-items:center;gap:10px;max-width:680px;background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:6px 6px 6px 20px;box-shadow:0 14px 40px rgba(40,20,90,.10);position:relative}
.v2search svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.v2search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:17px;background:transparent;color:var(--ink);padding:10px 0}
.v2search .btn{padding:13px 24px}
.v2quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--faint)}
.v2quick a{font-weight:600;color:var(--ink2);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff}.v2quick a:hover{border-color:var(--ink)}
.v2facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:30px 0 0;font-size:15px;color:var(--muted)}.v2facts b{color:var(--ink);font-family:var(--fh)}
.v2facts i{width:4px;height:4px;border-radius:50%;background:#c9c4d1;margin:0 6px}
.wall{margin-top:48px;overflow:hidden;padding:10px 0 64px}
.wtrack{display:flex;align-items:flex-start;gap:14px;width:max-content;animation:scroll 90s linear infinite}.wall:hover .wtrack{animation-play-state:paused}
.wt{position:relative;display:block;width:230px;flex:none;border-radius:22px;overflow:hidden;background:var(--soft);text-decoration:none;box-shadow:0 12px 30px rgba(40,20,90,.10);transition:transform .25s}
.wt:hover{transform:translateY(-6px)}
.wt img{width:100%;height:100%;object-fit:cover;display:block}
.wt.t0{height:300px}.wt.t1{height:250px;margin-top:40px}.wt.t2{height:320px;margin-top:10px}.wt.t3{height:260px;margin-top:56px}.wt.t4{height:290px;margin-top:22px}
.wmeta{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:6px;background:rgba(255,255,255,.94);border-radius:12px;padding:7px 10px;font-size:12.5px}
.wmeta b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wmeta em{font-style:normal;font-weight:700;color:var(--brand);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.wtrack{animation:none}}

.v2head{margin-bottom:44px;max-width:760px}.v2head .h2{font-size:clamp(34px,4.6vw,60px);letter-spacing:-.04em}
.v2head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none}.v2head.row>div{max-width:720px}.v2head .lead{margin-top:4px}

.v2index{padding-top:40px}
.igrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ilist{border-top:1px solid var(--line)}
.irow{display:grid;grid-template-columns:90px 1fr 30px;gap:18px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
.irow .ik{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.irow b{display:block;font-family:var(--fh);font-size:22px;letter-spacing:-.02em;color:var(--faint);transition:color .2s}
.irow small{display:block;font-size:15px;color:var(--muted);max-height:0;overflow:hidden;opacity:0;transition:max-height .3s,opacity .3s,margin .3s}
.irow .ia{font-size:20px;color:var(--faint);transition:transform .2s,color .2s}
.irow.on{padding-left:16px;background:linear-gradient(90deg,var(--lavbg),transparent)}
.irow.on .ik{color:var(--brand)}.irow.on b{color:var(--ink)}.irow.on small{max-height:80px;opacity:1;margin-top:6px}.irow.on .ia{color:var(--brand);transform:translateX(4px)}
.iscreen{position:relative;aspect-ratio:1/1;border-radius:32px;background:radial-gradient(110% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9);display:flex;align-items:center;justify-content:center;overflow:hidden}
.iscreen img{position:absolute;max-width:84%;max-height:82%;width:auto;height:auto;object-fit:contain;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .35s,transform .35s;filter:drop-shadow(0 20px 36px rgba(40,20,90,.18));border-radius:10px}
.iscreen img.tall{max-height:92%}.iscreen img.on{opacity:1;transform:none}

.v2artists{overflow:hidden}
.arow{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.arow::-webkit-scrollbar{display:none}
.arow-in{display:flex;gap:16px;padding-bottom:6px}
.acard{flex:none;width:270px;scroll-snap-align:start;text-decoration:none}
.acol{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:230px;margin-bottom:14px}
.acol img{width:100%;height:100%;object-fit:cover;border-radius:12px;background:var(--soft)}.acol img:first-child{grid-row:1/3;border-radius:18px 12px 12px 18px}
.acol img:nth-child(2){border-top-right-radius:18px}.acol img:nth-child(3){border-bottom-right-radius:18px}
.acard b{display:block;font-size:16px}.acard small{display:block;color:var(--faint);font-size:13.5px;margin-top:2px}.acard em{display:inline-block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand);margin-top:6px}
.acard:hover b{color:var(--brand)}

.v2price.soft{background:var(--soft)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column}
.ps{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.pr{font-family:var(--fh);font-size:clamp(34px,3.6vw,46px);letter-spacing:-.04em;margin:8px 0 4px;line-height:1.05}
.pcard small{color:var(--muted);font-size:14.5px}
.pth{display:flex;gap:8px;margin:20px 0 16px}.pth img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--soft)}
.pn{font-size:12.5px;color:var(--faint);margin-top:auto}

.v2quote{text-align:center}
.qbox{max-width:900px;margin:10px auto 0}
.qbox blockquote{margin:0;font-family:var(--fh);font-size:clamp(24px,3vw,36px);line-height:1.25;letter-spacing:-.025em;color:var(--ink);animation:fade .35s ease}
.qbox blockquote[hidden]{display:none}
.qbox cite{display:block;margin-top:20px;font-family:var(--fb);font-style:normal;font-size:15px;font-weight:600;color:var(--faint);letter-spacing:0}
.qnames{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.qnames button{font:inherit;font-size:14px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer}
.qnames button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.qstats{display:flex;justify-content:center;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line);max-width:760px;margin-left:auto;margin-right:auto}
.qstats b{display:block;font-family:var(--fh);font-size:34px;letter-spacing:-.03em}.qstats span{font-size:14px;color:var(--faint);font-weight:600}

.v2bp{background:radial-gradient(70% 120% at 85% 0%,#2e1f5e,#0B0B0F 60%);color:#fff}
.v2bpgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.v2bp h2{color:#fff}.v2bp .lead{color:#d6d2dc}.v2bp .eyebrow,.v2bp .more{color:var(--lav)}

.v2faq summary{font-size:18px}
.v2dl{padding-top:40px}
.v2dlgrid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;border-top:1px solid var(--line);padding-top:72px}
.v2dl h2{font-size:clamp(40px,6vw,80px);letter-spacing:-.045em;line-height:1.02;margin-bottom:18px}.v2dl .lead{margin-bottom:28px}
.v2dl .qr{box-shadow:var(--shadow-lg);border:1px solid var(--line)}

@media(max-width:1060px){.igrid,.v2bpgrid{grid-template-columns:1fr}.pgrid{grid-template-columns:1fr}.v2head.row{flex-direction:column;align-items:flex-start}.iscreen{max-width:560px}}
@media(max-width:640px){
 .v2hero{padding-top:24px}.v2hero h1{margin-top:22px}.v2sub{font-size:17px}
 .v2search{padding-left:14px}.v2search input{font-size:16px}.v2search .btn{padding:11px 16px}
 .wt{width:170px}.wt.t0{height:220px}.wt.t1{height:190px}.wt.t2{height:240px}.wt.t3{height:200px}.wt.t4{height:210px}
 .irow{grid-template-columns:1fr 24px;padding:20px 4px}.irow .ik{grid-column:1/-1}.irow.on{padding-left:10px}
 .acard{width:220px}.acol{height:190px}.qstats{gap:22px}.qstats b{font-size:26px}
 .v2dlgrid{grid-template-columns:1fr}.v2dl .qr{display:none}}
.v2hero h1{font-size:clamp(38px,5.4vw,74px);max-width:none}
.v2head{max-width:920px}
.arow-in{padding:0 max(24px,calc((100vw - 1200px)/2 + 24px))}
.qbox blockquote.long{font-size:clamp(20px,2.2vw,27px);line-height:1.35}
@media(max-width:640px){.arow-in{padding:0 18px}}
.arow{scroll-padding-left:max(24px,calc((100vw - 1200px)/2 + 24px))}
@media(max-width:640px){.arow{scroll-padding-left:18px}}
/* v2 index on touch screens: the screen opens inside the chosen row */
.imob{display:none}
@media(max-width:1060px){
 .iscreen{display:none}
 .irow{grid-template-columns:1fr 24px}.irow .ik{grid-column:1/-1}
 .irow.on .imob{display:flex;grid-column:1/-1;justify-content:center;margin-top:10px;padding:20px;border-radius:22px;background:radial-gradient(110% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9)}
 .imob img{max-width:100%;max-height:360px;width:auto;height:auto;filter:drop-shadow(0 14px 24px rgba(40,20,90,.16));border-radius:8px}
 .irow.on{background:none;padding-left:4px}}
/* v2 features: scroll story */
.sgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start}
.sstep{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:24px 0;opacity:.28;transition:opacity .4s}
.sstep.on{opacity:1}
.sstep .ik{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.sstep h3{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.035em;margin-bottom:14px;max-width:520px}
.sstep p{font-size:18px;color:var(--muted);margin:0 0 18px;max-width:480px}
.sstick{position:sticky;top:calc(50vh - min(34vw,520px)/2 + 20px)}
.sstick .iscreen{aspect-ratio:auto;height:min(34vw,520px)}
.smob{display:none}
@media(max-width:1060px){
 .sgrid{grid-template-columns:1fr;gap:0}.sstick{display:none}
 .sstep{min-height:0;opacity:1;padding:28px 0;border-top:1px solid var(--line)}
 .smob{display:flex;justify-content:center;margin-top:18px;padding:20px;border-radius:22px;background:radial-gradient(110% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9)}
 .smob img{max-width:100%;max-height:380px;width:auto;height:auto;filter:drop-shadow(0 14px 24px rgba(40,20,90,.16));border-radius:8px}}

/* =================== v2 inner pages =================== */
.vh{padding-bottom:72px}.vh .wrap>h1,.vhcopy h1{margin-top:18px}
.vh .eyebrow{position:relative}
.vhgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.vhmedia{position:relative;display:flex;justify-content:center}
.vhmedia img{max-height:560px;width:auto;border-radius:28px;background:radial-gradient(110% 90% at 50% 10%,#e7ddff,var(--lavbg) 60%,#f7f6f9);padding:24px}
.vhb{margin-top:26px}
.v2hero .wall{margin-top:40px}
.v2head.center{text-align:center;margin-left:auto;margin-right:auto}.v2head.center .lead{margin:0 auto}
/* editorial list */
.vlist{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.vlhead{position:sticky;top:110px}.vlhead .h2{font-size:clamp(32px,3.8vw,50px)}.vlhead .lead{margin-bottom:26px}
.vlist ol{list-style:none;margin:0;padding:0}
.vlist li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:30px 0;border-top:1px solid var(--line)}.vlist li:last-child{border-bottom:1px solid var(--line)}
.vn{font-family:var(--fh);font-size:15px;color:var(--brand);padding-top:6px}
.vlist h3{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.025em;margin-bottom:10px}.vlist p{margin:0;color:var(--muted);font-size:17px}
.panel.mini{position:static;box-shadow:var(--shadow);max-width:360px;padding:12px}.panel.mini h3{font-size:18px}.panel.mini .pimg img{aspect-ratio:4/3}
/* journey on the dark band */
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative;padding-top:28px}
.journey:before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:linear-gradient(90deg,var(--lav),rgba(206,189,255,.15))}
.jstep{position:relative;text-decoration:none;color:#fff}
.jdot{position:absolute;top:-28px;left:0;width:13px;height:13px;border-radius:50%;background:var(--dark);border:2px solid var(--lav)}
.jstep:hover .jdot{background:var(--lav)}
.jstep .ik{display:block;font-family:var(--fh);font-size:14px;color:var(--lav);margin-bottom:10px}
.jstep h3{font-size:20px;margin-bottom:8px}.jstep p{color:#c9c5d0;font-size:15px;margin:0}
/* pictures without boxes */
.pics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}.pics.four{grid-template-columns:repeat(4,1fr)}
.pic{text-decoration:none;display:block}
.picimg{border-radius:22px;overflow:hidden;background:var(--lavbg);aspect-ratio:1;margin-bottom:16px}.picimg.wide{aspect-ratio:4/3}
.picimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.pic:hover .picimg img{transform:scale(1.04)}
.pic h3{font-size:20px;margin-bottom:6px}.pic p{color:var(--muted);font-size:15px;margin:0 0 10px}.pic .more{font-size:14.5px}
.pic small.by{display:block;color:var(--brand);font-weight:700;font-size:13px;margin:-2px 0 6px}
.center-lead{margin:-6px auto 0;text-align:center}.qh{margin-bottom:14px}
/* spotlight */
.v2spot{background:var(--soft)}
.spgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;margin-top:10px}
.sph{font-size:clamp(40px,5.4vw,72px);letter-spacing:-.045em;margin-bottom:16px;word-break:break-word}
.spgrid .tags{margin:0 0 18px}.spgrid .lead{margin-bottom:12px}.spmeta{color:var(--faint);font-weight:600;margin:0 0 24px}
.spgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.spgal a{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:1;background:var(--lavbg)}
.spgal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.spgal a:hover img{transform:scale(1.05)}
.spgal span{position:absolute;left:8px;right:8px;bottom:8px;font-size:12px;font-weight:700;background:rgba(255,255,255,.94);border-radius:10px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s}
.spgal a:hover span{opacity:1}
/* link rows */
.vrows{border-top:1px solid var(--line)}
.vrow{display:grid;grid-template-columns:.9fr 1.3fr 30px;gap:24px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s,background .2s}
.vrow b{font-family:var(--fh);font-size:21px;letter-spacing:-.02em}.vrow span{color:var(--muted);font-size:15.5px}.vrow i{font-style:normal;font-size:20px;color:var(--faint);transition:transform .2s,color .2s}
.vrow:hover{padding-left:14px;background:linear-gradient(90deg,var(--lavbg),transparent)}.vrow:hover i{color:var(--brand);transform:translateX(4px)}
.v2dlgrid.one{grid-template-columns:1fr}.v2dl .eyebrow{display:block}
.vcol.plain{box-shadow:none}
/* estimator */
.v2hero.est-hero .vhcopy{max-width:820px;margin-bottom:36px}.est-hero .intro{color:var(--faint);margin:-6px 0 0;max-width:640px}
.v2hero.est-hero .fine{text-align:left;margin-left:0}
/* about */
.about2 h1{font-size:clamp(40px,6vw,82px);max-width:1100px}
.aboutsplit{padding-top:0}
.asgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.asimg{position:sticky;top:100px;border-radius:32px;overflow:hidden;background:radial-gradient(90% 80% at 50% 30%,#e3d8ff,var(--lavbg) 60%,#fff);display:flex;justify-content:center;padding:24px 24px 0}
.asimg img{max-height:620px;width:auto}
.astext p{font-size:18px;color:var(--muted);margin:0 0 18px}.astext p.big{font-family:var(--fh);font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin-bottom:22px}
.astext .eyebrow{margin-top:36px}.astext .h2{margin-bottom:20px}
.qstats.five{max-width:none;border-top:0;padding-top:0;margin-top:0;flex-wrap:wrap}
.team2{display:grid;grid-template-columns:repeat(4,1fr);gap:48px 24px}
.tperson{text-align:left}.tperson img{width:100%;max-width:200px;aspect-ratio:1;border-radius:50%;margin-bottom:16px;background:var(--soft)}
.tperson h3{font-size:19px;margin-bottom:4px}.tperson p{margin:0 0 12px;color:var(--faint);font-size:14.5px}.tperson .soc{justify-content:flex-start}
/* contact */
.crows{margin-top:44px;border-top:1px solid var(--line)}
.crow{display:grid;grid-template-columns:.8fr 1.3fr auto;gap:24px;align-items:center;padding:28px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s,background .2s}
.crow b{font-family:var(--fh);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em}.crow span{color:var(--muted)}.crow em{font-style:normal;font-weight:700;color:var(--brand);white-space:nowrap}
.crow:hover{padding-left:14px;background:linear-gradient(90deg,var(--lavbg),transparent)}
.crow.hot b{color:var(--brand)}
.follow.left{justify-content:flex-start;margin-top:28px}
/* 404 */
.nf2 .vhmedia img{background:none;padding:0}
@media(max-width:1060px){
 .vhgrid,.vlist,.spgrid,.asgrid{grid-template-columns:1fr}.vlhead,.asimg{position:static}.vlist{gap:28px}
 .journey{grid-template-columns:1fr;gap:28px;padding-top:0;padding-left:30px}.journey:before{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,var(--lav),rgba(206,189,255,.15))}
 .jdot{top:4px;left:-30px}
 .pics,.pics.four{grid-template-columns:1fr 1fr}.team2{grid-template-columns:repeat(3,1fr)}
 .vrow,.crow{grid-template-columns:1fr 24px}.vrow span,.crow span{grid-column:1/-1;grid-row:2}.crow em{grid-column:1/-1}}
@media(max-width:640px){
 .pics,.pics.four{grid-template-columns:1fr}.team2{grid-template-columns:1fr 1fr;gap:32px 16px}.spgal{grid-template-columns:1fr 1fr}.spgal span{opacity:1}
 .vhmedia img{max-height:420px}.vlist li{grid-template-columns:40px 1fr}.qstats.five{gap:22px 28px}}
.crow{grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr) 280px}.crow em{text-align:right}
.vhgrid .vhcopy h1{font-size:clamp(36px,4.6vw,64px)}
.sph{font-size:clamp(32px,4.2vw,58px);word-break:normal;overflow-wrap:anywhere}
.sstep{min-height:46vh}
.qh{margin-bottom:34px}
@media(max-width:1060px){.crow{grid-template-columns:1fr 24px}.crow em{text-align:left}}
/* v2 search pages */
.shero{padding-bottom:40px}.shero h1{font-size:clamp(36px,5vw,64px)}
.sres{padding-top:24px}
.sgrid2{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.sfd{position:sticky;top:96px;max-height:calc(100vh - 110px);overflow:auto;scrollbar-width:thin;padding-right:6px}
.sfd summary{font-family:var(--fh);font-size:18px;font-weight:700;padding:0 0 10px;list-style:none;cursor:default}
.sfd summary::-webkit-details-marker{display:none}.sfd summary:after{display:none}
.sfrow{padding:16px 0;border-top:1px solid var(--line)}.sfrow .clabel{display:block;padding:0 0 10px}
.sfrow .chipset a{font-size:13.5px;padding:6px 12px}
.smain{min-width:0}
.sbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ssort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--faint);font-weight:600}
.ssort select{font:inherit;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff;cursor:pointer}
.spills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;min-height:4px}
.spill2{font:inherit;font-size:13.5px;font-weight:600;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:7px 12px;cursor:pointer}.spill2 i{font-style:normal;opacity:.7;margin-left:4px}
.sclear{font:inherit;font-size:13.5px;font-weight:700;color:var(--brand);background:none;border:0;cursor:pointer;padding:7px 4px}
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 16px}
.rcard{display:block;text-decoration:none;min-width:0}
.rcard img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:var(--soft);transition:transform .25s}.rcard:hover img{transform:translateY(-4px)}
.rcard b{display:block;font-size:14.5px;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rcard small{display:block;color:var(--faint);font-size:13px}.rcard em{display:block;font-style:normal;font-weight:700;color:var(--brand);font-size:13px;margin-top:2px}
.ragrid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 20px}
.racard{display:block;text-decoration:none;min-width:0}.racard .acol{height:220px}
.racard b{display:block;font-size:16px}.racard small{display:block;color:var(--faint);font-size:13.5px;margin-top:2px}.racard em{display:inline-block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand);margin-top:6px}
.racard:hover b{color:var(--brand)}
.acol{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin-bottom:14px}
.smore{text-align:center;margin-top:40px}.smore[hidden]{display:none}
@media(max-width:1060px){
 .sgrid2{grid-template-columns:1fr;gap:12px}
 .sfd{position:static;max-height:none;overflow:visible;border:1px solid var(--line);border-radius:18px;padding:14px 16px}
 .sfd summary{cursor:pointer;padding:0;display:flex;justify-content:space-between;align-items:center}.sfd summary:after{display:block;content:"+";color:var(--brand);font-size:22px}
 .sfd[open] summary{padding-bottom:10px}.sfd[open] summary:after{content:"–"}
 .rgrid{grid-template-columns:repeat(3,1fr)}.ragrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.rgrid{grid-template-columns:1fr 1fr;gap:22px 12px}.ragrid{grid-template-columns:1fr}.racard .acol{height:200px}}
/* ---- search designs: gallery ---- */
.gal{padding-top:8px}
.ttiles{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:4px 0 24px}.ttiles::-webkit-scrollbar{display:none}
.ttile{flex:none;display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fff;transition:border-color .15s}
.ttile img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--lavbg)}.ttile b{font-size:14.5px}.ttile .cnt{font-size:12px;color:var(--faint);font-weight:600}
.ttile:hover{border-color:var(--ink)}.ttile.on{background:var(--ink);border-color:var(--ink);color:#fff}.ttile.on .cnt{color:rgba(255,255,255,.7)}.ttile.zero{opacity:.35;pointer-events:none}
.fbar{position:sticky;top:72px;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.fbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.fdds{display:flex;gap:8px;flex-wrap:wrap}
.fdd{position:relative}
.fdd summary{list-style:none;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;background:#fff;white-space:nowrap}
.fdd summary::-webkit-details-marker{display:none}.fdd summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px;opacity:.6;font-size:0}
.fdd[open] summary,.fdd summary:hover{border-color:var(--ink)}
.fdd.set summary{background:var(--ink);color:#fff;border-color:var(--ink)}.fdd .fv:not(:empty):before{content:": ";}.fdd .fv{font-weight:600}
.fmenu{position:absolute;top:calc(100% + 8px);left:0;width:min(440px,86vw);max-height:360px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow-lg);z-index:40}
.fmenu .chipset a{font-size:13.5px;padding:6px 12px}
.gal .sbar{align-items:center;justify-content:flex-start;gap:16px}.gal .spills{margin:0}
.mgrid{columns:5 200px;column-gap:14px}
.mcard{position:relative;display:block;break-inside:avoid;margin:0 0 14px;border-radius:16px;overflow:hidden;background:var(--lavbg);text-decoration:none}
.mcard img{width:100%;height:auto;display:block;min-height:120px;transition:transform .4s}
.mcard:nth-child(3n+2) img{aspect-ratio:3/4;object-fit:cover}.mcard:nth-child(3n) img{aspect-ratio:4/5;object-fit:cover}
.mcard:hover img{transform:scale(1.03)}
.minfo{position:absolute;left:8px;right:8px;bottom:8px;background:rgba(255,255,255,.95);border-radius:12px;padding:8px 10px;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.mcard:hover .minfo,.mcard:focus .minfo{opacity:1;transform:none}
.minfo b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minfo small{display:block;font-size:12.5px;color:var(--faint)}.minfo em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand)}
@media (hover:none){.mcard{background:none;border-radius:0}.mcard img{border-radius:14px}.minfo{position:static;opacity:1;transform:none;background:none;padding:8px 2px 0}}
/* ---- browse artists: directory ---- */
.dir{padding-top:0}
.dtop{margin-bottom:36px}.dtop .clabel{display:block;margin-bottom:12px}
.cities{display:flex;flex-wrap:wrap;gap:10px}
.cities a,.cities .call{display:inline-flex;align-items:baseline;gap:8px;font:inherit;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 20px;cursor:pointer;transition:border-color .15s}
.cities a b,.cities .call{font-family:var(--fh);font-size:19px;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.cities .cnt{font-size:13px;color:var(--faint);font-weight:600}
.cities a:hover,.cities .call:hover{border-color:var(--ink)}
.cities a.on,.cities .call.on{background:var(--ink);border-color:var(--ink)}.cities a.on b,.cities .call.on{color:#fff}.cities a.on .cnt{color:rgba(255,255,255,.7)}
.cities a.zero{opacity:.35;pointer-events:none}.cities a.x{display:none}.cities.all a.x,.cities a.x.on{display:inline-flex}
.cities .chmore{border-radius:16px;padding:14px 18px}
.sside .v2search{margin-bottom:20px;padding-left:14px}.sside .v2search input{font-size:15px}.sside .v2search .btn{padding:10px 14px;font-size:14px}
.sside{position:sticky;top:96px}
.sside .sfd{position:static;max-height:none}
.alist{border-top:1px solid var(--line)}
.arow2{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.ah{font-family:var(--fh);font-size:21px;font-weight:700;letter-spacing:-.02em;text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ah:hover{color:var(--brand)}
.ainfo small{display:block;color:var(--faint);font-size:13.5px;margin:2px 0 10px}.ainfo .tags{margin:0 0 14px}
.abtn{display:flex;gap:8px;flex-wrap:wrap}
.astrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0}.astrip::-webkit-scrollbar{display:none}
.astrip img{flex:none;width:140px;height:140px;border-radius:14px;object-fit:cover;background:var(--lavbg)}
@media(max-width:1060px){.sside{position:static}.arow2{grid-template-columns:1fr}.fbar{top:72px}.mgrid{columns:3}}
@media(max-width:640px){
 .fbar-in{flex-direction:column;align-items:stretch}.fdds{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.fdds::-webkit-scrollbar{display:none}
 .fmenu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:60vh}
 .mgrid{columns:2;column-gap:10px}.cities{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px}.cities a.x{display:inline-flex}.cities .chmore{display:none}
 .cities a,.cities .call{flex:none;padding:11px 15px}.cities a b,.cities .call{font-size:16px}.astrip img{width:110px;height:110px}}
details.fdd,details.sfd{border:0!important;padding:0}details.sfd{padding:0 6px 0 0}
.fdd .fv:not(:empty):before{content:"·";margin:0 4px 0 2px}
.sside .v2search .btn{display:none}.sside .v2search{padding:12px 16px}
/* ---------------------------------------------------------------- design page (/en/designs/<id>) */
.dpage{padding:28px 0 80px}
.dback{display:inline-flex;gap:6px;font-weight:600;font-size:14.5px;color:var(--brand);text-decoration:none}.dback:hover{text-decoration:underline}
.dlayout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;margin-top:22px;align-items:start}
.dimg{margin:0;background:var(--lavbg);border-radius:28px;padding:18px;display:flex;align-items:center;justify-content:center;min-height:520px}
.dimg img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:16px}
.dside{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.dartist{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);text-decoration:none}.dartist:hover{text-decoration:underline}
.dside h1{font-family:var(--fh);font-size:clamp(30px,3.4vw,42px);line-height:1.04;letter-spacing:-.035em;margin:10px 0 0}
.dloc{color:var(--faint);font-weight:500;margin:10px 0 0}
.dchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.dchip{font-size:12.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:5px 12px;text-decoration:none}
.dchip.st{color:var(--brand);background:var(--lavbg);border-color:transparent}.dchip:hover{border-color:var(--brand);color:var(--brand)}
.dfacts{margin:22px 0 0;display:grid;gap:14px}.dfacts div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.dfacts dt{font-size:13px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.dfacts dd{margin:0;font-weight:600}
.dtags{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.dtags h2{font-size:13px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin:0}.dtags .dchips{margin-top:10px}
.dbtns{display:grid;gap:10px;margin-top:26px}.dbtns .btn{width:100%;justify-content:center;text-align:center}
.dnote{margin:0;color:var(--faint);font-size:14px}
.dmore{margin-top:72px}.dmorehead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.dmorehead .h2{margin:0}
.dmore .dgrid{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.dlayout{grid-template-columns:1fr}.dside{position:static}.dimg{min-height:0;padding:12px}.dmore .dgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.dside{padding:22px}.dmore{margin-top:48px}}
/* home hero: text on the left, "how Inkjin works" video on the right */
.v2hgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:center;position:relative}
.v2hgrid h1{font-size:clamp(40px,5.4vw,76px)}
.v2vid{position:relative;display:block;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--dark);box-shadow:var(--shadow-lg);text-decoration:none;color:#fff;transform:rotate(1.5deg);transition:transform .3s}
.v2vid:hover{transform:rotate(0) translateY(-4px)}
.v2vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%;transition:transform .5s}
.v2vid:hover img{transform:scale(1.04)}
.v2vid:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,15,0) 45%,rgba(11,11,15,.85))}
.vplay{position:absolute;left:50%;top:44%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#fff;display:grid;place-items:center;z-index:1;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.vplay svg{width:30px;height:30px;fill:var(--brand);margin-left:4px}.v2vid:hover .vplay{transform:scale(1.08)}
.vcap{position:absolute;left:20px;right:20px;bottom:20px;z-index:1}.vcap b{display:block;font-family:var(--fh);font-size:20px;letter-spacing:-.02em}.vcap small{display:block;font-size:13.5px;opacity:.85;margin-top:4px}
@media (max-width:900px){.v2hgrid{grid-template-columns:minmax(0,1fr);gap:32px}.v2vid{aspect-ratio:16/10;transform:none;max-width:560px}.vplay{top:42%}}
.v2vcol{display:flex;flex-direction:column;gap:18px}
.v2apps{display:flex;flex-direction:column;align-items:center;gap:8px}.v2apps .badges{justify-content:center;gap:10px;flex-wrap:nowrap}.v2apps .badges img{height:44px}
.v2apps small{font-size:13px;color:var(--faint)}
@media (max-width:900px){.v2vcol{max-width:560px}.v2apps{align-items:flex-start}.v2apps .badges{justify-content:flex-start}.v2apps .badges img{height:48px}
 html.is-ios .v2apps .st-and,html.is-android .v2apps .st-ios{display:none}}
a[data-book][hidden]{display:none!important}
/* ---------------------------------------------------------------- artist widgets */
.aph{position:relative;display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--lavbg);color:var(--brand);font-family:var(--fh);font-weight:700;flex:none}
.aph i{font-style:normal}.aph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aph.sm{width:64px;height:64px;font-size:24px;border:3px solid #fff;box-shadow:0 6px 18px rgba(20,10,40,.18)}
.aph.md{width:72px;height:72px;font-size:28px}
.aph.lg{width:100%;height:auto;aspect-ratio:3/4;border-radius:24px;font-size:96px;box-shadow:var(--shadow-lg)}
.achips{display:flex;flex-wrap:wrap;gap:6px}.achips span{font-size:12px;font-weight:600;color:var(--brand);background:var(--lavbg);border-radius:999px;padding:4px 10px}
.achips.lg span{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.astats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.astats>*{display:block;background:var(--soft);border-radius:12px;padding:10px 12px}
.astats small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.astats b{display:block;font-family:var(--fh);font-size:18px;margin-top:2px;color:var(--ink)}
/* small card */
.acard2{flex:none;width:290px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px 10px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s}
.acard2:hover{transform:translateY(-3px)}
.ac-cover{position:relative;display:block;height:170px;border-radius:16px;overflow:hidden;background:var(--soft)}.ac-cover img{width:100%;height:100%;object-fit:cover}
.ac-badge{position:absolute;left:10px;top:10px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:rgba(255,255,255,.92);border-radius:999px;padding:5px 10px}
.ac-badge[hidden]{display:none}
.acard2 .aph.sm{margin:-34px 0 0 14px}
.ac-h{display:block;margin:8px 8px 0;font-size:12.5px;font-weight:700;color:var(--brand)}.ac-loc{display:block;margin:2px 8px 10px;font-size:13.5px;color:var(--faint)}
.acard2 .achips{margin:0 8px 12px;min-height:26px}.acard2 .astats{margin:0 8px}.acard2 .astats b{font-size:16px}
.ac-btn{margin:14px 8px 0;justify-content:center;text-align:center}
/* big profile panel */
.apro{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px;align-items:start}
.apro-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 28px;box-shadow:var(--shadow)}
.apro-h{font-family:var(--fh);font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;line-height:1.05;margin:6px 0 0}
.apro-loc{color:var(--faint);margin:6px 0 14px}.apro-bio{color:var(--muted);line-height:1.6;margin:16px 0}
.apro-card .btnrow{margin-top:18px}
.apro-gh{display:block;margin:26px 0 12px}
.apro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.apro-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.apro-grid img{width:100%;aspect-ratio:1;object-fit:contain;display:block;transition:transform .3s}.apro-grid a:hover img{transform:scale(1.04)}
.apslot{margin-top:8px;margin-bottom:32px}.apslot[hidden]{display:none}
.apro-s{grid-template-columns:minmax(0,220px) minmax(0,1fr)}.apro-s .aph.lg{font-size:72px}
.spslot[hidden]{display:none}
@media (max-width:860px){.apro,.apro-s{grid-template-columns:1fr}.apro-photo{max-width:240px}.apro-s .apro-photo{max-width:160px}.apro-card{padding:22px}}
/* design page: about the artist */
.dabout{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,360px) auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 22px;box-shadow:var(--shadow)}
.dabout-t b{display:block;font-family:var(--fh);font-size:22px;letter-spacing:-.02em}.dabout-t small{color:var(--faint)}.dabout-t .eyebrow{font-size:11px}
.dabout-b{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:960px){.dabout{grid-template-columns:auto 1fr}.dabout .astats,.dabout-b{grid-column:1/-1}}
.acard2 .achips{max-height:26px;overflow:hidden}.ac-btn{margin-top:auto}.acard2 .astats{margin-bottom:14px}
.acard2 .astats>*{padding:8px 10px}.acard2 .astats small{font-size:10px;letter-spacing:.06em}
/* video cards on the AR and estimator heroes */
.vhmedia .v2vid.tall{aspect-ratio:720/1000;width:100%;max-width:420px;margin-left:auto}
.esttop{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:center;margin-bottom:36px}
.esttop .vhcopy{margin-bottom:0}.v2vid.est{aspect-ratio:4/5;width:100%}.v2vid.est img{object-position:50% 30%}
@media (max-width:900px){.esttop{grid-template-columns:minmax(0,1fr)}.v2vid.est{aspect-ratio:16/10;max-width:560px}.vhmedia .v2vid.tall{margin:0;max-width:360px}}
.apro-grid.pf7,.apro-grid.pf8{grid-template-columns:repeat(4,1fr)}.apro-grid[class*=pf] img{aspect-ratio:4/5;object-fit:cover}
@media (max-width:600px){.apro-grid.pf7,.apro-grid.pf8{grid-template-columns:repeat(2,1fr)}}
/* artist card button: smaller text, long handles never overflow */
.ac-btn{display:block;font-size:13.5px;padding:12px 16px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.picimg.tall{aspect-ratio:4/5}
/* "From idea to tattoo": less purple, white and grey on dark */
.v2journey .eyebrow{color:#a8a3b0}
.v2journey .journey:before{background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,.08))}
.v2journey .jdot{border-color:rgba(255,255,255,.7)}.v2journey .jstep:hover .jdot{background:#fff}
.v2journey .jstep .ik{color:#8d8896}
.v2journey .slink{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35)}
.v2journey .jstep:hover .slink{text-decoration-color:#fff}
@media (max-width:900px){.v2journey .journey:before{background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.08))}}
section.dark.v2journey .eyebrow{color:#a8a3b0}
/* artist lists: no artist counts shown (chips, totals) */
[data-filter="artists"] .cnt,[data-search="artists"] .cnt,[data-filter="artists"] .fcount,[data-filter="artists"] [data-total]{display:none}
.arow2.plain{grid-template-columns:1fr}
.apro-grid.pf5,.apro-grid.pf6{grid-template-columns:repeat(3,1fr)}
/* company information */
.ci-hero{padding-bottom:28px}.ci{padding:8px 0 90px}
.cigrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.cibox{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 30px}.cibox.soft{background:var(--soft)}
.cibox h2{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0 0 8px}
.cibox dl{margin:0}.cibox dl div{padding:14px 0;border-top:1px solid var(--line)}.cibox dl div:first-child{border-top:0}
.cibox dt{font-weight:700;font-size:15px}.cibox dd{margin:4px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
@media (max-width:860px){.cigrid{grid-template-columns:1fr}.cibox{padding:22px}}
/* about intro: normal body text, not a second headline */
.astext p.big{font-family:var(--fb);font-size:20px;font-weight:400;line-height:1.6;letter-spacing:0;color:var(--ink2);margin-bottom:18px}
/* team cards: centered on every screen */
.tperson{text-align:center;display:flex;flex-direction:column;align-items:center}
.tperson img{margin-left:auto;margin-right:auto}
.tperson .soc{justify-content:center}
/* design page: "More from @artist" in one column on phones */
@media (max-width:600px){.dmore .dgrid{grid-template-columns:1fr}}
/* dark mode on phones: keep the site light, and put every tattoo design on a solid light background
   (many designs are transparent PNGs: black ink on nothing, which vanishes when a browser darkens the page) */
:root{color-scheme:only light}
html,body{background-color:#fff}
img[src*="/images/designs/"],.mcard img,.wt img,.dcard img,.dimg img,.ttile img,.fcard img,.ac-cover img,.apro-grid img,.astrip img,.spgal img,.acol img{background-color:#fff}
/* download page */
.dlpage{padding-bottom:80px}
.dlgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:56px;align-items:center}
.dlpts{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px}
.dlpts li{position:relative;padding-left:30px;font-size:17px;color:var(--ink2)}
.dlpts li:before{content:"✓";position:absolute;left:0;top:0;color:var(--brand);font-weight:800}
.dlcopy .dlrate{margin-top:20px}
.dlside{display:flex;align-items:flex-end;gap:22px;justify-content:center}
.dlphone{width:260px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--dark)}.dlphone img{display:block;width:100%;height:auto}
.dlqr{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;text-align:center}.dlqr img{display:block;width:150px;height:150px}
.dlqr span{display:block;font-size:13px;font-weight:600;color:var(--faint);margin-top:8px}
@media (max-width:900px){.dlgrid{grid-template-columns:minmax(0,1fr);gap:36px}.dlqr{display:none}.dlphone{width:220px}.dlside{justify-content:flex-start}}
.dlcopy .dlrate .chip{background:#fff;border-color:var(--line);color:var(--muted);box-shadow:var(--shadow)}.dlcopy .dlrate .chip b{color:var(--ink)}
/* download page: the QR code is the main thing on a computer; the phone picture sits behind it */
.dlside{position:relative;display:block;min-height:440px}
.dlphone{position:absolute;right:0;top:0;width:210px;opacity:.95;transform:rotate(4deg)}
.dlqr{position:relative;z-index:1;display:inline-block;margin-top:70px;padding:24px;border-radius:28px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.dlqr img{width:250px;height:250px}
.dlqr span{font-size:16px;font-weight:700;color:var(--ink);margin-top:12px}
@media (max-width:900px){.dlside{min-height:0}.dlphone{position:static;transform:none;width:200px}.dlqr{display:none}}
