:root{
  --color-dark:#1f3d4b;
  --color-bright:#ff6601;
  --color-accent:#028090;
  --color-bg:#018090;
  --color-text:#ffffff;
  --color-muted:#ffffff;
  --font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-heading:Georgia,"Times New Roman",serif;
  --radius:0.5rem;

  --header-h:4.5rem;
  --glass-bg:rgba(255,255,255,0.06);
  --glass-border:rgba(255,255,255,0.14);
  --muted-70:rgba(255,255,255,0.7);
  --muted-50:rgba(255,255,255,0.5);
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  color:var(--color-text);
  background:linear-gradient(180deg,var(--color-dark) 0%,var(--color-bg) 100%);
  min-height:100vh;
  line-height:1.5;
}
img{max-width:100%;display:block;}

.tn-skip{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;height:1px;
  overflow:hidden;
}
.tn-skip:focus{
  position:fixed;
  left:1rem;top:1rem;
  width:auto;height:auto;
  background:var(--color-bright);
  color:var(--color-dark);
  padding:.6rem 1rem;
  border-radius:var(--radius);
  z-index:1000;
}

/* ===== Header ===== */
.tn-header{
  position:sticky;
  top:0;
  z-index:500;
  background:rgba(31,61,75,0.72);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--glass-border);
}
.tn-header__inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:0.75rem 1.25rem;
  min-height:var(--header-h);
  flex-wrap:wrap;
  position:relative;
}

.tn-logo{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--color-text);
  text-decoration:none;
  font-family:var(--font-heading);
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:.02em;
  max-height:2.75rem;
}
.tn-logo img{max-height:2.75rem;width:auto;}

/* ===== Nav toggle (mobile) ===== */
.tn-nav__toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.tn-nav__burger{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:2.75rem;
  height:2.75rem;
  padding:.6rem;
  margin-left:auto;
  cursor:pointer;
  order:2;
}
.tn-nav__burger span{
  display:block;
  height:2px;
  width:100%;
  background:var(--color-text);
  border-radius:2px;
  transition:transform .25s ease,opacity .25s ease;
}

/* ===== Nav ===== */
.tn-nav{
  order:3;
  width:100%;
  flex-basis:100%;
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.tn-nav__toggle:checked ~ .tn-nav{
  max-height:80vh;
  overflow-y:auto;
}
.tn-nav__list{
  list-style:none;
  margin:0;
  padding:0.5rem 0 1rem;
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.tn-nav__item{
  position:relative;
}
.tn-nav__link{
  display:block;
  padding:.75rem .5rem;
  color:var(--muted-70);
  text-decoration:none;
  font-size:1rem;
  border-radius:var(--radius);
  min-height:44px;
  transition:color .2s ease,background .2s ease;
}
.tn-nav__link:hover,
.tn-nav__link:focus{
  color:var(--color-text);
  background:var(--glass-bg);
}
.tn-nav__link--active{
  color:var(--color-bright);
  font-weight:600;
}

.tn-nav__item--has-children > .tn-nav__link::after{
  content:"▾";
  display:inline-block;
  margin-left:.4em;
  font-size:.75em;
  vertical-align:middle;
}
.tn-nav__submenu{
  list-style:none;
  margin:0;
  padding:0 0 0 1rem;
  display:none;
  flex-direction:column;
  gap:.15rem;
}
.tn-nav__item--has-children:hover > .tn-nav__submenu,
.tn-nav__item--has-children:focus-within > .tn-nav__submenu{
  display:flex;
}
.tn-nav__submenu .tn-nav__link{
  font-size:.92rem;
  color:var(--muted-50);
}

/* ===== Header side (lang + ctas) ===== */
.tn-header__side{
  order:4;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.75rem;
  padding-top:.5rem;
}
.tn-nav__toggle:checked ~ .tn-header__side{
  /* keep visible; nothing special needed */
}

.tn-lang{
  list-style:none;
  display:flex;
  gap:.5rem;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}
.tn-lang__link{
  display:inline-block;
  padding:.4rem .6rem;
  color:var(--muted-70);
  text-decoration:none;
  font-size:.85rem;
  border-radius:var(--radius);
  border:1px solid transparent;
  min-height:44px;
  display:flex;
  align-items:center;
}
.tn-lang__link:hover{
  color:var(--color-text);
  border-color:var(--glass-border);
}
.tn-lang__link--active{
  color:var(--color-bright);
  border-color:var(--color-bright);
}

.tn-header__ctas{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

/* ===== CTA buttons (shared header/footer) ===== */
.tn-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 1.3rem;
  border-radius:var(--radius);
  text-decoration:none;
  font-weight:600;
  font-size:.95rem;
  min-height:44px;
  border:1px solid transparent;
  transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;
  white-space:nowrap;
}
.tn-cta--primary{
  background:var(--color-bright);
  color:var(--color-dark);
}
.tn-cta--primary:hover{
  transform:translateY(-1px);
  background:#ff7a26;
}
.tn-cta--secondary{
  background:var(--glass-bg);
  color:var(--color-text);
  border-color:var(--glass-border);
  backdrop-filter:blur(6px);
}
.tn-cta--secondary:hover{
  background:rgba(255,255,255,0.12);
  transform:translateY(-1px);
}

/* ===== Breadcrumbs ===== */
.tn-breadcrumbs-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0.75rem 1.25rem 0;
}
.tn-breadcrumbs{
  font-size:.85rem;
}
.tn-breadcrumbs ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:0;
  padding:0;
  align-items:center;
}
.tn-breadcrumbs__item{
  display:flex;
  align-items:center;
  gap:.35rem;
  color:var(--muted-50);
}
.tn-breadcrumbs__item:not(:last-child)::after{
  content:"/";
  margin-left:.35rem;
  color:var(--muted-50);
}
.tn-breadcrumbs__link{
  color:var(--muted-70);
  text-decoration:none;
}
.tn-breadcrumbs__link:hover{
  color:var(--color-text);
  text-decoration:underline;
}
.tn-breadcrumbs [aria-current="page"]{
  color:var(--color-text);
}

/* ===== Footer ===== */
.tn-footer{
  border-top:1px solid var(--glass-border);
  background:rgba(31,61,75,0.6);
  margin-top:3rem;
}
.tn-footer__inner{
  max-width:1280px;
  margin:0 auto;
  padding:2.5rem 1.25rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.25rem;
  text-align:center;
}
.tn-logo--footer{
  font-size:1.2rem;
  opacity:.9;
}
.tn-footer__ctas{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  justify-content:center;
}
.tn-footer__note{
  color:var(--muted-50);
  font-size:.85rem;
  margin:0;
}

/* ===== Larger screens ===== */
@media (min-width:768px){
  .tn-header__inner{
    flex-wrap:nowrap;
    padding:0.9rem 2rem;
  }
  .tn-nav__burger{
    display:none;
  }
  .tn-nav{
    order:2;
    width:auto;
    flex-basis:auto;
    max-height:none;
    overflow:visible;
    margin-left:1rem;
  }
  .tn-nav__list{
    flex-direction:row;
    align-items:center;
    padding:0;
    gap:.25rem;
  }
  .tn-nav__item--has-children{
    position:relative;
  }
  .tn-nav__submenu{
    position:absolute;
    top:100%;
    left:0;
    background:rgba(31,61,75,0.95);
    backdrop-filter:blur(10px);
    border:1px solid var(--glass-border);
    border-radius:var(--radius);
    padding:.5rem;
    min-width:180px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    z-index:600;
  }
  .tn-header__side{
    order:3;
    width:auto;
    padding-top:0;
    margin-left:auto;
  }
  .tn-breadcrumbs-wrap{
    padding:1rem 2rem 0;
  }
  .tn-footer__inner{
    flex-direction:row;
    justify-content:space-between;
    text-align:left;
  }
}

@media (min-width:1280px){
  .tn-header__inner,
  .tn-breadcrumbs-wrap,
  .tn-footer__inner{
    padding-left:2.5rem;
    padding-right:2.5rem;
  }
}