

html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
img,video,svg,canvas,iframe{max-width:100%}
img{height:auto}
body{overflow-x:hidden}
button,input,select,textarea{max-width:100%;font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.hero h1,.page-hero h1,.legal-hero h1,.section-title,.company-copy h2,
.property-card-copy,.apartment-detail,.legal-content,.footer-simple,
.contact-detail,.fact,.benefit-card,.process-step,.project-cta-box,
.imp-company,.imp-person,.building-detail,.topic-select__value{
  overflow-wrap:anywhere;
  word-break:normal;
  min-width:0;
}

.apartment-slider,.apartment-media,.floorplan-panel,.floorplan-image-wrap,
.index-real-slider,.irs-viewport,.photo-lb-stage,.photo-lb-imagewrap,.irs-lb-stage,.irs-lb-imagewrap{
  min-width:0;
  max-width:100%;
}

@media (max-width:1180px){
  .texel-unified-header__inner{gap:18px!important}
  .texel-unified-header__nav{gap:18px!important}
  .texel-unified-header__nav a{font-size:13px!important;white-space:nowrap}

  .hero-content,.page-hero .container,.legal-hero .container{max-width:min(100%,980px)!important}
  .hero h1{font-size:clamp(54px,6.4vw,86px)!important}
  .page-hero h1,.legal-hero h1{font-size:clamp(48px,6vw,76px)!important}

  .apartment-layout{gap:28px!important}
  .apartment-description{font-size:clamp(15px,1.45vw,17px)!important}
  .floor-selector-grid,.benefit-grid,.process-grid{gap:18px!important}
}

@media (max-width:900px){
  
  .texel-unified-header{max-width:100vw!important}
  .texel-unified-header__inner{padding-left:20px!important;padding-right:20px!important}
  .texel-unified-header__nav{display:none!important}
  .texel-unified-header__toggle{display:grid!important;place-items:center!important;flex:0 0 auto}
  .texel-unified-header__logo{flex:0 0 auto!important;min-width:0!important}

  .container,.legal-wrap .container,.block .container,.properties .container,
  .contact .container,.purchase .container,.company .container,.new-projects .container{
    width:auto!important;
    max-width:none!important;
    margin-left:20px!important;
    margin-right:20px!important;
  }

  .company-card,.new-project-card,.purchase-grid,.contact-grid,.legal-layout,
  .property-layout,.apartment-layout,.imp-company-grid,.imp-person-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .home-preview-grid,.benefit-grid,.process-grid,.portfolio-highlights{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .hero h1{font-size:clamp(50px,9vw,72px)!important;line-height:.98!important}
  .hero p{font-size:clamp(16px,2.3vw,19px)!important;line-height:1.65!important;max-width:42rem!important}
  .page-hero h1,.legal-hero h1{font-size:clamp(44px,8vw,68px)!important}
  .page-hero p,.legal-hero p{font-size:clamp(16px,2.2vw,18px)!important}

  .hero-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
  .hero-actions .btn{flex:0 1 auto!important}

  .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .field.full{grid-column:1/-1!important}
  .legal-aside{position:static!important}
  .legal-content{padding:34px 30px!important}

  .building-detail,.apartment-detail{max-width:100%!important}
  .building-detail-head,.apartment-detail-head{gap:16px!important;flex-wrap:wrap!important}
  .detail-summary,.apartment-detail-meta{min-width:0!important}
  .unit-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .apartment-layout{grid-template-columns:minmax(0,1fr)!important}
  .apartment-overview,.apartment-media{width:100%!important}
  .apartment-slider{width:100%!important;max-width:100%!important}
  .apartment-slider-track img{max-width:100%!important}

  .floorplan-panel{padding:22px!important}
  .floorplan-image-wrap{overflow:hidden!important}
  .floorplan-image{width:100%!important;max-width:100%!important;object-fit:contain!important}

  .gallery-lightbox,.irs-lightbox,.floorplan-lightbox{padding:18px!important}
  .photo-lb-shell,.irs-lb-shell{
    width:min(94vw,980px)!important;
    max-width:94vw!important;
    max-height:92dvh!important;
    border-radius:26px!important;
  }
  .photo-lb-stage,.irs-lb-stage{min-height:0!important;max-height:calc(92dvh - 130px)!important}
  .photo-lb-imagewrap,.irs-lb-imagewrap{max-height:calc(92dvh - 175px)!important}
  .photo-lb-image,.irs-lb-image{max-width:100%!important;max-height:calc(92dvh - 175px)!important;object-fit:contain!important}
  .lightbox-close,.irs-lb-close,.floorplan-close{touch-action:manipulation!important}
}

@media (max-width:700px){
  :root{--responsive-gutter:16px}

  .container,.legal-wrap .container,.block .container,.properties .container,
  .contact .container,.purchase .container,.company .container,.new-projects .container,
  .page-hero .container,.legal-hero .container{
    margin-left:var(--responsive-gutter)!important;
    margin-right:var(--responsive-gutter)!important;
    width:auto!important;
  }

  .texel-unified-header__inner{padding-left:16px!important;padding-right:16px!important}
  .texel-unified-header__logo .logo-hero,.texel-unified-header__logo .logo-scroll{max-width:96px!important;height:auto!important}

  .hero h1{font-size:clamp(42px,12.3vw,64px)!important;line-height:.98!important;letter-spacing:-.025em!important;max-width:100%!important}
  .page-hero h1,.legal-hero h1{font-size:clamp(38px,11vw,58px)!important;line-height:1.02!important;max-width:100%!important}
  .section-title,.company-copy h2,.new-project-content h2,.purchase-copy h2,.contact-copy h2{
    font-size:clamp(34px,9.2vw,52px)!important;
    line-height:1.04!important;
    max-width:100%!important;
  }
  .hero p,.page-hero p,.legal-hero p,.section-copy,.company-copy p{
    font-size:clamp(15px,4vw,18px)!important;
    line-height:1.6!important;
    max-width:100%!important;
  }

  .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:12px!important}
  .hero-actions .btn{width:100%!important;min-width:0!important;min-height:56px!important;padding:0 18px!important;white-space:normal!important;text-align:center!important}

  .hero::after,.page-hero::after,.legal-hero::after{
    background:linear-gradient(90deg,rgba(4,28,31,.82) 0%,rgba(4,28,31,.66) 48%,rgba(4,28,31,.28) 78%,rgba(4,28,31,.06) 100%)!important;
  }

  .home-preview-grid,.benefit-grid,.process-grid,.portfolio-highlights,.photo-grid,
  .floor-selector-grid,.unit-list,.imp-facts{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .company-card,.new-project-card,.purchase-grid,.contact-grid,.legal-layout,
  .imp-company-grid,.imp-person-grid{gap:24px!important}

  .company-card,.new-project-content,.purchase-copy,.contact-form,.legal-content,
  .benefit-card,.process-step,.preview-card,.project-cta-box{
    padding-left:20px!important;padding-right:20px!important;
  }

  .section-head,.property-toolbar,.building-detail-head,.apartment-detail-head{
    flex-direction:column!important;align-items:flex-start!important;
  }

  .property-list{max-height:none!important;overflow:visible!important}
  .property-card{grid-template-columns:84px minmax(0,1fr)!important;gap:13px!important;padding:14px!important}
  .property-card img{width:84px!important;height:84px!important;border-radius:14px!important}
  .property-card-copy h3{font-size:16px!important;line-height:1.25!important}
  .property-card-copy p{font-size:13px!important;line-height:1.45!important}

  .tabs{display:flex!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:4px!important}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto!important;white-space:nowrap!important}

  .apartment-detail{padding:18px!important;border-radius:22px!important}
  .apartment-detail-head h2{font-size:clamp(28px,8vw,42px)!important;line-height:1.05!important}
  .apartment-detail-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important}
  .apartment-availability,.apartment-parking{max-width:100%!important;white-space:normal!important;text-align:left!important}
  .apartment-description{padding:20px!important;font-size:15px!important;line-height:1.65!important}

  .apartment-slider{border-radius:20px!important}
  .apartment-slider-track{min-height:0!important}
  .apartment-slider-track img{width:100%!important;height:auto!important;max-height:66vh!important;object-fit:contain!important;background:#f3f7f6}
  .apartment-slider-controls{right:12px!important;bottom:12px!important;gap:8px!important}
  .apartment-slider-arrow{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
  .apartment-dots{max-width:100%!important;overflow:hidden!important;justify-content:center!important}

  .floorplan-panel{padding:16px!important;border-radius:20px!important}
  .floorplan-meta{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:flex-start!important}
  .floorplan-hint{font-size:13px!important}

  .contact-form{grid-template-columns:minmax(0,1fr)!important;padding:20px!important}
  .field,.field.full{grid-column:auto!important;min-width:0!important}
  .field input,.field textarea,.field select,.topic-select__trigger{width:100%!important;min-width:0!important;font-size:16px!important}
  .topic-select__menu{left:0!important;right:0!important;width:auto!important;max-width:100%!important}

  .legal-wrap{padding:64px 0 80px!important}
  .legal-content{padding:26px 20px!important;border-radius:22px!important}
  .legal-content h2{font-size:clamp(28px,8vw,38px)!important}
  .legal-content p,.legal-content li{font-size:15px!important;line-height:1.7!important}

  .footer-simple{padding-left:16px!important;padding-right:16px!important;text-align:center!important}
  .footer-simple h2{font-size:clamp(34px,9vw,48px)!important;line-height:1.08!important}
  .footer-simple p{max-width:100%!important;font-size:15px!important}
  .footer-contact-btn{width:min(100%,360px)!important;white-space:normal!important;text-align:center!important}
  .footer-legal{flex-wrap:wrap!important;justify-content:center!important;gap:14px 22px!important}

  .gallery-lightbox,.irs-lightbox,.floorplan-lightbox{padding:8px!important;align-items:center!important;justify-content:center!important}
  .photo-lb-shell,.irs-lb-shell{
    width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;border-radius:20px!important;padding:12px!important;
  }
  .photo-lb-topbar,.irs-lb-topbar{min-height:42px!important;padding:0 2px 8px!important}
  .lightbox-close,.irs-lb-close{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .photo-lb-stage,.irs-lb-stage{max-height:calc(100dvh - 130px)!important;padding:0!important}
  .photo-lb-imagewrap,.irs-lb-imagewrap{max-height:calc(100dvh - 180px)!important}
  .photo-lb-image,.irs-lb-image{max-height:calc(100dvh - 180px)!important;width:auto!important;max-width:100%!important;object-fit:contain!important}
  .photo-lb-toolbar,.irs-lb-toolbar{gap:7px!important;padding-top:10px!important;flex-wrap:nowrap!important}
  .photo-lb-btn,.irs-lb-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .photo-lb-zoomlabel,.irs-lb-zoomlabel{min-width:46px!important;font-size:12px!important}

  .gallery-lightbox>.lightbox-arrow,.irs-lightbox>.irs-lb-arrow{display:none!important}
}

@media (max-width:480px){
  :root{--responsive-gutter:14px}
  .texel-unified-header__inner{padding-left:14px!important;padding-right:14px!important;gap:9px!important}
  .texel-language-trigger{min-width:58px!important;padding-left:9px!important;padding-right:9px!important}
  .texel-unified-header__toggle{width:48px!important;height:48px!important}

  .hero{min-height:100svh!important;height:auto!important;padding-bottom:40px!important}
  .hero-content{padding-top:clamp(160px,31vh,260px)!important;padding-bottom:30px!important}
  .hero .eyebrow{font-size:clamp(10px,3vw,12px)!important;letter-spacing:.12em!important;gap:9px!important}
  .hero h1{font-size:clamp(38px,12vw,56px)!important}
  .hero p{font-size:clamp(15px,4.2vw,17px)!important}

  section.block{padding-top:64px!important;padding-bottom:64px!important}
  .company-card{padding:26px 16px!important;border-radius:24px!important}
  .section-title,.company-copy h2{font-size:clamp(31px,9.5vw,44px)!important}

  .property-card{grid-template-columns:72px minmax(0,1fr)!important;padding:12px!important}
  .property-card img{width:72px!important;height:72px!important}

  .btn,.footer-contact-btn,.detail-link,.detail-actions a,.detail-actions button{min-height:52px!important;padding-left:16px!important;padding-right:16px!important}

  .apartment-detail{padding:14px!important}
  .apartment-description{padding:16px!important}
  .floorplan-panel{padding:12px!important}

  .legal-content{padding:22px 16px!important}
}

@media (max-width:360px){
  :root{--responsive-gutter:10px}
  .texel-unified-header__inner{padding-left:10px!important;padding-right:10px!important}
  .texel-unified-header__logo .logo-hero,.texel-unified-header__logo .logo-scroll{max-width:78px!important}
  .texel-language-trigger{min-width:52px!important;height:42px!important;font-size:12px!important}
  .texel-unified-header__toggle{width:44px!important;height:44px!important}
  .hero h1{font-size:clamp(34px,11.8vw,46px)!important}
  .page-hero h1,.legal-hero h1{font-size:clamp(34px,10.8vw,44px)!important}
  .hero-actions .btn{font-size:14px!important}
  .footer-simple h2{font-size:32px!important}
}

@media (max-height:600px) and (orientation:landscape) and (max-width:1000px){
  .hero{min-height:620px!important;height:auto!important}
  .hero-content{padding-top:130px!important;padding-bottom:45px!important}
  .hero h1{font-size:clamp(42px,7vw,58px)!important}
  .hero p{font-size:15px!important;line-height:1.5!important}
  .hero-actions{display:flex!important;flex-wrap:wrap!important}
  .hero-actions .btn{width:auto!important;min-width:190px!important}
  .photo-lb-shell,.irs-lb-shell{max-height:96dvh!important}
  .photo-lb-image,.irs-lb-image{max-height:calc(96dvh - 135px)!important}
}

@media (pointer:coarse){
  .tab,.btn,.footer-contact-btn,.texel-language-trigger,.texel-unified-header__toggle,
  .apartment-slider-arrow,.lightbox-close,.irs-lb-close,.floorplan-close,.photo-lb-btn,.irs-lb-btn{
    touch-action:manipulation;
  }
}
