@charset "UTF-8";
/* ============================================================
   The Net Utility — homepage
   Companion stylesheet for homepage.html
   Palette: #FFF8ED bg · #111111 · #155E9E blue · #0B2942 navy · #D4A64A gold
   Font: DM Sans (loaded in the HTML <head>)
   Everything is scoped under .tnu-home so it cannot leak into
   the surrounding WordPress theme.
   ============================================================ */

/* ============================================================
       The Net Utility — homepage
       Palette: #FFF8ED bg · #111111 · #155E9E blue · #0B2942 navy · #D4A64A gold
       ============================================================ */
    .tnu-home{
      --bg:#FFF8ED; --ink:#111111; --blue:#155E9E; --navy:#0B2942; --gold:#D4A64A;
      --line:#EBE0CD; --cardline:#E0D5C0; --muted:#4E5F6C;
      --navy-2:#12395C; --navy-line:#1D4468; --navy-ink:#A9BED2; --navy-meta:#8FA8BF;
      font-family:'DM Sans',sans-serif; color:var(--ink); background:var(--bg);
      -webkit-font-smoothing:antialiased;
    }
    .tnu-home *,.tnu-home *::before,.tnu-home *::after{box-sizing:border-box;}
    .tnu-home img{display:block;max-width:100%;}
    .tnu-home a{text-decoration:none;color:var(--blue);}
    .tnu-home a:hover{color:var(--navy);}
    .tnu-home h1,.tnu-home h2,.tnu-home h3,.tnu-home p{margin:0;}
    .tnu-ico{width:12px;height:12px;flex:none;}

    /* ---- hero ---- */
    .tnu-hero{position:relative;display:flow-root;background:var(--navy);}
    .tnu-hero__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
    .tnu-hero__grid{
      position:absolute;inset:0;
      background-image:linear-gradient(rgba(212,166,74,.075) 1px,transparent 1px),
                       linear-gradient(90deg,rgba(212,166,74,.075) 1px,transparent 1px);
      background-size:72px 72px;
      -webkit-mask-image:linear-gradient(#000 8%,transparent 76%);
              mask-image:linear-gradient(#000 8%,transparent 76%);
    }
    .tnu-hero__glow{
      position:absolute;top:-180px;right:-140px;width:700px;height:580px;
      background:radial-gradient(ellipse at center,rgba(21,94,158,.34),rgba(21,94,158,0) 66%);
    }
    .tnu-hero__inner{position:relative;max-width:1200px;margin:0 auto;padding:96px 28px 0;}
    .tnu-hero__top{display:grid;grid-template-columns:1.05fr .95fr;gap:20px 56px;align-items:end;}
    .tnu-hero__title{
      font-size:clamp(36px,5vw,60px);line-height:1.03;letter-spacing:-.032em;
      color:#fff;max-width:17ch;text-wrap:pretty;
    }
    .tnu-hero__intro{
      font-size:clamp(17px,1.5vw,19.5px);line-height:1.62;
      color:var(--navy-ink);max-width:46ch;text-wrap:pretty;
    }
    .tnu-hero__start{margin-top:60px;}

    .tnu-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
    .tnu-eyebrow__rule{width:22px;height:2px;background:var(--gold);}
    .tnu-eyebrow__label{
      font-size:10.5px;font-weight:700;letter-spacing:.18em;
      text-transform:uppercase;color:#8FA8BF;
    }

    /* start-here cards straddle the hero edge: -49px == half the 98px card */
    .tnu-start{
      display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
      position:relative;z-index:3;margin-bottom:-49px;
    }
    .tnu-start__card{
      display:flex;align-items:center;gap:11px;height:98px;padding:14px;
      background:#fff;border:1px solid var(--line);border-radius:14px;
      box-shadow:0 16px 38px rgba(11,41,66,.2);
      transition:border-color .18s ease,box-shadow .18s ease;
    }
    .tnu-start__card:hover{border-color:var(--blue);box-shadow:0 20px 44px rgba(21,94,158,.24);}
    .tnu-start__icon{
      width:32px;height:32px;border-radius:50%;flex:none;
      background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
    }
    .tnu-start__icon svg{width:16px;height:16px;}
    .tnu-start__text{flex:1;min-width:0;}
    .tnu-start__cat{
      display:block;font-size:10px;font-weight:700;letter-spacing:.16em;
      text-transform:uppercase;color:var(--muted);
    }
    .tnu-start__title{
      display:block;font-size:14.5px;font-weight:700;line-height:1.3;
      letter-spacing:-.012em;color:var(--ink);margin-top:6px;
    }

    /* ---- bands ---- */
    .tnu-band--cream{background:var(--bg);}
    .tnu-band--white{background:#fff;}
    .tnu-band--navy{background:var(--navy);position:relative;overflow:hidden;}
    .tnu-band__glow{
      position:absolute;bottom:-220px;left:-100px;width:560px;height:560px;pointer-events:none;
      background:radial-gradient(circle,rgba(21,94,158,.3),rgba(21,94,158,0) 68%);
    }
    .tnu-inner{position:relative;max-width:1200px;margin:0 auto;padding:64px 28px;}
    .tnu-band--latest .tnu-inner{padding-top:95px;}

    /* ---- section head ---- */
    .tnu-head{
      display:flex;align-items:center;justify-content:space-between;gap:14px 20px;
      flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line);
    }
    .tnu-head__title{
      font-size:clamp(19px,1.8vw,23px);line-height:1.14;letter-spacing:-.018em;
      display:inline-block;background:var(--blue);color:#fff;padding:6px 13px;border-radius:8px;
    }
    .tnu-head__eyebrow{
      font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
      color:var(--gold);margin-bottom:12px;
    }
    .tnu-head__meta{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
    .tnu-head__link{font-size:14.5px;font-weight:700;color:var(--blue);white-space:nowrap;}
    .tnu-head__link:hover{color:var(--navy);}
    .tnu-band--navy .tnu-head{border-bottom-color:var(--navy-line);}
    .tnu-band--navy .tnu-head__link{color:var(--gold);}
    .tnu-band--navy .tnu-head__link:hover{color:#fff;}

    /* ---- meta line ---- */
    .tnu-meta{
      display:flex;align-items:center;gap:12px;flex-wrap:wrap;
      font-size:11px;color:var(--muted);margin-top:12px;
    }
    .tnu-meta__item{display:inline-flex;align-items:center;gap:5px;}

    /* ---- latest ---- */
    .tnu-latest{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;margin-top:32px;}
    .tnu-lead{position:relative;border-radius:12px;overflow:hidden;background:var(--navy);}
    .tnu-lead__link{
      display:flex;flex-direction:column;justify-content:flex-end;
      position:relative;width:100%;height:100%;min-height:340px;
      transition:opacity .18s ease;
    }
    .tnu-lead__link:hover{opacity:.93;}
    .tnu-lead__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
    .tnu-lead__panel{
      position:relative;padding:58px 22px 22px;
      background:linear-gradient(to top,rgba(11,41,66,.94) 0%,rgba(11,41,66,.78) 62%,rgba(11,41,66,0) 100%);
    }
    .tnu-lead__badge{
      display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;
      text-transform:uppercase;color:#fff;background:var(--blue);
      padding:5px 10px;border-radius:6px;margin-bottom:12px;
    }
    .tnu-lead__title{
      font-size:clamp(21px,2vw,26px);line-height:1.2;letter-spacing:-.018em;
      color:#fff;text-wrap:pretty;
    }
    .tnu-lead .tnu-meta{font-size:12px;color:#E4EEF6;margin-top:9px;}

    .tnu-mini{display:flex;flex-direction:column;gap:22px;}
    .tnu-mini__item{
      display:grid;grid-template-columns:104px 1fr;gap:16px;
      padding-bottom:22px;border-bottom:1px solid var(--line);
    }
    .tnu-mini__item:last-child{padding-bottom:0;border-bottom:0;}
    .tnu-mini__thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#EFE6D6;}
    .tnu-mini__cat{
      font-size:10.5px;font-weight:700;letter-spacing:.09em;
      text-transform:uppercase;color:var(--blue);
    }
    .tnu-mini__title{
      font-size:17px;line-height:1.28;letter-spacing:-.01em;margin-top:8px;text-wrap:pretty;
    }
    .tnu-mini__title a{color:var(--ink);}
    .tnu-mini__title a:hover{color:var(--blue);}
    .tnu-mini .tnu-meta{margin-top:9px;}

    /* ---- 4-up card grid ---- */
    .tnu-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:30px;}
    .tnu-card{
      background:#fff;border:1px solid var(--cardline);border-radius:12px;overflow:hidden;
      box-shadow:0 2px 10px rgba(11,41,66,.05);
    }
    .tnu-card__media{display:block;}
    .tnu-card__img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#EFE6D6;}
    .tnu-card__body{padding:15px 17px 17px;}
    .tnu-card__title{font-size:17px;line-height:1.28;letter-spacing:-.012em;text-wrap:pretty;}
    .tnu-card__title a{color:var(--ink);}
    .tnu-card__title a:hover{color:var(--blue);}
    .tnu-card--dark{background:var(--navy-2);border-color:var(--navy-line);box-shadow:none;}
    .tnu-card--dark .tnu-card__img{background:var(--navy-2);}
    .tnu-card--dark .tnu-card__title a{color:#fff;}
    .tnu-card--dark .tnu-card__title a:hover{color:var(--gold);}
    .tnu-card--dark .tnu-meta{color:var(--navy-meta);}

    /* ---- popular guides ---- */
    .tnu-popular{
      display:grid;grid-auto-flow:column;
      grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto);
      gap:14px 48px;margin-top:28px;
    }
    .tnu-pop{
      display:flex;gap:16px;align-items:center;padding:14px 0;
      border-bottom:1px solid var(--line);transition:opacity .18s ease;
    }
    .tnu-pop:hover{opacity:.6;}
    .tnu-pop:nth-child(3n){border-bottom:0;}
    .tnu-pop__thumb{
      width:200px;height:125px;flex:none;object-fit:cover;
      border-radius:9px;background:#EFE6D6;
    }
    .tnu-pop__body{flex:1;min-width:0;}
    .tnu-pop__cat{
      display:block;font-size:10px;font-weight:700;letter-spacing:.14em;
      text-transform:uppercase;color:var(--blue);
    }
    .tnu-pop__title{
      display:block;font-size:18px;font-weight:600;line-height:1.34;
      letter-spacing:-.01em;color:var(--ink);margin-top:8px;
    }
    .tnu-pop .tnu-meta{margin-top:9px;}

    /* ============================================================
       Responsive
       ============================================================ */
    @media (max-width:1080px){
      .tnu-popular{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none;}
      .tnu-pop:nth-child(3n){border-bottom:1px solid var(--line);}
      .tnu-pop:last-child{border-bottom:0;}
      .tnu-cards{grid-template-columns:repeat(2,1fr);gap:30px 26px;}
    }
    @media (max-width:900px){
      .tnu-hero__top{grid-template-columns:1fr;gap:26px;}
      .tnu-latest{grid-template-columns:1fr;gap:32px;}
      /* four across no longer fits, so the straddle is retired on purpose */
      .tnu-start{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:0;}
      .tnu-band--latest .tnu-inner{padding-top:52px;}
    }
    @media (max-width:640px){
      .tnu-hero__inner{padding:64px 20px 0;}
      .tnu-inner{padding:48px 20px;}
    }
    @media (max-width:560px){
      .tnu-start{grid-template-columns:1fr;}
      .tnu-cards{grid-template-columns:1fr;gap:28px;}
      .tnu-pop__thumb{width:112px;height:70px;}
      .tnu-popular{gap:10px 48px;}
      .tnu-pop__title{font-size:16px;}
    }

    /* ============================================================
       Overrides for WordPress Theme Integration
       ============================================================ */
    body.home .blog-over-site-content,
    body.page-template-template-homepage .blog-over-site-content {
      display: block !important;
    }

    body.page-template-template-homepage #ticker,
    body.home #ticker {
      display: none !important;
    }

