/* Shared layout contract: 320px phones through 4K desktops. */
:root { --site-width: 1600px; --content-width: 1320px; --gutter: clamp(16px, 3vw, 48px); --section-space: clamp(48px, 6vw, 100px); }
html { scroll-padding-top: 116px; }
body { display: block !important; height: auto !important; min-height: 100svh; overflow-y: auto !important; }
body .rd-reveal { transition-duration: .55s !important; }
.rd-motion-ready .rd-reveal:not(.rd-in-view) { transform: translate3d(0,16px,0); }
body > :is(section, .container-xxl, .gallery-section, .mortgage-section, .silver-keys-light, .luxury-infrastructure, .trust-section, .benefits-section, .footer, .rd-project-footer, .content) { width: 100% !important; max-width: var(--site-width) !important; }
body .minimal-hero { max-width: var(--site-width) !important; }
body .navbar-black { width: calc(100% - 48px) !important; max-width: 1544px !important; left: 0 !important; right: 0 !important; top: 24px !important; }
body .main-nav { padding: 0 !important; min-height: 76px !important; }
body .navbar-black.rd-scrolled .main-nav { transform: none !important; }
body .main-nav .nav-container { display: flex !important; align-items: center !important; width: 100% !important; max-width: none !important; min-height: 74px !important; padding: 12px 24px !important; gap: 12px !important; }
body .navbar-black .logo { margin: 0 !important; flex-shrink: 0; opacity: 1 !important; transform: none !important; }
body .navbar-black .nav-menu { flex-shrink: 0; }
body .rd-has-nav { padding-top: 126px !important; }
body.rd-has-nav:not([data-page="index"]) { padding-top: 126px !important; }
body .main-nav .contact-link { color: var(--rd-ink) !important; background: #e9e7e1 !important; }
body .main-nav .top-nav-contacts { margin-right: 0 !important; }
body .hero-content { padding: 156px var(--gutter) 64px !important; }
body .content-wrapper { width: 100%; min-width: 0; }
body .hero-title { font-size: clamp(38px, 5.6vw, 84px) !important; letter-spacing: -.055em !important; line-height: 1.05 !important; }
body .hero-buttons { display: flex; flex-wrap: wrap; }
body :is(.container, .mortgage-container, .gallery-container, .video-container, .footer__container, .skl-grid, .srgi-container) { min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body[data-page="index"] :is(.mortgage-section, .container-xxl, .video-presentation, .silver-keys-light, .advantages-section.white-theme, .trust-section.white-theme, .benefits-section, .ski-resort-gallery-isolated) { padding: var(--section-space) 0 !important; }
body[data-page="index"] :is(.container, .mortgage-container, .gallery-container, .video-container, .skl-grid, .srgi-container), body .footer__container { width: min(var(--content-width), calc(100% - var(--gutter) * 2)) !important; max-width: var(--content-width) !important; }
body :is(h1,h2,h3,p,.section-subtitle,.info,.gallery,.product-info,.video-content,.video-wrapper,.content-panel,.trust-images,.trust-text,.feature-text,.card-content,.house-info) { min-width: 0 !important; overflow-wrap: break-word; }
body :is(.section-title,.mortgage-title,.video-title,.luxury-title,.srgi-title) { font-size: clamp(32px, 4.2vw, 60px) !important; line-height: 1.12 !important; letter-spacing: -.045em !important; }
body .section-subtitle { max-width: 100% !important; min-width: 0 !important; letter-spacing: .08em !important; }
body .section-header { min-width: 0 !important; }
body .section-header > * { min-width: 0 !important; }
body .mortgage-cards { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; width: 100% !important; max-width: none !important; }
body .mortgage-card { min-width: 0 !important; min-height: 0 !important; padding: clamp(20px,2vw,28px) !important; }
body .mortgage-card .card-header { display: flex; align-items: center; gap: 12px; padding: 0; background: transparent; border: 0; }
body .mortgage-card .card-icon svg { stroke: #fff !important; fill: none !important; }
body .mortgage-card .card-icon { position: static !important; flex: 0 0 44px; width: 44px !important; height: 44px !important; }
body .mortgage-card .card-header h3 { margin: 0; font-size: 20px; }
body[data-page="index"] .container-xxl .row { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px !important; margin: 0 !important; }
body[data-page="index"] .container-xxl .row > * { width: 100% !important; padding: 0 !important; min-width: 0; }
body[data-page="index"] .container-xxl h2 { font-size: clamp(32px,3.6vw,52px) !important; letter-spacing: -.04em; }
body[data-page="index"] .container-xxl .row > :first-child > .position-relative { height: clamp(340px,35vw,500px) !important; }
body .video-container { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px !important; }
body .video-content { max-width: none !important; }
body .video-wrapper { width: 100% !important; flex: auto !important; }
body .video-feature-icon { flex-shrink: 0; }
body .video-placeholder { width: 100%; min-height: 0 !important; aspect-ratio: 16 / 10; }
body .silver-keys-light { height: auto !important; min-height: 0 !important; }
body .silver-keys-light .skl-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 32px !important; }
body .silver-keys-light .skl-header { grid-column: 1 / -1 !important; width: 100% !important; margin: 0 !important; }
body .silver-keys-light .skl-title { font-size: clamp(38px,8vw,112px) !important; letter-spacing: -.065em !important; line-height: 1.02 !important; }
body .silver-keys-light :is(.skl-area,.skl-price,.skl-features,.skl-cta) { grid-column: auto !important; min-width: 0; width: 100% !important; margin: 0 !important; }
body .silver-keys-light .skl-subtitle { margin-top: 20px !important; line-height: 1.5; }
body .silver-keys-light .skl-features { grid-column: 1 / -1 !important; }
body .silver-keys-light .skl-cta { grid-column: 1 / -1 !important; }
body .luxury-infrastructure { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; padding: 0 !important; min-height: 0 !important; height: auto !important; }
body .luxury-infrastructure .fullscreen-gallery { position: relative !important; width: 100% !important; height: auto !important; min-height: 560px !important; }
body .luxury-infrastructure .content-panel { width: 100% !important; padding: clamp(24px,3vw,48px) !important; }
body .luxury-infrastructure .panel-inner { width: 100% !important; max-width: none !important; padding: 0 !important; }
body .luxury-infrastructure .luxury-title { font-size: clamp(24px,3vw,40px) !important; line-height: 1.18 !important; text-align: left !important; letter-spacing: -.035em !important; }
body .luxury-infrastructure .luxury-title::before { display: none !important; }
body .luxury-infrastructure .feature-item { min-height: 0 !important; padding: 16px !important; align-items: center !important; gap: 12px !important; }
body .luxury-infrastructure .feature-icon { flex: 0 0 32px; width: 32px !important; height: 32px !important; padding: 0 !important; color: var(--rd-ink) !important; background: var(--rd-accent) !important; }
body[data-page="index"] .advantages-section .section-header { grid-template-columns: minmax(0,1fr) minmax(180px,240px) !important; gap: 32px !important; }
body[data-page="index"] .advantages-section .section-title { font-size: clamp(30px,4vw,58px) !important; text-align: left !important; letter-spacing: -.045em !important; line-height: 1.12 !important; }
body[data-page="index"] .trust-section .section-title { font-size: clamp(30px,3.4vw,46px) !important; line-height: 1.12 !important; letter-spacing: -.045em !important; }
body[data-page="index"] .trust-section .trust-text { padding: clamp(24px,3vw,40px) !important; }
body[data-page="index"] .trust-section .trust-images { width: 100% !important; max-width: none !important; margin: 0 !important; align-self: stretch !important; }
body[data-page="index"] .trust-section .image-stack { height: 100% !important; min-height: 600px !important; }
body .benefits-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; width: 100% !important; max-width: none !important; }
body .benefit-card { min-width: 0; padding: 0 !important; }
body .benefit-card .card-content { padding: 24px !important; }
body .srgi-title { margin-bottom: 28px !important; }
body[data-page="index"] :is(.page-content,.rd-ski-shell) { width: 100% !important; max-width: var(--site-width) !important; margin: 18px auto !important; }
body[data-page="index"] .rd-ski-shell { padding: 0 !important; }
body[data-page="index"] .page-content { padding: var(--section-space) var(--gutter); background: #fff; }
body[data-page="index"] .page-content header { padding: 0; margin-bottom: 32px; }
body[data-page="index"] .page-content h2 { font-size: clamp(32px,4.2vw,60px); letter-spacing: -.045em; line-height: 1.12; }
body[data-page="index"] #gallery-container { width: min(1320px,100%); padding: 0; margin: 0 auto; box-shadow: none; }
body[data-page="index"] > .gallery-section { display: block !important; }
body[data-page="index"] > section.gallery-section { padding: 16px !important; }
body[data-page="index"] > section.gallery-section .gallery-container { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 12px !important; width: 100% !important; max-width: none !important; height: auto !important; }
body[data-page="index"] > section.gallery-section .gallery-item { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; min-width: 0; overflow: hidden; border-radius: 18px !important; }
body[data-page="index"] > section.gallery-section .gallery-item img { width: 100%; height: 100%; object-fit: cover; }
body .footer { padding: var(--section-space) 0 88px !important; text-align: left; }
body .footer__container { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px !important; }
body :is(.footer__contacts,.footer__form-wrapper) { padding: clamp(22px,3vw,42px) !important; min-width: 0 !important; }
body .footer__title { font-size: clamp(36px,4vw,60px) !important; letter-spacing: -.04em !important; -webkit-text-fill-color: #fff !important; }
body .footer__contact-link { overflow-wrap: anywhere; }
body :is(input,textarea,select) { max-width: 100%; font-size: 16px !important; }
body .footer__privacy { align-items: flex-start; }
body .rd-contact-overlay { max-width: none !important; width: 100% !important; height: 100dvh; padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)); }
body .rd-contact-dialog { max-height: calc(100dvh - 24px); overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain; }
body.rd-contact-open { overflow: hidden !important; }
body .rd-contact-dialog h2 { font-size: clamp(30px,4vw,48px) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; }
body .rd-contact-kicker { padding-right: 40px; }
body .rd-contact-trigger { right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); }
body :is(.rd-contact-form,.rd-contact-field,.rd-contact-consent) { min-width: 0; }
body .legal-page { max-width: 980px; overflow-wrap: anywhere; }
body .legal-page h1 { font-size: clamp(30px,5vw,60px); letter-spacing: -.045em; }
body[data-page="conceptions"] > .content { height: auto; min-height: 620px; padding: var(--gutter); border-radius: 28px; }
body[data-page="conceptions"] .main-content { max-width: 680px; margin: 40px 0 64px; }
body[data-page="conceptions"] .main-content h1 { font-size: clamp(34px,5vw,64px); line-height: 1.1; }
body[data-page="conceptions"] .content > .footer { margin: 0 !important; padding: 0 !important; width: 100% !important; border: 0 !important; }
body[data-page="conceptions"] .content > .footer::before { display: none; }
body[data-page="catalog_domov"] .house-image { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 3; }
body[data-page="catalog_domov"] .house-info { align-content: start; grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; }
body[data-page="catalog_domov"] .house-price { white-space: normal !important; }
body .product-card { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
body .product-card > * { min-width: 0 !important; }
body .product-card .gallery-section { width: 100% !important; min-width: 0 !important; }
body:is([data-page="classic-100"],[data-page="classic-108"],[data-page="barnhouse"],[data-page="dom83-5"],[data-page="dom130"]) > .container { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); min-height: 0 !important; }
body > .container > :is(.gallery,.info) { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }
body > .container .info h1 { font-size: clamp(34px,4vw,62px) !important; letter-spacing: -.045em !important; line-height: 1.08 !important; }
body .info :is(.payment-option,.material,.info-item),body .info :is(.payment-option,.material,.info-item) :is(h3,p) { color: var(--rd-ink) !important; }
body .info .price { font-size: clamp(18px,2vw,26px); overflow-wrap: anywhere; }
body .info :is(.materials,.info-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
body .info .contact-btn { display: block; text-align: center; white-space: normal; }
body[data-page="classic-207"] .payment-option { grid-template-columns: minmax(0,1fr) auto !important; gap: 12px; }
body[data-page="classic-207"] > .container > .info { padding: clamp(24px,3vw,42px) !important; }
body[data-page="classic-207"] > .container > .gallery { height: min(760px,calc(100svh - 140px)) !important; min-height: 450px !important; }
body .rd-project-footer-main { grid-template-columns: minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1fr); }
body .rd-project-footer-main > * { min-width: 0; }
body .rd-project-footer-brand h2 { font-size: clamp(32px,4vw,54px); }

@media (max-width: 1100px) {
  body .mortgage-cards { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body .navbar-black .nav-menu { display: none !important; }
  body .navbar-black .main-nav .top-nav-contacts { display: none !important; }
  body .navbar-black .phone-btn.mobile-only { display: flex !important; align-items: center; justify-content: center; width: 42px !important; height: 42px !important; padding: 10px !important; background: var(--rd-ink) !important; border-radius: 50%; margin-left: auto !important; margin-right: 0 !important; }
  body .navbar-black .mobile-menu-btn { display: block !important; width: 44px !important; height: 44px !important; padding: 10px !important; margin: 0 !important; }
  body .navbar-black :is(.nav-menu.active),body .navbar-black.menu-open .nav-menu { display: flex !important; position: absolute !important; inset: calc(100% + 10px) 0 auto !important; width: 100% !important; height: auto !important; max-height: calc(100dvh - 120px); overflow-y: auto; padding: 12px !important; gap: 4px !important; flex-direction: column; align-items: stretch !important; justify-content: start !important; background: var(--rd-paper) !important; border: 1px solid var(--rd-line); border-radius: 22px !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  body .navbar-black .menu-link { min-height: 44px; align-items: flex-start !important; width: 100% !important; font-size: 15px !important; }
  body .footer__container { grid-template-columns: 1fr !important; }
  body .luxury-infrastructure { grid-template-columns: 1fr !important; }
  body .luxury-infrastructure .fullscreen-gallery { height: 460px !important; min-height: 0 !important; }
  body .luxury-infrastructure .luxury-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body .luxury-infrastructure .feature-item { margin: 0 !important; }
  body[data-page="index"] .advantages-section .section-header { grid-template-columns: minmax(0,1fr) !important; }
  body[data-page="index"] .advantages-section .section-subtitle { max-width: 100% !important; }
  body[data-page="catalog_domov"] .houses-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body .rd-project-footer-main { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width: 800px) {
  body .mortgage-cards,body .benefits-grid { grid-template-columns: 1fr !important; }
  body[data-page="index"] .container-xxl .row,body .video-container { grid-template-columns: minmax(0,1fr) !important; }
  body .product-card,body:is([data-page="classic-100"],[data-page="classic-108"],[data-page="barnhouse"],[data-page="dom83-5"],[data-page="dom130"]) > .container { grid-template-columns: minmax(0,1fr) !important; }
  body .product-info { padding: 20px !important; }
  body .product-info h1 { font-size: clamp(32px,7vw,48px) !important; letter-spacing: -.045em !important; }
  body .product-info .specs-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 600px) {
  :root { --gutter: 18px; --section-space: 52px; }
  html { scroll-padding-top: 92px; }
  body .navbar-black { width: calc(100% - 24px) !important; top: 12px !important; }
  body .main-nav { min-height: 62px !important; }
  body .main-nav .nav-container { min-height: 60px !important; padding: 8px 10px 8px 16px !important; gap: 4px !important; }
  body .navbar-black .logo-text { font-size: clamp(12px,3.4vw,15px) !important; max-width: none; }
  body.rd-has-nav:not([data-page="index"]) { padding-top: 96px !important; }
  body .minimal-hero { min-height: 700px !important; height: auto !important; }
  body .hero-content { position: relative !important; min-height: 700px !important; height: auto !important; padding: 130px 22px 54px !important; align-items: center !important; }
  body .hero-title { max-width: 100% !important; font-size: clamp(34px,9.6vw,50px) !important; }
  body .hero-btn { width: 100%; display: flex; justify-content: space-between; align-items: center; min-height: 54px; padding: 12px 18px !important; }
  body .hero-btn::after { flex: 0 0 26px; }
  body .silver-keys-light .skl-grid { grid-template-columns: minmax(0,1fr) !important; gap: 24px !important; }
  body .silver-keys-light :is(.skl-area,.skl-price,.skl-features,.skl-cta) { grid-column: 1 !important; padding: 0 !important; }
  body .silver-keys-light .skl-title { font-size: clamp(34px,10.4vw,60px) !important; }
  body .silver-keys-light .skl-subtitle { font-size: 15px !important; }
  body .skl-feature-text { font-size: 17px !important; }
  body .luxury-infrastructure .fullscreen-gallery { height: 320px !important; }
  body .luxury-infrastructure .content-panel { padding: 28px 18px !important; }
  body .luxury-infrastructure .luxury-features { grid-template-columns: minmax(0,1fr) !important; }
  body .luxury-infrastructure .slide-overlay { padding: 24px !important; }
  body .luxury-title { overflow-wrap: anywhere; }
  body[data-page="index"] .advantages-section .section-title { font-size: clamp(28px,7.8vw,40px) !important; overflow-wrap: anywhere; }
  body[data-page="index"] .trust-section .section-title { font-size: clamp(28px,7vw,38px) !important; }
  body[data-page="index"] .trust-section .trust-text { padding: 24px 18px !important; }
  body[data-page="index"] .trust-section .image-stack { min-height: 380px !important; }
  body .ski-resort-gallery-isolated .srgi-container { grid-template-columns: minmax(0,1fr) !important; max-width: 100% !important; }
  body[data-page="index"] > section.gallery-section .gallery-container { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px !important; }
  body[data-page="index"] > section.gallery-section .gallery-item { flex: 0 0 84% !important; scroll-snap-align: start; }
  body .footer__contact-title { font-size: 16px !important; line-height: 1.4; }
  body .footer__form-title { font-size: 26px !important; }
  body .footer__subtitle { font-size: 16px !important; }
  body .footer__contact-item { padding-left: 32px !important; }
  body .rd-contact-trigger { gap: 7px; min-height: 48px; padding: 6px 14px 6px 6px; font-size: 12px; max-width: calc(100vw - 84px); }
  body .rd-contact-dialog { padding: 56px 20px 22px; }
  body .rd-contact-dialog h2 { font-size: 32px !important; }
  body .rd-contact-trigger > span:last-child { max-width: none; }
  body > .container > .info { padding: 24px 12px !important; }
  body .info :is(.materials,.info-grid),body .product-info .specs-grid { grid-template-columns: minmax(0,1fr) !important; }
  body[data-page="classic-207"] .payment-option { grid-template-columns: minmax(0,1fr) !important; gap: 8px; }
  body[data-page="classic-207"] > .container > .gallery { min-height: 300px !important; height: 340px !important; }
  body .rd-project-footer-main { grid-template-columns: minmax(0,1fr); }
  body .legal-page { width: 100%; padding: 26px 20px; }
  body[data-page="conceptions"] > .content { min-height: 580px; }
}
@media (prefers-reduced-motion: reduce) { body .hero-background { transform: none !important; } }
