/* ARYS Intelligence — Main Stylesheet v3 */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --canvas:#F7F7F5;
  --canvas2:#EFEFEC;
  --cream:#F7F7F5;
  --cream2:#EFEFEC;
  --ink:#0E0E0C;
  --ink2:#1A1A17;
  --muted:#65655D;
  --muted2:#9A9A92;
  --green:#155730;
  --green2:#1E7B45;
  --green-pale:#EAF3EE;
  --green-mid:#3A9960;
  --assoc:#1B3A5C;
  --assoc-light:#2455A0;
  --assoc-pale:#EEF4FD;
  --assoc-mid:#3D74C0;
  --border:rgba(14,14,12,0.07);
  --border2:rgba(14,14,12,0.14);
  --serif:'Bricolage Grotesque',system-ui,sans-serif;
  --serif-italic:'Instrument Serif',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --radius:6px;
  --max-w:1120px;
}

html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;background:rgba(247,247,245,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:box-shadow 0.3s}
.nav-logo{display:flex;align-items:center;gap:0.5rem;text-decoration:none}
.nav-mark{width:20px;height:20px;flex-shrink:0;color:var(--green)}
.nav-logo-text{font-family:var(--serif);font-size:1rem;font-weight:700;letter-spacing:-0.025em;color:var(--ink)}
.nav-logo-text em{font-style:normal;font-weight:400;color:var(--muted);margin-left:2px;font-size:0.9em}
/* legacy text-only nav-logo for pages not yet updated */
a.nav-logo[href] span{color:var(--muted);font-weight:400;font-size:1rem;letter-spacing:0}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-size:0.875rem;color:var(--muted);text-decoration:none;font-weight:400;transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-btn{background:var(--ink)!important;color:var(--canvas)!important;padding:0.5rem 1.25rem!important;border-radius:100px!important;font-weight:500!important;font-size:0.875rem!important;transition:background 0.2s!important}
.nav-btn:hover{background:var(--green)!important;color:#fff!important}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.25rem}
.nav-mobile-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0;transition:all 0.3s}

/* BUTTONS */
.btn-dark{background:var(--ink);color:var(--canvas);padding:0.875rem 1.875rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:0.9375rem;transition:background 0.2s,transform 0.15s;display:inline-block}
.btn-dark:hover{background:var(--green);transform:translateY(-1px)}
.btn-outline{border:1.5px solid var(--border2);color:var(--ink);padding:0.8rem 1.75rem;border-radius:100px;text-decoration:none;font-weight:500;font-size:0.9375rem;transition:border-color 0.2s;display:inline-block}
.btn-outline:hover{border-color:var(--ink)}
.btn-light{background:#fff;color:var(--ink);padding:0.875rem 1.875rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:0.9375rem;transition:background 0.2s;display:inline-block}
.btn-light:hover{background:var(--canvas2)}
.btn-assoc{background:var(--assoc);color:#fff;padding:0.875rem 1.875rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:0.9375rem;transition:background 0.2s,transform 0.15s;display:inline-block}
.btn-assoc:hover{background:#163060;transform:translateY(-1px)}

/* TYPOGRAPHY */
.section-label{font-size:0.68rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--green2);margin-bottom:1rem}
.section-label.blue{color:var(--assoc-light)}
.section-h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-0.03em;line-height:1.08;color:var(--ink);margin-bottom:1.5rem}
.section-h2 em{font-family:var(--serif-italic);font-style:italic;font-weight:400;color:var(--muted)}
.section-body{font-size:1.0625rem;color:var(--muted);line-height:1.75;max-width:560px}

/* PAGE HEADER */
.page-header{padding:8rem 2.5rem 5rem;max-width:var(--max-w);margin:0 auto}
.page-header .section-label{margin-bottom:1.25rem}
.page-header h1{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;line-height:1.06;letter-spacing:-0.03em;color:var(--ink);margin-bottom:1.5rem}
.page-header h1 em{font-family:var(--serif-italic);font-style:italic;font-weight:400;color:var(--green2)}
.page-header p{font-size:1.125rem;color:var(--muted);line-height:1.75;max-width:580px}

/* LAYOUT */
.inner{max-width:var(--max-w);margin:0 auto}
.section-pad{padding:5rem 2.5rem}
.section-pad-lg{padding:7rem 2.5rem}

/* CARDS */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:transform 0.3s,box-shadow 0.3s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.06)}
.card-tag{display:inline-block;font-size:0.68rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--green2);background:var(--green-pale);padding:0.25rem 0.75rem;border-radius:100px;margin-bottom:1.25rem}
.card-tag.blue{color:var(--assoc-light);background:var(--assoc-pale)}
.card-title{font-family:var(--serif);font-size:1.2rem;color:var(--ink);line-height:1.3;margin-bottom:0.75rem;font-weight:700;letter-spacing:-0.02em}
.card-body{font-size:0.9rem;color:var(--muted);line-height:1.7}

/* DARK BAND */
.band-dark{background:var(--ink2);padding:6rem 2.5rem;color:#fff}
.band-dark .section-label{color:rgba(255,255,255,0.3)}
.band-dark .section-h2{color:#fff}

/* FOOTER */
footer{background:var(--ink);padding:3rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.footer-logo{font-family:var(--serif);font-size:0.9375rem;font-weight:700;color:rgba(255,255,255,0.4);text-decoration:none;letter-spacing:-0.025em}
.footer-links{display:flex;gap:2rem;list-style:none;flex-wrap:wrap}
.footer-links a{font-size:0.875rem;color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:rgba(255,255,255,0.65)}
.footer-copy{font-size:0.8125rem;color:rgba(255,255,255,0.2)}

/* FORMS */
.form-group{display:flex;flex-direction:column;gap:0.4rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-size:0.8rem;font-weight:500;color:var(--ink);letter-spacing:0.01em}
input,select,textarea{font-family:var(--sans);font-size:0.9375rem;color:var(--ink);background:var(--canvas2);border:1px solid var(--border2);border-radius:var(--radius);padding:0.75rem 1rem;outline:none;transition:border-color 0.2s,background 0.2s;width:100%}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green2);background:#fff}
input::placeholder,textarea::placeholder{color:var(--muted2)}
.submit-btn{background:var(--ink);color:var(--canvas);border:none;padding:0.9375rem 2rem;border-radius:100px;font-family:var(--sans);font-size:0.9375rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.15s;align-self:flex-start}
.submit-btn:hover{background:var(--green);transform:translateY(-1px)}
.submit-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal.on{opacity:1;transform:none}
.anim-1{opacity:0;animation:fadeUp 0.8s ease 0.05s forwards}
.anim-2{opacity:0;animation:fadeUp 0.8s ease 0.2s forwards}
.anim-3{opacity:0;animation:fadeUp 0.8s ease 0.35s forwards}
.anim-4{opacity:0;animation:fadeUp 0.8s ease 0.5s forwards}
.anim-5{opacity:0;animation:fadeUp 0.8s ease 0.65s forwards}

/* RESPONSIVE */
@media(max-width:860px){
  nav{padding:1rem 1.25rem}
  .nav-links{display:none;position:fixed;top:62px;left:0;right:0;background:var(--canvas);border-bottom:1px solid var(--border);flex-direction:column;padding:1.5rem;gap:1.25rem;align-items:flex-start}
  .nav-links.open{display:flex}
  .nav-mobile-toggle{display:block}
  .page-header,.section-pad,.section-pad-lg,.band-dark{padding-left:1.25rem;padding-right:1.25rem}
  .form-row{grid-template-columns:1fr}
  footer{flex-direction:column;text-align:center}
  .footer-links{justify-content:center}
}
