/* Arxael Research — see DESIGN.md for the system + rationale (D-01..D-07) */
/* Signature display serif — self-hosted (D-02), no third-party CDN */
@font-face{
  font-family:'Fraunces';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url("fonts/fraunces-latin.woff2") format("woff2");
}
:root{
  /* color (D-03) */
  --bg:#0a0c0f;
  --bg-elev:#0e1217;
  --ink:#edf0f2;
  --muted:#a6afb9;
  --faint:#868f99;
  --accent:#9cc0d4;
  --line:rgba(255,255,255,.08);
  /* type (D-02) */
  --serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* layout (D-04) */
  --maxw:860px;
  /* motion (D-06) */
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;color-scheme:dark;}
::selection{background:var(--accent);color:var(--bg);}
body{
  background:radial-gradient(950px 540px at 50% -3%, rgba(156,192,212,.17), transparent 70%) no-repeat, var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 36px;width:100%;}
@media(max-width:640px){.wrap{padding:0 28px;}}

a{color:inherit;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* entrance (D-06) */
.fade{opacity:0;transform:translateY(12px);animation:rise .9s var(--ease) forwards;}
.fade.d1{animation-delay:.05s}.fade.d2{animation-delay:.16s}.fade.d3{animation-delay:.27s}.fade.d4{animation-delay:.38s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fade{animation:none;opacity:1;transform:none}}

/* nav (D-05) */
header.site{padding:34px 0;border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);}
.brand .mark{display:flex;flex:0 0 auto;}
.brand .lockup{display:flex;align-items:baseline;gap:10px;}
.brand .nm{font-family:var(--serif);font-size:21px;letter-spacing:.01em;color:var(--ink);}
.brand .lab{font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);}
.links{display:flex;gap:26px;}
.links a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent;transition:color .25s var(--ease),border-color .25s var(--ease);}
.links a:hover{color:var(--ink);}
.links a.active{color:var(--ink);border-bottom-color:var(--accent);}

main{flex:1 0 auto;}

/* hero (D-05) */
.hero{padding:140px 0 110px;}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.4vw,68px);line-height:1.06;letter-spacing:-.01em;max-width:17ch;margin-bottom:32px;}
.hero .sub{font-size:clamp(16px,2.2vw,20px);color:var(--muted);max-width:56ch;margin-bottom:20px;}
.hero .lede{font-size:15px;color:var(--faint);max-width:56ch;font-style:italic;margin-bottom:44px;}
.more{display:flex;gap:32px;flex-wrap:wrap;}
.more a{font-size:13px;letter-spacing:.04em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px;transition:color .25s var(--ease);}
.more a:hover{color:var(--accent);}

/* sections (D-02/D-05) */
section{padding:96px 0;}
section + section{border-top:1px solid var(--line);}
.label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:40px;}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,34px);line-height:1.12;margin-bottom:24px;}
.intro{font-size:17px;color:var(--muted);max-width:62ch;margin-bottom:54px;}

/* index treatment (D-05): section numerals + left spine + hero accent words */
.idx{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.24em;color:var(--accent);margin-bottom:18px;}
main .wrap{position:relative;}
main .wrap::before{content:"";position:absolute;left:0;top:40px;bottom:40px;width:1px;
  background:linear-gradient(transparent, rgba(156,192,212,.28) 14%, rgba(156,192,212,.28) 86%, transparent);}
.hero h1 .ac{color:var(--accent);}
@media(max-width:640px){main .wrap::before{display:none;}}

/* approach items (D-05) */
.row{display:grid;grid-template-columns:1fr;}
.item{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;}
.item:first-child{border-top:none;}
.item h2{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;color:var(--ink);margin:0;}
.item p{font-size:15px;color:var(--muted);}
.item .go{display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.03em;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s var(--ease),color .25s var(--ease);}
.item .go:hover{border-bottom-color:var(--accent);}
.statement{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.2vw,32px);line-height:1.2;letter-spacing:-.01em;color:var(--ink);max-width:20ch;margin-bottom:24px;}
.principles{font-family:var(--serif);font-weight:400;font-size:clamp(19px,2.6vw,25px);line-height:1.7;color:var(--ink);max-width:24ch;margin:0;}
.principles span{color:var(--accent);padding:0 10px;}
@media(max-width:640px){.item{grid-template-columns:1fr;gap:8px;}.nav{flex-direction:column;align-items:flex-start;gap:16px;}.links{gap:18px;flex-wrap:wrap;}}

/* about + contact (D-05) */
.about p{font-size:17px;color:var(--muted);max-width:64ch;margin-bottom:18px;}
.about p strong{color:var(--ink);font-weight:600;}
.founder{font-size:15px;color:var(--faint);margin-top:8px;}
.contact a{font-family:var(--serif);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px;transition:color .25s var(--ease);}
.contact a:hover{color:var(--accent);}

/* footer */
footer{padding:44px 0 64px;border-top:1px solid var(--line);margin-top:40px;}
footer .legal{font-size:13px;color:var(--faint);margin-bottom:6px;}
footer .note{font-size:12.5px;color:var(--faint);opacity:.85;}

/* platform + prose */
.subhead{font-size:clamp(17px,2.2vw,20px);color:var(--muted);max-width:56ch;margin-bottom:40px;}
.prose p{font-size:17px;color:var(--muted);max-width:64ch;margin-bottom:18px;}
.prose p strong{color:var(--ink);font-weight:600;}
.band{margin-top:50px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);padding:30px 28px;}
.band .label{margin-bottom:14px;}
.band p{font-size:15.5px;color:var(--muted);max-width:72ch;margin:0;}
.closing{margin-top:48px;}

/* insights */
.note{padding:26px 0;border-top:1px solid var(--line);}
.note:first-child{border-top:none;}
.note h3{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--ink);margin-bottom:8px;}
.note p{font-size:15px;color:var(--muted);max-width:64ch;margin:0;}
.note .meta{display:inline-block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:12px;}

/* footer legal disclaimer */
footer .disclaimer{font-size:12px;color:var(--faint);opacity:.85;margin-top:14px;max-width:78ch;line-height:1.55;}
