:root{
    --navy-deep:#16223f;
    --navy:#1f3463;
    --blue-mid:#2d4a7c;
    --blue-light:#a8c5e8;
    --blue-pale:#eaf1fb;
    --paper:#fafbfc;
    --cream:#f5f3ee;
    --gold:#c9a86a;
    --gold-soft:#e8d9bc;
    --ink:#1c2333;
    --ink-soft:#5b6478;
    --line:#dbe3f0;
    --serif: "Source Serif 4", Georgia, serif;
    --sans: "Inter", system-ui, sans-serif;
    --mono: "JetBrains Mono", monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  /* ============ UTILITIES ============ */
  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 28px;
  }
  .eyebrow{
    font-family:var(--mono);
    font-size:.75rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    display:block;
    width:28px;
    height:1px;
    background:var(--gold);
  }
  .section-title{
    font-family:var(--serif);
    font-weight:600;
    font-size:clamp(1.8rem, 3vw, 2.6rem);
    color:var(--navy-deep);
    line-height:1.15;
    margin-bottom:14px;
  }
  .section-lead{
    color:var(--ink-soft);
    font-size:1.02rem;
    max-width:620px;
    margin-bottom:44px;
  }
  section{padding:88px 0;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--sans);
    font-weight:600;
    font-size:.92rem;
    padding:13px 26px;
    border-radius:6px;
    border:1px solid transparent;
    cursor:pointer;
    transition:all .2s ease;
  }
  .btn-primary{
    background:var(--gold);
    color:var(--navy-deep);
  }
  .btn-primary:hover{background:#d8bb83;}
  .btn-outline{
    border-color:var(--blue-light);
    color:var(--paper);
  }
  .btn-outline:hover{background:rgba(255,255,255,.08);}
  .btn-outline.dark{
    border-color:var(--blue-mid);
    color:var(--navy);
  }
  .btn-outline.dark:hover{background:var(--blue-pale);}

  /* ============ NAV ============ */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--navy-deep);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0;
    position:relative;
  }
  .nav-brand{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .nav-brand img{
    height:42px;
    width:42px;
    object-fit:contain;
    background:var(--paper);
    border-radius:8px;
    padding:3px;
  }
  .nav-brand .wordmark{
    font-family:var(--serif);
    font-weight:600;
    font-size:1.25rem;
    color:var(--paper);
    letter-spacing:.01em;
  }
  .nav-links{
    display:flex;
    gap:30px;
    align-items:center;
  }
  .nav-links a{
    font-size:.88rem;
    font-weight:500;
    color:var(--blue-light);
    transition:color .15s ease;
  }
  .nav-links a:hover{color:var(--paper);}
  .nav-toggle{display:none;}

  @media(max-width:880px){
    .nav-links{
      position:absolute;
      top:100%;
      right:0;
      left:0;
      background:var(--navy-deep);
      flex-direction:column;
      align-items:flex-start;
      padding:22px 28px;
      gap:18px;
      border-top:1px solid rgba(255,255,255,.08);
      max-height:0;
      overflow:hidden;
      padding-top:0;
      padding-bottom:0;
      opacity:0;
      transition:max-height .25s ease, opacity .2s ease, padding .25s ease;
    }
    .nav-links.open{
      max-height:500px;
      opacity:1;
      padding-top:22px;
      padding-bottom:22px;
    }
    .nav-toggle{
      display:block;
      background:none;
      border:none;
      color:var(--paper);
      font-size:1.6rem;
      cursor:pointer;
    }
  }

  /* ============ HERO ============ */
  .hero{
    background:linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 55%, var(--blue-mid) 100%);
    color:var(--paper);
    padding:84px 0 96px;
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"Ψ";
    position:absolute;
    font-family:var(--serif);
    font-size:46rem;
    line-height:1;
    color:rgba(255,255,255,.025);
    right:-180px;
    top:-140px;
    pointer-events:none;
    font-weight:700;
  }
  .hero-inner{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .hero-logo{
    height:96px;
    width:96px;
    object-fit:contain;
    background:var(--paper);
    border-radius:18px;
    padding:10px;
    margin-bottom:28px;
    box-shadow:0 14px 34px -12px rgba(0,0,0,.35);
  }
  .hero h1{
    font-family:var(--serif);
    font-weight:700;
    font-size:clamp(2.4rem, 5.2vw, 4rem);
    line-height:1.08;
    max-width:780px;
    margin-bottom:20px;
  }
  .hero h1 em{
    font-style:italic;
    color:var(--gold);
  }
  .hero p.sub{
    font-size:1.08rem;
    color:var(--blue-light);
    max-width:560px;
    margin-bottom:40px;
  }

  /* Search */
  .search-box{
    width:100%;
    max-width:640px;
    margin-bottom:18px;
  }
  .search-shell{
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    padding:6px 6px 6px 20px;
    backdrop-filter:blur(6px);
  }
  .search-shell input{
    flex:1;
    background:none;
    border:none;
    outline:none;
    color:var(--paper);
    font-family:var(--sans);
    font-size:1rem;
    padding:14px 10px;
  }
  .search-shell input::placeholder{color:rgba(255,255,255,.45);}
  .search-shell button{
    background:var(--gold);
    color:var(--navy-deep);
    border:none;
    font-weight:600;
    font-size:.9rem;
    padding:13px 24px;
    border-radius:6px;
    cursor:pointer;
    font-family:var(--sans);
    transition:background .2s ease;
    white-space:nowrap;
  }
  .search-shell button:hover{background:#d8bb83;}
  .search-tags{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:14px;
  }
  .search-tags span{
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--blue-light);
    border:1px solid rgba(255,255,255,.14);
    padding:5px 12px;
    border-radius:20px;
    letter-spacing:.04em;
  }

  .hero-cta{
    display:flex;
    gap:14px;
    margin-top:38px;
    flex-wrap:wrap;
    justify-content:center;
  }

  /* ============ MISSION / VISION / VALUES ============ */
  .mvv{
    background:var(--blue-pale);
  }
  .mvv-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
    margin-top:8px;
  }
  .mvv-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:32px 28px;
    position:relative;
  }
  .mvv-card .ref{
    font-family:var(--mono);
    font-size:.78rem;
    color:var(--gold);
    margin-bottom:14px;
    display:block;
  }
  .mvv-card h3{
    font-family:var(--serif);
    font-size:1.3rem;
    font-weight:600;
    color:var(--navy);
    margin-bottom:10px;
  }
  .mvv-card p{
    color:var(--ink-soft);
    font-size:.95rem;
  }
  .mvv-why{
    margin-top:48px;
    background:var(--navy-deep);
    color:var(--paper);
    border-radius:12px;
    padding:40px 44px;
    display:flex;
    gap:36px;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .mvv-why .quote-mark{
    font-family:var(--serif);
    font-size:4rem;
    color:var(--gold);
    line-height:1;
    flex-shrink:0;
  }
  .mvv-why div p{
    color:var(--blue-light);
    max-width:700px;
    font-size:1.02rem;
  }
  .mvv-why div p + p{margin-top:14px;}
  .mvv-why div p strong{color:var(--paper);}

  @media(max-width:880px){
    .mvv-grid{grid-template-columns:1fr;}
    .mvv-why{padding:30px;}
  }

  /* ============ DEFINITIONS ============ */
  .definitions{
    background:var(--paper);
  }
  .def-search{
    background:var(--navy-deep);
    border-radius:12px;
    padding:36px;
    margin-bottom:40px;
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .def-search .search-shell{
    border-color:rgba(255,255,255,.14);
  }
  .def-search-label{
    color:var(--blue-light);
    font-family:var(--mono);
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .def-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
  }
  .def-card{
    border:1px solid var(--line);
    border-radius:10px;
    padding:24px 26px;
    transition:border-color .2s ease, transform .2s ease;
  }
  .def-card:hover{
    border-color:var(--gold);
    transform:translateY(-2px);
  }
  .def-term{
    font-family:var(--serif);
    font-weight:600;
    font-size:1.15rem;
    color:var(--navy-deep);
    margin-bottom:8px;
  }
  .def-meaning{
    color:var(--ink-soft);
    font-size:.92rem;
    margin-bottom:14px;
  }
  .def-bib{
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--blue-mid);
    border-top:1px dashed var(--line);
    padding-top:12px;
    line-height:1.7;
  }
  .def-bib .label{
    color:var(--gold);
    font-weight:600;
    margin-right:6px;
  }
  @media(max-width:880px){
    .def-grid{grid-template-columns:1fr;}
  }

  /* ============ ARTICLES ============ */
  .articles{
    background:var(--blue-pale);
  }
  .article-tabs{
    display:flex;
    gap:10px;
    margin-bottom:36px;
    flex-wrap:wrap;
  }
  .article-tab{
    font-family:var(--sans);
    font-size:.86rem;
    font-weight:600;
    padding:10px 20px;
    border-radius:24px;
    border:1px solid var(--line);
    background:var(--paper);
    color:var(--navy);
    cursor:pointer;
  }
  .article-tab.active{
    background:var(--navy-deep);
    color:var(--paper);
    border-color:var(--navy-deep);
  }
  .article-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .article-card{
    background:var(--paper);
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
  }
  .article-thumb{
    height:150px;
    background:linear-gradient(135deg, var(--navy) 0%, var(--blue-mid) 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.4);
    font-family:var(--serif);
    font-size:.85rem;
    font-style:italic;
  }
  .article-body{
    padding:22px;
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .article-meta{
    font-family:var(--mono);
    font-size:.72rem;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:10px;
  }
  .article-body h4{
    font-family:var(--serif);
    font-size:1.12rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:10px;
    line-height:1.35;
  }
  .article-body p{
    color:var(--ink-soft);
    font-size:.9rem;
    flex:1;
    margin-bottom:14px;
  }
  .article-link{
    font-size:.85rem;
    font-weight:600;
    color:var(--blue-mid);
  }
  .article-link::after{content:" →";}
  @media(max-width:880px){
    .article-grid{grid-template-columns:1fr;}
  }

  /* ============ CONTENT CATEGORIES (psicología / neuro / medicamentos / IA / cómo estudiar) ============ */
  .topics{
    background:var(--paper);
  }
  .topic-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .topic-card{
    border:1px solid var(--line);
    border-radius:10px;
    padding:30px 26px;
    position:relative;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .topic-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px -16px rgba(22,34,63,.35);
  }
  .topic-icon{
    width:46px;
    height:46px;
    border-radius:8px;
    background:var(--navy-deep);
    color:var(--gold);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif);
    font-size:1.3rem;
    font-weight:700;
    margin-bottom:18px;
  }
  .topic-card h4{
    font-family:var(--serif);
    font-size:1.18rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:8px;
  }
  .topic-card p{
    color:var(--ink-soft);
    font-size:.9rem;
    margin-bottom:16px;
  }
  .topic-link{
    font-size:.85rem;
    font-weight:600;
    color:var(--blue-mid);
  }
  .topic-link::after{content:" →";}
  @media(max-width:980px){
    .topic-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media(max-width:620px){
    .topic-grid{grid-template-columns:1fr;}
  }

  /* ============ EVENTS / COURSES ============ */
  .events{
    background:var(--navy-deep);
    color:var(--paper);
  }
  .events .section-title, .events .eyebrow + .section-title{color:var(--paper);}
  .events .section-lead{color:var(--blue-light);}
  .events-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .event-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:10px;
    overflow:hidden;
  }
  .event-flyer{
    height:200px;
    background:linear-gradient(135deg, var(--blue-mid), var(--navy));
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.35);
    font-family:var(--serif);
    font-style:italic;
    font-size:.85rem;
  }
  .event-body{padding:20px;}
  .event-date{
    font-family:var(--mono);
    font-size:.72rem;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
  }
  .event-body h4{
    font-family:var(--serif);
    font-size:1.05rem;
    font-weight:600;
    margin-bottom:8px;
  }
  .event-body p{
    color:var(--blue-light);
    font-size:.86rem;
    margin-bottom:14px;
  }
  .event-tag{
    display:inline-block;
    font-family:var(--mono);
    font-size:.7rem;
    border:1px solid rgba(255,255,255,.18);
    padding:4px 10px;
    border-radius:14px;
    color:var(--blue-light);
  }
  @media(max-width:880px){
    .events-grid{grid-template-columns:1fr;}
  }

  /* ============ VIDEOS ============ */
  .videos{background:var(--blue-pale);}
  .video-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .video-card{
    background:var(--paper);
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--line);
  }
  .video-embed{
    position:relative;
    width:100%;
    padding-top:56.25%;
    background:var(--navy-deep);
  }
  .video-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
  }
  .video-body{padding:18px 20px;}
  .video-body h4{
    font-family:var(--serif);
    font-size:1.02rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:8px;
  }
  .video-body p{
    color:var(--ink-soft);
    font-size:.86rem;
  }
  @media(max-width:880px){
    .video-grid{grid-template-columns:1fr;}
  }

  /* ============ IMAGE BANK ============ */
  .imagebank{background:var(--paper);}
  .img-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
  }
  .img-tile{
    aspect-ratio:1;
    border-radius:8px;
    background:linear-gradient(135deg, var(--blue-light), var(--blue-pale));
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--blue-mid);
    font-family:var(--mono);
    font-size:.72rem;
    text-align:center;
    padding:10px;
    border:1px solid var(--line);
  }
  @media(max-width:880px){
    .img-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ============ AI SECTION ============ */
  .ai-section{
    background:linear-gradient(135deg, var(--navy) 0%, var(--blue-mid) 100%);
    color:var(--paper);
    border-radius:16px;
    padding:56px;
    margin:0 28px;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:48px;
    align-items:center;
  }
  .ai-section .eyebrow{color:var(--blue-light);}
  .ai-section .eyebrow::before{background:var(--blue-light);}
  .ai-section h2{
    font-family:var(--serif);
    font-size:clamp(1.7rem, 3vw, 2.4rem);
    font-weight:600;
    margin-bottom:16px;
  }
  .ai-section p{
    color:var(--blue-light);
    font-size:1rem;
    margin-bottom:20px;
  }
  .ai-points{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .ai-point{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    padding:18px 20px;
  }
  .ai-point .ref{
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--gold);
    display:block;
    margin-bottom:6px;
  }
  .ai-point p{margin:0;color:var(--paper);font-size:.92rem;}
  @media(max-width:880px){
    .ai-section{grid-template-columns:1fr;padding:36px;margin:0 16px;}
  }

  /* ============ FREE THERAPY (FUTURE) ============ */
  .future-section{
    background:var(--cream);
    text-align:center;
  }
  .future-card{
    max-width:760px;
    margin:0 auto;
    background:var(--paper);
    border:1px dashed var(--gold);
    border-radius:14px;
    padding:48px;
  }
  .future-card .eyebrow{justify-content:center;}
  .future-card .eyebrow::before{display:none;}
  .future-card h2{
    font-family:var(--serif);
    font-size:clamp(1.6rem, 3vw, 2.2rem);
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:14px;
  }
  .future-card p{
    color:var(--ink-soft);
    max-width:560px;
    margin:0 auto 20px;
  }
  .future-badge{
    display:inline-block;
    font-family:var(--mono);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--blue-mid);
    border:1px solid var(--blue-light);
    border-radius:20px;
    padding:6px 16px;
    margin-bottom:18px;
  }

  /* ============ STUDY BLOG ============ */
  .blog{background:var(--blue-pale);}
  .blog-feature{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
    background:var(--paper);
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--line);
    margin-bottom:32px;
  }
  .blog-feature-img{
    height:100%;
    min-height:280px;
    background:linear-gradient(135deg, var(--navy), var(--blue-mid));
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.35);
    font-family:var(--serif);
    font-style:italic;
  }
  .blog-feature-body{padding:36px 40px 36px 0;}
  .blog-feature-body .article-meta{margin-bottom:12px;}
  .blog-feature-body h3{
    font-family:var(--serif);
    font-size:1.6rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:14px;
    line-height:1.3;
  }
  .blog-feature-body p{
    color:var(--ink-soft);
    margin-bottom:18px;
  }
  .blog-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  @media(max-width:880px){
    .blog-feature{grid-template-columns:1fr;}
    .blog-feature-body{padding:28px;}
    .blog-feature-img{min-height:200px;}
    .blog-grid{grid-template-columns:1fr;}
  }

  /* ============ TESTIMONIALS ============ */
  .testimonials{background:var(--navy-deep);color:var(--paper);}
  .testimonials .eyebrow{color:var(--blue-light);}
  .testimonials .eyebrow::before{background:var(--blue-light);}
  .testimonials .section-title{color:var(--paper);}
  .testimonials .section-lead{color:var(--blue-light);}
  .test-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin-bottom:36px;
  }
  .test-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    border-radius:10px;
    padding:26px;
  }
  .test-card .stars{
    color:var(--gold);
    font-size:.9rem;
    margin-bottom:12px;
    letter-spacing:2px;
  }
  .test-card p{
    color:var(--blue-light);
    font-size:.92rem;
    margin-bottom:16px;
  }
  .test-author{
    font-family:var(--mono);
    font-size:.78rem;
    color:var(--paper);
  }
  .test-form{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    padding:36px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .test-form .full{grid-column:1 / -1;}
  .test-form label{
    display:block;
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--blue-light);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
  }
  .test-form input, .test-form textarea, .test-form select{
    width:100%;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.15);
    border-radius:6px;
    padding:12px 14px;
    color:var(--paper);
    font-family:var(--sans);
    font-size:.92rem;
    outline:none;
  }
  .test-form textarea{resize:vertical;min-height:90px;}
  .test-form input::placeholder, .test-form textarea::placeholder{color:rgba(255,255,255,.35);}
  @media(max-width:880px){
    .test-grid{grid-template-columns:1fr;}
    .test-form{grid-template-columns:1fr;padding:26px;}
  }

  /* ============ CONTACT ============ */
  .contact{background:var(--paper);}
  .contact-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:start;
  }
  .contact-info h3{
    font-family:var(--serif);
    font-size:1.5rem;
    font-weight:600;
    color:var(--navy-deep);
    margin-bottom:14px;
  }
  .contact-info p{color:var(--ink-soft);margin-bottom:24px;}
  .contact-detail{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:18px;
  }
  .contact-detail .ic{
    width:38px;
    height:38px;
    border-radius:8px;
    background:var(--blue-pale);
    color:var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif);
    font-weight:700;
    flex-shrink:0;
  }
  .contact-detail div span{
    display:block;
    font-family:var(--mono);
    font-size:.72rem;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:3px;
  }
  .contact-detail div p{margin:0;color:var(--ink);font-weight:500;font-size:.95rem;}
  .contact-form{
    background:var(--blue-pale);
    border-radius:12px;
    padding:36px;
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .contact-form label{
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--blue-mid);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
    display:block;
  }
  .contact-form input, .contact-form textarea{
    width:100%;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:6px;
    padding:12px 14px;
    font-family:var(--sans);
    font-size:.92rem;
    outline:none;
    color:var(--ink);
  }
  .contact-form textarea{resize:vertical;min-height:110px;}
  .contact-form input:focus, .contact-form textarea:focus,
  .test-form input:focus, .test-form textarea:focus, .test-form select:focus,
  .search-shell input:focus-within{
    outline:2px solid var(--gold);
    outline-offset:1px;
  }
  @media(max-width:880px){
    .contact-wrap{grid-template-columns:1fr;}
  }

  /* ============ FOOTER ============ */
  footer{
    background:var(--navy-deep);
    color:var(--blue-light);
    padding:56px 0 28px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:40px;
  }
  .footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
  }
  .footer-brand img{
    height:38px;
    width:38px;
    object-fit:contain;
    background:var(--paper);
    border-radius:7px;
    padding:3px;
  }
  .footer-brand span{
    font-family:var(--serif);
    font-weight:600;
    font-size:1.1rem;
    color:var(--paper);
  }
  .footer-col h5{
    font-family:var(--mono);
    font-size:.74rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--gold);
    margin-bottom:16px;
  }
  .footer-col a{
    display:block;
    font-size:.88rem;
    color:var(--blue-light);
    margin-bottom:10px;
    transition:color .15s ease;
  }
  .footer-col a:hover{color:var(--paper);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    font-size:.82rem;
    color:rgba(255,255,255,.4);
  }
  @media(max-width:880px){
    .footer-grid{grid-template-columns:1fr 1fr;}
  }

  /* Accessibility: focus visibility everywhere */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:2px;
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }

/* ============ PAGE HEADER (internal pages) ============ */
.page-header{
  background:linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 55%, var(--blue-mid) 100%);
  color:var(--paper);
  padding:56px 0 64px;
  position:relative;
  overflow:hidden;
}
.page-header::after{
  content:"Ψ";
  position:absolute;
  font-family:var(--serif);
  font-size:22rem;
  line-height:1;
  color:rgba(255,255,255,.025);
  right:-60px;
  top:-80px;
  pointer-events:none;
  font-weight:700;
}
.breadcrumb{
  position:relative;
  z-index:2;
  font-family:var(--mono);
  font-size:.78rem;
  color:var(--blue-light);
  margin-bottom:18px;
  letter-spacing:.04em;
}
.breadcrumb a{color:var(--blue-light);}
.breadcrumb a:hover{color:var(--paper);}
.breadcrumb span{color:var(--gold);margin:0 6px;}
.page-header h1{
  position:relative;
  z-index:2;
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.15;
  max-width:760px;
  margin-bottom:14px;
}
.page-header p{
  position:relative;
  z-index:2;
  color:var(--blue-light);
  max-width:600px;
  font-size:1.02rem;
}

/* ============ HOME: SECTION CARDS GRID ============ */
.explore{background:var(--paper);}
.explore-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.explore-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:30px 26px;
  display:flex;
  flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.explore-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px -16px rgba(22,34,63,.35);
}
.explore-card .topic-icon{margin-bottom:18px;}
.explore-card h4{
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:600;
  color:var(--navy-deep);
  margin-bottom:8px;
}
.explore-card p{
  color:var(--ink-soft);
  font-size:.9rem;
  margin-bottom:18px;
  flex:1;
}
.explore-card .topic-link{font-size:.85rem;font-weight:600;color:var(--blue-mid);}
.explore-card .topic-link::after{content:" →";}
@media(max-width:980px){
  .explore-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:620px){
  .explore-grid{grid-template-columns:1fr;}
}

/* ============ BACK LINK ============ */
.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--mono);
  font-size:.8rem;
  color:var(--blue-mid);
  margin-bottom:28px;
}
.back-link:hover{color:var(--navy-deep);}
