/* Tosama v16: grouped navigation and a dedicated, full-contrast brand finale. */
:root{--header-height:128px}
@media(min-width:781px){
 html{scroll-padding-top:calc(var(--header-height) + 20px)}
 .site-header .nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;height:var(--header-height);gap:clamp(30px,3.2vw,56px);padding-inline:40px}
 .site-header .brand{width:200px;flex:none}
 .site-header .brand img{width:100%;height:auto}
 .site-header .navlinks{flex:0 1 auto;justify-self:end;justify-content:flex-start;gap:clamp(24px,2.15vw,36px);margin:0;min-width:0}
 .site-header .navlinks>a,.site-header .nav-parent .submenu-toggle{font-size:18px;font-weight:500;line-height:1.3;white-space:nowrap}
 .site-header .navlinks .nav-contact{padding:16px 0}
 .site-header .language-switch{justify-self:end;margin:0}
 .site-header .navlinks .units-menu{max-height:calc(100svh - var(--header-height));padding-inline:40px}
 .nav-scrim{top:var(--header-height)}
 .site-header .submenu-toggle.current-section:after{height:3px;width:24px;border-radius:0;bottom:7px}
}
@media(min-width:1001px) and (max-width:1250px){
 :root{--header-height:112px}
 .site-header .nav{padding-inline:30px;gap:30px}
 .site-header .brand{width:175px}
 .site-header .navlinks{gap:26px}
 .site-header .navlinks>a,.site-header .nav-parent .submenu-toggle{font-size:16px}
}
@media(min-width:781px) and (max-width:1000px){
 :root{--header-height:100px}
 .site-header .nav{padding-inline:24px;gap:24px}
 .site-header .brand{width:145px}
 .site-header .navlinks{gap:22px}
 .site-header .navlinks>a,.site-header .nav-parent .submenu-toggle{font-size:14px}
}
@media(max-width:780px){
 :root{--header-height:82px}
 .site-header .nav{height:82px}
 .site-header .navlinks{padding:22px 24px 30px}
 .site-header .navlinks>a,.site-header .nav-parent .submenu-toggle{font-size:20px;line-height:1.4;min-height:60px;font-weight:500}
 .site-header .navlinks>a{padding-block:18px}
 .site-header .navlinks .nav-contact{padding:18px 0;margin:0}
}
.reference-footer{position:relative;display:block;height:auto;min-height:0;max-height:none;background:var(--blue);color:white;overflow:hidden}
.reference-footer .finale-content{display:block;max-width:1800px;padding:0 var(--pad) 30px;opacity:1;transform:none}
.footer-brand-stage{padding:100px 0 85px;border-bottom:4px solid #ffffff35}
.footer-brand-eyebrow{display:flex;justify-content:space-between;gap:24px;color:#dce8fb;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.05em;margin-bottom:60px}
.reference-footer .footer-art{position:relative;top:auto;right:auto;width:min(100%,1150px);height:auto;aspect-ratio:auto;margin:0;opacity:1;overflow:visible;pointer-events:none}
.footer-brand-film{display:block;width:100%;height:auto;overflow:visible}
.footer-brand-image{filter:brightness(0) invert(1);opacity:1}
.footer-brand-symbol,.footer-brand-word,.footer-brand-descriptor{transform:none;opacity:1;clip-path:none}
.film-ready:not(.logo-playing) .footer-brand-symbol,.film-ready:not(.logo-playing) .footer-brand-word,.film-ready:not(.logo-playing) .footer-brand-descriptor{opacity:0}
.logo-playing .footer-brand-symbol{animation:tosama-symbol-assembly 1.25s cubic-bezier(.2,.75,.25,1) both}
.logo-playing .symbol-part-1{--piece-x:-44px;--piece-y:-30px;animation-delay:0s}
.logo-playing .symbol-part-2{--piece-x:-34px;--piece-y:14px;animation-delay:.13s}
.logo-playing .symbol-part-3{--piece-x:-24px;--piece-y:32px;animation-delay:.26s}
.logo-playing .symbol-part-4{--piece-x:0px;--piece-y:44px;animation-delay:.39s}
.logo-playing .footer-brand-word{animation:tosama-word-reveal 1.35s .65s cubic-bezier(.2,.7,.2,1) both}
.logo-playing .footer-brand-descriptor{animation:tosama-descriptor-reveal .8s 1.5s ease-out both}
@keyframes tosama-symbol-assembly{from{opacity:0;transform:translate(var(--piece-x),var(--piece-y))}to{opacity:1;transform:translate(0,0)}}
@keyframes tosama-word-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(25px)}to{opacity:1;clip-path:inset(0);transform:translateX(0)}}
@keyframes tosama-descriptor-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.footer-contact-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:60px;padding:85px 0}
.reference-footer .finale-title{font-size:clamp(62px,7.5vw,110px);font-weight:500;line-height:.99;letter-spacing:-.05em;margin:0;max-width:900px;color:white}
.footer-contact-lead>div{max-width:460px;justify-self:end}
.footer-contact-lead p{font-size:21px;line-height:1.5;margin:0 0 25px;color:#e0eaf9}
.footer-contact-lead .ref-link{font-size:18px;color:white;border-bottom:3px solid white;padding-bottom:12px}
.reference-footer .finale-grid{display:grid;grid-template-columns:.8fr 1.05fr 1fr 1.45fr;gap:clamp(30px,4vw,68px);margin:0;padding:55px 0 60px;border-top:4px solid #ffffff35;align-items:start}
.reference-footer .finale-grid h3{font-size:16px;font-weight:600;text-transform:none;letter-spacing:0;margin:0 0 26px;color:#bdd4f6}
.reference-footer .finale-grid nav{display:flex;flex-direction:column;gap:12px}
.reference-footer .finale-grid a,.reference-footer .finale-grid p{font-size:18px;font-weight:400;line-height:1.55}
.reference-footer .finale-grid p{margin:0 0 20px}
.footer-address{font-style:normal}
.footer-contact-list{display:flex;flex-direction:column;gap:14px}
.footer-contact-list .footer-email{font-size:clamp(17px,1.5vw,22px);font-weight:500;overflow-wrap:anywhere}
.footer-contact-list .footer-phone{white-space:nowrap}
.footer-socials{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}
.reference-footer .footer-socials a{font-size:15px;color:#dbe8fb}
.reference-footer .finale-bottom{border-top:1px solid #ffffff45;margin:0;padding-top:26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;color:#dbe8fb;font-size:12px}
.reference-footer .replay-logo{font-size:13px;border:1px solid #ffffff60;padding:11px 17px;min-height:44px;margin:0;line-height:1.3}
.reference-footer .replay-logo:hover{background:#ffffff12;border-color:white}
.contact-overview .contact-main-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
.contact-overview .contact-main-links a{font-size:22px;line-height:1.45;overflow-wrap:anywhere}
.contact-people{padding:80px var(--pad) 100px;background:var(--paper);color:var(--dark)}
.contact-people>h2{font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.1;margin:0 0 60px;letter-spacing:-.03em}
.contact-person-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-person{border-top:4px solid var(--blue);padding-top:30px}
.contact-person h3{font-size:clamp(32px,3.5vw,48px);font-weight:500;line-height:1.2;margin:0 0 14px}
.contact-person p{font-size:19px;line-height:1.5;margin:0 0 25px;color:#48596f}
.contact-person a{display:table;font-size:clamp(17px,1.8vw,23px);line-height:1.5;margin-top:12px;overflow-wrap:anywhere}
.contact-person a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px) and (min-width:781px){
 .reference-footer .finale-grid{grid-template-columns:1fr 1fr;gap:45px 80px}
 .footer-contact-lead{gap:40px}.footer-contact-lead p{font-size:19px}
 .footer-brand-stage{padding-top:85px}.footer-brand-eyebrow{margin-bottom:50px}
}
@media(max-width:780px){
 .reference-footer .finale-content{padding:0 24px 28px}
 .footer-brand-stage{padding:70px 0 55px;border-bottom-width:3px}
 .footer-brand-eyebrow{font-size:11px;letter-spacing:.02em;margin-bottom:38px;gap:16px;align-items:start}
 .footer-brand-eyebrow span:last-child{max-width:160px;text-align:right}
 .reference-footer .footer-art{width:100%;margin:0}
 .footer-contact-lead{grid-template-columns:1fr;gap:32px;padding:55px 0}
 .reference-footer .finale-title{font-size:clamp(53px,12vw,84px);line-height:1.02}
 .footer-contact-lead>div{justify-self:start;max-width:500px}
 .footer-contact-lead p{font-size:18px;line-height:1.5;margin-bottom:25px}
 .footer-contact-lead .ref-link{font-size:17px}
 .reference-footer .finale-grid{grid-template-columns:1fr 1fr;gap:45px 25px;padding:40px 0 45px;border-top-width:3px}
 .reference-footer .finale-grid h3{font-size:14px;margin-bottom:22px}
 .reference-footer .finale-grid a,.reference-footer .finale-grid p{font-size:16px;line-height:1.65}
 .reference-footer .finale-grid>div:nth-child(3),.reference-footer .finale-grid>div:nth-child(4){grid-column:1/-1}
 .reference-footer .finale-grid nav{display:flex;gap:10px}
 .reference-footer .footer-contact-list .footer-email{font-size:21px}
 .reference-footer .finale-bottom{font-size:11px;flex-direction:column;align-items:flex-start;gap:20px;padding-top:24px}
 .contact-overview .contact-main-links a{font-size:20px}
 .contact-people{padding:65px 24px 75px}.contact-people>h2{font-size:43px;margin-bottom:45px}
 .contact-person-grid{grid-template-columns:1fr;gap:45px}.contact-person{padding-top:25px}
 .contact-person h3{font-size:36px}.contact-person p{font-size:18px}.contact-person a{font-size:19px}
}
@media(max-width:360px){.reference-footer .finale-grid{gap:40px 18px}.reference-footer .finale-grid a{font-size:15px}.reference-footer .footer-contact-list .footer-email{font-size:19px}.contact-person a{font-size:17px}.footer-brand-eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){
 .film-ready:not(.logo-playing) .footer-brand-symbol,.film-ready:not(.logo-playing) .footer-brand-word,.film-ready:not(.logo-playing) .footer-brand-descriptor{opacity:1}
 .logo-playing .footer-brand-symbol,.logo-playing .footer-brand-word,.logo-playing .footer-brand-descriptor{animation:none;opacity:1;transform:none;clip-path:none}
 .reference-footer .replay-logo{display:none}
}

.contact-people{scroll-margin-top:30px}
