/* ArtikHub · front-end "Rough lines, real software". Own CSS. Palette: ink green, paper, tomato, sun, sea. No violet. */
@font-face{font-family:"Bricolage";src:url(fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/fraunces-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Caveat";src:url(fonts/caveat-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"JBMono";src:url(fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 800;font-display:swap}

:root{
  /* ArtikHub palette (approved: petrol, neutral white, turquoise). Other reviewed variants: variants-backup/palette-variants.css */
  --tomato:#ff5b35; --sea:#2aa89a; /* demo-UI colours, not palette */
  --f-d:"Bricolage",system-ui,sans-serif; --f-s:"Fraunces",Georgia,serif; --f-h:"Caveat","Segoe Script",cursive; --f-m:"JBMono",ui-monospace,monospace;
  --gut:clamp(20px,4.5vw,84px);
  --ink:#082c34; --ink-rgb:8 44 52; --ink2:#0d3d47; --pine:#0f5560; --paper:#f2f6f6; --paper-rgb:242 246 246; --paper2:#dfe7e8; --sand:#d9e7e9;
  --accent:#14d6c8; --accent-rgb:20 214 200; --accent-hover:#4ae9dc; --on-accent:#082c34; --accent-d:#07666e; --sun:#5cf0e3; --accent-pale:#cff6f2; --accent-tint:#e0f6f4;
  --card1:#cde4e8; --card3:#dde9ea; --glow-rgb:20 160 170; --glow2-rgb:20 190 190; --glowc:#0f6f7c; --glowc2:#0d5560;
  --note:#07666e; --hot:#0b7e86; --sh1:#082c34; --sh2:#0f5560; --sh3:#0f7f8a; --sh4:#14a8a0; --sh5:#0d3d47;
  --cream-line:rgb(var(--paper-rgb) / .18);
}*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--paper);font:400 clamp(16px,1.15vw,19px)/1.5 var(--f-d);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.solve :focus-visible,.pricing :focus-visible,.make :focus-visible{outline-color:var(--ink)}
.skip{position:fixed;left:12px;top:-60px;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:10px;z-index:100;font-weight:700}
.skip:focus{top:12px}
.wrap{padding-inline:var(--gut);max-width:1760px;margin-inline:auto}
.giant{font:800 clamp(52px,9.6vw,190px)/.88 var(--f-d);letter-spacing:-.04em}
.giant span{display:block}
.giant em,.h1 em{font:italic 500 1em/1 var(--f-s);letter-spacing:-.03em}
.giant.dark{color:var(--ink)} .giant.dark em{color:var(--accent-d)}
.giant.light em{color:var(--sun)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:46px;padding:.7em 1.3em;border-radius:999px;background:var(--accent);color:var(--on-accent);font:700 1rem/1 var(--f-d);text-decoration:none;border:0;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 10px 30px -10px rgb(var(--accent-rgb) / .75)}
.btn:hover{transform:translateY(-2px) rotate(-1deg);background:var(--accent-hover)}
.btn-sm{min-height:40px;padding:.55em 1.05em;font-size:.92rem}
.btn-big{min-height:62px;padding:.9em 1.9em;font-size:clamp(1.05rem,1.4vw,1.3rem)}
.btn-ghost{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 2px rgb(var(--paper-rgb) / .55)}
.btn-ghost:hover{background:rgb(var(--paper-rgb) / .12)}

/* header */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px var(--gut);mix-blend-mode:normal;pointer-events:none}
.top>*{pointer-events:auto}
.logo{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:rgb(var(--ink-rgb) / .6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--cream-line);text-decoration:none;font:800 1.45rem/1 var(--f-d);letter-spacing:-.03em;color:var(--paper)}
.logo svg{width:30px;height:30px;color:var(--paper)} .logo b{color:var(--sun);font-weight:800}
.nav{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgb(var(--ink-rgb) / .55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--cream-line)}
.nav a{padding:.5em 1em;border-radius:999px;text-decoration:none;font:600 .92rem/1 var(--f-d);color:var(--paper)}
.nav a:hover{background:rgb(var(--paper-rgb) / .14)}
.top-r{display:flex;align-items:center;gap:10px}
.lang{display:flex;border-radius:999px;padding:3px;background:rgb(var(--ink-rgb) / .55);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--cream-line)}
.lang a{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--paper);font:600 .8rem/1 var(--f-m);padding:.65em .8em;border-radius:999px;cursor:pointer;min-width:40px;min-height:34px;text-decoration:none}
.lang a[aria-current=true]{background:var(--paper);color:var(--ink)}

/* backgrounds */
.bg{position:absolute;inset:0;pointer-events:none}
.bg-fallback{background:radial-gradient(70% 60% at 50% 72%,var(--glowc) 0,transparent 62%),radial-gradient(55% 50% at 14% 20%,var(--glowc2) 0,transparent 70%),radial-gradient(50% 45% at 88% 30%,var(--glowc2) 0,transparent 70%),linear-gradient(180deg,var(--ink),var(--ink))}
.bg-shader{opacity:.9;mix-blend-mode:screen}
/* values moved out of style="" attributes (CSP without unsafe-inline) */
.bars i:nth-child(1){--h:40%}.bars i:nth-child(2){--h:62%}.bars i:nth-child(3){--h:48%}.bars i:nth-child(4){--h:78%}.bars i:nth-child(5){--h:58%}.bars i:nth-child(6){--h:92%}.bars i:nth-child(7){--h:70%}
.notes .note:nth-child(1){left:190px;top:12px}.notes .note:nth-child(2){left:600px;top:468px}.notes .note:nth-child(3){left:850px;top:560px}.notes .note:nth-child(4){left:1000px;top:112px}
.tags span:nth-child(1){left:0;top:640px}.tags span:nth-child(2){left:520px;top:640px}.tags span:nth-child(3){left:960px;top:640px}
.bg-shader canvas{width:100%!important;height:100%!important;display:block}
@keyframes shin{from{opacity:0}}.bg-shader[data-ready] canvas{animation:shin .9s ease-out} /* shader starts after first paint: fade it over the CSS gradient */
.bg-light{background:radial-gradient(40% 36% at 50% 100%,rgb(var(--glow2-rgb) / .38),transparent 72%),radial-gradient(30% 24% at 50% 44%,rgb(var(--glow-rgb) / .10),transparent 70%)}
.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* HERO */
.hero{position:relative;height:100svh;min-height:640px}
.hero-pin{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--ink);display:grid;place-items:center}
.sheets i{position:absolute;display:block;border-radius:6px;background:linear-gradient(135deg,rgb(var(--paper-rgb) / .13),rgb(var(--paper-rgb) / .02));box-shadow:inset 0 0 0 1px rgb(var(--paper-rgb) / .14),0 40px 80px -30px rgba(0,0,0,.6)}
.sheet.s1{width:46vw;height:62vh;left:-8vw;top:14vh;transform:rotate(-9deg)}
.sheet.s2{width:40vw;height:56vh;right:-7vw;top:6vh;transform:rotate(7deg)}
.sheet.s3{width:50vw;height:34vh;left:26vw;bottom:-12vh;transform:rotate(-3deg);background:linear-gradient(180deg,rgb(var(--glow2-rgb) / .14),rgb(var(--paper-rgb) / .02))}
.hero-copy{position:relative;z-index:3;text-align:center;padding:clamp(80px,12vh,140px) var(--gut) 8vh;max-width:1500px;margin-inline:auto;will-change:transform,opacity}
.kicker{font:600 clamp(11px,.9vw,14px)/1 var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:var(--sun);margin-bottom:clamp(16px,3vh,32px)}
.h1{font:800 clamp(50px,11.4vw,230px)/.86 var(--f-d);letter-spacing:-.05em;text-wrap:balance}
.h1 .ln{display:block;white-space:nowrap}
html[lang=es] .h1{font-size:clamp(44px,9vw,185px)}
.h1 em{color:var(--sun);font-weight:500;position:relative;padding-inline:.04em}
.lead{max-width:36em;margin:clamp(20px,3.6vh,40px) auto 0;font-size:clamp(17px,1.55vw,26px);line-height:1.35;color:rgb(var(--paper-rgb) / .88);text-wrap:balance}
.cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(22px,4vh,44px)}
.cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:500 11px/1 var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--paper-rgb) / .7);z-index:3}
.cue i{width:1px;height:34px;background:linear-gradient(var(--paper),transparent);animation:cue 2s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* MAKE (sketch -> product) */
.make{position:relative;background:var(--paper);color:var(--ink);border-radius:clamp(28px,4vw,72px) clamp(28px,4vw,72px) 0 0;margin-top:-4vh;z-index:2}
.make-pin{position:relative;min-height:100svh;padding:clamp(80px,11vh,130px) var(--gut) 5vh;overflow:hidden;border-radius:inherit}
.paper-bg{position:absolute;inset:0;background:
  radial-gradient(60% 50% at 70% 85%,rgb(var(--glow-rgb) / .30),transparent 70%),
  radial-gradient(40% 40% at 8% 10%,rgb(var(--glow-rgb) / .16),transparent 70%),
  linear-gradient(rgb(var(--ink-rgb) / .07) 1px,transparent 1px) 0 0/44px 44px,
  linear-gradient(90deg,rgb(var(--ink-rgb) / .07) 1px,transparent 1px) 0 0/44px 44px,var(--paper)}
.make .giant{position:relative;z-index:1;font-size:clamp(44px,6.4vw,124px);color:var(--ink)}
.make .giant span:nth-child(2){font:italic 500 1em/.95 var(--f-s);color:var(--accent-d);padding-left:.9em;letter-spacing:-.04em}
.stage-wrap{position:relative;z-index:2;display:grid;place-items:center;margin-top:clamp(8px,1.4vw,24px)}
.stage{position:relative;width:1280px;height:700px;transform-origin:50% 0;flex:none}
.demo-note{font:500 .8rem/1 var(--f-m);letter-spacing:.06em;color:rgb(var(--ink-rgb) / .72);text-align:center;margin-top:12px;position:relative;z-index:2}
.stage-wrap{display:block;position:relative;height:calc(700px * var(--k,1) + 26px)}
.stage-wrap .stage{position:absolute;left:50%;top:0;margin-left:-640px}
.stage-wrap .demo-note{position:absolute;left:0;right:0;bottom:0;margin:0}
.stage.m{width:640px;height:900px;margin-left:-320px!important}
.stage.m .win{left:0;top:10px;transform:scale(.8);transform-origin:0 0}
.stage.m .phone{left:330px;top:340px}
.stage.m .site{left:6px;top:470px;transform:rotate(3deg) scale(.82);transform-origin:0 0}
.stage.m .notes,.stage.m .tags{display:none}
.sk{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}
.sk path{fill:none;stroke:var(--ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sk .hot path{stroke:var(--hot);stroke-width:2.4}
.sk text{font:700 24px var(--f-h);fill:var(--note)}
.notes{position:absolute;inset:0;z-index:6;pointer-events:none}
.note{position:absolute;font:700 25px/1 var(--f-h);color:var(--note);transform:rotate(-3deg);white-space:nowrap}
.tags span{position:absolute;font:600 15px/1 var(--f-m);letter-spacing:.04em;padding:.7em 1.1em;border-radius:999px;background:var(--ink);color:var(--paper);z-index:6}
.tags b{color:var(--sun);margin-right:.5em}
.tags{position:absolute;inset:0;pointer-events:none}

/* polished UI: window */
.win{position:absolute;left:0;top:70px;width:700px;height:490px;border-radius:16px;background:#fafaf8;box-shadow:0 50px 90px -30px rgb(var(--ink-rgb) / .5),0 0 0 1px rgb(var(--ink-rgb) / .12);overflow:hidden;z-index:2;font:500 13px/1.3 var(--f-d);color:var(--ink)}
.win-bar{display:flex;align-items:center;gap:7px;height:36px;padding:0 14px;background:#e8e9e4;border-bottom:1px solid rgb(var(--ink-rgb) / .1)}
.win-bar i{width:10px;height:10px;border-radius:50%;background:#c3c8c1}.win-bar i:first-child{background:var(--tomato)}.win-bar i:nth-child(2){background:var(--accent-pale)}
.url{margin-left:14px;flex:1;max-width:300px;font:500 11px var(--f-m);padding:5px 12px;border-radius:99px;background:#fafaf8;color:#5b6a66}
.win-body{display:flex;height:454px}
.side{width:150px;background:var(--ink);color:var(--paper);padding:16px 12px}
.brand{display:flex;align-items:center;gap:9px;font:800 15px var(--f-d);margin-bottom:20px}.brand b{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--sun))}
.side ul{list-style:none;padding:0;display:grid;gap:3px}.side li{padding:9px 10px;border-radius:8px;color:rgb(var(--paper-rgb) / .75)}.side li.on{background:rgb(var(--paper-rgb) / .12);color:#fff;font-weight:700}
.main{flex:1;padding:14px 16px;display:grid;gap:10px;grid-template-rows:auto auto auto 1fr;min-width:0}
.m-head{display:flex;align-items:center;gap:10px}.m-head h3{font:800 20px var(--f-d);letter-spacing:-.02em;margin-right:auto}
.search{padding:7px 12px;border-radius:8px;background:#ecebe6;color:#566360;font-size:12px;width:150px}
.mini-btn{border:0;background:var(--ink);color:var(--paper);font:700 12px var(--f-d);padding:8px 12px;border-radius:8px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpis>div{padding:10px 12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .1);display:grid}
.kpis small,.chart small,.low small{font:500 10.5px var(--f-m);color:#6a7772;letter-spacing:.03em;text-transform:uppercase}
.kpis b{font:800 25px/1.1 var(--f-d);letter-spacing:-.03em}.kpis em{font:600 11px var(--f-d);font-style:normal}.up{color:#176146}.warn{color:#c4511f}
.mid{display:grid;grid-template-columns:1.7fr 1fr;gap:10px}
.chart,.low{padding:10px 12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .1)}
.bars{display:flex;align-items:flex-end;gap:7px;height:78px;margin-top:8px}.bars i{flex:1;height:var(--h);border-radius:5px 5px 2px 2px;background:#cfe6df}.bars i.hi{background:var(--hot)}
.low p{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed rgb(var(--ink-rgb) / .15);font-size:12px}.low p:last-child{border:0}
.tbl{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .1);overflow:hidden}
.tbl td{padding:8px 11px;border-bottom:1px solid rgb(var(--ink-rgb) / .07)}.tbl tr:last-child td{border:0}.tbl td:nth-child(1){font:500 11px var(--f-m);color:#6a7772}.tbl td:nth-child(3){text-align:right;font-weight:700}.tbl td:last-child{text-align:right;width:84px}
.pill{font:700 10.5px var(--f-d);padding:3px 9px;border-radius:99px}.pill.ok{background:#d6efe5;color:#176146}.pill.go{background:#e3e8e6;color:#36504a}.pill.late{background:#ffd9cd;color:#a63112}

/* polished UI: phone */
.phone{position:absolute;left:712px;top:10px;width:250px;height:560px;border-radius:38px;background:#fafaf8;box-shadow:0 0 0 9px var(--ink),0 0 0 10px var(--pine),0 50px 80px -20px rgb(var(--ink-rgb) / .6);padding:34px 14px 14px;z-index:4;font:500 12px/1.3 var(--f-d);color:var(--ink);display:flex;flex-direction:column;gap:9px;overflow:hidden}
.notch{position:absolute;left:50%;top:9px;width:78px;height:20px;border-radius:99px;background:#14201f;transform:translateX(-50%)}
.ph-head small{font:500 10px var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:#566360}.ph-head h4{font:800 22px/1.1 var(--f-d);letter-spacing:-.03em}
.map{border-radius:16px;overflow:hidden;background:#e8ebe6;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .1)}.map svg{width:100%;height:auto}
.job{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .1)}
.job small{display:block;font:500 10px var(--f-m);color:#c4511f;margin-bottom:2px}.job b{display:block;font-size:13.5px;letter-spacing:-.01em}.job span{color:#6a7772;font-size:11.5px}
.job.now{background:var(--ink);color:var(--paper);box-shadow:none;flex-wrap:wrap}.job.now span{color:rgb(var(--paper-rgb) / .7)}.job.now small{color:var(--sun)}
.go{border:0;background:var(--accent);color:var(--on-accent);font:800 12px var(--f-d);padding:9px 14px;border-radius:99px}
.chev{font-style:normal;font-size:20px;color:#566360}
.tabs{margin-top:auto;display:flex;justify-content:space-around;padding-top:6px}.tabs i{width:26px;height:5px;border-radius:9px;background:#d4d8d1}.tabs i.on{background:var(--ink)}

/* polished UI: website */
.site{position:absolute;left:930px;top:150px;width:350px;height:300px;border-radius:14px;background:#f5f3ee;box-shadow:0 40px 70px -26px rgb(var(--ink-rgb) / .45),0 0 0 1px rgb(var(--ink-rgb) / .12);transform:rotate(3.5deg);overflow:hidden;z-index:1;color:var(--ink);padding:12px 16px}
.s-nav{display:flex;gap:16px;align-items:center;font:600 11px var(--f-d)}.s-nav b{font:700 17px var(--f-s);margin-right:auto;letter-spacing:-.02em}.s-btn{background:var(--ink);color:#f5f3ee;padding:5px 11px;border-radius:99px}
.s-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:8px;margin-top:20px;align-items:center}
.s-copy small{font:500 10px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#a8431a}.s-copy h5{font:600 30px/.98 var(--f-s);letter-spacing:-.03em;margin:7px 0 8px}.s-copy p{font-size:11px;margin-bottom:12px}
.s-cta{display:inline-block;background:#bf4a1c;color:#fff;font:700 11px var(--f-d);padding:7px 12px;border-radius:99px}
.s-art{position:relative;height:200px;border-radius:120px 120px 14px 14px;background:linear-gradient(180deg,#ffb08a,#ff7a4d 60%,#e2512a)}
.sun{position:absolute;left:50%;top:26px;width:62px;height:62px;border-radius:50%;background:#ffffff;transform:translateX(-50%);box-shadow:0 0 40px #ffffff}
.loaf{position:absolute;bottom:14px;border-radius:50% 50% 38% 38%;background:linear-gradient(180deg,#b2552f,#7a2f1a)}.lf1{left:12%;width:44%;height:40px}.lf2{right:8%;width:36%;height:32px}

/* TILTED BANNERS */
.bands{position:relative;z-index:3;height:clamp(300px,42vw,560px);background:var(--paper);overflow:hidden}
.band{position:absolute;left:-10vw;width:120vw;overflow:hidden;white-space:nowrap}
.band .track{display:inline-flex;align-items:center;gap:.5em;padding:.14em 0;will-change:transform}
.b1{top:22%;transform:rotate(-4deg);background:var(--pine);color:var(--paper);box-shadow:0 30px 60px -30px rgb(var(--ink-rgb) / .6);font:800 clamp(46px,8.4vw,150px)/1 var(--f-d);letter-spacing:-.04em;text-transform:none}
.b1 i{font:normal 500 .5em var(--f-s);color:var(--sun)}
.b2{top:56%;transform:rotate(2.6deg);background:var(--ink);color:var(--paper);font:italic 500 clamp(36px,6vw,108px)/1 var(--f-s);letter-spacing:-.03em;box-shadow:0 30px 60px -30px rgb(var(--ink-rgb) / .7)}
.b2 i{font:normal 700 .6em var(--f-d);color:var(--sun)}
.track span,.track i{padding-inline:.25em}
.bands::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at 50% 50%,rgb(var(--glow-rgb) / .25),transparent 70%)}

/* SOLVE */
.solve{background:var(--paper);color:var(--ink);padding:clamp(40px,8vw,120px) 0 clamp(60px,9vw,150px);position:relative;z-index:2}
.solve .giant{font-size:clamp(46px,8vw,160px);max-width:12em}
.rows{list-style:none;padding:0;margin-top:clamp(30px,6vw,90px);border-top:2px solid var(--ink)}
.rows li{display:grid;grid-template-columns:64px 1.15fr 1fr auto;align-items:center;gap:clamp(12px,2.5vw,48px);padding:clamp(18px,2.2vw,34px) 0;border-bottom:2px solid var(--ink);transition:background .25s,padding .25s,color .25s}
.rows li:hover{background:var(--ink);color:var(--paper);padding-inline:clamp(12px,2vw,30px)}
.n{font:600 14px var(--f-m);color:var(--accent-d)}
.prob{font:800 clamp(24px,3.7vw,68px)/.98 var(--f-d);letter-spacing:-.035em}
.res{font:italic 500 clamp(20px,2.3vw,42px)/1.08 var(--f-s);letter-spacing:-.02em;color:var(--pine)}
.rows li:hover .res{color:var(--sun)}
.tag{font:600 12px var(--f-m);letter-spacing:.08em;text-transform:uppercase;padding:.7em 1.1em;border-radius:99px;box-shadow:inset 0 0 0 2px currentColor;white-space:nowrap}

/* PROOF (tilted) */
.proof{position:relative;z-index:2;background:var(--paper);padding-bottom:clamp(60px,9vw,150px);overflow:hidden}
.proof-rot{margin:0 -4vw;padding:clamp(40px,6vw,90px) calc(4vw + var(--gut));background:var(--pine);transform:rotate(-2.4deg);box-shadow:0 40px 80px -40px rgb(var(--ink-rgb) / .7);position:relative}
.proof-rot::before{content:"";position:absolute;inset:0;background:linear-gradient(rgb(var(--paper-rgb) / .06) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgb(var(--paper-rgb) / .06) 1px,transparent 1px) 0 0/40px 40px}
.proof-h{position:relative;font:800 clamp(28px,4.2vw,76px)/1 var(--f-d);letter-spacing:-.04em;margin-bottom:clamp(22px,3vw,44px)}
.proof-h small{display:block;margin-top:.6em;font:500 12px var(--f-m);letter-spacing:.06em;color:rgb(var(--paper-rgb) / .75);text-transform:none}
.proof-car{--peek:clamp(26px,6vw,96px);--gap:clamp(16px,2.4vw,40px);position:relative}
.proof-row{position:relative;display:flex;gap:var(--gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--peek);padding:30px var(--peek) 40px;margin:-30px calc(var(--peek) * -1) -40px;scrollbar-width:none}
.proof-row::-webkit-scrollbar{display:none}
.proof-row .card{flex:0 0 calc((100% - 2 * var(--peek) - 2 * var(--gap)) / 3);scroll-snap-align:start;transition:transform .3s,opacity .3s}
.proof-row .card.is-out{opacity:.5}
.car-btn{position:absolute;top:calc(50% - 22px);z-index:3;width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.6)}
.car-btn[hidden]{display:none}
.car-btn.prev{left:calc(var(--peek) / -2 - 22px + 8px)}.car-btn.next{right:calc(var(--peek) / -2 - 22px + 8px)}
.car-btn[aria-disabled=true]{opacity:.35;cursor:default}
.card{display:block;text-decoration:none;background:var(--paper);color:var(--ink);padding:10px 10px 16px;border-radius:10px;box-shadow:0 30px 50px -24px rgba(0,0,0,.7);transition:transform .3s}
.card img{width:100%;height:auto;border-radius:6px;aspect-ratio:16/10;object-fit:cover}
.card span{display:flex;justify-content:space-between;margin-top:12px;font:800 clamp(16px,1.6vw,26px) var(--f-d);letter-spacing:-.02em}
.card em{color:var(--ink);font-style:normal}
.c1{transform:rotate(-2deg)}.c2{transform:rotate(1.6deg) translateY(18px)}.c3{transform:rotate(-1deg)}
.card:hover{transform:rotate(0) translateY(-8px)}

/* HOW (three steps) */
.how{position:relative;z-index:2;background:var(--ink);padding:clamp(70px,9vw,150px) 0 clamp(60px,8vw,120px);overflow:clip;
  background-image:linear-gradient(rgb(var(--paper-rgb) / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--paper-rgb) / .05) 1px,transparent 1px),radial-gradient(60% 40% at 80% 20%,rgb(var(--glow-rgb) / .22),transparent 70%);background-size:48px 48px,48px 48px,auto}
.how .giant{font-size:clamp(56px,13vw,260px)}
.deck{margin-top:clamp(30px,5vw,70px);display:grid;gap:0;padding-bottom:6vh}
.step{position:sticky;top:calc(12vh + var(--i,0) * 4.5vh);display:grid;grid-template-columns:minmax(120px,.7fr) 1.2fr 1.2fr;align-items:center;gap:clamp(12px,3vw,50px);min-height:min(64vh,560px);margin-bottom:12vh;padding:clamp(20px,3vw,50px);border-radius:28px;color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.8);overflow:hidden}
.st1{--i:0;background:var(--card1);transform:rotate(-1.6deg)}
.st2{--i:1;background:var(--paper);transform:rotate(1.2deg);margin-left:clamp(0px,4vw,80px)}
.st3{--i:2;background:var(--card3);transform:rotate(-.8deg);margin-right:clamp(0px,3vw,60px);margin-bottom:0}
.big-n{font:800 clamp(150px,26vw,460px)/.78 var(--f-d);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:3px var(--ink);justify-self:start}
.st2 .big-n{-webkit-text-stroke-color:var(--accent-d)}
.step .art{width:100%;height:auto;max-height:46vh}
.step h3{font:800 clamp(30px,4.4vw,80px)/.95 var(--f-d);letter-spacing:-.045em}
.step p{font:italic 500 clamp(18px,1.9vw,32px)/1.15 var(--f-s);margin-top:.6em}
.art path{stroke-linecap:round;stroke-linejoin:round}
.art text{font:700 26px var(--f-h);fill:var(--ink)}

/* PRICING */
.pricing{position:relative;z-index:2;background:var(--sand);color:var(--ink);padding:clamp(60px,8vw,140px) 0;border-radius:clamp(28px,4vw,72px) clamp(28px,4vw,72px) 0 0;margin-top:-4vw;overflow:hidden;
  background-image:radial-gradient(50% 50% at 90% 10%,rgb(var(--glow2-rgb) / .14),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgb(var(--glow-rgb) / .22),transparent 70%)}
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(28px,5vw,100px);align-items:start}
.p-left{position:sticky;top:12vh}
.pricing .giant{font-size:clamp(54px,9vw,180px)}.pricing .giant span:nth-child(2){font:italic 500 1em/.9 var(--f-s);color:var(--accent-d)}
.p-note{margin:clamp(18px,2.6vw,36px) 0;font:500 clamp(14px,1.1vw,17px)/1.4 var(--f-m);max-width:26em}
.plist{list-style:none;padding:0;border-top:2px solid var(--ink)}
.plist li{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:clamp(14px,1.6vw,26px) 0;border-bottom:2px solid var(--ink);align-items:baseline}
.plist h3{font:800 clamp(20px,2.2vw,38px)/1 var(--f-d);letter-spacing:-.035em}
.plist .rng{font:600 clamp(20px,2.4vw,42px)/1 var(--f-s);letter-spacing:-.03em;text-align:right;white-space:nowrap}
.plist .rng.scope{font-style:italic;color:var(--accent-d)}
.plist .sub{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;font:500 12px var(--f-m);color:var(--ink2);letter-spacing:.03em}

.faq{margin-top:clamp(36px,5vw,80px)}
.faq-h{font:600 clamp(11px,.9vw,14px)/1 var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-d);margin-bottom:14px}
.faq-l{border-top:2px solid var(--ink)}
.faq details{border-bottom:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:clamp(12px,1.2vw,18px) 0;font:800 clamp(17px,1.5vw,24px)/1.15 var(--f-d);letter-spacing:-.03em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:600 1.3em/1 var(--f-s);color:var(--accent-d)}
.faq details[open] summary::after{content:"\2013"}
.faq p{max-width:46em;padding:0 0 clamp(14px,1.4vw,22px);font:500 clamp(14px,1.1vw,17px)/1.45 var(--f-m)}

/* CONTACT */
.contact{position:relative;background:var(--ink);overflow:hidden;padding:clamp(70px,9vw,150px) 0 0;z-index:2}
.contact .bg-fallback.c{background:radial-gradient(60% 50% at 20% 90%,var(--glowc) 0,transparent 65%),radial-gradient(50% 40% at 90% 10%,var(--glowc2) 0,transparent 70%),var(--ink)}
.contact .bg-shader{opacity:.55}
.contact .wrap{position:relative;z-index:2}
.contact .two{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.contact .giant{font-size:clamp(46px,7.4vw,150px)}
.c-sub{margin-top:clamp(18px,2.4vw,34px);font:italic 500 clamp(20px,2.2vw,38px)/1.15 var(--f-s);max-width:18em;color:rgb(var(--paper-rgb) / .92)}
.form{background:var(--paper);color:var(--ink);padding:clamp(20px,2.6vw,42px);border-radius:26px;box-shadow:0 50px 100px -30px rgba(0,0,0,.7);transform:rotate(.8deg);display:grid;gap:10px}
.sim{font:600 11px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:#a63112;background:#ffe3d8;padding:.6em .9em;border-radius:99px;justify-self:start}
.form label{font:800 clamp(16px,1.3vw,21px) var(--f-d);letter-spacing:-.02em;margin-top:8px}
.form textarea,.form input{width:100%;font:500 1.05rem/1.4 var(--f-d);color:var(--ink);padding:.8em 1em;border-radius:14px;border:2px solid var(--ink);background:#fdfdfb;resize:vertical}
.form textarea:focus-visible,.form input:focus-visible,.form button:focus-visible,.form a:focus-visible{outline:3px solid var(--accent-d);outline-offset:2px}
.unsure{justify-self:start;border:2px dashed var(--ink);background:none;color:var(--ink);font:600 .95rem var(--f-d);padding:.55em 1.1em;border-radius:99px;cursor:pointer;min-height:42px}
.unsure:hover{background:var(--sun);border-style:solid}
.err{color:#a63112;font-weight:700}
.form .btn{margin-top:12px;justify-self:start}
.done{display:grid;gap:4px;padding:16px 18px;border-radius:16px;background:#d6efe5;color:#10402c}
.done b{font:800 1.2rem var(--f-d)}
[hidden]{display:none!important}
.foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:clamp(40px,7vw,100px) var(--gut) 24px;font:500 12px var(--f-m);color:rgb(var(--paper-rgb) / .92)}

/* rough-notation svg sits above text */
.rough-notation{pointer-events:none}

/* responsive */
@media (max-width:1100px){
  .nav{display:none}
  .two,.contact .two{grid-template-columns:1fr}.p-left{position:static}
  .step{grid-template-columns:1fr 1fr}.step .big-n{grid-column:1/-1;font-size:34vw;line-height:.7}
  .step .art{grid-column:1/-1;max-height:30vh}
  .step .txt{grid-column:1/-1}
}
@media (max-width:760px){
  .top{padding:12px 16px}.logo{font-size:1.2rem}.logo svg{width:24px;height:24px}
  .btn-sm{display:none}
  .h1 .ln{white-space:normal}.h1{font-size:clamp(44px,15.5vw,92px)}
  .hero-copy{padding-top:96px}
  .cta .btn{width:100%}.cta{gap:10px}
  .sheet.s1{width:80vw}.sheet.s2{width:70vw}
  .rows li{grid-template-columns:34px 1fr;gap:6px 12px}.rows .res,.rows .tag{grid-column:2}.rows .tag{justify-self:start;font-size:11px}
  .proof-row .card{flex-basis:78%;transform:none!important}.card{transform:none!important}
  .car-btn,.car-btn.prev,.car-btn.next{position:relative;top:0;left:auto;right:auto;display:inline-grid;margin:14px 10px 0 0}.car-btn[hidden]{display:none}
  .step{position:relative;top:auto;margin-bottom:5vh;min-height:0;margin-left:0!important;margin-right:0!important}
  .step .big-n{font-size:46vw}
  .b1{top:16%}.b2{top:56%}
  .plist .sub{flex-direction:column;gap:2px}
  .stage-wrap{margin-top:12px}
  .make .giant span:nth-child(2){padding-left:.4em}
  .form{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ===== round 3 ===== */
/* intro: pure CSS, final state is the default */
@keyframes rise{from{opacity:0;transform:translateY(.35em)}}
.h1 .ln{animation:rise 1s cubic-bezier(.2,.7,.2,1) backwards}.h1 .ln:nth-child(2){animation-delay:.12s}.h1 .ln:nth-child(3){animation-delay:.24s}
.kicker,.lead,.cta{animation:rise .9s ease-out .7s backwards}.lead{animation-delay:.85s}.cta{animation-delay:1s}
/* form */
.ctxbar{display:flex}
.ctxpill{display:inline-flex;align-items:center;gap:8px;padding:.35em .5em .35em .9em;border-radius:99px;background:var(--card1);color:var(--ink);font:600 .85rem var(--f-d)}
.ctxpill button{border:0;background:rgb(var(--ink-rgb) / .12);color:var(--ink);width:26px;height:26px;border-radius:50%;cursor:pointer;font:700 .8rem/1 var(--f-d)}
.ctxpill button:hover{background:rgb(var(--ink-rgb) / .25)}
.helpers{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.helpers button{border:2px solid var(--ink);background:none;color:var(--ink);font:600 .92rem var(--f-d);padding:.5em 1em;border-radius:99px;cursor:pointer;min-height:42px;transition:background .15s}
.helpers button:hover{background:var(--accent-pale)}
.helpers button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ts{min-height:0}.ts:not(:empty){min-height:65px}
.fnote{font:500 .85rem/1.4 var(--f-d);color:var(--ink2)}.fnote a{color:var(--accent-d);font-weight:700}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}
.err a,.done a{color:inherit}
.foot{align-items:center}
.fnav{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.fnav a,.fnav button{color:rgb(var(--paper-rgb) / .9);font:500 12px var(--f-m);text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer;padding:6px 0;min-height:32px}
.fnav a:hover,.fnav button:hover{color:#fff}
/* cookie banner + panel */
.cb{position:fixed;left:clamp(12px,1.2vw,20px);bottom:clamp(12px,1.6vw,24px);z-index:80;width:min(410px,calc(100vw - 24px));background:var(--ink);color:var(--paper);border-radius:18px;padding:18px 18px 16px;box-shadow:0 0 0 1px rgb(var(--paper-rgb) / .2),0 30px 60px -20px rgba(0,0,0,.7)}
.cb h2{font:800 1.05rem var(--f-d);letter-spacing:-.02em;margin-bottom:6px}
.cb p{font:400 .88rem/1.45 var(--f-d);color:rgb(var(--paper-rgb) / .9)}.cb p a{color:var(--sun)}
.cb .row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.cb .row button,.cb .actions button{min-height:44px;border-radius:99px;font:700 .88rem var(--f-d);cursor:pointer;border:2px solid var(--paper);background:var(--paper);color:var(--ink)}
.cb .row button.accept,.cb .actions button.accept{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.cb .row button.cfg,.cb .actions button.cfg{background:none;color:var(--paper)}
.cb :focus-visible{outline:3px solid var(--sun)}
.cb .opt{display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:12px;border-radius:12px;background:rgb(var(--paper-rgb) / .08)}
.cb .opt input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent)}.cb .opt label{font:600 .9rem var(--f-d)}.cb .opt small{display:block;font:400 .8rem/1.4 var(--f-d);color:rgb(var(--paper-rgb) / .85);margin-top:2px}
.cb .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
@media (max-width:520px){.cb .row{grid-template-columns:1fr 1fr}.cb .row .cfg{grid-column:1/-1}}
/* legal pages */
.legal-body{background:var(--paper);color:var(--ink)}
.legal-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px var(--gut);background:var(--ink);color:var(--paper);z-index:20}
.legal-top .logo{background:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.legal-main{max-width:860px;margin:0 auto;padding:clamp(40px,6vw,90px) var(--gut) 60px}
.legal-main h1{font:800 clamp(38px,6vw,84px)/.95 var(--f-d);letter-spacing:-.04em;margin-bottom:.3em}
.legal-main h2{font:800 clamp(20px,2.2vw,30px)/1.1 var(--f-d);letter-spacing:-.03em;margin:1.8em 0 .5em}
.legal-main p,.legal-main li{font:400 1.02rem/1.6 var(--f-d);max-width:68ch;margin-bottom:.8em}
.legal-main ul{padding-left:1.2em}
.legal-main a{color:var(--accent-d);font-weight:600}
.legal-main .tw{overflow-x:auto;margin:1em 0}
.legal-main table{border-collapse:collapse;width:100%;font:400 .92rem/1.45 var(--f-d)}
.legal-main th,.legal-main td{border:1px solid rgb(var(--ink-rgb) / .3);padding:.6em .8em;text-align:left;vertical-align:top}
.legal-main th{background:var(--paper2)}
.legal-foot{background:var(--ink);color:rgb(var(--paper-rgb) / .9);padding:30px var(--gut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
/* buttons on light surfaces get an ink outline so the control reads without relying on the accent colour */
.pricing .btn,.form .btn{box-shadow:inset 0 0 0 2px var(--ink)}

/* Styles that libraries used to inject as <style> at runtime, served from here so the CSP needs no style unsafe-inline */
@layer paper-shaders{:where([data-paper-shader]){isolation:isolate;position:relative;& canvas{contain:strict;display:block;position:absolute;inset:0;z-index:-1;width:100%;height:100%;border-radius:inherit;corner-shape:inherit}}}
@keyframes rough-notation-dash{to{stroke-dashoffset:0}}
.h1 em>.und{position:absolute;left:0;bottom:-.06em;width:100%;height:.16em;overflow:visible;pointer-events:none}
.art text.live{fill:#0e1f1d;font-size:22px}
