/* Main-Lackdoktor preview. One continuous space behind every page: workshop scenes
   dissolve into paint mist, then into the Corion infinity colours. Text always sits
   on opaque panels. Logical properties throughout so an RTL locale needs no fork. */
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* metric-matched stand-in while Montserrat loads, so the text does not reflow when the web font arrives */
@font-face{font-family:"Montserrat Fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans"),local("Roboto");size-adjust:113%;ascent-override:86%;descent-override:22%;line-gap-override:0%}
:root{
  color-scheme:dark;
  --red:#d7382d; --red-deep:#9d231a; --ink:#171b19; --paper:#f6f7f4;
  --space:#07090b; --panel:rgba(17,20,19,.92); --line:rgba(246,247,244,.16);
  --text:#eef0ec; --muted:#b9c2bb; --hot:#ff9b90;
  --cyan:#22d3ee; --blue:#4389ff; --violet:#a855f7;
  --font:"Montserrat","Montserrat Fallback","Segoe UI",system-ui,-apple-system,"Noto Sans",Arial,sans-serif;
  --head:64px; --bar:0px; --r:16px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 12px)}
body{margin:0;background:var(--space);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.62;
  background-image:radial-gradient(120% 70% at 12% 0%,rgba(34,211,238,.10),transparent 60%),radial-gradient(120% 80% at 100% 100%,rgba(168,85,247,.14),transparent 60%);background-attachment:fixed;
  padding-block-end:var(--bar)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3{line-height:1.14;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5.4vw,3.5rem);font-weight:800}
h2{font-size:clamp(1.45rem,3.4vw,2.2rem);font-weight:750}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px var(--blue)}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.narrow{max-width:760px}
.kicker{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hot);margin:0 0 .7em}
.fine{font-size:.86rem;color:var(--muted)}
.lead{font-size:1.08rem}
.skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:100;background:#fff;color:#000;padding:12px 16px;border-radius:8px;font-weight:700}
.skip:focus{top:12px}
main{display:block}
/* stacking: pictures 0, mist canvas 1, every text surface 2 */
.wrap,.hero__txt,.scene__panel,.stagebar,.cost-page,.page-heading,.journal-article,.closing,.cora-sec{position:relative;z-index:2}
main:focus{outline:none}
#space{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .8s}
.gl-bg #space{opacity:1}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;min-height:var(--head);display:flex;align-items:center;gap:clamp(8px,1.6vw,22px);padding-inline:clamp(12px,3vw,32px);
  background:rgba(10,12,12,.9);border-block-end:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px;flex:none}
.brand img{width:150px;height:35px}
.brand__txt{display:none;flex-direction:column;line-height:1.15;font-size:.72rem;color:var(--muted);border-inline-start:1px solid var(--line);padding-inline-start:12px}
.brand__txt b{color:var(--text);font-size:.8rem}
.brand__txt i{font-style:normal}
.nav{margin-inline-start:auto}
.nav ul{list-style:none;margin:0;padding:0}
.nav__row{display:none;gap:2px}
.nav a{display:flex;align-items:center;min-height:44px;padding-inline:11px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{background:rgba(255,255,255,.1)}
.menu{position:relative}
.menu summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding-inline:12px;border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu__bars{width:16px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}
.menu ul{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:250px;padding:8px;background:#101312;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.menu li a{min-height:48px}
.menu .langs{border-block-start:1px solid var(--line);margin-block-start:6px;padding-block-start:6px}
.top__tel{display:none;align-items:center;gap:8px;min-height:44px;padding-inline:10px;text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap}
.top .cta3d{display:none}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lang{position:relative}
.lang summary{list-style:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding-inline:10px;border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:.82rem;cursor:pointer;gap:6px}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:210px;list-style:none;margin:0;padding:8px;background:#101312;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.lang li>*{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:44px;padding-inline:11px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem}
.lang li a:hover,.lang li [aria-current]{background:rgba(255,255,255,.1)}
.lang li span[aria-disabled]{color:#8d968f;font-weight:500}
.lang li small{font-weight:500;color:#8d968f}
@media (min-width:560px){.brand__txt{display:flex}}
@media (min-width:900px){.top__tel{display:flex}.top .cta3d{display:inline-flex}}
@media (min-width:1340px){.menu{display:none}.nav__row{display:flex}}

/* ---------- CTA3D: the anchor is the stable hit area, only the face moves ---------- */
.cta3d{position:relative;display:inline-flex;min-height:52px;min-width:44px;text-decoration:none;perspective:700px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:14px}
.cta3d__shadow{position:absolute;inset:6px 4px -6px;border-radius:14px;background:var(--red-deep);filter:blur(0);transform:translate(calc(var(--rx,0) * -5px),calc(var(--ry,0) * 4px));transition:transform .18s ease-out,opacity .18s;box-shadow:0 14px 26px -8px rgba(215,56,45,.7)}
.cta3d__face{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;flex:1;padding:12px 22px;border-radius:14px;color:#fff;font-weight:750;font-size:1rem;line-height:1.2;text-align:center;
  background:linear-gradient(180deg,#c9342a,#b02a20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.25);
  transform:translateY(-4px) rotateX(calc(var(--ry,0) * -11deg)) rotateY(calc(var(--rx,0) * 13deg));transform-origin:50% 60%;transition:transform .18s ease-out;will-change:transform}
.cta3d:hover .cta3d__face,.cta3d:focus-visible .cta3d__face{transform:translateY(-6px) rotateX(calc(var(--ry,0) * -11deg)) rotateY(calc(var(--rx,0) * 13deg))}
/* V7.3: the pressed face keeps its tilt, so a finger that moves while it holds the button still turns it */
.cta3d.is-press .cta3d__face,.cta3d:active .cta3d__face{transform:translateY(1px) scale(.985) rotateX(calc(var(--ry,0) * -11deg)) rotateY(calc(var(--rx,0) * 13deg));transition-duration:.06s}
.cta3d.is-press .cta3d__shadow,.cta3d:active .cta3d__shadow{transform:translateY(-4px);opacity:.6;transition-duration:.06s}
.cta3d__ext{font-weight:500;opacity:.85}
.cta3d--sm{min-height:44px}.cta3d--sm .cta3d__face{padding:8px 14px;font-size:.88rem}.cta3d--sm svg{display:none}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:10px 18px;border-radius:14px;border:1.5px solid rgba(246,247,244,.5);text-decoration:none;font-weight:700;background:rgba(10,12,12,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.actions{display:flex;flex-wrap:wrap;gap:14px 12px;margin-block:1.3em .9em;align-items:center}
.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px}
[dir=rtl] .link-arrow span,[dir=rtl] .card__go{transform:scaleX(-1)}

/* ---------- home: hero and scenes ---------- */
.panel,.hero__txt,.scene__panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,34px);box-shadow:0 30px 80px -30px #000}
.hero{position:relative;min-height:calc(100svh - var(--head));display:flex;align-items:flex-end;padding:clamp(16px,4vw,48px);padding-block-start:36svh}
.hero__txt{position:relative;max-width:640px}
.hero__txt .sub{font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:650;color:#fff;margin-block-end:.6em}
.hero__media{position:absolute;inset:0 0 auto 0;height:calc(100svh - var(--head));overflow:hidden;z-index:0}
.hero__media figure,.scene__fig{margin:0;position:relative}
.hero__media figure{height:100%}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,11,.2),rgba(7,9,11,.1) 40%,var(--space) 98%)}
figcaption{position:absolute;inset-inline-end:8px;top:8px;z-index:2;font-size:.7rem;padding:3px 8px;border-radius:99px;background:rgba(0,0,0,.6);color:#dfe5e0}
.hero__media figcaption{top:auto;bottom:auto;inset-block-start:12px}
.stagebar{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:10px clamp(16px,4vw,48px);font-size:.8rem;color:var(--muted);background:rgba(7,9,11,.78);border-block:1px solid var(--line)}
.stagebar p{margin:0}
.scene{position:relative;display:grid;gap:18px;padding:clamp(16px,4vw,48px);align-items:center}
.scene__fig img{border-radius:var(--r);border:1px solid var(--line)}
.scene__panel{max-width:560px}
@media (min-width:900px){
  .hero{padding-block-start:clamp(16px,4vw,48px);align-items:center}
  .scene{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .scene:nth-of-type(odd) .scene__panel{order:2;justify-self:end}
}
/* One layout for every mode: each scene is a tall section with its picture behind the text panel. The canvas only adds mist on top. */
.scene{min-height:96svh;align-items:end;padding-block-start:52svh;grid-template-columns:1fr}
.scene__fig{position:absolute;inset:0 0 auto 0;height:54svh;z-index:0;overflow:hidden}
.scene__fig img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;border:0;border-radius:0}
.scene__fig::after,.hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,9,11,.25),rgba(7,9,11,0) 30%,rgba(7,9,11,.15) 70%,var(--space) 99%)}
.hero__media img,.scene__fig img{transform:scale(1.05) translate(calc(var(--mx,0) * -1.6%),calc(var(--my,0) * -1.2%));transition:transform .5s ease-out;will-change:transform}
@media (min-width:900px){
  .scene{align-items:center;padding-block-start:clamp(16px,4vw,48px)}
  .scene__fig{height:auto;inset:0}
  .scene:nth-of-type(even) .scene__panel{justify-self:end}
  .scene:nth-of-type(odd) .scene__panel{order:0;justify-self:start}
}
@media (prefers-reduced-motion:reduce){.hero__media img,.scene__fig img{transform:none;transition:none}}
[data-tilt]{transform:perspective(900px) rotateX(calc(var(--ry,0) * -3deg)) rotateY(calc(var(--rx,0) * 4deg));transition:transform .25s ease-out}
[data-tilt]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:var(--lit,0);transition:opacity .25s;
  background:radial-gradient(260px circle at var(--px,50%) var(--py,50%),rgba(255,255,255,.13),transparent 65%)}
.scene__panel,.card,.tcard{position:relative}

/* ---------- cards ---------- */
.services{padding-block:clamp(40px,8vw,96px)}
.cards{list-style:none;margin:1.2em 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.card{display:flex;flex-direction:column;height:100%;min-height:150px;padding:20px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);text-decoration:none}
.card:hover{border-color:rgba(255,255,255,.5)}
.card h2,.card h3{font-size:1.14rem;margin-block-end:.4em}
.card p{color:var(--muted);font-size:.95rem;margin:0 0 1em}
.card__go{margin-block-start:auto;align-self:flex-end;color:var(--hot);font-weight:800;font-size:1.2rem}

/* ---------- steps, operator, closing ---------- */
.steps,.operator,.cta-end,.trust{padding-block:clamp(40px,8vw,96px)}
.steps ol{list-style:none;counter-reset:s;margin:1.4em 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.steps li{counter-increment:s;padding:20px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;margin-block-end:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--cyan),var(--blue) 50%,var(--violet))}
.steps li p{margin:0;color:var(--muted)}
.operator .wrap,.cta-end .wrap{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding-block:clamp(24px,5vw,56px)}
.cta-end .wrap{max-width:900px;text-align:center}
.cta-end .actions{justify-content:center}
.cta-end p{max-width:60ch;margin-inline:auto}

/* ---------- subpage hero + prose on paper ---------- */
.phero{padding-block:clamp(28px,6vw,72px) clamp(20px,4vw,40px)}
.phero .wrap>*{max-width:820px}
.phero .wrap{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding-block:clamp(20px,4vw,44px)}
.crumb{font-size:.84rem;color:var(--muted);margin-block-end:1.2em}
.crumb a{display:inline-flex;align-items:center;min-height:44px}
.paper,.prose .wrap,.cost-page{background:var(--paper);color:#1b201d;color-scheme:light;border-radius:calc(var(--r) + 6px);padding-block:clamp(22px,5vw,56px);box-shadow:0 30px 80px -30px #000}
.prose{padding-block:0 clamp(32px,6vw,72px)}
.prose h2{margin-block-start:1.6em;font-size:clamp(1.25rem,2.6vw,1.6rem)}
.prose h2:first-child{margin-block-start:0}
.prose h3{margin-block-start:1.3em}
.prose a,.cost-page a{color:#8f1f17;font-weight:650}
.prose :focus-visible,.cost-page :focus-visible{outline-color:#111;box-shadow:0 0 0 6px #ffd9d4}
.prose ul,.prose ol{padding-inline-start:1.3em;margin:0 0 1.1em}
.prose li{margin-block-end:.4em}
.prose .kicker{color:#8f1f17}
.prose blockquote{margin:1.6em 0;padding:16px 18px;border-inline-start:5px solid var(--red);background:#ebece7;border-radius:10px}
.prose blockquote p:last-child{margin:0}
.more{margin-block-start:2em;padding-block-start:1.2em;border-block-start:1px solid #cfd3cc}
.more ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.more a{display:inline-flex;align-items:center;min-height:44px}
.services--light{padding-block:0 40px}

/* ---------- blog ---------- */
.answer{padding:18px 20px;border-radius:12px;background:#e7ebe6;border:1px solid #cfd6ce;margin-block:0 1.6em}
.answer p:last-child{margin:0}
.toc{font-size:.95rem;margin-block-end:1.6em}
.toc ol{columns:2 240px;padding-inline-start:1.2em}
.toc a{display:inline-flex;min-height:36px;align-items:center}
.checklist{list-style:none;padding:0!important}
.checklist li{position:relative;padding:10px 12px;padding-inline-start:44px;border:1px solid #cfd3cc;border-radius:10px;background:#fff}
.checklist li::before{content:"";position:absolute;inset-inline-start:12px;top:11px;width:20px;height:20px;border:2px solid #555;border-radius:5px}
.blank{display:inline-block;min-width:min(260px,60%);border-block-end:1.5px solid #555;height:1.2em;vertical-align:bottom}
.share{margin-block:1.8em;padding:18px 20px;border-radius:12px;border:1px dashed #9aa39b}
.share q{display:block;font-weight:650;margin-block-end:12px;quotes:"„" "“"}
.share__btns{display:flex;flex-wrap:wrap;gap:10px}
.share button,.printbtn{font:inherit;font-weight:700;min-height:44px;padding:8px 16px;border-radius:10px;border:1.5px solid #1b201d;background:#fff;color:#1b201d;cursor:pointer}
.share button:hover,.printbtn:hover{background:#1b201d;color:#fff}
.share__state{font-size:.86rem;min-height:1.4em;margin:8px 0 0}
.next{margin-block:1.8em;padding:18px 20px;border-radius:12px;background:#1b201d;color:#f6f7f4;color-scheme:dark}
.next a{color:#fff}
.next .actions{margin-block-end:0}
.sources{font-size:.92rem;margin-block-start:2em;padding-block-start:1.2em;border-block-start:1px solid #cfd3cc;overflow-wrap:anywhere}
.byline{font-size:.88rem;color:var(--muted)}

/* ---------- cost page: live markup, restyled ---------- */
.cost-page{display:block;max-width:1100px;margin:clamp(20px,4vw,48px) auto;padding-inline:clamp(16px,4vw,48px)}
.cost-page h1{font-size:clamp(1.8rem,4.6vw,3rem)}
.cost-page h2{margin-block-start:1.5em}
.cost-kicker{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8f1f17}
.cost-lead{font-size:1.1rem}
.cost-back{display:inline-flex;align-items:center;min-height:44px}
.cost-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:1.2em}
.cost-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border-radius:14px;background:var(--red);color:#fff!important;text-decoration:none;font-weight:750;box-shadow:0 6px 0 var(--red-deep)}
.cost-button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--red-deep)}
.cost-button+.cost-button,.cost-button.secondary{background:#1b201d;box-shadow:0 6px 0 #000}
.cost-small{font-size:.88rem;color:#4b534d}
.cost-answer,.cost-example{padding:18px 20px;border-radius:12px;background:#e7ebe6;border:1px solid #cfd6ce;margin-block:1.2em}
.cost-example-prices{display:grid;grid-template-columns:1fr auto;gap:6px 18px;margin:1em 0}
.cost-example-prices dt{font-weight:600}.cost-example-prices dd{margin:0;text-align:end;font-variant-numeric:tabular-nums;font-weight:750}
.cost-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #cfd3cc;border-radius:12px;background:#fff}
.cost-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.95rem}
.cost-table th,.cost-table td{padding:12px 14px;text-align:start;vertical-align:top;border-block-end:1px solid #dfe3dc}
.cost-table thead th{background:#1b201d;color:#fff}
 @media (max-width:720px){
  .cost-table{min-width:0;display:block}.cost-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .cost-table tbody,.cost-table tr{display:block}.cost-table tr{padding:12px 14px;border-block-end:6px solid #e7ebe6}
  .cost-table td,.cost-table tbody th{display:block;padding:4px 0;border:0}
  .cost-table [data-label]::before{content:attr(data-label);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5a625c}
  .cost-table caption{text-align:start;padding:10px 14px;font-weight:700}
}
.cost-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.cost-grid>*{padding:16px;border:1px solid #cfd3cc;border-radius:12px;background:#fff}
.cost-page details{border-block-end:1px solid #cfd3cc}
.cost-page summary{min-height:48px;display:flex;align-items:center;font-weight:700;cursor:pointer}
.cost-page ul,.cost-page ol{padding-inline-start:1.3em}

/* ---------- contact ---------- */
.contact{padding-block:0 clamp(32px,6vw,72px)}
.contact .wrap{background:var(--paper);color:#1b201d;color-scheme:light;border-radius:calc(var(--r) + 6px);padding-block:clamp(22px,5vw,48px)}
.contact a{color:#8f1f17;font-weight:650}
.contact .kicker{color:#8f1f17}
.cgrid{list-style:none;padding:0;margin:0 0 2em;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.cgrid li{padding:18px;border:1px solid #cfd3cc;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.cgrid .big{display:inline-flex;align-items:center;min-height:44px;font-size:1.1rem}
address{font-style:normal;margin-block-end:.6em}

/* ---------- footer, mobile bar, motion toggle, language offer ---------- */
.foot{position:relative;z-index:2;margin-block-start:40px;background:rgba(7,9,11,.93);border-block-start:1px solid var(--line);font-size:.92rem}
.foot__in{max-width:1180px;margin-inline:auto;padding:40px clamp(16px,4vw,40px) 10px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:inline-flex;align-items:center;min-height:44px}
.foot .kicker{color:var(--muted)}
.foot__app{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-weight:700}
.foot__note{max-width:1180px;margin:0 auto;padding:10px clamp(16px,4vw,40px) 28px;color:#98a199;font-size:.8rem}
.bar{position:fixed;inset-inline:0;bottom:0;z-index:60;display:flex;gap:10px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(10,12,12,.96);border-block-start:1px solid var(--line)}
.bar__tel{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding-inline:16px;border-radius:14px;border:1.5px solid rgba(246,247,244,.5);text-decoration:none;font-weight:700}
.bar .cta3d{flex:1}
@media (max-width:899px){:root{--bar:78px}}
@media (min-width:900px){.bar{display:none}}
.motion{font:inherit;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:14px;border-radius:99px;border:1px solid var(--line);background:rgba(10,12,12,.9);color:var(--text);cursor:pointer}
.motion__dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--violet))}
.motion[data-state=off] .motion__dot{background:#6d756f}
.motion--float{position:fixed;inset-inline-start:12px;bottom:calc(var(--bar) + 12px);z-index:55}
@media (max-width:899px){.motion--float{inset-inline-start:auto;inset-inline-end:10px;width:44px;padding:0;justify-content:center;opacity:.9}
  .motion--float [data-motion-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
bdi{white-space:nowrap}
.langoffer{position:absolute;inset-inline:0;top:100%;z-index:2;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;padding:8px 14px;background:#10202b;border-block-end:1px solid var(--line);font-size:.9rem}
.langoffer a,.langoffer button{font:inherit;font-weight:700;min-height:44px;display:inline-flex;align-items:center;padding-inline:14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer;text-decoration:none}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .cta3d__face,.cta3d__shadow,[data-tilt]{transition:none!important}
  .cta3d__face{transform:translateY(-4px)!important}
  .cta3d.is-press .cta3d__face,.cta3d:active .cta3d__face{transform:translateY(1px)!important}
  [data-tilt]{transform:none!important}
}
@media print{
  body{background:#fff;color:#000;padding:0}
  #space,.top,.foot,.bar,.motion,.share,.next,.phero .actions,.langoffer,.toc,.printbtn{display:none!important}
  .phero .wrap,.prose .wrap{background:#fff;color:#000;border:0;box-shadow:none;padding:0}
  .phero h1,.phero p,.crumb,.byline{color:#000}
  .prose a{color:#000}
  .checklist li{break-inside:avoid}
}
.crumb a,.foot li a{min-width:44px}
.cost-page :is(p,li,dd,td) a:not(.cost-button){padding-block:14px}
.toc a{min-height:44px}
.cost-page a:not(.cost-button){display:inline-block;padding-block:14px;line-height:1.3}

/* ---------- v4: German-fallback marker, Cora, app reviews, consent, orbit list, RTL ---------- */
.de-tag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:1px 5px;border-radius:5px;border:1px solid currentColor;opacity:.75;vertical-align:middle;margin-inline-start:2px}
.nav .de-tag,.menu .de-tag{display:none}
.card--soft{border-style:dashed}
.costnote{margin-block-start:18px;max-width:640px}
.byline-in{font-size:.88rem;color:#4b534d}
.linkbtn{font:inherit;color:inherit;background:none;border:0;padding:0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:start}
.cora-sec{padding-block:clamp(20px,4vw,48px) 0}
.cora{border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.cora>summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:72px;padding:8px 16px;cursor:pointer;border-radius:var(--r)}
.cora>summary::-webkit-details-marker{display:none}
.cora__halo{position:relative;flex:none;width:56px;height:56px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--cyan),var(--blue),var(--violet),var(--cyan));box-shadow:0 0 18px -4px var(--blue);transform:perspective(300px) rotateY(-10deg)}
.cora__halo img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#000}
.cora__id{line-height:1.3}
.cora__id small{display:block;color:var(--muted);font-size:.84rem}
.cora__body{padding:4px 16px 18px}
.cora__search label{display:block;font-weight:700;font-size:.9rem;margin-block-end:6px}
.cora__search input{font:inherit;width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1.5px solid rgba(246,247,244,.45);background:#0c0f0e;color:var(--text)}
.cora__h{font-size:1rem;margin-block:1em .5em}
.cora__item{border-block-start:1px solid var(--line)}
.cora__item>summary{min-height:48px;display:flex;align-items:center;font-weight:650;cursor:pointer;padding-block:8px}
.cora__item>div{color:var(--muted);padding-block-end:8px}
.cora__none{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.07)}
.appreviews{margin:16px 20px 20px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(12,15,24,.94)}
.appreviews h3{margin-block-end:.3em}
.appreviews ul{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}
.appreviews li{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05);overflow-wrap:anywhere}
.appreviews li p{margin:0}.appreviews__who{font-weight:700;font-size:.9rem}
.appreviews__out p{margin:0 0 .4em}
.co-all{margin:14px 20px 0;border:1px solid var(--line);border-radius:14px;background:rgba(12,15,24,.8)}
.co-all>summary{min-height:52px;display:flex;align-items:center;padding-inline:16px;font-weight:700;cursor:pointer}
.co-all .co-list{padding:6px 12px 14px}
.consent{position:fixed;inset-inline:10px;bottom:calc(var(--bar) + 10px);z-index:70;max-width:560px;margin-inline:auto;padding:16px 18px;border-radius:16px;background:#101312;border:1px solid rgba(246,247,244,.4);box-shadow:0 20px 60px #000;font-size:.92rem}
.consent[hidden]{display:none}
.consent__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.consent button{font:inherit;font-weight:750;min-height:48px;border-radius:12px;border:1.5px solid #f6f7f4;background:#f6f7f4;color:#111;cursor:pointer}
.cost-page--md .crumb{color:#4b534d}
.cost-page--md .cost-table-scroll{margin-block:1em}
[dir=rtl] .cost-example-prices dd,[dir=rtl] .cost-table td{text-align:start}
[dir=rtl] .cora__halo{transform:perspective(300px) rotateY(10deg)}
[dir=rtl] body,[dir=rtl]{letter-spacing:0}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .kicker{letter-spacing:0;line-height:1.35}
@media print{.cora-sec,.consent,.appreviews{display:none!important}}
.share__url{color:#4b534d}.share__url span{overflow-wrap:anywhere}

/* ---------- home: real workshop photos ---------- */
.works{padding-block:clamp(40px,8vw,96px) 0}
.works .wrap{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding-block:clamp(22px,4vw,44px)}
.works__grid{list-style:none;margin:1.2em 0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.works__grid img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);aspect-ratio:16/9;object-fit:cover}
/* ---------- the 13 existing German pages in the new shell ---------- */
.overline{display:block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hot);margin:0 0 .7em}
.legacy .page-heading{max-width:1180px;margin:clamp(20px,4vw,48px) auto 18px;padding:clamp(20px,4vw,44px) clamp(16px,4vw,40px);background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--r) + 6px)}
.legacy .page-heading h1 em,.closing h2 em,.sports-heading h2 em{font-style:normal;color:var(--hot)}
.legacy .page-heading>p{max-width:70ch;font-size:1.08rem;margin:0}
.back-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:.88rem;color:var(--muted)}
.legacy main>section.wrap.section,.legacy main>section.wrap.prose,.journal-article{background:var(--paper);color:#1b201d;color-scheme:light;border-radius:calc(var(--r) + 6px);padding-block:clamp(22px,5vw,52px);margin-block-end:18px;box-shadow:0 30px 80px -30px #000}
.legacy main>section.wrap .overline,.journal-article .overline{color:#8f1f17}
.legacy main>section.wrap a:not(.button),.journal-article a:not(.button){color:#8f1f17;font-weight:650}
.legacy main>section.wrap :focus-visible,.journal-article :focus-visible{outline-color:#111;box-shadow:0 0 0 6px #ffd9d4}
.legacy .prose h2{margin-block-start:1.5em}.legacy .prose h2:first-child{margin-block-start:0}
.legacy .prose ul{padding-inline-start:1.2em}.legacy .prose li a{display:inline-block;padding-block:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 22px;border-radius:14px;background:var(--red);color:#fff!important;font-weight:750;text-decoration:none;box-shadow:0 6px 0 var(--red-deep)}
.button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--red-deep)}
.review-grid,.journal-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.review-card,.journal-card,.qualification-block,.review-method,.editorial-note,.gallery-note,.answer-box,.case-note,.cost-teaser{padding:18px;border:1px solid #cfd3cc;border-radius:12px;background:#fff;margin-block-end:14px}
.review-card{display:flex;flex-direction:column;margin:0}
.review-card>a{margin-block-start:auto;display:inline-flex;align-items:center;min-height:44px}
.review-person{display:flex;flex-direction:column;font-size:.9rem;margin-block:.6em}
.journal-card{padding:0;overflow:hidden;margin:0}
.journal-card>a{display:block;text-decoration:none;color:#1b201d!important;font-weight:400!important}
.journal-card>a>div{padding:16px 18px}
.journal-photo,.article-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.text-link{font-weight:750;color:#8f1f17;display:inline-flex;min-height:44px;align-items:center}
.article-meta{font-size:.88rem;color:#4b534d;margin-block-end:1em}
.article-figure{margin:0 0 1.4em}.article-figure img{border-radius:12px}.article-figure figcaption{position:static;background:none;color:#4b534d;padding:6px 0 0;font-size:.84rem}
.article-layout{display:grid;gap:22px}
.article-toc{display:flex;flex-direction:column;font-size:.95rem;padding:16px;border:1px solid #cfd3cc;border-radius:12px;background:#fff;height:max-content}
.article-toc a{display:inline-flex;align-items:center;min-height:44px}
.article-next{margin-block-start:2em;padding-block-start:1.2em;border-block-start:1px solid #cfd3cc}
.article-next a{display:inline-flex;align-items:center;min-height:44px}
@media (min-width:980px){.article-layout{grid-template-columns:260px minmax(0,1fr)}.article-toc{position:sticky;top:calc(var(--head) + 16px)}}
.about-layout{display:grid;gap:24px}
@media (min-width:860px){.about-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.name-poster{display:flex;flex-direction:column;font-size:clamp(2.2rem,7vw,4.4rem);font-weight:800;line-height:1;overflow-wrap:anywhere}
.name-poster small{font-size:.9rem;letter-spacing:.2em;margin-block-start:.8em;color:#4b534d}.name-poster .red{color:var(--red)}
.questions details{border-block-end:1px solid #cfd3cc}
.questions summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:60px;padding-block:10px;font-weight:700;cursor:pointer}
.questions summary::-webkit-details-marker{display:none}
.q-number{font-size:.8rem;color:#8f1f17;font-variant-numeric:tabular-nums}
.questions .plus{margin-inline-start:auto;font-size:1.4rem;transition:transform .2s}.questions details[open] .plus{transform:rotate(45deg)}
.questions details>p{padding-block-end:14px;max-width:70ch}
.closing{position:relative;overflow:hidden;padding-block:clamp(40px,8vw,90px)}
.closing .wrap{position:relative;z-index:1;background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding-block:clamp(24px,5vw,56px)}
.closing-bottom{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.closing-watermark{display:none}
.gallery-tools{display:flex;flex-direction:column;gap:10px;margin-block-end:18px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px}
.gallery-filters button{font:inherit;font-weight:700;font-size:.9rem;min-height:44px;padding-inline:14px;border-radius:99px;border:1.5px solid #1b201d;background:#fff;color:#1b201d;cursor:pointer}
.gallery-filters button[aria-pressed=true]{background:#1b201d;color:#fff}
.gallery-group{margin-block-end:28px}.gallery-group[hidden],.work-card[hidden]{display:none}
.sports-heading{display:grid;gap:8px;margin-block-end:14px}
.work-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.work-card{margin:0;border:1px solid #cfd3cc;border-radius:12px;overflow:hidden;background:#fff}
.work-card>a{position:relative;display:block}
.work-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#dfe3dc}
.zoom-mark{position:absolute;inset-inline-end:8px;top:8px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-weight:800}
.work-card figcaption{position:static;background:none;color:#1b201d;padding:12px 14px;border-radius:0;font-size:.92rem}
.work-card figcaption h3{font-size:1rem;margin-block-end:.3em}.work-card figcaption p{margin:0;color:#4b534d}
dialog.lightbox{border:0;border-radius:16px;padding:14px;background:#0c0f0e;color:#f6f7f4;max-width:min(96vw,1300px);width:max-content}
dialog.lightbox::backdrop{background:rgba(0,0,0,.82)}
dialog.lightbox img{max-width:100%;max-height:74vh;width:auto;height:auto;margin-inline:auto;border-radius:10px}
.lightbox-close{position:absolute;inset-inline-end:10px;top:10px;z-index:2}
.lightbox-close,.lightbox-controls button{font:inherit;font-size:1.1rem;width:48px;height:48px;border-radius:50%;border:1.5px solid #f6f7f4;background:#0c0f0e;color:#f6f7f4;cursor:pointer}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-block-start:8px}
#lightbox-caption{margin:10px 0 0;text-align:center;max-width:70ch;margin-inline:auto}

/* CTA light: only on the 3px rim, never under the label, so the text keeps its contrast in every state */
/* the rim needs a mask; without mask support nothing white is drawn on the button at all */
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)){
.cta3d__face::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;pointer-events:none;
  background:radial-gradient(120px circle at var(--px,30%) var(--py,0%),rgba(255,255,255,calc(.55 + var(--lit,0) * .45)),rgba(255,255,255,.12) 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
}
.steps li::before{background:linear-gradient(135deg,#0e7490,#1d4ed8 50%,#7e22ce)}

/* ---------- V6: film background on the home page, offer button, sound button ---------- */
.film{position:fixed;inset:0;z-index:0;opacity:0;pointer-events:none;overflow:hidden;transition:opacity .5s}
.film canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,11,.42),rgba(7,9,11,.16) 38%,rgba(7,9,11,.5))}
.film-live .film{opacity:1}
.film-live [data-story] .hero__media,.film-live [data-story] .scene__fig{visibility:hidden}
.film-live [data-story] .hero__txt{text-shadow:0 1px 14px rgba(7,9,11,.85)}
.cta3d__label small{display:block;font-size:.72em;font-weight:600;letter-spacing:.02em;opacity:.92;margin-block-start:1px}
.snd{font:inherit;font-size:.8rem;font-weight:700;color:var(--text);background:rgba(10,12,12,.6);border:1.5px solid rgba(246,247,244,.5);border-radius:999px;min-height:44px;padding:8px 16px;cursor:pointer}
.snd[aria-pressed=true]{border-color:#e0443a}
.snd:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media print{.film,.snd{display:none!important}}

/* V6.3: the header button and the phone number keep their size and stay on one line; the full navigation
   starts where the longest language fits, with tighter spacing up to 1500px */
.top .cta3d,.top__tel{flex:none}
.cta3d--sm .cta3d__label{white-space:nowrap}
@media (min-width:1340px) and (max-width:1499.98px){.top{gap:10px;padding-inline:16px}.nav a{padding-inline:7px}}

/* ---------- V7.5: original logo, separate Corion link, lighter text panels over the story ---------- */
.brand img{width:auto;height:40px;aspect-ratio:1316/506}
.top__inf{display:flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;border-radius:12px;text-decoration:none}
.top__inf img{width:34px;height:34px;display:block}
.top__inf:hover{background:rgba(255,255,255,.1)}
.top__inf:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:420px){.brand img{height:34px}.top__inf img{width:30px;height:30px}}
/* The story panels no longer cover the picture: a soft dark cloud right behind the words and a shadow on the letters
   carry the contrast, the rest of the picture stays visible. Buttons keep their own surfaces. */
[data-story] .hero__txt,[data-story] .scene__panel{
  background:radial-gradient(ellipse 85% 80% at 50% 48%,rgba(7,9,11,.74),rgba(7,9,11,.56) 55%,rgba(7,9,11,.2) 82%,rgba(7,9,11,0));
  border-color:transparent;box-shadow:none;
  text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
[data-story] .hero__txt .cta3d,[data-story] .hero__txt .btn-ghost{text-shadow:none}
[data-story] .hero__txt .btn-ghost{background:rgba(10,12,12,.72)}
@media (forced-colors:active){[data-story] .hero__txt,[data-story] .scene__panel{background:Canvas;border:1px solid CanvasText;text-shadow:none}}
@media print{.top__inf{display:none!important}}
