/* Approved homepage layout. */

#sluzby .service-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-bottom:48px}
#sluzby .service-feature{min-width:0}
#sluzby .service-feature figure{margin:0 0 18px;position:relative;overflow:hidden}
#sluzby .service-feature img{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;object-position:center 42%}
#sluzby .service-feature figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 14px;background:linear-gradient(transparent,#000b);font-size:10px;letter-spacing:.08em;color:white}
#sluzby .feature-heading{margin-bottom:18px}
#sluzby .feature-heading h3{font-family:var(--display);font-size:40px;line-height:1.1}
#sluzby .service-feature p{font-size:14px;color:var(--muted);max-width:52ch}
#sluzby .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 30px}
#sluzby .service-grid h3{font-size:30px}
#request-form button:disabled{opacity:.45;cursor:default}
@media(max-width:1000px){#sluzby .service-features{gap:28px}#sluzby .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#sluzby .service-features{grid-template-columns:1fr;gap:36px;margin-bottom:36px}#sluzby .feature-heading h3{font-size:38px}#sluzby .service-feature figure{margin-bottom:18px}#sluzby .service-grid{grid-template-columns:1fr}#sluzby .service-grid h3{font-size:30px}}

#sluzby .service-summary{min-width:0;border-top:1px solid var(--line);padding:24px 0 12px}
#sluzby .service-summary h3{margin-top:0}
#sluzby .service-summary p{margin-bottom:0}
#sluzby .services-inquiry{display:flex;justify-content:center;margin-top:56px}
@media(max-width:600px){#sluzby .service-summary{padding:22px 0}#sluzby .services-inquiry{margin-top:32px}}

/* Realizations on the homepage. */
#realizace .section-heading{display:block;margin-bottom:44px}
#realizace .section-heading>.eyebrow{margin:0 0 24px}
#realizace .project-meta h3{font-family:var(--display);font-size:36px;line-height:1.1}
#realizace .project-meta p{font-size:12px;letter-spacing:0;line-height:1.6;margin-top:6px}
#realizace .project-meta .project-key{color:var(--text);font-size:16px;font-weight:700;margin-top:14px}
#realizace .project-summary{font-size:14px;line-height:1.65;margin-top:14px}
@media(max-width:1000px){#realizace .project-meta h3{font-size:30px}}
@media(max-width:600px){#realizace .section-heading{margin-bottom:32px}#realizace .project-meta h3{font-size:34px}}

#o-nas .about-photo{margin:0;min-width:0}
#o-nas .about-photo-frame{height:440px;overflow:hidden}
#o-nas .about-photo img{height:100%;width:100%;object-fit:cover;object-position:right center;transform:scale(1.15);transform-origin:right center}
#o-nas .about-photo figcaption{margin-top:12px;font-size:12px;color:var(--muted)}
@media(max-width:600px){#o-nas .about-photo-frame{height:auto;aspect-ratio:4/3}}

#spoluprace{--step-title-size:32px;align-items:start;gap:8vw}
#spoluprace h2{margin-top:24px;font-size:clamp(48px,5.3vw,80px)}
#spoluprace li{align-items:flex-start;gap:22px;padding:26px 0}
#spoluprace li>span{font-family:var(--display);font-size:var(--step-title-size);font-weight:600;line-height:1.1;flex:0 0 1.1em}
#spoluprace li h3{font-family:var(--display);font-size:var(--step-title-size);font-weight:600;line-height:1.1}
#spoluprace li p{line-height:1.7;max-width:52ch}
#spoluprace li:last-child{padding-bottom:0}
@media(max-width:600px){#spoluprace{--step-title-size:29px;gap:32px}#spoluprace h2{font-size:48px}#spoluprace li{gap:16px;padding:24px 0}}

/* Homepage contact. */
#poptavka{align-items:start;gap:8vw}
#poptavka h2{margin-top:24px;font-size:clamp(48px,5.3vw,80px)}
#poptavka .contact-content{align-self:start;padding-top:38px;min-width:0}
#poptavka .contact-content>p{font-size:17px;line-height:1.75;max-width:41ch}
#poptavka .contact-links{display:grid;gap:22px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
#poptavka .contact-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
#poptavka .contact-links a{display:inline-block;font-size:clamp(17px,1.6vw,23px);font-weight:600;line-height:1.5;border-bottom:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px}
#poptavka .contact-links a:hover{color:var(--green)}
#poptavka .contact-person{display:flex;align-items:center;gap:26px;min-width:0}
#poptavka .contact-portrait{display:block;flex:0 0 144px;width:144px;height:144px;border-radius:50%;overflow:hidden}
#poptavka .contact-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
#poptavka .contact-person-details{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:10px}
#poptavka .contact-person-name{display:block;font-size:16px;font-weight:600;color:var(--muted);line-height:1.5}
#poptavka .contact-person a{white-space:nowrap;line-height:1.5}
#poptavka .contact-person .contact-phone{font-size:24px}
#poptavka .contact-person .contact-email{font-size:19px;font-weight:400}
@media(min-width:701px) and (max-width:1100px){#poptavka{grid-template-columns:1fr;gap:30px}#poptavka .contact-content{padding-top:0}}
@media(max-width:480px){#poptavka .contact-person{gap:20px}#poptavka .contact-portrait{flex-basis:112px;width:112px;height:112px}#poptavka .contact-person .contact-phone{font-size:18px}#poptavka .contact-person .contact-email{font-size:16px}#poptavka .contact-person-details{gap:7px}}
@media(max-width:360px){#poptavka .contact-person{gap:14px}#poptavka .contact-portrait{flex-basis:96px;width:96px;height:96px}#poptavka .contact-person .contact-phone{font-size:17px}#poptavka .contact-person .contact-email{font-size:15px}}

#typy .type-row img.event-bar{object-position:center 20%}
/* Responsive refinements for the approved homepage. */
#typy .type-row img{height:auto;aspect-ratio:1.8;object-fit:cover}
#typy .type-row img.event-bar{object-position:center 20%}
#o-nas .about-photo-frame{height:auto;aspect-ratio:4/3}
#sluzby .service-feature figcaption{font-size:10px;line-height:1.5;padding:28px 14px 10px}
#sluzby .service-grid h3{margin-top:0}
@media(min-width:701px) and (max-width:1000px){
  #realizace .project-grid{grid-template-columns:1fr;gap:32px}
  #realizace .project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:26px;row-gap:0}
  #realizace .project-image{grid-row:1/3;align-self:start}
  #realizace .project-image img{height:auto;aspect-ratio:4/3}
  #realizace .project-meta{margin:0}
  #realizace .project-summary{grid-column:2;margin-top:12px}
  #spoluprace{grid-template-columns:1fr;gap:32px}
  #spoluprace li p{max-width:70ch}
  #o-nas{gap:30px;align-items:start}
  #o-nas h2{font-size:clamp(36px,5vw,50px);margin:20px 0}
  #o-nas p:not(.eyebrow){font-size:14px}
}
@media(max-width:700px){
  #sluzby .service-features{grid-template-columns:1fr;gap:32px;margin-bottom:30px}
  #sluzby .services-intro{margin-bottom:30px}
  #sluzby .feature-heading{margin-bottom:14px}
  #sluzby .feature-heading h3{font-size:34px}
  #sluzby .service-feature figure{margin-bottom:14px}
  #sluzby .service-feature figcaption{font-size:9px;padding:24px 10px 8px;letter-spacing:.04em}
  #sluzby .service-summary{padding:20px 0}
  #sluzby .service-grid h3{font-size:28px}
  #sluzby .services-inquiry{margin-top:24px}
  #realizace .project-image img{aspect-ratio:1.6}
  #realizace .project-meta h3{font-size:32px}
  #realizace .project-grid{gap:34px}
  #spoluprace{gap:28px}
  #spoluprace h2{font-size:clamp(40px,11vw,48px)}
  #spoluprace li{padding:22px 0;gap:14px}
  #o-nas{gap:26px}
  #o-nas h2{font-size:clamp(40px,11vw,56px);margin:20px 0}
  #o-nas p:not(.eyebrow){font-size:15px;margin-top:16px}
  #poptavka{gap:24px}
  #poptavka .contact-content{padding-top:0}
  #poptavka .contact-content>p{font-size:15px}
  #poptavka .contact-links{margin-top:28px}
}
@media(min-width:380px) and (max-width:700px){
  #sluzby .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
  #sluzby .service-grid h3{font-size:26px}
  #sluzby .service-grid p{font-size:13px}
}
@media(min-width:1600px){
  .hero-content,.header{padding-left:max(6vw,calc((100vw - 1450px)/2));padding-right:max(6vw,calc((100vw - 1450px)/2))}
  .scroll-link{left:max(6vw,calc((100vw - 1450px)/2))}
  .hero-caption{right:max(6vw,calc((100vw - 1450px)/2))}
}

@media(min-width:701px) and (max-width:1100px){#poptavka{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}#poptavka .contact-content{padding-top:0}#poptavka .contact-person{gap:20px}#poptavka .contact-portrait{flex-basis:112px;width:112px;height:112px}#poptavka .contact-person .contact-phone{font-size:20px}#poptavka .contact-person .contact-email{font-size:17px}}

/* Final homepage spacing and team responsibilities. */
#o-nas .team-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:24px 0 0}
#o-nas .team-roles>div{border-top:1px solid var(--line);padding-top:14px}
#o-nas .team-roles dt{font-weight:700;font-size:16px;color:var(--text)}
#o-nas .team-roles dd{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
@media(max-width:700px){
 main>.section{padding-top:44px;padding-bottom:44px}
 #typy .section-heading{margin-bottom:28px}
 #sluzby .service-features{gap:24px;margin-bottom:24px}
 #sluzby .services-intro{margin-bottom:24px}
 #sluzby .service-summary{padding:16px 0}
 #spoluprace{gap:22px}
 #spoluprace li{padding:18px 0}
 #o-nas .team-roles{gap:14px;margin-top:20px}
}
