/* Hallmark · macrostructure: Letter · tone: editorial-calm · anchor hue: navy (orchid = Elisian only) */
/* ---------------------------------------------------------------------------
 * Elisian marketing site — landing page stylesheet
 *
 * Extracted VERBATIM from marketing/pageA_template.html (the approved mockup's
 * source of truth, 2026-09-27). The only edits are the ones listed here:
 *   1. de-indented out of the inline <style> block
 *   2. the .draft-banner + .skip-link rules appended at the end of this file
 *   3. the .stub-* rules appended at the end of this file (stub pages)
 * Everything between this header and the "SITE ADDITIONS" marker is the
 * approved design untouched. Do not restyle it without a design ruling.
 * ------------------------------------------------------------------------- */

:root{
  --navy:#141C33; --navy-soft:#2A3356; --orchid:#7B3FF2; --orchid-2:#9E6BF5; --orchid-ink:#6A34D6;
  --g1:#15B8F0; --g2:#3E7BF2; --g3:#7B3FF2;
  --grad:linear-gradient(120deg,#15B8F0 0%,#3E7BF2 48%,#7B3FF2 100%);
  --paper:#F6F7FB; --card:#FFFFFF; --card-2:#FAFBFE;
  --ink:#141C33; --body:#3F4762; --muted:#727C96;
  --line:#E6E9F2; --line-2:#EFF1F7;
  --ok:#3DBE86;
  --shadow:0 1px 2px rgba(20,28,51,.05), 0 12px 30px -12px rgba(20,28,51,.14);
  --shadow-sm:0 1px 2px rgba(20,28,51,.06);
  --maxw:1080px; --prose:64ch;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-word:"Bricolage Grotesque","Fraunces",Georgia,serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sp:clamp(20px,5vw,40px);
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:var(--font-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);color:var(--navy);
  font-weight:500;letter-spacing:-.012em;text-wrap:balance;margin:0;}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--sp)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orchid-ink);font-weight:500}
.lede{font-size:clamp(18px,2.4vw,21px);line-height:1.55;color:var(--body);max-width:60ch}

header.top{position:relative;z-index:5}
.topbar{display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--sp);max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-word);
  font-weight:700;font-size:50px;color:var(--navy);letter-spacing:-.02em}
.logo{width:88px;height:88px;flex:0 0 auto;display:block}
.toplink{font-size:14.5px;color:var(--navy);text-decoration:none;
  padding:9px 16px;border:1px solid var(--line);border-radius:999px;
  background:var(--card);transition:border-color .18s ease, transform .18s ease}
.toplink:hover{border-color:var(--navy);transform:translateY(-1px)}

.hero{padding:clamp(24px,5vw,52px) 0 clamp(28px,5vw,48px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:end}
h1{font-size:clamp(38px,6.2vw,66px);line-height:1.03;letter-spacing:-.028em;font-weight:500}
.hero .lede{margin-top:22px}
.reassure{margin-top:18px;display:inline-flex;gap:9px;align-items:baseline;
  font-size:14.5px;color:var(--navy);border-left:2px solid var(--orchid);
  padding-left:12px;line-height:1.45}
.signup{margin-top:28px;max-width:460px}
.field{display:flex;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:7px;box-shadow:var(--shadow-sm)}
.field input{flex:1;min-width:0;border:0;background:transparent;font:inherit;
  font-size:16px;color:var(--navy);padding:11px 12px}
.field input::placeholder{color:var(--muted)}
.field input:focus{outline:none}
.btn{border:0;cursor:pointer;font:inherit;font-weight:600;font-size:15.5px;
  color:#fff;background:var(--grad);border-radius:9px;padding:12px 18px;
  white-space:nowrap;box-shadow:0 6px 18px -8px rgba(62,123,242,.6);transition:box-shadow .18s ease, transform .18s ease}
.btn:hover{box-shadow:0 10px 24px -8px rgba(62,123,242,.7);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.field:focus-within{border-color:var(--g2);box-shadow:0 0 0 3px rgba(62,123,242,.16)}
.signup.done .field{display:none}
.confirm{display:none;align-items:flex-start;gap:11px;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:12px;
  padding:16px 18px;box-shadow:var(--shadow-sm)}
.signup.done .confirm{display:flex}
.confirm b{color:var(--navy);font-weight:600}
.checkmark{width:20px;height:20px;flex:0 0 auto;margin-top:2px}

.founder{margin-top:20px;display:flex;gap:13px;align-items:center;max-width:470px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px;box-shadow:var(--shadow-sm)}
.founder .avatar{width:46px;height:46px;flex:0 0 auto;border-radius:50%;
  background:var(--card-2);border:1px solid var(--line);overflow:hidden;
  display:flex;align-items:center;justify-content:center;color:#98a2b6}
.founder .avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block}
.founder .fname{font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:15px;letter-spacing:-.01em}
.founder .fname span{color:var(--muted);font-weight:400;font-family:var(--font-body);font-size:13px}
.founder .fbio{font-size:12.5px;color:var(--body);line-height:1.45;margin-top:3px}

/* orchid bridge cityscape above the review */
.skyline{width:100%;max-width:none;height:auto;display:block;margin:0 0 20px;opacity:.8}

.review{background:var(--card);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);overflow:hidden;position:relative}
.review-head{display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--line-2);background:var(--card-2)}
.review-head .who{display:flex;align-items:center;gap:10px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--orchid);
  box-shadow:0 0 0 4px rgba(123,63,242,.14)}
.review-head .lbl{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.stamp{font-family:var(--font-mono);font-size:12.5px;color:var(--navy);font-weight:500}
.review-body{padding:8px 22px 20px}
.rrow{padding:16px 0;border-bottom:1px solid var(--line-2)}
.rrow:last-child{border-bottom:0}
.rrow .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.rrow.done .k{color:var(--orchid-ink)}
.item{display:flex;gap:11px;align-items:flex-start;padding:5px 0;font-size:15px;color:var(--body)}
.tick{width:17px;height:17px;flex:0 0 auto;margin-top:1px}
.item b{color:var(--navy);font-weight:600}
.handled{display:flex;align-items:center;gap:10px;margin-top:4px;
  font-family:var(--font-display);font-size:17px;color:var(--navy);font-weight:600}

.portfolio{padding:clamp(40px,6vw,64px) 0}
.pf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.pf-head h2{font-size:clamp(22px,3vw,30px)}
.pf-head .lede{max-width:44ch;margin-top:8px;font-size:16px}
.pf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.pf-grid figure{margin:0;position:relative;border-radius:15px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.pf-grid img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;background:var(--card-2)}
.pf-grid figure.wide img{aspect-ratio:5/4}
.pf-grid figcaption{position:absolute;left:12px;bottom:11px;font-family:var(--font-mono);
  font-size:11px;letter-spacing:.04em;color:#fff;background:rgba(20,28,51,.6);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:5px 11px;border-radius:999px}
@media(max-width:720px){.pf-grid{grid-template-columns:1fr 1fr}.pf-grid figure.wide{grid-column:1/-1}}
@media(max-width:460px){.pf-grid{grid-template-columns:1fr}}

section{padding:clamp(48px,8vw,86px) 0}
.rule{height:1px;background:var(--line);max-width:var(--maxw);margin:0 auto}
.sec-head{max-width:62ch}
h2{font-size:clamp(27px,4vw,40px);line-height:1.08;letter-spacing:-.02em}
.sec-head .lede{margin-top:16px}
.steps{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.step{background:var(--card);padding:24px 24px}
.step h3{font-size:19px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.step .sico{width:20px;height:20px;flex:0 0 auto;color:var(--orchid)}
.step .badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orchid-ink);background:rgba(123,63,242,.09);
  padding:3px 8px;border-radius:6px;font-weight:500;margin-left:auto}
.step p{margin-top:11px;font-size:14.5px;color:var(--body);line-height:1.55}
.ask{margin-top:34px;background:var(--navy);color:#fff;border-radius:16px;
  padding:clamp(24px,4vw,34px);display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.ask .q{font-family:var(--font-mono);font-size:15px;color:#C6B4F5}
.ask h3{color:#fff;font-size:clamp(19px,2.6vw,24px);font-weight:500;font-family:var(--font-display);flex:1;min-width:240px}
.ask p{color:#c5cbd8;font-size:14.5px;margin-top:8px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px)}
.duo .lede{font-size:16.5px;margin-top:14px}
.proof-list{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.proof-list li{list-style:none;display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--body)}
.proof-list .tick{margin-top:2px}
.proof-list b{color:var(--navy);font-weight:600}
ul{margin:0;padding:0}

.close{background:var(--navy);color:#fff;margin-top:0}
.close .wrap{padding-block:clamp(52px,8vw,92px)}
.close h2{color:#fff;font-size:clamp(28px,4.4vw,46px)}
.close .lede{color:#c5cbd8;margin-top:16px}
.close .field{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.close .field input{color:#fff}
.close .field input::placeholder{color:#9aa4bb}
.close .btn{background:var(--grad);color:#fff}
.close .btn:hover{filter:brightness(1.06)}
.close .field:focus-within{border-color:var(--g2);box-shadow:0 0 0 3px rgba(62,123,242,.25)}
.close .microcopy{color:#9aa4bb;margin-top:11px;font-size:13px}
.close .confirm{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);border-left-color:var(--ok);color:#c5cbd8}
.close .confirm b{color:#fff}
.secondary{margin-top:20px;font-size:14.5px}
.secondary a{color:#C6B4F5;text-decoration:none;border-bottom:1px solid rgba(198,180,245,.4);padding-bottom:1px}
.secondary a:hover{border-color:#C6B4F5}

footer{padding:34px 0 46px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:13.5px;color:var(--muted)}
.foot .brand{font-size:18px}
.foot-links a{text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .18s ease,border-color .18s ease}
.foot-links a:hover{color:var(--ink);border-color:var(--muted)}

.fade{opacity:0;transform:translateY(10px);animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
.fade.d1{animation-delay:.05s}.fade.d2{animation-delay:.13s}.fade.d3{animation-delay:.22s}
@keyframes rise{to{opacity:1;transform:none}}

@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .steps{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr;gap:32px}
  .skyline{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;animation:none}
  *{transition:none!important}
}
:focus-visible{outline:2px solid var(--orchid);outline-offset:2px;border-radius:4px}

/* integrations ring */
.integrations .int-head{text-align:center;max-width:64ch;margin:0 auto}
.integrations .int-head .lede{margin:16px auto 0}
.int-link{display:inline-block;margin-top:22px;font-size:14.5px;color:var(--orchid-ink);text-decoration:none;border-bottom:1px solid rgba(106,52,214,.35);padding-bottom:2px;transition:border-color .18s ease}
.int-link:hover{border-color:var(--orchid-ink)}
.ring-stage{position:relative;max-width:720px;margin:48px auto 0;aspect-ratio:1/0.9;overflow:visible}
.ring-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ring-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:clamp(104px,15vw,140px);height:clamp(104px,15vw,140px);border-radius:50%;
  background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 34px -10px rgba(62,123,242,.45);
  display:flex;align-items:center;justify-content:center}
.ring-center img{width:94%;height:94%;object-fit:contain;border-radius:50%}
.chip{position:absolute;transform:translate(-50%,-50%);z-index:1;display:inline-flex;align-items:center;gap:8px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 14px;box-shadow:var(--shadow-sm);
  white-space:nowrap;font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--ink);
  transition:transform .18s ease,box-shadow .18s ease;cursor:default}
.chip:hover{transform:translate(-50%,-50%) translateY(-2px);box-shadow:0 14px 28px -12px rgba(20,28,51,.28)}
.chip .g{width:15px;height:15px;flex:0 0 auto;border-radius:4px}
@media(max-width:760px){
  .ring-stage{aspect-ratio:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:540px}
  .ring-svg{display:none}
  .ring-center{position:static;transform:none;order:-1;margin-bottom:6px}
  .chip{position:static!important;left:auto!important;top:auto!important;transform:none!important}
  .chip:hover{transform:translateY(-2px)!important}
}

/* ===========================================================================
 * SITE ADDITIONS — everything below this marker was added when the mockup was
 * built into a real site. Nothing above it was changed.
 *
 * All values reference the tokens declared in :root above. No new colours,
 * no raw hex, no new fonts.
 * ========================================================================= */

/* --- Tokens for the additions below ------------------------------------
 * The approved design uses three values raw for text on the navy ground
 * (#fff, #C6B4F5, #c5cbd8 in .close and .ask). They are lifted into names
 * here so the rules added below reference tokens rather than literals. The
 * approved CSS above is left exactly as it was — renaming its values would
 * be a rewrite of the signed-off design, not a build step.
 * --------------------------------------------------------------------- */
:root{
  --on-navy:#FFFFFF;
  --on-navy-accent:#C6B4F5;
  --on-navy-body:#c5cbd8;
}

/* --- Skip link (keyboard + screen-reader navigation) -------------------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--card);color:var(--navy);font-size:14.5px;font-weight:600;
  padding:12px 18px;border:1px solid var(--line);border-radius:0 0 12px 0;
  box-shadow:var(--shadow-sm);text-decoration:none}
.skip-link:focus{left:0}

/* --- Draft banner -------------------------------------------------------
 * Shown on the two legal pages ONLY, because neither document has been
 * through outside-counsel review. The deployer removes it after sign-off —
 * see README.md, "Before you publish the legal pages".
 * --------------------------------------------------------------------- */
.draft-banner{background:var(--navy);color:var(--on-navy);font-family:var(--font-mono);
  font-size:13px;line-height:1.5;padding:14px var(--sp)}
.draft-banner .wrap{padding-inline:0;display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
@media(max-width:620px){.draft-banner .wrap{flex-direction:column;gap:5px}}
.draft-banner b{color:var(--on-navy-accent);font-weight:500;white-space:nowrap}
.draft-banner p{color:var(--on-navy-body)}

/* --- Long-form document pages (privacy, terms) ------------------------- */
.doc{padding-block:clamp(34px,6vw,64px) clamp(48px,8vw,86px)}
.doc-inner{max-width:74ch;margin:0 auto}
.doc h1{font-size:clamp(30px,4.6vw,44px);line-height:1.06}
.doc .doc-meta{margin-top:16px;font-family:var(--font-mono);font-size:12.5px;
  letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.doc h2{font-size:clamp(21px,2.6vw,27px);margin-top:clamp(38px,5vw,54px);
  padding-top:clamp(18px,2vw,22px);border-top:1px solid var(--line)}
.doc h3{font-size:18.5px;font-weight:600;letter-spacing:-.01em;margin-top:30px}
.doc p{margin-top:15px;font-size:16.5px;line-height:1.65}
.doc .doc-intro{font-size:clamp(17px,2.2vw,19px);line-height:1.6;color:var(--body)}
.doc ul{margin-top:14px;padding-left:0;display:flex;flex-direction:column;gap:10px}
.doc li{list-style:none;position:relative;padding-left:20px;
  font-size:16px;line-height:1.6}
.doc li::before{content:"";position:absolute;left:4px;top:.68em;
  width:5px;height:5px;border-radius:50%;background:var(--orchid);opacity:.55}
.doc li strong,.doc p strong{color:var(--navy);font-weight:600}
.doc a{color:var(--orchid-ink);text-decoration:none;
  border-bottom:1px solid rgba(106,52,214,.35);padding-bottom:1px;
  transition:border-color .18s ease}
.doc a:hover{border-color:var(--orchid-ink)}
.doc code{font-family:var(--font-mono);font-size:.9em;color:var(--navy);
  background:var(--card-2);border:1px solid var(--line-2);
  border-radius:5px;padding:1px 5px}
.doc .table-scroll{margin-top:18px;overflow-x:auto;
  border:1px solid var(--line);border-radius:12px;background:var(--card)}
.doc table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:12px 15px;
  border-bottom:1px solid var(--line-2)}
.doc th{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);font-weight:500;
  background:var(--card-2);white-space:nowrap}
.doc tbody tr:last-child td{border-bottom:0}
.doc blockquote{margin:20px 0 0;padding:16px 18px;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--orchid);
  border-radius:12px;box-shadow:var(--shadow-sm)}
.doc blockquote p{margin-top:0;font-size:15.5px}
.doc blockquote p + p{margin-top:12px}
.doc hr{margin:clamp(34px,5vw,48px) 0 0;border:0;height:1px;background:var(--line)}

/* --- Page header used by the inner pages -------------------------------- */
.inner-top .topbar{padding-block:18px}
.inner-top .brand{font-size:30px}
.inner-top .logo{width:52px;height:52px}
.inner-top .back{font-family:var(--font-body);font-size:14.5px;
  color:var(--navy);text-decoration:none;padding:9px 16px;
  border:1px solid var(--line);border-radius:999px;background:var(--card);
  transition:border-color .18s ease,transform .18s ease}
.inner-top .back:hover{border-color:var(--navy);transform:translateY(-1px)}

/* --- Stub pages --------------------------------------------------------- */
.stub{padding-block:clamp(52px,10vw,110px)}
.stub-inner{max-width:60ch;margin:0 auto;text-align:center}
.stub h1{font-size:clamp(28px,4.4vw,42px)}
.stub .lede{margin:18px auto 0}
.stub .stub-actions{margin-top:30px;display:flex;gap:12px;
  justify-content:center;flex-wrap:wrap}
.stub .stub-note{margin-top:34px;font-family:var(--font-mono);font-size:12px;
  line-height:1.6;color:var(--muted);letter-spacing:.02em}

/* --- Mobile floor ------------------------------------------------------
 * The approved design collapses at 820px and 760px. These two rules cover
 * the narrowest phones (320px), where the 50px wordmark and the two-column
 * footer would otherwise force a horizontal scroll.
 * ------------------------------------------------------------------- */
@media(max-width:420px){
  .brand{font-size:38px;gap:9px}
  .logo{width:64px;height:64px}
  .foot{justify-content:flex-start;gap:12px}
  .doc table{min-width:420px}
}
@media(max-width:340px){
  .brand{font-size:32px}
  .logo{width:54px;height:54px}
}

/* --- Two inherited defects, fixed ---------------------------------------
 * Both of these are in the approved mockup. They are invisible at desktop
 * widths (the 1080px .wrap is centred, so the viewport supplies the gutter)
 * and they bite below 1080px. Flagged to Mike rather than silently restyled;
 * these are bug fixes, not design changes.
 *
 * 1. The hero has no side gutter below 1080px.
 *    `.hero` sets `padding: <block> 0 <block>`, and because it sits on the
 *    same element as `.wrap` and is declared later with equal specificity,
 *    its `0` wins over `.wrap`'s `padding-inline`. Result: hero copy runs
 *    flush to both screen edges from 1079px down. Every other section keeps
 *    its gutter because `.wrap` is alone on those elements.
 *    Fixed with a two-class selector so it beats `.hero` on specificity
 *    rather than on source order.
 *
 * 2. At 320px the hero copy was clipped, not scrolled.
 *    A grid item's automatic minimum size is its min-content, so the hero's
 *    single column could not shrink below the e-mail field's min-content
 *    (339px: a 206px input plus the 109px "Notify Me" button). The column
 *    overflowed the 320px viewport and `overflow-x: clip` on html/body hid
 *    the evidence — the lede lost its last characters with no scrollbar to
 *    reveal them. Measured before: column 339px in a 320px viewport, 6
 *    elements past the right edge. After: 280px, zero.
 * --------------------------------------------------------------------- */
.hero.wrap{padding-inline:var(--sp)}
.hero-grid > *{min-width:0}

/* --- Integration marks in the ecosystem ring ----------------------------
 * The approved mockup used a 15px flat colour swatch beside each name. Those
 * are now image files (img/integrations/*.svg) so an official logo can be
 * dropped in without touching markup — see README, "The integration marks".
 *
 * 18px rather than the mockup's 15px: a monogram or a real logo needs the
 * extra 3px to read at all, where a plain colour square did not. `object-fit:
 * contain` means an official SVG with a different aspect ratio will letterbox
 * inside the box instead of stretching.
 * --------------------------------------------------------------------- */
.chip img.g{width:18px;height:18px;border-radius:5px;object-fit:contain}

/* --- Ecosystem lead-in (was a link, now a line) ------------------------
 * "Check out our planned integrations for Elisian.ai ↴" replaced the
 * "See our planned integrations →" link (Mike, 2026-09-27). It keeps
 * .int-link's colour and spacing, and drops the underline and the hover —
 * an underline on something that is not clickable is a false affordance,
 * and the ↴ already points at the ring directly below it.
 * --------------------------------------------------------------------- */
.integrations .int-note{display:inline-block;margin-top:22px;font-size:14.5px;
  color:var(--orchid-ink)}

/* --- Founder avatar framing --------------------------------------------
 * img/april-strickland.jpg is now a square crop centred on the face, so the
 * circle no longer needs to pull the image to its top edge. The approved
 * rule above sets `object-position:50% 0%`, which was correct for the full
 * 600x899 portrait and puts the face about 78% down the circle once the
 * image is already square. Re-centred here rather than edited above.
 * Crop is documented in README, "Replacing the founder photo".
 * --------------------------------------------------------------------- */
.founder .avatar img{object-position:50% 50%}
