:root{
  --red:#e51b23;
  --black:#0a0a0a;
  --white:#fff;
  --paper:#f5f2ed;
  --line:2px solid var(--black);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--black);font-family:Arial,Helvetica,sans-serif;line-height:1.35}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;border:2px solid #000;z-index:100}.skip-link:focus{left:12px;top:12px}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:110px 1fr;align-items:stretch;background:rgba(245,242,237,.96);border-bottom:var(--line);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;justify-content:center;border-right:var(--line);padding:7px}.brand img{width:72px;height:80px;object-fit:contain}
.main-nav{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch}.main-nav a{display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;font-size:.82rem;border-right:var(--line);padding:12px}.main-nav a:hover,.main-nav a:focus{background:#fff}.main-nav .nav-cta{background:var(--red);color:#fff;border-right:0}
.menu-btn,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);grid-template-rows:auto 250px auto;min-height:calc(100vh - 96px);border-bottom:var(--line)}
.hero-copy{padding:6vw 5vw 4vw;border-right:var(--line)}
.eyebrow,.kicker{font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4.5rem,10vw,10rem);line-height:.78;letter-spacing:-.075em;margin-bottom:30px;text-transform:uppercase}h1 span,h2 span{color:var(--red)}
.hero-lead{font-size:clamp(1.1rem,2vw,1.55rem);max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;padding:14px 18px;border:2px solid #000;text-decoration:none;font-weight:900;font-size:.82rem}.button.primary{background:var(--red);color:#fff}.button.ghost{background:transparent}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 #000}
.hero-mark{position:relative;overflow:hidden;background:#fff}.red-block{position:absolute;inset:0 0 45% 0;background:var(--red)}.stamp{position:absolute;bottom:18px;left:20px;font-size:clamp(2.8rem,6vw,6.6rem);line-height:.72;letter-spacing:-.07em;font-weight:900;mix-blend-mode:multiply}
.hero-panorama{grid-column:1/-1;background-image:linear-gradient(90deg,rgba(229,27,35,.88),rgba(229,27,35,.1)),url('assets/bolzano-panorama.jpg');background-size:cover;background-position:center 58%;filter:grayscale(1) contrast(1.05);border-top:var(--line);border-bottom:var(--line)}
.hero-note{grid-column:1/-1;margin:0;padding:11px 18px;font-weight:900;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;background:#fff}
.section-grid{display:grid;grid-template-columns:110px minmax(0,1.3fr) minmax(280px,.7fr);border-bottom:var(--line)}.section-number{padding:24px 12px;border-right:var(--line);font-weight:900;font-size:2rem}.section-grid>div:nth-child(2){padding:6vw 5vw;border-right:var(--line)}.section-grid>.manifesto-copy,.section-intro{padding:6vw 3.5vw;margin:0}
h2{font-size:clamp(3rem,6.5vw,7.2rem);line-height:.86;letter-spacing:-.065em;text-transform:uppercase;margin-bottom:0}.manifesto-copy p,.section-intro{font-size:1.12rem}.manifesto-copy strong{background:var(--red);color:#fff;padding:2px 5px}
.heading-row{border-top:0}.services{background:#fff}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--line)}.service-card{min-height:270px;padding:28px;border-right:var(--line);border-top:var(--line)}.service-card:nth-child(3n){border-right:0}.service-card>span{display:block;font-weight:900;color:var(--red);margin-bottom:70px}.service-card h3{font-size:1.6rem;letter-spacing:-.03em}.service-card p{font-size:1rem;max-width:34ch}.service-card:hover{background:var(--red);color:#fff}.service-card:hover>span{color:#fff}
.about{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);border-bottom:var(--line)}.about-art{background:#fff;border-right:var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:760px}.about-art img{width:min(78%,460px);filter:contrast(1.08)}.about-copy{padding:7vw 5vw}.big-copy{font-size:clamp(1.5rem,2.4vw,2.35rem);max-width:30ch;margin-top:34px}.about-copy>p:not(.kicker):not(.big-copy):not(.cert-badge){max-width:68ch;font-size:1.08rem}.facts{display:grid;grid-template-columns:repeat(3,1fr);border:var(--line);margin-top:40px}.facts div{padding:22px;border-right:var(--line)}.facts div:last-child{border-right:0}.facts strong{display:block;color:var(--red);font-size:2.5rem}.facts span{font-weight:900;font-size:.7rem}.cert-badge{display:inline-block;margin-top:20px;background:var(--red);color:#fff;font-weight:900;padding:10px 12px;font-size:.72rem;letter-spacing:.05em}
.social{background:var(--black);color:#fff}.inverse{border-color:#fff}.inverse .section-number,.inverse>div:nth-child(2){border-color:#fff}.inverse h2 span{color:var(--red)}.social-links{display:grid;grid-template-columns:1fr 1fr}.social-links a{padding:48px 5vw;border-top:2px solid #fff;border-right:2px solid #fff;text-decoration:none}.social-links a:last-child{border-right:0}.social-links span{display:block;font-size:.8rem;font-weight:900;letter-spacing:.1em;margin-bottom:16px}.social-links strong{font-size:clamp(2rem,4vw,4.6rem);letter-spacing:-.05em}.social-links a:hover{background:var(--red)}
.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);border-bottom:var(--line)}.contact>div{padding:7vw 5vw}.contact>div:first-child{border-right:var(--line)}.contact-box{background:var(--red);color:#fff}.contact-box a{display:block;font-size:clamp(2rem,4vw,4rem);font-weight:900;letter-spacing:-.05em;text-decoration:none;margin-bottom:18px}.contact-box p{font-size:1.1rem}.contact-note{margin-top:70px;padding-top:18px;border-top:2px solid #fff;font-size:.85rem!important;font-weight:700}
.site-footer{display:grid;grid-template-columns:1.2fr 1fr .7fr .6fr;background:#fff}.site-footer>div{padding:20px;border-right:var(--line);font-size:.78rem}.site-footer>div:last-child{border-right:0}.site-footer a{font-weight:900;text-decoration:none}
.policy{max-width:1100px;margin:0 auto;padding:60px 24px 100px}.policy h1{font-size:clamp(3rem,7vw,6rem);line-height:.85}.policy h2{font-size:2rem;letter-spacing:-.03em;line-height:1}.policy .notice{background:#fff3cd;border:2px solid #000;padding:16px;font-weight:800}.policy p,.policy li{max-width:75ch}.back{display:inline-block;margin:18px 24px;font-weight:900}
@media (max-width:900px){
  .site-header{grid-template-columns:92px 1fr}.main-nav{display:none}.menu-btn{display:block;border:0;border-left:var(--line);background:var(--red);color:#fff;font-weight:900;font-size:1rem}.mobile-nav{position:fixed;inset:96px 0 auto 0;z-index:45;background:#fff;border-bottom:var(--line)}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:18px;border-bottom:var(--line);font-weight:900;text-decoration:none}
  .hero{grid-template-columns:1fr;grid-template-rows:auto 190px 180px auto;min-height:auto}.hero-copy{border-right:0}.hero-mark{border-top:var(--line)}.hero-panorama{grid-column:1}.hero-note{grid-column:1}.stamp{font-size:3.7rem}
  .section-grid{grid-template-columns:70px 1fr}.section-grid>.manifesto-copy,.section-intro{grid-column:2;padding:0 5vw 6vw}.section-grid>div:nth-child(2){border-right:0}.section-number{grid-row:1/3}.service-list{grid-template-columns:1fr 1fr}.service-card:nth-child(3n){border-right:var(--line)}.service-card:nth-child(2n){border-right:0}
  .about{grid-template-columns:1fr}.about-art{min-height:500px;border-right:0;border-bottom:var(--line)}.social-links,.contact{grid-template-columns:1fr}.social-links a{border-right:0}.social-links a:last-child{border-top:2px solid #fff}.contact>div:first-child{border-right:0;border-bottom:var(--line)}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div{border-bottom:var(--line)}
}
@media (max-width:560px){
  h1{font-size:3.9rem}.hero-copy{padding:48px 20px}.section-grid{grid-template-columns:52px 1fr}.section-grid>div:nth-child(2),.section-grid>.manifesto-copy,.section-intro{padding-left:22px;padding-right:22px}.section-number{font-size:1.2rem}.service-list{grid-template-columns:1fr}.service-card,.service-card:nth-child(3n),.service-card:nth-child(2n){border-right:0}.service-card{min-height:220px}.service-card>span{margin-bottom:45px}.about-copy,.contact>div{padding:54px 22px}.facts{grid-template-columns:1fr}.facts div{border-right:0;border-bottom:var(--line)}.facts div:last-child{border-bottom:0}.social-links a{padding:34px 22px}.site-footer{grid-template-columns:1fr}.site-footer>div{border-right:0}.hero-actions{display:grid}.button{text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none;box-shadow:none}}

/* V1 — refinement layer: mountain watermark, Stefano image, IT/DE/BZ language system */
main{position:relative;isolation:isolate}
main>section{position:relative;z-index:1}
.page-watermark{
  position:absolute;
  z-index:0;
  top:118px;
  left:0;
  width:100%;
  height:auto;
  display:block;
  opacity:.055;
  filter:grayscale(1) contrast(1.18) brightness(.9);
  mix-blend-mode:multiply;
  pointer-events:none;
  user-select:none;
}

.site-header{grid-template-columns:110px minmax(0,1fr) auto}
.brand img{display:block}
.main-nav a{flex-direction:column;gap:3px;line-height:1.03;text-align:center}
.main-nav a>span{display:block}
.main-nav a>small{display:block;font-size:.61rem;font-weight:700;letter-spacing:.04em;text-transform:none;opacity:.58}
.main-nav .nav-cta>small{opacity:.8}
.language-switch{display:grid;grid-template-columns:repeat(3,42px);align-self:stretch;background:#fff}
.language-switch a{display:flex;align-items:center;justify-content:center;border-left:var(--line);text-decoration:none;font-weight:900;font-size:.72rem;letter-spacing:.06em}
.language-switch a:hover,.language-switch a:focus{background:#fff;color:var(--red)}
.language-switch a.active{background:var(--black);color:#fff}
.lang-bz .language-switch a.active{background:var(--red)}

.hero{grid-template-rows:1fr auto;min-height:calc(100vh - 96px);background:transparent}
.hero-copy{background:rgba(245,242,237,.74);backdrop-filter:blur(.7px)}
.hero-mark{background:rgba(255,255,255,.88)}
.hero-panorama{display:none!important}
.hero-note{grid-column:1/-1;background:rgba(255,255,255,.9)}
.hero-lead .language-trace{display:inline-block;margin-top:6px;font-size:.92em;font-weight:700;color:#555}
.button{display:inline-flex;flex-direction:column;gap:1px;min-width:188px}
.button small{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:none;opacity:.75}
.button.primary small{opacity:.9}
.kicker span{color:var(--red);font-weight:800;letter-spacing:.06em}
.service-card h3 small{display:block;margin-top:4px;font-size:.66rem;line-height:1.2;letter-spacing:.08em;text-transform:none;color:#777;font-weight:700}
.service-card:hover h3 small{color:#fff;opacity:.84}

.about-art{position:relative;margin:0;background:#fff;align-items:flex-end;justify-content:center}
.about-art::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.18) 28%,rgba(255,255,255,.03) 62%,#fff 100%);z-index:2;pointer-events:none}
.about-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,transparent 16%,transparent 74%,#fff 100%);z-index:2;pointer-events:none}
.about-art .about-photo{
  position:absolute;
  inset:3.5% 2% 0 2%;
  width:96%;
  height:96%;
  max-width:none;
  object-fit:cover;
  object-position:center 23%;
  filter:grayscale(1) contrast(.92) brightness(1.12);
  opacity:.70;
  mix-blend-mode:multiply;
  transform:scale(1.03);
}
.about-art figcaption{position:relative;z-index:3;width:100%;padding:18px 22px;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid rgba(10,10,10,.25);background:rgba(255,255,255,.82)}

.site-footer{grid-template-columns:1.1fr 1fr .58fr auto 1fr;border-top:8px solid var(--red)}
.site-footer>div{display:flex;flex-direction:column;justify-content:center;min-height:88px}
.footer-brand span{margin-top:3px;font-size:.62rem;font-weight:900;letter-spacing:.12em;color:var(--red)}
.footer-lang{display:grid!important;grid-template-columns:repeat(3,36px)!important;padding:0!important;background:#fff}
.footer-lang a{display:flex;align-items:center;justify-content:center;min-height:88px;border-right:1px solid #aaa;text-decoration:none;font-size:.68rem;font-weight:900}
.footer-lang a:last-child{border-right:0}
.footer-lang a.active{background:var(--black);color:#fff}
.lang-bz .footer-lang a.active{background:var(--red)}
.footer-signature{font-weight:800;letter-spacing:.035em}

@media (max-width:1100px){
  .language-switch{grid-template-columns:repeat(3,36px)}
  .main-nav a{font-size:.74rem;padding:10px 6px}
  .main-nav a>small{font-size:.56rem}
  .site-footer{grid-template-columns:1fr 1fr 1fr}
  .footer-lang{grid-column:auto}
  .footer-signature{grid-column:span 2}
}

@media (max-width:900px){
  .site-header{grid-template-columns:92px minmax(0,1fr) auto}
  .menu-btn{grid-column:2;grid-row:1;display:block;border:0;border-left:0;background:var(--red);color:#fff;font-weight:900;font-size:1rem}
  .language-switch{grid-column:3;grid-row:1}
  .mobile-nav{inset:96px 0 auto 0}
  .mobile-nav a{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
  .mobile-nav small{font-size:.72rem;opacity:.55}
  .hero{grid-template-columns:1fr;grid-template-rows:auto 190px auto;min-height:auto}
  .hero-copy{border-right:0}
  .hero-mark{border-top:var(--line)}
  .hero-note{grid-column:1}
  .page-watermark{top:150px;opacity:.045}
  .about-art .about-photo{inset:0;width:100%;height:100%;object-position:center 18%}
  .site-footer{grid-template-columns:1fr 1fr}
  .footer-lang{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
  .footer-lang a{min-height:66px}
  .footer-signature{grid-column:auto}
}

@media (max-width:560px){
  .language-switch{grid-template-columns:repeat(3,34px)}
  .language-switch a{font-size:.65rem}
  .page-watermark{top:190px;opacity:.04}
  .button{min-width:0}
  .site-footer{grid-template-columns:1fr}
  .footer-signature{grid-column:auto}
  .footer-lang a{min-height:58px}
  .about-art{min-height:540px}
  .about-art .about-photo{object-position:center 16%}
}

/* R2 — watermark visibility + richer copy spacing */
.page-watermark{
  top:132px;
  width:100%;
  height:460px;
  object-fit:cover;
  object-position:center 54%;
  opacity:.135;
  filter:grayscale(1) contrast(1.55) brightness(.78);
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.52) 12%,#000 28%,#000 74%,rgba(0,0,0,.45) 90%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.52) 12%,#000 28%,#000 74%,rgba(0,0,0,.45) 90%,transparent 100%);
}
.hero-copy{background:rgba(245,242,237,.67)}
.hero-mark{background:rgba(255,255,255,.78)}
.hero-lead{max-width:64ch}
.manifesto-copy p,.section-intro,.service-card p,.about-copy>p{line-height:1.55}
.manifesto-copy p{max-width:58ch}
.section-intro{max-width:62ch}
.service-card p{font-size:.92rem;max-width:34ch}
.about-copy .big-copy{max-width:62ch}
.about-copy>p:not(.kicker):not(.cert-badge){max-width:68ch}
@media (max-width:900px){
  .page-watermark{top:145px;height:390px;opacity:.11;object-position:center 52%}
}
@media (max-width:560px){
  .page-watermark{top:170px;height:310px;opacity:.095;object-position:center 52%}
  .service-card p{font-size:.9rem}
}

/* R4 — same V1_BILINGUAL design, photographic header + responsive refinement */
.page-watermark{display:none!important}

/* The real Bolzano mountain photo is now part of the header, not a new layout. */
.site-header{
  min-height:104px;
  grid-template-columns:110px minmax(0,1fr) auto;
  background-image:
    linear-gradient(90deg,rgba(245,242,237,.90) 0%,rgba(245,242,237,.77) 18%,rgba(245,242,237,.68) 58%,rgba(245,242,237,.78) 100%),
    url('assets/header-mountains.jpg');
  background-size:cover;
  background-position:center 50%;
  background-repeat:no-repeat;
  border-bottom:var(--line);
  box-shadow:0 1px 0 rgba(0,0,0,.08);
  backdrop-filter:none;
}
.brand{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(2px);
}
.main-nav a{
  background:rgba(245,242,237,.48);
  text-shadow:0 1px 0 rgba(255,255,255,.88);
  transition:background-color .18s ease,color .18s ease;
}
.main-nav a:hover,.main-nav a:focus{
  background:rgba(255,255,255,.92);
}
.main-nav .nav-cta{
  background:rgba(229,27,35,.93);
  color:#fff;
  text-shadow:none;
}
.main-nav .nav-cta:hover,.main-nav .nav-cta:focus{background:var(--red);color:#fff}
.language-switch{background:rgba(255,255,255,.74);backdrop-filter:blur(3px)}
.language-switch a{background:rgba(255,255,255,.55)}
.language-switch a.active{background:var(--black);color:#fff}
.lang-bz .language-switch a.active{background:var(--red)}

/* The hero remains the V1_BILINGUAL hero. The old invisible background graphic is gone. */
.hero{min-height:calc(100svh - 104px)}

/* Prevent anchored sections from feeling clipped if JS is unavailable. */
#services,#about,#social,#contact{scroll-margin-block:14vh}

/* Wider screens: avoid excessive stretching while keeping V1 geometry. */
@media (min-width:1500px){
  .site-header{grid-template-columns:132px minmax(0,1fr) auto;min-height:112px;background-position:center 48%}
  .brand img{width:78px;height:88px}
  .main-nav a{font-size:.86rem}
  .language-switch{grid-template-columns:repeat(3,46px)}
  .hero{min-height:calc(100svh - 112px)}
  .hero-copy{padding-left:max(5vw,72px);padding-right:max(5vw,72px)}
  .service-card{padding:34px}
}

/* Compact desktop / landscape tablet. */
@media (max-width:1180px) and (min-width:901px){
  .site-header{grid-template-columns:98px minmax(0,1fr) auto;min-height:92px}
  .brand{padding:5px}.brand img{width:66px;height:74px}
  .main-nav a{padding:9px 4px;font-size:.70rem}
  .main-nav a>small{font-size:.52rem}
  .language-switch{grid-template-columns:repeat(3,34px)}
  .hero{min-height:calc(100svh - 92px)}
  h1{font-size:clamp(4rem,8.7vw,7.2rem)}
  .service-card{padding:22px}
}

/* Tablet portrait / small laptop: photo stays in header, main navigation becomes menu. */
@media (max-width:900px){
  .site-header{
    min-height:88px;
    grid-template-columns:88px minmax(0,1fr) auto;
    background-position:center 50%;
    background-image:
      linear-gradient(90deg,rgba(245,242,237,.90),rgba(245,242,237,.72) 60%,rgba(245,242,237,.78)),
      url('assets/header-mountains.jpg');
  }
  .brand img{width:62px;height:70px}
  .menu-btn{
    min-width:120px;
    min-height:88px;
    background:rgba(229,27,35,.94);
    border-left:var(--line);
  }
  .language-switch{height:88px}
  .mobile-nav{
    inset:88px 0 auto 0;
    max-height:calc(100svh - 88px);
    overflow:auto;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(10px);
  }
  .mobile-nav a{min-height:58px;padding:15px 20px}
  .hero{min-height:auto}
  .hero-copy{padding-top:clamp(42px,7vw,68px)}
  .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-art{min-height:clamp(420px,65svh,620px)}
  .about-copy{padding:8vw 6vw}
  .contact>div{padding:8vw 6vw}
}

/* Phones: preserve hierarchy, increase tappable areas, no horizontal overflow. */
@media (max-width:620px){
  body{overflow-x:hidden}
  .site-header{
    min-height:76px;
    grid-template-columns:74px minmax(0,1fr) auto;
    background-position:center 50%;
  }
  .brand{padding:4px}.brand img{width:55px;height:64px}
  .menu-btn{min-width:0;min-height:76px;font-size:.82rem;padding:0 15px}
  .language-switch{height:76px;grid-template-columns:repeat(3,31px)}
  .language-switch a{font-size:.61rem}
  .mobile-nav{inset:76px 0 auto 0}
  .hero-copy{padding:40px 20px 32px}
  h1{font-size:clamp(3.35rem,15.5vw,5.2rem);line-height:.80;overflow-wrap:normal}
  .hero-lead{font-size:1.02rem;line-height:1.48}
  .hero-actions{grid-template-columns:1fr;display:grid}
  .button{width:100%;min-height:52px;justify-content:center}
  .section-grid{grid-template-columns:46px minmax(0,1fr)}
  .section-grid>div:nth-child(2),.section-grid>.manifesto-copy,.section-intro{padding-left:18px;padding-right:18px}
  h2{font-size:clamp(2.55rem,12vw,4.2rem)}
  .service-list{grid-template-columns:1fr}
  .service-card{min-height:0;padding:24px 20px}
  .service-card>span{margin-bottom:28px}
  .about-art{min-height:68svh}
  .about-copy,.contact>div{padding:48px 20px}
  .social-links a{padding:30px 20px}
  .contact-box a{font-size:clamp(1.65rem,8vw,2.4rem);overflow-wrap:anywhere}
  .site-footer{grid-template-columns:1fr}
}

@media (max-width:390px){
  .site-header{grid-template-columns:68px minmax(0,1fr) auto}
  .brand img{width:50px;height:58px}
  .menu-btn{padding:0 10px;font-size:.74rem}
  .language-switch{grid-template-columns:repeat(3,28px)}
  h1{font-size:3.15rem}
}

/* R5 — enlarged photographic header: same V1_BILINGUAL structure, stronger mountain presence */
.site-header{
  position:sticky;
  overflow:hidden;
  min-height:172px;
  grid-template-columns:142px minmax(0,1fr) auto;
  background:none;
  isolation:isolate;
}
.site-header::before{
  content:"";
  position:absolute;
  inset:-4px;
  z-index:-2;
  background:url('assets/header-mountains.jpg') center 56% / cover no-repeat;
  filter:saturate(1.38) contrast(1.22) brightness(.92);
  transform:scale(1.012);
}
.site-header::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(245,242,237,.52) 0%,
    rgba(245,242,237,.28) 18%,
    rgba(245,242,237,.18) 48%,
    rgba(245,242,237,.22) 74%,
    rgba(245,242,237,.34) 100%);
}
.brand,
.main-nav,
.language-switch,
.menu-btn{position:relative;z-index:1}
.brand{
  padding:10px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(1.2px);
}
.brand img{width:92px;height:122px}
.main-nav a{
  padding:18px 10px;
  font-size:.91rem;
  background:rgba(255,255,255,.25);
  backdrop-filter:blur(.55px);
  text-shadow:0 1px 0 rgba(255,255,255,.98),0 0 5px rgba(255,255,255,.82);
}
.main-nav a>small{font-size:.64rem;opacity:.78}
.main-nav a:hover,.main-nav a:focus{background:rgba(255,255,255,.70)}
.main-nav .nav-cta{
  background:rgba(229,27,35,.90);
  backdrop-filter:none;
}
.language-switch{
  background:rgba(255,255,255,.50);
  backdrop-filter:blur(1px);
  grid-template-columns:repeat(3,50px);
}
.language-switch a{
  background:rgba(255,255,255,.34);
  font-size:.76rem;
}
.hero{min-height:calc(100svh - 172px)}

@media (min-width:1500px){
  .site-header{min-height:188px;grid-template-columns:154px minmax(0,1fr) auto}
  .brand img{width:100px;height:134px}
  .main-nav a{font-size:.96rem;padding:20px 12px}
  .main-nav a>small{font-size:.68rem}
  .language-switch{grid-template-columns:repeat(3,54px)}
  .hero{min-height:calc(100svh - 188px)}
  .site-header::before{background-position:center 55%}
}

@media (max-width:1180px) and (min-width:901px){
  .site-header{min-height:148px;grid-template-columns:120px minmax(0,1fr) auto}
  .brand img{width:80px;height:104px}
  .main-nav a{font-size:.78rem;padding:14px 6px}
  .main-nav a>small{font-size:.57rem}
  .language-switch{grid-template-columns:repeat(3,40px)}
  .hero{min-height:calc(100svh - 148px)}
  .site-header::before{background-position:center 56%}
}

@media (max-width:900px){
  .site-header{
    min-height:118px;
    grid-template-columns:100px minmax(0,1fr) auto;
    background:none;
  }
  .site-header::before{
    background:url('assets/header-mountains.jpg') center 56% / cover no-repeat;
    filter:saturate(1.32) contrast(1.18) brightness(.94);
  }
  .site-header::after{
    background:linear-gradient(90deg,rgba(245,242,237,.54),rgba(245,242,237,.22) 55%,rgba(245,242,237,.34));
  }
  .brand img{width:69px;height:86px}
  .menu-btn{min-height:118px;min-width:136px;background:rgba(229,27,35,.91);backdrop-filter:none}
  .language-switch{height:118px;grid-template-columns:repeat(3,38px)}
  .mobile-nav{inset:118px 0 auto 0;max-height:calc(100svh - 118px)}
  .hero{min-height:auto}
}

@media (max-width:620px){
  .site-header{min-height:96px;grid-template-columns:82px minmax(0,1fr) auto}
  .site-header::before{background-position:center 56%;filter:saturate(1.28) contrast(1.16) brightness(.95)}
  .brand img{width:58px;height:72px}
  .menu-btn{min-height:96px;padding:0 14px;font-size:.82rem}
  .language-switch{height:96px;grid-template-columns:repeat(3,31px)}
  .mobile-nav{inset:96px 0 auto 0;max-height:calc(100svh - 96px)}
}

@media (max-width:390px){
  .site-header{min-height:88px;grid-template-columns:74px minmax(0,1fr) auto}
  .brand img{width:52px;height:64px}
  .menu-btn{min-height:88px;padding:0 9px;font-size:.72rem}
  .language-switch{height:88px;grid-template-columns:repeat(3,28px)}
  .mobile-nav{inset:88px 0 auto 0;max-height:calc(100svh - 88px)}
}

/* R6 — continuous photographic header through CONTACT + IT/DE/BZ */
/* Keep the mountain image visually uninterrupted across the whole header band. */
.site-header .main-nav .nav-cta{
  background:rgba(229,27,35,.42);
  color:#fff;
  backdrop-filter:blur(.35px);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:inset 0 -4px 0 rgba(229,27,35,.95);
}
.site-header .main-nav .nav-cta:hover,
.site-header .main-nav .nav-cta:focus{
  background:rgba(229,27,35,.58);
  color:#fff;
}

.site-header .language-switch{
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(.35px);
}
.site-header .language-switch a{
  background:rgba(255,255,255,.12);
  text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 4px rgba(255,255,255,.75);
}
.site-header .language-switch a:hover,
.site-header .language-switch a:focus{
  background:rgba(255,255,255,.38);
  color:var(--red);
}
.site-header .language-switch a.active{
  background:rgba(10,10,10,.48);
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.site-header.lang-bz .language-switch a.active,
.lang-bz .site-header .language-switch a.active,
.lang-bz .language-switch a.active{
  background:rgba(229,27,35,.50);
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.38);
}

/* Slightly soften the separators so they do not visually cut the panorama. */
.site-header .main-nav a,
.site-header .language-switch a{
  border-color:rgba(10,10,10,.68);
}


/* R8 — uniform photographic header + manifesto in navigation */
.main-nav{grid-template-columns:repeat(5,1fr)}

/* One coherent glass layer across logo, every menu cell, contact and IT/DE/BZ. */
.site-header .brand,
.site-header .main-nav,
.site-header .main-nav a,
.site-header .main-nav .nav-cta,
.site-header .language-switch,
.site-header .language-switch a,
.site-header .language-switch a.active,
.lang-bz .site-header .language-switch a.active{
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(.35px);
  -webkit-backdrop-filter:blur(.35px);
  color:var(--black);
  text-shadow:0 1px 2px rgba(255,255,255,.96),0 0 4px rgba(255,255,255,.72);
}
.site-header .brand{background:rgba(255,255,255,.18)}
.site-header .main-nav .nav-cta{box-shadow:none}
.site-header .main-nav .nav-cta>small{opacity:.78}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav .nav-cta:hover,
.site-header .main-nav .nav-cta:focus,
.site-header .language-switch a:hover,
.site-header .language-switch a:focus{
  background:rgba(255,255,255,.44);
  color:var(--red);
  text-shadow:0 1px 2px rgba(255,255,255,.96);
}
.site-header .language-switch a.active,
.lang-bz .site-header .language-switch a.active{
  background:rgba(255,255,255,.22);
  color:var(--black);
  box-shadow:inset 0 -4px 0 var(--red);
  text-shadow:0 1px 2px rgba(255,255,255,.96);
}
#manifesto,#services,#about,#social,#contact{scroll-margin-block:14vh}
@media (max-width:1180px) and (min-width:901px){
  .main-nav a{font-size:.70rem;padding-left:3px;padding-right:3px}
  .main-nav a>small{font-size:.51rem}
}

/* Production legal/footer refinements */
.location-mark{margin-top:26px;display:flex;align-items:center;max-width:360px}
.location-mark img{display:block;max-width:100%;height:auto;max-height:118px;object-fit:contain;object-position:left center}
.footer-brand span{display:block;margin-top:3px}
.footer-legal{gap:0!important}
.footer-legal a{display:inline!important}
.legal-tools{max-width:1100px;margin:0 auto;padding:18px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-tools .back{margin:0}
.legal-language{display:flex;border:2px solid #000}
.legal-language a{padding:8px 11px;text-decoration:none;font-weight:900;border-left:2px solid #000}
.legal-language a:first-child{border-left:0}
.legal-language a.active{background:#111;color:#fff}
.policy .legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 42px;margin-top:34px}
.policy .legal-card{border-top:3px solid #111;padding-top:14px}
.policy .legal-card h2{font-size:1.45rem;margin:0 0 12px}
.policy .legal-card p{margin:0 0 12px}
.policy .muted{color:#555;font-size:.95rem}
.policy ul{padding-left:1.2rem}
.policy a{color:inherit}
@media(max-width:760px){.location-mark{max-width:280px}.legal-tools{align-items:flex-start;flex-direction:column}.policy .legal-grid{grid-template-columns:1fr}.footer-legal{word-break:normal}}
