/* Parseus AI: shared design system.
   Navigation lives in site-nav.css; page-specific rules stay in each page. */

:root{
  /* Foundations */
  --ivory:#F7F5F0; --ivory-warm:#EFEBE1; --ivory-brand:#FEFBF7; /* matches the pillar artwork background */
  --ink:#1A1A2E; --slate:#5B6472; --body:#3A4052; --line:#DCD8CC;
  /* Navy + Persian blue */
  --navy:#0B2A5B; --navy-deep:#0A2350; --persian:#2E5BC9; --lapis:#1E3E8C; --lapis-deep:#16306e; --ice:#EAF0FC;
  /* Restrained gold (sampled from the approved artwork) */
  --gold:#B0844A; --gold-text:#85602A; /* 5.4:1 on ivory, for small text */
  --amber:#A16207;
  --ok-bg:#E1F5EE; --ok:#0F6E56; --err:#B42318; --err-bg:#FEF3F2;
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:14px;
  --gutter:2rem;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:var(--sans);color:var(--ink);background:var(--ivory);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
p a,li a,.text-link{color:var(--persian);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
p a:hover,li a:hover,.text-link:hover{color:var(--lapis);}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter);}
.narrow{max-width:760px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}

/* ---------- Type ---------- */
.eyebrow{display:inline-block;font-family:var(--sans);font-size:0.74rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-text);margin-bottom:0.9rem;}
h1,.h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.2rem,5.4vw,3.9rem);line-height:1.06;letter-spacing:-0.025em;color:var(--ink);}
h2,.h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.65rem,3.4vw,2.45rem);line-height:1.14;letter-spacing:-0.02em;color:var(--ink);}
h3,.h3{font-family:var(--serif);font-weight:600;font-size:clamp(1.18rem,2vw,1.38rem);line-height:1.22;letter-spacing:-0.01em;color:var(--ink);}
.lede{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.65;color:var(--body);}
.subtitle{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.3;color:var(--lapis);letter-spacing:-0.01em;}
.prose p{font-size:1rem;line-height:1.8;color:var(--body);margin-bottom:1.25rem;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--ink);font-weight:600;}
.muted{color:var(--slate);}
.small{font-size:0.88rem;}

/* ---------- Layout ---------- */
.page-hero{padding:4.2rem 0 2.6rem;}
.page-hero h1{max-width:20ch;}
.page-hero .lede{max-width:62ch;margin-top:1.3rem;}
.page-hero .subtitle{margin-top:1rem;max-width:40ch;}
.section{padding:4.2rem 0;}
.section.tight{padding:2.8rem 0;}
.section-head{max-width:760px;margin-bottom:2.4rem;}
.section-head p{margin-top:0.9rem;color:var(--body);font-size:1.02rem;}
.section-head.center{text-align:center;}
.rule{height:2px;background:linear-gradient(90deg,transparent,var(--persian),transparent);max-width:680px;margin:0 auto;border:0;}
.rule.gold{background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.grid{display:grid;gap:1.25rem;}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:960px){.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:680px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr;}}

/* Girih motif separator */
.girih{display:flex;align-items:center;gap:1.1rem;padding:1.4rem 0;color:var(--persian);}
.girih .line{height:1px;flex:1;max-width:520px;background:linear-gradient(90deg,var(--persian),var(--line));opacity:0.5;}
.girih svg{width:34px;height:34px;flex-shrink:0;}

/* ---------- Cards ---------- */
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.7rem;}
.card h3{margin-bottom:0.6rem;}
.card p{color:var(--body);font-size:0.97rem;line-height:1.65;}
.card .card-foot{margin-top:auto;padding-top:1.2rem;}
a.card{transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;}
a.card:hover{transform:translateY(-3px);border-color:var(--persian);box-shadow:0 16px 38px -22px rgba(30,62,140,0.45);}
.card .num{font-family:var(--serif);font-weight:600;font-size:0.95rem;color:#fff;background:var(--navy);width:1.9rem;height:1.9rem;border-radius:7px;display:grid;place-items:center;margin-bottom:1.1rem;}
.card .more{display:inline-flex;align-items:center;gap:0.4rem;font-weight:600;font-size:0.95rem;color:var(--persian);}
a.card:hover .more .arr{transform:translateX(4px);}
.more .arr{transition:transform 0.2s;}

/* Status labels: keep what exists distinct from what's planned */
.status{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:0.22rem 0.65rem;border-radius:999px;white-space:nowrap;}
.status.available{background:var(--ok-bg);color:var(--ok);}
.status.dev{background:var(--ivory-warm);color:#4B5260;}
.status.expertise{background:var(--ice);color:var(--lapis);}
.status.soon{background:#F6EEDF;color:#6E4F22;}

/* ---------- Buttons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:0.8rem;align-items:center;}
.actions.center{justify-content:center;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:48px;padding:0.75rem 1.5rem;border-radius:10px;font-family:var(--sans);font-weight:600;font-size:0.98rem;line-height:1.25;text-align:center;border:1.5px solid transparent;cursor:pointer;transition:transform 0.2s,background 0.2s,color 0.2s,border-color 0.2s;}
.btn .arr{transition:transform 0.2s;}
.btn:hover .arr{transform:translateX(4px);}
.btn-primary{background:var(--persian);color:#fff;}
.btn-primary:hover{background:var(--lapis);transform:translateY(-2px);}
.btn-secondary{background:transparent;color:var(--persian);border-color:var(--persian);}
.btn-secondary:hover{background:var(--persian);color:#fff;transform:translateY(-2px);}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{transform:translateY(-2px);}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,0.7);}
.btn-outline-light:hover{background:rgba(255,255,255,0.12);}
.btn[disabled],.btn[aria-disabled="true"]{opacity:0.6;cursor:not-allowed;transform:none;}

/* ---------- Navy band ---------- */
.band{background:var(--navy);color:#DCE5F7;}
.band h2,.band h3{color:#fff;}
.band .eyebrow{color:#E2C48F;}
.band p{color:#C9D5EE;}
.band a.text-link,.band p a{color:#fff;}

/* ---------- Process steps ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:0;counter-reset:step;position:relative;}
.steps li{position:relative;padding:3rem 1rem 0 0;}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;background:var(--ivory);border:1.5px solid var(--persian);color:var(--persian);font-family:var(--serif);font-weight:600;font-size:0.95rem;z-index:1;}
.steps li::after{content:"";position:absolute;top:1.05rem;left:2.1rem;right:0;height:1.5px;background:var(--line);}
.steps li:last-child::after{display:none;}
.steps .step-title{display:block;font-family:var(--serif);font-weight:600;font-size:1.08rem;color:var(--ink);margin-bottom:0.35rem;line-height:1.25;}
.steps .step-text{font-size:0.92rem;color:var(--body);line-height:1.55;}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;}
  .steps li{padding:0 0 1.5rem 3.2rem;}
  .steps li::after{top:2.1rem;bottom:0;left:1.02rem;right:auto;width:1.5px;height:auto;}
  .steps li:last-child{padding-bottom:0;}
}

/* ---------- Notices ---------- */
.notice{border:1px solid var(--line);border-left:4px solid var(--gold);background:#fff;border-radius:10px;padding:1.1rem 1.25rem;color:var(--body);font-size:0.96rem;}
.notice strong{color:var(--ink);}
.notice.info{border-left-color:var(--persian);}
.notice.preview{border-left-color:var(--amber);background:#FFF8EC;}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.35rem;}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;}
@media (max-width:640px){.form .row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:0.4rem;min-width:0;}
.field label,.field legend,.fieldset-legend{font-weight:600;font-size:0.95rem;color:var(--ink);}
.field .req{color:var(--err);font-weight:700;margin-left:0.15rem;}
.field .opt{font-weight:500;color:var(--slate);font-size:0.86rem;margin-left:0.3rem;}
.field .hint{font-size:0.86rem;color:var(--slate);line-height:1.5;}
.field input[type=text],.field input[type=email],.field select,.field textarea{width:100%;min-height:48px;padding:0.7rem 0.85rem;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid #B9B4A6;border-radius:9px;transition:border-color 0.15s,box-shadow 0.15s;}
.field textarea{min-height:130px;resize:vertical;line-height:1.55;}
.field select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235B6472' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.9rem center;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--persian);box-shadow:0 0 0 3px rgba(46,91,201,0.25);}
.field [aria-invalid="true"]{border-color:var(--err);}
.field .error{display:none;font-size:0.88rem;font-weight:600;color:var(--err);}
.field .error:not(:empty){display:block;}
.field .count{font-size:0.8rem;color:var(--slate);text-align:right;}
.check{display:flex;gap:0.75rem;align-items:flex-start;font-size:0.95rem;color:var(--body);line-height:1.55;}
.check input{width:22px;height:22px;margin-top:0.12rem;flex-shrink:0;accent-color:var(--persian);}
.check label{font-weight:500;color:var(--body);}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
.error-summary{border:2px solid var(--err);background:var(--err-bg);border-radius:10px;padding:1rem 1.2rem;}
.error-summary h2{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--err);margin-bottom:0.4rem;letter-spacing:0;}
.error-summary ul{padding-left:1.1rem;}
.error-summary a{color:var(--err);font-weight:600;}
.form-status{font-size:0.95rem;font-weight:600;color:var(--slate);min-height:1.4em;}
.form-status.err{color:var(--err);}
.form-success{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:12px;padding:1.6rem 1.5rem;}
.form-success h2{font-size:1.5rem;margin-bottom:0.6rem;}
.form-success p{color:var(--body);margin-top:0.6rem;}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.9rem;}
@media (max-width:600px){.form-card{padding:1.4rem 1.1rem;}}

/* ---------- Footer ---------- */
.site-footer{margin-top:3rem;border-top:1px solid var(--line);padding:3rem 0 2.2rem;}
/* Balanced footer: adequate link-column widths, consistent gutters, logo kept separate. */
.foot-grid {display: grid; grid-template-columns: 270px 135px 235px 210px;column-gap: 24px; row-gap: 2rem; align-items: start;}
.foot-brand{display:inline-flex;line-height:0;border-radius:6px;max-width:100%;}
/* Footer: the complete approved brand image with its one-line slogan, scaled proportionally */
.foot-brand .sig-full{display:block;width:228px;max-width:100%;height:auto;}
.foot-col h2{font-family:var(--sans);font-size:0.74rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--gold-text);margin-bottom:0.7rem;}
.foot-col ul{list-style:none;}
.foot-col a{display:inline-block;padding:0.3rem 0;font-size:0.93rem;color:var(--body);}
.foot-col a:hover{color:var(--persian);text-decoration:underline;}
.foot-legal{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:0.84rem;color:var(--slate);display:flex;flex-wrap:wrap;gap:0.4rem 1.4rem;justify-content:space-between;}
@media (max-width:960px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.foot-grid .foot-about{grid-column:1/-1;}}
@media (max-width:420px){.foot-grid{grid-template-columns:1fr;}.foot-col a{padding:0.55rem 0;}}

/* ---------- Small screens ---------- */
@media (max-width:600px){
  :root{--gutter:1rem;}
  .page-hero{padding:2.4rem 0 1.6rem;}
  .section{padding:3rem 0;}
  .section.tight{padding:2.2rem 0;}
  .card{padding:1.45rem 1.2rem;}
  .actions .btn{flex:1 1 100%;}
}

/* ---------- Insights registry output ---------- */
.group-title{font-family:var(--sans);font-size:0.76rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--gold-text);margin:2rem 0 0.9rem;}
.articles{list-style:none;display:grid;gap:1rem;}
.article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.3rem 1.4rem;}
.article .meta{font-size:0.84rem;color:var(--slate);margin-bottom:0.4rem;}
.article h3,.article h4{font-family:var(--serif);font-weight:600;font-size:1.18rem;line-height:1.3;margin-bottom:0.4rem;}
.article h3 a,.article h4 a{color:var(--ink);text-decoration:none;}
.article h3 a:hover,.article h4 a:hover{color:var(--persian);text-decoration:underline;}
.article p{color:var(--body);font-size:0.96rem;}
.article-img{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:8px;margin-bottom:0.9rem;}
.insights-empty{border:1.5px dashed var(--line);border-radius:12px;padding:1.8rem 1.6rem;background:rgba(255,255,255,0.6);}
.insights-empty h3{margin-bottom:0.5rem;}
.insights-empty p{color:var(--body);}
.featured-insights{margin-top:2rem;padding:1.4rem 1.5rem;border:1px solid rgba(255,255,255,0.18);border-radius:var(--radius);}
.featured-insights h3{font-family:var(--sans);font-size:0.74rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#E2C48F;margin-bottom:0.6rem;}
.featured-insights ul{list-style:none;margin-bottom:0.8rem;}
.featured-insights li{padding:0.5rem 0;border-top:1px solid rgba(255,255,255,0.12);}
.featured-insights li:first-child{border-top:0;}
.featured-insights li a{color:#fff;font-weight:600;}
.featured-insights .when{display:block;font-size:0.84rem;color:#A9B9DC;}

/* Jump link to a form further down the page (shown on narrow screens) */
.jump-form{display:none;margin-top:1.1rem;}
@media (max-width:900px){.jump-form{display:block;}}
[data-form-box]{scroll-margin-top:80px;}
[data-form-box]:focus{outline:none;}

/* ---------- Key facts line and status panel (conversation pages) ---------- */
.key-facts{display:flex;flex-wrap:wrap;gap:0.2rem 0;margin-top:1.2rem;list-style:none;font-size:0.95rem;font-weight:600;color:var(--ink);}
.key-facts li:not(:last-child)::after{content:"\00B7";margin:0 0.65rem;color:var(--gold);font-weight:700;}
.status-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem 2rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--persian);border-radius:12px;padding:1.4rem 1.6rem;}
.status-panel h2{font-size:clamp(1.15rem,2vw,1.35rem);margin-bottom:0.35rem;}
.status-panel p{color:var(--body);max-width:62ch;}
.status-panel .btn{flex-shrink:0;}
.status-panel.closed{border-left-color:var(--slate);}
.period{margin-top:0.8rem;font-weight:600;color:var(--ink);}
.flow{display:flex;flex-wrap:wrap;gap:0.45rem 0;list-style:none;counter-reset:f;margin-top:0.6rem;}
.flow li{counter-increment:f;display:inline-flex;align-items:center;font-size:0.95rem;font-weight:600;color:var(--ink);}
.flow li::before{content:counter(f);display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:0.45rem;border-radius:50%;border:1.5px solid var(--persian);color:var(--persian);font-family:var(--serif);font-size:0.8rem;}
.flow li:not(:last-child)::after{content:"\2192";margin:0 0.7rem;color:var(--slate);font-weight:400;}
@media (max-width:600px){.status-panel{padding:1.2rem 1.1rem;}.status-panel .btn{width:100%;}}
.apply-section{scroll-margin-top:80px;}
.apply-section:focus{outline:none;}


/* About: optional extended founder story. Native details keeps the narrative
   accessible to mouse, touch and keyboard users without scripting. */
.founder-history{margin:0;padding:0;}
.founder-history-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:980px;margin:0 auto;padding:1.25rem 1rem;color:var(--persian);font-family:var(--serif);font-size:1.18rem;font-style:italic;font-weight:600;cursor:pointer;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.founder-history-toggle::-webkit-details-marker{display:none;}
.founder-history-toggle:hover{color:var(--lapis);background:rgba(46,91,201,.035);}
.founder-history-toggle:focus-visible{outline:3px solid var(--persian);outline-offset:3px;}
.founder-history-arrow{width:12px;height:12px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease;}
.founder-history[open] .founder-history-arrow{transform:rotate(225deg);}
@media(prefers-reduced-motion:reduce){.founder-history-arrow{transition:none;}}
@media(max-width:600px){.founder-history-toggle{font-size:1.06rem;padding:1.15rem 1rem;}}
