/* Homepage styles; shared pages keep their existing styles. */
.tau-home-2026 { background:#f3f1eb; color:#27241f; --nh-paper:#f3f1eb; --nh-wine:#74163d; --nh-line:#d8d3c8; --nh-muted:#6d685f; --nh-header-height:77px; }
.tau-home-2026 .site-header { background:rgba(243,241,235,.96); }
.tau-home-2026 .site-header .site-header__inner,.tau-home-2026 .site-footer .site-footer__inner { width:min(1280px,calc(100% - 80px)); }
.tau-home-2026 .site-account-menu>summary { min-width:44px; }
.nh-home { overflow:clip; }
.nh-home *, .nh-home *::before, .nh-home *::after { box-sizing:border-box; }
.nh-inner { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.nh-home a { color:inherit; }
.nh-home :is(a,button,[tabindex]):focus-visible { outline:2px solid var(--nh-wine); outline-offset:5px; }
.nh-home button { font:inherit; color:inherit; border-radius:0; }
.nh-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:28px; align-items:center; padding-block:38px 48px; min-height:calc(100vh - var(--nh-header-height)); min-height:calc(100svh - var(--nh-header-height)); }
.nh-hero__copy { position:relative; z-index:2; min-width:0; }
.nh-hero h1 { font-size:clamp(54px,6.5vw,94px); font-weight:530; letter-spacing:-.065em; line-height:1.04; margin:0; }
.nh-hero h1>span { display:block; overflow:hidden; padding-bottom:.1em; margin-bottom:-.06em; white-space:nowrap; }
.nh-hero h1>span:last-child { color:var(--nh-wine); }
.nh-hero h1>span>span { display:block; animation:nh-title-in .8s cubic-bezier(.2,.7,.2,1) both; animation-delay:calc(var(--line)*80ms); }
.tau-intro-pending .nh-hero h1>span>span,.tau-transitioning .nh-hero h1>span>span { animation-play-state:paused; }
.nh-hero__lead { max-width:410px; margin:26px 0; font-size:18px; line-height:1.6; color:var(--nh-muted); }
.nh-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; }
.nh-home .nh-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:52px; padding:13px 20px; border:1px solid var(--nh-wine); background:var(--nh-wine); color:#fff; border-radius:2px; font-size:15px; font-weight:600; line-height:1.45; text-decoration:none; transition:background .2s; }
.nh-home .nh-button:hover { background:#5b0e2e; }
.nh-button__dot { width:7px; height:7px; flex:none; background:currentColor; border-radius:50%; transition:transform .3s; }
.nh-button:hover .nh-button__dot { transform:scale(1.4); }
.nh-home .nh-text-link { display:inline-flex; align-items:center; width:fit-content; min-height:44px; padding:8px 0; border-bottom:1px solid #aaa396; font-size:15px; font-weight:550; line-height:1.4; text-decoration:none; }
.nh-home .nh-text-link:hover { border-color:var(--nh-wine); color:var(--nh-wine); }
.nh-art { position:relative; min-width:0; height:clamp(440px,41vw,560px); display:flex; flex-direction:column; }
.nh-art__viewport { position:relative; flex:1 1 auto; min-height:0; width:100%; touch-action:pan-y; cursor:grab; isolation:isolate; }
.nh-art__viewport.is-dragging { cursor:grabbing; }
.nh-art__viewport[data-render-mode=lite] { cursor:default; }
.nh-art__viewport canvas { position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .2s; }
.nh-art__viewport.is-ready canvas { opacity:1; }
.nh-art__halo { position:absolute; width:76%; height:26%; left:12%; bottom:6%; border-radius:50%; background:radial-gradient(ellipse,#6b4a4152,transparent 68%); transform:scaleY(.35); pointer-events:none; }
.nh-art__fallback { position:absolute; width:100%; height:100%; inset:0; transition:opacity .4s; pointer-events:none; }
.nh-art__viewport.is-ready .nh-art__fallback { opacity:0; visibility:hidden; transition:none; }
.nh-discover { padding-block:76px 80px; border-top:1px solid var(--nh-line); }
.nh-section-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:20px 32px; margin-bottom:38px; }
.nh-home h2 { min-width:0; max-width:100%; font-size:clamp(36px,4.2vw,60px); font-weight:500; letter-spacing:-.05em; line-height:1.12; margin:0; overflow-wrap:break-word; }
.nh-path { display:grid; grid-template-columns:minmax(0,1fr) 160px 44px; align-items:center; gap:24px; padding:28px 0; border-top:1px solid var(--nh-line); text-decoration:none; }
.nh-path:last-child { border-bottom:1px solid var(--nh-line); }
.nh-path__copy { min-width:0; }
.nh-path h3 { font-size:clamp(24px,2.3vw,32px); font-weight:500; line-height:1.25; letter-spacing:-.03em; margin:0; transition:color .2s; }
.nh-path:hover h3 { color:var(--nh-wine); }
.nh-path p { color:var(--nh-muted); font-size:16px; line-height:1.55; margin:9px 0 0; }
.nh-path__open { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--nh-line); border-radius:50%; font-size:25px; font-weight:300; transition:background .25s,color .25s; }
.nh-path:hover .nh-path__open { background:var(--nh-wine); color:white; }
.nh-path__object { position:relative; height:128px; perspective:600px; pointer-events:none; }
.nh-mini-object { display:block; width:100%; height:100%; transform:rotateY(-6deg); transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.nh-path:hover .nh-mini-object { transform:translateY(-4px) rotateY(0); }
.nh-technologies { padding:70px 0 52px; background:#e9e6dd; overflow:hidden; }
.nh-tech-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.65fr); align-items:start; gap:24px 60px; }
.nh-tech-head>p { margin:4px 0 0; color:var(--nh-muted); max-width:350px; justify-self:end; font-size:17px; line-height:1.6; }
.nh-tech-window { width:100%; overflow-x:auto; margin-top:38px; scrollbar-width:thin; scrollbar-color:#b9b1a0 transparent; overscroll-behavior-x:contain; }
.nh-tech-window:focus-visible { outline-offset:-3px; }
.nh-tech-window.is-animated { overflow:hidden; }
.nh-tech-track { display:flex; align-items:stretch; gap:20px; width:max-content; padding-inline:max(40px,calc((100% - 1280px)/2)); }
.nh-tech-track.is-looping { animation:nh-tech-scroll var(--nh-track-duration,40s) linear infinite; }
.nh-tech-track.is-outside,.is-document-hidden .nh-tech-track,.is-home-covered .nh-tech-track { animation-play-state:paused; }
@keyframes nh-tech-scroll { to { transform:translateX(var(--nh-track-distance)); } }
.nh-tech-card { display:flex; flex-direction:column; flex:0 0 240px; width:240px; min-width:0; margin:0; padding:0; user-select:none; pointer-events:none; }
.nh-tech-card>div { position:relative; height:154px; flex:none; overflow:hidden; background:#f7f6f0; border:1px solid #dbd7cc; }
.nh-tech-card img { position:absolute; inset:12%; display:block; width:76%; height:76%; min-width:0; min-height:0; max-width:76%; max-height:76%; object-fit:contain; mix-blend-mode:multiply; }
.nh-tech-card.is-cover img { inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:cover; mix-blend-mode:normal; }
.nh-tech-card>div.is-image-failed img { display:none; }
.nh-tech-card figcaption { display:grid; align-content:start; gap:5px; min-height:74px; margin:0; padding:14px 0 4px; color:#36312b; overflow-wrap:anywhere; }
.nh-tech-card figcaption span { color:#615b51; font-size:11px; line-height:1.4; }
.nh-tech-card figcaption strong { font-size:14px; line-height:1.4; font-weight:550; }
.is-motion-paused .nh-tech-window,.is-gallery-focused .nh-tech-window { overflow-x:auto; }
.is-motion-paused .nh-tech-track,.is-gallery-focused .nh-tech-track { animation:none; transform:none; }
.is-motion-paused .nh-tech-card[aria-hidden=true],.is-gallery-focused .nh-tech-card[aria-hidden=true] { display:none; }
.nh-courses { padding-block:80px; }
.nh-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.nh-course-grid--1 { grid-template-columns:minmax(0,1fr); max-width:560px; }
.nh-course-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nh-course { display:flex; flex-direction:column; min-width:0; height:100%; text-decoration:none; }
.nh-course__image { position:relative; flex:none; width:100%; aspect-ratio:1.5; background:#e4dfd3; overflow:hidden; }
.nh-course__image img { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.nh-course:hover img { transform:scale(1.035); }
.nh-course__image.is-image-failed img { display:none; }
.nh-course__fallback { position:absolute; right:20px; bottom:-20px; font-size:120px; font-weight:500; line-height:1; letter-spacing:-.08em; color:#b8ad9e; }
.nh-course h3 { margin:20px 0; font-size:clamp(21px,1.8vw,25px); font-weight:550; line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
.nh-course__action { display:flex; justify-content:space-between; gap:20px; align-items:center; min-height:54px; margin-top:auto; padding:14px 0; border-top:1px solid var(--nh-line); font-size:14px; line-height:1.4; transition:color .2s,border-color .2s; }
.nh-course:hover .nh-course__action { color:var(--nh-wine); border-color:var(--nh-wine); }
.nh-course__action>span { font-size:22px; font-weight:300; line-height:1; }
.nh-finale { position:relative; background:#74163d; color:#f3f1eb; padding:70px 0; overflow:hidden; }
.nh-finale h2 { max-width:100%; font-size:clamp(42px,5.2vw,76px); color:#f3f1eb; }
.nh-finale__bottom { display:flex; align-items:center; justify-content:space-between; gap:24px 40px; margin-top:28px; }
.nh-finale__bottom p { margin:0; font-size:17px; line-height:1.6; max-width:440px; color:#e0cbd1; }
.nh-home .nh-button--light { color:#74163d; background:#f3f1eb; border-color:#f3f1eb; }
.nh-home .nh-button--light:hover { background:#e4dfd4; }
.nh-home.has-home-motion [data-home-reveal] { transition:opacity .6s ease,translate .7s cubic-bezier(.2,.7,.2,1); }
.nh-home.has-home-motion [data-home-reveal]:not(.is-revealed) { opacity:0; translate:0 18px; }
@keyframes nh-title-in { from { transform:translateY(110%); } to { transform:translateY(0); } }
@media(max-width:1100px) {
  .nh-inner,.tau-home-2026 .site-header .site-header__inner,.tau-home-2026 .site-footer .site-footer__inner { width:calc(100% - 48px); }
  .nh-hero { gap:24px; padding-block:34px 40px; }
  .nh-hero h1 { font-size:clamp(50px,6.4vw,78px); }
  .nh-hero__lead { font-size:18px; }
  .nh-art { height:440px; }
  .nh-path { grid-template-columns:minmax(0,1fr) 120px 40px; gap:20px; }
  .nh-path__object { transform:scale(.8); }
  .nh-tech-head { gap:24px 36px; }
  .nh-course-grid { gap:20px; }
  .nh-tech-track { padding-inline:24px; }
}
@media(max-width:900px) {
  .nh-hero { grid-template-columns:minmax(0,1fr); gap:8px; padding-block:32px; }
  .nh-hero h1 { font-size:clamp(48px,8.4vw,72px); }
  .nh-hero__lead { max-width:480px; }
  .nh-art { width:min(100%,620px); height:390px; margin-inline:auto; }
  .nh-discover { padding-block:56px; }
  .nh-home h2 { font-size:clamp(34px,5vw,46px); }
  .nh-course-grid { gap:24px 20px; }
  .nh-tech-head { grid-template-columns:minmax(0,1fr); gap:16px; }
  .nh-tech-head>p { justify-self:start; max-width:500px; margin:0; }
  .nh-courses { padding-block:60px; }
}
@media(max-width:760px) { .nh-course-grid { grid-template-columns:minmax(0,1fr); gap:32px; max-width:none; } }
@media(max-width:700px) { .tau-home-2026 { --nh-header-height:67px; } }
@media(max-width:600px) {
  .nh-inner,.tau-home-2026 .site-header .site-header__inner,.tau-home-2026 .site-footer .site-footer__inner { width:calc(100% - 32px); }
  .nh-hero { padding-block:28px 30px; gap:4px; }
  .nh-hero h1 { font-size:clamp(36px,11.3vw,62px); letter-spacing:-.055em; line-height:1.08; }
  .nh-hero__lead { font-size:17px; margin:22px 0; line-height:1.6; }
  .nh-actions { gap:10px 20px; }
  .nh-home .nh-button { min-height:50px; font-size:15px; padding:12px 16px; gap:20px; }
  .nh-home .nh-text-link { font-size:15px; }
  .nh-art { height:330px; margin-top:8px; }
  .nh-section-head { margin-bottom:28px; align-items:flex-start; }
  .nh-home h2 { font-size:clamp(32px,8.2vw,44px); letter-spacing:-.04em; }
  .nh-path { grid-template-columns:minmax(0,1fr) 80px; gap:16px; padding:24px 0; }
  .nh-path__object { height:80px; transform:none; }
  .nh-path h3 { font-size:24px; }
  .nh-path p { font-size:16px; }
  .nh-path__open { display:none; }
  .nh-technologies { padding:50px 0 36px; }
  .nh-tech-head>p { font-size:16px; }
  .nh-tech-window { margin-top:28px; }
  .nh-tech-track { padding-inline:16px; gap:16px; }
  .nh-tech-card { width:216px; flex-basis:216px; }
  .nh-tech-card>div { height:144px; }
  .nh-tech-card figcaption span { font-size:12px; }
  .nh-course-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .nh-course__image { aspect-ratio:1.6; }
  .nh-course h3 { font-size:23px; }
  .nh-courses { padding-block:52px; }
  .nh-finale { padding:52px 0; }
  .nh-finale h2 { font-size:clamp(38px,10vw,54px); }
  .nh-finale__bottom { flex-direction:column; align-items:flex-start; gap:24px; }
  .nh-finale__bottom p { font-size:17px; }
}
@media(max-width:380px) {
  .tau-home-2026 .site-brand__platform { display:none; }
  .tau-home-2026 .site-header .site-header__inner { gap:8px; }
  .tau-home-2026 .site-header__controls { gap:2px; }
  .tau-home-2026 .site-language-menu>summary { min-width:44px; }
  .nh-actions { align-items:stretch; }
  .nh-actions .nh-button { width:100%; }
  .nh-actions .nh-text-link { justify-content:center; width:100%; }
  .nh-path { grid-template-columns:minmax(0,1fr) 64px; gap:14px; }
  .nh-path__object { height:64px; }
  .nh-path h3 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .nh-home *, .nh-home *::before,.nh-home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .nh-home.has-home-motion [data-home-reveal]:not(.is-revealed) { opacity:1; translate:none; }
  .nh-tech-window.is-animated { overflow-x:auto; }
  .nh-tech-card[aria-hidden=true] { display:none; }
}
