:root{
    --paper:#F5F8FA;
    --paper-alt:#ECF2F4;
    --grid-line:#E2EAEC;
    --ink:#0F1C28;
    --ink-soft:#57697A;
    --line:#DCE6E9;
    --point:#8FF0E8;
    --edge:#2FB8C4;
    --poly-stroke:#0F9DAA;
    --poly-fill:rgba(15,157,170,.16);
    --brass:#0F9DAA;
    --brass-bright:#4FD6D9;
    --brass-dim:#0C7C86;
    --glow:#8FF0E8;
    --navy:#0A2036;
    --navy-deep:#0D2A42;
    --radius:2px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans','Noto Sans Armenian', sans-serif;
  }
  a{color:inherit;}
  .section-alt{background:var(--paper-alt);}

  /* ===== NAV ===== */
  header.nav-header{
    position:sticky; top:0; left:0; right:0; z-index:100;
    background:var(--paper);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 36px;
    font-family:'IBM Plex Mono','JetBrains Mono', monospace;
    font-size:14px;
    letter-spacing:.05em;
    color:var(--ink);
    max-width:1100px;
    margin:0 auto;
  }
  .nav-brand{ display:flex; align-items:center; }
  .nav-brand a{ text-decoration:none; display:flex; flex-direction:column; line-height:1.3; }
  .nav-brand-name{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:600; font-size:15px;
    color:var(--navy-deep); letter-spacing:0;
  }
  .nav-brand-role{
    font-family:'IBM Plex Sans','Noto Sans Armenian', sans-serif; font-size:11px;
    color:var(--ink-soft); letter-spacing:0; font-weight:400;
  }
  .nav-links{display:flex; gap:30px; align-items:center;}
  .lang-switch{display:flex; gap:2px; margin-left:8px; border:1px solid var(--line); border-radius:2px; overflow:hidden;}
  .lang-switch button{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px; letter-spacing:.04em;
    background:var(--paper); color:var(--ink-soft); border:none; padding:6px 10px; cursor:pointer;
    transition:background .15s, color .15s;
  }
  .lang-switch button + button{border-left:1px solid var(--line);}
  .lang-switch button:hover{color:var(--ink);}
  .lang-switch button.active{background:var(--brass); color:#fff;}
  .nav-links a{text-decoration:none; opacity:.7; transition:opacity .2s, color .2s; font-weight:500;}
  .nav-links a:hover{opacity:1; color:var(--brass);}
  .nav-links a[aria-current="page"]{opacity:1; color:var(--brass-dim); border-bottom:1px solid var(--brass);}
  .nav-toggle{
    display:none; background:none; border:1px solid var(--line); border-radius:2px;
    font-size:18px; padding:6px 10px; cursor:pointer; color:var(--ink);
  }
  @media (max-width:720px){
    .nav-toggle{display:block;}
    .nav-inner{justify-content:space-between;}
    .nav-links{
      position:absolute; top:100%; left:0; right:0;
      background:var(--paper); border-bottom:1px solid var(--line);
      flex-direction:column; align-items:flex-start; gap:0;
      max-height:0; overflow:hidden; transition:max-height .25s ease;
    }
    .nav-links.open{max-height:400px;}
    .nav-links a{padding:14px 24px; width:100%; border-bottom:1px solid var(--line);}
    .lang-switch{margin:14px 24px; align-self:flex-start;}
  }

  /* ===== HERO ===== */
  .hero-section{
    position:relative;
    padding:150px 24px 110px;
    background:var(--navy);
    color:var(--paper);
    overflow:hidden;
    isolation:isolate;
  }
  .hero-section::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(0deg, rgba(245,248,250,.05) 0, rgba(245,248,250,.05) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(90deg, rgba(245,248,250,.05) 0, rgba(245,248,250,.05) 1px, transparent 1px, transparent 64px);
    z-index:-2;
  }
  svg#map{
    position:absolute; inset:0; width:100%; height:100%;
    opacity:.55; z-index:-1;
    transition:opacity 1.2s cubic-bezier(.22,1,.36,1);
  }
  .grid-line{stroke:rgba(245,248,250,.12); stroke-width:.6;}
  .pt{fill:var(--point); opacity:0; transform-origin:center; transform:scale(.3);}
  .pt.on{animation:pop .55s cubic-bezier(.22,1,.36,1) forwards;}
  @keyframes pop{ from{opacity:0; transform:scale(.3);} to{opacity:.85; transform:scale(1);} }
  .edge{stroke:var(--edge); stroke-width:1.3; opacity:0; stroke-dasharray:200; stroke-dashoffset:200;}
  .edge.on{animation:draw .7s cubic-bezier(.33,1,.68,1) forwards;}
  @keyframes draw{ to{opacity:.7; stroke-dashoffset:0;} }
  .poly{fill:var(--poly-fill); stroke:var(--poly-stroke); stroke-width:1.4; opacity:0;}
  .poly.on{animation:fadein 1s cubic-bezier(.22,1,.36,1) forwards;}
  @keyframes fadein{ to{opacity:1;} }
  .buffer{fill:none; stroke:var(--glow); stroke-width:1.4; opacity:0;}
  .buffer.on{animation:buffer-grow 1.8s cubic-bezier(.16,.84,.44,1) forwards;}
  @keyframes buffer-grow{ 0%{r:1; opacity:0;} 15%{opacity:.9;} 100%{r:64; opacity:.6;} }
  .hl{fill:var(--glow); opacity:0; transform-origin:center; transform:scale(.3);}
  .hl.on{animation:hlpop .6s cubic-bezier(.22,1,.36,1) forwards;}
  @keyframes hlpop{ from{opacity:0; transform:scale(.3);} to{opacity:1; transform:scale(1);} }
  .capital{fill:var(--glow); opacity:0; transform-origin:center; stroke:var(--navy); stroke-width:1.5; transform:scale(.3);}
  .capital.on{animation:hlpop .7s cubic-bezier(.22,1,.36,1) forwards;}

  .hero-wrap{
    position:relative; z-index:1;
    max-width:760px; margin:0 auto;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    min-height:420px; justify-content:center;
  }

  .coord-ticker{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    font-family:'IBM Plex Mono','JetBrains Mono', monospace;
    font-size:13px;
    color:#9FB0B5;
    opacity:0;
  }
  .coord-ticker.on{animation:ticker-in .5s cubic-bezier(.22,1,.36,1) forwards;}
  .coord-ticker.off{animation:ticker-out .6s cubic-bezier(.22,1,.36,1) forwards;}
  @keyframes ticker-in{ to{opacity:1;} }
  @keyframes ticker-out{ to{opacity:0;} }
  .coord-line{opacity:0; transform:translateY(6px);}
  .coord-line.show{animation:line-up .55s cubic-bezier(.22,1,.36,1) forwards;}
  @keyframes line-up{ to{opacity:1; transform:translateY(0);} }

  .type-labels{
    position:absolute; top:16%; left:50%; transform:translateX(-50%);
    display:flex; gap:18px;
    font-family:'IBM Plex Mono','JetBrains Mono', monospace;
    font-size:10.5px; letter-spacing:.14em; color:#9FB0B5;
    opacity:0;
  }
  .type-labels.on{animation:fadein .6s ease forwards;}
  .type-labels span{opacity:.4; transition:opacity .3s, color .3s;}
  .type-labels span.active{opacity:1; color:var(--brass-bright);}

  .headline-backdrop{
    position:absolute; inset:-40px;
    background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(10,32,54,.55) 0%, rgba(10,32,54,0) 72%);
    opacity:0; pointer-events:none;
    transition:opacity 1s cubic-bezier(.22,1,.36,1);
  }
  .headline-backdrop.on{opacity:1;}

  .headline{
    position:relative; z-index:1;
    display:flex; flex-direction:column; align-items:center;
    text-align:center; opacity:0; pointer-events:none;
  }
  .headline.on{animation:fadein 1.2s cubic-bezier(.22,1,.36,1) forwards; pointer-events:auto;}
  .eyebrow{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12px; letter-spacing:.18em;
    color:var(--brass-bright); margin-bottom:20px; opacity:0;
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:24px; height:1px; background:var(--brass-bright);}
  .eyebrow.show{animation:line-up .65s cubic-bezier(.22,1,.36,1) forwards .1s;}
  .hero h1{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:700;
    font-size:clamp(32px,4.8vw,54px); margin:0 0 16px; color:#fff; opacity:0;
  }
  .hero h1.show{animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards .25s;}
  .role{ font-size:16px; color:#C6D3D8; margin-bottom:8px; opacity:0; }
  .role.show{animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards .4s;}
  .tags{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px;
    color:#9FB0B5; letter-spacing:.06em; opacity:0; margin-bottom:8px;
  }
  .tags.show{animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards .55s;}

  .hero-lede{
    font-family:'IBM Plex Sans','Noto Sans Armenian', sans-serif;
    font-size:14.5px; line-height:1.65; color:#C6D3D8;
    max-width:480px; margin:14px auto 0; opacity:0;
  }
  .hero-lede.show{animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards .62s;}

  .hero-actions{
    display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
    margin-top:26px; opacity:0;
  }
  .hero-actions.show{animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards .78s;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 20px; font-size:13.5px; font-weight:600;
    border-radius:2px; cursor:pointer; border:1px solid transparent;
    transition:all .2s ease; font-family:'IBM Plex Sans','Noto Sans Armenian', sans-serif;
    text-decoration:none;
  }
  .btn-primary{background:var(--brass-bright); color:var(--navy);}
  .btn-primary:hover{background:#6EE3E3; transform:translateY(-1px);}
  .btn-ghost{border-color:rgba(245,248,250,.35); color:var(--paper);}
  .btn-ghost:hover{border-color:var(--paper); background:rgba(245,248,250,.06);}

  .cursor-readout{
    position:absolute; bottom:20px; left:24px; z-index:1;
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px; color:#9FB0B5; line-height:1.6; opacity:0;
  }
  .cursor-readout.on{animation:fadein .5s ease forwards;}
  .cursor-readout .accent{color:var(--brass-bright);}

  .query-tag{
    position:absolute; font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:10px;
    color:var(--navy); background:var(--brass-bright); border:1px solid var(--brass-bright);
    padding:3px 8px; border-radius:2px; opacity:0; white-space:nowrap; transform:translate(-50%,-140%);
    z-index:1;
  }
  .query-tag.on{animation:fadein .4s ease forwards;}

  .replay{
    position:absolute; top:20px; right:24px; z-index:5;
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:10.5px; letter-spacing:.08em;
    color:#9FB0B5; background:rgba(245,248,250,.06); border:1px solid rgba(245,248,250,.2);
    padding:6px 11px; border-radius:2px; cursor:pointer;
  }
  .replay:hover{color:var(--brass-bright); border-color:var(--brass-bright);}

  /* ===== SECTION: ABOUT ===== */
  section{padding:96px 24px;}
  .wrap{max-width:900px; margin:0 auto;}
  .section-eyebrow{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:10px;
  }
  .section-title{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-size:clamp(24px,3.4vw,34px);
    font-weight:700; color:var(--navy-deep); margin:0 0 26px;
  }
  .about-text p{ font-size:15px; line-height:1.85; color:var(--ink-soft); max-width:680px; margin:0 0 16px; }
  .legal-disclaimer{ margin-top:20px !important; }

  /* ===== BLOG (placeholder) ===== */
  .blog-placeholder{
    min-height:50vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:60px 24px;
  }
  .blog-placeholder .section-eyebrow{ text-align:center; }
  .blog-placeholder .section-title{ margin-bottom:20px; }
  .blog-placeholder p{ font-size:16px; line-height:1.8; color:var(--ink-soft); max-width:560px; }
  .blog-icon{
    width:56px; height:56px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; margin-bottom:24px;
    color:var(--brass);
  }

  /* ===== BLOG: post card (index) ===== */
  .post-card{
    display:block; text-decoration:none; color:inherit;
    border:1px solid var(--line); border-radius:2px; background:#fff;
    padding:28px 30px; margin-bottom:20px; transition:box-shadow .2s ease, transform .2s ease;
  }
  .post-card:hover{ box-shadow:0 10px 24px rgba(10,32,54,.08); transform:translateY(-2px); }
  .post-meta{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px; letter-spacing:.06em;
    color:var(--brass-dim); margin-bottom:12px; display:flex; gap:14px; flex-wrap:wrap;
  }
  .post-card h3{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-size:22px; font-weight:700;
    color:var(--navy-deep); margin:0 0 10px; line-height:1.35;
  }
  .post-card .post-excerpt{ font-size:14.5px; line-height:1.75; color:var(--ink-soft); margin:0 0 14px; }
  .post-card .read-more-link{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12.5px; font-weight:600;
    color:var(--brass); display:inline-flex; align-items:center; gap:6px;
  }
  .more-soon-note{
    margin-top:32px; padding:16px 18px; border:1px dashed var(--line);
    font-size:13px; color:var(--ink-soft); line-height:1.6; background:#fff;
  }

  /* ===== BLOG: article page ===== */
  .article-header{ max-width:720px; margin:0 auto 40px; }
  .article-header .post-meta{ justify-content:flex-start; }
  .article-header h1{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:700;
    font-size:clamp(28px,4.2vw,42px); line-height:1.25; color:var(--navy-deep); margin:10px 0 0;
  }
  .article-body{ max-width:720px; margin:0 auto; }
  .article-body p{ font-size:16px; line-height:1.9; color:var(--ink); margin:0 0 20px; }
  .article-body p.lede-text{ font-size:18.5px; color:var(--navy-deep); font-weight:500; }
  .article-body h2{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:700; font-size:26px;
    color:var(--navy-deep); margin:44px 0 18px; line-height:1.3;
  }
  .article-body ul{ margin:0 0 24px; padding:0; list-style:none; }
  .article-body ul li{
    padding:12px 0 12px 22px; border-top:1px solid var(--line); font-size:15px; line-height:1.7; color:var(--ink-soft);
    position:relative;
  }
  .article-body ul li:last-child{ border-bottom:1px solid var(--line); }
  .article-body ul li::before{
    content:"→"; position:absolute; left:0; color:var(--brass); font-family:'IBM Plex Mono','JetBrains Mono', monospace;
  }
  .article-body ul li strong{ color:var(--navy-deep); }
  .question-list{ margin:0 0 24px; padding:0; list-style:none; }
  .question-list li{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-style:italic; font-size:18px;
    color:var(--navy-deep); padding:14px 0 14px 30px; border-top:1px solid var(--line); position:relative;
  }
  .question-list li:last-child{ border-bottom:1px solid var(--line); }
  .question-list li::before{ content:"?"; position:absolute; left:0; top:14px; color:var(--brass); font-weight:700; font-size:20px; }
  .article-footer{ max-width:720px; margin:48px auto 0; padding-top:24px; border-top:1px solid var(--line); }

  /* ===== SECTION: EXPERIENCE PREVIEW ===== */
  .exp-item{
    display:grid; grid-template-columns:150px 1fr; gap:20px;
    padding:20px 0; border-top:1px solid var(--line);
  }
  .exp-item:last-child{border-bottom:1px solid var(--line);}
  .exp-date{font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11.5px; color:var(--brass); padding-top:2px;}
  .exp-role{font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:600; font-size:16px; color:var(--navy-deep); margin:0 0 4px;}
  .exp-org{font-size:13px; color:var(--ink-soft); margin:0 0 8px;}
  .exp-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.7; margin:0;}

  /* ===== SECTION: SKILLS ===== */
  .skill-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:28px 40px; margin-top:8px;
  }
  .skill-cat h4{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11.5px; letter-spacing:.05em;
    color:var(--brass-dim); text-transform:uppercase; margin:0 0 8px; font-weight:600;
  }
  .skill-cat p{ font-size:13.5px; line-height:1.7; color:var(--ink-soft); margin:0; }

  /* ===== SECTION: PUBLICATIONS ===== */
  .pub-item{
    padding:18px 0; border-top:1px solid var(--line);
    display:flex; flex-direction:column; gap:4px;
  }
  .pub-item:last-child{border-bottom:1px solid var(--line);}
  .pub-title{ font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:600; font-size:15px; color:var(--navy-deep); margin:0; line-height:1.4; }
  .pub-meta{ font-size:12.5px; color:var(--ink-soft); }
  .pub-meta a{ color:var(--brass-dim); text-decoration:none; border-bottom:1px solid var(--brass); }
  .pub-meta a:hover{ color:var(--brass); }
  .pub-authors{ font-size:12px; color:var(--ink-soft); font-style:italic; }
  .pub-link-row{ margin-top:8px; }
  .pub-link-row a{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12px; color:var(--brass-dim);
    text-decoration:none; border-bottom:1px solid var(--brass);
  }
  .pub-link-row a:hover{ color:var(--brass); }

  /* ===== SECTION: MEMBERSHIPS & LICENSES ===== */
  .member-list{ list-style:none; padding:0; margin:0 0 36px; }
  .member-list li{
    padding:12px 0; border-top:1px solid var(--line);
    font-size:14px; color:var(--ink); line-height:1.6;
  }
  .member-list li:last-child{ border-bottom:1px solid var(--line); }
  .member-list .m-date{ font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12px; color:var(--brass-dim); margin-left:8px; }
  .sub-eyebrow{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px; letter-spacing:.1em;
    color:var(--brass-dim); text-transform:uppercase; margin:0 0 12px; font-weight:600;
  }
  .license-list{ list-style:none; padding:0; margin:0; }
  .license-list li{
    padding:14px 16px; margin-bottom:10px;
    background:#fff; border:1px solid var(--line); border-radius:2px;
    font-size:13.5px; color:var(--ink-soft); line-height:1.6;
  }
  .license-list strong{ color:var(--navy-deep); }

  /* ===== SECTION: CONFERENCES ===== */
  .conf-item{
    padding:18px 0; border-bottom:1px solid var(--line);
  }
  .conf-item:first-child{ padding-top:0; }
  .conf-name{
    font-family:'Fraunces','Noto Serif Armenian', serif; font-weight:600;
    font-size:16.5px; color:var(--navy-deep); margin:0 0 4px;
  }
  .conf-location{
    font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12px;
    color:var(--brass-dim); margin:0 0 8px;
  }
  .conf-topic-label{ font-size:12.5px; color:var(--ink-soft); font-weight:600; margin:0 0 4px; }
  .conf-topics{ list-style:none; padding:0; margin:0; }
  .conf-topics li{
    font-size:13.5px; color:var(--ink); line-height:1.6; padding-left:14px;
    position:relative; margin-bottom:4px;
  }
  .conf-topics li::before{ content:"–"; position:absolute; left:0; color:var(--brass); }
  .conf-topics a{ color:var(--brass-dim); text-decoration:none; border-bottom:1px solid var(--brass); }
  .conf-topics a:hover{ color:var(--brass); }

  /* ===== SECTION: PROJECTS (text-only cards) ===== */
  .projects-note{
    font-size:14px; color:var(--ink-soft); line-height:1.7; max-width:600px;
    margin:-6px 0 32px;
  }
  .projects-note a{
    color:var(--brass-dim); font-weight:600; text-decoration:none;
    border-bottom:1px solid var(--brass);
  }
  .projects-note a:hover{ color:var(--brass); }

  .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px; }
  .card{
    background:#fff; border:1px solid var(--line); border-top:3px solid var(--brass);
    border-radius:var(--radius);
    overflow:hidden; display:flex; flex-direction:column;
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .card:hover{ box-shadow:0 10px 24px rgba(27,58,75,.10); transform:translateY(-2px); }
  .card-body{ padding:22px 20px 22px; display:flex; flex-direction:column; flex:1; }
  .card-title{ font-family:'Fraunces','Noto Serif Armenian', serif; font-size:16.5px; font-weight:600; color:var(--navy-deep); line-height:1.3; margin:0 0 10px; }
  .card-caption{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; margin:0 0 18px; flex:1; }
  .read-more{
    align-self:flex-start; font-size:13px; font-weight:600; color:var(--navy); background:none; border:none;
    padding:0; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
    border-bottom:1px solid transparent; transition:border-color .15s, color .15s;
  }
  .read-more:hover{ border-color:var(--brass); color:var(--brass); }
  .read-more svg{width:13px;height:13px;}

  .overlay{
    position:fixed; inset:0; background:rgba(19,42,54,.55); backdrop-filter:blur(2px);
    display:none; align-items:center; justify-content:center; padding:24px; z-index:200;
  }
  .overlay.open{display:flex;}
  .modal{
    background:var(--paper); max-width:600px; width:100%; max-height:88vh; overflow-y:auto;
    border-radius:2px; border-top:3px solid var(--brass);
    box-shadow:0 24px 60px rgba(0,0,0,.35); position:relative;
  }
  .modal-body{padding:44px 30px 34px;}
  .modal-meta{ font-size:12px; color:var(--brass-dim); font-weight:600; letter-spacing:.04em; margin-bottom:10px; }
  .modal-title{ font-family:'Fraunces','Noto Serif Armenian', serif; font-size:22px; font-weight:700; color:var(--navy-deep); margin:0 0 14px; line-height:1.3; }
  .modal-text{ font-size:14.5px; line-height:1.75; color:var(--ink); }
  .modal-contact-note{
    margin-top:20px; padding-top:18px; border-top:1px solid var(--line);
    font-size:13px; line-height:1.6; color:var(--ink-soft);
  }
  .modal-contact-note a{
    color:var(--brass-dim); text-decoration:none; font-weight:600;
    border-bottom:1px solid var(--brass); margin-left:4px;
  }
  .modal-contact-note a:hover{ color:var(--brass); }
  .modal-close{
    position:absolute; top:14px; right:14px; width:30px; height:30px; border-radius:50%;
    border:1px solid var(--line); background:var(--paper); color:var(--ink-soft); font-size:16px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:border-color .15s, color .15s;
  }
  .modal-close:hover{ color:var(--brass); border-color:var(--brass); }

  /* ===== FOOTER / CONTACT ===== */
  footer{
    background:var(--navy-deep); color:#D9DDD5; padding:70px 24px 44px;
  }
  footer .wrap{ max-width:560px; text-align:center; }
  footer .section-eyebrow{ color:var(--brass-bright); }
  footer .section-title{color:#fff; margin-bottom:10px;}
  footer .lede{ color:#9FAAA6; font-size:14px; margin:0 0 34px; }

  .contact-form{ text-align:left; display:flex; flex-direction:column; gap:18px; }
  .form-row{ display:flex; gap:16px; }
  .form-row .form-field{ flex:1; }
  .form-field label{
    display:block; font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:11px;
    letter-spacing:.08em; color:#9FAAA6; margin-bottom:7px; text-transform:uppercase;
  }
  .form-field input, .form-field textarea{
    width:100%; background:var(--paper); border:1px solid var(--line);
    border-radius:2px; padding:11px 13px; font-family:'IBM Plex Sans','Noto Sans Armenian', sans-serif;
    font-size:14px; color:#2A2F32; outline:none; transition:border-color .2s, background .2s;
  }
  .form-field textarea{ resize:vertical; min-height:96px; }
  .form-field input::placeholder, .form-field textarea::placeholder{ color:#7A8480; }
  .form-field input:focus, .form-field textarea:focus{
    border-color:var(--brass); background:#fff;
  }
  /* Guard against light-on-light or dark-on-dark from browser autofill styling */
  .form-field input:-webkit-autofill,
  .form-field input:-webkit-autofill:hover,
  .form-field input:-webkit-autofill:focus{
    -webkit-text-fill-color:#2A2F32;
    -webkit-box-shadow:0 0 0px 1000px var(--paper) inset;
    transition:background-color 9999s ease-in-out 0s;
  }
  .form-submit{
    align-self:flex-start; font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:12.5px;
    letter-spacing:.06em; color:var(--navy-deep); background:var(--brass-bright);
    border:none; padding:13px 26px; border-radius:2px; cursor:pointer;
    transition:background .2s, transform .15s;
  }
  .form-submit:hover{ background:#EFC978; transform:translateY(-1px); }
  .form-note{ font-size:12.5px; color:var(--brass-bright); margin:2px 0 0; min-height:16px; }

  .contact-direct{
    margin-top:36px; padding-top:28px; border-top:1px solid rgba(255,255,255,.1);
    display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center;
  }
  footer a.contact-link{ color:var(--brass-bright); text-decoration:none; font-family:'IBM Plex Mono','JetBrains Mono', monospace; font-size:13px; }
  footer a.contact-link:hover{ text-decoration:underline; }
  footer .fine{ font-size:11.5px; color:#7C8985; margin:18px 0 0; }
