  :root{
    --ink:#073863;
    --ink-70:rgba(7,56,99,.7);
    --paper:#F2F8FC;
    --panel:#FFFFFF;
    --accent:#0093DD;
    --accent-dim:rgba(0,147,221,.14);
    --teal:#F2A93B;
    --line:rgba(7,56,99,.16);
    --line-soft:rgba(7,56,99,.09);
    --slate:#48607A;
    --grid-size:34px;
    --radius:4px;
    --maxw:1200px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:'IBM Plex Sans',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  input,textarea,select{font-family:inherit;font-size:1rem;}
  h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:600;margin:0;color:var(--ink);letter-spacing:-.01em;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  .mono{font-family:'IBM Plex Mono',monospace;}

  .grid-bg{
    background-image:
      linear-gradient(var(--line-soft) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
    background-size:var(--grid-size) var(--grid-size);
  }

  .tag{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:8px;color:var(--accent);margin-bottom:18px;font-weight:600;
  }
  .tag::before{content:"";width:8px;height:8px;background:var(--accent);display:inline-block;}
  .tag .num{color:var(--ink-70);font-weight:400;}

  /* signature: corner-mark brackets, pure CSS, no extra markup */
  .corner-marks{
    position:relative;
    background-image:
      linear-gradient(var(--accent),var(--accent)), linear-gradient(var(--accent),var(--accent)),
      linear-gradient(var(--accent),var(--accent)), linear-gradient(var(--accent),var(--accent)),
      linear-gradient(var(--accent),var(--accent)), linear-gradient(var(--accent),var(--accent)),
      linear-gradient(var(--accent),var(--accent)), linear-gradient(var(--accent),var(--accent));
    background-repeat:no-repeat;
    background-size:16px 2px, 2px 16px, 16px 2px, 2px 16px, 16px 2px, 2px 16px, 16px 2px, 2px 16px;
    background-position:
      left top, left top,
      right top, right top,
      left bottom, left bottom,
      right bottom, right bottom;
  }

  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:2px;
    font-weight:600;font-size:.9rem;border:1px solid transparent;letter-spacing:.01em;
    transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--ink);color:#fff;}
  .btn-primary:hover{background:var(--accent);}
  .btn-ghost{border-color:var(--line);color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff;}
  .btn-block{width:100%;justify-content:center;}
  .btn .arrow{transition:transform .2s ease;}
  .btn:hover .arrow{transform:translateX(4px);}

  .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;} html{scroll-behavior:auto;}}

  /* ============ NAV ============ */
  .nav{position:sticky;top:0;z-index:200;border-bottom:1px solid transparent;transition:.25s;}
  .nav::before{content:"";position:absolute;inset:0;background:rgba(243,246,248,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:-1;}
  .nav.scrolled{border-color:var(--line);}
  .nav-inner{max-width:var(--maxw);margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.2rem;}
  .brand-mark{
    width:32px;height:32px;background:var(--ink);color:var(--accent);display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:700;border-radius:2px;
  }
  .nav-links{display:flex;align-items:center;gap:28px;}
  .nav-links a{font-size:.86rem;font-weight:500;color:var(--ink-70);font-family:'IBM Plex Mono',monospace;position:relative;}
  .nav-links a:hover{color:var(--accent);}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .nav-toggle{display:none;background:none;border:none;padding:6px;}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}
  @media (max-width:940px){
    .nav-links{position:fixed;inset:62px 0 0 0;background:var(--paper);flex-direction:column;padding:36px 32px;gap:22px;
      transform:translateX(100%);transition:transform .3s ease;border-top:1px solid var(--line);align-items:flex-start;}
    .nav-links.open{transform:translateX(0);}
    .nav-toggle{display:block;}
    .nav-cta .btn-ghost{display:none;}
  }

  /* ============ HERO ============ */
  .hero{padding:90px 0 70px;}
  .hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center;}
  .hero h1{font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1.08;text-transform:uppercase;}
  .hero h1 span{color:var(--accent);}
  .hero-sub{margin:24px 0 32px;font-size:1.08rem;color:var(--slate);max-width:48ch;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px;}
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:24px;}
  .hero-stat{padding-right:14px;}
  .hero-stat b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.8rem;}
  .hero-stat span{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;}

  .hero-visual{position:relative;padding:14px;}
  .hero-visual img{width:100%;height:380px;object-fit:cover;}
  .spec-tag{
    position:absolute;background:var(--ink);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.68rem;
    padding:6px 10px;letter-spacing:.05em;top:26px;right:26px;
  }
  .spec-tag.b{background:var(--accent);top:auto;bottom:26px;left:26px;right:auto;}
  @media (max-width:920px){.hero-grid{grid-template-columns:1fr;}.hero{padding-top:36px;}}

  /* ============ SECTION HEADERS ============ */
  .section{padding:100px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:54px;flex-wrap:wrap;}
  .section-head h2{font-size:clamp(1.9rem,3vw,2.5rem);max-width:18ch;text-transform:uppercase;}
  .section-head p{color:var(--slate);max-width:38ch;margin-top:10px;}
  .panel{background:var(--panel);}

  /* ============ ABOUT STRIP ============ */
  .about{padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
  .about-item{padding:0 26px;border-left:1px solid var(--line);}
  .about-item:first-child{border-left:none;padding-left:0;}
  .about-item .idx{font-family:'IBM Plex Mono',monospace;color:var(--accent);font-size:.72rem;margin-bottom:10px;display:block;}
  .about-item p{margin:0;font-size:.92rem;color:var(--slate);}
  @media (max-width:820px){.about-grid{grid-template-columns:1fr 1fr;}.about-item{border-left:none;border-top:1px solid var(--line);padding:20px 0 0;}}

  /* ============ EVENTS (ticket style) ============ */
  .events-list{display:flex;flex-direction:column;gap:16px;}
  .event-row{
    display:grid;grid-template-columns:130px 1fr auto;gap:0;align-items:stretch;background:var(--panel);border:1px solid var(--line);
  }
  .event-date{
    font-family:'IBM Plex Mono',monospace;display:flex;flex-direction:column;align-items:center;justify-content:center;
    border-right:1px dashed var(--line);padding:18px 10px;position:relative;
  }
  .event-date .d{font-size:1.6rem;font-weight:600;font-family:'Space Grotesk',sans-serif;}
  .event-date .m{font-size:.68rem;color:var(--accent);letter-spacing:.1em;}
  .event-info{padding:20px 26px;}
  .event-info h4{font-size:1.1rem;margin-bottom:6px;font-family:'Space Grotesk',sans-serif;}
  .event-info p{margin:0;color:var(--slate);font-size:.9rem;}
  .event-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;
    padding:0 22px;display:flex;align-items:center;color:var(--ink-70);border-left:1px dashed var(--line);white-space:nowrap;
  }
  @media (max-width:640px){
    .event-row{grid-template-columns:80px 1fr;}
    .event-tag{grid-column:2;border-left:none;border-top:1px dashed var(--line);padding:10px 26px;}
  }

  /* ============ GALLERY ============ */
  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:12px;}
  .g-item{position:relative;overflow:hidden;cursor:pointer;padding:4px;}
  .g-item img{width:100%;height:100%;object-fit:cover;transition:filter .3s ease, transform .5s ease;}
  .g-item:hover img{transform:scale(1.06);}
  .g-item .cap{
    position:absolute;left:8px;bottom:8px;right:8px;background:rgba(11,41,71,.88);color:#fff;
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;padding:7px 9px;opacity:0;transform:translateY(6px);
    transition:.25s;
  }
  .g-item:hover .cap{opacity:1;transform:none;}
  .g-item.tall{grid-row:span 2;}
  .g-item.wide{grid-column:span 2;}
  @media (max-width:820px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

  .lightbox{
    position:fixed;inset:0;background:rgba(11,41,71,.95);z-index:1000;display:flex;align-items:center;justify-content:center;
    padding:40px;opacity:0;pointer-events:none;transition:opacity .25s ease;
  }
  .lightbox.open{opacity:1;pointer-events:auto;}
  .lightbox img{max-width:min(900px,90vw);max-height:76vh;border:2px solid var(--accent);}
  .lightbox-cap{color:#fff;text-align:center;margin-top:16px;font-size:.85rem;font-family:'IBM Plex Mono',monospace;opacity:.85;}
  .lb-close,.lb-prev,.lb-next{
    position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);color:#fff;
    width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  }
  .lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--accent);border-color:var(--accent);}
  .lb-close{top:26px;right:26px;}
  .lb-prev{left:26px;top:50%;transform:translateY(-50%);}
  .lb-next{right:26px;top:50%;transform:translateY(-50%);}

  /* ============ ADMISSIONS ============ */
  .admit{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:flex-start;}
  .admit-steps{display:flex;flex-direction:column;gap:0;margin-top:32px;}
  .admit-step{display:flex;gap:16px;padding:18px 0;border-top:1px dashed var(--line);}
  .admit-step:last-child{border-bottom:1px dashed var(--line);}
  .admit-step .n{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--accent);flex:none;font-size:.85rem;padding-top:2px;}
  .admit-step p{margin:0;color:var(--slate);font-size:.9rem;}
  .admit-step h5{font-family:'Space Grotesk',sans-serif;font-weight:600;margin-bottom:4px;font-size:.98rem;}

  .form-card{background:var(--panel);border:1px solid var(--line);padding:36px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:.72rem;font-weight:600;margin-bottom:8px;color:var(--ink-70);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;}
  .field input,.field select,.field textarea{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:2px;background:var(--paper);
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);}
  .field textarea{resize:vertical;min-height:90px;}
  .field .err{color:var(--accent);font-size:.76rem;margin-top:6px;display:none;font-family:'IBM Plex Mono',monospace;}
  .field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--accent);}
  .field.invalid .err{display:block;}
  .form-note{font-size:.76rem;color:var(--slate);margin-top:14px;font-family:'IBM Plex Mono',monospace;}
  .form-success{display:none;text-align:center;padding:30px 10px;}
  .form-success.show{display:block;}
  .form-success .tick{width:50px;height:50px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.2rem;}
  @media (max-width:900px){.admit{grid-template-columns:1fr;}}
  @media (max-width:560px){.form-row{grid-template-columns:1fr;}}

  /* ============ TESTIMONIALS ============ */
  .testi-wrap{position:relative;max-width:780px;margin:0 auto;text-align:center;}
  .testi-slide{display:none;}
  .testi-slide.active{display:block;animation:fadein .5s ease;}
  @keyframes fadein{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  .testi-quote{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:500;line-height:1.5;}
  .testi-person{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:14px;}
  .testi-person img{width:48px;height:48px;object-fit:cover;filter:grayscale(.3);}
  .testi-person div{text-align:left;}
  .testi-person b{display:block;font-size:.92rem;font-family:'Space Grotesk',sans-serif;}
  .testi-person span{font-size:.76rem;color:var(--slate);font-family:'IBM Plex Mono',monospace;}
  .testi-dots{display:flex;justify-content:center;gap:10px;margin-top:34px;}
  .testi-dots button{width:20px;height:2px;background:var(--line);border:none;padding:0;transition:.2s;}
  .testi-dots button.active{background:var(--accent);width:32px;}

  /* ============ BLOG ============ */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .blog-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:transform .2s ease, border-color .2s ease;}
  .blog-card:hover{transform:translateY(-5px);border-color:var(--accent);}
  .blog-card img{height:170px;object-fit:cover;}
  .blog-body{padding:22px;}
  .blog-meta{display:flex;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--accent);letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px;}
  .blog-body h4{font-size:1.08rem;line-height:1.35;margin-bottom:10px;}
  .blog-body p{margin:0;color:var(--slate);font-size:.88rem;}
  .blog-read{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:.82rem;font-weight:600;font-family:'IBM Plex Mono',monospace;}
  .blog-read span{transition:transform .2s ease;}
  .blog-card:hover .blog-read span{transform:translateX(4px);}
  @media (max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.blog-grid{grid-template-columns:1fr;}}

  /* ============ FAQ ============ */
  .faq-wrap{max-width:820px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Space Grotesk',sans-serif;font-size:1.04rem;}
  .faq-q .plus{flex:none;width:26px;height:26px;border:1px solid var(--line);position:relative;transition:.25s;}
  .faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--ink);top:50%;left:50%;transform:translate(-50%,-50%);}
  .faq-q .plus::before{width:10px;height:1.5px;}
  .faq-q .plus::after{width:1.5px;height:10px;transition:.25s;}
  .faq-item.open .faq-q .plus{background:var(--accent);border-color:var(--accent);}
  .faq-item.open .faq-q .plus::before,.faq-item.open .faq-q .plus::after{background:#fff;}
  .faq-item.open .faq-q .plus::after{opacity:0;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{margin:0 0 24px;color:var(--slate);max-width:65ch;font-size:.94rem;}

  /* ============ CONTACT ============ */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
  .contact-info{display:flex;flex-direction:column;gap:0;margin-top:28px;}
  .contact-info-item{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px dashed var(--line);}
  .contact-info-item .ic{width:36px;height:36px;background:var(--ink);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none;font-size:1rem;}
  .contact-info-item b{display:block;font-size:.92rem;margin-bottom:2px;font-family:'Space Grotesk',sans-serif;}
  .contact-info-item span{color:var(--slate);font-size:.88rem;}
  .map-frame{overflow:hidden;border:1px solid var(--line);margin-top:24px;padding:4px;background:var(--panel);}
  .map-frame iframe{width:100%;height:250px;border:0;display:block;filter:grayscale(.4) contrast(1.05);}
  @media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}

  /* ============ FOOTER ============ */
  footer{background:var(--ink);color:#fff;padding:70px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.14);}
  footer .brand{color:#fff;}
  footer .brand-mark{background:var(--accent);color:var(--ink);}
  .foot-desc{color:rgba(255,255,255,.6);font-size:.88rem;margin-top:14px;max-width:32ch;}
  .foot-col h5{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
  .foot-col a{display:block;color:rgba(255,255,255,.7);font-size:.88rem;padding:6px 0;}
  .foot-col a:hover{color:#fff;}
  .foot-newsletter input{width:100%;padding:11px 14px;border-radius:2px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;margin-bottom:10px;}
  .foot-newsletter input::placeholder{color:rgba(255,255,255,.5);}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(255,255,255,.5);font-family:'IBM Plex Mono',monospace;}
  .foot-social{display:flex;gap:10px;}
  .foot-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:.75rem;}
  .foot-social a:hover{background:var(--accent);border-color:var(--accent);}
  @media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.foot-grid{grid-template-columns:1fr;}}

  /* ============ BACK TO TOP ============ */
  .to-top{
    position:fixed;bottom:26px;left:26px;width:44px;height:44px;background:var(--ink);color:#fff;display:flex;
    align-items:center;justify-content:center;border:none;font-size:1.05rem;z-index:300;opacity:0;pointer-events:none;
    transition:opacity .25s ease, transform .2s ease;
  }
  .to-top.show{opacity:1;pointer-events:auto;}
  .to-top:hover{transform:translateY(-3px);background:var(--accent);}

  /* ============ CHATBOT (console style) ============ */
  .chat-toggle{
    position:fixed;bottom:26px;right:26px;width:58px;height:58px;background:var(--accent);color:#fff;border:none;
    z-index:300;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 20px 40px -14px rgba(11,41,71,.5);
  }
  .chat-toggle:hover{background:var(--ink);}
  .chat-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;background:var(--teal);border:2px solid var(--paper);}
  .chat-window{
    position:fixed;bottom:96px;right:26px;width:340px;max-width:90vw;height:460px;max-height:75vh;background:var(--panel);
    z-index:300;display:flex;flex-direction:column;overflow:hidden;transform:translateY(16px) scale(.97);opacity:0;
    pointer-events:none;transition:.22s ease;border:1px solid var(--line);box-shadow:0 30px 70px -20px rgba(11,41,71,.4);
  }
  .chat-window.open{transform:none;opacity:1;pointer-events:auto;}
  .chat-head{background:var(--ink);color:#fff;padding:15px 18px;display:flex;align-items:center;gap:12px;}
  .chat-head .av{width:34px;height:34px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:.85rem;}
  .chat-head b{display:block;font-size:.9rem;font-family:'Space Grotesk',sans-serif;}
  .chat-head span{font-size:.7rem;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;}
  .chat-head span::before{content:"";width:6px;height:6px;background:var(--teal);border-radius:50%;}
  .chat-close{margin-left:auto;background:none;border:none;color:#fff;font-size:1.1rem;}
  .chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--paper);}
  .msg{max-width:82%;padding:10px 13px;font-size:.84rem;line-height:1.45;border-radius:2px;}
  .msg.bot{background:var(--panel);border:1px solid var(--line);align-self:flex-start;font-family:'IBM Plex Mono',monospace;font-size:.78rem;}
  .msg.user{background:var(--ink);color:#fff;align-self:flex-end;}
  .chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px;background:var(--paper);}
  .chat-quick button{font-size:.72rem;padding:7px 11px;border:1px solid var(--line);background:var(--panel);font-family:'IBM Plex Mono',monospace;}
  .chat-quick button:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
  .chat-input{display:flex;border-top:1px solid var(--line);padding:10px;gap:8px;background:var(--panel);}
  .chat-input input{flex:1;border:1px solid var(--line);border-radius:2px;padding:10px 14px;font-size:.84rem;}
  .chat-input input:focus{outline:none;border-color:var(--accent);}
  .chat-input button{width:38px;height:38px;background:var(--accent);color:#fff;border:none;flex:none;}
  @media (max-width:480px){.chat-window{right:12px;left:12px;width:auto;bottom:92px;}.chat-toggle{right:16px;}.to-top{left:16px;}}

  .page-banner{padding:150px 0 50px;}
  .page-banner h1{font-size:clamp(2rem,4vw,3rem);margin-top:16px;}
  .page-banner p{color:var(--slate);max-width:60ch;margin-top:14px;font-size:1.05rem;}
  .gallery-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;}
  .filter-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px;}
  .filter-btn{text-align:left;background:none;border:none;border-left:3px solid transparent;padding:11px 14px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--slate);text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease;}
  .filter-btn:hover{color:var(--ink);background:var(--accent-dim);}
  .filter-btn.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600;}
  @media(max-width:800px){.gallery-layout{grid-template-columns:1fr;}.filter-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}.filter-btn{border-left:none;border-bottom:3px solid transparent;}.filter-btn.active{border-bottom-color:var(--accent);}}


  .page-banner{padding:150px 0 50px;}
  .page-banner h1{font-size:clamp(2rem,4vw,3rem);margin-top:16px;}
  .page-banner p{color:var(--slate);max-width:60ch;margin-top:14px;font-size:1.05rem;}
  .speech-block{display:grid;grid-template-columns:160px 1fr;gap:36px;padding:40px 0;border-top:1px solid var(--line);align-items:start;}
  .speech-block:first-of-type{border-top:none;}
  .speech-avatar{width:150px;height:150px;border-radius:50%;overflow:hidden;flex:none;}
  .speech-avatar img{width:100%;height:100%;object-fit:cover;}
  .speech-quote{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;line-height:1.65;color:var(--ink);}
  .speech-sign{margin-top:18px;}
  .speech-sign b{display:block;font-family:'Space Grotesk',sans-serif;}
  .speech-sign span{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;}
  .staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px;margin-top:28px;}
  .staff-card{background:var(--panel);border:1px solid var(--line);padding:22px 16px;text-align:center;}
  .staff-photo{width:88px;height:88px;border-radius:50%;margin:0 auto 14px;overflow:hidden;}
  .staff-photo img{width:100%;height:100%;object-fit:cover;}
  .staff-card b{display:block;font-family:'Space Grotesk',sans-serif;font-size:.96rem;}
  .staff-card span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-top:6px;}
  @media(max-width:640px){.speech-block{grid-template-columns:1fr;}.speech-avatar{width:100px;height:100px;}}
