/* Shared WordPress navigation; keep the approved page designs intact. */
:root { --ss-header-height:86px; }
.ss-fallback { padding:clamp(64px,10vh,140px) 6vw; min-height:65vh; background:#eeece3; font-family:'DM Sans',sans-serif; }
.ss-fallback h1 { font-family:'Bodoni Moda',Georgia,serif; margin:24px 0; font-size:clamp(44px,6vw,88px); line-height:1.08; }
.ss-fallback > p { max-width:540px; }
.ss-fallback-label { font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#536147; }
.ss-fallback-links { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:32px; }
.ss-fallback-links a { display:flex; align-items:center; min-height:48px; border-bottom:1px solid #76816a; }
html { scroll-padding-top:calc(var(--ss-header-height) + 20px); }
.ss-header { height:var(--ss-header-height); padding:0 5.3vw; display:flex; align-items:center; gap:36px; z-index:30; }
.ss-header .ss-header-brand { display:block; flex:0 0 auto; width:208px; padding:8px 0; }
.ss-header .ss-header-brand img { display:block; width:100%; height:auto; filter:brightness(0); opacity:.8; }
.ss-header--home:not(.is-ink) .ss-header-brand img { filter:none; opacity:1; }
.contact-page .ss-header .ss-header-brand img,.simone-cinematic .ss-header .ss-header-brand img { filter:none; opacity:1; }
.ss-header nav.ss-header-nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.ss-header nav.ss-header-nav a { display:flex; align-items:center; min-height:44px; padding:6px 0; font:400 12px/1.4 'DM Sans',sans-serif; letter-spacing:0; white-space:nowrap; }
.ss-header nav.ss-header-nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; }
.ss-header .ss-menu-trigger { display:flex; align-items:center; justify-content:center; gap:15px; min-width:92px; min-height:44px; padding:10px 0 10px 15px; border:0; background:none; color:inherit; font:400 12px/1 'DM Sans',sans-serif; }
.ss-menu-icon { display:flex; flex-direction:column; gap:6px; width:24px; }
.ss-menu-icon i { display:block; width:24px; height:1px; background:currentColor; }
.ss-menu-icon i:last-child { width:17px; align-self:flex-end; transition:width .2s ease; }
.ss-menu-trigger:hover .ss-menu-icon i:last-child { width:24px; }
.ss-header a:focus-visible,.ss-header button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
html.ss-nav-open { overflow:hidden; }
.ss-nav-open body { position:fixed; top:var(--ss-locked-top); width:100%; overflow:hidden; }
dialog.ss-navigation { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; overflow:hidden; background:#eeece3; color:#303e32; font:400 14px/1.6 'DM Sans',sans-serif; }
.ss-navigation::backdrop { background:#19251f; }
.ss-navigation[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; animation:ss-menu-reveal .25s ease both; }
.ss-navigation a { color:inherit; text-decoration:none; }
.ss-navigation button { color:inherit; background:none; border:0; cursor:pointer; font:inherit; }
.ss-navigation :is(a,button):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.ss-nav-top { display:flex; justify-content:space-between; align-items:center; margin:0 5.3vw; padding:20px 0; gap:20px; border-bottom:1px solid #bcc1b0; }
#ss-nav-title { font-size:19px; line-height:1.3; letter-spacing:-.02em; }
#ss-nav-title small { display:block; margin-top:4px; color:#6d735f; font-size:11px; letter-spacing:.02em; }
.ss-nav-top button { display:flex; align-items:center; justify-content:center; gap:20px; min-height:44px; padding:10px 0 10px 18px; font-size:12px; }
.ss-close-icon { position:relative; width:24px; height:24px; }
.ss-close-icon::before,.ss-close-icon::after { content:''; position:absolute; left:0; top:11px; width:25px; height:1px; background:currentColor; transform:rotate(45deg); }
.ss-close-icon::after { transform:rotate(-45deg); }
.ss-nav-content { display:grid; grid-template-columns:1.15fr 1fr; align-content:center; gap:8vw; padding:40px 5.3vw; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.ss-nav-label { margin:0 0 24px; font-size:10px; line-height:1.6; letter-spacing:.15em; text-transform:uppercase; color:#626d58; }
.ss-nav-primary { display:grid; }
.ss-nav-primary a { display:flex; align-items:center; gap:22px; min-height:64px; padding:8px 0; font:400 clamp(36px,4.5vw,72px)/1.2 'Bodoni Moda',Georgia,serif; letter-spacing:-.04em; }
.ss-nav-number { flex:none; align-self:center; font:400 10px/1.5 'DM Sans',sans-serif; color:#626d58; letter-spacing:0; }
.ss-nav-arrow { font:400 20px/1 'DM Sans',sans-serif; margin-left:auto; transition:transform .2s ease; }
.ss-navigation a:hover .ss-nav-arrow { transform:translate(3px,-3px); }
.ss-nav-related { display:flex; flex-wrap:wrap; gap:4px 28px; margin-top:28px; padding-top:20px; border-top:1px solid #bcc1b0; }
.ss-nav-related a { display:flex; gap:14px; align-items:center; min-height:44px; font-size:12px; }
.ss-nav-related .ss-nav-arrow { font-size:14px; }
.ss-nav-work { border-left:1px solid #bcc1b0; padding-left:5vw; }
.ss-nav-categories { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.ss-nav-categories a { display:flex; gap:10px; align-items:center; min-height:54px; padding:10px 0; font-size:14px; line-height:1.4; border-bottom:1px solid #c9cbbc; }
.ss-nav-categories .ss-nav-arrow { font-size:16px; }
.ss-navigation a[aria-current] > span:not(.ss-nav-arrow):not(.ss-nav-number) { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.ss-nav-project { margin-top:36px; }
.ss-nav-project p { font:400 clamp(24px,2.4vw,36px)/1.25 'Bodoni Moda',Georgia,serif; letter-spacing:-.02em; }
.ss-nav-project a { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:54px; margin-top:22px; padding:14px 22px; background:#263a2f; color:#f4f1e6; font-size:12px; }
.ss-nav-project a:hover { background:#3b4f40; }
.ss-nav-project a span { font-size:22px; }
.ss-nav-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; margin:0 5.3vw; padding:14px 0 max(14px,env(safe-area-inset-bottom)); border-top:1px solid #bcc1b0; font-size:11px; }
.ss-nav-bottom a { display:flex; align-items:center; min-height:44px; }
.ss-nav-bottom > span { color:#626d58; }
.s31-works > div > p { color:#536147; }
/* Quiet editorial typography still needs readable contrast on warm paper. */
.contact-page { --muted:#536147; }
.c39-aside > p:not(.eyebrow),.c39-aside-note,.c39-fieldset > legend > span,
.c39-choice i,.c39-field label > span,.c39-field-hint,.c39-attachments p,
.c39-review .eyebrow,.c39-review dt { color:#536147; }
.c39-field :is(input,textarea)::placeholder { color:#5b6752; }
.w-mono-tabs button { color:#b4baa9; }
.w-mono-tabs button:not([aria-selected=true]) { opacity:1; }
.craft-top > span:last-child { color:#526047; }
#simone .chapter-rule > span,#materiali .chapter-rule > span { opacity:1; }
#simone .artist-portrait .photo-study-credit { color:#526047; }
.craft-top > span,.craft-heading > p,.craft-description,.craft-bottom > span,
#simone .chapter-rule > span,.artist-copy .chapter-eyebrow,.artist-copy > p,
.artist-portrait .photo-study-credit,.artist-portrait .photo-study-credit a,
#materiali .chapter-rule > span,.material-copy .chapter-eyebrow,.material-copy > p { color:#526047; }
.o32-intro .eyebrow,.o32-intro > p,.o32-filters button:not([aria-pressed=true]),
.o32-filters button:not([aria-pressed=true]) sup,.o32-results-bar > p,
.o32-catalogue-end,.o32-collections > div > p { color:#526047; }
.o32-collections p.eyebrow,.o32-collections p:not(.eyebrow),.o32-catalogue .o32-filters button sup { color:#526047; }
.o22-archive-photo figcaption > span,#dati dt,
.breadcrumb,.intro-layout > p,.collection-count,.work-index,.work-material,
.work-description > div > p,.collection .photo-credit,.collection-end { color:#526047; }
.filter-controls button { color:#526047; opacity:1; }
/* Two contact links shared row 8 and created an unintended second column. */
@media(max-width:760px) {
 .signature-contact > *, .signature-contact .signature-copy > * { grid-column:1; min-width:0; }
 .signature-contact .project-phone { grid-row:8; min-height:44px; display:flex; align-items:center; padding:6px 0; }
 .signature-contact .project-phone[href^="tel:"] { grid-row:9; }
 .signature-contact .signature-tail { grid-row:10; }
 .c39-field textarea { font-size:16px; }
 .breadcrumbs a,.breadcrumb a { min-height:44px; display:inline-flex; align-items:center; }
}
@media(max-width:1100px) {
 .ss-header { gap:24px; }
 .ss-header nav.ss-header-nav { gap:18px; }
 .ss-header .ss-header-brand { width:190px; }
}
@media(max-width:900px) {
 .ss-header nav.ss-header-nav { display:none; }
 .ss-header .ss-menu-trigger { margin-left:auto; }
}
@media(max-width:760px) {
 :root { --ss-header-height:76px; }
 .ss-header { padding:0 6vw; gap:18px; }
 .ss-header .ss-header-brand { width:178px; }
 .ss-header .ss-menu-trigger { gap:12px; min-width:78px; padding-left:8px; }
 .ss-nav-top { margin:0 6vw; padding:14px 0; }
 #ss-nav-title { font-size:17px; }
 #ss-nav-title small { font-size:10px; }
 .ss-nav-content { grid-template-columns:minmax(0,1fr); align-content:start; gap:26px; padding:22px 6vw 28px; }
 .ss-nav-label { font-size:9px; margin-bottom:10px; }
 .ss-nav-primary a { font-size:clamp(32px,9.6vw,48px); min-height:54px; gap:20px; padding:6px 0; }
 .ss-nav-primary .ss-nav-arrow { font-size:21px; }
 .ss-nav-related { margin-top:14px; padding-top:8px; gap:0 22px; }
 .ss-nav-related a { font-size:11px; gap:10px; }
 .ss-nav-work { padding:0; border:0; }
 .ss-nav-categories { gap:0 22px; }
 .ss-nav-categories a { font-size:12px; min-height:48px; }
 .ss-nav-project { margin-top:24px; }
 .ss-nav-project p { display:none; }
 .ss-nav-project a { margin:0; min-height:52px; padding:12px 16px; }
 .ss-nav-bottom { margin:0 6vw; padding:8px 0 max(8px,env(safe-area-inset-bottom)); gap:0 20px; font-size:10px; }
 .ss-nav-bottom > span { display:none; }
}
@media(max-height:620px) and (min-width:761px) {
 .ss-nav-content { align-content:start; }
}
@media(prefers-reduced-motion:reduce) {
 .ss-navigation[open] { animation:none; }
 .ss-nav-arrow,.ss-menu-icon i { transition:none; }
}
@keyframes ss-menu-reveal { from { opacity:0; } to { opacity:1; } }

/* A restrained native language switcher, including the compact header. */
.ss-languages { display:flex; flex:0 0 auto; align-items:center; gap:2px; }
.ss-languages a { display:grid; place-items:center; min-width:32px; min-height:44px; padding:4px 2px; color:inherit; font:400 10px/1 'DM Sans',sans-serif; letter-spacing:.08em; opacity:1; text-decoration:none; }
.ss-languages a[aria-current] { opacity:1; text-decoration:underline; text-underline-offset:6px; }
.ss-languages a:hover,.ss-languages a:focus-visible { opacity:1; }
.ss-header { gap:22px; }
.ss-header nav.ss-header-nav { gap:22px; }
.ss-nav-bottom .ss-languages { margin-left:auto; }
@media (max-width:1100px) {
 .ss-header nav.ss-header-nav { display:none; }
 .ss-header > .ss-languages { margin-left:auto; }
 .ss-header .ss-menu-trigger { margin-left:0; }
}
@media (max-width:600px) {
 .ss-header { gap:10px; padding:0 5vw; }
 .ss-header .ss-header-brand { width:clamp(120px,36vw,178px); }
 .ss-header .ss-menu-trigger { min-width:60px; gap:8px; padding-left:0; }
 .ss-header .ss-languages a { min-width:28px; }
}
.ss-header > nav.ss-languages { display:flex; gap:2px; }

/* Three languages retain a compact header at 320px without narrowing the menu target. */
@media(max-width:360px) {
 .ss-header { gap:6px; padding:0 4vw; }
 .ss-header .ss-header-brand { width:112px; }
 .ss-header .ss-menu-trigger { min-width:54px; }
 .ss-header .ss-languages a { min-width:28px; letter-spacing:0; }
}
.ss-languages a[lang="zh-hans"] { font-family:'PingFang SC','Microsoft YaHei',sans-serif; letter-spacing:0; }

/* Dark archive captions must not inherit the paper palette. */
.m46-project .o22-archive-photo figcaption > span { color:#bcc8b0; }
/* Keep the first keyboard destination above the fixed header. */
.skip-link { z-index:100; }

/* The counter remains legible in the tablet/desktop craft selector. */
.craft-caption > span[data-craft-count] { color: #526047; }
