/* Layout: one poster per film (colour field with quote + credits on top, still→film below, giant title on the cut). Shop alternates colour plates and framed stills. */
:root{
  color-scheme: light;
  --paper:#F1ECE3;
  --ink:#171310;
  --red:#DB5541;
  --amber:#C88B4E;
  --pink:#F28DB7;
  --sky:#9FC8E2;
  --lemon:#E4DD96;
  --sage:#A9C2B0;
  --teal:#8DB7B4;
  --ice:#BCD7E6;
  --dusk:#A3AECF;
  --peri:#B9BDE6;
  --rose:#E9B7C6;
  --moss:#4F7740;
  --lilac:#C9B6E4;
  --apricot:#F2A65A;
  --display:"League Gothic","Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Courier New",monospace;
  --gutter:clamp(16px,3vw,40px);
}
:root[data-font="clermont"]{--display:"Lilita One","Arial Black",sans-serif}
:root[data-font="wave"]{--display:"Kablammo","Arial Black",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45;margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* header */
.top{display:contents}
.cross{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:var(--gutter);z-index:41;width:38px;height:38px;border:0;background:transparent;cursor:pointer;flex:none;filter:drop-shadow(0 0 3px rgba(0,0,0,.35))}
.cross span{position:absolute;left:50%;top:50%;width:28px;height:2px;margin:-1px 0 0 -14px;background:#fff;transition:transform .35s ease}
/* zu: gerades Kreuz (+), offen: schräg (×) */
.cross span:first-child{transform:rotate(90deg)}
.cross span:last-child{transform:rotate(180deg)}
.cross[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.cross[aria-expanded="true"] span:last-child{transform:rotate(135deg)}
nav{position:fixed;top:calc(58px + env(safe-area-inset-top,0px));right:var(--gutter);z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
nav[hidden]{display:none}
nav a{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:clamp(19px,2.3vw,30px);line-height:1;text-decoration:none;background:var(--ink);color:var(--paper);padding:6px 12px 4px}
nav a:hover,nav a.on{background:var(--red);color:var(--ink)}

section{scroll-margin-top:0}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

/* WORK */
.work{display:grid;gap:0}
.film{display:grid;grid-template-rows:auto auto}
.plate{--serif:"Vollkorn",Georgia,serif;--sans:"Fira Sans","Helvetica Neue",Arial,sans-serif;background:var(--c,var(--red));color:var(--ink);display:flex;flex-direction:column;gap:0;padding-block:clamp(40px,7vw,120px) clamp(32px,5vw,80px);padding-inline:clamp(20px,6vw,110px);min-height:clamp(560px,78vw,1080px)}
.plate .meta{grid-column:1/-1;flex-direction:row;justify-content:flex-start;text-align:left;gap:24px;display:flex;flex-direction:column;gap:2px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.plate .q{align-self:flex-end;text-align:right;margin:auto 0 clamp(24px,3vw,48px);padding-top:clamp(80px,14vw,260px);font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:clamp(54px,11vw,170px);line-height:.95;letter-spacing:-.01em;text-wrap:balance;max-width:none}
.plate .q i{font-style:normal;display:block}
.plate .q.xlong{font-size:clamp(36px,6.4vw,104px);max-width:22ch}
.plate .q.long{font-size:clamp(44px,8.6vw,136px)}
.credits{align-self:flex-start;text-align:left;margin:0;display:flex;flex-direction:column;gap:1px;font-family:var(--sans);font-weight:300;font-size:9.5px;line-height:1.45;letter-spacing:.07em;text-transform:uppercase}
.credits b{font-weight:600}
.frame{background:var(--c,var(--red))}
.screen{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:var(--r,1.7778);width:100%;max-width:100%}
.screen img,.screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.plate{position:relative}
.screen video{opacity:0;transition:opacity .9s ease}
.screen.playing video{opacity:1}
.title{position:absolute;left:0;right:0;bottom:-.08em;margin:0;padding-inline:var(--gutter);font-family:var(--display);font-weight:400;text-transform:uppercase;color:var(--c,var(--red));font-size:clamp(56px,14vw,230px);line-height:.82;letter-spacing:-.005em;white-space:nowrap;transition:opacity 2.4s ease,transform 2.4s ease;pointer-events:none}
:root[data-font="clermont"] .title,:root[data-font="wave"] .title{font-size:clamp(40px,9vw,160px)}
.title{display:none}
.screen.titleout .title{opacity:0;transform:translateY(12%)}
.screen .ctl{position:absolute;right:14px;top:14px;display:flex;gap:8px;z-index:2}
.ctl button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:rgba(241,236,227,.9);color:var(--ink);border:0;padding:7px 10px;cursor:pointer}
.ctl button:hover{background:var(--paper)}
.film.ph .screen img{filter:grayscale(1) contrast(.9);opacity:.6}
.ph-tag{position:absolute;left:var(--gutter);top:14px;z-index:2;background:var(--paper);padding:5px 8px}

/* PHILOSOPHIE */
.philo.intro{border-top:0}
.philo{--serif:"Vollkorn",Georgia,serif;--sans:"Fira Sans","Helvetica Neue",Arial,sans-serif;--snow:#FBF8F4;--veil:rgba(40,24,30,.18);border-top:1px solid var(--ink)}
.cover{position:relative;isolation:isolate;overflow:hidden;color:var(--snow);background:#8FB3D6 url("../cover-poster.jpg") center/cover no-repeat;padding-block:clamp(28px,5vw,64px);padding-inline:var(--gutter);min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(40px,8vw,120px)}
.cover-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cover::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.22) 0 1px,transparent 1.4px) 0 0/4px 4px,linear-gradient(180deg,rgba(40,30,40,.08),rgba(40,30,40,.28))}
.cover>*:not(.cover-bg){position:relative}
.cover-head{display:grid;gap:6px;padding-right:64px}
.cover .sub .todo{opacity:.55}
.cover .kicker{font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:clamp(20px,2.6vw,36px);line-height:.95;margin:0}
.cover .kicker i{font-weight:400;display:block}
.cover .sub{font-family:var(--sans);font-weight:300;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-top:6px}
.cover .sub b{font-weight:600}
.cover h2{margin:0;font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:clamp(54px,11vw,170px);line-height:.86;letter-spacing:-.01em}
.cover h2 i{font-weight:400}
/* Startzitat höchstens im linken 2/3 (Handy: volle Breite) */
@media (min-width:761px){.cover h2{max-width:66.667%;font-size:clamp(54px,min(10.4vw,13.5svh),170px)}.cover{gap:clamp(24px,4vh,80px)}}
.cover .tag{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:14px}
.cover .foot{font-family:var(--sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase;line-height:1.5}
.cover .foot b{font-weight:600}
.cover .foot a{text-decoration:none;white-space:nowrap}
.cover .foot a:hover{text-decoration:underline}
.about{background:var(--paper);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,64px);padding-block:clamp(40px,6vw,88px);padding-inline:var(--gutter)}
.about .lead{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,42px);line-height:1.05;margin:0;text-wrap:balance}
.about .lead i{font-weight:400}
.about .body{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.55;columns:2 30ch;column-gap:clamp(20px,3vw,48px);max-width:none}
.about .body p{margin:0 0 1em;break-inside:avoid}
.about .body a{color:var(--red)}

/* SHOP */
.shop{border-top:1px solid var(--ink);padding-block:clamp(32px,5vw,64px);padding-inline:var(--gutter)}
.shop-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.shop-head h2{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(56px,9vw,128px);line-height:.85;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.2vw,16px)}
.tile{aspect-ratio:895/1280;max-width:100%;position:relative}
.tafel{background:var(--c);padding:clamp(12px,1.6vw,22px);display:flex;flex-direction:column;justify-content:space-between}
.tafel p{margin:0;font-family:var(--body);font-weight:500;font-size:clamp(14px,1.4vw,19px);line-height:1.15}
.tafel .small{font-family:var(--mono);font-size:10px;line-height:1.4;text-transform:uppercase}
.tafel button{align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;padding:7px 10px;cursor:pointer}
.prod{background:var(--c);padding:clamp(10px,1.4vw,18px)}
.prod img{width:100%;height:100%;object-fit:contain;display:block}
.tafel .pt i{font-weight:400;text-transform:none}
.tafel .pt{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:clamp(20px,2.2vw,32px);line-height:.95;margin:0 0 .4em}
.tafel .pq{font-family:"Vollkorn",Georgia,serif;font-style:italic;font-size:clamp(14px,1.3vw,18px);line-height:1.2;margin:0}
.prod .ph-tag{left:auto;right:8px;top:8px;font-size:9px}

/* font switch */
.fontbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:4px;background:var(--ink);color:var(--paper);padding:5px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;max-width:calc(100% - 32px);flex-wrap:wrap;justify-content:center}
.fontbar span{padding-inline:8px}
.fontbar button{font:inherit;text-transform:inherit;letter-spacing:inherit;background:transparent;color:var(--paper);border:1px solid #6a625a;padding:6px 9px;cursor:pointer}
.fontbar button[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
footer{border-top:1px solid var(--ink);padding-block:18px 80px;padding-inline:var(--gutter);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:820px){
  .plate{grid-template-columns:1fr}
  .plate .meta,.plate .q,.credits{grid-column:1/-1}
  .about{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* print viewer */
.viewer[hidden]{display:none}
.prod{cursor:zoom-in}
.prod:hover img{transform:scale(1.015)}
.prod img{transition:transform .4s ease}
.viewer{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;overflow:auto;padding-block:calc(16px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-bottom,0px));padding-inline:var(--gutter)}
.v-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:56px}
.v-title{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:clamp(26px,3.4vw,48px);line-height:.95;margin:0}
.v-title i{font-weight:400;text-transform:none}
.v-spec{font-family:"Fira Sans",Arial,sans-serif;font-weight:300;font-size:11px;letter-spacing:.07em;text-transform:uppercase;line-height:1.5;margin-top:8px}
.v-spec b{font-weight:600}
.v-close{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:var(--gutter);width:38px;height:38px;border:0;background:var(--ink);border-radius:50%;cursor:pointer;z-index:2}
.v-close span{position:absolute;left:50%;top:50%;width:18px;height:2px;margin:-1px 0 0 -9px;background:var(--paper)}
.v-close span:first-child{transform:rotate(45deg)}.v-close span:last-child{transform:rotate(-45deg)}
.v-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-block:18px 14px}
.v-tabs button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 12px;cursor:pointer}
.v-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.v-stage{flex:1;display:grid;place-items:center;min-height:0;position:relative}
.v-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(23,19,16,.75);color:var(--paper);font-size:20px;cursor:pointer;z-index:3}
.v-prev{left:0}.v-next{right:0}
.v-pnav{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.v-pnav button{width:30px;height:30px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.v-pnav button:hover{background:var(--ink);color:var(--paper)}
.v-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.v-img{max-width:min(100%,900px);max-height:72vh;object-fit:contain;display:block}
/* framed */
.framed{display:inline-block;max-width:100%}
.framed img{display:block;max-height:62vh;max-width:100%;width:auto}
.framed.paper{background:#B98E62;padding:clamp(10px,1.4vw,18px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 26px 40px -18px rgba(0,0,0,.45)}
.framed.paper .mat{background:#FBF9F4;padding:clamp(22px,4vw,56px);box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}
.framed.plexi{position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 1px 0 4px rgba(255,255,255,.25),0 30px 44px -18px rgba(0,0,0,.5)}
.framed.plexi::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 70%,rgba(255,255,255,.14) 100%);pointer-events:none}
/* rooms: wall shown = 3600 mm wide, art scaled to real size */
.room{position:relative;width:min(100%,1100px);aspect-ratio:16/10;overflow:hidden;background:var(--wall)}
.room .art{position:absolute;left:var(--x,50%);top:var(--y,38%);transform:translate(-50%,-50%);width:calc(var(--wmm) / 3600 * 100%);z-index:2}
.room .art .framed{display:block}
.room .art img{width:100%;max-height:none;height:auto}
.room .art .framed.paper{padding:4%}.room .art .framed.paper .mat{padding:9%}
.room .art .framed{box-shadow:0 14px 22px -10px rgba(0,0,0,.45),0 2px 3px rgba(0,0,0,.18)}
.room>i{position:absolute;display:block}
.r-label{position:absolute;left:12px;bottom:10px;z-index:5;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(251,249,244,.85);padding:4px 7px}
/* Küche */
.room.kueche{--wall:#ECE6DC}
.kueche .counter{left:0;right:0;bottom:0;height:27%;background:#73806B}
.kueche .counter::before{content:"";position:absolute;left:0;right:0;top:0;height:9%;background:#D8D1C3}
.kueche .counter::after{content:"";position:absolute;left:0;right:0;top:36%;height:2px;background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(0,0,0,.25) 9% 9.3%,transparent 9.3% 18.6%)}
.kueche .doors{left:0;right:0;bottom:0;height:24%;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 2px),rgba(0,0,0,.18) calc(20% - 2px) 20%)}
.kueche .lamp{left:18%;top:0;width:2px;height:22%;background:#2B2622}
.kueche .shade{left:calc(18% - 4.5%);top:21%;width:9%;height:5%;background:#E3A23F;border-radius:50% 50% 0 0/100% 100% 0 0}
.kueche .jar{right:16%;bottom:27%;width:4%;height:9%;background:#C9B79A;border-radius:6px 6px 2px 2px}
.kueche .jar2{right:22%;bottom:27%;width:3%;height:6%;background:#EFE9DE;border-radius:40% 40% 3px 3px}
/* Zimmer */
.room.zimmer{--wall:#D9D6CF}
.zimmer .floor{left:0;right:0;bottom:0;height:13%;background:#B48C64;background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 1px,transparent 1px 12%)}
.zimmer .sofa{left:22%;width:56%;bottom:13%;height:16%;background:#B9744F;border-radius:14px 14px 4px 4px}
.zimmer .sofa::before{content:"";position:absolute;left:-3%;right:-3%;bottom:0;height:55%;background:#A9653F;border-radius:12px 12px 4px 4px}
.zimmer .lampP{right:9%;bottom:13%;width:.4%;height:46%;background:#2B2622}
.zimmer .lampS{right:calc(9% - 3%);bottom:57%;width:6.4%;height:6%;background:#F1E6CF;border-radius:4px 4px 0 0;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.zimmer .plant{left:8%;bottom:13%;width:5%;height:8%;background:#E6E0D4;border-radius:0 0 30% 30%}
.zimmer .leaf{left:6%;bottom:20%;width:9%;height:16%;background:#5E7A55;border-radius:50% 50% 50% 50%/60% 60% 40% 40%}
/* WC */
.room.wc{--wall:#CFE0DA}
.wc .tiles{left:0;right:0;bottom:0;height:44%;background:#F4F1EB;background-image:linear-gradient(rgba(0,0,0,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.09) 1px,transparent 1px);background-size:3.2% 5.1%}
.wc .tank{left:44%;width:12%;bottom:15%;height:12%;background:#FFFFFF;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.wc .bowl{left:42.5%;width:15%;bottom:4%;height:12%;background:#FFFFFF;border-radius:10% 10% 45% 45%;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.wc .ring{right:18%;top:52%;width:4%;aspect-ratio:1;border:3px solid #9B8F80;border-radius:50%}
.wc .towel{right:17.6%;top:57%;width:4.8%;height:13%;background:#E9B8A6;border-radius:0 0 6px 6px}
.wc .floorW{left:0;right:0;bottom:0;height:4%;background:#BFB7AA}
/* Draussen */
.room.draussen{--wall:#D7B699;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px),radial-gradient(rgba(0,0,0,.06) 1px,transparent 1.5px);background-size:7px 7px,11px 11px}
.draussen .ground{left:0;right:0;bottom:0;height:11%;background:#9B958A}
.draussen .shadow{left:58%;top:-6%;width:60%;height:120%;background:repeating-linear-gradient(115deg,rgba(40,25,10,.13) 0 3%,transparent 3% 7%);filter:blur(6px);transform:skewX(-12deg);z-index:3;mix-blend-mode:multiply;pointer-events:none}
.draussen .pot{left:10%;bottom:11%;width:7%;height:10%;background:#B4643F;border-radius:0 0 18% 18%}
.draussen .bush{left:6.5%;bottom:20%;width:14%;height:22%;background:#6C8A52;border-radius:50%}
.draussen .bench{right:12%;bottom:11%;width:24%;height:3%;background:#7A5B3E}
.draussen .bench::before,.draussen .bench::after{content:"";position:absolute;bottom:-230%;width:6%;height:230%;background:#5B4330}
.draussen .bench::before{left:8%}.draussen .bench::after{right:8%}
@media (max-width:640px){.viewer .v-stage{flex:none}.v-room .v-img,.v-img{max-height:60svh}.v-nav{width:38px;height:38px}.v-prev{left:6px}.v-next{right:6px}.v-foot span:last-child,.fb-foot span:last-child{display:none}}

/* cart */
.tafel .ask{align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:7px 10px;text-decoration:none}
.tafel .add.done{background:var(--paper);color:var(--ink)}
.cross .badge{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:var(--ink);font-family:var(--mono);font-size:10px;line-height:18px;text-align:center;padding:0 4px}
.cross .badge[hidden]{display:none}
.cart-btn{position:fixed;right:var(--gutter);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;padding:11px 14px;cursor:pointer}
.cart-btn b{display:inline-block;min-width:1.6em;margin-left:6px;background:var(--red);color:var(--ink);text-align:center;border-radius:20px;padding:1px 5px}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:70;background:var(--paper);border-left:1px solid var(--ink);display:flex;flex-direction:column;padding-block:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-bottom,0px));padding-inline:22px;overflow:auto}
.cart[hidden]{display:none}
.cart h2{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:32px;margin:0 0 18px}
.cart .x{position:absolute;right:16px;top:calc(16px + env(safe-area-inset-top,0px));width:34px;height:34px;border:0;border-radius:50%;background:var(--ink);color:var(--paper);font-size:18px;cursor:pointer}
.c-items{display:grid;gap:14px;flex:1;align-content:start}
.c-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;border-bottom:1px solid rgba(23,19,16,.2);padding-bottom:14px}
.c-item img{width:64px;height:80px;object-fit:cover;display:block}
.c-item .t{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:16px;line-height:1}
.c-item .t i{font-weight:400;text-transform:none}
.c-item .m{font-family:"Fira Sans",Arial,sans-serif;font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.c-item .q{display:flex;gap:6px;align-items:center;margin-top:8px;font-family:var(--mono);font-size:12px}
.c-item .q button{width:24px;height:24px;border:1px solid var(--ink);background:transparent;cursor:pointer}
.c-item .p{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.c-empty{font-family:"Fira Sans",Arial,sans-serif;font-size:15px}
.c-sum{display:flex;justify-content:space-between;font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--ink);padding-top:14px;margin-top:14px}
.c-sum.c-ship{border-top:1px solid var(--ink);padding-top:14px;font-size:12px}
.c-sum.c-ship+.c-sum{border-top:0;padding-top:6px;margin-top:0}
.c-note{font-family:"Fira Sans",Arial,sans-serif;font-weight:300;font-size:12px;margin:10px 0 14px}
.c-go{width:100%;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;padding:14px;cursor:pointer}
.c-msg{font-family:"Fira Sans",Arial,sans-serif;font-size:13px;margin-top:10px}
/* film big */
.screen{cursor:zoom-in}
.filmbox{position:fixed;inset:0;z-index:65;background:#0d0b0a;color:#EFEAE3;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:14px;padding:calc(20px + env(safe-area-inset-top,0px)) var(--gutter) calc(16px + env(safe-area-inset-bottom,0px))}
.filmbox[hidden]{display:none}
.filmbox .x{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:var(--gutter);width:38px;height:38px;border:0;border-radius:50%;background:#F1ECE3;color:#171310;font-size:18px;cursor:pointer;z-index:4}
.fb-head{padding-right:56px}
.fb-meta{margin:0 0 6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.fb-title{margin:0;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.85;font-size:clamp(32px,5vw,76px);color:#F2512D}
.fb-credits{margin:10px 0 0;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-size:12px;line-height:1.35;display:flex;flex-wrap:wrap;gap:4px 18px;opacity:.85}
.fb-credits span{white-space:nowrap;max-width:100%}
@media (max-width:640px){.fb-credits span{white-space:normal}}
.fb-stage{position:relative;min-height:0;display:grid;place-items:center}
.fb-stage video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#000}
.fb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(241,236,227,.85);color:#171310;font-size:20px;cursor:pointer;z-index:3}
.fb-foot a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fb-ctl{display:flex;gap:18px}
.fb-foot>*,.fb-ctl>*{white-space:nowrap}
@media (max-width:640px){.fb-ctl{gap:14px}}
.filmbox.touch #fb-play,.filmbox.touch #fb-sound{display:none}
/* Print-Ansicht oben rechts: Selection + Zurück zum Shop (wie Menüpunkte) */
.v-top{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:var(--gutter);z-index:4;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.v-back,.v-cart{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1;color:var(--paper);background:var(--ink);text-decoration:none;border:0;padding:9px 12px 8px;cursor:pointer}
.v-cart{background:var(--red);color:var(--ink)}
.v-back:hover,.v-cart:hover{background:var(--red);color:var(--ink)}
.viewer .v-head{padding-right:0;padding-top:44px}
.v-cart[hidden]{display:none}
.fb-full{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fb-blocked{display:grid;gap:10px;place-items:center;text-align:center;color:inherit;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;opacity:.85}
.fb-blocked b{font-weight:500;border:1px solid currentColor;padding:12px 18px}
.fb-blocked[hidden]{display:none}
.fb-prev{left:8px}.fb-next{right:8px}
.fb-foot{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.film .screen{cursor:zoom-in}
@media (max-width:640px){.fb-nav{top:auto;bottom:8px;transform:none}.fb-foot span:last-child{display:none}}
.about .body .mail{font-weight:600}

/* painted rooms (Klee-style watercolour) */
.room.kueche,.room.zimmer,.room.wc,.room.draussen{background-color:#EFE7D5;background-position:center;background-size:cover;background-repeat:no-repeat}

.room.salon,.room.schlafzimmer,.room.wohnzimmer,.room.esszimmer,.room.flur{background-color:#EFE7D5;background-position:center;background-size:cover;background-repeat:no-repeat}

/* thin oak frame, no passe-partout, for prints and plexiglas */
.framed.paper,.framed.plexi{position:relative;background:linear-gradient(135deg,#C9A274,#A9794B 55%,#C39966);padding:clamp(5px,.55vw,8px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.22),0 26px 40px -18px rgba(0,0,0,.45)}
.framed.paper .mat{background:none;padding:0;box-shadow:none}
.framed.plexi::after{inset:clamp(5px,.55vw,8px)}
.room .art .framed.paper,.room .art .framed.plexi{padding:1.4%}
.room .art .framed.paper .mat{padding:0}
.room .art .framed.plexi::after{inset:1.4%}
.framed.plexi.nf{background:none;padding:0;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 22px 34px -16px rgba(0,0,0,.4)}
.framed.plexi.nf::after{inset:0}
.room .art .framed.plexi.nf{padding:0}
.room .art .framed.plexi.nf::after{inset:0}
/* image tiles: full-bleed, cropped to tile */
#prints .prod{padding:0;overflow:hidden}
#prints .prod img{object-fit:cover}
/* Im Raum: nur Wand + Bild, keine Zeichnung */
.room,.room.salon,.room.kueche,.room.schlafzimmer,.room.wohnzimmer,.room.esszimmer,.room.flur,.room.zimmer,.room.wc,.room.draussen{background:#ECE8E1 linear-gradient(100deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 45%,rgba(0,0,0,.05) 100%)}
.room .art{left:50%!important;top:45%!important;width:calc(var(--wmm) / 2600 * 100%)}
.room>i{display:none}
.v-room{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.v-room .v-img{max-height:68vh}
.v-scenes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.v-scenes button{font:inherit;letter-spacing:inherit;text-transform:inherit;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:6px 10px;cursor:pointer}
.v-scenes button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.v-scenes span{opacity:.6;margin-left:6px}
.framed.plexi.slim{background:#F7F6F2;padding:clamp(3px,.35vw,5px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 22px 34px -16px rgba(0,0,0,.4)}
.framed.plexi.slim::after{display:none}
.tafel .adds{display:flex;flex-wrap:wrap;gap:6px}
.framed.plexi.slim.black{background:#1A1A1A}
.framed.plexi.slim.gold{background:linear-gradient(135deg,#B8913F,#E6CD8C 45%,#A9823A)}
.framed.wood{position:relative;padding:clamp(8px,1vw,14px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 26px 40px -18px rgba(0,0,0,.45)}
.framed.wood.oak{background:linear-gradient(135deg,#D9BC8E,#C29E6C 55%,#D4B585)}
.framed.wood.white{background:linear-gradient(135deg,#FBFAF6,#ECE9E2 60%,#F6F4EF)}
.framed.wood::after{display:none}
.framed.magnet{background:#1F1F1F;padding:clamp(3px,.4vw,5px);box-shadow:0 22px 34px -16px rgba(0,0,0,.4)}
.framed.poster{box-shadow:0 1px 2px rgba(0,0,0,.15),0 12px 22px -14px rgba(0,0,0,.35)}
.framed.poster::after{display:none}
.v-add{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.v-add button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:9px 13px;cursor:pointer}
.v-add button.done{background:transparent;color:var(--ink)}
.v-lead{display:block;margin-top:6px;opacity:.75}
.checkout{position:fixed;inset:0;z-index:80;background:var(--paper);overflow:auto}
.checkout[hidden]{display:none}
.checkout .v-close{position:fixed}
.co-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);min-height:100%}
.co-wall{position:sticky;top:0;align-self:start;height:100vh;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#DCDAD5}
.co-scene{position:relative;width:min(100%,calc(100vh * 992 / 1200));aspect-ratio:992/1200}
.co-bg{position:absolute;inset:0;width:100%;height:100%;display:block}
.co-stack{position:absolute;inset:0}
.co-p{position:absolute;transform:translateX(-50%);box-sizing:content-box}
.co-p img{display:block;width:100%;height:auto;object-fit:cover}
.co-p.lean{transform:translateX(-50%) perspective(1200px) rotateX(4deg);transform-origin:50% 100%;box-shadow:-6px -4px 18px -6px rgba(0,0,0,.28),0 3px 4px -1px rgba(0,0,0,.35)}
.co-p.lean::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-6px;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),rgba(0,0,0,0));z-index:-1}
.co-p.hang{transform:translateX(-50%);box-shadow:3px 5px 10px -4px rgba(0,0,0,.3)}
.co-p.f-slim{background:#F6F5F1}.co-p.f-slimblack{background:#1A1A1A}.co-p.f-slimgold{background:linear-gradient(135deg,#B8913F,#E6CD8C 45%,#A9823A)}
.co-p.f-oak,.co-p.f-paper{background:linear-gradient(135deg,#D9BC8E,#C29E6C 55%,#D4B585)}.co-p.f-wwhite{background:linear-gradient(135deg,#FBFAF6,#ECE9E2)}.co-p.f-magnet{background:#1F1F1F}
.co-side{padding:calc(28px + env(safe-area-inset-top,0px)) clamp(18px,3vw,44px) 40px;display:flex;flex-direction:column;gap:6px}
.co-side h2{font-family:"Vollkorn",Georgia,serif;font-weight:600;text-transform:uppercase;font-size:clamp(32px,4vw,52px);margin:0 0 14px;padding-right:56px}
.co-lead{font-family:"Fira Sans",Arial,sans-serif;font-weight:300;font-size:13px;margin:12px 0 8px}
.co-form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:6px}
.co-form label{display:grid;gap:4px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.co-form input,.co-form select,.co-form textarea{font:inherit;font-family:"Fira Sans",Arial,sans-serif;font-size:13px;letter-spacing:0;text-transform:none;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:6px 8px;border-radius:0}
.co-form input:not([type=radio]):not([type=checkbox]),.co-form select,.co-form textarea{min-width:0;width:100%;box-sizing:border-box}
.co-row{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.co-form[hidden],.co-done[hidden]{display:none}
.co-done{font-family:"Fira Sans",Arial,sans-serif;font-size:15px;border:1px solid var(--ink);padding:14px}
@media (max-width:820px){.co-grid{grid-template-columns:minmax(0,1fr)}.co-wall{position:relative;height:auto}.co-scene{width:100%}}

/* ---- Typo-Test: Poster-Grotesk ---- */
.shop-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.typo-sw{display:flex;gap:4px;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.typo-sw span{margin-right:6px;opacity:.6}
.typo-sw button{font:inherit;letter-spacing:inherit;text-transform:inherit;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:6px 10px;cursor:pointer}
.typo-sw button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.pz{display:none}
body.typo-poster #prints .tafel{--g:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-family:var(--g);color:#151312;padding:clamp(12px,1.4vw,20px);justify-content:flex-start;gap:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px}
body.typo-poster #prints .pz{display:flex;justify-content:space-between;gap:10px;font-family:var(--g);font-weight:500;font-size:clamp(9px,.78vw,11px);line-height:1.15}
body.typo-poster #prints .pz b{font-weight:800}
body.typo-poster #prints .pz-top{order:0;margin-bottom:clamp(10px,1.2vw,18px)}
body.typo-poster #prints .pz-t{order:1;flex:1 0 auto}
body.typo-poster #prints .tafel .pt{font-family:var(--g);font-weight:800;letter-spacing:-.03em;text-transform:none;line-height:.92;margin:0;text-align:left;font-size:clamp(24px,2.7vw,46px)}
body.typo-poster #prints .tafel .pt i{font-style:normal;font-weight:400;letter-spacing:.04em}
body.typo-poster #prints .tafel .small{order:2;font-family:var(--g);font-weight:500;font-size:clamp(9px,.8vw,11.5px);line-height:1.22;text-transform:none;letter-spacing:0;margin:12px 0}
body.typo-poster #prints .tafel .small b{font-weight:800}
body.typo-poster #prints .pz-foot{order:3;margin-bottom:12px;padding-top:8px;border-top:1px solid rgba(21,19,18,.35)}
body.typo-poster #prints .pz-foot span:nth-child(2){text-align:center}
body.typo-poster #prints .orders{order:4;display:grid;border-bottom:1px solid rgba(21,19,18,.35)}
body.typo-poster #prints .orders .orow{display:grid;grid-template-columns:5.2em minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:6px 0;border-top:1px solid rgba(21,19,18,.35);font-family:var(--g);font-weight:500;font-size:clamp(9.5px,.8vw,11.5px);line-height:1.15;color:#151312}
body.typo-poster #prints .orders .orow b{font-weight:800}
body.typo-poster #prints .orders .orow span:nth-child(3){text-align:right;white-space:nowrap}
body.typo-poster #prints .orders .add{all:unset;box-sizing:border-box;width:24px;height:24px;border-radius:50%;border:1px solid #151312;display:grid;place-items:center;font-family:var(--g);font-size:16px;line-height:1;font-weight:400;color:#151312;cursor:pointer;justify-self:end;transition:background .15s,color .15s}
body.typo-poster #prints .orders .add:hover{background:#151312;color:#fff}
body.typo-poster #prints .orders .add:focus-visible{outline:2px solid #151312;outline-offset:2px}
body.typo-poster #prints .orders .add.done{background:#151312;color:#fff;font-size:12px}
@media (max-width:700px){body.typo-poster #prints .pz-top span:last-child{display:none}body.typo-poster #prints .tafel .small{font-size:9.5px}}
.pc-body{font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:0}
#prints .shop-head{align-items:flex-end}
#prints .shop-head h2{order:2;margin-left:auto;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.8;font-size:clamp(44px,8.6vw,150px);color:#F2512D}
#prints .shop-head .shop-right{order:1;align-items:flex-start}

/* ===== Philosophie: Overlay ===== */
/* C – Overlay */
.pv-c{--or:#F2512D;background:#0f0f0e}
.pc3{position:relative;margin:0;overflow:hidden}
.pc3 img{display:block;width:100%;height:min(100vh,1000px);object-fit:cover;object-position:40% 50%}
.pc3-dots{position:absolute;inset:5% 6%;background-image:radial-gradient(circle,var(--or) 0 5px,transparent 5.5px);background-size:25% 25%;background-position:0 0;pointer-events:none}
.pc3-h{position:absolute;left:clamp(10px,3.5vw,56px);top:50%;margin:0;transform:translateY(-50%) rotate(-90deg) translateX(0);transform-origin:center;color:var(--or);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.8;font-size:clamp(44px,8.6vw,150px);white-space:nowrap;
  writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.pc3-v{position:absolute;left:70%;top:21%;margin:0;writing-mode:vertical-rl;color:var(--or);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(11px,1.15vw,17px);line-height:1.12;letter-spacing:.01em;max-height:62%}
.pc3-v b{font-weight:800}
.pc3-n{position:absolute;color:var(--or);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(10px,.9vw,13px);letter-spacing:.04em;text-transform:uppercase;writing-mode:vertical-rl}
.pc3-n2{left:30%;bottom:21%}
.pc3-credit{position:absolute;right:var(--gutter);bottom:12px;color:#fff;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:9px;letter-spacing:.04em;opacity:.85}
.pc3-text{color:#ECE8E2;padding:clamp(28px,4vw,64px) var(--gutter);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-size:clamp(14px,1.05vw,16px);line-height:1.5;columns:3 26ch;column-gap:clamp(24px,3vw,48px);hyphens:manual;}
.pc3-text p{margin:0 0 1em;break-inside:avoid}
.pc3-text a{color:var(--or)}
@media (max-width:760px){.pc3 img{height:90vh}.pc3-v{left:auto;right:4%;top:auto;bottom:14%;font-size:11px;max-height:none;white-space:nowrap}.pc3-n{display:none}.pc3-dots{background-size:33.3% 25%}}

/* ===== Mikrotypografie ===== */
p,li,figcaption{hyphens:manual;-webkit-hyphens:manual;text-wrap:pretty}
h1,h2,h3,.pt,.v-title{text-wrap:balance;hyphens:manual}
body{font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.orders .add,.c-item .p,.c-sum,#co-total,.v-add button{font-variant-numeric:tabular-nums lining-nums}
.label,.typo-sw,.pv-sw,.v-tabs button{font-variant-numeric:lining-nums}
body.typo-poster #prints .tafel .pt{font-feature-settings:"ss01" 0,"cv11" 1;hanging-punctuation:first}
a[href^="mailto:"]{white-space:nowrap;hyphens:none;-webkit-hyphens:none}
.pc3{min-height:0}
.pc3-v{transform:rotate(180deg)}
.philo-bar{height:clamp(20px,2.4vw,40px);background:#0f0f0e}
.philo-plate{min-height:0}
.philo-plate{color:#F2512D}
.philo-plate .q{padding-top:clamp(60px,9vw,160px);margin-bottom:0}
.philo-plate .pp-text{margin-top:clamp(40px,6vw,96px);color:#F2512D}
.pp-body .pp-text{margin-top:0}
.pp-quote{padding-bottom:clamp(40px,6vw,96px)}
.pp-mail{align-self:flex-end;text-align:right;margin:clamp(14px,1.6vw,24px) 0 0;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(13px,.95vw,15px);line-height:1.45;color:#F2512D}
.pp-mail a{color:inherit}
.pp-mail{letter-spacing:.03em}
/* Philosophie: weniger Kopfraum, Mail-Zeile senkrecht (von unten nach oben) zwischen Text und Zitat */
.pp-quote .q{padding-top:clamp(24px,3vw,56px)}
.pp-quote .pp-text{margin-top:clamp(28px,3.5vw,56px)}
.pp-quote .pp-mail{margin:clamp(14px,1.6vw,24px) 0 0;text-align:right}
@media (max-width:760px){.pp-quote .q{padding-top:clamp(180px,48vw,240px)}}
.pp-text{columns:3 24ch;column-gap:clamp(24px,3vw,48px);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(13px,.95vw,15px);line-height:1.45}
.pp-text p{margin:0 0 1em;break-inside:avoid}
.pp-text{letter-spacing:.03em}
.shop-right .label-sub{display:inline-block;margin-top:6px;opacity:.6}
.pp-text a{color:inherit}
@media (max-width:760px){.pp-text{columns:1}}
/* Philosophie: Text im linken Drittel, Mail-Zeile im mittleren Drittel */
@media (min-width:761px){.pp-quote .pp-text{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);align-items:start}.pp-quote .pp-text p{grid-column:1}}
/* alle Zitate gleich gross (= kleinste Grösse) */
.plate .q,.plate .q.long,.plate .q.xlong{font-size:clamp(40px,7.2vw,118px);max-width:22ch}
/* Zitate höchstens 2/3 der Breite, rechtsbündig (Handy: volle Breite) */
@media (min-width:761px){.plate .q,.plate .q.long,.plate .q.xlong{max-width:66.667%}}
.legal-nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.legal-nav a{font-family:var(--mono);font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1;text-decoration:none;background:var(--ink);color:var(--paper);padding:7px 11px 6px}
.legal-nav a:hover{background:var(--red);color:var(--ink)}
.legal-nav a.lang-f.on{background:var(--red);color:var(--ink)}
footer{align-items:flex-end}
.legal{position:fixed;inset:0;z-index:90;background:var(--paper);overflow:auto;padding:calc(28px + env(safe-area-inset-top,0px)) var(--gutter) 60px}
.legal[hidden]{display:none}
.legal .v-close{position:fixed}
.lg-inner{max-width:68ch;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.55;color:var(--ink)}
.lg-inner section{display:none}.lg-inner section.on{display:block}
.lg-inner h2{font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(36px,6vw,80px);color:#F2512D;margin:0 0 20px;padding-right:56px}
.lg-inner h3{font-size:15px;font-weight:800;margin:1.6em 0 .3em}
.lg-inner p{margin:0 0 .8em}.lg-inner a{color:inherit}
.lg-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.lg-hl{font-weight:600}
.co-pay{border:0;margin:6px 0 0;padding:0;display:grid;gap:6px}
.co-pay legend{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;padding:0}
.co-pay .pay{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:10px 12px;cursor:pointer;font-family:"Fira Sans",Arial,sans-serif;font-size:15px;letter-spacing:0;text-transform:none}
.co-pay .pay:has(input:checked){background:var(--ink);color:var(--paper)}
.co-pay .pay span{flex:1}
.pm{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.06em;border:1px solid currentColor;border-radius:3px;padding:2px 5px;opacity:.8}
.co-agb{display:flex!important;gap:10px;align-items:flex-start;font-family:"Fira Sans",Arial,sans-serif!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important;line-height:1.4;margin-top:6px}
.co-agb input{margin-top:3px;width:16px;height:16px;flex:none}
.co-agb a{color:inherit}
nav a{font-family:var(--mono);font-weight:600;font-size:12px;letter-spacing:.1em;padding:7px 11px 6px}
.cross span{width:21px;margin:-1px 0 0 -10.5px;height:1.5px}
.framed.wood.alu{background:linear-gradient(135deg,#E4E6E8,#B9BDC1 45%,#D7DADD 60%,#A9ADB2);padding:clamp(4px,.5vw,7px)}
.framed.wood.gold{background:linear-gradient(135deg,#C9A24A,#EED89A 45%,#B98F38 70%,#D9B866);padding:clamp(4px,.5vw,7px)}

/* Bildansicht: Bild links 2/3, Text rechts 1/3 */
@media (min-width:900px){
 .viewer{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-rows:auto auto 1fr auto;column-gap:clamp(24px,3vw,48px);row-gap:0}
 .viewer .v-stage{grid-column:1;grid-row:1 / 5;height:calc(100vh - 40px);align-self:start}
 .viewer .v-head{grid-column:2;grid-row:1;padding-top:44px;padding-right:0;flex-direction:column;gap:10px}
 .viewer .v-tabs{grid-column:2;grid-row:2;margin-block:14px 0}
 .viewer .v-foot{grid-column:2;grid-row:4;align-self:end;flex-direction:column;gap:4px}
 .viewer .v-title{font-size:clamp(24px,2.4vw,38px)}
 .viewer .v-img{max-height:calc(100vh - 60px);max-width:100%}
 .viewer .framed img{max-height:calc(100vh - 110px)}
 .viewer .v-room .v-img{max-height:calc(100vh - 110px)}
 .viewer .v-scenes{justify-content:flex-start}
}
body.typo-poster #prints .orders .orow .add{display:none}
.v-add{flex-direction:column;align-items:stretch;gap:6px;max-width:420px}
.v-add button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--red);color:var(--ink);border:0;padding:7px 8px 7px 10px;text-align:left;font-family:"Fira Sans",Arial,sans-serif;font-weight:400;font-size:11px;letter-spacing:.07em}
.v-add button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.v-add button i{font-style:normal;width:26px;height:26px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:16px;letter-spacing:0;flex:none;transition:background .15s,color .15s}
.v-add button:hover i,.v-add button.done i{background:var(--ink);color:var(--paper)}
.v-add button.done{background:var(--red);color:var(--ink)}
.fb-stage iframe{width:100%;height:100%;border:0;background:#000}
.fb-stage iframe[hidden],.fb-stage video[hidden]{display:none}
.screen .vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:rgba(23,19,16,.8);color:#fff;padding:9px 14px;pointer-events:none;transition:background .15s}
.screen:hover .vplay{background:#F2512D;color:#151312}
.screen.noimg{background:#1b1a19}

/* Filter (Serie, Farbe) */
#prints .filters{display:grid;gap:8px;margin:0 0 clamp(18px,2.4vw,32px);padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
#prints .fhead{display:flex;align-items:baseline;gap:16px}
#prints .ftitle{font-weight:600}
#prints .fall{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink);background:transparent;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;opacity:.6}
#prints .fall[aria-pressed="true"]{visibility:hidden}
#prints .fcount{margin-left:auto;font-size:10px;opacity:.5}
#prints .fgroup{display:flex;align-items:center;gap:12px;min-width:0}
#prints .fglabel{flex:none;width:6ch;font-size:10px;opacity:.5}
#prints .fchips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
#prints .fchip{display:inline-flex;align-items:center;gap:7px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink);background:transparent;border:0;border-radius:0;padding:5px 8px;cursor:pointer;transition:background .15s,color .15s}
@media (hover:hover){#prints .fchip:hover{background:rgba(23,19,16,.08)}}
#prints .fchip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
#prints .fplus{display:inline-block;font-size:14px;line-height:1;transition:transform .15s}
#prints .fchip[aria-pressed="true"] .fplus{transform:rotate(45deg)}
#prints .fsw{display:inline-block;width:10px;height:10px;border-radius:50%}
#prints .fchip:focus-visible,#prints .fall:focus-visible{outline:2px solid #F2512D;outline-offset:2px}
#prints .grid>.fx-off{display:none}
@media (max-width:700px){
  #prints .fchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1*var(--gutter));padding-right:var(--gutter)}
  #prints .fchips::-webkit-scrollbar{display:none}
  #prints .fchip{white-space:nowrap;flex:none}
}

/* Shop geschlossen (data/shop.json: shop_open false) */
body.shop-closed #prints,body.shop-closed #nav-cart,body.shop-closed #cart,body.shop-closed #checkout{display:none!important}
/* Shop-Vorschau (prints_visible): Prints sichtbar, Bestellen aus */
body.shop-preview #nav-cart,body.shop-preview #cart,body.shop-preview #checkout{display:none!important}
body.shop-preview #prints .orders .orow .add{display:none!important}
body.shop-preview .v-add{border-bottom:0}
.v-soon{margin:0;padding:10px 0;border-top:1px solid currentColor;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
/* Kasse: Zahlungsarten kompakter */
.co-pay .pay{padding:6px 10px;font-size:13px}
/* Handy: Bestellzeilen zweizeilig (Preis/Status unter dem Text), Selection als Knopf unten */
@media (max-width:700px){
  body.typo-poster #prints .orders .orow{grid-template-columns:3.4em minmax(0,1fr);row-gap:2px}
  body.typo-poster #prints .orders .orow span:nth-child(3){grid-column:2;text-align:left}
  body.typo-poster #prints .orders .orow span:nth-child(3):empty{display:none}
  nav[hidden]:has(#nav-cart:not([hidden])){display:flex}
  nav[hidden]:has(#nav-cart:not([hidden])) a:not(#nav-cart){display:none}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Film-Status (z. B. «Soon to be released», «In production») statt «Film ansehen»; nicht anklickbar */
.film .screen:not([data-video]):not(.inline){cursor:default}
/* UBS-Filme: ganz eingebettet, ohne Ton, ohne Vimeo-Fenster */
.film .screen.inline{cursor:default}
/* «Soon to be released»: Bilder scharf mit Hinweis, nicht bestellbar (data/shop.json soon_series) */
#prints .prod.soon{overflow:hidden;position:relative}
#prints .prod.soon .soon-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:rgba(23,19,16,.8);color:#fff;padding:9px 14px;white-space:nowrap}
#prints .tafel .soon-note{margin:auto 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.viewer.soon .v-stage{overflow:hidden}
/* «Zürich · Film & Prints» waagrecht, rechts neben PHILOSOPHIE, oben bündig mit dem E (per JS gesetzt) */
.pc3 .pc3-n2{writing-mode:horizontal-tb;white-space:nowrap;transform:none}
.pp-mail{font-weight:700}
/* Eingebettete Filme mit Ton: Lautsprecher-Knopf; Status klein */
.screen .vsound{position:absolute;right:14px;bottom:14px;z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:rgba(23,19,16,.75);color:#fff;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}
.screen .vsound{color:#fff;background:transparent;filter:drop-shadow(0 0 3px rgba(0,0,0,.5))}
.screen .vsound:hover{background:rgba(23,19,16,.35)}
.screen .vstatus{position:absolute;left:14px;bottom:14px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:rgba(23,19,16,.75);color:#fff;padding:6px 9px}
/* «Film ansehen» / Status: unten rechts im Bild, mit Abstand zum Rand */
.screen .vplay{left:auto;top:auto;right:clamp(16px,2.2vw,32px);bottom:clamp(16px,2.2vw,32px);transform:none}
.screen .vsound{right:auto;left:clamp(10px,1.6vw,24px);bottom:clamp(10px,1.6vw,24px)}
