/* ITNW - only additions to /nn/main.css */

 .itnwhero {
       padding:1.1em 0em 1em 0em;
      }


 .itnwhero .eyebrow a,
 .itnwhero .eyebrow a:visited {
       color:#ffd6b0;
       text-decoration:none;
      }

 .itnwhero .eyebrow a:hover {
       color:#ffffff;
       text-decoration:underline;
       text-decoration-color:#ff7a00;
       text-underline-offset:0.2em;
      }

 .itnwhero .eyebrow a:focus-visible {
       outline:2px solid #ff7a00;
       outline-offset:3px;
      }

 .itnwlogo {
       width:11em;
       margin-bottom:0.35em;
      }

 .itnwhero h1,
 .itnwhero .itnwbrandtitle {
       font-weight:bold;
       color:#ffffff;
       line-height:1.2em;
       margin-bottom:0.18em;
       font-size:1.65em;
      }

 .itnwhero .herotop {
       margin-bottom:0.3em;
      }

 .itnwhero .herolead {
       margin-bottom:0.35em;
       line-height:1.4em;
      }

 .itnwhero .heroquote {
       line-height:1.4em;
      }

 .itnwlayout {
       display:flex;
       align-items:flex-start;
       gap:1.2em;
      }

 .itnwmenu {
       box-sizing:border-box;
       flex:0 0 16.5em;
       min-width:0px;
       padding:1.3em;
      }

 .itnwmenu h2 {
       font-size:1.45em;
      }

 .itnwsection {
       margin-top:0.8em;
       padding-top:0.5em;
       border-top:1px solid #ddd6c8;
      }

 .itnwsection summary {
       position:relative;
       display:flex;
       align-items:center;
       gap:0.35em;
       margin:0px 0px 0.3em 0px;
       padding:0.25em 1.35em 0.25em 0.4em;
       font-size:0.92em;
       font-weight:bold;
       line-height:1.35em;
       color:#0f1b24;
       border-radius:0.3em;
       cursor:pointer;
       list-style:none;
      }

 .itnwsectionname {
       flex:1 1 auto;
       min-width:0;
      }

 .itnwsectioncount {
       box-sizing:border-box;
       flex:0 0 auto;
       min-width:1.8em;
       padding:0.1em 0.35em;
       border-radius:0.3em;
       background:#e8e0d3;
       color:#6f4930;
       font-size:0.85em;
       line-height:1.3em;
       text-align:center;
       font-variant-numeric:tabular-nums;
      }

 .itnwsection summary::-webkit-details-marker {
       display:none;
      }

 .itnwsection summary::after {
       content:"";
       position:absolute;
       right:0.55em;
       top:0.63em;
       width:0.42em;
       height:0.42em;
       border-right:2px solid #a6500a;
       border-bottom:2px solid #a6500a;
       transform:rotate(45deg);
       transition:transform 0.15s ease;
      }

 .itnwsection[open] summary::after {
       transform:rotate(225deg);
      }

 .itnwsection summary:hover {
       background:#fff0dd;
      }

 .itnwsection summary:focus-visible {
       outline:2px solid #ff7a00;
       outline-offset:2px;
      }

 .itnwitem,
 .itnwhome {
       display:block;
       margin:0em;
       padding:0.28em 0.7em;
       font-size:0.91em;
       line-height:1.2em;
       color:#2a3238;
       text-decoration:none;
       border-left:3px solid transparent;
       border-radius:0.25em;
      }

 a.itnwitem:hover,
 a.itnwhome:hover {
       background:#fbfaf6;
       border-left-color:#ff7a00;
      }

 .itnwactive {
       background:#fff0dd;
       border-left-color:#ff7a00;
       font-weight:bold;
      }

 .itnwdisabled {
       color:#899092;
       text-decoration:line-through;
       cursor:default;
      }

 .itnwsoon {
       font-size:0.85em;
       color:#899092;
      }

 .itnwarticle {
       box-sizing:border-box;
       flex:1 1 0px;
       min-width:0px;
       line-height:1.8em;
      }

 .itnwcategory {
       margin-bottom:0.6em;
       font-size:0.78em;
       font-weight:bold;
       text-transform:uppercase;
       letter-spacing:0.08em;
       color:#a6500a;
      }

 .itnwarticle h2 {
       line-height:1.3em;
      }

 .itnwarticle h1 {
       margin:0px 0px 0.7em 0px;
       padding-bottom:0.45em;
       font-size:1.9em;
       line-height:1.3em;
       color:#0f1b24;
       border-bottom:2px solid #ebe4d7;
      }

 @media screen and (max-width:640px) {
       .itnwarticle h1 {
              font-size:1.5em;
             }
      }

 .itnwarticle p {
       line-height:1.8em;
      }

 .itnwarticle blockquote {
       margin:1.3em 0em;
       padding:0.8em 1.1em;
       background:#fbfaf6;
       border-left:4px solid #ff7a00;
      }

 .itnwarticle img {
       max-width:100%;
       height:auto;
      }

 .itnwnav {
       display:flex;
       flex-wrap:wrap;
       justify-content:space-between;
       gap:0.7em;
       margin-top:2em;
       padding-top:1.2em;
       border-top:1px solid #ddd6c8;
      }

 .itnwnavbtn {
       display:inline-block;
       padding:0.55em 0.9em;
       font-size:0.88em;
       font-weight:bold;
       line-height:1.4em;
       text-decoration:none;
       color:#2a3238;
       background:#fbfaf6;
       border:1px solid #ddd6c9;
       border-radius:0.45em;
      }

 a.itnwnavbtn:hover {
       color:#0f1b24;
       background:#fff0dd;
       border-color:#ff7a00;
      }

 .itnwnavtop {
       color:#a6500a;
      }

 .itnwnavdisabled {
       opacity:0.35;
       cursor:default;
      }

 .itnwback {
       text-align:center;
       margin:0em 0em 1em 0em;
      }

 .itnwback a {
       color:#ffd6b0;
      }

 @media screen and (max-width:800px) {
       .itnwlayout {
              display:block;
             }

       .itnwmenu,
       .itnwarticle {
              width:100%;
             }
      }

 /* Inline cross-references in ITNW articles */
 .itnwarticle a:not(.itnwnavbtn) {
       color:#99500f;
       font-weight:600;
       text-decoration:none;
       border-bottom:1px solid #d9a46d;
       background:linear-gradient(to top,rgba(255,122,0,0.09) 0.3em,transparent 0.3em);
       border-radius:0.12em;
       transition:color 0.15s ease,border-color 0.15s ease,background-color 0.15s ease;
      }

 .itnwarticle a:not(.itnwnavbtn):visited {
       color:#99500f;
      }

 .itnwarticle a:not(.itnwnavbtn):hover {
       color:#6b3608;
       border-bottom-color:#ff7a00;
       background:#fff0dd;
      }

 .itnwarticle a:not(.itnwnavbtn):focus-visible {
       outline:2px solid #ff7a00;
       outline-offset:3px;
      }

 .itnwarticle h3 a:not(.itnwnavbtn) {
       color:inherit;
       font-weight:inherit;
       border-bottom:2px solid #df7600;
       background:none;
      }


 /* Traceroute examples: dark frame and light terminal, including mobile scrolling */
 .itnwarticle pre.itnwtraceplain {
       box-sizing:border-box;
       max-width:100%;
       overflow-x:auto;
       padding:1em 1.2em;
       font-family:Consolas,"Courier New",monospace;
       font-size:0.83em;
       line-height:1.65em;
       color:#1b2734;
       background:#e8ebee;
       border-radius:0.8em;
      }

 .itnwtracebox {
       box-sizing:border-box;
       max-width:100%;
       margin:1.4em 0em;
       padding:0.9em;
       color:#e7edf4;
       background:#0c1729;
       border-radius:0.9em;
      }

 .itnwtracetop {
       display:flex;
       justify-content:space-between;
       align-items:center;
       gap:0.7em;
       margin-bottom:1em;
       font-size:0.74em;
       font-weight:bold;
      }

 .itnwtracepill {
       padding:0.15em 0.55em;
       color:#e7edf4;
       background:#303d50;
       border-radius:999px;
      }

 .itnwtracepaper {
       padding:1em 1.2em;
       color:#172330;
       background:#e9e9e9;
       border-radius:1.1em;
      }

 .itnwtracepaperhead {
       margin-bottom:0.85em;
       font-size:0.82em;
       font-weight:bold;
      }

 .itnwtracepaper pre {
       max-width:100%;
       overflow-x:auto;
       margin:0px;
       font-family:Consolas,"Courier New",monospace;
       font-size:0.75em;
       line-height:1.65em;
       white-space:pre;
      }

 .itnwtracefoot {
       padding-top:1.1em;
       font-size:0.76em;
       line-height:1.55em;
       color:#c8d0dc;
      }


 /* Reusable terminal blocks for ITNW articles */
 .itnwarticle pre.terminal-linux,
 .itnwarticle pre.terminal-windows {
       box-sizing:border-box;
       max-width:100%;
       margin:1.2em 0em;
       padding:1.1em 1.25em;
       overflow-x:auto;
       font-family:Consolas,"Courier New",monospace;
       font-size:0.83em;
       line-height:1.65em;
       white-space:pre;
       tab-size:4;
       border-radius:0.75em;
      }

 .itnwarticle pre.terminal-linux {
       color:#e4f4e4;
       background:#15241b;
       border:1px solid #375442;
       border-top:5px solid #5fa576;
      }

 .itnwarticle pre.terminal-windows {
       color:#e5efff;
       background:#14233b;
       border:1px solid #3b5475;
       border-top:5px solid #4a91e2;
      }


 /* Article MP3 player */
 .itnwaudio {
       box-sizing:border-box;
       margin:0.3em 0em 1.5em 0em;
       padding:1.05em 1.2em;
       color:#edf3fb;
       background:#14263d;
       border:1px solid #35506c;
       border-left:4px solid #ff9b38;
       border-radius:0.85em;
      }

 .itnwaudiohead {
       display:flex;
       align-items:center;
       gap:0.85em;
       margin-bottom:0.85em;
      }

 .itnwaudioicon {
       display:flex;
       flex:0 0 2.55em;
       align-items:center;
       justify-content:center;
       width:2.55em;
       height:2.55em;
       font-size:1.05em;
       font-weight:bold;
       color:#17263b;
       background:#ffb45e;
       border-radius:0.65em;
      }

 .itnwaudiotext {
       display:flex;
       flex-direction:column;
       min-width:0px;
       gap:0.18em;
       line-height:1.4em;
      }

 .itnwaudiotext strong {
       font-size:0.9em;
       letter-spacing:0.025em;
       color:#ffffff;
      }

 .itnwaudiotext span {
       font-size:0.78em;
       color:#bac9da;
      }

 .itnwaudio audio {
       display:block;
       width:100%;
       min-width:0px;
       height:3.2em;
       color-scheme:light;
      }

 .itnwaudiooptions {
       display:flex;
       justify-content:flex-end;
       margin-top:0.55em;
       font-size:0.8em;
       line-height:1.5em;
       color:#bac9da;
      }

 .itnwaudiooptions label {
       display:inline-flex;
       align-items:center;
       gap:0.55em;
      }

 .itnwaudiooptions select {
       padding:0.22em 0.55em;
       font:inherit;
       font-weight:bold;
       color:#f8fafc;
       background:#2c415a;
       border:1px solid #60758e;
       border-radius:0.4em;
       cursor:pointer;
      }

 .itnwaudiooptions select:focus-visible {
       outline:2px solid #ffb45e;
       outline-offset:2px;
      }

 @media screen and (max-width:640px) {
       .itnwaudio {
              padding:0.9em;
             }
      }
