/* TutorSyntax v27 navigation: independent learning pathways, accessible menus. */
.ts14-site .ts27-header .header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;padding:9px 22px 12px;max-width:1560px;min-height:0}
.ts14-site .ts27-header .brand{display:flex;justify-content:center;width:100%;flex:0 0 100%}
.ts14-site .ts27-header .brand img{display:block;width:clamp(225px,26vw,292px);height:auto;max-height:75px;object-fit:contain}
.ts14-site .ts27-header #primary-navigation{position:relative;width:100%;flex:0 0 100%;display:flex!important;gap:7px;align-items:stretch;justify-content:center;flex-wrap:nowrap;padding:3px 0 0;border:0}
.ts14-site .ts27-header .ts27-nav-item{position:relative;display:flex;min-width:0;align-items:stretch;--ts27-tone:#16aabb;--ts27-base:#0c294a;border-radius:8px;border:1px solid var(--ts27-tone);background:var(--ts27-base);color:#fff}
.ts14-site .ts27-header .ts27-nav-ks3{--ts27-tone:#16c6ce;--ts27-base:#0a3749}
.ts14-site .ts27-header .ts27-nav-study{--ts27-tone:#669fff;--ts27-base:#112c56}
.ts14-site .ts27-header .ts27-nav-python{--ts27-tone:#f0c24b;--ts27-base:#403114}
.ts14-site .ts27-header .ts27-nav-revision{--ts27-tone:#36cf98;--ts27-base:#083a31}
.ts14-site .ts27-header .ts27-nav-lab{--ts27-tone:#ac91ff;--ts27-base:#2a2152}
.ts14-site .ts27-header .ts27-nav-future{--ts27-tone:#21d8de;--ts27-base:#073b49}
.ts14-site .ts27-header .ts27-nav-careers{--ts27-tone:#83dbb5;--ts27-base:#103d3a}
.ts14-site .ts27-header .ts27-nav-books{--ts27-tone:#f5b16b;--ts27-base:#4a2a17}
.ts14-site .ts27-header .ts27-nav-tutoring{--ts27-tone:#d2a2ff;--ts27-base:#32234d}
.ts14-site .ts27-header #primary-navigation .ts27-nav-link{display:flex;min-height:44px;align-items:center;justify-content:center;line-height:1.25;font-size:clamp(.73rem,.89vw,.92rem);font-weight:750;padding:8px 5px 8px 10px;background:transparent;border:0;border-radius:0;color:#f4f9ff;white-space:nowrap;text-decoration:none;transform:none;box-shadow:none}
.ts14-site .ts27-header #primary-navigation .ts27-expand{display:flex;justify-content:center;align-items:center;width:23px;flex:0 0 23px;min-height:44px;padding:0;cursor:pointer;border:0;border-left:1px solid #ffffff36;border-radius:0 7px 7px 0;background:transparent;color:var(--ts27-tone);font-size:1.1rem;font-weight:800;line-height:1}
.ts14-site .ts27-header .ts27-nav-item:hover,.ts14-site .ts27-header .ts27-nav-item:focus-within{background:#16466a}
.ts14-site .ts27-header #primary-navigation .ts27-nav-link:hover,.ts14-site .ts27-header #primary-navigation .ts27-nav-link[aria-current=page]{background:transparent;border:0;color:white;transform:none}
.ts14-site .ts27-header #primary-navigation :is(.ts27-expand,.ts27-nav-link,.ts27-submenu a):focus-visible{outline:3px solid #7cecff;outline-offset:2px;position:relative;z-index:2}
.ts14-site .ts27-header .ts27-nav-item.ts27-active{box-shadow:inset 0 0 0 1px #fff9}
.ts14-site .ts27-header #primary-navigation .ts27-submenu{position:absolute;top:calc(100% + 5px);left:0;min-width:235px;max-width:min(94vw,310px);z-index:50;padding:8px;border-radius:12px;background:#0f284a;border:1px solid #8ba8c1;box-shadow:0 18px 38px #07152f75}
.ts14-site .ts27-header #primary-navigation .ts27-submenu[hidden]{display:none!important}
.ts14-site .ts27-header #primary-navigation .ts27-submenu a{display:block;background:transparent!important;border:0;border-radius:7px;min-height:36px;font-size:.91rem;line-height:1.4;white-space:normal;text-align:left;padding:9px 11px;color:#eef8ff;transform:none;box-shadow:none}
.ts14-site .ts27-header #primary-navigation .ts27-submenu a:hover{background:#214669!important}
.ts14-site .ts27-header .ts27-nav-item:nth-last-child(-n+2) .ts27-submenu{left:auto;right:0}
.ts14-site .ts27-header .nav-toggle{display:none!important}
.ts27-footer-credit{border-top:1px solid #ffffff25;margin-top:12px;padding-top:10px;font-size:.86rem}
.ts27-paths{padding:30px 0 42px;background:linear-gradient(125deg,#eff8ff,#f5f2ff)}
.ts27-paths h2{font-size:clamp(1.55rem,3vw,2.25rem)}
.ts27-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ts27-path-grid a{display:flex;flex-direction:column;gap:8px;min-width:0;border-radius:15px;border:1px solid #cddceb;padding:18px;background:#fff;color:#132749;text-decoration:none;box-shadow:0 5px 16px #12264c12}
.ts27-path-grid a:hover{border-color:#0aaab6;transform:translateY(-2px)}
.ts27-path-grid strong{font-size:1.06rem;color:#112244}
.ts27-path-grid small{font-size:.88rem;line-height:1.45;color:#526278}
.ts27-path-grid span{margin-top:auto;font-size:.88rem;font-weight:800;color:#086b77}
.ts27-page-intro{padding:43px 0 22px;background:linear-gradient(110deg,#0b1938,#183f63);color:#fff}
.ts27-page-intro :is(h1,p){color:#fff}
.ts27-page-intro p{max-width:740px;color:#cde1f4}
.ts27-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:26px 0}
.ts27-tile{border:1px solid #cbdbea;border-radius:15px;padding:22px;background:#fff;min-width:0}
.ts27-tile h2{font-size:1.35rem;margin-bottom:10px}
.ts27-tile ul{margin:8px 0;padding-left:20px}
.ts27-tile li{margin:8px 0}
.ts27-ack{background:#eef7fb;border-left:4px solid #0bb5c1;padding:16px 20px;border-radius:8px;margin:24px 0}
@media(max-width:820px){
 .ts14-site .ts27-header .header-row{min-height:70px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:9px 18px}
 .ts14-site .ts27-header .brand{flex:0 1 auto;width:auto}
 .ts14-site .ts27-header .brand img{width:min(255px,55vw);max-height:65px}
 html.js body.ts14-site header.ts27-header button.nav-toggle{display:inline-flex!important;margin-left:auto}
 html.js body.ts14-site header.ts27-header nav#primary-navigation{display:none!important;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:7px;border-top:1px solid #aac2d8;padding:12px 0 5px}
 html.js body.ts14-site header.ts27-header nav#primary-navigation.is-open{display:flex!important}
 .ts14-site .ts27-header .ts27-nav-item{display:grid;grid-template-columns:1fr 48px;align-items:center}
 .ts14-site .ts27-header #primary-navigation .ts27-nav-link{min-height:46px;justify-content:flex-start;font-size:1rem;padding:11px 14px;white-space:normal}
 .ts14-site .ts27-header #primary-navigation .ts27-expand{min-height:46px;width:48px;font-size:1.25rem}
 .ts14-site .ts27-header #primary-navigation .ts27-submenu{position:static;grid-column:1/-1;min-width:0;max-width:none;border-radius:0 0 7px 7px;box-shadow:none;border:0;border-top:1px solid #708daa55;width:100%;padding:6px 8px}
 .ts14-site .ts27-header .ts27-nav-item:nth-last-child(-n+2) .ts27-submenu{left:0;right:auto}
}
@media(max-width:760px){.ts27-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts27-tiles{grid-template-columns:1fr}}
@media(max-width:460px){.ts27-path-grid{grid-template-columns:1fr}.ts27-paths{padding:23px 0}.ts27-path-grid a{padding:14px}.ts14-site .ts27-header .brand img{width:min(208px,54vw)}}
@media(prefers-reduced-motion:reduce){.ts27-path-grid a:hover{transform:none}}


/* v27.1: logo above a full-width row of individually outlined buttons.
   This is layout-only: all menu destinations, dropdown behaviour and palettes are retained. */
@media screen and (min-width:821px){
 .ts14-site .ts27-header .header-row{
   width:100%;max-width:1560px;min-height:0;
   display:flex;flex-direction:column;flex-wrap:nowrap;
   align-items:center;justify-content:center;
   gap:7px;padding:11px 24px 13px;
 }
 .ts14-site .ts27-header .brand{
   display:flex;justify-content:center;align-items:center;
   width:100%;flex:0 0 auto;
 }
 .ts14-site .ts27-header .brand img{
   width:clamp(245px,25vw,315px);max-width:315px;
   height:auto;max-height:83px;object-fit:contain;
 }
 html.js body.ts14-site header.ts27-header button.nav-toggle{display:none!important}
 html.js body.ts14-site header.ts27-header nav#primary-navigation{
   display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr));
   width:100%;flex:0 0 auto;align-items:stretch;justify-content:stretch;
   gap:6px;padding:3px 0 0;border:0;
 }
 .ts14-site .ts27-header .ts27-nav-item{
   display:flex;align-items:stretch;min-width:0;
 }
 .ts14-site .ts27-header #primary-navigation .ts27-nav-link{
   display:flex;flex:1 1 auto;min-width:0;
   justify-content:center;text-align:center;
   white-space:normal;overflow-wrap:normal;
   font-size:clamp(.78rem,.84vw,.94rem);
   line-height:1.2;min-height:48px;padding:7px 3px 7px 6px;
 }
 .ts14-site .ts27-header #primary-navigation .ts27-expand{
   flex:0 0 27px;width:27px;min-height:48px;
 }
 .ts14-site .ts27-header .ts27-nav-item.ts27-open{z-index:60}
}
/* A genuinely compact two-row layout on ordinary tablets and smaller laptops. */
@media screen and (min-width:821px) and (max-width:1049px){
 html.js body.ts14-site header.ts27-header nav#primary-navigation{
   grid-template-columns:repeat(20,minmax(0,1fr));gap:7px 6px;
 }
 .ts14-site .ts27-header .ts27-nav-item{grid-column:span 4}
 .ts14-site .ts27-header .ts27-nav-item:nth-child(n+6){grid-column:span 5}
 .ts14-site .ts27-header #primary-navigation .ts27-nav-link{
   font-size:.9rem;min-height:46px;padding:7px 5px 7px 9px;
 }
 .ts14-site .ts27-header #primary-navigation .ts27-expand{min-height:46px}
}
/* Larger laptops: one row with intentional wrapping for longer titles. */
@media screen and (min-width:1050px) and (max-width:1399px){
 .ts14-site .ts27-header #primary-navigation .ts27-nav-link{
   font-size:clamp(.79rem,.91vw,.9rem);
 }
 .ts14-site .ts27-header .header-row{padding-left:17px;padding-right:17px}
}
/* Mobile retains the collapsible nine-section navigation with the original logo alongside Menu. */
@media screen and (max-width:820px){
 .ts14-site .ts27-header .header-row{padding-left:18px;padding-right:18px}
 .ts14-site .ts27-header .ts27-nav-item.ts27-open{z-index:60}
}
