/* Shared tokens and foundations; component/state refinements retain cascade order. */
@font-face{font-family:"Inter Tight";src:url("fonts/inter-tight-semibold-latin.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight Extended";src:url("fonts/inter-tight-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0250-02FF,U+0370-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2200-FEFE,U+FF00-FFFC,U+FFFE-10FFFF}
@font-face{font-family:"PubliFluorNormaleRush";src:url("fonts/PubliFluorNormaleRush.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"FDL Logo Custom A";src:url("fonts/fdl-logo-custom-a.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--font-language:.8rem;--font-separator:.75rem;--font-nav-mobile:.95rem;--font-section:clamp(1.9rem,2.8vw,2.6rem);--font-caption:12px;--font-small:.85rem;--font-help:14px;--font-brand:2.15rem;--font-heading:clamp(3rem,5.5vw,5.25rem);--font-brand-mobile:clamp(1.75rem,8.2vw,3.5rem);--font-heading-mobile:clamp(2.25rem,11.28vw,4.5rem);--font-viewer-control:28px;--font-compact:13px;--font-status:24px;--font-body:16px;--font-status-icon:44px;--font-status-mobile:18px;--font-empty-icon:120px;--font-empty-icon-mobile:96px;--space-8:8px;--space-16:16px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-72:72px;--target:44px;--ac-tint:#e9dcfa;--ink-nav:#161616;--fg:#212121;--bg:#f7f7f7;--ac:#7200e6;--ac-text:#7200e6;--mu:#5f5f5f;--line:rgb(33 33 33/.16);--paper:#fff;--chip:#e9e9e9;--chip-hover:#dcdcdc;--focus:3px solid var(--ac);--bw-1:1px;--bw-2:2px;}
*{box-sizing:border-box;}
@font-face{font-family:"Inter Tight";src:url("fonts/inter-tight-medium-latin.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight Extended";src:url("fonts/inter-tight-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0250-02FF,U+0370-1DFF,U+1F00-1FFF,U+2070-209F,U+20D0-20FF,U+2150-218F,U+2200-FEFE,U+FF00-FFFC,U+FFFE-10FFFF}
body{margin:0;font:500 16px/1.5 "Inter Tight","Inter Tight Extended",Arial,sans-serif;color:var(--fg);background:var(--bg);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em;}
a,button{transition:background-color .15s,color .15s,border-color .15s;}
a:focus-visible,button:focus-visible{outline:var(--focus);outline-offset:2px;}
.skip{position:absolute;left:-9999px;top:0;z-index:10;background:var(--fg);color:var(--bg);padding:var(--space-8) var(--space-16);text-decoration:none;}
.skip:focus{left:var(--space-8);top:var(--space-8);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
h1[tabindex="-1"]:focus{outline:none;}
.top{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-24);align-items:center;padding:var(--space-16) var(--space-32);border-bottom:var(--bw-2) solid var(--fg);background:var(--nav-bg,#ff3b30);}
.logo{font-family:"PubliFluorNormaleRush",sans-serif;font-synthesis:none;font-weight:400;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;}
nav{display:flex;gap:var(--space-8) var(--space-16);flex-wrap:wrap;}
nav a{display:inline-flex;align-items:center;min-height:var(--target);font-weight:600;text-decoration:none;text-underline-offset:.25em;}
nav a[aria-current]{text-decoration:underline;}
.lang{display:flex;align-items:center;gap:.1rem;margin-left:auto;}
.lang button{-webkit-text-fill-color:var(--mu);font:inherit;font-size:var(--font-language);font-weight:600;color:var(--mu);background:none;border:none;min-height:var(--target);min-width:24px;padding:var(--space-8) .2rem;cursor:pointer;text-decoration:none;text-underline-offset:.25em;}
.lang button[aria-pressed=true]{-webkit-text-fill-color:var(--fg);color:var(--fg);text-decoration:underline;}
.lang-sep{color:var(--mu);opacity:.5;font-size:var(--font-separator);user-select:none;display:inline-flex;align-items:center;align-self:center;}
main,footer{max-width:1520px;width:100%;margin:0 auto;padding:var(--space-32) var(--space-32) var(--space-48);}
main{flex:1;}
@media(max-width:760px){main,footer{padding:var(--space-16) var(--space-16) var(--space-24);}}
@media(max-width:760px){.top{display:flex;flex-wrap:wrap;column-gap:0;align-items:stretch;padding:var(--space-16) var(--space-16) 0;}
.logo{flex:0 0 100%;line-height:1.05;white-space:normal;}
.top nav{flex:1;display:flex;align-items:stretch;margin-left:calc(var(--space-16)*-1);padding-left:var(--space-16);border-top:var(--bw-2) solid var(--fg);}
.top nav a{min-height:48px;font-size:var(--font-nav-mobile);}
.top .lang{align-items:center;margin-right:calc(var(--space-16)*-1);padding:0 var(--space-16);border-top:var(--bw-2) solid var(--fg);border-left:var(--bw-2) solid var(--fg);}
.top .lang button{min-height:48px;}}
h1{font-weight:700;letter-spacing:.01em;line-height:1.05;margin:0 0 var(--space-16);text-wrap:balance;}
h2{font-weight:700;letter-spacing:.01em;font-size:var(--font-section);line-height:1.05;margin:0 0 var(--space-40);text-wrap:balance;}
p{margin:0 0 var(--space-16);}
.call{margin:0 0 var(--space-72);}
.call h2{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);align-items:center;}
.call h2 a{display:inline-flex;align-items:center;min-height:var(--target);}
.meta{display:flex;align-items:center;gap:var(--space-8);margin:0 0 var(--space-24);}
.meta .year{font-weight:600;color:var(--mu);}
.grid{display:grid;grid-template-columns:1fr;gap:var(--space-24);}
@media(min-width:761px){.grid{grid-template-columns:repeat(3,1fr);gap:var(--space-32);}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:761px){.grid a.t0{transform:rotate(-1.1deg) translateY(7px);}
.grid a.t1{transform:rotate(.9deg) translateY(-6px);}
.grid a.t2{transform:rotate(-.7deg) translateY(11px);}
.grid a.t3{transform:rotate(1.3deg) translateY(-9px);}
.grid a.t4{transform:rotate(-1.4deg) translateY(2px);}}
[hidden]{display:none!important;}
.grid>*{align-self:start;min-width:0;}
.grid img{width:100%;height:auto;object-fit:contain;display:block;border:var(--bw-1) solid var(--line);background:var(--paper);max-width:100%;}
.prop-title{display:block;font-size:var(--font-caption);font-weight:600;line-height:1.3;overflow-wrap:anywhere;}
.grid a{text-decoration:none;}
.detail{display:grid;gap:var(--space-24);grid-template-columns:minmax(0,640px) minmax(280px,360px);justify-content:start;}
.d-img{order:-1;}
@media(max-width:760px){.detail{grid-template-columns:1fr;}}
.detail img{width:100%;max-width:640px;height:auto;border:var(--bw-2) solid var(--fg);background:var(--paper);}
.btns{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8);}
.btn{display:inline-flex;align-items:center;min-height:var(--target);padding:var(--space-8) var(--space-16);border:var(--bw-2) solid var(--fg);text-decoration:none;font-weight:600;color:var(--fg);-webkit-text-fill-color:var(--fg);}
.btn.primary{background:var(--fg);color:var(--bg);-webkit-text-fill-color:var(--bg);}
.btn:hover{background:var(--fg);color:var(--bg);-webkit-text-fill-color:var(--bg);}
.muted{color:var(--mu);}
.note{border-left:4px solid var(--ac);padding:var(--space-8) var(--space-16);margin:var(--space-16) 0;background:var(--paper);}
.prose{max-width:64ch;}
.prose h2{margin:var(--space-40) 0 var(--space-8);}
body{text-wrap:pretty;}
h1,h2,h3{overflow-wrap:break-word;}
.crumbs{margin:0 0 var(--space-8);}
.crumbs a{display:inline-flex;align-items:center;min-height:var(--target);}
footer{margin-top:auto;font-size:var(--font-small);color:var(--mu);text-align:left;padding-bottom:32px;}
footer p{margin:0;}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:var(--space-8) 0 var(--space-40);}
.chips button{color:var(--fg);-webkit-text-fill-color:var(--fg);font-family:inherit;font-weight:600;font-size:inherit;text-align:left;text-wrap:balance;background:var(--chip);border:var(--bw-1) solid var(--line);min-height:var(--target);padding:var(--space-8) var(--space-16);cursor:pointer;}
.chips button:hover{background:var(--chip-hover);}
.chips button[aria-pressed=true]{background:var(--fg);color:var(--bg);-webkit-text-fill-color:var(--bg);}
a.prop .prop-meta{display:block;font-size:var(--font-caption);font-weight:600;line-height:1.3;margin-top:0;color:var(--mu);}
.tile{border:var(--bw-1) solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;}
.pdf-tile{aspect-ratio:4/3;font-weight:700;}
.upl{display:grid;gap:var(--space-24);max-width:40rem;margin:var(--space-24) 0 var(--space-32);border:var(--bw-2) solid var(--fg);padding:var(--space-24);background:var(--paper);}
.upl label{display:grid;gap:var(--space-8);}
.upl fieldset{border:var(--bw-1) solid var(--fg);display:grid;gap:0;padding:var(--space-8) var(--space-16);margin:0;}
.upl fieldset legend{padding:0 var(--space-8);}
.upl .chk{display:flex;gap:var(--space-8);align-items:center;min-height:var(--target);cursor:pointer;}
.upl input[type=text],.upl input[type=url]{color:var(--fg);-webkit-text-fill-color:var(--fg);font:inherit;min-height:var(--target);padding:var(--space-8) var(--space-16);border:var(--bw-1) solid var(--fg);background:var(--paper);}
.upl input[type=text]:focus,.upl input[type=url]:focus{outline:var(--focus);outline-offset:2px;}
.upl .file-ctl{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);align-items:center;}
.upl .file-btn{display:inline-flex;align-items:center;min-height:var(--target);padding:var(--space-8) var(--space-16);border:var(--bw-1) solid var(--fg);background:none;cursor:pointer;font-weight:600;}
.upl .file input[type=file]:focus-visible~.file-ctl .file-btn{outline:var(--focus);outline-offset:2px;}
.upl .file-btn:hover{background:var(--fg);color:var(--bg);}
.upl .file-names{overflow-wrap:anywhere;}
.upl .chk input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;margin:0;border:var(--bw-2) solid var(--fg);background:var(--paper);cursor:pointer;}
.upl .chk input[type=checkbox]:checked{background:var(--fg) url("/icons/check.svg") center/14px no-repeat;}
.upl .chk input[type=checkbox]:focus-visible{outline:var(--focus);outline-offset:2px;}
.upl .btn{cursor:pointer;font-size:inherit;background:var(--fg);color:var(--bg);-webkit-text-fill-color:var(--bg);justify-self:start;}
.upl-calle{display:block;padding:var(--space-24);}
.upl-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-24);}
.upl-calle-txt{display:grid;gap:var(--space-8);}
.upl-calle-help{font-size:var(--font-small);}
.upl-preview{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-16);margin-top:var(--space-16);}
.upl-preview img,.upl-thumbs img{width:64px;height:64px;object-fit:contain;border:var(--bw-1) solid var(--line);background:var(--paper);}
.upl-thumbs{display:flex;flex-wrap:wrap;gap:var(--space-8);}
.msgok,.msgerr{display:inline-block;padding:var(--space-8) var(--space-8);border-left:4px solid var(--fg);}
.msgerr{border-color:var(--ac);}
#uplmsg:focus{outline:none;}
.img-fail{aspect-ratio:311/434;color:var(--mu);}
#uplmsg{margin:0;}
#uplmsg:empty{display:none;}
.upl .btn:hover,.btn.primary:hover{background:var(--ac-text);border-color:var(--ac-text);}
.upl .btn:disabled{opacity:.6;cursor:wait;}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
.more-h{margin:var(--space-32) 0 var(--space-16);}
.detail .prose{margin:var(--space-8) 0;}
.prop-static{cursor:default;}
.prop-static .prop-meta{text-decoration:none;}
.detail .meta a{color:inherit;font-weight:600;text-decoration:underline;display:inline-flex;align-items:center;min-height:var(--target);}
.upl input.visually-hidden{width:1px;height:1px;min-height:0;padding:0;border:0;margin:-1px;}
.server-preview{width:100%;max-width:640px;height:auto;}
a.prop{display:block;border:var(--bw-1) solid var(--line);background:var(--paper);}
.grid a.prop img{border:0;}
.prop-caption{display:block;background:var(--paper);padding:4px;text-align:center;}
.prop-title{margin-top:0;}
@media(max-width:760px){.grid a.prop.t0{transform:rotate(-1.1deg);}
.grid a.prop.t1{transform:rotate(.9deg);}
.grid a.prop.t2{transform:rotate(-.7deg);}
.grid a.prop.t3{transform:rotate(1.3deg);}
.grid a.prop.t4{transform:rotate(-1.4deg);}}
.work-categories{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:var(--space-16) 0;}
.work-categories a{display:inline-flex;align-items:center;min-height:var(--target);padding:2px 6px;border:1px solid #c5c5c5;background:transparent;color:var(--fg);text-decoration:none;font-size:var(--font-caption);line-height:1.3;}
.work-variants{border:1px solid var(--line);padding:var(--space-16);}
.work-variants summary{cursor:pointer;font-weight:600;}
.work-variants[open]{display:grid;gap:var(--space-16);}
.work-variants input[type=file]{max-width:100%;font:inherit;font-size:var(--font-help);}
.work-variants .btn{justify-self:start;}
.variant-fields{display:grid;gap:var(--space-16);padding-top:var(--space-16);}
.variant-fields p{margin:0;}
.variant-remove{font:inherit;font-size:var(--font-help);background:transparent;border:0;text-decoration:underline;padding:4px 0;min-height:var(--target);cursor:pointer;}
@media(min-width:761px){.top{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;}
.top nav{grid-column:1;grid-row:1;justify-self:start;}
.top .logo{grid-column:2;grid-row:1;justify-self:center;}
.top .lang{grid-column:3;grid-row:1;justify-self:end;margin-left:0;}}
.top{color:var(--ink-nav);}
.top nav,.top .lang{border-color:var(--ink-nav);}
.top .lang button,.top .lang button[aria-pressed=true]{color:var(--ink-nav);-webkit-text-fill-color:var(--ink-nav);}
.top .lang-sep{color:var(--ink-nav);opacity:1;}
.top a:focus-visible,.top button:focus-visible{outline:3px solid var(--ink-nav);}
button,input,select,textarea{font-family:inherit;font-weight:600;}

.prose a[href^="mailto:"]{overflow-wrap:anywhere;}
.upl>* , .upl fieldset, .upl input[type=text], .upl input[type=url]{min-width:0;}
.desc-field{display:grid;gap:var(--space-8);}
.upl textarea{width:100%;min-width:0;resize:vertical;font:inherit;color:var(--fg);background:var(--paper);border:var(--bw-1) solid var(--fg);padding:var(--space-8) var(--space-16);}
.upl .chk input[type=checkbox]{width:24px;height:24px;}
.chips a.btn{min-height:var(--target);padding:var(--space-8) var(--space-16);font-weight:600;background:var(--chip);border:var(--bw-1) solid var(--line);}
@font-face{font-family:"PubliFluorNormale";src:url("/fonts/PubliFluorNormale.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.logo{font-size:var(--font-brand);line-height:1;position:relative;top:.06em;}
.logo .kern-ma{margin-right:-.065em;}
.logo .kern-ha{margin-right:-.06em;}
.logo .custom-a{font-family:"FDL Logo Custom A",sans-serif;}
h1,h2,h3,h4,h5,h6{font-family:"PubliFluorNormale",sans-serif;font-weight:400;font-synthesis:none;letter-spacing:-.01em;line-height:.9;}
h1{font-size:var(--font-heading);}
@media(min-width:761px){.top{padding:4px var(--space-32);}
.top .logo{align-self:center;}}
@media(max-width:760px){.top{padding-top:8px;padding-bottom:0;}
.logo{font-size:var(--font-brand-mobile);margin-bottom:0;}
h1{font-size:var(--font-heading-mobile);}}
.detail-prop .d-img{min-width:0;padding:8px;}
.work-preview{display:block;padding:0;border:0;background:transparent;cursor:zoom-in;max-width:100%;width:100%;transform:rotate(-1.1deg);transform-origin:center;}
.detail .work-preview img{display:block;border:0;margin:auto;max-width:100%;height:auto;}
.work-viewer{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:48px 64px;border:0;background:transparent;color:#fff;overflow:hidden;}
.work-viewer::backdrop{background:rgba(0,0,0,.88);}
.viewer-stage{height:100%;width:100%;display:flex;align-items:center;justify-content:center;}
.viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.viewer-close,.viewer-prev,.viewer-next{position:absolute;display:grid;place-items:center;width:var(--target);height:var(--target);border:0;background:transparent;color:#fff;font-size:var(--font-viewer-control);cursor:pointer;}
.viewer-close{right:8px;top:8px;}
.viewer-prev{left:8px;top:calc(50% - 22px);}
.viewer-next{right:8px;top:calc(50% - 22px);}
.viewer-count{position:absolute;bottom:8px;left:64px;right:64px;margin:0;text-align:center;font-size:var(--font-compact);}
.viewer-pdf{height:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0;}
.viewer-pdf img{min-height:0;flex:1;}
.viewer-pdf .btn{flex-shrink:0;background:#fff;color:#212121;-webkit-text-fill-color:#212121;}
@media(max-width:760px){.work-viewer{padding:56px 40px;}
.viewer-prev{left:0;}
.viewer-next{right:0;}
.viewer-count{left:40px;right:40px;font-size:var(--font-caption);}}
@media(prefers-reduced-motion:reduce){.work-preview{transition:none;}}
.upload-editor{gap:24px;padding:0;border:0;background:transparent;align-items:start;}
.upload-visual{position:relative;min-width:0;}
.upload-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:360px;width:100%;padding:12px;border:1px dashed var(--mu);background:var(--paper);color:var(--fg);cursor:pointer;font:inherit;text-align:center;}
.upload-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;width:100%;gap:16px;}
.upload-art img{display:block;width:auto;max-width:100%;max-height:760px;height:auto;object-fit:contain;transform:rotate(-1.1deg);}
.upload-change{display:inline-block;margin-top:16px;text-decoration:underline;font-weight:600;min-height:var(--target);}
.upload-drop.dragging{outline:var(--focus);}
.upload-fields{display:grid;gap:24px;min-width:0;}
.upload-editor .upl-thumbs{display:none;}
.upload-editor .file-ctl{font-size:var(--font-compact);}
.upload-preview-options{gap:8px;}
.upload-editor .upload-preview-options .btn{font-size:var(--font-caption);padding:8px;}
.upload-preview-options [aria-pressed=true]{outline:2px solid var(--fg);outline-offset:2px;}
.upload-status{position:absolute;inset:0;background:rgba(247,247,247,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;font-size:var(--font-status);font-weight:600;z-index:2;}
.upload-status[hidden]{display:none;}
.upload-status[data-state=error]{position:relative;font-size:var(--font-body);background:var(--paper);border-left:4px solid var(--ac);margin-top:16px;}
.upload-status[data-state=loading]::before{content:"";width:32px;height:32px;border:3px solid var(--line);border-radius:50%;animation:upload-spin 1s linear infinite;}
.upload-status[data-state=success]::before{content:"✓";font-size:var(--font-status-icon);}
.upload-pdf-note,.upload-public-note{font-size:var(--font-compact);}
.just-published{outline:3px solid var(--fg);outline-offset:6px;}
.published-notice{max-width:40rem;}
@keyframes upload-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.upload-drop{min-height:240px;}
.upload-art{min-height:200px;}
.upload-art img{max-height:520px;}
.upload-fields{gap:20px;}}
@media(prefers-reduced-motion:reduce){.upload-status[data-state=loading]::before{animation:none;}}
.upload-editor[data-upload-state=loading] .upload-visual,.upload-editor[data-upload-state=success] .upload-visual{scroll-margin-top:16px;}
@media(max-width:760px){.upload-status[data-state=loading],.upload-status[data-state=success]{position:fixed;inset:auto 16px 16px;min-height:88px;padding:16px;flex-direction:row;font-size:var(--font-status-mobile);border:2px solid var(--fg);background:var(--paper);z-index:20;}
.upload-status[data-state=success]::before{font-size:var(--font-viewer-control);}
.upload-status[data-state=loading]::before{width:24px;height:24px;}}
.upload-drop.has-file{padding:0;border:0;min-height:0;background:transparent;}
.upload-drop.has-file .upload-art{min-height:0;gap:0;}
.upload-drop.has-file .upload-art img{width:100%;max-height:none;height:auto;transform:none;}
.upload-drop.has-file .upload-change{display:none;}
.upload-preview-options:empty{display:none;}
.upload-file{display:grid;gap:8px;}
.upload-file-name{display:flex;align-items:center;gap:8px;font-size:var(--font-compact);}
.upload-file-name .file-names{min-width:0;}
.file-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--fg);font:inherit;font-size:var(--font-status);cursor:pointer;}
.file-remove[hidden]{display:none;}
.file-remove:hover{background:var(--line);}
@media(min-width:761px){.upload-intro{grid-column:1;grid-row:1;}
.upload-fields{grid-column:1;grid-row:2;}
.upload-visual{grid-column:2;grid-row:1 / span 2;position:sticky;top:24px;}}
.upload-intro{margin:0;font-size:var(--font-help);line-height:1.5;}
.upload-intro p{margin:0 0 12px;}
.upload-intro p:last-child{margin-bottom:0;}
.upload-fields{gap:20px;}
.upload-fields label,.upload-file>label,.upload-fields legend{font-size:var(--font-help);}
.upload-fields fieldset{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;padding:16px;}
.upload-fields fieldset .chk{margin:0;font-size:var(--font-compact);align-items:center;min-height:var(--target);}
.upload-fields fieldset .chk:last-child{grid-column:1 / -1;}
.upload-fields .work-variants{padding:12px 16px;}
.upload-fields .work-variants summary{font-size:var(--font-help);}
.upload-fields .upload-public-note{margin:0;}
.upload-fields .desc-field{gap:8px;}
.upload-fields button[type=submit]{justify-self:start;}
.upload-file-name{min-height:var(--target);}
@media(max-width:760px){.upload-intro{grid-row:1;}
.upload-visual{grid-row:2;}
.upload-fields{grid-row:3;}
.upload-fields fieldset{grid-template-columns:1fr;}
.upload-fields fieldset .chk:last-child{grid-column:auto;}}
.upload-editor{max-width:none;grid-template-columns:minmax(340px, 1fr) minmax(0, 1fr);column-gap:64px;row-gap:24px;}
.upload-fields{padding:24px;border:1px solid var(--fg);background:transparent;}
@media(max-width:1000px) and (min-width:761px){.upload-editor{column-gap:32px;grid-template-columns:minmax(320px,1fr) minmax(0,1fr);}
.upload-fields{padding:20px;}
.upload-fields fieldset{grid-template-columns:1fr;}
.upload-fields fieldset .chk:last-child{grid-column:auto;}}
@media(max-width:760px){.upload-editor{grid-template-columns:1fr;gap:24px;}
.upload-fields{padding:20px;}}
.upload-file-name.has-file{display:grid;grid-template-columns:24px minmax(0,1fr) 32px 32px;gap:8px;padding:12px;border:1px solid var(--line);background:var(--bg);}
.upload-file-thumb{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--font-caption);overflow:hidden;}
.upload-file-thumb[hidden]{display:none;}
.upload-file-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.file-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;border:0;padding:6px;background:transparent;color:var(--fg);cursor:pointer;}
.file-icon[hidden]{display:none;}
.file-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;}
.file-icon:hover{background:var(--line);}
.file-icon:focus-visible{outline:var(--focus);outline-offset:2px;}
@media(max-width:380px){.upload-file-name.has-file{grid-template-columns:24px minmax(0,1fr) 28px 28px;gap:4px;padding:8px;}
.upload-file-thumb{width:24px;height:24px;}
.file-icon{width:28px;padding:4px;}}
.upload-editor input[type=text],.upload-editor input[type=url],.upload-editor textarea,.upload-editor .chk input[type=checkbox]:not(:checked),.upload-editor .upload-file-name.has-file,.upload-editor .upload-drop,.upload-editor .work-variants,.upload-editor fieldset{background:transparent;}
.upload-fields .ts-holder:empty{display:none;}
.upload-file-help{font-size:var(--font-compact);margin:0;}
.upload-select{justify-self:start;font:600 14px/1.5 "Inter Tight","Inter Tight Extended",Arial,sans-serif;padding:16px;min-height:var(--target);border:1px solid var(--fg);background:transparent;color:var(--fg);cursor:pointer;}
.upload-select[hidden]{display:none;}
.upload-select:hover{background:var(--fg);color:var(--bg);}
.upload-select:focus-visible{outline:var(--focus);outline-offset:2px;}
.upload-fields button[type=submit]{font:600 16px/1.5 "Inter Tight","Inter Tight Extended",Arial,sans-serif;justify-content:center;padding:16px;min-width:0;min-height:var(--target);margin:0;text-align:center;padding:8px 16px;}
.upload-fields button[type=submit]:hover{background:var(--ac);border-color:var(--ac);color:var(--bg);-webkit-text-fill-color:var(--bg);}
.variant-field{display:grid;gap:8px;min-width:0;}
.variant-card[hidden]{display:none;}
.upload-file-name.variant-card{padding:8px;gap:4px;grid-template-columns:24px minmax(0,1fr) 28px 28px;}
.variant-card .file-icon{width:28px;padding:4px;}
.variant-card .file-names{overflow-wrap:anywhere;min-width:0;}
.upload-file-name.variant-card .file-names{margin-left:4px;}
.upload-fields .work-variants[open]{gap:0;}
.upload-fields .variant-fields{padding-top:12px;}
.upload-file>label{margin-bottom:-4px;}
.upload-preview-options .btn:first-child{border-radius:4px 0 0 4px;}
.upload-preview-options .btn:last-child{border-radius:0 4px 4px 0;}
.upload-preview-options .btn+.btn:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#d4d4d4;}
.upload-preview-options .btn[aria-pressed=true]{background:var(--fg);color:var(--bg);outline:0;}
.upload-preview-options .btn[aria-pressed=true]:before,.upload-preview-options .btn[aria-pressed=true]+.btn:before{display:none;}
.upload-preview-options .btn:hover:not([aria-pressed=true]){background:#dedede;}
.upload-preview-options .btn:focus-visible{z-index:1;}
.upload-preview-options{display:flex;flex-wrap:nowrap;gap:0;margin-top:16px;border-radius:4px;background:#ededed;isolation:isolate;width:max-content;max-width:100%;justify-self:start;}
.upload-editor .upload-preview-options .btn{position:relative;flex:1 1 0;min-width:0;padding:10px 8px;border:0;border-radius:0;background:transparent;color:var(--fg);font:500 13px/1.4 "Inter Tight","Inter Tight Extended",Arial,sans-serif;text-align:center;justify-content:center;white-space:normal;box-shadow:none;outline:0;-webkit-text-fill-color:currentColor;flex:0 1 auto;}
.upload-empty-glyph{display:block;margin-bottom:-24px;font-family:"PubliFluorNormale";font-size:var(--font-empty-icon);font-weight:400;font-style:normal;font-synthesis:none;line-height:1;color:#000;-webkit-text-fill-color:currentColor;}
@media(max-width:760px){.upload-empty-glyph{font-size:var(--font-empty-icon-mobile);}}
.upload-drop:not(.has-file){border:1px dashed #000;background-image:none;}
.action-intro{max-width:none;}
a:not(.btn):not(.prop):not(.logo):hover{color:var(--ac);text-decoration:underline;text-decoration-thickness:2px;}
a:not(.btn):not(.prop):not(.logo):active{color:var(--ac);text-decoration-thickness:3px;}
.top a:not(.logo):hover{color:inherit;text-decoration:underline;text-decoration-thickness:2px;}
.logo:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em;}
a.prop:hover .prop-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em;}
a.prop:hover{outline:2px solid var(--ac);outline-offset:2px;}
.top a:focus-visible,.top button:focus-visible{outline:var(--focus);outline-offset:3px;box-shadow:0 0 0 3px var(--bg);}
.upl input[type=text]:focus,.upl input[type=url]:focus,.upl textarea:focus,.upl .chk input[type=checkbox]:focus-visible{outline:var(--focus);outline-offset:2px;border-radius:0;}
.upl .chk input[type=checkbox]:checked{background:var(--ac) url("/icons/check.svg") center/14px no-repeat;border-color:var(--ac);}
.upl .upload-select:hover,.upl .file-btn:hover,.file-icon:hover,.file-remove:hover,.btn:hover,.chips a.btn:hover{background:var(--ac);border-color:var(--ac);color:var(--bg);-webkit-text-fill-color:var(--bg);}
.upload-preview-options .btn:focus-visible{outline:var(--focus);outline-offset:-3px;}
.upload-preview-options .btn:hover:not([aria-pressed=true]){background:var(--ac-tint);color:var(--fg);-webkit-text-fill-color:var(--fg);}
.chips button[aria-pressed=true]{background:var(--ac);border-color:var(--ac);}
.chips button:hover:not([aria-pressed=true]){background:var(--ac-tint);}
.lang button:hover{text-decoration:underline;text-decoration-thickness:2px;}
.work-variants summary:hover{color:var(--ac);}
.work-variants summary:focus-visible{outline:var(--focus);outline-offset:2px;}
.msgok,.msgerr,.upload-status[data-state=error]{border-left:4px solid var(--ac);background:transparent;padding:8px 12px;font-size:var(--font-help);line-height:1.5;font-weight:500;}
.upload-status[data-state=loading]::before{border-top-color:var(--ac);}
.upload-status[data-state=success]::before{color:var(--ac);}
.upl .btn:disabled,.upl .upload-select:disabled,.upl .file-icon:disabled{opacity:.6;cursor:wait;background:var(--fg);border-color:var(--fg);color:var(--bg);-webkit-text-fill-color:var(--bg);}
.top a:not(.btn):not(.prop):not(.logo):hover,.top a:not(.btn):not(.prop):not(.logo):active{color:var(--ink-nav);}
#work-desc-help,.upload-use-note{font-size:var(--font-help);line-height:1.45;margin:8px 0 16px;}
.msgvalidation{border-left:3px solid var(--ac);padding:10px 12px;font-size:var(--font-help);}
@media(min-width:761px){.upload-editor .upload-fields{grid-row:1;}
.upload-editor .upload-visual{grid-row:1;}}
@media(max-width:760px){.upload-editor .upload-visual{grid-row:1;}
.upload-editor .upload-fields{grid-row:2;}}
.upload-editor .upload-select,.upload-editor button[type=submit],.upload-editor>[data-cancel-upload]{font:600 16px/1.5 "Inter Tight","Inter Tight Extended",Arial,sans-serif;min-height:var(--target);padding:8px 16px;border-width:1px;}
.upload-editor .upload-preview-options .btn{min-height:var(--target);padding:8px 12px;}
.upload-editor .upload-file-name.has-file,.upload-editor .upload-file-name.variant-card{grid-template-columns:24px minmax(0,1fr) var(--target) var(--target);}
.upload-editor .file-icon{width:var(--target);height:var(--target);min-width:var(--target);padding:12px;}
.upload-editor .file-icon svg{width:20px;height:20px;}
.action-intro{margin-bottom:8px;}
.action-intro+.prose{margin-top:0;}
.top .logo:hover,.top .logo:active{text-decoration:none;}
.upl-calle{padding:24px;}
.upl-calle .upl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;}
.upl-calle .upl-calle-txt{gap:2px;min-width:0;}
.upl-calle [data-pick]{justify-self:end;}
.upl-calle .upl-preview{display:grid;gap:16px;margin-top:16px;}
.upl-calle .upl-preview[hidden]{display:none;}
.upl-calle .calle-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;}
.upl-calle .calle-thumbs img{width:100%;height:auto;aspect-ratio:1;max-height:112px;object-fit:contain;}
.upl-calle .calle-review-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
.upl-calle .calle-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto;justify-content:flex-end;}
.upl-calle #uplmsg:empty{display:none;}
.upl-calle #uplmsg:not(:empty){display:block;margin-top:16px;overflow-wrap:anywhere;}
.upl-calle .ts-holder:empty{display:none;}
.upl-calle[aria-busy=true] .calle-thumbs{opacity:.65;}
.upl-calle .btn{min-height:var(--target);padding:8px 16px;font:600 16px/1.5 "Inter Tight","Inter Tight Extended",Arial,sans-serif;border-width:1px;}
@media(max-width:600px){.upl-calle{padding:20px;}
.upl-calle .upl-row{grid-template-columns:1fr;gap:12px;}
.upl-calle .calle-review-bar{align-items:flex-start;}
.upl-calle .calle-review-bar>span{flex-basis:100%;}}
.detail-prop .d-info{min-width:0;width:100%;max-width:none;}
.detail-prop h1{overflow-wrap:normal;word-break:normal;text-wrap:balance;}
@media(min-width:761px){.detail-prop{grid-template-columns:minmax(0,640px) minmax(280px,1fr);}}
@media(max-width:760px){.upload-visual:has(.upload-drop:not(.has-file)){display:none;}}
.category-headline{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;}
@media(max-width:760px){.upload-editor:has(.upload-drop:not(.has-file)){margin-top:16px;}
.upload-editor:has(.upload-drop:not(.has-file)) .upload-fields{grid-row:1;}}
@media(max-width:760px){.upl-calle [data-pick]{justify-self:start;}}
.upload-fields .desc-field{row-gap:2px;}
.desc-field #work-desc-help{margin:0;}
.desc-field #work-desc{margin-top:6px;}

/* Header underline keeps its resting weight through hover, press and focus. */
.top nav a:not(.btn):not(.prop):not(.logo),.top nav a:not(.btn):not(.prop):not(.logo):hover,.top nav a:not(.btn):not(.prop):not(.logo):active,
.top .lang button,.top .lang button:hover,.top .lang button:active{ text-decoration-thickness:1px; }

/* Progressive enhancement: short opacity-only page changes, never movement. */
@media (prefers-reduced-motion: no-preference){
 @view-transition{navigation:auto;}
 ::view-transition-group(root){animation:none;}
 ::view-transition-old(root){animation:fdl-page-out 240ms cubic-bezier(0.76,0,0.24,1) both;mix-blend-mode:normal;}
 ::view-transition-new(root){animation:fdl-page-in 240ms cubic-bezier(0.76,0,0.24,1) both;mix-blend-mode:normal;}
}
@media (prefers-reduced-motion: reduce){
 @view-transition{navigation:none;}
 ::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none;}
}
@keyframes fdl-page-out{from{opacity:1}to{opacity:0}}
@keyframes fdl-page-in{from{opacity:0}to{opacity:1}}

/* Filters fade only the results, while chips, heading and keyboard focus stay still. */
@media (prefers-reduced-motion: no-preference){
 html.filter-transition .gallery-results{view-transition-name:gallery-results;}
 html.filter-transition::view-transition-old(root),html.filter-transition::view-transition-new(root){animation:none;}
 ::view-transition-group(gallery-results){animation:none;}
 ::view-transition-old(gallery-results){animation:fdl-page-out 180ms cubic-bezier(0.76,0,0.24,1) both;mix-blend-mode:normal;}
 ::view-transition-new(gallery-results){animation:fdl-page-in 180ms cubic-bezier(0.76,0,0.24,1) both;mix-blend-mode:normal;}
}

/* Reserve classic scrollbar space and keep the persistent header out of the fade. */
html{scrollbar-gutter:stable;}
@media (prefers-reduced-motion: no-preference){
 .top{view-transition-name:site-header;}
 ::view-transition-group(site-header){animation:none;}
 ::view-transition-old(site-header){display:none;}
 ::view-transition-new(site-header){animation:none;mix-blend-mode:normal;}
}

/* Detail category links: approved option 1, compact and always recognizable. */
.work-categories{gap:8px;}
.work-categories a{min-height:24px;height:auto;padding:0;border:0;background:transparent;color:var(--ac);font-size:12px;line-height:24px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.work-categories a:not(.btn):not(.prop):not(.logo):hover,.work-categories a:not(.btn):not(.prop):not(.logo):active{color:var(--fg);text-decoration-thickness:1px;}
.work-categories a:focus-visible{outline:3px solid var(--ac);outline-offset:3px;}
