/* Responsive corrections. Desktop styles above 900px remain untouched. */
@media (max-width:900px) {
 html,body{max-width:100%;overflow-x:hidden}
 .site-header{height:auto;min-height:0;padding:18px 28px 22px;flex-direction:column;flex-wrap:nowrap;justify-content:center}
 .site-header__logo,.services-page .site-header__logo,.vacancies-page .site-header__logo{width:min(270px,70vw);height:104px;flex:0 0 auto}
 .site-header__nav,.services-page .site-header__nav,.vacancies-page .site-header__nav{width:100%;margin:10px 0 0;display:flex;justify-content:center;gap:12px 18px;flex-wrap:wrap;line-height:1.3}
 .site-header__portal{padding:10px 12px}
 .home-page img,.services-page img,.about-page img,.vacancies-page img,.vf-blog img,.vf-properties img,.vf-post img,.vf-property img{max-width:100%}
 /* Home */
 .home-page .hero{height:min(620px,75vh);min-height:520px;background-position:58% center}
 .home-page .hero-copy{top:70px;left:40px;right:40px;width:auto;max-width:520px}
 .home-page .hero h1{font-size:58px}
 .home-page .intro{grid-template-columns:1fr;gap:42px;padding:64px 40px}
 .home-page .quote{padding:8px 0 8px 32px;font-size:34px}
 .home-page .diff{padding:52px 40px 58px}
 .home-page .diff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .diff-item,.home-page .diff-item:first-child{min-height:0;padding:28px;border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
 .home-page .diff-item:nth-child(odd){padding-left:0}
 .home-page .diff-item:nth-child(even){border-right:0}
 .home-page .diff-item:nth-last-child(-n + 2){border-bottom:0}
 .home-page .photo-story{grid-template-columns:1fr}
 .home-page .photo-story img{height:clamp(340px,58vw,500px)}
 .home-page .story-copy,.home-page .services,.home-page .test-copy,.home-page .cta{padding:64px 40px}
 .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .testimonial{height:auto;min-height:520px;background-position:62% center}
 .home-page .testimonial::before{background:linear-gradient(90deg,rgba(4,43,29,.92) 0%,rgba(4,43,29,.78) 62%,rgba(4,43,29,.3) 100%)}
 .home-page .test-copy{position:relative;top:auto;left:auto;width:auto;max-width:650px}
 .home-page .test-copy blockquote{font-size:32px}
 /* Services */
 .services-hero{height:min(600px,72vh);min-height:500px;background-position:58% center}
 .services-hero-copy{top:92px;left:40px;right:40px}
 .services-intro{padding:68px 40px;gap:30px}
 .services-service{min-height:0;grid-template-columns:1fr}
 .services-service .services-photo,.services-service .services-single-photo,.services-single-photo img{min-height:0;height:clamp(380px,62vw,560px)}
 .services-service--leasing .services-copy{order:2}
 .services-service--leasing .services-single-photo{order:1}
 .services-copy{min-height:0;padding:68px 9%}
 .services-consulting{padding:78px 9%;gap:38px}
 .services-grounded{padding:76px 9%}
 .services-cta{padding:56px 9%;gap:22px}
 /* About */
 .about-hero,.about-artist,.about-bio,.about-story{grid-template-columns:1fr}
 .about-hero,.about-hero-photo{min-height:0}
 .about-hero-copy{padding:72px 40px}
 .about-hero-photo{height:clamp(380px,66vw,580px)}
 .about-story{padding:72px 40px;gap:26px}
 .about-artist-image{min-height:0;height:clamp(400px,68vw,610px);background-size:contain}
 .about-artist-copy{padding:72px 40px}
 .about-philosophy{padding:76px 40px}
 .about-philosophy-title{margin-bottom:48px}
 .about-principles{grid-template-columns:1fr}
 .about-principle{min-height:0}
 .about-principle+.about-principle{border-left:0;border-top:1px solid #cfc9ba}
 .about-boutique{padding:78px 40px}
 .about-bio{padding:76px 40px;gap:44px}
 .about-bio img{max-height:680px;object-fit:cover;object-position:center top}
 .about-final-cta{padding:72px 40px}
 /* Vacancies */
 .vacancies-hero{height:min(560px,70vh);min-height:470px;background-position:60% center}
 .vacancies-hero-copy{top:82px;left:40px;right:40px}
 .vacancies-intro{padding:68px 40px}
 .vacancies-availability,.vacancies-follow,.vacancies-welcome{padding-left:40px;padding-right:40px}
 .vacancies-listing-card{min-height:0}
 /* Blog, properties, content */
 .vf-blog,.vf-properties,.vf-post,.vf-property,.vf-content{width:100%;max-width:100%;padding-left:40px;padding-right:40px}
 .vf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vf-property__gallery img{height:clamp(230px,38vw,300px)}
 /* Footer */
 .site-footer{width:100%;max-width:none;padding:54px 40px 26px}
 .site-footer__grid{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}
 .site-footer__grid>:first-child{grid-column:1/-1}
 .site-footer__logo,.services-page .site-footer__logo{width:min(270px,70vw);height:auto}
 .site-footer__actions,.site-footer__site-map{min-width:0;width:100%}
}
@media (max-width:640px) {
 .site-header{padding:14px 22px 20px}
 .site-header__logo,.services-page .site-header__logo,.vacancies-page .site-header__logo{width:min(230px,72vw);height:88px}
 .site-header__nav,.services-page .site-header__nav,.vacancies-page .site-header__nav{gap:10px 14px;font-size:10px;letter-spacing:1px}
 .site-header__portal{padding:9px 10px}
 /* Home */
 .home-page .hero{min-height:470px;height:68vh;max-height:560px;background-position:62% center}
 .home-page .hero-copy{top:54px;left:22px;right:22px}
 .home-page .hero h1{max-width:390px;margin-bottom:22px;font-size:clamp(43px,12vw,54px);line-height:.98}
 .home-page .kicker{max-width:350px;font-size:11px;letter-spacing:2px}
 .home-page .btn{padding:14px 19px}
 .home-page .intro,.home-page .story-copy,.home-page .services,.home-page .test-copy,.home-page .cta{padding:52px 22px}
 .home-page .intro{gap:34px}
 .home-page .intro h2,.home-page .services h2,.home-page .cta h2,.home-page .story-copy h2{font-size:39px}
 .home-page .intro p{font-size:16px}
 .home-page .quote{padding-left:22px;font-size:30px}
 .home-page .diff{padding:48px 22px}
 .home-page .diff-grid,.home-page .service-grid{grid-template-columns:1fr}
 .home-page .diff-item,.home-page .diff-item:first-child,.home-page .diff-item:nth-child(odd){padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}
 .home-page .diff-item:first-child{padding-top:4px}
 .home-page .diff-item:last-child{padding-bottom:0;border-bottom:0}
 .home-page .photo-story img{height:clamp(300px,90vw,430px)}
 .home-page .service-grid{gap:14px}
 .home-page .testimonial{min-height:0;background-position:66% center}
 .home-page .testimonial::before{background:rgba(4,43,29,.78)}
 .home-page .test-copy blockquote{margin-top:22px;font-size:27px;line-height:1.28}
 /* Services */
 .services-hero{min-height:470px;height:65vh;max-height:540px;background-position:62% center}
 .services-hero-copy{top:64px;left:22px;right:22px}
 .services-hero h1{font-size:44px}
 .services-intro,.services-copy,.services-consulting,.services-grounded,.services-cta{padding-left:22px;padding-right:22px}
 .services-intro{padding-top:54px;padding-bottom:54px}
 .services-intro h2,.services-service h2,.services-consulting h2,.services-grounded h2,.services-cta h2{font-size:39px}
 .services-service .services-photo,.services-service .services-single-photo,.services-single-photo img{height:clamp(300px,88vw,430px)}
 .services-copy{padding-top:54px;padding-bottom:58px}
 .services-details{grid-template-columns:1fr}
 .services-consulting{padding-top:64px;padding-bottom:64px}
 .services-quote{font-size:29px}
 .services-grounded{padding-top:62px;padding-bottom:62px}
 .services-cta{padding-top:48px;padding-bottom:48px;align-items:stretch}
 .services-cta .btn{width:100%;text-align:center;white-space:normal}
 /* About */
 .about-hero-copy,.about-story,.about-artist-copy,.about-philosophy,.about-boutique,.about-bio,.about-final-cta{padding-left:22px;padding-right:22px}
 .about-hero-copy{padding-top:58px;padding-bottom:58px}
 .about-hero h1{font-size:46px}
 .about-hero-photo{height:clamp(330px,96vw,450px)}
 .about-story{padding-top:58px;padding-bottom:62px}
 .about-story h2,.about-artist-copy h2,.about-boutique h2,.about-bio-copy h2,.about-final-cta h2{font-size:41px}
 .about-pullquote{font-size:28px}
 .about-artist-image{height:clamp(330px,100vw,470px)}
 .about-artist-copy,.about-boutique,.about-bio,.about-final-cta{padding-top:62px;padding-bottom:62px}
 .about-philosophy{padding-top:62px;padding-bottom:62px}
 .about-philosophy-title h2{font-size:41px}
 .about-principle{padding:38px 4px}
 .about-boutique h2 br,.about-final-cta h2 br{display:none}
 /* Vacancies */
 .vacancies-hero{min-height:450px;height:64vh;max-height:520px;background-position:65% center}
 .vacancies-hero-copy{top:60px;left:22px;right:22px}
 .vacancies-hero h1{font-size:46px}
 .vacancies-hero p{font-size:15px}
 .vacancies-intro,.vacancies-availability,.vacancies-follow,.vacancies-welcome{padding-left:22px;padding-right:22px}
 .vacancies-intro{padding-top:56px;padding-bottom:56px}
 .vacancies-intro h2,.vacancies-availability h2,.vacancies-welcome h2{font-size:41px}
 .vacancies-availability{padding-top:60px;padding-bottom:66px}
 .vacancies-listing-card{padding:34px 26px}
 .vacancies-listing-card a{width:auto;max-width:100%}
 .vacancies-follow div{font-size:36px}
 .vacancies-welcome{padding-top:62px;padding-bottom:62px}
 /* Blog, properties, content */
 .vf-blog,.vf-properties,.vf-post,.vf-property,.vf-content{padding:52px 22px}
 .vf-blog__title,.vf-properties__title,.vf-content h1,.vf-post h1,.vf-property h1{font-size:44px}
 .vf-card-grid,.vf-property__facts,.vf-property__gallery{grid-template-columns:1fr}
 .vf-card img,.vf-property__gallery img{height:auto;min-height:230px;object-fit:cover}
 .vf-card__body,.vf-empty{padding:24px 20px}
 /* Footer */
 .site-footer{padding:48px 22px 24px}
 .site-footer__grid{display:grid;grid-template-columns:1fr;gap:34px}
 .site-footer__grid>:first-child{grid-column:auto}
 .site-footer__logo,.services-page .site-footer__logo{width:min(240px,75vw)}
 .site-footer__address{overflow-wrap:anywhere}
 .site-footer__actions a{width:100%;margin-bottom:12px}
 .site-footer__site-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .site-footer__legal{margin-top:36px;padding-top:18px}
}
