.modal-header{display:flex;flex-direction:column;gap:var(--space-6);margin:0 0 var(--space-6)}.modal-subtitle{margin:.25rem 0 0;font-size:var(--font-size-md);opacity:.8;line-height:1.35}.modal-title-group{text-align:center}#modal-title{margin-top:0;margin-bottom:.5rem;font-size:1.8rem;line-height:1.2;font-weight:500}.modal-hero{width:100%;border-radius:var(--radius-lg);overflow:hidden;margin:0 auto;box-shadow:var(--shadow-md)}@media (min-width:1400px) and (min-height:900px){.modal-hero{max-height:min(90vh, 1000px)}}.modal-hero img{aspect-ratio:14 / 7;width:100%;height:auto;object-fit:cover;display:block}.modal-hero.landscape-header{aspect-ratio:16/9;position:relative;overflow:hidden}.modal-hero.landscape-header img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 0.3s ease}.modal-hero.landscape-header:hover img{transform:scale(1.02)}.modal-header .modal-hero{margin:0 0 var(--space-4);width:100%}.modal-header .modal-hero img{width:100%;height:auto!important;max-height:none!important;display:block}.modal-body{display:grid;grid-template-columns:1fr 420px;grid-auto-rows:auto;gap:2rem 2.25rem;align-items:start}.modal-body>.modal-hero{grid-column:1 / -1}.modal-body>.modal-desc{grid-column:1;max-width:60ch}.modal-body>.modal-side{grid-column:2;display:flex;flex-direction:column;gap:var(--space-6)}.modal-body>.modal-side:empty{display:none}.modal-left{display:flex;flex-direction:column;gap:1.25rem}.modal-aside{display:flex;flex-direction:column;gap:1.75rem}.modal-hero-single{margin:0}.modal-hero-single img{width:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.plan-carousel{display:flex;flex-direction:column;gap:1rem}.plan-carousel-bottom{grid-column:1 / -1;margin-top:.5rem;padding-top:.25rem}.plan-carousel-bottom .plan-swiper{width:100%}.plan-carousel .plan-swiper{width:100%}.plan-carousel .plan-slide figure{margin:0 0 .5rem;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:#000}.plan-carousel .plan-slide img{width:100%;height:100%;object-fit:cover;display:block}.plan-slide-caption{font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;opacity:.75;text-align:center}.plan-static-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.plan-static{margin:0;text-align:center}.plan-static img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);display:block;box-shadow:var(--shadow-sm)}.plan-static figcaption{margin-top:.4rem;font-size:.75rem;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.plan-carousel .swiper-pagination-bullet{width:10px!important;height:10px!important;flex-shrink:0;flex-grow:0;margin:0 2px!important;background:var(--color-brand-ink);opacity:.45}.plan-carousel .swiper-pagination-bullet-active{background:var(--color-brand-surface);border:2px solid var(--color-brand-ink);opacity:1}.modal-col-left .modal-desc{font-size:var(--font-size-base);line-height:1.7;text-align:justify}.modal-col-right{width:100%;display:flex;justify-content:flex-end;align-items:flex-start;padding-right:var(--space-8)}.modal-body-three-columns{display:flex;flex-direction:column;gap:var(--space-8)}.modal-body-upper-row{display:flex;flex-direction:row;gap:var(--space-6);min-height:fit-content}.modal-body-three-columns .modal-col-left{flex:1 1 75%;min-width:0}.modal-body-three-columns .modal-col-middle{flex:0 0 25%;display:flex;align-items:center;justify-content:center;min-height:100%}.modal-body-lower-section{display:flex;justify-content:center;align-items:center;width:100%;overflow:visible}.modal-body-three-columns .modal-col-right{width:100%;max-width:500px;padding-right:0;justify-content:center;overflow:visible}.modal-technical-drawings{width:100%;max-width:500px;margin-left:0;padding-bottom:1.5rem;position:relative;overflow:visible}.modal-technical-drawings h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin:0;text-align:center}.modal-technical-drawings .technical-drawings-swiper{aspect-ratio:1 / 1;width:100%;position:relative;overflow:visible;padding-bottom:1rem}.technical-drawings-swiper .swiper-slide{position:relative;aspect-ratio:1/1}.technical-drawings-swiper .technical-drawing{width:100%;height:100%;object-fit:cover;object-position:center}.technical-drawings-swiper .technical-drawing--contain{object-fit:contain;background-color:#fff}.drawing-label{position:static;background:none;color:var(--color-text,#0F0814);padding:.5rem 0 0 0;font-size:var(--font-size-sm);font-weight:500;text-align:center;opacity:.85}.technical-drawings-swiper .swiper-button-next,.technical-drawings-swiper .swiper-button-prev{color:var(--color-brand-ink);background:rgb(248 248 248 / .95);width:36px;height:36px;border-radius:50%;box-shadow:var(--shadow-sm);transition:all var(--transition-base) var(--easing-standard);z-index:5;position:absolute;top:50%;transform:translateY(-10%)}.technical-drawings-swiper .swiper-button-next{left:510px}.technical-drawings-swiper .swiper-button-prev{left:-50px}.technical-drawings-swiper .swiper-button-next:after{content:'→';color:var(--color-brand-ink)}.technical-drawings-swiper .swiper-button-prev:after{content:'←';color:var(--color-brand-ink)}.technical-drawings-swiper .swiper-button-next:hover,.technical-drawings-swiper .swiper-button-prev:hover{background:rgb(248 248 248);box-shadow:var(--shadow-md);transform:scale(1.05)}.technical-drawings-swiper .swiper-button-next:after,.technical-drawings-swiper .swiper-button-prev:after{font-size:16px;font-weight:700}.modal-technical-drawings .technical-drawings-swiper{aspect-ratio:1 / 1;width:100%;position:relative}.modal-technical-drawings .swiper-pagination{position:relative;left:auto;transform:none;margin-top:var(--space-12);width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;z-index:10;white-space:normal;word-wrap:break-word;bottom:0!important}.modal-technical-drawings .swiper-pagination-bullet,.technical-drawings-swiper .swiper-pagination-bullet{width:10px!important;height:10px!important;flex-shrink:0;flex-grow:0;margin:0 2px!important;background-color:var(--color-brand-surface,rgb(248 248 248 / .8));opacity:.7;border-radius:50%;transition:all 0.2s ease;border:1px solid var(--color-brand-ink,#0F0814)}.modal-technical-drawings .swiper-pagination-bullet-active,.technical-drawings-swiper .swiper-pagination-bullet-active{background-color:var(--color-brand-ink,white);opacity:1;transform:scale(1.1)}.modal-gallery{width:100%}.modal-gallery .swiper-slide figure{margin:0}.modal-gallery .swiper-slide img{width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.modal-gallery .swiper-pagination-bullet{width:10px!important;height:10px!important;flex-shrink:0;flex-grow:0;margin:0 2px!important;background:var(--color-brand-ink);opacity:.4}.modal-gallery .swiper-pagination-bullet-active{background:var(--color-brand-surface);border:2px solid var(--color-brand-ink);opacity:1}.modal-footer{grid-column:1 / -1;border-top:1px solid var(--color-border)}.modal-footer h3{font-size:var(--font-size-lg);text-align:center;margin-bottom:var(--space-6);color:var(--color-text)}.footer-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.gallery-item{display:flex;flex-direction:column;text-align:center}.gallery-item .gallery-image{width:100%;height:300px;object-fit:cover;object-position:center;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);transition:transform var(--transition-base) var(--easing-standard),box-shadow var(--transition-base) var(--easing-standard)}.gallery-item .gallery-image:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.gallery-item .gallery-image--tall{height:400px}.gallery-item .gallery-description{padding:var(--space-4) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;flex-grow:1;display:flex;align-items:center;justify-content:center;line-height:1.4}.gallery-swiper-container{position:relative;overflow:hidden}.gallery-swiper .swiper-wrapper{display:flex}.gallery-swiper .swiper-slide{flex-shrink:0;box-sizing:border-box;text-align:center}.footer-gallery-next,.footer-gallery-prev{position:absolute;top:40%;transform:translateY(-50%);width:44px;height:44px;background-color:rgb(255 255 255 / .9);border-radius:50%;box-shadow:var(--shadow-md);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-brand-ink);transition:all var(--transition-base) var(--easing-standard)}.footer-gallery-next:hover,.footer-gallery-prev:hover{background-color:#fff;transform:translateY(-50%) scale(1.05)}.footer-gallery-prev{left:16px}.footer-gallery-next{right:16px}.footer-gallery-next::after,.footer-gallery-prev::after{font-size:22px;font-weight:700;color:var(--color-brand-ink)}.footer-gallery-prev::after{content:'←'}.footer-gallery-next::after{content:'→'}.modal-icon-table{width:100%;max-width:240px;margin:0 auto}.modal-icon-table table{width:100%;border:none;border-collapse:collapse}.modal-icon-table td{width:50%;text-align:center;vertical-align:top;border:none;padding:.75rem .5rem}.icon-table-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem}.icon-table-cell img{width:32px;height:32px;display:block}.icon-table-text{font-size:.875rem;text-align:center;line-height:1.3;font-weight:500;color:var(--color-text)}@media (min-width:769px){.modal-body-three-columns{gap:2rem}.modal-body-upper-row{gap:1.5rem;text-align:center;align-items:center}.modal-col-left{max-width:100%}.modal-col-middle{max-width:100%;justify-content:center}.modal-col-right{max-width:500px}.modal-technical-drawings{max-width:500px;margin:0 auto}.modal-icon-table{max-width:300px;margin:0 auto}}@media (max-width:768px){.modal-hero img{aspect-ratio:auto}.modal-body{grid-template-columns:1fr}.modal-body-three-columns{gap:1.5rem}.modal-body-upper-row{flex-direction:column;gap:1.5rem}.modal-col-left,.modal-col-middle,.modal-col-right{flex:1 1 auto;max-width:100%;min-width:0}.modal-col-middle{justify-content:center}.modal-col-right{justify-content:center;overflow:hidden}.modal-technical-drawings{margin-left:0;max-width:100%}.technical-drawings-swiper .swiper-button-next,.technical-drawings-swiper .swiper-button-prev{display:none}}@media (max-width:480px){.modal-body-three-columns{gap:1rem}.modal-body-upper-row{gap:1rem}}.modal-body-three-columns{width:100%;max-width:100%;box-sizing:border-box;overflow:visible}@media (max-width:768px){.footer-gallery-prev{left:10px}.footer-gallery-next{right:10px}.footer-gallery-grid{grid-template-columns:1fr;gap:var(--space-5)}.gallery-swiper .swiper-slide{width:100%}.technical-drawing-caption{font-size:var(--font-size-sm);padding:0 var(--space-2)}}.projects-fullview{margin-top:0;display:none;position:fixed;inset:0;background:var(--color-overlay);backdrop-filter:blur(3px);z-index:99999!important;padding:var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.projects-fullview.is-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.projects-fullview-inner{background:var(--color-surface);border-radius:var(--radius-xl);max-width:clamp(1024px, 92vw, 1800px);width:100%;margin:var(--space-8) auto;margin-top:0;margin-bottom:0;padding:clamp(1.2rem, 2vw, 2.2rem);position:relative;box-shadow:var(--shadow-lg);color:var(--color-text);box-sizing:border-box;overflow-x:hidden;z-index:100000!important}.fullview-close{position:-webkit-sticky;position:sticky;top:.35rem;right:.4rem;left:auto;display:inline-flex;align-items:center;justify-content:center;background:rgb(255 255 255 / .65);backdrop-filter:blur(2px);border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text);padding:.2rem .5rem .3rem;border-radius:var(--radius-md,8px);transition:background 0.25s ease,color 0.25s ease;z-index:100001;float:right}.fullview-close:hover{background:rgb(0 0 0 / .06)}@media (max-width:414px) and (max-height:896px){.modal-technical-drawings .swiper-pagination{bottom:25px!important;margin-bottom:10px}.projects-fullview-inner{padding-bottom:3rem!important}.modal-gallery .swiper-pagination{bottom:25px!important;margin-bottom:10px}}@media (max-width:768px){.projects-fullview{padding:0.5rem!important}.projects-fullview.is-open{display:block!important;align-items:unset!important;justify-content:unset!important}.projects-fullview-inner{margin:0 auto!important;padding:1.5rem 1rem 2rem 1rem!important;width:calc(100% - 1rem)!important;max-width:none!important;height:auto!important;border-radius:var(--radius-md);box-sizing:border-box;position:relative}.fullview-close{font-size:1.55rem;padding:.35rem .55rem .45rem;top:.35rem;right:.35rem;background:rgb(255 255 255 / .8)}}.swiper-pagination-horizontal{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:4px!important;padding:0 10px!important}.swiper-pagination-bullet{flex-shrink:0!important;flex-grow:0!important;width:10px!important;height:10px!important;margin:0 2px!important}@media (max-width:480px){.swiper-pagination-horizontal{gap:2px!important;padding:0 8px!important}.swiper-pagination-bullet{width:8px!important;height:8px!important;margin:0 1px!important}@media (max-width:360px){.swiper-pagination-bullet{width:6px!important;height:6px!important;margin:0 1px!important}}}@media (max-width:768px){.modal-gallery .swiper-button-next,.modal-gallery .swiper-button-prev,.plan-carousel .plan-swiper .swiper-button-next,.plan-carousel .plan-swiper .swiper-button-prev,.projects-mobile-slider .swiper-button-next,.projects-mobile-slider .swiper-button-prev{display:none}.swiper-container.has-many-slides .swiper-pagination,.modal-gallery.has-many-slides .swiper-pagination,.plan-carousel .plan-swiper.has-many-slides .swiper-pagination,.projects-mobile-slider.has-many-slides .swiper-pagination{display:none!important}.swiper-container.has-many-slides .swiper-button-next,.swiper-container.has-many-slides .swiper-button-prev,.modal-gallery.has-many-slides .swiper-button-next,.modal-gallery.has-many-slides .swiper-button-prev,.plan-carousel .plan-swiper.has-many-slides .swiper-button-next,.plan-carousel .plan-swiper.has-many-slides .swiper-button-prev,.projects-mobile-slider.has-many-slides .swiper-button-next,.projects-mobile-slider.has-many-slides .swiper-button-prev{display:flex!important}.swiper-container.has-many-slides .swiper-button-next,.swiper-container.has-many-slides .swiper-button-prev,.modal-gallery.has-many-slides .swiper-button-next,.modal-gallery.has-many-slides .swiper-button-prev,.plan-carousel .plan-swiper.has-many-slides .swiper-button-next,.plan-carousel .plan-swiper.has-many-slides .swiper-button-prev,.projects-mobile-slider.has-many-slides .swiper-button-next,.projects-mobile-slider.has-many-slides .swiper-button-prev{width:40px;height:40px;background:rgb(255 255 255 / .95);border-radius:50%;color:var(--color-brand-ink);box-shadow:var(--shadow-md);transition:all 0.3s ease;z-index:10}.swiper-container.has-many-slides .swiper-button-next:after,.swiper-container.has-many-slides .swiper-button-prev:after,.modal-gallery.has-many-slides .swiper-button-next:after,.modal-gallery.has-many-slides .swiper-button-prev:after,.plan-carousel .plan-swiper.has-many-slides .swiper-button-next:after,.plan-carousel .plan-swiper.has-many-slides .swiper-button-prev:after,.projects-mobile-slider.has-many-slides .swiper-button-next:after,.projects-mobile-slider.has-many-slides .swiper-button-prev:after{font-size:16px;font-weight:700}.swiper-container.has-many-slides .swiper-button-next:hover,.swiper-container.has-many-slides .swiper-button-prev:hover,.modal-gallery.has-many-slides .swiper-button-next:hover,.modal-gallery.has-many-slides .swiper-button-prev:hover,.plan-carousel .plan-swiper.has-many-slides .swiper-button-next:hover,.plan-carousel .plan-swiper.has-many-slides .swiper-button-prev:hover,.projects-mobile-slider.has-many-slides .swiper-button-next:hover,.projects-mobile-slider.has-many-slides .swiper-button-prev:hover{background:#fff;transform:scale(1.05)}.modal-gallery.has-many-slides .swiper-button-next,.projects-mobile-slider.has-many-slides .swiper-button-next{right:10px}.modal-gallery.has-many-slides .swiper-button-prev,.projects-mobile-slider.has-many-slides .swiper-button-prev{left:10px}.plan-carousel .plan-swiper.has-many-slides .swiper-button-next{right:10px}.plan-carousel .plan-swiper.has-many-slides .swiper-button-prev{left:10px}.has-many-slides .swiper-pagination{display:none!important}.has-many-slides .swiper-button-next,.has-many-slides .swiper-button-prev{display:flex!important}}