
:root{
  --bg:#f3efe8; --ink:#111; --muted:#6d6a66; --line:rgba(17,17,17,.15);
  --dark:#0a0a0b; --light:#f5f1e9; --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.4}
body.dark{background:var(--dark);color:#fff}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%;height:auto}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;mix-blend-mode:difference;color:#fff}
.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;letter-spacing:.19em;font-weight:700}
.menu{display:flex;gap:24px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.menu a{opacity:.8}.menu a:hover{opacity:1}
.hero-split{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}
.hero-panel{position:relative;min-height:100svh;overflow:hidden}
.hero-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.hero-panel:hover img{transform:scale(1.025)}
.hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 50%)}
.hero-copy{position:absolute;left:6vw;right:4vw;bottom:7vh;color:#fff;z-index:2}
.kicker{font-size:12px;letter-spacing:.19em;text-transform:uppercase;margin-bottom:12px}
.hero-copy h1,.page-hero h1{font-size:clamp(48px,8vw,120px);line-height:.9;margin:0 0 12px;letter-spacing:-.05em}
.hero-copy p{font-size:clamp(16px,1.6vw,24px);margin:0}
.section{padding:120px 0}
.section.tight{padding:72px 0}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.display{font-size:clamp(46px,8vw,130px);line-height:.92;letter-spacing:-.055em;margin:0}
.lede{font-size:clamp(22px,3vw,46px);max-width:1050px;margin:36px 0 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile{position:relative;overflow:hidden;background:#ddd;min-height:55vw;max-height:900px}
.tile.short{min-height:36vw}
.tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s ease}
.tile:hover img{transform:scale(1.02)}
.tile-overlay{position:absolute;left:28px;right:28px;bottom:28px;color:#fff;z-index:2}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 45%)}
.tile h3{font-size:clamp(28px,4vw,56px);margin:0}
.btn{display:inline-flex;border-bottom:1px solid currentColor;padding:0 0 7px;margin-top:28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.page-hero{min-height:92svh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:0 0 7vh}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05) 65%)}
.page-hero .inner{position:relative;z-index:2;color:#fff}
.page-hero p{font-size:clamp(18px,2vw,28px);margin:12px 0 0}
.masonry{columns:3;column-gap:18px}
.masonry figure{break-inside:avoid;margin:0 0 18px}
.masonry img{width:100%;filter:grayscale(100%)}
.dark-section{background:#090909;color:#fff}
.dark-section .eyebrow{color:#999}
.copy-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.copy-grid p{font-size:clamp(20px,2.3vw,34px);margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:1px solid var(--line);padding-top:24px}
.stat{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer{padding:70px 0 36px;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.footer h2{font-size:clamp(42px,7vw,100px);margin:0;letter-spacing:-.055em}
.footer-links{display:flex;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-card{padding:44px;border:1px solid var(--line);min-height:320px;display:flex;flex-direction:column;justify-content:space-between}
.contact-card h2{font-size:clamp(36px,5vw,70px);margin:0;letter-spacing:-.04em}
.note{font-size:13px;color:var(--muted);max-width:800px}
.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){
  .menu{gap:12px}.menu a:nth-child(4){display:none}
  .hero-split{grid-template-columns:1fr}.hero-panel{min-height:50svh}
  .grid-2,.grid-3,.copy-grid,.contact-grid{grid-template-columns:1fr}
  .masonry{columns:2}.tile,.tile.short{min-height:85vw}
  .section{padding:80px 0}.stats{grid-template-columns:1fr 1fr}
  .footer-grid{display:block}.footer-links{margin-top:30px;flex-wrap:wrap}
}
@media(max-width:520px){.masonry{columns:1}.wrap{width:min(calc(100% - 24px),var(--max))}.nav-inner{height:60px}.menu{font-size:10px}}


/* Portrait-safe image handling */
.hero-panel img.portrait-safe,
.page-hero img.portrait-safe,
.tile img.portrait-safe{
  object-position:center top;
}
.hero-panel img.face-low,
.page-hero img.face-low,
.tile img.face-low{
  object-position:center 24%;
}
.portrait-card{
  min-height:70vw;
  max-height:960px;
}
.portrait-card img{
  object-fit:cover;
  object-position:center top;
}
.home-people{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.home-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.home-gallery figure{
  margin:0;
  overflow:hidden;
  min-height:28vw;
  max-height:560px;
  background:#d9d6d0;
}
.home-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-gallery img.portrait-safe{
  object-position:center top;
}
.home-gallery img.face-low{
  object-position:center 22%;
}
@media(max-width:850px){
  .home-people{grid-template-columns:1fr}
  .home-gallery{grid-template-columns:1fr 1fr}
  .portrait-card{min-height:110vw}
  .hero-panel img.portrait-safe,
  .page-hero img.portrait-safe,
  .tile img.portrait-safe{object-position:center top}
}
@media(max-width:520px){
  .home-gallery{grid-template-columns:1fr}
  .home-gallery figure{min-height:115vw}
}


/* Homepage logo */
.hero-split{position:relative}
.home-logo{
  position:absolute;
  z-index:10;
  top:48px;
  left:50%;
  transform:translateX(-50%);
  width:min(330px,32vw);
  pointer-events:none;
}
.home-logo img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.18));
}
.home-brand-text{opacity:0}
@media(max-width:850px){
  .home-logo{
    top:68px;
    width:min(290px,64vw);
  }
}
@media(max-width:520px){
  .home-logo{
    top:62px;
    width:min(250px,72vw);
  }
}


/* ===== HOME V4: Sarah + Philipp Hero ===== */
.home-duo-hero{
  position:relative;
  min-height:100svh;
  background:#050505;
  overflow:hidden;
  color:#fff;
}
.home-duo-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.home-duo-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.55) 33%, rgba(0,0,0,.12) 58%, rgba(0,0,0,.34) 100%),
    linear-gradient(0deg, rgba(0,0,0,.48), transparent 42%);
}
.home-duo-logo{
  position:absolute;
  z-index:4;
  top:34px;
  left:50%;
  transform:translateX(-50%);
  width:min(310px,28vw);
}
.home-duo-logo img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 28px rgba(0,0,0,.35));
}
.home-duo-content{
  position:relative;
  z-index:3;
  min-height:100svh;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:end;
  padding-top:150px;
  padding-bottom:8vh;
}
.home-duo-copy{
  max-width:650px;
}
.home-duo-copy h1{
  font-size:clamp(64px,8vw,132px);
  line-height:.86;
  letter-spacing:-.055em;
  margin:12px 0 22px;
}
.home-duo-copy p{
  font-size:clamp(17px,1.7vw,26px);
  line-height:1.45;
  margin:0;
  color:rgba(255,255,255,.92);
}
.home-duo-copy p span{
  color:rgba(255,255,255,.62);
}
.home-duo-eyebrow{
  color:rgba(255,255,255,.72);
  margin:0;
}
.home-duo-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:34px;
}
.home-duo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.42);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:.25s ease;
  backdrop-filter:blur(4px);
}
.home-duo-btn:hover{
  background:#fff;
  color:#111;
}
.home-duo-side{
  justify-self:end;
  text-align:right;
  max-width:460px;
  margin-bottom:12px;
}
.home-duo-tag{
  margin-top:16px;
  font-size:clamp(24px,3.2vw,54px);
  line-height:1;
  letter-spacing:-.04em;
}
.home-scroll{
  position:absolute;
  z-index:4;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.58);
}
body:not(.dark) .nav{
  mix-blend-mode:normal;
  color:#fff;
}
.home-brand-text{
  opacity:1;
}
@media(max-width:850px){
  .home-duo-hero{min-height:100svh}
  .home-duo-bg{
    object-position:60% top;
  }
  .home-duo-shade{
    background:
      linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 56%, rgba(0,0,0,.18) 100%);
  }
  .home-duo-logo{
    top:66px;
    width:min(260px,62vw);
  }
  .home-duo-content{
    grid-template-columns:1fr;
    align-items:end;
    padding-top:420px;
    padding-bottom:70px;
  }
  .home-duo-side{
    display:none;
  }
  .home-duo-copy h1{
    font-size:clamp(56px,17vw,86px);
  }
}
@media(max-width:520px){
  .home-duo-bg{object-position:62% top}
  .home-duo-logo{width:min(230px,68vw)}
  .home-duo-actions{gap:10px}
  .home-duo-btn{min-width:145px;padding:12px 14px}
}
/* ===== END HOME V4 ===== */


/* ABOUT shared portrait */
.about-hero{
  position:relative;
  min-height:92svh;
  background:#050505;
  overflow:hidden;
  color:#fff;
}
.about-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.about-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.32) 45%,rgba(0,0,0,.12) 100%),
             linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);
}
.about-hero-copy{
  position:relative;
  z-index:2;
  min-height:92svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:7vh;
}
.about-hero-copy h1{
  font-size:clamp(58px,9vw,140px);
  line-height:.86;
  letter-spacing:-.055em;
  margin:10px 0 18px;
}
.about-hero-copy p{
  margin:0;
  font-size:clamp(18px,2vw,28px);
}
@media(max-width:850px){
  .about-hero{min-height:78svh}
  .about-hero img{object-position:center top}
  .about-hero-copy{min-height:78svh}
}


/* ===== PORTRAIT SAFE PASS V6 ===== */
/* Portraits: never crop the top of a person's head. */
img.portrait-safe,
.portrait-card img,
.person-card img,
.sarah-portrait img,
.philipp-portrait img{
  object-fit:contain !important;
  object-position:center top !important;
  width:100%;
  height:100%;
  background:transparent;
}

/* General editorial grids: bias crop upward so faces/heads stay visible. */
.gallery img,
.grid img,
.work-grid img,
.image-grid img,
.masonry img{
  object-position:center 22% !important;
}

/* Homepage duo and About: both people remain visible on all breakpoints. */
.home-duo-bg,
.about-hero img{
  object-position:center top !important;
}
@media(max-width:850px){
  .home-duo-bg{
    object-fit:cover;
    object-position:center top !important;
  }
  .about-hero img{
    object-fit:contain !important;
    object-position:center top !important;
    background:#050505;
  }
}
@media(max-width:520px){
  .home-duo-bg{ object-position:center top !important; }
}

/* Never force portrait images into short fixed-height boxes. */
@media(max-width:850px){
  .portrait-card,
  .person-card,
  .sarah-portrait,
  .philipp-portrait{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
  }
  .portrait-card img,
  .person-card img,
  .sarah-portrait img,
  .philipp-portrait img{
    height:auto !important;
    max-height:none !important;
  }
}
/* ===== END PORTRAIT SAFE PASS V6 ===== */


/* ===== V7: Philipp projects + face-safe About ===== */
.about-title-band{background:#050505;color:#fff;padding:48px 0 58px}
.about-title-band h1{font-size:clamp(48px,8vw,112px);line-height:.9;letter-spacing:-.05em;margin:10px 0 14px}
.about-title-band p{font-size:clamp(18px,2vw,28px);margin:0}
.about-hero-shade{display:none}
.project-case{position:relative;min-height:88svh;overflow:hidden;background:#050505;color:#fff}
.project-case>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.project-case:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.1) 65%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}
.project-copy{position:absolute;z-index:2;left:max(5vw,28px);bottom:7vh;max-width:760px}
.project-copy h2{font-size:clamp(64px,10vw,150px);line-height:.82;letter-spacing:-.055em;margin:14px 0 20px}
.project-copy p{font-size:clamp(18px,2vw,28px);margin:0}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding-top:2px;padding-bottom:8vh}
.project-card{background:#111;position:relative;min-height:52vw;max-height:780px;overflow:hidden;color:#fff}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 55%)}
.project-card div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}
.project-card span{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.project-card h3{font-size:clamp(30px,4vw,62px);line-height:.95;margin:8px 0 0}
@media(max-width:850px){.project-grid{grid-template-columns:1fr}.project-card{min-height:100vw}.project-case{min-height:75svh}.project-case>img{object-position:center center}.about-hero{min-height:auto}.about-hero img{position:relative;height:auto;display:block;object-fit:contain!important}.about-title-band{padding-top:34px}}


/* ===== V8 FACE-SAFE EDITORIAL PASS ===== */
/* Navigation always occupies its own bar. It never sits on top of a portrait. */
.nav{position:relative!important;top:auto!important;left:auto!important;right:auto!important;background:#0a0a0b;color:#fff;mix-blend-mode:normal!important;z-index:50}
body:not(.dark) .nav{background:#0a0a0b;color:#fff}

/* HOME: image first, branding and copy in a separate black band below. */
.image-only-hero{min-height:78svh;background:#050505}
.image-only-hero .home-duo-bg{object-fit:contain!important;object-position:center center!important;background:#050505}
.home-hero-band{background:#050505;color:#fff;padding:52px 0 64px}
.home-hero-band-inner{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:7vw;align-items:center}
.home-hero-logo img{display:block;width:100%;height:auto;max-width:340px;margin:auto}
.home-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.home-role-grid p{font-size:clamp(18px,2vw,28px);margin:0}
.home-role-grid .eyebrow{color:#aaa}

/* Sarah / Philipp page hero: photo and typography are separate blocks. */
.page-hero.image-only-page{min-height:auto;padding:0;display:block;background:#050505}
.page-hero.image-only-page:after{display:none!important}
.page-hero.image-only-page img{position:relative!important;inset:auto!important;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center top!important;background:#050505}
.page-title-band{padding:52px 0 64px}
.page-title-band h1{font-size:clamp(52px,9vw,130px);line-height:.88;letter-spacing:-.055em;margin:8px 0 16px}
.page-title-band p{font-size:clamp(18px,2vw,28px);margin:0}
.light-band{background:#f3efe8;color:#111}
.dark-band{background:#050505;color:#fff}

/* ABOUT: the portrait is image-only. The title remains in its own band below. */
.about-hero{min-height:auto!important;background:#050505}
.about-hero img{position:relative!important;inset:auto!important;width:100%;height:auto!important;object-fit:contain!important;object-position:center top!important;background:#050505}

/* People cards: captions sit below images, never on top of them. */
.person-editorial-card{display:block;background:#ebe7e0;color:#111}
.person-image{background:#ddd;overflow:hidden}
.person-image img{width:100%;height:auto!important;object-fit:contain!important;object-position:center top!important}
.person-caption{padding:28px 26px 34px}
.person-caption h3{font-size:clamp(32px,4vw,58px);margin:0}

/* Philipp project visuals: all copy sits outside images. */
.project-case.clean-project{min-height:auto;background:#050505}
.project-case.clean-project:after{display:none!important}
.project-case.clean-project>img{position:relative!important;inset:auto!important;width:100%;height:auto!important;object-fit:contain!important;object-position:center center!important;background:#050505}
.project-text-band{background:#050505;color:#fff;padding:46px 0 70px}
.project-text-band h2{font-size:clamp(56px,9vw,130px);line-height:.86;letter-spacing:-.055em;margin:12px 0 18px}
.project-text-band p{font-size:clamp(18px,2vw,28px);margin:0}
.project-card.clean-card{min-height:0!important;max-height:none!important;background:#111;overflow:hidden}
.project-card.clean-card:after{display:none!important}
.project-card.clean-card .project-image{background:#080808;overflow:hidden}
.project-card.clean-card .project-image img{position:relative!important;inset:auto!important;width:100%;height:auto!important;max-height:680px;object-fit:contain!important;object-position:center center!important;background:#080808}
.project-card.clean-card .project-caption{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;padding:24px 26px 34px;background:#111;color:#fff}
.project-card.clean-card .project-caption span{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.project-card.clean-card .project-caption h3{font-size:clamp(30px,4vw,62px);line-height:.95;margin:8px 0 0}

@media(max-width:850px){
  .image-only-hero{min-height:auto}
  .image-only-hero .home-duo-bg{position:relative!important;inset:auto!important;width:100%;height:auto!important;object-fit:contain!important}
  .home-hero-band-inner{grid-template-columns:1fr;gap:38px}
  .home-role-grid{grid-template-columns:1fr;gap:34px}
  .home-hero-logo img{max-width:250px}
  .project-grid{grid-template-columns:1fr}
}
/* ===== END V8 FACE-SAFE EDITORIAL PASS ===== */


/* ===== V9 — V6 HOME LOOK / PASSION FIRST ===== */
.home-v6-hero{
  position:relative;
  min-height:calc(100svh - 76px);
  background:#050505;
  overflow:hidden;
  color:#fff;
}
.home-v6-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#050505;
}
.home-v6-logo{
  position:absolute;
  z-index:3;
  top:28px;
  left:34px;
  width:min(240px,20vw);
}
.home-v6-logo img{
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.35));
}
.home-v6-copy{
  position:absolute;
  z-index:4;
  left:max(3.5vw,28px);
  right:max(3.5vw,28px);
  bottom:3.5vh;
  pointer-events:none;
}
.home-v6-small{
  font-size:clamp(28px,4.6vw,82px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:700;
  max-width:58%;
  text-shadow:0 3px 24px rgba(0,0,0,.35);
}
.home-v6-passion{
  font-size:clamp(64px,11.5vw,190px);
  line-height:.78;
  letter-spacing:-.065em;
  font-weight:800;
  margin-top:6px;
  max-width:92%;
  text-shadow:0 4px 32px rgba(0,0,0,.40);
}
.home-v6-roles{
  margin-top:28px;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
}
.home-v6-roles span{
  background:rgba(0,0,0,.34);
  padding:7px 9px;
  backdrop-filter:blur(5px);
}
/* The large type stays below the faces on desktop. */
@media(min-width:851px){
  .home-v6-copy{bottom:2.7vh}
  .home-v6-small{max-width:48%}
  .home-v6-passion{max-width:86%}
}
@media(max-width:850px){
  .home-v6-hero{
    min-height:auto;
    padding-bottom:0;
  }
  .home-v6-bg{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .home-v6-logo{
    top:18px;
    left:18px;
    width:min(190px,42vw);
  }
  .home-v6-copy{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    padding:28px 18px 36px;
    background:#050505;
  }
  .home-v6-small{max-width:none}
  .home-v6-passion{max-width:none;font-size:clamp(58px,17vw,108px)}
  .home-v6-roles{gap:10px 18px}
}
/* ===== END V9 ===== */

.legal-copy{
  margin-top:42px;
  font-size:clamp(22px,2.5vw,36px);
  line-height:1.5;
}


/* ===== V10 — stronger HOME typography ===== */
.home-v10-line{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.065em;
  line-height: .78;
  text-shadow: 0 4px 34px rgba(0,0,0,.44);
}
.home-v10-line-one{
  font-size: clamp(58px, 8.7vw, 150px);
  max-width: 88%;
}
.home-v10-line-two{
  font-size: clamp(78px, 12.6vw, 210px);
  margin-top: 10px;
  max-width: 92%;
}
@media(max-width:850px){
  .home-v10-line-one{
    font-size: clamp(44px, 13vw, 82px);
    max-width:none;
  }
  .home-v10-line-two{
    font-size: clamp(62px, 18vw, 112px);
    max-width:none;
    margin-top:8px;
  }
}
/* ===== END stronger HOME typography ===== */

/* ===== V10 — calmer image viewing on SARAH / PHILIPP ===== */
/* Generic modal / lightbox safety for existing gallery implementations */
.lightbox,
.modal,
.image-modal,
.gallery-modal,
.lb-outerContainer,
.fancybox__container,
.pswp {
  padding: clamp(18px, 3vw, 48px) !important;
  box-sizing: border-box;
}
.lightbox img,
.modal img,
.image-modal img,
.gallery-modal img,
.lb-image,
.fancybox__content img,
.pswp__img {
  max-width: min(88vw, 1280px) !important;
  max-height: 82vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin: auto !important;
}

/* If gallery links simply open the image in an overlay-like element */
body.sarah-page .gallery img,
body.philipp-page .gallery img,
body.sarah-page .portfolio img,
body.philipp-page .portfolio img,
body.sarah-page .project img,
body.philipp-page .project img {
  object-fit: contain;
}

/* Keep visible gallery cards more moderate as well */
body.sarah-page .gallery,
body.philipp-page .gallery,
body.sarah-page .portfolio,
body.philipp-page .portfolio {
  max-width: 1320px;
  margin-left:auto;
  margin-right:auto;
}
body.sarah-page .gallery img,
body.philipp-page .gallery img,
body.sarah-page .portfolio img,
body.philipp-page .portfolio img {
  max-height: 760px;
}

/* Laptop screens */
@media (min-width: 851px) and (max-height: 900px){
  .lightbox img,
  .modal img,
  .image-modal img,
  .gallery-modal img,
  .lb-image,
  .fancybox__content img,
  .pswp__img {
    max-height: 72vh !important;
    max-width: min(82vw, 1120px) !important;
  }
}
/* ===== END image viewing ===== */


/* ===== V11 HOME — faces first, type on image ===== */
.home-v11-hero{
  position:relative;
  width:100%;
  min-height:calc(100svh - 76px);
  overflow:hidden;
  background:#050505;
  color:#fff;
}
.home-v11-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.home-v11-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 43%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.72) 100%);
}
.home-v11-logo{
  position:absolute;
  z-index:2;
  top:26px;
  left:32px;
  width:min(190px,16vw);
  opacity:.88;
}
.home-v11-logo img{width:100%;height:auto;filter:drop-shadow(0 5px 18px rgba(0,0,0,.3))}
.home-v11-copy{
  position:absolute;
  z-index:3;
  left:clamp(24px,4vw,68px);
  right:clamp(24px,4vw,68px);
  bottom:clamp(30px,5vh,72px);
}
.home-v11-line{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  color:#fff;
  letter-spacing:-.065em;
  text-shadow:0 4px 28px rgba(0,0,0,.42);
}
.home-v11-line-one{
  font-size:clamp(48px,7.2vw,122px);
  line-height:.86;
}
.home-v11-line-two{
  font-size:clamp(68px,10.8vw,176px);
  line-height:.78;
  margin-top:10px;
}

/* V6-inspired scroll facts */
.home-facts{
  background:#0b0b0b;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.home-facts-track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.fact-item{
  min-height:235px;
  padding:34px 28px 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.14);
}
.fact-item:last-child{border-right:0}
.fact-no{font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.45)}
.fact-item strong{font-size:clamp(22px,2.2vw,38px);line-height:.95;letter-spacing:-.035em;max-width:12ch}
.fact-item em{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}

@media(max-width:900px){
  .home-v11-hero{
    min-height:auto;
    aspect-ratio:3 / 2;
  }
  .home-v11-bg{object-fit:cover;object-position:center 38%}
  .home-v11-logo{top:14px;left:16px;width:min(145px,35vw)}
  .home-v11-shade{background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.22) 60%,rgba(0,0,0,.80) 100%)}
  .home-v11-copy{left:16px;right:16px;bottom:18px}
  .home-v11-line-one{font-size:clamp(28px,8vw,54px)}
  .home-v11-line-two{font-size:clamp(40px,12vw,78px);margin-top:6px}
  .home-facts-track{grid-template-columns:1fr 1fr}
  .fact-item:nth-child(2){border-right:0}
  .fact-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:560px){
  .home-facts-track{grid-template-columns:1fr}
  .fact-item{min-height:170px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .fact-item:last-child{border-bottom:0}
  .home-v11-line-one{font-size:clamp(24px,7.3vw,40px)}
  .home-v11-line-two{font-size:clamp(34px,10.8vw,62px)}
}
/* ===== END V11 ===== */


/* ============================================================
   V12 TEST — STRATO READY / NEW PORTRAIT / PRIMETIME FIRST
   ============================================================ */

/* HOME: faces are the focus, headline lives in the lower image zone */
.home-v12-hero{
  position:relative;
  min-height:calc(100svh - 0px);
  background:#050505;
  overflow:hidden;
  color:#fff;
}
.home-v12-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}
.home-v12-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.05) 0%, rgba(0,0,0,.02) 48%, rgba(0,0,0,.28) 68%, rgba(0,0,0,.78) 100%);
  pointer-events:none;
}
.home-v12-wordmark{
  position:absolute;
  z-index:3;
  top:92px;
  left:max(28px,4vw);
  width:min(300px,24vw);
  height:auto;
  object-fit:contain;
  opacity:.92;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.35));
}
.home-v12-copy{
  position:absolute;
  z-index:4;
  left:max(28px,4vw);
  right:max(28px,4vw);
  bottom:4.5vh;
}
.home-v12-line{
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.065em;
  text-shadow:0 3px 24px rgba(0,0,0,.40);
}
.home-v12-line-one{
  font-size:clamp(50px,7.6vw,128px);
  line-height:.86;
}
.home-v12-line-two{
  font-size:clamp(70px,11vw,180px);
  line-height:.78;
  margin-top:8px;
}

/* V6-style fact run: compact, strong, easy to scan */
.home-facts{
  background:#0b0b0b;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.home-facts-track{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.fact-item{
  min-height:210px;
  padding:34px 28px 30px;
  border-right:1px solid rgba(255,255,255,.13);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.fact-item:last-child{border-right:0}
.fact-no{font-size:10px;letter-spacing:.18em;color:#8d8d8d}
.fact-item strong{
  display:block;
  font-size:clamp(22px,2.1vw,38px);
  line-height:.95;
  letter-spacing:-.04em;
}
.fact-item em{
  font-style:normal;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#aaa;
}

/* ABOUT: same new portrait, no copy on faces. Wordmark only in free dark area */
.about-v12-hero{
  position:relative;
  min-height:82svh;
  background:#050505;
  overflow:hidden;
}
.about-v12-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
}
.about-v12-wordmark{
  position:absolute;
  z-index:2;
  left:max(26px,4vw);
  top:120px;
  width:min(330px,26vw);
  height:auto;
  opacity:.94;
  filter:drop-shadow(0 5px 20px rgba(0,0,0,.35));
}

/* Sarah's new portrait from the shared image */
.sarah-v12-hero img{
  object-position:center 18% !important;
  object-fit:contain !important;
  background:#050505;
}

/* Primetime-first Philipp page */
.primetime-intro{
  padding-bottom:64px;
}
.primetime-cases{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding-bottom:96px;
}
.primetime-case{
  background:#111;
  border:1px solid rgba(255,255,255,.10);
}
.primetime-image{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#000;
}
.primetime-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.primetime-caption{
  padding:28px 28px 34px;
}
.primetime-caption span{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8e8e8e;
}
.primetime-caption h2{
  margin:8px 0 12px;
  font-size:clamp(38px,4.4vw,72px);
  line-height:.9;
  letter-spacing:-.05em;
}
.primetime-caption p{
  margin:0;
  color:#c3c3c3;
  max-width:650px;
}
.sport-compact{
  align-items:center;
}
.sport-compact-image{
  max-height:520px;
  overflow:hidden;
  background:#000;
}
.sport-compact-image img{
  width:100%;
  height:100%;
  max-height:520px;
  object-fit:cover;
}
.sport-compact-copy h2{
  font-size:clamp(42px,5vw,82px);
  margin:8px 0 18px;
  line-height:.9;
}

/* Opened images remain deliberately restrained */
.lightbox img,.modal img,.image-modal img,.gallery-modal img,.lb-image,
.fancybox__content img,.pswp__img{
  max-width:min(86vw,1200px)!important;
  max-height:78vh!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  margin:auto!important;
}

@media(max-width:850px){
  .home-v12-hero{
    min-height:0;
    aspect-ratio:3/4;
  }
  .home-v12-bg{
    object-position:center top;
  }
  .home-v12-wordmark{
    top:72px;
    left:18px;
    width:min(225px,52vw);
  }
  .home-v12-copy{
    left:18px;
    right:18px;
    bottom:28px;
  }
  .home-v12-line-one{
    font-size:clamp(36px,10.7vw,66px);
  }
  .home-v12-line-two{
    font-size:clamp(52px,15vw,92px);
  }
  .home-facts-track{grid-template-columns:1fr 1fr}
  .fact-item{min-height:170px}
  .primetime-cases{grid-template-columns:1fr}
  .about-v12-hero{
    min-height:0;
    aspect-ratio:3/4;
  }
  .about-v12-bg{object-position:center top}
  .about-v12-wordmark{
    top:76px;
    left:18px;
    width:min(230px,52vw);
  }
}
@media(max-width:520px){
  .home-facts-track{grid-template-columns:1fr}
  .fact-item{
    min-height:145px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .fact-item:last-child{border-bottom:0}
}


/* ============================================================
   V13 — STRATO PATH FIX + DESKTOP HERO CHECK
   ============================================================ */

/* HOME desktop:
   faces remain visual focus; white headline sits in lower free image area */
.home-v13-copy{
  position:absolute;
  z-index:5;
  left:max(30px,4vw);
  right:max(30px,4vw);
  bottom:3.2vh;
  color:#fff;
  pointer-events:none;
}
.home-v13-line{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.065em;
  color:#fff;
  text-shadow:0 4px 28px rgba(0,0,0,.52);
}
.home-v13-line-one{
  font-size:clamp(48px,6.6vw,112px);
  line-height:.86;
  max-width:88%;
}
.home-v13-line-two{
  font-size:clamp(72px,9.8vw,168px);
  line-height:.79;
  margin-top:8px;
  max-width:94%;
}

/* On common desktop/laptop aspect ratios, keep photo composition high enough
   so the headline sits below the faces, not across them. */
@media (min-width:851px){
  .home-v12-bg{
    object-fit:cover;
    object-position:center 24%;
  }
  .home-v12-shade{
    background:
      linear-gradient(to bottom,
        rgba(0,0,0,.02) 0%,
        rgba(0,0,0,.01) 48%,
        rgba(0,0,0,.22) 63%,
        rgba(0,0,0,.80) 100%);
  }
  .home-v12-wordmark{
    top:92px;
    left:max(28px,4vw);
    width:min(280px,21vw);
  }
}

/* Mobile: keep text in lower portion and scale down so it remains face-safe */
@media (max-width:850px){
  .home-v13-copy{
    left:18px;
    right:18px;
    bottom:24px;
  }
  .home-v13-line-one{
    font-size:clamp(34px,9.8vw,62px);
    max-width:none;
  }
  .home-v13-line-two{
    font-size:clamp(50px,14vw,88px);
    max-width:none;
  }
}

/* Explicit image path/layout safety on subpages */
.sarah-page img,
.philipp-page img,
.about-v12-hero img{
  max-width:100%;
}

/* ============================================================
   END V13
   ============================================================ */


/* ============================================================
   V14 — DESKTOP PORTRAIT SCALE FIX
   Mobile remains unchanged.
   ============================================================ */

@media (min-width: 851px){

  /* Sarah personal portrait / hero */
  body.sarah-page .sarah-v12-hero,
  body.sarah-page .page-hero.image-only-page{
    min-height:0 !important;
    height:auto !important;
    padding:56px 0 72px !important;
    background:#f2eee7;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:visible !important;
  }

  body.sarah-page .sarah-v12-hero img,
  body.sarah-page .page-hero.image-only-page img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(760px, 62vw) !important;
    max-height:70vh !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 auto !important;
  }

  /* Philipp personal hero / portrait.
     Keep cinematic mood, but avoid full-screen oversized image. */
  body.philipp-page .page-hero.image-only-page,
  body.philipp-page .hero,
  body.philipp-page .philipp-hero{
    min-height:0 !important;
    height:auto !important;
  }

  body.philipp-page .page-hero.image-only-page img,
  body.philipp-page .philipp-hero img,
  body.philipp-page .portrait-safe{
    width:auto !important;
    height:auto !important;
    max-width:min(760px, 62vw) !important;
    max-height:70vh !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Gallery / project image restraint */
  body.sarah-page .gallery img,
  body.sarah-page .portfolio img,
  body.sarah-page .project img,
  body.philipp-page .gallery img,
  body.philipp-page .portfolio img,
  body.philipp-page .project img{
    max-height:72vh !important;
  }

  /* Lightbox/detail view */
  body.sarah-page .lightbox img,
  body.sarah-page .modal img,
  body.sarah-page .image-modal img,
  body.sarah-page .gallery-modal img,
  body.philipp-page .lightbox img,
  body.philipp-page .modal img,
  body.philipp-page .image-modal img,
  body.philipp-page .gallery-modal img{
    max-width:min(82vw, 1180px) !important;
    max-height:74vh !important;
  }
}
/* ============================================================
   END V14
   ============================================================ */


/* ============================================================
   V15 — FORCE DESKTOP HERO OVERLAY
   This block intentionally wins over all earlier HOME rules.
   ============================================================ */

.home-v12-hero{
  position:relative !important;
  isolation:isolate !important;
}
.home-v12-bg{
  z-index:0 !important;
}
.home-v12-shade{
  z-index:1 !important;
}
.home-v12-wordmark{
  z-index:3 !important;
}

.home-v15-copy{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  z-index:50 !important;
  left:max(30px,4vw) !important;
  right:max(30px,4vw) !important;
  bottom:32px !important;
  top:auto !important;
  width:auto !important;
  transform:none !important;
  pointer-events:none !important;
  color:#fff !important;
}
.home-v15-line{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:-.065em !important;
  text-shadow:0 4px 30px rgba(0,0,0,.62) !important;
}
.home-v15-line-one{
  font-size:clamp(48px,6.6vw,112px) !important;
  line-height:.86 !important;
  max-width:88% !important;
}
.home-v15-line-two{
  font-size:clamp(72px,9.8vw,168px) !important;
  line-height:.79 !important;
  margin-top:8px !important;
  max-width:94% !important;
}

@media (min-width:851px){
  .home-v12-hero{
    min-height:calc(100vh - 0px) !important;
    height:calc(100vh - 0px) !important;
    overflow:hidden !important;
  }
  .home-v12-bg{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 24% !important;
  }
  .home-v15-copy{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    bottom:38px !important;
  }
}

/* Keep the already-working mobile behavior. */
@media (max-width:850px){
  .home-v15-copy{
    left:18px !important;
    right:18px !important;
    bottom:24px !important;
  }
  .home-v15-line-one{
    font-size:clamp(34px,9.8vw,62px) !important;
    max-width:none !important;
  }
  .home-v15-line-two{
    font-size:clamp(50px,14vw,88px) !important;
    max-width:none !important;
  }
}
/* ============================================================
   END V15
   ============================================================ */


/* ============================================================
   V17 — STRATO DESKTOP SUBPAGE FIX
   Source: actually uploaded philipp.html / about.html
   ============================================================ */

@media (min-width:851px){

  /* PHILIPP — compact desktop hero, no fullscreen portrait */
  body.philipp-page .page-hero.image-only-page{
    min-height:0 !important;
    height:auto !important;
    padding:54px 20px 66px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:visible !important;
    background:#050505 !important;
  }

  body.philipp-page .page-hero.image-only-page img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(760px,62vw) !important;
    max-height:70vh !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 auto !important;
    background:#050505 !important;
  }

  /* ABOUT — same shared portrait as HOME, calm editorial treatment */
  body.about-page .about-v12-hero{
    position:relative !important;
    height:min(78vh,820px) !important;
    min-height:620px !important;
    overflow:hidden !important;
    background:#050505 url("./assets/sarah-philipp-beige-new.jpg?v=17") center center / cover no-repeat !important;
  }

  body.about-page .about-v12-bg{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    z-index:0 !important;
  }

  body.about-page .about-v12-wordmark{
    position:absolute !important;
    display:block !important;
    visibility:visible !important;
    opacity:.94 !important;
    z-index:5 !important;
    left:clamp(28px,4vw,68px) !important;
    top:36px !important;
    width:min(260px,19vw) !important;
    height:auto !important;
    object-fit:contain !important;
    filter:drop-shadow(0 6px 22px rgba(0,0,0,.45)) !important;
  }

  /* Primetime cases remain large, FameFighting secondary */
  body.philipp-page .primetime-cases{
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
  }

  body.philipp-page .sport-compact-image{
    max-height:430px !important;
  }

  body.philipp-page .sport-compact-image img{
    max-height:430px !important;
    object-fit:cover !important;
  }
}

/* Keep existing mobile layout; only force actual assets to display. */
@media (max-width:850px){
  body.about-page .about-v12-bg,
  body.about-page .about-v12-wordmark,
  body.philipp-page .page-hero.image-only-page img{
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* ============================================================
   END V17
   ============================================================ */


/* ============================================================
   V18 — ABOUT / MOBILE WORDMARK / SARAH SCALE / PHILIPP PROJECTS
   ============================================================ */

/* Pure wordmark: never a box. The PNG itself is transparent. */
.home-v12-wordmark,
.about-v18-wordmark{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* ABOUT: reliable shared portrait, no text on faces. */
.about-v18-hero{
  position:relative;
  background:#050505;
  overflow:hidden;
}
.about-v18-bg{
  display:block;
  width:100%;
  height:auto;
  max-height:78vh;
  object-fit:contain;
  object-position:center top;
  margin:0 auto;
  background:#050505;
}
.about-v18-wordmark{
  position:absolute;
  z-index:5;
  left:clamp(22px,4vw,68px);
  top:32px;
  width:min(245px,18vw);
  height:auto;
  opacity:.92;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.45));
  pointer-events:none;
}

/* Sarah desktop: deliberately much smaller than before. */
@media (min-width:851px){
  body.sarah-page .page-hero.image-only-page.sarah-v12-hero{
    padding:52px 24px 62px !important;
    min-height:0 !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
    background:#f3efe8 !important;
  }
  body.sarah-page .page-hero.image-only-page.sarah-v12-hero img{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(560px,46vw) !important;
    max-height:58vh !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 auto !important;
    background:transparent !important;
  }

  body.sarah-page .grid-2 > .tile.short{
    min-height:0 !important;
    height:520px !important;
    max-height:520px !important;
    width:min(100%,520px) !important;
    justify-self:center !important;
    background:transparent !important;
  }
  body.sarah-page .grid-2 > .tile.short img{
    object-fit:contain !important;
    object-position:center top !important;
    background:transparent !important;
  }
}

/* Philipp: one main primetime anchor. */
.primetime-v18{
  padding-bottom:100px;
}
.primetime-feature-v18{
  border:1px solid rgba(255,255,255,.12);
  background:#111;
}
.primetime-feature-image-v18{
  aspect-ratio:16/8.8;
  overflow:hidden;
  background:#000;
}
.primetime-feature-image-v18 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.primetime-feature-copy-v18{
  padding:30px 30px 38px;
}
.primetime-feature-copy-v18 span{
  font-size:11px;
  letter-spacing:.16em;
  color:#999;
}
.primetime-feature-copy-v18 h2{
  font-size:clamp(58px,8vw,128px);
  line-height:.82;
  letter-spacing:-.055em;
  margin:10px 0 18px;
}
.primetime-feature-copy-v18 p{
  font-size:clamp(17px,1.6vw,24px);
  color:#c6c6c6;
  max-width:900px;
}

/* Red Dot becomes the second major project block. */
.reddot-v18-section{
  padding-top:100px;
  padding-bottom:110px;
}
.reddot-v18-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:22px;
  margin-top:58px;
  align-items:stretch;
}
.reddot-v18-card{
  margin:0;
  background:#111;
  border:1px solid rgba(255,255,255,.12);
}
.reddot-v18-card img{
  width:100%;
  height:620px;
  object-fit:cover;
}
.reddot-v18-card:first-child img{
  object-position:center 50%;
}
.reddot-v18-card:nth-child(2) img{
  object-position:center center;
}
.reddot-v18-card figcaption{
  padding:20px 22px 24px;
  font-size:11px;
  line-height:1.6;
  letter-spacing:.14em;
  color:#a8a8a8;
}
.reddot-v18-card figcaption strong{
  color:#fff;
  font-weight:600;
}

/* GNTM remains a secondary reference, not a premium full-width case. */
.project-card-reference-v18{
  opacity:.92;
}

/* Mobile wordmark: handwriting only, compact and safely in dark free area. */
@media (max-width:850px){
  .home-v12-wordmark{
    display:block !important;
    visibility:visible !important;
    opacity:.88 !important;
    top:14px !important;
    left:14px !important;
    width:min(155px,38vw) !important;
    height:auto !important;
    background:transparent !important;
  }

  .about-v18-hero{
    background:#050505;
  }
  .about-v18-bg{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center top;
  }
  .about-v18-wordmark{
    top:14px;
    left:14px;
    width:min(155px,38vw);
    opacity:.88;
    background:transparent !important;
  }

  .reddot-v18-grid{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:34px;
  }
  .reddot-v18-card img{
    height:auto;
    max-height:none;
    object-fit:contain;
    background:#050505;
  }
  .primetime-v18{
    padding-bottom:72px;
  }
  .primetime-feature-image-v18{
    aspect-ratio:4/3;
  }
}

/* ============================================================
   END V18
   ============================================================ */


/* ============================================================
   V19 FINAL — LEGAL PAGE + FINAL CONSISTENCY
   ============================================================ */
.legal-page{
  background:#f3efe8;
  color:#111;
}
.legal-wrap{
  max-width:920px;
}
.legal-wrap .display{
  margin-bottom:48px;
}
.legal-wrap h2{
  margin:48px 0 14px;
  font-size:clamp(24px,2.2vw,38px);
  letter-spacing:-.03em;
}
.legal-wrap p{
  font-size:clamp(16px,1.4vw,20px);
  line-height:1.65;
  max-width:860px;
}

/* Final editorial portrait restraint */
@media (min-width:851px){
  body.sarah-page .page-hero.image-only-page.sarah-v12-hero img{
    max-width:min(600px,48vw)!important;
    max-height:58vh!important;
  }
  body.philipp-page .page-hero.image-only-page img{
    max-width:min(760px,62vw)!important;
    max-height:70vh!important;
  }
}

/* Mobile wordmark remains handwriting only, no box */
@media (max-width:850px){
  .home-v12-wordmark,
  .about-v18-wordmark{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    filter:drop-shadow(0 4px 16px rgba(0,0,0,.38))!important;
  }
}
/* ============================================================
   END V19
   ============================================================ */
