:root{
    --bg:#020306; --bg-2:#07090d;
    --paper:#f3f5ef; --paper-2:#e9ebe4;
    --ink:#0a0c11;
    --fg:#f3f5ef;
    --muted:rgba(243,245,239,.62); --quiet:rgba(243,245,239,.42);
    --muted-l:rgba(10,12,17,.68); --quiet-l:rgba(10,12,17,.42);
    --line:rgba(243,245,239,.14); --line-l:rgba(10,12,17,.12);
    --accent:#c8ccc6;
    --accent-2:#7a8a86;
    --chrome:#dce2df;
    --ease:cubic-bezier(.23,1,.32,1);
    --font:'Neue Haas Grotesk Display','Söhne','Avenir Next','Helvetica Neue',Arial,system-ui,sans-serif;
    --mono:'JetBrains Mono','IBM Plex Mono','SFMono-Regular',ui-monospace,Menlo,monospace;
    --maxw:1540px;
  }
  *{box-sizing:border-box}
  html{background:var(--bg);scroll-behavior:smooth;overflow-x:hidden}
  body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;overflow-x:hidden}
  img{display:block;max-width:100%;height:auto}
  a,button{font:inherit;color:inherit}
  a{text-decoration:none}
  button{border:0;background:transparent;cursor:pointer;font:inherit}
  ::selection{background:var(--accent);color:var(--ink)}
  h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:-.055em}
  p{margin:0}

  body:before{content:"";position:fixed;inset:-18%;z-index:80;pointer-events:none;opacity:.045;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:screen}
  @keyframes grain{50%{transform:translate3d(1.2%,-1%,0)}}

  img[loading="lazy"]{opacity:0;transform:scale(1.018);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
  img[loading="lazy"].is-loaded{opacity:1;transform:scale(1)}
  @media (prefers-reduced-motion:reduce){
    img[loading="lazy"]{transition:opacity .3s linear;transform:none}
  }

  main{position:relative;z-index:2}
  section{position:relative}
  .section-inner{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,11vw,160px) clamp(22px,5vw,76px)}
  .kicker{font:10px var(--mono);letter-spacing:.26em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;color:var(--accent)}
  .kicker:before{content:"";width:24px;height:1px;background:currentColor}

  /* ============ TRIPTYCHON HERO ============ */
  .hero-tri{position:relative;height:100svh;max-height:100svh;overflow:hidden;background:#000;color:var(--fg)}
  .tri-stage{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:1px;background:#000;z-index:1}
  .tri-col{position:relative;overflow:hidden;background:#050608}
  .tri-img{position:absolute;inset:-6%;background-image:var(--tri-bg-desktop,none);background-size:cover;background-position:center;will-change:transform,filter;filter:saturate(.72) brightness(.82) contrast(1.05);transition:filter .9s var(--ease)}
  .hero-tri.is-animated .tri-col:nth-child(1) .tri-img{animation:kbA 36s ease-in-out infinite alternate}
  .hero-tri.is-animated .tri-col:nth-child(2) .tri-img{animation:kbB 42s ease-in-out infinite alternate}
  .hero-tri.is-animated .tri-col:nth-child(3) .tri-img{animation:kbC 38s ease-in-out infinite alternate}
  @keyframes kbA{0%{transform:scale(1.08) translate(-1.2%,1.4%)}100%{transform:scale(1.14) translate(1.4%,-1.6%)}}
  @keyframes kbB{0%{transform:scale(1.06) translate(1.2%,-1.2%)}100%{transform:scale(1.12) translate(-1.6%,1.6%)}}
  @keyframes kbC{0%{transform:scale(1.07) translate(-1.5%,-1.2%)}100%{transform:scale(1.13) translate(1.2%,1.8%)}}

  /* Per-column vignette */
  .tri-col:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 56%, rgba(0,0,0,.88) 100%);pointer-events:none;z-index:2}

  /* Idle state: all columns slightly muted; on hover focus the active one */
  .hero-tri[data-hover="1"] .tri-col .tri-img{filter:saturate(.32) brightness(.5) contrast(1.02)}
  .hero-tri[data-hover="1"] .tri-col.is-active .tri-img{filter:saturate(1.08) brightness(1.02) contrast(1.08)}
  .hero-tri[data-hover="1"] .tri-col.is-active:after{background:linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 56%, rgba(0,0,0,.78) 100%)}

  /* Column label (top-left of each column) */

  /* Editorial overlay across the full hero */
  .tri-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(56px,7vw,96px) clamp(22px,4vw,60px) clamp(40px,5vw,72px);pointer-events:none}
  .tri-overlay > *{pointer-events:auto}
  .tri-meta{font:10px var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(18px,2vw,28px);display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp 1s var(--ease) .3s forwards}
  .tri-meta:after{content:"";flex:1;max-width:280px;height:1px;background:rgba(255,255,255,.18)}
  .tri-title{font-size:clamp(46px,9.4vw,160px);line-height:.82;letter-spacing:-.07em;text-transform:uppercase;color:var(--fg);max-width:1500px;font-weight:900}
  .tri-title .line{display:block;overflow:hidden;padding-bottom:.04em}
  .tri-title .word{display:inline-block;transform:translateY(110%);opacity:0;animation:triUp 1.05s cubic-bezier(.18,.78,.24,1) forwards}
  .tri-title .line:nth-child(2) .word{animation-delay:.12s;color:rgba(243,245,239,.86)}
  @keyframes triUp{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

  .tri-sub{margin-top:clamp(20px,2.2vw,28px);max-width:580px;font-size:clamp(14px,1.05vw,16.5px);line-height:1.6;color:var(--muted);opacity:0;animation:fadeUp 1.05s var(--ease) .8s forwards}
  .tri-actions{margin-top:clamp(28px,3vw,38px);display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp 1.05s var(--ease) 1s forwards}
  .tri-actions a{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--accent);color:var(--fg);font:11px var(--mono);letter-spacing:.22em;text-transform:uppercase;transition:background .35s var(--ease),color .35s var(--ease)}
  .tri-actions a:hover{background:var(--accent);color:var(--ink)}
  .tri-actions a.ghost{border-color:rgba(243,245,239,.32);color:var(--muted)}
  .tri-actions a.ghost:hover{border-color:var(--fg);color:var(--fg);background:transparent}

  /* ============ STATEMENT (one viewport tall) ============ */
  .st{background:var(--paper);color:var(--ink);height:100svh;max-height:100svh;display:flex;align-items:stretch;overflow:hidden}
  .st .section-inner{max-width:var(--maxw);width:100%;margin:0 auto;padding:clamp(120px,12vw,170px) clamp(22px,5vw,76px) clamp(60px,6vw,90px);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(48px,7vw,120px);align-items:center;height:100%}
  .st-copy{display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,2.4vw,32px)}
  .st-kicker{font:10px var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-2);display:inline-flex;align-items:center;gap:12px}
  .st-kicker:before{content:"";width:24px;height:1px;background:currentColor}
  .st h2{font-size:clamp(56px,8.4vw,148px);line-height:.86;letter-spacing:-.075em;font-weight:900;color:var(--ink)}
  .st h2 em{font-style:italic;color:var(--accent-2);font-weight:300;letter-spacing:-.04em}
  .st-body{display:grid;gap:14px;max-width:520px}
  .st-body p{color:var(--muted-l);font-size:clamp(15px,1.1vw,17px);line-height:1.66;margin:0}
  .st-body p strong{color:var(--ink);font-weight:600}
  .st-image{position:relative;height:100%;max-height:calc(100svh - clamp(180px,18vw,260px));overflow:hidden;background:#d8dcd5}
  .st-image img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}
  .st-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 64%,rgba(0,0,0,.22) 100%);pointer-events:none}

  /* ============ SHOOTING STYLES (3 large image modules) ============ */
  .sh{background:var(--bg);color:var(--fg)}
  .sh-head{max-width:1100px;margin-bottom:clamp(48px,6vw,80px)}
  .sh-head h2{font-size:clamp(42px,6.4vw,116px);line-height:.86;letter-spacing:-.07em;font-weight:900;margin-bottom:24px}
  .sh-head h2 em{font-style:normal;color:var(--accent-2);font-weight:300;letter-spacing:-.04em}
  .sh-head p{color:var(--muted);font-size:clamp(15px,1.1vw,17px);line-height:1.6;max-width:680px}
  .sh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,32px)}
  .sh-card{display:flex;flex-direction:column;gap:20px}
  .sh-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a0c11}
  .sh-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s var(--ease);filter:saturate(.9) contrast(1.06)}
  .sh-card:hover .sh-img img{transform:scale(1.045);filter:saturate(1.08) contrast(1.1)}
  .sh-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
  .sh-meta .num{font:11px var(--mono);letter-spacing:.24em;color:var(--accent);text-transform:uppercase}
  .sh-meta .arrow{color:var(--quiet);font-size:18px;transition:color .35s var(--ease),transform .35s var(--ease)}
  .sh-card:hover .arrow{color:var(--fg);transform:translateX(6px)}
  .sh-card h3{font-size:clamp(22px,2.1vw,32px);font-weight:800;letter-spacing:-.035em;line-height:1.05}
  .sh-card p{color:var(--muted);font-size:15px;line-height:1.6}

  /* ============ MINI PORTFOLIO — Live Contact Sheet (100svh) ============ */
  .po{background:#06070a;color:#fff;height:100svh;max-height:100svh;overflow:hidden;position:relative}
  .po-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);gap:6px;padding:6px}
  .po-grid:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.04),transparent 50%),radial-gradient(80% 60% at 0% 100%,rgba(255,255,255,.03),transparent 50%);z-index:5}

  .po-head{grid-column:8 / 13;grid-row:1 / 5;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2.2vw,40px);position:relative;z-index:3;background:linear-gradient(180deg,rgba(6,7,10,.45),rgba(6,7,10,.78))}
  .po-head h2{font-size:clamp(40px,5.4vw,96px);line-height:.88;letter-spacing:-.06em;font-weight:900;color:#fff;margin:0}
  .po-head h2 em{font-style:italic;color:rgba(255,255,255,.45);font-weight:300;letter-spacing:-.035em}
  .po-head .head-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
  .po-head p{color:rgba(255,255,255,.62);font-size:clamp(13px,.95vw,15px);line-height:1.55;max-width:340px;margin:0}
  .po-head .hint{font:10px var(--mono);letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.5);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
  .po-head .hint:before{content:"";width:18px;height:1px;background:currentColor}

  .po-tile{position:relative;overflow:hidden;background:#0a0c11;cursor:zoom-in;border:0;padding:0;margin:0;display:block;opacity:0;transform:translateY(18px) scale(.985);transition:opacity 1s var(--ease),transform 1s var(--ease),filter .7s var(--ease)}
  .po-tile.is-in{opacity:1;transform:translateY(0) scale(1)}
  .po-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.8s var(--ease),filter .7s var(--ease);filter:brightness(.78) saturate(.86) contrast(1.04)}
  .po-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.62) 100%);opacity:0;transition:opacity .55s var(--ease);z-index:2;pointer-events:none}
  .po-tile:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,0);transition:border-color .6s var(--ease),inset .6s var(--ease);z-index:3;pointer-events:none}
  .po-tile .corner{position:absolute;width:14px;height:14px;border:1px solid rgba(255,255,255,.85);opacity:0;transition:opacity .45s var(--ease),transform .55s var(--ease);z-index:3;pointer-events:none}
  .po-tile .corner.tl{top:10px;left:10px;border-right:none;border-bottom:none}
  .po-tile .corner.tr{top:10px;right:10px;border-left:none;border-bottom:none}
  .po-tile .corner.bl{bottom:10px;left:10px;border-right:none;border-top:none}
  .po-tile .corner.br{bottom:10px;right:10px;border-left:none;border-top:none}
  .po-tile .lbl{position:absolute;left:14px;bottom:12px;font:10px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .55s var(--ease);z-index:3;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}
  .po-tile .zoom{position:absolute;top:14px;right:14px;font:9px var(--mono);letter-spacing:.28em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .45s var(--ease);z-index:3;pointer-events:none}

  .po-tile:hover img,.po-tile:focus-visible img{transform:scale(1.04);filter:brightness(1) saturate(1.08) contrast(1.02)}
  .po-tile:hover:before,.po-tile:focus-visible:before{opacity:1}
  .po-tile:hover .corner,.po-tile:focus-visible .corner{opacity:.9}
  .po-tile:hover .corner.tl,.po-tile:focus-visible .corner.tl{transform:translate(-3px,-3px)}
  .po-tile:hover .corner.tr,.po-tile:focus-visible .corner.tr{transform:translate(3px,-3px)}
  .po-tile:hover .corner.bl,.po-tile:focus-visible .corner.bl{transform:translate(-3px,3px)}
  .po-tile:hover .corner.br,.po-tile:focus-visible .corner.br{transform:translate(3px,3px)}
  .po-tile:hover .lbl,.po-tile:focus-visible .lbl{opacity:1;transform:translateY(0)}
  .po-tile:hover .zoom,.po-tile:focus-visible .zoom{opacity:.85}
  .po-tile:focus-visible{outline:1px solid rgba(255,255,255,.7);outline-offset:-1px}

  /* hover-dim siblings */
  .po-grid:hover .po-tile:not(:hover){filter:brightness(.55)}
  .po-grid:hover .po-tile:not(:hover) img{filter:brightness(.62) saturate(.6)}

  /* tile positions — asymmetric */
  .po-tile.t1{grid-column:1 / 8;grid-row:1 / 8}
  .po-tile.t2{grid-column:8 / 13;grid-row:5 / 8}
  .po-tile.t3{grid-column:1 / 4;grid-row:8 / 13}
  .po-tile.t4{grid-column:4 / 7;grid-row:8 / 13}
  .po-tile.t5{grid-column:7 / 10;grid-row:8 / 13}
  .po-tile.t6{grid-column:10 / 13;grid-row:8 / 13}

  /* ============ LIGHTBOX ============ */
  .lb{position:fixed;inset:0;z-index:120;display:none;background:rgba(6,7,10,.95);backdrop-filter:blur(18px);align-items:center;justify-content:center;opacity:0;transition:opacity .35s var(--ease)}
  .lb.open{display:flex;opacity:1}
  .lb-stage{position:relative;width:min(94vw,1500px);height:min(86vh,1000px);display:flex;align-items:center;justify-content:center}
  .lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px -30px rgba(0,0,0,.7);opacity:0;transition:opacity .4s var(--ease)}
  .lb-img.show{opacity:1}
  .lb-close,.lb-prev,.lb-next{position:absolute;background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff;font:11px var(--mono);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .3s var(--ease),border-color .3s var(--ease)}
  .lb-close{top:-52px;right:0;width:44px;height:44px;font-size:18px}
  .lb-close:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55)}
  .lb-prev,.lb-next{top:50%;width:54px;height:54px;transform:translateY(-50%);font-size:20px;font-weight:300}
  .lb-prev{left:-78px}
  .lb-next{right:-78px}
  .lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55)}
  .lb-counter{position:absolute;bottom:-44px;left:0;font:10px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55)}
  @media (max-width:720px){
    .lb-stage{width:96vw;height:80vh}
    .lb-close{top:-48px;width:40px;height:40px}
    .lb-prev{left:6px;background:rgba(0,0,0,.5)}
    .lb-next{right:6px;background:rgba(0,0,0,.5)}
  }

  /* ============ FUER WEN (5 image cards) ============ */
  .fw{background:var(--paper);color:var(--ink)}
  .fw .section-inner{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,72px)}
  .fw-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
  .fw-head h2{font-size:clamp(42px,6.2vw,108px);line-height:.86;letter-spacing:-.068em;font-weight:900}
  .fw-head h2 em{font-style:normal;color:var(--accent-2);font-weight:300}
  .fw-head p{color:var(--muted-l);font-size:16px;line-height:1.6;max-width:480px;justify-self:end}
  .fw-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.4vw,22px)}
  .fw-card{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0a0c11}
  .fw-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s var(--ease);filter:brightness(.74) grayscale(.18)}
  .fw-card:hover img{transform:scale(1.05);filter:brightness(1) grayscale(0)}
  .fw-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.88) 100%);pointer-events:none}
  .fw-card .content{position:absolute;left:20px;right:20px;bottom:22px;pointer-events:none}
  .fw-card .num{font:10px var(--mono);letter-spacing:.24em;color:var(--accent);margin-bottom:8px;display:block;text-transform:uppercase}
  .fw-card strong{display:block;font-size:clamp(15px,1.18vw,19px);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.18;margin-bottom:6px}
  .fw-card p{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.7)}

  /* ============ RELATED ============ */
  .rl{background:var(--bg);color:var(--fg)}
  .rl-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
  .rl-head h2{font-size:clamp(42px,6.2vw,108px);line-height:.86;letter-spacing:-.068em;font-weight:900}
  .rl-head h2 em{font-style:normal;color:var(--accent-2);font-weight:300}
  .rl-head p{color:var(--muted);font-size:16px;line-height:1.6;max-width:420px;justify-self:end}
  .rl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
  .rl-card{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a0c11;display:block}
  .rl-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s var(--ease);filter:brightness(.7) grayscale(.22)}
  .rl-card:hover img{transform:scale(1.05);filter:brightness(.96) grayscale(0)}
  .rl-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.88) 100%);pointer-events:none}
  .rl-card .content{position:absolute;left:20px;right:20px;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;pointer-events:none}
  .rl-card .content > div{display:grid;gap:6px}
  .rl-card span{font:10px var(--mono);letter-spacing:.24em;color:var(--accent);text-transform:uppercase}
  .rl-card strong{font-size:clamp(18px,1.8vw,28px);font-weight:800;letter-spacing:-.025em;color:#fff}
  .rl-card .arrow{color:rgba(255,255,255,.7);font-size:20px;transition:transform .35s var(--ease),color .35s var(--ease)}
  .rl-card:hover .arrow{transform:translateX(6px);color:#fff}

  /* ============ CONTACT CTA ============ */
  .ct{background:var(--paper);color:var(--ink)}
  /* Anfrage-Sektion wird via assets/site-chrome.css + site-chrome.js bereitgestellt */

  /* ============ Responsive ============ */
  @media (max-width:1180px){
    .tri-stage{grid-template-columns:1fr 1.1fr 1fr}
    .sh-grid{grid-template-columns:1fr 1fr}
    .po-head h2{font-size:clamp(34px,5vw,68px)}
    .fw-grid{grid-template-columns:repeat(3,1fr)}
    .fw-grid .fw-card:nth-child(4),.fw-grid .fw-card:nth-child(5){grid-column:span 1}
    .rl-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:900px){
    .hero-tri{height:auto;max-height:none}
    .tri-stage{position:relative;grid-template-columns:1fr;grid-auto-rows:46vh;gap:1px;min-height:auto}
    .tri-img{background-image:var(--tri-bg-mobile,var(--tri-bg-desktop,none))}
    .tri-overlay{position:relative;padding:clamp(56px,9vw,80px) 22px clamp(40px,7vw,56px);background:#000}
    .tri-title{font-size:clamp(42px,11vw,76px)}
    .st{height:auto;max-height:none}
    .st .section-inner{grid-template-columns:1fr;gap:36px;padding:clamp(90px,14vw,130px) 22px clamp(60px,9vw,90px)}
    .st-image{height:54vh;max-height:none}
    .sh-grid{grid-template-columns:1fr}
    /* gallery on small screens: stack header + 2-col tile grid, free flowing height */
    .po{height:auto;max-height:none}
    .po-grid{position:relative;grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:38vh;padding:8px;gap:8px}
    .po-head{grid-column:1 / 3;grid-row:auto;padding:clamp(30px,6vw,48px) clamp(16px,4vw,28px);min-height:38vh}
    .po-head h2{font-size:clamp(34px,8vw,56px)}
    .po-tile.t1,.po-tile.t2,.po-tile.t3,.po-tile.t4,.po-tile.t5,.po-tile.t6{grid-column:auto;grid-row:auto}
    .po-tile.t1{grid-column:1 / 3}
    .fw-head,.rl-head{grid-template-columns:1fr;gap:18px}
    .fw-head p,.rl-head p{justify-self:start}
    .fw-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:600px){
    .fw-grid{grid-template-columns:1fr}
    .rl-grid{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){
    .tri-img{animation:none !important;transform:scale(1.08) !important}
    .tri-title .word{animation:none;transform:none;opacity:1}
    .tri-meta,.tri-sub,.tri-actions{animation:none;opacity:1;transform:none}
    .po-tile{opacity:1;transform:none;transition:none}
    .po-tile img{transition:none}
    .po-grid:hover .po-tile:not(:hover){filter:none}
  }
