/* The label begins turning red shortly after the roll starts. */
.c-header .c-nav a:hover,.c-header .c-nav a:focus-visible{color:var(--red);transition:color .16s .12s;text-decoration:none}
.c-header .c-nav a::after{background:var(--red)}

/* Footer: correspondence on the left, the actual Site pages on the right. */
.site-footer.na-footer{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:clamp(500px,31vw,640px);padding:0;background:var(--ink);color:var(--paper)}
.na-footer-letter{position:relative;isolation:isolate;overflow:hidden;padding:52px 32px 175px}
.na-footer-image{position:absolute;z-index:-2;inset:-15%;background:url('assets/stamp-lens-grain.webp') 54% 50%/cover no-repeat;filter:blur(24px) brightness(.52) saturate(1.15);transform:scale(1.12)}
.na-footer-letter::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,rgba(255,34,1,.19),rgba(21,20,22,.08) 55%,rgba(32,67,78,.16))}
.na-footer-letter>.c-grain{z-index:0;opacity:.23}
.na-footer-letter-copy{position:relative;z-index:1}
.na-footer-label{font-size:9px;font-weight:400;line-height:1.6;letter-spacing:.025em;text-transform:uppercase}
.na-footer-letter h2{font-size:clamp(28px,2.35vw,42px);font-weight:700;line-height:1.04;letter-spacing:-.055em;margin:18px 0 0}
.na-footer-form{margin-top:60px;max-width:420px}
.na-footer-form>label{display:block;font-size:9px;font-weight:400;line-height:1.5;letter-spacing:.015em}
.na-footer-email-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--paper);margin-top:20px}
.na-footer-email-row input{flex:1;min-width:0;padding:12px 0;border:0;border-radius:0;background:transparent;color:var(--paper);font:400 12px/1.4 var(--font)}
.na-footer-email-row input::placeholder{color:var(--service-grey);opacity:1}
.na-footer-email-row button{font:400 9px/1.4 var(--font);white-space:nowrap;min-height:44px;padding:10px 0}
.na-footer-form [data-footer-newsletter-status]{min-height:22px;margin-top:9px;font-size:8px;font-weight:400;line-height:1.6;color:var(--paper);opacity:.7}
.na-footer-directory{padding:52px 32px 180px}
.na-footer-columns{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:28px}
.na-footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;font-weight:400;line-height:1.7;min-width:0}
.na-footer-columns .na-footer-label{color:var(--service-grey);margin-bottom:10px}
.na-footer-columns button{font:inherit;text-align:left;padding:0;line-height:1.7}
.na-footer-columns a,.na-footer-columns button{text-underline-offset:5px;text-decoration-thickness:1px}
.na-footer-columns a:hover,.na-footer-columns button:hover{text-decoration:underline}
.na-footer-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);margin-top:60px;padding-top:16px;font-size:8px;line-height:1.5;font-weight:400;color:var(--service-grey)}
.na-footer-meta>span:first-child{color:var(--paper);white-space:nowrap}
.na-footer-meta .lang-switch{font-size:9px;color:var(--paper);gap:7px}
.na-footer-meta .lang-switch button{padding:0}
.na-footer-mark{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);width:62px;z-index:3}
.na-footer-mark .c-footer-seal{width:100%;height:auto}
@media(max-width:1050px){
 .na-footer-directory{padding-left:24px;padding-right:24px}.na-footer-columns{gap:18px}
 .na-footer-columns nav{font-size:9px}.na-footer-meta{font-size:7px;gap:12px}
}
@media(max-width:750px){
 .site-footer.na-footer{grid-template-columns:1fr}
 .na-footer-letter{min-height:410px;padding:42px 24px 65px}.na-footer-letter h2{font-size:32px}
 .na-footer-form{margin-top:48px;max-width:480px}
 .na-footer-directory{padding:40px 24px 175px}.na-footer-columns nav{font-size:10px}
 .na-footer-meta{font-size:8px;margin-top:38px}
 .na-footer-mark{bottom:28px;width:56px}
 .na-footer-email-row input{font-size:16px}
}
@media(max-width:450px){
 .na-footer-columns{grid-template-columns:1fr 1fr;gap:28px 24px}
 .na-footer-legal{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;column-gap:24px!important}
 .na-footer-legal .na-footer-label{grid-column:1/-1}
 .na-footer-meta{gap:22px 14px}.na-footer-meta>span:last-child{width:100%}
}

/* A continuous photographic rail, with the same fixed controls as the reference. */
.na-product-gallery{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--ink);color:var(--paper);overflow:hidden}
.na-product-gallery::backdrop{background:var(--ink)}
.na-product-gallery[open]{animation:na-gallery-enter .35s var(--na-ease-out)}
.na-gallery-rail{height:100%;width:100%;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior:contain;cursor:grab;touch-action:pan-x pinch-zoom;outline:0}
.na-gallery-rail::-webkit-scrollbar{display:none}
.na-gallery-rail.is-dragging{cursor:grabbing;user-select:none}
.na-gallery-photo{position:relative;flex:none;width:calc(100dvh * var(--gallery-ratio));height:100%;min-width:32vw;max-width:140vw;overflow:hidden;background:var(--ink);margin:0}
.na-gallery-photo img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;max-width:none}
.na-gallery-photo .c-grain{opacity:.2}
.na-gallery-top{position:absolute;z-index:5;left:20px;right:20px;top:28px;display:grid;grid-template-columns:1fr 1fr 2fr auto;align-items:center;gap:24px;font-size:10px;font-weight:400;line-height:1.4;mix-blend-mode:difference;pointer-events:none}
.na-gallery-top button{font:inherit;letter-spacing:inherit;text-align:left;min-height:44px;padding:6px 0;pointer-events:auto}
.na-gallery-top button:hover{text-decoration:underline;text-underline-offset:5px}
.na-gallery-top [data-gallery-close]{justify-self:end;display:flex;gap:12px;align-items:center}
.na-gallery-top [data-gallery-close] span{font-size:22px;line-height:1}
.na-gallery-paging{display:flex;align-items:center;gap:22px}
.na-gallery-paging button{font-size:18px;min-width:34px;text-align:center}
.na-gallery-paging [data-gallery-count]{font-variant-numeric:tabular-nums;white-space:nowrap}
.na-gallery-dots{position:absolute;z-index:6;left:12px;right:12px;top:0;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference}
.na-gallery-dots button{display:grid;place-items:center;min-width:24px;height:28px;padding:0}
.na-gallery-dots button::after{content:'';width:3px;height:3px;border-radius:50%;background:var(--paper);opacity:.55;transition:transform .3s,opacity .3s}
.na-gallery-dots button[aria-current=true]::after{transform:scale(1.9);opacity:1}
.na-gallery-bottom{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;gap:22px;z-index:4;font-size:9px;line-height:1.6;font-weight:400;mix-blend-mode:difference;pointer-events:none}
.na-gallery-bottom [data-gallery-caption]{max-width:50%}
.na-gallery-info[hidden]{display:none}
.na-gallery-info{position:absolute;z-index:3;inset:0;display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:10vw;padding:100px 8vw;overflow:auto;background:rgba(var(--ink-rgb),.82);backdrop-filter:blur(8px);font-size:12px;line-height:1.8;font-weight:400}
.na-gallery-info h2{font-size:clamp(22px,2.5vw,36px);line-height:1.25;font-weight:400;letter-spacing:-.04em;margin:22px 0}
.na-gallery-info dl{margin:0;font-size:11px}
.na-gallery-info dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-bottom:25px}
.na-gallery-info dt{font-size:9px;color:var(--service-grey)}
.na-gallery-info dd{margin:0}
@keyframes na-gallery-enter{from{opacity:0}to{opacity:1}}
@media(max-width:650px){
 .na-gallery-photo{width:100vw;min-width:100vw;max-width:100vw}
 .na-gallery-top{left:18px;right:18px;top:28px;grid-template-columns:1fr 1fr auto;gap:12px;font-size:9px}
 .na-gallery-top [data-gallery-info]{justify-self:center}
 .na-gallery-paging{position:fixed;left:50%;bottom:46px;transform:translateX(-50%);gap:20px}
 .na-gallery-bottom{left:18px;right:18px;bottom:15px;font-size:8px}
 .na-gallery-bottom>span:last-child{display:none}
 .na-gallery-info{grid-template-columns:1fr;gap:30px;align-content:start;padding:125px 24px 100px}
 .na-gallery-info dl>div{gap:20px}.na-gallery-info h2{font-size:23px}
 .na-gallery-dots{left:8px;right:8px}.na-gallery-dots button{min-width:20px}
}
@media(prefers-reduced-motion:reduce){.na-product-gallery[open]{animation:none}.na-gallery-dots button::after{transition:none}}
