/* SCHULFOTOS.NET – Stylesheet für die bestehende LIVE-index.html */
:root{
  --navy:#0b2f55;
  --navy-2:#123e6b;
  --gold:#c69a45;
  --gold-dark:#a97d2e;
  --ink:#172230;
  --muted:#66717d;
  --paper:#ffffff;
  --soft:#f5f3ee;
  --line:#e6e8eb;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.15rem}

header{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:#fff;
}
.logo{
  display:flex;
  flex-direction:column;
  color:var(--navy);
  font-weight:800;
  font-size:24px;
  line-height:1;
  letter-spacing:.02em;
}
.logo span{color:var(--gold)}
.logo small{
  margin-top:8px;
  color:#5f6872;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}
nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:28px;
  font-size:14px;
  font-weight:700;
  color:var(--navy);
}
nav a{padding:10px 0}
nav a:hover{color:var(--gold-dark)}
nav .cta{
  padding:12px 18px;
  border-radius:4px;
  background:var(--navy);
  color:#fff;
}
nav .cta:hover{background:var(--navy-2);color:#fff}

main{overflow:hidden}

.hero{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:44% 56%;
  align-items:stretch;
  min-height:480px;
  background:#f7f6f2;
}
.hero>div{
  padding:64px 52px 58px 48px;
  align-self:center;
}
.hero h1{
  margin:0 0 24px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,4.3vw,66px);
  line-height:1.03;
  letter-spacing:-.025em;
}
.hero h1 em{
  color:var(--gold);
  font-style:normal;
}
.hero p{
  max-width:520px;
  margin-bottom:30px;
  color:#46515d;
  font-size:18px;
}
.hero>img{
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
  object-position:center;
}

.button{
  display:inline-block;
  margin:4px 10px 4px 0;
  padding:13px 19px;
  border:1px solid #ccd1d6;
  border-radius:3px;
  background:#fff;
  color:var(--navy);
  font-size:14px;
  font-weight:800;
  transition:.18s ease;
}
.button:hover{transform:translateY(-1px);border-color:var(--gold)}
.button.gold{
  border-color:var(--gold);
  background:var(--gold);
  color:#fff;
}
.button.gold:hover{background:var(--gold-dark)}

.bar{
  background:var(--navy);
  color:#fff;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:25px max(24px,calc((100% - var(--max))/2 + 24px));
  gap:18px;
}
.bar>div{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.bar b{
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(198,154,69,.75);
  border-radius:50%;
  color:var(--gold);
  font-size:20px;
}
.bar span{
  display:block;
  color:#dbe4ec;
  font-size:12px;
  line-height:1.35;
}
.bar strong{
  display:block;
  margin-bottom:3px;
  color:#fff;
  font-size:12px;
  letter-spacing:.03em;
}

.section{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  padding:74px 0 58px;
}
.section>h2{
  margin:0 0 45px;
  text-align:center;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:36px;
  line-height:1.2;
}
.section>h2:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin:16px auto 0;
  background:var(--gold);
}
.offers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.offers article{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(20,39,57,.07);
}
.offers article>img{
  width:100%;
  height:285px;
  object-fit:cover;
}
.offers article>div{padding:30px 32px 32px}
.offers h3{
  margin:0 0 15px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}
.offers p{color:#4f5963}
.offers strong{color:var(--navy)}

.gallery{
  padding:62px max(20px,calc((100% - var(--max))/2));
  background:var(--soft);
}
.gallery h3{
  margin:0 0 20px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
}
.gallery h3:not(:first-child){margin-top:42px}
.strip{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.strip img{
  width:100%;
  height:175px;
  object-fit:cover;
}
.strip.groups{grid-template-columns:repeat(4,1fr)}
.strip.groups img{height:205px}

.free{
  position:relative;
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  padding:72px 170px 72px 0;
  display:grid;
  grid-template-columns:1.2fr .9fr;
  gap:65px;
  align-items:center;
}
.free h2{
  margin:0 0 18px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:40px;
}
.free p{color:#4e5964;font-size:17px}
.free ul{
  margin:0;
  padding:0;
  list-style:none;
}
.free li{
  position:relative;
  padding:8px 0 8px 28px;
  font-weight:700;
  color:#35414d;
}
.free li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--gold-dark);
  font-weight:900;
}
.seal{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:135px;
  height:135px;
  border:2px solid var(--gold);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--navy);
  font-size:28px;
  font-weight:900;
  text-align:center;
  line-height:1;
}
.seal small{
  margin-top:7px;
  color:var(--gold-dark);
  font-size:9px;
  line-height:1.25;
  letter-spacing:.08em;
}

.contact{
  background:var(--navy);
  color:#fff;
  padding:52px max(24px,calc((100% - var(--max))/2));
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
}
.contact h2{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
}
.contact p{margin:0;color:#d7e0e9}
.contact .button{flex:0 0 auto;margin:0}

.contacts{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  padding:24px 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:22px 42px;
  color:var(--navy);
  font-weight:700;
  font-size:14px;
}
.contacts a:hover{color:var(--gold-dark)}

footer{
  background:#071f37;
  color:#c7d0d9;
  padding:34px max(24px,calc((100% - var(--max))/2));
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:50px;
  font-size:12px;
  line-height:1.7;
}
footer b{color:#fff}

@media (max-width:900px){
  header{padding:18px 0;align-items:flex-start}
  nav{gap:14px;flex-wrap:wrap}
  .hero{grid-template-columns:1fr}
  .hero>div{padding:48px 34px}
  .hero>img{min-height:360px}
  .bar{grid-template-columns:1fr 1fr}
  .offers{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .strip img{height:220px}
  .strip.groups{grid-template-columns:repeat(2,1fr)}
  .free{padding-right:0;grid-template-columns:1fr 1fr}
  .seal{position:static;transform:none;grid-column:1/-1}
}

@media (max-width:620px){
  header{
    width:min(100% - 28px,var(--max));
    flex-direction:column;
    gap:14px;
  }
  nav{width:100%;font-size:13px}
  nav .cta{width:100%;text-align:center}
  .hero{width:100%}
  .hero>div{padding:42px 22px}
  .hero h1{font-size:42px}
  .hero p{font-size:16px}
  .hero>img{min-height:300px}
  .button{width:100%;text-align:center;margin-right:0}
  .bar{grid-template-columns:1fr;padding:25px 22px}
  .section{width:min(100% - 28px,var(--max));padding:54px 0 44px}
  .section>h2{font-size:30px}
  .offers article>img{height:230px}
  .offers article>div{padding:24px}
  .gallery{padding:48px 14px}
  .strip,.strip.groups{grid-template-columns:1fr 1fr}
  .strip img,.strip.groups img{height:150px}
  .free{
    width:min(100% - 28px,var(--max));
    grid-template-columns:1fr;
    gap:25px;
    padding:52px 0;
  }
  .free h2{font-size:34px}
  .contact{padding:42px 22px;flex-direction:column;align-items:flex-start}
  .contact h2{font-size:30px}
  .contact .button{width:100%;text-align:center}
  .contacts{width:min(100% - 28px,var(--max));justify-content:flex-start}
  footer{grid-template-columns:1fr;gap:18px;padding:30px 22px}
}
