:root{
  --ink:#171713;
  --cream:#f2eee4;
  --paper:#faf8f2;
  --orange:#f05a2a;
  --lime:#d9ff65;
  --line:rgba(23,23,19,.18);
  --shadow:0 18px 40px rgba(0,0,0,.18);
  --shadow-lg:0 30px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
b{font-weight:700}
::selection{background:var(--orange);color:#fff}

/* ---------- PAW CURSOR ---------- */
.paw-cursor,.paw-trail{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;transition:opacity .25s ease}
.paw-cursor{width:24px;height:24px;opacity:0;transform-origin:center;will-change:transform}
.paw-trail{width:8px;height:8px;border-radius:50%;background:var(--orange);opacity:0;will-change:transform}
.paw-cursor svg{width:100%;height:100%;fill:var(--ink);filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
/* keep native cursor visible as a fallback so the user can always see where they are */
@media (hover:hover) and (pointer:fine){
  body.has-cursor{cursor:auto}
  body.has-cursor a,body.has-cursor button{cursor:pointer}
  body.has-cursor details,body.has-cursor summary{cursor:pointer}
  .paw-cursor.visible{opacity:.85}
  .paw-trail.visible{opacity:.55}
  /* hide paw over form fields so it doesn't clip into text or resize handle */
  body.has-cursor input,
  body.has-cursor textarea,
  body.has-cursor select,
  body.has-cursor label{cursor:text}
  body.has-cursor .paw-cursor,
  body.has-cursor .paw-trail{opacity:0 !important}
}
@media (hover:none){.paw-cursor,.paw-trail{display:none}}

/* ---------- SCROLL PROGRESS ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--lime),var(--orange));z-index:9998;transition:width .08s linear}

/* ---------- HEADER ---------- */
.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:50;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:background .3s,color .3s,border-color .3s}
.site-header.scrolled{position:fixed;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:10px;font-size:13px;line-height:.85;letter-spacing:.12em}
.logo svg{width:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.logo b{font-size:10px;font-weight:500}
.site-header nav{display:flex;gap:32px;text-transform:uppercase;font-size:11px;letter-spacing:.16em}
.site-header nav a{opacity:.75;position:relative;transition:opacity .25s}
.site-header nav a:hover{opacity:1}
.site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-header nav a:hover::after{transform:scaleX(1)}

.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--orange);color:#fff;padding:17px 21px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.14em;transition:.25s;border:0;font-family:inherit;cursor:pointer}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}
.button:active{transform:translateY(0)}
.button span{font-size:17px}
.button-small{padding:12px 15px;background:transparent;border:1px solid rgba(255,255,255,.55)}
.site-header.scrolled .button-small{border-color:var(--ink);color:var(--ink)}
.button-ghost{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;margin-left:14px}
.menu-button{display:none;background:none;border:0}
.menu-button span{display:block;width:24px;border-top:1px solid currentColor;margin:7px;transition:transform .25s}
.menu-button.open span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-button.open span:last-child{transform:translateY(-7px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{height:min(880px,100vh);min-height:680px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:190px 9vw 80px}
.hero-ring{position:absolute;border-radius:50%;pointer-events:none}
.ring-outer{width:54vw;height:54vw;border:1px solid rgba(255,255,255,.1);right:-8vw;top:4vw;will-change:transform}
.ring-inner{width:34vw;height:34vw;border:1px solid rgba(255,255,255,.08);right:2vw;top:14vw;will-change:transform}
.hero-noise{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");z-index:1}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%)}

.eyebrow,.kicker{text-transform:uppercase;font-size:10px;letter-spacing:.24em;font-weight:700}
.eyebrow{color:var(--lime);margin-bottom:25px;display:inline-flex;align-items:center;gap:10px}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(217,255,101,.7);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,255,101,.7)}70%{box-shadow:0 0 0 10px rgba(217,255,101,0)}100%{box-shadow:0 0 0 0 rgba(217,255,101,0)}}

.hero h1,.section-heading h2,.apply h2{font-family:"Playfair Display",serif;font-size:clamp(60px,8.1vw,128px);line-height:.87;letter-spacing:-.055em;margin:0;position:relative;z-index:2}
.hero h1 em,.section-heading h2 em,.apply h2 em{font-weight:600;color:var(--orange)}
.hero>p{font-size:16px;line-height:1.6;color:#bebdb7;max-width:520px;margin:32px 0 28px;position:relative;z-index:2}
.hero>p strong{color:#fff;font-weight:600}
.hero-cta{display:flex;align-items:center;gap:0;flex-wrap:wrap;position:relative;z-index:2}
.hero-meta{display:flex;gap:30px;margin-top:38px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#888;position:relative;z-index:2}
.hero-meta b{color:var(--orange);margin-right:4px}

/* hero stickers */
.hero-sticker{position:absolute;font-family:"Playfair Display",serif;font-style:italic;font-size:16px;padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:100px;background:rgba(255,255,255,.05);backdrop-filter:blur(6px);color:#fff;z-index:6;will-change:transform}
.sticker-cat{top:11%;left:6vw;color:var(--lime);border-color:rgba(217,255,101,.4);background:rgba(217,255,101,.07)}
.sticker-dash{top:8%;right:18vw;color:#ddd;letter-spacing:.05em;font-style:normal;font-size:11px;text-transform:uppercase}

/* layered composition frames (replaces static cards) */
.frame{position:absolute;background:#eee8da;padding:9px 9px 30px;width:200px;z-index:4;box-shadow:var(--shadow-lg);will-change:transform;transition:box-shadow .3s}
.frame:hover{box-shadow:0 40px 90px rgba(0,0,0,.42)}
.frame-caption{position:absolute;bottom:7px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;font-family:"Playfair Display";font-style:italic;font-size:17px;color:var(--ink)}
.frame-caption span{font-style:normal;font-weight:700;font-size:10px;letter-spacing:.16em;color:var(--orange)}
.frame-a{right:24vw;top:14%;transform:rotate(7deg)}
.frame-b{right:8vw;bottom:12%;transform:rotate(-8deg)}

.portrait{height:230px;background-size:cover;background-position:center;filter:saturate(.9)}
.portrait-one{background-image:linear-gradient(150deg,transparent,rgba(0,0,0,.18)),url("evolink-121.png")}
.portrait-two{background-image:url("evolink-123.png");background-position:center 24%}

.orbit{position:absolute;border-radius:50%;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;will-change:transform}
.orbit-one{right:39vw;top:19%;width:55px;height:55px;background:var(--lime);color:var(--ink);font-size:20px;box-shadow:0 0 0 0 rgba(217,255,101,.5);animation:glow 2.4s ease-in-out infinite}
.orbit-two{right:32vw;bottom:13%;width:105px;height:105px;background:var(--orange);font-family:"Playfair Display";font-style:italic;font-size:17px;transform:rotate(-9deg);box-shadow:var(--shadow)}
.orbit-paw{right:14vw;top:13%;width:65px;height:65px;border:1px dashed rgba(255,255,255,.4);background:transparent;color:#fff;animation:rotate 24s linear infinite}
.orbit-paw svg{width:30px;fill:rgba(255,255,255,.7)}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(217,255,101,.5)}50%{box-shadow:0 0 0 18px rgba(217,255,101,0)}}
@keyframes rotate{to{transform:rotate(360deg)}}

.scroll{position:absolute;bottom:32px;left:5vw;text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:#999;z-index:6}
.scroll i{display:inline-block;width:70px;border-top:1px solid #777;margin:0 0 3px 12px;animation:scrollHint 1.6s infinite}
@keyframes scrollHint{0%,100%{opacity:.3}50%{opacity:1}}

/* hero ticker */
.hero-ticker{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.12);overflow:hidden;white-space:nowrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#888;padding:14px 0;z-index:3}
.hero-ticker span{display:inline-block;padding-right:30px;animation:ticker 28s linear infinite}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- SECTIONS ---------- */
.section-pad{padding:120px 7vw}
.section-heading{margin-bottom:60px}
.section-heading .kicker{color:var(--orange);margin-bottom:22px}
.section-heading h2{font-size:clamp(48px,6vw,88px);color:var(--ink)}
.section-heading h2 em{color:var(--orange)}
.section-sub{font-size:15px;line-height:1.6;color:#666;max-width:560px;margin:22px 0 0}
.section-sub.light{color:#999}

/* ---------- PLATFORMS MARQUEE ---------- */
.platforms{background:var(--ink);color:#fff;padding:42px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
.platforms .kicker{text-align:center;color:var(--lime);margin-bottom:18px;display:block}
.platforms-track{display:flex;gap:30px;animation:platforms 30s linear infinite;font-family:"Playfair Display";font-style:italic;font-size:34px;white-space:nowrap}
.platforms-track span{color:rgba(255,255,255,.85)}
.platforms-track span:nth-child(even){color:var(--orange)}
@keyframes platforms{to{transform:translateX(-50%)}}

/* ---------- SERVICES ---------- */
.services{background:var(--cream)}
.service-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{min-height:340px;padding:28px 28px 70px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.3s;overflow:hidden}
.service-grid article:hover{background:var(--lime);transform:translateY(-5px)}
.service-grid article::before{content:attr(data-cat);position:absolute;right:28px;top:25px;font-size:34px;font-style:italic;font-family:"Playfair Display";color:transparent;transition:color .3s}
.service-grid article:hover::before{color:var(--ink)}
.service-grid article>span{font-size:10px;letter-spacing:.18em}
.service-grid h3{font-family:"Playfair Display";font-size:28px;margin-top:140px;margin-bottom:12px}
.service-grid p{font-size:13px;line-height:1.6;color:#666;max-width:290px}
.cat-tag{position:absolute;bottom:22px;left:28px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;padding:6px 12px;border:1px solid var(--ink);background:var(--cream);opacity:0;transform:translateY(8px);transition:.3s;z-index:2}
.service-grid article:hover .cat-tag{opacity:1;transform:translateY(0)}
@media(max-width:800px){
  .service-grid article{min-height:250px;padding-bottom:28px}
  .cat-tag{position:static;opacity:1;transform:none;margin-top:14px;display:inline-block}
}

/* ---------- HOW IT WORKS ---------- */
.how-it-works{background:var(--ink);color:#fff}
.how-it-works .section-heading h2{color:#fff}
.how-it-works .section-heading .kicker{color:var(--lime)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #555}
.steps article{padding:30px 35px 0 0;border-right:1px solid #555;min-height:330px;position:relative}
.steps article:not(:first-child){padding-left:35px}
.steps article>span{font-size:11px;color:#777}
.step-icon{font-size:48px;color:var(--lime);margin:65px 0 25px}
.steps h3{font-family:"Playfair Display";font-size:28px;margin:0 0 12px}
.steps p{font-size:13px;line-height:1.65;color:#999;max-width:310px}
.step-paw{position:absolute;top:30px;right:28px;width:30px;opacity:.15}
.step-paw svg{width:100%;fill:var(--lime)}

/* ---------- DASHBOARD ---------- */
.dashboard{background:linear-gradient(180deg,var(--cream) 0%,#e9e3d4 100%);position:relative;overflow:hidden}
.dashboard::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}
.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:30px}
.dash-card{background:#fff;border:1px solid var(--line);padding:28px;position:relative;overflow:hidden;transition:.3s}
.dash-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.dash-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.dash-title{display:flex;align-items:center;gap:10px}
.dash-title h3{font-family:"Playfair Display";font-size:18px;margin:0}
.dash-meta{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#999}
.dot{width:8px;height:8px;border-radius:50%;background:#999}
.dot-live{background:var(--lime);box-shadow:0 0 0 0 rgba(217,255,101,.7);animation:pulse 1.6s infinite}

.dash-chat{grid-column:span 7}
.chat-log{display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:340px;overflow:hidden;font-size:13px}
.msg{padding:12px 16px;border-radius:14px;max-width:82%;line-height:1.5;position:relative;margin-top:14px}
.msg .who{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#999;margin-bottom:4px;font-weight:700}
.msg-fan{background:#f5f1e6;color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
.msg-ai{background:var(--ink);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg-ai .who{color:var(--lime)}
.msg-human{background:var(--orange);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg-human .who{color:rgba(255,255,255,.75)}
.msg-system{background:transparent;color:#999;font-size:11px;text-align:center;align-self:center;font-style:italic;padding:4px}
.dash-chat footer{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:#999}
.chat-team{font-style:italic;font-family:"Playfair Display";font-size:13px;color:var(--ink)}
.chat-team::before{content:"●";color:#2a9d4a;margin-right:6px;font-style:normal;font-size:10px}
.typing{display:inline-flex;gap:4px;align-items:center}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--lime);display:inline-block;animation:typing 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}
.typing i:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.ctr{font-family:"Playfair Display";font-style:italic;font-size:14px;color:var(--orange)}

.dash-metrics{grid-column:span 5}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metric{background:var(--cream);padding:14px;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#777}
.metric b{font-family:"Playfair Display";font-size:28px;color:var(--ink);font-weight:600}
.metric em{font-size:11px;font-style:normal;color:#2a9d4a;font-weight:600}
.spark{margin-top:18px;color:var(--orange)}
.spark svg{width:100%;height:60px}

.dash-pipeline{grid-column:span 5}
.pipeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pipeline li{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--cream);border:1px solid var(--line);font-size:13px;transition:.25s}
.pipeline li:hover{background:var(--lime);transform:translateX(4px)}
.pip-cat{font-size:18px}
.pip-tag{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.16em;padding:4px 10px;background:var(--ink);color:#fff}

.dash-replica{grid-column:span 5}
.replica-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.replica-item{display:flex;flex-direction:column;gap:10px}
.replica-thumb{position:relative;height:160px;background:linear-gradient(135deg,#1a1a17,#2c2c28);overflow:hidden;border:1px solid var(--line)}
.replica-grid-inner{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(217,255,101,.08) 0 1px,transparent 1px 14px),repeating-linear-gradient(90deg,rgba(217,255,101,.08) 0 1px,transparent 1px 14px)}
.replica-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9)}
.replica-img-1{background-image:linear-gradient(150deg,transparent,rgba(0,0,0,.25)),url("evolink-121.png")}
.replica-img-2{background-image:url("evolink-123.png");background-position:center 24%}
.replica-img-3{background-image:url("evolink-126.png");background-position:center 30%}
.replica-tag{position:absolute;top:10px;left:10px;font-family:monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:rgba(23,23,19,.85);color:var(--lime);padding:4px 8px;border:1px solid rgba(217,255,101,.4);z-index:2}
.replica-badge{position:absolute;bottom:10px;right:10px;font-family:monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:rgba(217,255,101,.95);color:var(--ink);padding:4px 8px;font-weight:700;z-index:2}
.replica-meta b{display:block;font-size:13px;font-weight:700;margin-bottom:2px}
.replica-meta i{display:block;font-style:normal;font-size:11px;color:#777;line-height:1.4}
.replica-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:#777;font-style:italic;line-height:1.5}

.dash-split{grid-column:span 7}
.split-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.split{padding:18px;border:1px solid var(--line);background:var(--cream)}
.split.human{background:#fff}
.split.ai{background:var(--ink);color:#fff}
.split h4{font-family:"Playfair Display";font-size:18px;margin:0 0 12px}
.split ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.5}
.split ul li{padding-left:18px;position:relative}
.split ul li::before{content:"→";position:absolute;left:0;color:var(--orange)}
.split.ai ul li::before{color:var(--lime)}
.split-foot{margin-top:14px;font-size:12px;color:#777;font-style:italic}

/* ---------- DUO (AI REPLICA) ---------- */
.duo{background:var(--paper);position:relative;overflow:hidden}
.duo::before{content:"";position:absolute;top:0;right:0;width:40vw;height:40vw;background:var(--orange);opacity:.06;border-radius:50%;transform:translate(30%,-30%)}
.duo-grid{display:grid;grid-template-columns:1fr 80px 1fr;gap:30px;align-items:stretch;margin-top:50px}
.duo-card{background:#fff;border:1px solid var(--line);padding:0;display:flex;flex-direction:column;position:relative;transition:.3s}
.duo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.duo-card.ai{background:var(--ink);color:#fff;border-color:var(--ink)}
.duo-portrait{height:280px;background-size:cover;background-position:center;position:relative}
.duo-portrait-real{background-image:url("evolink-123.png");background-position:center 24%}
.duo-portrait-ai{background:linear-gradient(135deg,#1a1a17 0%,#3a3a35 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.duo-ai-overlay{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center}
.ai-face{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(217,255,101,.3),transparent 60%),radial-gradient(circle,#2a2a25,#0a0a08);border:1px solid var(--lime);position:relative;box-shadow:inset 0 0 30px rgba(217,255,101,.2)}
.ai-face::before,.ai-face::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--lime);top:60px;box-shadow:0 0 12px var(--lime)}
.ai-face::before{left:38px}
.ai-face::after{right:38px}
.ai-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--lime),transparent);box-shadow:0 0 8px var(--lime);animation:scan 2.6s ease-in-out infinite}
@keyframes scan{0%,100%{top:0;opacity:0}20%{opacity:1}50%{top:160px}80%{opacity:1}}
.ai-tag{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);font-family:monospace;font-size:10px;letter-spacing:.18em;color:var(--lime);background:var(--ink);padding:4px 10px;border:1px solid var(--lime);border-radius:100px}
.duo-tag{display:inline-flex;align-items:center;gap:8px;margin:24px 24px 0;padding:6px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;background:var(--cream);width:max-content}
.duo-tag-ai{background:#2a2a25;color:var(--lime)}
.duo-card h3{font-family:"Playfair Display";font-size:36px;margin:18px 24px 12px;letter-spacing:-.02em}
.duo-card.ai h3 em{color:var(--lime)}
.duo-list{list-style:none;margin:0 24px;padding:0;display:flex;flex-direction:column;gap:12px;font-size:13px;line-height:1.55}
.duo-list li{padding-bottom:12px;border-bottom:1px dashed var(--line)}
.duo-card.ai .duo-list li{border-color:rgba(255,255,255,.12)}
.duo-list b{font-family:"Playfair Display";font-weight:600}
.duo-card footer{margin:20px 24px 24px;padding-top:16px;border-top:1px solid var(--line);font-family:"Playfair Display";font-style:italic;font-size:14px;color:#888}
.duo-card.ai footer{border-color:rgba(255,255,255,.12);color:var(--lime)}
.duo-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--orange);font-size:11px;text-transform:uppercase;letter-spacing:.16em;align-self:center}
.duo-arrow svg{width:64px;height:64px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* social mock */
.social-mock{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.social-tile{background:#fff;border:1px solid var(--line);padding:20px;transition:.3s}
.social-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.social-tile header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.social-tile header b{font-size:13px}
.social-tile header i{font-style:normal;font-size:11px;color:#999;margin-left:auto}
.social-body{display:flex;flex-direction:column;gap:10px;font-size:13px}
.social-line{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--cream);border-radius:8px}
.social-line.ai-action{background:var(--ink);color:var(--lime);font-style:italic;font-size:11px}
.ti{width:14px;height:14px;display:inline-block;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.ti-like{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 21s-7-4.5-9.5-9A5.5 5.5 0 0 1 12 6a5.5 5.5 0 0 1 9.5 6c-2.5 4.5-9.5 9-9.5 9z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 21s-7-4.5-9.5-9A5.5 5.5 0 0 1 12 6a5.5 5.5 0 0 1 9.5 6c-2.5 4.5-9.5 9-9.5 9z'/></svg>")}
.ti-comment{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M4 4h16v12H6l-2 2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M4 4h16v12H6l-2 2z'/></svg>")}
.ti-share{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M4 12v8h16v-8h-3l-5 4-5-4z' fill='none' stroke='currentColor' stroke-width='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M4 12v8h16v-8h-3l-5 4-5-4z' fill='none' stroke='currentColor' stroke-width='2'/></svg>")}
.ti-eye{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z'/><circle cx='12' cy='12' r='3'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z'/><circle cx='12' cy='12' r='3'/></svg>")}
.ti-follow{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4 4-7 8-7s8 3 8 7'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4 4-7 8-7s8 3 8 7'/></svg>")}
.ti-arrow{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M5 12h14M13 5l7 7-7 7'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M5 12h14M13 5l7 7-7 7'/></svg>")}
.ti-up{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 4l8 10h-5v6h-6v-6H4z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 4l8 10h-5v6h-6v-6H4z'/></svg>")}
.ti-chat{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M21 15a3 3 0 0 1-3 3H8l-5 4V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M21 15a3 3 0 0 1-3 3H8l-5 4V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3z'/></svg>")}
.ti-link{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M10 14a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1M14 10a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path d='M10 14a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1M14 10a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/></svg>")}

/* ---------- TERMS ---------- */
.terms{background:var(--cream)}
.terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:70px}
.term-card{background:#fff;padding:32px;border:1px solid var(--line);transition:.3s;position:relative;overflow:hidden}
.term-card::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--orange);transition:width .3s}
.term-card:hover::before{width:100%}
.term-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.08);transform:translateY(-4px)}
.term-label{font-family:"Playfair Display";font-size:20px;display:block;margin-bottom:12px}
.term-card p{font-size:13px;line-height:1.7;color:#666}
.term-card b{color:var(--ink)}

/* ---------- TESTIMONIAL ---------- */
.testimonial{background:var(--ink);color:#fff;text-align:left}
.testimonial .kicker{color:var(--lime)}
.testimonial blockquote{margin:0;max-width:880px}
.testimonial blockquote p{font-family:"Playfair Display";font-size:clamp(28px,3.4vw,48px);line-height:1.2;margin:0 0 24px}
.testimonial blockquote p em{color:var(--orange)}
.testimonial blockquote footer{font-size:13px;color:#888;letter-spacing:.1em;text-transform:uppercase}

/* ---------- FAQ ---------- */
.faq{background:var(--paper)}
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq-list details{padding:28px 0;border-bottom:1px solid var(--line);transition:.3s}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:"Playfair Display";font-size:24px;gap:18px;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary b{font-size:14px;color:var(--orange);font-family:"DM Sans";font-weight:700;letter-spacing:.1em;margin-right:10px;flex-shrink:0}
.faq-list summary .chev{font-size:28px;font-style:normal;color:var(--orange);transition:transform .3s;flex-shrink:0}
.faq-list details[open] .chev{transform:rotate(90deg)}
.faq-list details[open] summary{margin-bottom:18px}
.faq-body{padding-left:44px;font-size:14px;line-height:1.7;color:#666;max-width:780px}

/* ---------- MANIFESTO ---------- */
.manifesto{background:var(--orange);color:#fff;padding:100px 8vw 0;overflow:hidden}
.manifesto .kicker{color:var(--ink)}
.manifesto-copy{font-family:"Playfair Display";font-size:clamp(40px,5.5vw,78px);line-height:1.06;max-width:1100px}
.manifesto-copy em{color:var(--ink)}
.ticker{width:120%;margin-left:-10%;display:flex;white-space:nowrap;border-top:1px solid rgba(0,0,0,.3);padding:23px 0;font-weight:700;letter-spacing:.1em}
.ticker span{animation:ticker 20s linear infinite}
@keyframes ticker{to{transform:translateX(-100%)}}

/* ---------- APPLY ---------- */
.apply{text-align:center;background:var(--orange);padding:110px 20px;position:relative;overflow:hidden}
.apply::before{content:"";position:absolute;top:-100px;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(217,255,101,.18),transparent 70%);transform:translateX(-50%);pointer-events:none}
.cat-mark svg{width:80px;fill:none;stroke:var(--ink);stroke-width:1.5}
.apply h2{font-size:clamp(60px,8vw,110px)}
.apply h2 em{color:#fff}
.apply>p:not(.kicker){max-width:520px;margin:25px auto;line-height:1.6}

.apply-form{max-width:680px;margin:44px auto 0;display:flex;flex-direction:column;gap:20px;position:relative;z-index:2;text-align:left}
.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:22px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{width:100%}
.form-field label{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);font-weight:700;line-height:1}
.apply-form input,.apply-form select,.apply-form textarea{
  padding:14px 16px;
  background:#fff;
  border:1.5px solid var(--ink);
  font-family:inherit;
  font-size:14px;
  color:var(--ink);
  transition:.2s;
  border-radius:0;
  width:100%;
  display:block;
  line-height:1.4;
}
.apply-form textarea{resize:vertical;min-height:96px;font-family:inherit;line-height:1.55}
.apply-form input::placeholder,.apply-form textarea::placeholder{color:#b5b0a3;font-size:14px}
.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(217,255,101,.6);border-color:var(--ink)}
.apply-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23171713' stroke-width='1.5'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:11px;padding-right:38px}
.form-foot{display:flex;align-items:center;gap:18px;margin-top:6px;flex-wrap:wrap}
.form-foot .button{margin:0;flex-shrink:0}
.form-status{font-size:12px;color:var(--ink);font-style:italic;margin:0;text-align:left;flex:1;min-height:18px}
.form-status.ok{color:#0a3a1a;font-weight:600;font-style:normal}
.form-status.err{color:#7a1a0a;font-weight:600;font-style:normal}
.mail-fallback{display:inline-flex;margin-top:22px;font-size:10px;opacity:.85}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:#fff;padding:65px 7vw 30px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}
footer>p{color:#777;text-align:right}
footer>div{grid-column:1/-1;border-top:1px solid #444;border-bottom:1px solid #444;padding:25px 0;display:flex;gap:35px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
footer>div a{opacity:.7;transition:opacity .2s}
footer>div a:hover{opacity:1;color:var(--orange)}
footer small{color:#666;font-size:10px}
.footer-op{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0 6px;font-size:12px;color:#bbb;border-top:1px dashed #444;margin-top:-10px}
.footer-op .op-tag{font-size:9px;text-transform:uppercase;letter-spacing:.24em;color:var(--lime);font-weight:700}
.footer-op b{color:#fff;font-family:"Playfair Display";font-size:18px;letter-spacing:-.01em}
.footer-op .op-handle{color:var(--lime);font-size:12px;font-weight:600;letter-spacing:.02em}
.footer-op a{color:#ddd;border-bottom:1px solid rgba(255,255,255,.2)}
.footer-op a:hover{color:var(--lime);border-color:var(--lime)}
.footer-op .op-loc{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#888}
.kitten-easter{cursor:help;display:inline-block;transition:transform .25s}
.kitten-easter:hover{transform:rotate(-15deg) scale(1.4)}

/* ---------- CAT EASTER EGGS ---------- */
.click-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:99990;overflow:hidden}
.click-sprite{position:absolute;pointer-events:none;will-change:transform,opacity;--tint:var(--orange);color:var(--tint)}
.click-sprite.click-paw{width:36px;height:36px;animation:pawSplash 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.click-sprite.click-cat{width:60px;height:48px;animation:catSplash 1.3s cubic-bezier(.2,.7,.2,1) forwards}
.click-sprite svg{width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
@keyframes pawSplash{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0deg)}
  20%{opacity:1;transform:translate(-50%,-50%) scale(1.4) rotate(-15deg)}
  100%{opacity:0;transform:translate(-50%,-50%) translateY(-80px) scale(1.1) rotate(20deg)}
}
@keyframes catSplash{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-30deg)}
  20%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(10deg)}
  100%{opacity:0;transform:translate(-50%,-50%) translateY(-100px) scale(1.05) rotate(-25deg)}
}
.click-sprite::after{content:"";position:absolute;inset:-12px;border:2px solid var(--tint);border-radius:50%;opacity:.5;animation:ringOut 1.1s ease-out forwards}
@keyframes ringOut{0%{transform:scale(.3);opacity:.6}100%{transform:scale(2.4);opacity:0}}

.cat-rain{position:fixed;inset:0;pointer-events:none;z-index:99995;overflow:hidden}
.cat-rain .click-sprite{position:absolute;top:-40px;width:36px;height:36px}
.cat-rain .click-sprite.rain-cat{width:54px;height:42px}
.cat-rain .click-sprite svg{width:100%;height:100%;fill:currentColor;opacity:.9}
@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}

/* ambient floating brand paws in the background */
.ambient-paw{position:absolute;pointer-events:none;user-select:none;z-index:1;will-change:transform;color:var(--orange);opacity:.5}
.ambient-paw svg{width:100%;height:100%;fill:currentColor}
.ambient-paw-1{top:18%;right:8%;width:38px;height:38px;animation:floaty 9s ease-in-out infinite}
.ambient-paw-2{bottom:22%;left:6%;width:32px;height:32px;animation:floaty 11s ease-in-out infinite reverse;color:var(--lime)}
.ambient-paw-3{top:55%;right:14%;width:28px;height:28px;animation:floaty 7s ease-in-out infinite;color:var(--ink)}
@keyframes floaty{
  0%,100%{transform:translateY(0) rotate(-6deg);opacity:.5}
  50%{transform:translateY(-22px) rotate(8deg);opacity:.85}
}

.paw-mini{width:14px;height:14px;display:inline-block;vertical-align:-2px;fill:currentColor}
.cat-mini{width:24px;height:19px;display:inline-block;fill:currentColor}

.meow-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:14px 22px;border-radius:100px;font-family:"Playfair Display",serif;font-style:italic;font-size:18px;letter-spacing:.04em;opacity:0;pointer-events:none;z-index:99999;transition:opacity .3s,transform .3s;border:2px solid var(--lime);box-shadow:0 8px 30px rgba(0,0,0,.4)}
.meow-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.meow-toast em{color:var(--lime);font-style:normal;margin:0 6px}

.logo.celebrate svg{animation:headshake .5s ease-in-out}
@keyframes headshake{
  0%,100%{transform:rotate(0)}
  20%{transform:rotate(-12deg)}
  40%{transform:rotate(10deg)}
  60%{transform:rotate(-8deg)}
  80%{transform:rotate(6deg)}
}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
.reveal[data-delay="4"]{transition-delay:.4s}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .paw-cursor,.paw-trail,.scroll-progress,.live-dot,.orbit-one,.orbit-paw,.ai-scan,.hero-sticker,.typing i{display:none}
  .hero-sticker,.orbit-paw{animation:none}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1000px){
  .dash-grid{grid-template-columns:1fr}
  .dash-chat,.dash-metrics,.dash-pipeline,.dash-split,.dash-replica{grid-column:span 1}
  .duo-grid{grid-template-columns:1fr}
  .duo-arrow{transform:rotate(90deg)}
  .social-mock{grid-template-columns:1fr}
  .frame-b{right:6vw;bottom:6%;width:160px}
}
@media(max-width:800px){
  .site-header{height:70px;padding:0 22px}
  .site-header nav,.button-small{display:none}
  .menu-button{display:block}
  .site-header.open{position:fixed;background:var(--ink);color:#fff}
  .site-header.open nav{display:flex;position:absolute;top:70px;left:0;right:0;background:var(--ink);flex-direction:column;padding:30px;gap:18px;border-bottom:1px solid rgba(255,255,255,.1)}
  .hero{height:850px;padding:140px 24px 50px}
  .hero h1{font-size:61px}
  .hero>p{max-width:320px}
  .hero-meta{flex-direction:column;gap:6px}
  .frame{width:130px}
  .frame .portrait{height:155px}
  .frame-a{right:5vw;top:55%;transform:rotate(7deg)}
  .frame-b{right:45%;bottom:6%;transform:rotate(-8deg)}
  .orbit-one{right:8%;top:50%}
  .orbit-two{right:37%;bottom:21%;width:75px;height:75px;font-size:13px}
  .orbit-paw{right:8%;top:18%;width:45px;height:45px}
  .orbit-paw svg{width:22px}
  .sticker-cat{top:14%;left:4vw;font-size:13px}
  .sticker-dash{display:none}
  .scroll{display:none}
  .section-pad{padding:80px 22px}
  .section-heading h2{font-size:49px}
  .platforms-track{font-size:24px}
  .service-grid{grid-template-columns:1fr}
  .service-grid article{min-height:250px}
  .service-grid h3{margin-top:90px}
  .steps{grid-template-columns:1fr}
  .steps article,.steps article:not(:first-child){padding:30px 0;border-right:0;border-bottom:1px solid #555;min-height:auto}
  .step-icon{margin:35px 0 20px}
  .metric-grid{grid-template-columns:1fr}
  .split-row{grid-template-columns:1fr}
  .terms-grid{grid-template-columns:1fr}
  .manifesto{padding:80px 22px 0}
  .manifesto-copy{font-size:42px}
  .apply{padding:80px 20px}
  .apply h2{font-size:57px}
  .form-grid{grid-template-columns:1fr;row-gap:22px}
  .form-foot{flex-direction:column;align-items:flex-start;gap:14px}
  footer{grid-template-columns:1fr}
  footer>p{text-align:left;margin:0}
  footer>div{display:grid;grid-template-columns:1fr 1fr}
  .chat-log{max-height:260px}
  .duo-card h3{font-size:28px}
}
