/* THE AI FACULTY — v2 "white register"
   Pure white · near-black type · hairlines · generous whitespace.
   Display: Fraunces · Body: Public Sans · Zero-JS standard. */

:root{
  --black:#111111; --gray:#575757; --gray-light:#8A8A8A;
  --line:#E6E6E6; --line-dark:#111111;
  --accent:#1E7A64; --accent-deep:#155D4B; --accent-tint:#EFF6F3;
  --white:#FFFFFF; --tint:#FAFAFA;
  --display:"Fraunces",Georgia,serif;
  --body:"Public Sans",-apple-system,Segoe UI,sans-serif;
  --wrap:1120px; --narrow:720px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.75;color:var(--black);background:var(--white)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem}
.wrap-narrow{max-width:var(--narrow);margin:0 auto;padding:0 1.5rem}
img{max-width:100%}
a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-deep)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* type */
h1,h2,h3,h4{font-family:var(--display);color:var(--black);line-height:1.12;font-weight:600;letter-spacing:-0.012em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:.5rem 0 0}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:3.2rem 0 1rem}
h3{font-size:1.2rem;margin:2.4rem 0 .6rem}
.eyebrow{font-family:var(--body);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}

/* signature: single hairline, air above and below */
.cert-rule{width:72px;border-top:2px solid var(--accent);height:0;margin:1.6rem 0 0}
.cert-rule-light{border-color:var(--black)}

/* header + CSS-only nav */
.site-header{background:var(--white);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1rem;min-height:72px}
.brand{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--black);text-decoration:none}
.brand-mark{display:inline-block;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:0;padding:.02em .3em;margin-right:.3em;font-size:.85em}
.site-nav{margin-left:auto}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.1rem}
.nav-item{position:relative}
.nav-top{display:block;color:var(--gray);text-decoration:none;font-size:.9rem;font-weight:500;padding:1.55rem .7rem}
.nav-item:hover .nav-top,.nav-item:focus-within .nav-top{color:var(--accent-deep)}
.dropdown{list-style:none;margin:0;padding:.6rem 0;position:absolute;left:0;top:100%;min-width:230px;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--accent);box-shadow:0 16px 40px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:.5rem 1.1rem;color:var(--gray);text-decoration:none;font-size:.92rem}
.dropdown a:hover{background:var(--accent-tint);color:var(--accent-deep)}
.nav-cta a{background:var(--accent);color:var(--white);text-decoration:none;font-weight:600;font-size:.88rem;padding:.6rem 1.15rem;margin-left:.6rem;display:block}
.nav-cta a:hover{background:var(--accent-deep);color:var(--white)}
.nav-toggle{display:none}
.nav-toggle-label{display:none}

/* page head: white, hairline below, lots of air */
.page-head{background:var(--white);padding:5rem 0 3.2rem;border-bottom:1px solid var(--line)}
.page-head h1{max-width:20ch}

/* prose */
.prose{padding:3.5rem 1.5rem 5.5rem}
.prose p{color:#2A2A2A}
.prose ul{padding-left:1.25rem}
.prose li{margin:.5rem 0;color:#2A2A2A}
.prose strong{color:var(--black)}
.prose h2{padding-top:.3rem}
.prose h3{padding-top:.2rem}

/* hero: white, huge type, maximum air */
.hero{background:var(--white);padding:7.5rem 0 5.5rem}
.hero h1{max-width:15ch}
.hero-lede{max-width:52ch;font-size:1.18rem;color:var(--gray);margin-top:1.8rem}
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2.4rem}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.95rem;padding:.85rem 1.7rem;border:1px solid var(--accent)}
.btn-accent{background:var(--accent);color:var(--white)}
.btn-accent:hover{background:var(--accent-deep);color:var(--white)}
.btn-ghost{background:var(--white);color:var(--accent)}
.btn-ghost:hover{background:var(--accent-tint);color:var(--accent-deep)}
.btn-ghost-dark{background:var(--white);color:var(--accent)}
.btn-ghost-dark:hover{background:var(--accent-tint);color:var(--accent-deep)}

/* trust bar: hairline strip, gray small caps */
.trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.trustbar .wrap{display:flex;flex-wrap:wrap;gap:.5rem 3rem;padding:1.15rem 1.5rem;justify-content:center}
.trustbar span{color:var(--gray-light);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* tiles: hairline cards, no color */
.tiles-section{padding:5.5rem 0}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;margin-top:2.2rem;border:1px solid var(--line)}
.tile{background:var(--white);border:0;outline:1px solid var(--line);padding:2rem 1.8rem 1.7rem;text-decoration:none;color:var(--black);display:flex;flex-direction:column;gap:.5rem;transition:.15s}
.tile:hover{background:var(--accent-tint)}
.tile h3{margin:0;font-size:1.18rem}
.tile p{margin:0;font-size:.95rem;color:var(--gray);line-height:1.6}
.tile-go{margin-top:auto;padding-top:1rem;color:var(--accent);font-weight:600;font-size:.88rem}

/* founders: hairline grid */
.founders-section{padding:5.5rem 0;border-top:1px solid var(--line)}
.founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:2.2rem}
.founder{background:var(--white);border-top:2px solid var(--accent);padding:1.6rem 0 0;text-decoration:none;color:var(--black)}
.founder:hover h3{color:var(--gray)}
.founder-role{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0}
.founder h3{margin:.5rem 0 .7rem;transition:.15s}
.founder p{font-size:.95rem;color:var(--gray);margin:0;line-height:1.65}

/* CTA band */
.cta-band{padding:6rem 0;text-align:center;border-top:1px solid var(--line)}
.cta-band h2{margin-top:0}
.cta-band p{color:var(--gray);max-width:52ch;margin:.8rem auto 0}
.cta-band .hero-ctas{justify-content:center}

/* footer: white, hairline, quiet */
.site-footer{background:var(--white);color:var(--gray);margin-top:4rem;border-top:1px solid var(--line)}
.footer-inner{max-width:var(--wrap);margin:0 auto;padding:3.5rem 1.5rem 2.5rem;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2.5rem}
.footer-brand{font-family:var(--display);font-size:1.15rem;color:var(--black);font-weight:700}
.footer-brand .brand-mark{border-color:var(--accent)}
.footer-brand p{font-family:var(--body);font-size:.88rem;color:var(--gray);font-weight:400;line-height:1.65;margin:.8rem 0 0}
.footer-col h4{font-family:var(--body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:.45rem 0}
.footer-col a{color:var(--gray);text-decoration:none;font-size:.92rem}
.footer-col a:hover{color:var(--accent-deep);text-decoration:underline}
.footer-legal{border-top:1px solid var(--line);max-width:var(--wrap);margin:0 auto;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--gray-light)}
.footer-legal a{color:var(--gray-light);text-decoration:none}
.footer-legal a:hover{color:var(--black);text-decoration:underline}

/* mobile: CSS-only menu */
@media (max-width:940px){
  .nav-toggle-label{display:flex;flex-direction:column;gap:5px;margin-left:auto;cursor:pointer;padding:.6rem}
  .nav-toggle-label span{width:24px;height:2px;background:var(--black);display:block}
  .site-nav{position:fixed;inset:72px 0 0 0;background:var(--white);overflow-y:auto;display:none;margin:0;border-top:1px solid var(--line)}
  .nav-toggle:checked ~ .site-nav{display:block}
  .nav-list{flex-direction:column;align-items:stretch;padding:1rem 1.5rem 3rem}
  .nav-top{padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--black)}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:.3rem 0 .8rem 1rem}
  .dropdown a{padding:.4rem 0}
  .dropdown a:hover{background:transparent}
  .nav-cta a{margin:1rem 0 0;text-align:center}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .hero{padding:5rem 0 4rem}
}
@media print{.site-header,.site-footer{display:none}}

/* ---------- artwork layout ---------- */
.page-head-flex{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.page-head-icon{width:56px;height:56px;flex:0 0 auto;opacity:.9;display:block}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center}
.hero-seal{width:min(340px,100%);height:auto;justify-self:center}
figure.art{margin:2.4rem 0;padding:0}
figure.art img,figure.art svg{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff}
figure.art figcaption{font-size:.85rem;color:var(--gray-light);margin-top:.6rem;letter-spacing:.02em}
figure.art-side{float:right;width:min(260px,42%);margin:0 0 1.2rem 1.8rem}
figure.art-side img,figure.art-side svg{width:100%;height:auto;display:block}
figure.art-portrait{float:right;width:min(230px,40%);margin:0 0 1.2rem 1.8rem}
figure.art-portrait img,figure.art-portrait svg{width:100%;height:auto;display:block}
.prose::after{content:"";display:block;clear:both}
@media (max-width:940px){
  .hero-grid{grid-template-columns:1fr}
  .hero-seal{width:240px;margin-top:1.5rem}
  .page-head-icon{width:42px;height:42px}
  figure.art-side,figure.art-portrait{float:none;width:min(300px,80%);margin:1.4rem auto}
}
