/*
Theme Name: SSM267
Theme URI: https://ssm267.com
Author: SSM267
Description: Editoriales WordPress-Theme für SSM267.
Version: 2.7.0
Text Domain: ssm267
*/

:root{
  --paper:#f3f0e9;
  --paper-2:#eae5dc;
  --ink:#111111;
  --muted:#716c64;
  --line:rgba(17,17,17,.15);
  --white:#f8f6f0;
  --max:1420px;
  --pad:clamp(22px,5vw,72px);
  --section:clamp(96px,9vw,150px);
  --section-lg:clamp(118px,11vw,185px);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video{display:block;max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit}
.ssm-shell{width:min(calc(100% - (var(--pad) * 2)),var(--max));margin-inline:auto}
.ssm-serif{font-family:var(--serif)}
.ssm-muted{color:var(--muted)}

.ssm-display,
.ssm-h2,
.ssm-h3,
.ssm-person__name{
  font-family:var(--serif);
  font-weight:400;
  margin:0;
  color:var(--ink);
}
.ssm-display{
  font-size:clamp(58px,6.6vw,104px);
  line-height:.94;
  letter-spacing:-.05em;
}
.ssm-h2{
  font-size:clamp(45px,5vw,76px);
  line-height:.98;
  letter-spacing:-.04em;
}
.ssm-h3{
  font-size:clamp(34px,3vw,48px);
  line-height:1;
  letter-spacing:-.025em;
}
.ssm-lead{
  font-size:clamp(21px,1.9vw,28px);
  line-height:1.36;
}
.ssm-btn{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--white);
  text-decoration:none;
  font-family:var(--sans);
  font-size:15px;
  font-weight:700;
  transition:opacity .2s ease;
}
.ssm-btn:hover{opacity:.78}
.ssm-btn--light{
  background:var(--white);
  border-color:var(--white);
  color:var(--ink);
}
.ssm-placeholder{
  display:flex;
  width:100%;
  height:100%;
  min-height:240px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.48);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}

/* --------------------------------------------------------- HEADER */
.ssm-header{
  position:relative;
  z-index:30;
  background:var(--paper);
  border-bottom:1px solid rgba(17,17,17,.08);
  overflow:visible;
}
.ssm-header__inner{
  min-height:0;
  padding-top:14px;
  padding-bottom:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
}
.ssm-brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.ssm-logo{
  display:block;
  width:245px;
  height:auto;
  overflow:visible;
  line-height:0;
}
.ssm-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
  overflow:visible;
}
.ssm-nav{
  display:flex;
  align-items:center;
  gap:36px;
  font-size:15px;
}
.ssm-nav a{
  text-decoration:none;
  white-space:nowrap;
}
.ssm-nav__cta{
  margin-left:8px;
  padding:11px 16px;
  background:var(--ink);
  color:var(--white);
}
.ssm-menu-toggle{
  display:none;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:26px;
  cursor:pointer;
}

/* --------------------------------------------------------- HERO */
.ssm-hero{
  padding:clamp(64px,6vw,104px) 0 clamp(68px,6vw,96px);
}
.ssm-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(48px,6vw,96px);
  align-items:center;
}
.ssm-hero__copy{position:relative;z-index:2}
.ssm-hero__copy .ssm-lead{
  max-width:610px;
  margin:34px 0 32px;
}
.ssm-collage{
  position:relative;
  min-height:760px;
}
.ssm-collage figure{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#ddd;
}
.ssm-collage img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ssm-collage .a{left:0;top:5%;width:55%;height:31%}
.ssm-collage .b{right:0;top:0;width:39%;height:39%}
.ssm-collage .c{left:4%;top:39%;width:48%;height:28%}
.ssm-collage .d{right:0;top:42%;width:44%;height:25%}
.ssm-collage .e{left:18%;bottom:0;width:64%;height:29%}

/* --------------------------------------------------------- PROBLEM */
.ssm-problem{
  padding:var(--section) 0;
  border-top:1px solid var(--line);
}
.ssm-problem__grid,
.ssm-core__grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.48fr);
  gap:clamp(50px,8vw,130px);
  align-items:end;
}
.ssm-problem__faint{color:#a9a39a}
.ssm-problem p{margin:0;color:var(--muted)}




/* --------------------------------------------------------- KERNSATZ */
.ssm-core-band{
  background:var(--ink);
  color:var(--white);
  padding:clamp(72px,7vw,112px) 0;
}
.ssm-core-band p{
  margin:0;
  max-width:1180px;
  font-family:var(--serif);
  font-size:clamp(46px,5.4vw,82px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
  color:var(--white);
}

/* --------------------------------------------------------- SHOWREEL */
.ssm-showreel{
  background:var(--ink);
  color:var(--white);
  padding:var(--section-lg) 0;
}
.ssm-showreel__grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,.5fr);
  gap:clamp(70px,10vw,160px);
  align-items:center;
}
.ssm-showreel .ssm-h2{color:var(--white)}
.ssm-showreel p{max-width:620px;color:#d1ccc3}
.ssm-showreel__media{
  width:min(100%,440px);
  margin-left:auto;
  aspect-ratio:9/16;
  overflow:hidden;
  background:#171717;
}
.ssm-showreel__media video{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* --------------------------------------------------------- APPROACH */
.ssm-approach{
  padding:var(--section-lg) 0;
}
.ssm-approach__intro{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.62fr);
  gap:clamp(55px,8vw,130px);
  align-items:start;
}
.ssm-approach__intro p{margin-top:0}
.ssm-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(86px,9vw,135px);
  border-top:1px solid var(--line);
}
.ssm-step{
  min-height:280px;
  padding:34px clamp(26px,3.5vw,54px) 12px;
  border-left:1px solid var(--line);
}
.ssm-step:first-child{border-left:0;padding-left:0}
.ssm-step__num{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.15em;
  font-weight:700;
}
.ssm-step .ssm-h3{margin-top:18px}
.ssm-step p{max-width:330px;margin-top:22px}

/* --------------------------------------------------------- SERVICES */
.ssm-services{
  background:var(--paper-2);
  padding:var(--section-lg) 0;
}
.ssm-services__intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:clamp(55px,8vw,130px);
  align-items:start;
  margin-bottom:clamp(70px,8vw,115px);
}
.ssm-services__intro p{margin-top:0}
.ssm-archive{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
}
.ssm-archive__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.7fr) 52px;
  gap:34px;
  align-items:start;
  padding:28px 0 30px;
  border-bottom:1px solid var(--line);
}
.ssm-archive__title{
  font-family:var(--serif);
  font-size:clamp(25px,2.4vw,36px);
  line-height:1.08;
}
.ssm-archive__desc{
  color:var(--muted);
  font-size:17px;
  line-height:1.58;
}
.ssm-archive__num{
  justify-self:end;
  color:var(--muted);
  font-size:14px;
}

/* --------------------------------------------------------- CARE */
.ssm-care{
  padding:var(--section-lg) 0;
}
.ssm-care__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);
  gap:clamp(60px,9vw,150px);
  align-items:end;
}
.ssm-care__copy{
  padding-top:24px;
  border-top:1px solid var(--line);
}
.ssm-care__copy .ssm-lead{margin-top:0}

/* --------------------------------------------------------- IMAGE FILM */
.ssm-imagefilm{
  background:var(--ink);
  color:var(--white);
  padding:var(--section-lg) 0;
}
.ssm-imagefilm__intro{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.62fr);
  gap:clamp(60px,9vw,150px);
  align-items:end;
  margin-bottom:70px;
}
.ssm-imagefilm .ssm-h2{color:var(--white)}
.ssm-imagefilm__intro p{margin:0;color:#d1ccc3}
.ssm-imagefilm__media{
  aspect-ratio:16/9;
  background:#171717;
  overflow:hidden;
}
.ssm-imagefilm__media video{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* --------------------------------------------------------- TEAM */
.ssm-team{
  padding:var(--section-lg) 0;
}
.ssm-team__intro{
  max-width:1050px;
  margin-bottom:clamp(90px,10vw,145px);
}
.ssm-team__sub{
  margin:24px 0 0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:clamp(25px,2.5vw,37px);
  line-height:1.15;
}

.ssm-person{
  display:grid;
  gap:clamp(44px,5vw,78px);
  align-items:center;
  width:88%;
}
.ssm-person + .ssm-person{
  margin-top:-54px;
}
.ssm-person--sonja{
  grid-template-columns:minmax(0,1.05fr) minmax(270px,.62fr);
  margin-left:auto;
}
.ssm-person--sebastian{
  grid-template-columns:minmax(270px,.62fr) minmax(0,1.05fr);
  margin-right:auto;
}
.ssm-person__image{
  overflow:hidden;
  aspect-ratio:4/5;
  max-height:610px;
}
.ssm-person__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ssm-person__copy{
  align-self:center;
}
.ssm-person__name{
  font-size:clamp(42px,4vw,58px);
  line-height:1;
}
.ssm-person__role{
  margin:16px 0 28px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.55;
}
.ssm-person__copy p:last-child{
  margin:0;
  max-width:430px;
  font-size:17px;
  line-height:1.58;
}
.ssm-team__statement{
  width:min(760px,70%);
  margin:clamp(90px,9vw,145px) 0 0 auto;
}
.ssm-team__statement strong{
  display:block;
  font-family:var(--serif);
  font-size:clamp(34px,3.8vw,56px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
}
.ssm-team__statement p{
  margin:28px 0 0;
  color:var(--muted);
}

/* --------------------------------------------------------- CHECK */
.ssm-check{
  background:var(--ink);
  color:var(--white);
  padding:var(--section-lg) 0;
}
.ssm-check__grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.65fr);
  gap:clamp(70px,10vw,160px);
  align-items:end;
}
.ssm-check .ssm-h2{color:var(--white)}
.ssm-check__copy p{
  margin-top:0;
  color:#d1ccc3;
}
.ssm-check__copy p + p{margin-top:24px}
.ssm-check .ssm-btn{margin-top:24px}

/* --------------------------------------------------------- FOOTER */
.ssm-footer{
  padding:72px 0 48px;
}
.ssm-footer__top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:end;
}
.ssm-footer__brand img{
  width:260px;
  height:auto;
}
.ssm-footer__contact{
  margin-top:24px;
  color:var(--muted);
}
.ssm-footer__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:25px;
  font-size:14px;
}
.ssm-footer__nav a{text-decoration:none}
.ssm-footer__bottom{
  display:flex;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
}

/* --------------------------------------------------------- STANDARD PAGES */
.ssm-page{
  width:min(calc(100% - (var(--pad) * 2)),1000px);
  margin:auto;
  padding:100px 0 150px;
}
.ssm-page h1{
  font-family:var(--serif);
  font-size:clamp(48px,6vw,84px);
  line-height:1;
  font-weight:400;
}

/* --------------------------------------------------------- RESPONSIVE */
@media (max-width: 980px){
  .ssm-nav{
    display:none;
    position:absolute;
    left:0;right:0;top:94px;
    padding:28px var(--pad);
    background:var(--paper);
    flex-direction:column;
    align-items:flex-start;
    border-top:1px solid var(--line);
  }
  .ssm-nav.is-open{display:flex}
  .ssm-nav__cta{margin-left:0}
  .ssm-menu-toggle{display:block}

  .ssm-hero__grid,
  .ssm-problem__grid,
  .ssm-core__grid,
  .ssm-showreel__grid,
  .ssm-approach__intro,
  .ssm-services__intro,
  .ssm-care__grid,
  .ssm-imagefilm__intro,
  .ssm-check__grid{
    grid-template-columns:1fr;
  }

  .ssm-collage{min-height:610px;margin-top:30px}
  .ssm-showreel__media{margin:30px auto 0;width:min(82vw,420px)}
  .ssm-steps{grid-template-columns:1fr}
  .ssm-step{
    min-height:0;
    padding:34px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .ssm-step:first-child{border-top:0}
  .ssm-archive__row{
    grid-template-columns:minmax(0,1fr) 42px;
  }
  .ssm-archive__desc{
    grid-column:1 / -1;
    max-width:720px;
  }

  .ssm-person,
  .ssm-person--sonja,
  .ssm-person--sebastian{
    width:100%;
    margin:0;
    grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);
  }
  .ssm-person + .ssm-person{margin-top:80px}
  .ssm-person--sebastian .ssm-person__copy{order:2}
  .ssm-person--sebastian .ssm-person__image{order:1}
  .ssm-team__statement{
    width:100%;
    max-width:720px;
  }

  .ssm-footer__top{grid-template-columns:1fr}
  .ssm-footer__nav{justify-content:flex-start}
}

@media (max-width: 680px){
  body{font-size:17px}
  .ssm-header__inner{min-height:0;padding-top:10px;padding-bottom:10px}
  .ssm-logo{width:205px;height:auto;overflow:visible}
  .ssm-brand__line{font-size:9px;margin-left:3px}
  .ssm-nav{top:100%}
  .ssm-display{font-size:clamp(50px,14vw,70px)}
  .ssm-h2{font-size:clamp(40px,11vw,58px)}
  .ssm-hero{padding-top:56px}
  .ssm-collage{min-height:500px}
  .ssm-collage .a{left:0;top:5%;width:61%;height:27%}
  .ssm-collage .b{right:0;top:0;width:37%;height:34%}
  .ssm-collage .c{left:3%;top:35%;width:51%;height:24%}
  .ssm-collage .d{right:0;top:37%;width:46%;height:23%}
  .ssm-collage .e{left:14%;bottom:0;width:72%;height:33%}

  .ssm-problem__faint{display:block;margin-bottom:10px}
  .ssm-archive__row{gap:18px}
  .ssm-archive__desc{font-size:15px}

  .ssm-person,
  .ssm-person--sonja,
  .ssm-person--sebastian{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
  }
  .ssm-person--sebastian .ssm-person__copy,
  .ssm-person--sebastian .ssm-person__image{order:initial}
  .ssm-person__image{
    width:100%;
    max-height:none;
  }

  .ssm-footer__bottom{flex-direction:column}
}
