  :root{
    --teal-900:#123a44;
    --teal-800:#1b4f5c;
    --teal-700:#256473;
    --green-500:#3fae7a;
    --green-600:#329063;
    --ink:#242b2e;
    --grey-600:#65707a;
    --grey-300:#d9dee1;
    --cream:#f7f7f5;
    --white:#ffffff;
    --radius:2px;
    --maxw:1200px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
  }
  h1,h2,h3,h4{
    font-family:'Poppins',sans-serif;
    margin:0;
    line-height:1.25;
    font-weight:600;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;}
  :focus-visible{outline:2px solid var(--green-500);outline-offset:2px;}

  /* ---------- Top utility bar ---------- */
  .topbar{
    background:var(--teal-900);
    color:#cfe3e7;
    font-size:13px;
  }
  .topbar .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:38px;
  }
  .topbar-left{display:flex;gap:22px;}
  .topbar-left a{display:inline-flex;align-items:center;gap:7px;margin-right:22px;}
  .topbar-left a:last-child{margin-right:0;}
  .topbar-left svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2;opacity:.9;}
  .topbar-left a:hover{opacity:1;color:var(--green-500);}
  .topbar-social{display:flex;gap:10px;}
  .topbar-social a{
    width:28px;height:28px;margin-right:10px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.1);
    border-radius:50%;
    transition:background .18s ease, transform .18s ease;
  }
  .topbar-social a:last-child{margin-right:0;}
  .topbar-social a:hover{background:var(--green-500);transform:translateY(-1px);}
  .topbar-social svg{width:13px;height:13px;fill:#e7f0f1;}

  /* ---------- Header / nav ---------- */
  header.site-header{
    position:sticky;top:0;z-index:50;
    background:var(--white);
    border-bottom:1px solid var(--grey-300);
    overflow:visible; /* let the logo spill down past the header edge */
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;
    position:relative; /* anchor point for the floating logo below */
  }

  /* Reserves the logo's footprint in the flex row so nav doesn't creep
     left underneath it — stays invisible, the real logo floats on top. */
  .logo-spacer{width:190px;flex:none;}

  /* The actual logo: sized bigger than the header and pulled down so
     its vertical centre sits roughly on the header/hero boundary. */
  .floating-logo{
    position:absolute;
    left:24px;
    top:100%;
    transform:translateY(-40%);
    z-index:5;
    display:block;
    line-height:0;
  }
  .floating-logo img{
    display:block;
    height:100px;
    width:auto;
    max-width:260px;
    object-fit:contain;
    filter:drop-shadow(0 12px 22px rgba(0,0,0,.25));
  }
  /* Shown only if no real logo image is found (see the onerror handler
     on the <img> below) — styled as its own card so it still looks
     intentional while you don't have a logo file in place yet. */
  .logo-fallback{
    display:none;
    align-items:center;gap:10px;
    background:var(--white);
    border-radius:6px;
    padding:14px 18px;
    box-shadow:0 14px 28px -12px rgba(18,58,68,.35);
  }
  .logo-fallback .mark{
    width:38px;height:38px;flex:none;
    background:var(--teal-800);
    border-radius:var(--radius);
    display:flex;align-items:center;justify-content:center;
  }
  .logo-fallback .mark svg{width:20px;height:20px;fill:var(--green-500);}
  .logo-fallback .logo-text{display:flex;flex-direction:column;line-height:1.15;}
  .logo-fallback .logo-text strong{font-family:'Poppins',sans-serif;font-weight:700;font-size:26px;color:var(--teal-800);}
  .logo-fallback .logo-text small{
    font-family:'Inter',sans-serif;font-weight:500;font-size:10.5px;
    letter-spacing:.3px;color:var(--grey-600);text-transform:uppercase;
  }
  nav.main-nav{display:flex;align-items:center;gap:34px;}
  nav.main-nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;}
  nav.main-nav a{
    font-size:15px;font-weight:500;color:var(--ink);
    padding:6px 0;position:relative;
  }
  nav.main-nav a.active,nav.main-nav a:hover{color:var(--teal-800);}
  nav.main-nav a.active::after{
    content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
    background:var(--green-500);
  }
  .search-btn{
    width:36px;height:36px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--cream);color:var(--teal-800);
    transition:background .15s;
  }
  .search-btn:hover{background:var(--grey-300);}
  .search-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
  .menu-toggle{display:none;width:40px;height:40px;}
  .menu-toggle svg{width:22px;height:22px;fill:none;stroke:var(--teal-800);stroke-width:2;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:560px;
    display:flex;align-items:center;
    overflow:hidden;
    color:var(--white);
    isolation:isolate;
  }
  .hero-bg-image{
    position:absolute;inset:0;
    background-size:cover;
    background-position:center 60%;
  }
  .hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(18,58,68,.55) 0%, rgba(18,58,68,.22) 45%, rgba(37,90,80,.45) 100%);
  }
  .hero-content{
    position:relative;z-index:2;
    width:100%;
    text-align:center;
    padding:70px 24px 90px;
  }
  .hero-eyebrow{
    font-size:17px;font-weight:400;
    font-family:'Inter',sans-serif;
    color:#e4efe9;
    margin-bottom:6px;
  }
  .hero-eyebrow strong{font-weight:600;color:var(--white);}
  .hero h1{
    font-size:clamp(28px,4.4vw,46px);
    max-width:900px;margin:0 auto;
    text-shadow:0 2px 14px rgba(0,0,0,.25);
  }

  /* Sliding carousel for the subtitle + membership buttons.
     Auto-rotates every 5s (see script.js); arrows/dots reuse the
     same controls that used to drive the background tint. */
  .hero-carousel{
    overflow:hidden;
  }
  .hero-carousel-track{
    display:flex;
    transition:transform .7s cubic-bezier(.65,0,.35,1);
  }
  .hero-panel{
    flex:0 0 100%;
    max-width:100%;
    box-sizing:border-box;
    padding:0 8px;
  }
  .hero-sub{
    margin:18px auto 0;
    max-width:640px;
    font-size:16px;
    color:#eaf2ee;
    min-height:48px;
  }
  .hero-sub b{color:var(--white);}
  .hero-ctas{
    margin-top:34px;
    display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
  }
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 26px;
    font-size:14px;font-weight:600;
    border-radius:var(--radius);
    transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-solid{background:var(--green-500);color:var(--white);}
  .btn-solid:hover{background:var(--green-600);}
  .btn-outline{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.8);
    color:var(--white);
  }
  .btn-outline:hover{background:rgba(255,255,255,.16);}
  .btn-dark{background:var(--teal-800);color:var(--white);}
  .btn-dark:hover{background:var(--teal-900);}

  .hero-arrow{
    position:absolute;top:50%;z-index:3;
    transform:translateY(-50%);
    width:44px;height:44px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:var(--white);
    transition:background .15s;
  }
  .hero-arrow:hover{background:rgba(255,255,255,.15);}
  .hero-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
  .hero-arrow.prev{left:26px;}
  .hero-arrow.next{right:26px;}

  .hero-dots{
    position:absolute;bottom:26px;left:0;right:0;z-index:3;
    display:flex;justify-content:center;gap:9px;
  }
  .hero-dots button{
    width:9px;height:9px;border-radius:50%;
    background:rgba(255,255,255,.45);
    transition:background .15s, transform .15s;
  }
  .hero-dots button.is-active{background:var(--white);transform:scale(1.2);}

  /* ---------- Feature strip ---------- */
  .features{
    background:var(--white);
    border-bottom:1px solid var(--grey-300);
  }
  .features .wrap{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:44px;
    padding:56px 24px;
  }
  .feature-item{display:flex;gap:16px;align-items:flex-start;}
  .feature-icon{
    flex:none;
    width:46px;height:46px;
    border-radius:50%;
    background:#e8f5ee;
    display:flex;align-items:center;justify-content:center;
  }
  .feature-icon svg{width:22px;height:22px;fill:none;stroke:var(--green-600);stroke-width:1.8;}
  .feature-item h3{font-size:16.5px;color:var(--teal-800);margin-bottom:6px;}
  .feature-item p{margin:0;font-size:14.5px;color:var(--grey-600);}

  /* ---------- About split section ---------- */
  .about{background:var(--cream);padding:84px 0;}
  .about .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
  }
  .about-visual{
    position:relative;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 24px 48px -20px rgba(18,58,68,.35);
    background:linear-gradient(160deg,var(--teal-900),var(--teal-700) 60%,var(--green-600));
    aspect-ratio:16/11;
    display:flex;
    align-items:flex-end;
    padding:30px;
  }
  .about-visual::before{
    content:"";
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 78% 20%, rgba(63,174,122,.4), transparent 45%),
      repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 40px);
  }
  .about-visual-card{
    position:relative;z-index:1;
    color:var(--white);
    max-width:300px;
  }
  .about-visual-card .kicker{
    display:inline-block;
    background:var(--green-500);
    color:var(--white);
    font-size:12px;font-weight:600;
    padding:5px 12px;border-radius:20px;
    margin-bottom:14px;
  }
  .about-visual-card h4{font-size:23px;margin-bottom:8px;}
  .about-visual-card p{font-size:13.5px;color:#dcebe6;margin:0;}

  .about-text .eyebrow{
    color:var(--green-600);font-weight:600;font-size:13.5px;
    margin-bottom:10px;
  }
  .about-text h2{
    font-size:clamp(24px,2.6vw,32px);
    color:var(--teal-900);
    max-width:520px;
  }
  .about-list{list-style:none;margin:26px 0 0;padding:0;}
  .about-list li{
    display:flex;gap:12px;align-items:flex-start;
    margin-bottom:14px;
    font-size:15px;color:var(--ink);
  }
  .about-list li svg{
    flex:none;margin-top:3px;
    width:18px;height:18px;fill:none;stroke:var(--green-600);stroke-width:2.4;
  }
  .about-text p.body{
    margin-top:22px;
    font-size:15px;
    color:var(--grey-600);
    max-width:560px;
  }
  .about-ctas{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}

  /* ---------- Footer (small, grounding) ---------- */
  footer{
    background:var(--teal-900);
    color:#a9c2c6;
    padding:34px 0;
    font-size:13.5px;
  }
  footer .wrap{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  }
  footer a{color:#dcebe6;}

  /* ---------- Section heading (shared) ---------- */
  .section-head{text-align:center;max-width:560px;margin:0 auto 46px;}
  .section-head h2{font-size:clamp(22px,2.4vw,28px);color:var(--teal-900);}
  .section-head p{margin:10px 0 0;color:var(--grey-600);font-size:15px;}

  /* ---------- News & Events ---------- */
  .news{padding:84px 0;background:var(--white);}
  .news-carousel-wrap{position:relative;}
  .news-carousel{overflow:hidden;}
  .news-track{
    display:flex;
    transition:transform .6s cubic-bezier(.65,0,.35,1);
  }
  .news-page{
    flex:0 0 100%;max-width:100%;box-sizing:border-box;
  }
  .news-row{
    display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  }
  .news-card h3{font-size:15.5px;margin:16px 0 8px;}
  .news-card h3 a{color:var(--teal-900);}
  .news-card h3 a:hover{color:var(--green-600);}
  .news-card p{margin:0;font-size:13.5px;color:var(--grey-600);}
  .news-readmore{
    display:inline-block;margin-top:10px;font-size:13px;font-weight:600;
    color:var(--green-600);
  }
  .news-readmore:hover{color:var(--teal-800);}
  .news-thumb{
    aspect-ratio:4/3;border-radius:4px;overflow:hidden;position:relative;
    display:flex;align-items:flex-end;
  }
  .news-thumb svg{position:relative;z-index:1;width:34px;height:34px;stroke:rgba(255,255,255,.9);fill:none;stroke-width:1.6;margin:16px;}
  .news-thumb.t1{background:linear-gradient(155deg,#1e4550,#3f7385 70%);}
  .news-thumb.t2{background:linear-gradient(155deg,#2c3e44,#5c6b70 70%);}
  .news-thumb.t3{background:linear-gradient(155deg,#123a44,#3fae7a 85%);}
  .news-thumb.t4{background:linear-gradient(155deg,#3a3f45,#6b7280 70%);}
  .news-scroll-btn{
    display:none;
    position:absolute;top:38%;transform:translateY(-50%);
    width:38px;height:38px;border-radius:50%;
    background:var(--white);box-shadow:0 4px 14px rgba(0,0,0,.14);
    align-items:center;justify-content:center;color:var(--teal-800);
    z-index:3;
  }
  .news-scroll-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;}
  .news-scroll-btn.prev{left:-19px;}
  .news-scroll-btn.next{right:-19px;}
  .news-dots{
    display:flex;justify-content:center;gap:9px;margin-top:36px;
  }
  .news-dots button{
    width:9px;height:9px;border-radius:50%;
    background:var(--grey-300);
    transition:background .15s, transform .15s;
  }
  .news-dots button.is-active{background:var(--green-500);transform:scale(1.2);}

  /* ---------- Developments ---------- */
  .developments{padding:84px 0;background:var(--cream);}
  .developments .section-head{max-width:720px;}
  .dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
  .dev-card{
    background:var(--white);border:1px solid var(--grey-300);
    border-radius:4px;padding:30px;display:flex;gap:18px;
  }
  .dev-avatar{
    flex:none;width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;color:var(--white);
  }
  .dev-avatar.a1{background:linear-gradient(150deg,var(--teal-700),var(--teal-900));}
  .dev-avatar.a2{background:linear-gradient(150deg,var(--green-500),var(--teal-800));}
  .dev-card h4{font-size:16px;color:var(--teal-900);}
  .dev-card .dev-sub{font-size:12.5px;font-weight:600;color:var(--green-600);margin:3px 0 10px;text-transform:uppercase;letter-spacing:.3px;}
  .dev-card p{margin:0;font-size:14px;color:var(--grey-600);}

  /* ---------- Partner strip ---------- */
  .partners{padding:50px 0;background:var(--white);border-top:1px solid var(--grey-300);}
  .partners .wrap{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px;
  }
  .partner-mark{
    font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;
    color:#b7c0c4;letter-spacing:.4px;white-space:nowrap;
    transition:color .15s;
  }
  .partner-mark:hover{color:var(--teal-700);}

  /* ---------- CTA banner ---------- */
  .cta-banner{background:var(--green-500);padding:30px 0;}
  .cta-banner .wrap{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  }
  .cta-banner h2{color:var(--white);font-size:clamp(18px,2.2vw,24px);letter-spacing:.3px;}
  .cta-banner .btn{background:var(--white);color:var(--teal-900);}
  .cta-banner .btn:hover{background:var(--teal-900);color:var(--white);}

  /* ---------- Footer ---------- */
  footer.site-footer{background:#1a1d1f;color:#9aa2a6;padding:64px 0 0;font-size:14px;}
  .footer-grid{
    display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;
    padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-grid h5{
    color:var(--white);font-family:'Poppins',sans-serif;font-weight:600;
    font-size:15px;margin-bottom:18px;
  }
  .footer-grid p{margin:0 0 16px;color:#9aa2a6;line-height:1.65;}
  .footer-contact{list-style:none;margin:0;padding:0;}
  .footer-contact li{display:flex;gap:10px;margin-bottom:14px;font-size:13.5px;}
  .footer-contact svg{flex:none;width:16px;height:16px;stroke:var(--green-500);fill:none;stroke-width:1.8;margin-top:1px;}
  .footer-news-item{display:flex;gap:10px;margin-bottom:16px;}
  .footer-news-thumb{flex:none;width:46px;height:46px;border-radius:3px;background:linear-gradient(150deg,var(--teal-700),var(--teal-900));}
  .footer-news-item div p{margin:0 0 4px;font-size:13.5px;color:#d4d9db;line-height:1.4;}
  .footer-news-item div span{font-size:12px;color:#71797d;}
  .footer-links{list-style:none;margin:0;padding:0;}
  .footer-links li{margin-bottom:12px;font-size:13.5px;}
  .footer-links a{color:#b3babd;transition:color .15s;}
  .footer-links a:hover{color:var(--green-500);}
  .footer-newsletter-form{display:flex;margin-bottom:22px;}
  .footer-newsletter-form input{
    flex:1;min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.04);color:var(--white);font-size:13.5px;
    border-radius:2px 0 0 2px;font-family:inherit;
  }
  .footer-newsletter-form input::placeholder{color:#71797d;}
  .footer-newsletter-form button{
    background:var(--green-500);color:var(--white);padding:0 16px;border-radius:0 2px 2px 0;
    display:flex;align-items:center;justify-content:center;
  }
  .footer-newsletter-form button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;}
  .footer-newsletter-note{font-size:12px;color:#71797d;}
  .footer-social{display:flex;gap:8px;margin-top:16px;}
  .footer-social a{
    width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.06);
    display:flex;align-items:center;justify-content:center;transition:background .15s;
  }
  .footer-social a:hover{background:var(--green-500);}
  .footer-social svg{width:13px;height:13px;fill:#d4d9db;}
  .footer-bottom{padding:20px 0;text-align:center;font-size:12.5px;color:#71797d;}
  .footer-bottom b{color:#b3babd;}

  /* ---------- Inner-page banner (About, etc.) ---------- */
  .page-hero{
    position:relative;
    min-height:220px;
    display:flex;align-items:center;
    overflow:hidden;
    color:var(--white);
  }
  .page-hero-inner{
    position:relative;z-index:2;
    width:100%;text-align:center;
    padding:56px 24px;
  }
  .page-hero h1{
    font-size:clamp(26px,3.6vw,38px);
    text-shadow:0 2px 14px rgba(0,0,0,.25);
  }
  .breadcrumb{
    margin-top:12px;font-size:14px;color:#dcebe6;
  }
  .breadcrumb a{color:#dcebe6;text-decoration:underline;text-underline-offset:2px;}
  .breadcrumb a:hover{color:var(--white);}

  /* ---------- Prose section (intro copy on inner pages) ---------- */
  .prose-section{padding:84px 0 40px;background:var(--white);}
  .prose-section .wrap{max-width:820px;}
  .prose-section .eyebrow{color:var(--green-600);font-weight:600;font-size:13.5px;margin-bottom:10px;}
  .prose-section h2{font-size:clamp(24px,2.6vw,32px);color:var(--teal-900);margin-bottom:20px;}
  .prose-section p{font-size:15.5px;color:var(--grey-600);margin:0 0 16px;}
  .prose-list{list-style:none;margin:24px 0;padding:0;}
  .prose-list li{
    display:flex;gap:12px;align-items:flex-start;
    margin-bottom:14px;font-size:15px;color:var(--ink);
  }
  .prose-list li svg{
    flex:none;margin-top:3px;
    width:18px;height:18px;fill:none;stroke:var(--green-600);stroke-width:2.4;
  }

  /* ---------- Full news listing (news.html) ---------- */
  .news-list-section{padding:70px 0 90px;background:var(--white);}
  .news-list{list-style:none;margin:0;padding:0;}
  .news-article{
    display:grid;grid-template-columns:220px 1fr;gap:32px;
    padding:36px 0;border-bottom:1px solid var(--grey-300);
    scroll-margin-top:110px;border-radius:6px;
    transition:background-color 1.2s ease;
  }
  .news-article:first-child{padding-top:0;}
  .news-article.is-highlighted{background-color:#eaf5ef;}
  .news-article-thumb{
    aspect-ratio:4/3;border-radius:6px;overflow:hidden;position:relative;
    display:flex;align-items:flex-end;
  }
  .news-article-thumb svg{position:relative;z-index:1;width:38px;height:38px;stroke:rgba(255,255,255,.9);fill:none;stroke-width:1.6;margin:16px;}
  .news-article-date{font-size:12.5px;font-weight:600;color:var(--green-600);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;}
  .news-article h2{font-size:20px;color:var(--teal-900);margin-bottom:12px;}
  .news-article-body p{margin:0 0 12px;font-size:15px;color:var(--grey-600);}
  .news-article-body p:last-child{margin-bottom:0;}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .about .wrap{grid-template-columns:1fr;gap:40px;}
    .features .wrap{grid-template-columns:1fr;gap:30px;padding:44px 24px;}
    .news-row{grid-template-columns:repeat(2,1fr);}
    .dev-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px;}
  }
  @media (max-width:760px){
    .topbar-left a:nth-child(2){display:none;}
    .topbar-social a{width:24px;height:24px;margin-right:6px;}
    .topbar-social svg{width:11px;height:11px;}
    nav.main-nav ul{
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;
      background:var(--white);
      border-bottom:1px solid var(--grey-300);
      padding:8px 24px 18px;
      gap:4px;
      display:none;
    }
    nav.main-nav.open ul{display:flex;}
    nav.main-nav a.active::after{display:none;}
    .menu-toggle{display:flex;align-items:center;justify-content:center;}
    .search-btn{margin-left:4px;}
    .hero{min-height:480px;}
    .hero-arrow{width:36px;height:36px;}
    .hero-arrow.prev{left:12px;}
    .hero-arrow.next{right:12px;}
    .news-row{grid-template-columns:1fr;}
    .partners .wrap{justify-content:center;gap:22px 34px;}
    .footer-grid{grid-template-columns:1fr;gap:34px;}
    .cta-banner .wrap{text-align:center;justify-content:center;}
    .dev-card{flex-direction:column;text-align:center;align-items:center;}
    .logo-fallback .logo-text small{display:none;}
    .floating-logo img{height:66px;}
    .logo-fallback{padding:10px 14px;}
    .logo-spacer{width:120px;}
    .page-hero{min-height:170px;}
    .news-article{grid-template-columns:1fr;gap:16px;}
  }