/* ============================================================
   Agentikey — bento revamp
   Light gray frame · white page · black hero · orange + yellow
   ============================================================ */
:root{
  /* surfaces — warm parchment + structural ink, from the Agentikey mark */
  --frame:      #FFFFFF;   /* outer frame - white */
  --page:       #FAF7EF;   /* page container */
  --card-gray:  #F1EBDC;   /* light cards */
  --dark:       #16202B;   /* hero / dark cards — deep ink navy */
  --dark-2:     #1D2938;
  /* text */
  --text:       #1A222C;
  --text-soft:  #55606C;
  --on-dark:    #EFEAE0;
  --on-dark-mut:#A6AEB8;
  /* accents — the logo's amber, golden not orange */
  --orange:     #E2912F;
  --orange-2:   #F0A94E;
  --orange-dark:#C8871F;   /* deep end of the amber gradient */
  --orange-text:#A16812;   /* amber dark enough for small text on parchment */
  --yellow:     #EFC168;   /* pale gold — kept distinct from the amber card */
  --amber:      #E2912F;   /* the three logo dots */
  /* lines */
  --line:       rgba(22,32,43,.14);
  --line-strong:rgba(22,32,43,.28);
  --line-dark:  rgba(239,234,224,.16);
  /* geometry */
  --r-lg: 28px; --r-md: 20px; --r-sm: 13px; --r-pill: 999px;
  --wrap: 1280px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--frame);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--orange);color:var(--dark)}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--dark);color:var(--on-dark);
  padding:10px 18px;border-radius:0 0 var(--r-sm) 0;z-index:200;font-size:14px}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}

/* ---- frame + page ---- */
.frame{min-height:100vh;padding:16px}
.page{
  max-width:var(--wrap);margin:0 auto;
  background:var(--page);border-radius:var(--r-lg);
  padding:clamp(20px,3.5vw,40px);
  box-shadow:0 1px 0 rgba(20,20,23,.04), 0 30px 70px -50px rgba(20,20,23,.35);
}

/* ---- type ---- */
.display{font-weight:600;letter-spacing:-.03em;line-height:1.04}
.eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange-text);
}

/* ---- buttons + motifs ---- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:600;font-size:15px;letter-spacing:.005em;
  padding:14px 26px;border-radius:var(--r-pill);
  border:1px solid transparent;cursor:pointer;font-family:inherit;
  transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease);
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn .arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translate(2px,-2px)}
.btn-white{background:#fff;color:var(--text)}
.btn-white:hover{background:var(--card-gray);transform:translateY(-2px)}
.btn-dark{background:var(--dark);color:var(--on-dark)}
.btn-dark:hover{background:var(--dark-2);transform:translateY(-2px)}

.icon-btn{
  flex:none;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid var(--line-strong);color:var(--text);
  font-size:18px;line-height:1;background:transparent;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.icon-btn span{transition:transform .25s var(--ease)}
.icon-btn:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.icon-btn:hover span{transform:translate(2px,-2px)}
.icon-btn.down:hover span{transform:translate(2px,2px)}
.on-dark .icon-btn{border-color:var(--line-dark);color:var(--on-dark)}
.on-dark .icon-btn:hover{background:#fff;border-color:#fff;color:var(--text)}
.on-orange .icon-btn{border-color:rgba(22,32,43,.4);color:var(--dark)}
.on-orange .icon-btn:hover{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.on-yellow .icon-btn{border-color:rgba(20,20,23,.3);color:var(--text)}
.on-yellow .icon-btn:hover{background:var(--dark);border-color:var(--dark);color:#fff}

.pill{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:8px 15px;border:1px solid var(--line-strong);border-radius:var(--r-pill);
  white-space:nowrap;
}
.on-dark .pill{border-color:var(--line-dark);color:var(--on-dark-mut)}
.pill .dots{display:inline-flex;gap:4px}
.pill .dots i{width:5px;height:5px;border-radius:50%;background:var(--amber)}

/* ============================================================ NAV */
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 6px 24px}
.brand{display:flex;align-items:center;gap:11px}
.brand .mark{width:34px;height:23px;overflow:visible}
.brand-text{font-weight:700;letter-spacing:.02em;font-size:18px;color:var(--text)}
.brand-text span{color:var(--text-soft)}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:15px;font-weight:500;color:var(--text)}
.nav-links a:hover{color:var(--orange-text)}
.nav-links sup{font-size:10px;color:var(--text-soft);margin-left:4px;font-weight:600}
.nav-cta{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:14.5px;font-weight:600;color:var(--text);
  padding:11px 21px;border:1px solid var(--line-strong);border-radius:var(--r-pill);
  transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);
}
.nav-cta:hover{background:var(--dark);border-color:var(--dark);color:#fff}

/* ============================================================ BENTO HERO */
.bento{display:grid;grid-template-columns:1.72fr 1fr;gap:14px;align-items:stretch}
.bento-col{display:flex;flex-direction:column;gap:14px}
.card{border-radius:var(--r-md);overflow:hidden;position:relative}

/* A. big dark hero card */
.card-hero{
  background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);
  padding:clamp(26px,3.4vw,46px);
  display:flex;flex-direction:column;gap:24px;
  min-height:560px;
}
.hero-art{position:absolute;inset:0;pointer-events:none}
.hero-art::before{ /* warm glow, lower right — echoes the reference render */
  content:"";position:absolute;bottom:-22%;right:-12%;width:90%;height:110%;
  background:radial-gradient(circle,rgba(226,145,47,.55),rgba(226,145,47,.16) 48%,transparent 70%);
  filter:blur(10px);
}
.hero-art svg{position:absolute;bottom:-12%;right:-6%;width:100%;height:auto}
.card-hero > :not(.hero-art){position:relative;z-index:1}
.card-hero .pill{align-self:flex-start}
.card-hero h1{
  font-size:clamp(2.5rem,4.9vw,4.2rem);
  max-width:15ch;text-wrap:balance;
}
.card-hero h1 em{font-style:normal;color:var(--orange-2)}
.card-hero .lede{color:var(--on-dark-mut);font-size:18px;line-height:1.6;max-width:46ch}
.card-hero .lede-2{margin-top:-10px;color:var(--on-dark)}
.hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto}
.cta-meta{font-size:14.5px;font-weight:500;color:var(--on-dark-mut);letter-spacing:.01em}

/* B. media card (dark, network art) */
.card-media{
  background:var(--dark);color:var(--on-dark);
  display:flex;flex-direction:column;min-height:250px;flex:1;
}
.card-media .art{position:absolute;inset:0;pointer-events:none}
.card-media .art::before{
  content:"";position:absolute;top:-40%;right:-25%;width:110%;height:130%;
  background:radial-gradient(circle,rgba(226,145,47,.55),rgba(226,145,47,.15) 50%,transparent 72%);
  filter:blur(6px);
}
.card-media .art svg{position:absolute;top:-8%;right:-6%;width:105%;height:auto;opacity:.9}
.card-media .inner{
  position:relative;z-index:1;padding:22px;display:flex;flex-direction:column;height:100%;
}
.card-media .pill{align-self:flex-end;background:rgba(15,15,17,.5);backdrop-filter:blur(4px)}
/* services carousel inside the media card */
.carousel{margin-top:auto}
.slides{position:relative}
.slide{
  position:absolute;top:0;left:0;right:0;
  opacity:0;pointer-events:none;
  transition:opacity .5s var(--ease);
}
.slide.is-active{position:relative;opacity:1;pointer-events:auto}
.slide .s-no{
  display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.08em;
  color:var(--orange-2);margin-bottom:6px;
}
.slide h2{font-weight:600;font-size:1.3rem;line-height:1.2;letter-spacing:-.015em}
.slide p{color:var(--on-dark-mut);font-size:13.5px;line-height:1.5;margin-top:6px;max-width:34ch}
.c-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.c-dots{display:flex;align-items:center;gap:5px}
.c-dots button{
  position:relative;width:22px;height:8px;border:0;padding:0;cursor:pointer;
  background:transparent;
}
.c-dots button::before{ /* inactive: true circle */
  content:"";position:absolute;top:0;left:50%;width:8px;height:8px;margin-left:-4px;
  border-radius:50%;background:rgba(239,234,224,.32);
  transition:background .3s var(--ease),opacity .3s var(--ease);
}
.c-dots button::after{ /* active: amber pill, transform/opacity only */
  content:"";position:absolute;inset:0;border-radius:var(--r-pill);
  background:var(--orange);opacity:0;transform:scaleX(.36);
  transition:transform .3s var(--ease),opacity .3s var(--ease);
}
.c-dots button.is-active::before{opacity:0}
.c-dots button.is-active::after{opacity:1;transform:scaleX(1)}
.c-dots button:hover::before{background:var(--orange-2)}

/* C. yellow stat card */
.card-stat{
  background:var(--yellow);color:var(--text);
  padding:24px;display:flex;flex-direction:column;
}
.card-stat .row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card-stat .big{
  font-weight:600;letter-spacing:-.04em;font-size:clamp(3.2rem,5vw,4.4rem);line-height:1;
}
.card-stat p{font-size:15px;font-weight:500;line-height:1.5;margin-top:6px;max-width:26ch}
.svc-list{list-style:none;margin-top:14px;border-top:1px solid rgba(20,20,23,.22)}
.svc-list li{
  display:flex;align-items:baseline;gap:10px;
  padding:8px 0;border-bottom:1px solid rgba(20,20,23,.14);
  font-size:13.5px;font-weight:600;letter-spacing:-.005em;
}
.svc-list li:last-child{border-bottom:none;padding-bottom:0}
.svc-list li span{font-size:11px;font-weight:600;color:rgba(20,20,23,.55)}

/* D. amber card */
.card-orange{
  background:linear-gradient(150deg,var(--orange) 0%,var(--orange-dark) 70%);
  color:var(--dark);padding:24px;display:flex;flex-direction:column;gap:12px;
}
.card-orange .row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card-orange h2{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.18;max-width:16ch}
.card-orange p{font-size:14.5px;line-height:1.55;color:rgba(22,32,43,.8);max-width:30ch}

/* ---- integration bar ---- */
.integration{
  margin-top:14px;background:var(--card-gray);border-radius:var(--r-md);
  padding:22px 26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.integration .k{
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange-text);white-space:nowrap;
  padding:8px 15px;border:1px solid rgba(226,145,47,.45);border-radius:var(--r-pill);
  background:rgba(226,145,47,.07);
}
.integration p{flex:1;min-width:260px;color:var(--text-soft);font-size:15px}

/* ============================================================ SECTION shell */
.section{padding:88px 0 0}
.section-head{max-width:700px;margin-bottom:44px}
.section-head .eyebrow{display:block;margin-bottom:14px}
.section-head h2{font-size:clamp(2rem,3.8vw,2.9rem)}
.section-head p{color:var(--text-soft);font-size:17px;margin-top:16px}

/* ============================================================ SERVICES */
.systems{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card-service{
  background:var(--card-gray);border-radius:var(--r-md);padding:30px 28px;
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.card-service:hover{transform:translateY(-4px);box-shadow:0 20px 44px -32px rgba(20,20,23,.4)}
.card-service .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.card-service .ico{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);
}
.card-service .ico svg{width:25px;height:25px;stroke:var(--orange);fill:none;stroke-width:1.7}
.card-service .no{font-size:13px;font-weight:600;color:var(--text-soft);letter-spacing:.08em}
.card-service h3{font-size:1.35rem;font-weight:600;letter-spacing:-.015em;margin-bottom:10px}
.card-service p{color:var(--text-soft);font-size:15.5px;line-height:1.6;flex:1}
.card-service .foot{
  margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--text-soft);display:flex;align-items:center;gap:9px;
}
.card-service .foot::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.card-service .foot b{color:var(--text);font-weight:600}

.systems-3{grid-template-columns:repeat(3,1fr)}
.card-service .guarantee{
  flex:none;margin-top:16px;padding:14px 16px;border-radius:var(--r-sm);
  background:rgba(226,145,47,.1);border:1px solid rgba(226,145,47,.32);
  color:var(--text);font-size:14px;line-height:1.55;font-weight:500;
}

/* ============================================================ BEAT CARDS (why it holds up / problem) */
.beats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card-beat{
  background:var(--card-gray);border-radius:var(--r-md);padding:28px 26px;
  display:flex;flex-direction:column;
}
.card-beat .no{
  font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--orange-text);margin-bottom:14px;
}
.card-beat h3{font-size:1.22rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin-bottom:10px}
.card-beat p{color:var(--text-soft);font-size:15.5px;line-height:1.6}

/* ============================================================ PROOF */
.card-proof{
  background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);
  padding:clamp(28px,4vw,56px);
}
.proof-art{position:absolute;inset:0;pointer-events:none}
.proof-art::before{
  content:"";position:absolute;top:-30%;right:-10%;width:70%;height:150%;
  background:radial-gradient(circle,rgba(226,145,47,.4),rgba(226,145,47,.1) 50%,transparent 72%);
  filter:blur(10px);
}
.proof-art svg{position:absolute;top:0;right:0;width:52%;height:100%;opacity:.75}
.proof-body{position:relative;z-index:1;max-width:60ch}
.on-dark-eyebrow{color:var(--orange-2)}
.card-proof h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:14px 0 18px;max-width:22ch}
.card-proof p{color:var(--on-dark-mut);font-size:17px;line-height:1.6;margin-bottom:14px}
.card-proof .btn{margin-top:10px}
.card-proof .proof-note{
  font-size:13.5px;color:var(--on-dark-mut);opacity:.8;margin:18px 0 0;
  padding-top:16px;border-top:1px solid var(--line-dark);max-width:48ch;
}

/* ============================================================ ABOUT */
.about{
  background:var(--card-gray);border-radius:var(--r-lg);
  padding:clamp(28px,4vw,52px);max-width:none;
}
.about h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:14px 0 18px}
.about p{color:var(--text-soft);font-size:17.5px;line-height:1.65;max-width:68ch}

/* ============================================================ CONTACT */
.contact-sub{margin-top:12px;color:var(--text-soft);font-size:16.5px;font-weight:500}
.contact-wrap{
  background:var(--card-gray);border-radius:var(--r-lg);
  padding:clamp(26px,4vw,52px);
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,56px);align-items:start;
}
.contact-lead h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-top:14px}
.contact-meta{display:flex;flex-direction:column;gap:26px;margin-top:30px}
.contact-meta > div{display:flex;align-items:flex-start;gap:14px;font-size:15px;line-height:1.55;color:var(--text)}
.contact-meta .ci{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 38px;margin-top:2px;
  background:#fff;border:1px solid var(--line);
}
.contact-meta .ci svg{width:18px;height:18px;stroke:var(--orange);fill:none;stroke-width:1.7}
.contact-meta small{display:block;color:var(--orange-text);font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;margin-bottom:5px}

form.card-form{
  background:#FFFCF4;border-radius:var(--r-md);
  padding:clamp(24px,3vw,36px);
  box-shadow:0 14px 40px -30px rgba(20,20,23,.3);
}
.field{margin-bottom:20px}
.field.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;letter-spacing:.02em}
.field label .req{color:var(--orange)}
.field input,.field textarea,.field select{
  width:100%;background:var(--card-gray);color:var(--text);
  border:1px solid transparent;border-radius:var(--r-sm);
  padding:13px 15px;font-family:inherit;font-size:15px;line-height:1.5;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.field textarea{resize:vertical;min-height:118px}
.field input::placeholder,.field textarea::placeholder{color:#9a9aa2}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(226,145,47,.16);background:#fff;
}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B5B63' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;
}
.char-count{margin-top:6px;text-align:right;font-size:12px;color:var(--text-soft)}
.char-count.warn{color:var(--orange-text)}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}
.form-foot .priv{font-size:12.5px;color:var(--text-soft);max-width:280px}
.form-status{
  display:none;margin-top:20px;padding:15px 18px;border-radius:var(--r-sm);font-size:14.5px;
  border:1px solid;align-items:flex-start;gap:10px;
}
.form-status.show{display:flex}
.form-status.ok{background:rgba(226,145,47,.1);border-color:rgba(226,145,47,.45);color:var(--orange-text)}
.form-status.err{background:rgba(200,60,40,.07);border-color:rgba(200,60,40,.35);color:#A03A28}
.honeypot{display:none}

/* ============================================================ DOC PAGE (worked example) */
.doc-head{max-width:74ch;margin:0 auto;padding:16px 0 40px}
.doc-head .eyebrow{display:block;margin-bottom:14px}
.doc-head h1{font-size:clamp(2.1rem,4vw,3.1rem);letter-spacing:-.03em;line-height:1.06;font-weight:600}
.doc-head .doc-sub{color:var(--text-soft);font-size:18px;margin-top:16px}
.doc-label{
  display:flex;gap:14px;align-items:flex-start;margin-top:26px;
  background:rgba(226,145,47,.1);border:1px solid rgba(226,145,47,.34);
  border-radius:var(--r-md);padding:18px 20px;font-size:15px;line-height:1.6;
}
.doc-label b{display:block;color:var(--orange-text);font-size:12.5px;letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:6px}
.doc{max-width:74ch;margin:0 auto;padding-bottom:20px}
.doc h2{
  font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.2;
  margin:56px 0 16px;padding-top:26px;border-top:1px solid var(--line);
}
.doc h3{font-size:1.12rem;font-weight:600;letter-spacing:-.01em;margin:32px 0 12px}
.doc h4{font-size:15px;font-weight:600;margin:24px 0 8px;color:var(--text)}
.doc p{color:var(--text-soft);font-size:16.5px;line-height:1.7;margin-bottom:16px}
.doc p strong,.doc li strong{color:var(--text);font-weight:600}
.doc em{color:var(--text-soft)}
.doc ul{list-style:none;margin:0 0 18px}
.doc ul li{
  position:relative;padding-left:22px;margin-bottom:10px;
  color:var(--text-soft);font-size:16px;line-height:1.65;
}
.doc ul li::before{
  content:"";position:absolute;left:4px;top:.68em;width:6px;height:6px;border-radius:50%;
  background:var(--orange);
}
.doc .callout{
  background:var(--card-gray);border-radius:var(--r-md);padding:20px 22px;margin:24px 0;
}
.doc .callout p:last-child{margin-bottom:0}
.doc .table-wrap{overflow-x:auto;margin:22px 0 26px}
.doc table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:520px}
.doc th,.doc td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
.doc th{
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--orange-text);border-bottom:1px solid var(--line-strong);white-space:nowrap;
}
.doc td{color:var(--text-soft)}
.doc td b,.doc tr.total td{color:var(--text);font-weight:600}
.doc tr.total td{border-bottom:none;border-top:1px solid var(--line-strong)}
.doc .num{text-align:right;white-space:nowrap}
.doc-end{
  margin:48px auto 0;max-width:calc(74ch + 8vw);
  background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);
  padding:clamp(26px,3.5vw,44px);
}
.doc-end h2{font-size:clamp(1.6rem,2.8vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin-bottom:12px;border:0;padding:0}
.doc-end p{color:var(--on-dark-mut);font-size:17px;margin-bottom:22px;max-width:52ch}

/* ============================================================ FOOTER */
.footer{
  margin-top:88px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.footer .brand .mark{width:30px;height:20px}
.footer-tag{color:var(--text-soft);font-size:14px}
.footer a.top{font-size:14px;color:var(--text-soft)}
.footer a.top:hover{color:var(--text)}

/* ============================================================ motion */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.mem-core{transform-box:fill-box;transform-origin:center;animation:memcore 3.4s ease-in-out infinite}
@keyframes memcore{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.3)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* ============================================================ responsive */
@media (max-width:1080px){
  .bento{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .card-hero{min-height:0}
  .bento-col{display:grid;grid-template-columns:repeat(3,1fr)}
  .card-media{min-height:230px}
}
@media (max-width:900px){
  .nav-links{display:none}
  .bento-col{grid-template-columns:1fr}
  .systems,.systems-3,.beats,.grid-4{grid-template-columns:1fr}
  .proof-art{display:none}
  .proof-body{max-width:none}
  .contact-wrap{grid-template-columns:1fr}
  .section{padding-top:64px}
  .footer{margin-top:64px}
  .card-hero h1{font-size:clamp(2.2rem,8vw,3rem)}
}
@media (max-width:560px){
  body{font-size:16px}
  .frame{padding:8px}
  .page{border-radius:20px;padding:16px}
  .field.row{grid-template-columns:1fr}
  .nav{padding-bottom:18px}
  .nav-cta{display:none}
  .hero-cta .btn{width:100%;justify-content:center}
}
