/* Neue Startseite (v7.1.1): blaues Duoton-Foto, grosse Headline, Burger-Menue. Eigene Klassen mit Praefix nh-. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/outfit-latin-400.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/outfit-latin-600.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/outfit-latin-800.woff2') format('woff2')}
html:lang(th) body.nh,html:lang(th) .nh-logo,html:lang(th) .nh-foot{font-family:'Outfit','Noto Sans Thai','Leelawadee UI',Thonburi,system-ui,sans-serif}
body.nh{--nhbg:#174a78;--nhink:#fff;--nhsoft:#9ccffb;--nhbtn:#dcc6a3;--nhbtnink:#0f2f52;--g:6.9vw;
  display:block;min-height:100vh;min-height:100dvh;margin:0;background:var(--nhbg);color:var(--nhink);
  font-family:'Outfit','Noto Sans Thai','Leelawadee UI',Thonburi,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:400;line-height:1.4;
  -webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body.nh *{box-sizing:border-box}
.nh-page{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column;
  background:#174a78}
/* Foto: Position aus dem Entwurf, Gesicht rechts, Rand blendet in den Grund */
.nh-photo{--s:max(121vh,76vw);position:absolute;z-index:0;width:var(--s);height:var(--s);
  left:calc(71vw - .408*var(--s));top:calc(46vh - .55*var(--s));background:url("../img/stefan-duo.jpg") center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%);
  pointer-events:none;opacity:0;animation:nh-in 1.4s .1s ease-out forwards}
@keyframes nh-in{to{opacity:1}}
.nh-hwrap{position:absolute;z-index:45;left:0;right:0;top:0;margin:0 auto}
.nh-burger{position:relative;width:48px;height:40px;margin:-8px -6px -8px 0;padding:0;border:0;background:none;cursor:pointer;color:var(--nhsoft);-webkit-tap-highlight-color:transparent}
.nh-burger span{position:absolute;left:6px;right:6px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s ease,opacity .2s ease,top .3s ease}
.nh-burger span:nth-child(1){top:11px}.nh-burger span:nth-child(2){top:19px}.nh-burger span:nth-child(3){top:27px}
.nh-burger[aria-expanded="true"] span:nth-child(1){top:19px;transform:rotate(45deg)}
.nh-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nh-burger[aria-expanded="true"] span:nth-child(3){top:19px;transform:rotate(-45deg)}
.nh-burger:hover{color:#fff}
.nh-logo:focus-visible,.nh-burger:focus-visible,.nh-btn:focus-visible,.nh-menu a:focus-visible,.nh-foot a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:6px}
.nh-main{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:12vh var(--g) 0 var(--g)}
.nh-main h1{margin:0;font-weight:800;font-size:clamp(54px,6.25vw,132px);line-height:.9;letter-spacing:-.028em;color:#fff;
  }
.nh-main h1 span{display:block}
html:lang(th) .nh-main h1{line-height:1.12;letter-spacing:0;font-weight:700}
.nh-btn{display:inline-block;margin-top:clamp(26px,3.6vw,52px);padding:.45em 1.85em;border-radius:999px;background:var(--nhbtn);color:var(--nhbtnink);
  font-weight:700;font-size:clamp(20px,1.875vw,34px);letter-spacing:-.01em;line-height:1.15;text-decoration:none;
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.nh-btn:hover{background:#e8d6b8;transform:translateY(-2px);box-shadow:0 10px 30px rgba(6,26,50,.28)}
.nh-btn:active{transform:none}
html:lang(th) .nh-btn{font-weight:700}
.nh-main h1,.nh-btn{opacity:0;transform:translateY(14px);animation:nh-up .9s ease-out forwards}
.nh-btn{animation-delay:.25s}.nh-main h1{animation-delay:.1s}
@keyframes nh-up{to{opacity:1;transform:none}}
.nh-btn:hover{animation:none;opacity:1;transform:translateY(-2px)}
.nh-foot{position:relative;z-index:2;padding:0 var(--g) calc(clamp(22px,5.5vh,56px) + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;
  font-size:clamp(13px,.97vw,16px);font-weight:400;color:var(--nhsoft)}
.nh-foot a{color:inherit;text-decoration:none}
.nh-foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.nh-foot .sep{display:inline-block;margin:0 .55em;opacity:.8}
.nh-foot .pvlink{display:inline-flex;vertical-align:-2px;opacity:.55}
.nh-foot .pvlink:hover{opacity:1}
/* Vollbild-Menue */
.nh-menu{position:fixed;z-index:40;inset:0;display:flex;flex-direction:column;justify-content:center;padding:96px var(--g) 48px;
  background:rgba(14,46,80,.975);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}
.nh-menu.is-open{opacity:1;visibility:visible;transition:opacity .3s ease}
.nh-menu nav{display:flex;flex-direction:column;gap:clamp(6px,1.6vh,18px)}
.nh-menu nav a{display:block;width:max-content;max-width:100%;font-weight:800;font-size:clamp(40px,8.4vw,92px);line-height:1.05;letter-spacing:-.03em;text-transform:lowercase;
  color:#fff;text-decoration:none;transform:translateY(12px);opacity:0;transition:transform .45s ease,opacity .45s ease,color .2s}
.nh-menu.is-open nav a{transform:none;opacity:1}
.nh-menu.is-open nav a:nth-child(2){transition-delay:.05s}.nh-menu.is-open nav a:nth-child(3){transition-delay:.1s}.nh-menu.is-open nav a:nth-child(4){transition-delay:.15s}
.nh-menu nav a:hover{color:var(--nhsoft)}
.nh-menu nav a[aria-current="page"]{color:var(--nhsoft)}
.nh-menu .nh-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:clamp(28px,6vh,64px);font-size:clamp(16px,1.3vw,20px)}
.nh-menu .langsw2{display:inline-flex;gap:6px}
.nh-menu .langsw2 a{padding:.42em .9em;border:1px solid rgba(156,207,251,.45);border-radius:999px;color:var(--nhsoft);text-decoration:none;font-weight:600;letter-spacing:.02em;transition:background-color .2s,color .2s}
.nh-menu .langsw2 a:hover{background:rgba(156,207,251,.16);color:#fff}
.nh-menu .langsw2 a[aria-current="true"]{background:var(--nhbtn);border-color:var(--nhbtn);color:var(--nhbtnink)}
.nh-menu .search-open{display:inline-flex;align-items:center;gap:.55em;color:var(--nhsoft);text-decoration:none;font-weight:600}
.nh-menu .search-open:hover{color:#fff}
body.nh.menu-open{overflow:hidden}
/* Such-Maske im Farbton der Seite */
body.nh .so{--bg:#123b64;--ink:#fff;--mute:#a9d4ff;--line:#2d618f;--accent:#9ccffb;font-family:'Outfit','Noto Sans Thai',system-ui,sans-serif}
/* Handy */
@media (max-width:760px){
  body.nh{--g:6.7vw}
  .nh-photo{--s:144vw;left:calc(72vw - .408*var(--s));top:calc(69vh - .55*var(--s))}
  .nh-main{justify-content:flex-start;padding-top:calc(36vh - 8px)}
  .nh-main h1{font-size:12.6vw}
  .nh-btn{font-size:clamp(15px,4.4vw,24px);padding:.6em 1.95em}
  .nh-foot{font-size:15px}
}
/* v7.0.59 Kopfzeile = Unterseiten: gleiche Struktur und Masse (wrap + header.top + logo + menu + langsw + search-open), nur Farben der Startseite */
body.nh{--wl:calc(max(0px,(100% - 1180px)/2) + clamp(20px,5vw,56px))}
.nh-hdr{--ink:#fff;--mute:#9ccffb;--line:rgba(156,207,251,.38);--bg:#174a78;font-family:"Roboto Flex",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:300;line-height:1.6;letter-spacing:normal;text-transform:none}
.nh-hdr .menu{display:none}
.nh-hdr .menu .langsw a[aria-current="true"]{background:var(--nhbtn);color:var(--nhbtnink)}
.nh-hdr a:focus-visible{outline-color:#fff}
.nh-foot-l{margin:0}
.nh-foot{padding-left:var(--wl);padding-right:var(--wl)}
.nh-hdr .nh-burger{order:2;flex:none;width:42px;height:42px;margin:0 0 0 auto}
.nh-burger span{left:9px;right:9px}
.nh-burger span:nth-child(1){top:12px}.nh-burger span:nth-child(2){top:20px}.nh-burger span:nth-child(3){top:28px}
.nh-burger[aria-expanded="true"] span:nth-child(1){top:20px;transform:rotate(45deg)}
.nh-burger[aria-expanded="true"] span:nth-child(3){top:20px;transform:rotate(-45deg)}
@media (min-width:761px){
  .nh-hdr .menu{display:flex}
  .nh-burger{display:none}
  .nh-menu{display:none}
}
@media (max-width:760px){
  .nh-hdr .search-open{display:none}
}
@media (max-width:900px){
  .nh-main{padding-left:var(--wl);padding-right:var(--wl)}
}
@media (min-width:901px){
  .nh-photo{--s:max(133vh,84vw);left:calc(72.5vw - .39*var(--s));top:calc(48.5vh - .61*var(--s))}
  .nh-main{padding-left:var(--wl);padding-top:calc(7.4vh + 100px)}
}
@media (max-height:520px) and (orientation:landscape){
  .nh-main{padding-top:84px;padding-bottom:20px}.nh-main h1{font-size:clamp(40px,8vh,80px)}.nh-btn{margin-top:18px}
  .nh-menu{justify-content:flex-start;overflow:auto;padding-top:76px}.nh-menu nav a{font-size:clamp(30px,9vh,56px)}}
@media (prefers-reduced-motion:reduce){
  .nh-photo,.nh-main h1,.nh-btn{animation:none;opacity:1;transform:none}
  .nh-menu,.nh-menu nav a,.nh-burger span{transition:none}
}

/* v7.1.2 Headline in e-trace-Schrift (nur DE/EN; Thai bleibt Outfit), Grossbuchstaben, Kontur = fett */
@font-face{font-family:'e-trace';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/e-trace-regular.woff2?v=14') format('woff2')}
html:lang(de) .nh-main h1,html:lang(en) .nh-main h1{font-family:'e-trace','Outfit',system-ui,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(60px,8.6vw,165px);line-height:1.08;letter-spacing:.005em;
  -webkit-text-stroke:.022em #fff;paint-order:stroke fill;stroke-linejoin:round}
@media (max-width:760px){html:lang(de) .nh-main h1,html:lang(en) .nh-main h1{font-size:12vw}}
@media (max-height:520px) and (orientation:landscape){html:lang(de) .nh-main h1,html:lang(en) .nh-main h1{font-size:clamp(40px,8vh,80px)}}
/* v7.1.4 Startseite ist eine feste Ansicht ohne eigene Scrollleiste */
html{overflow-y:auto}

/* v7.0.57: ersetzt Inline-Styles der Startseite (CSP-faehig) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* v7.0.58 Handy-Menue in e-trace-Schrift, Grossbuchstaben, Kontur = fett (Thai bleibt Outfit) */
html:lang(de) .nh-menu nav a,html:lang(en) .nh-menu nav a{font-family:'e-trace','Outfit',system-ui,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(36px,min(13vw,10.5vh),92px);line-height:1.12;letter-spacing:.005em;-webkit-text-stroke:.022em currentColor;paint-order:stroke fill;stroke-linejoin:round}
.nh-menu nav{gap:clamp(14px,4vh,40px)}
.nh-menu{overflow-y:auto}
@media (max-height:520px) and (orientation:landscape){
  html:lang(de) .nh-menu nav a,html:lang(en) .nh-menu nav a{font-size:clamp(28px,9vh,52px)}
  .nh-menu nav{gap:8px}
}

html:has(body.nh){background:#174a78}
/* weicher Rand rechts: dort liegt auf Windows der reservierte Platz der Scrollleiste */
.nh-page::after{content:"";position:absolute;z-index:1;top:0;bottom:0;right:0;width:64px;background:linear-gradient(90deg,rgba(23,74,120,0),#174a78);pointer-events:none}
