@font-face{font-family:Exo2;src:url('/fonts/Exo2-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{--accent:#765579;--muted:#AFACAC;--text:#171717;--gray:#66676D;--black:#000;--white:#fff;--container:1720px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Exo2,Arial,Helvetica,sans-serif;color:var(--text);background:#fff;font-weight:500}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.elite-container{width:100%;max-width:1720px;margin:0 auto;padding-left:16px;padding-right:16px}.page-main{min-height:50vh}.desktop-only{display:none}
.site-header{position:sticky;top:0;z-index:1000;background:#fff}.header-inner{position:relative;padding-top:30px;padding-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:40px}.header-logo{display:block;max-width:180px;width:100%;flex:1 1 auto}.header-logo img{width:100%;height:auto}.desktop-nav{display:none;align-items:center;justify-content:space-between;gap:10px;max-width:580px;width:100%;font-weight:700}.desktop-nav a{font-size:20px;color:var(--muted);transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--accent)}.lang-switch{position:relative;display:flex;align-items:center;gap:6px;min-width:60px;font-size:16px;font-weight:400;flex-shrink:0}.lang-switch img{width:auto;height:auto}.lang-switch-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer}.lang-switch-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:72px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:1100;padding:4px 0}.lang-switch-dropdown[hidden]{display:none}.lang-switch-dropdown a{display:block;padding:8px 14px;text-align:center;color:var(--muted);font-size:16px}.lang-switch-dropdown a:hover,.lang-switch-dropdown a.is-active{color:var(--accent)}.lang-switch.is-open .lang-switch-toggle img:last-child{transform:rotate(180deg)}.mobile-burger{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;width:34px;height:30px;border:0;background:transparent;padding:0}.mobile-burger span{display:block;width:24px;height:4px;background:var(--accent);transition:.3s}.mobile-burger.open span:nth-child(1){transform:rotate(45deg) translate(6px,5px)}.mobile-burger.open span:nth-child(2){opacity:0}.mobile-burger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-5px)}.mobile-menu{position:fixed;z-index:999;top:95px;left:-100%;right:100%;bottom:0;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding-top:25vh;transition:all .6s ease;overflow:auto}.mobile-menu.open{left:0;right:0}.mobile-menu a{color:var(--muted);font-size:18px}.mobile-menu a.active,.mobile-menu a:hover{color:var(--accent)}
.home-hero{max-width:1920px;margin:0 auto;height:493px;background:#eee;position:relative;overflow:hidden}.home-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.5s ease-in-out}.home-slide.active{opacity:1}.home-categories{position:absolute;z-index:10;left:0;right:0;bottom:36px;padding:0 20px;overflow-x:auto}.home-categories-inner{max-width:820px;width:100%;display:flex;margin-left:auto}.home-category{position:relative;flex:1 0 auto;text-align:center;background:rgba(0,0,0,.9)}.home-category:not(:last-child)::after{content:"";position:absolute;right:0;top:33%;bottom:33%;border-right:.5px solid rgba(255,255,255,.4)}.home-category .category-progress{position:absolute;top:0;left:0;height:4px;width:0;background:var(--accent);transition:width .4s ease}.home-category button{border:0;background:transparent;color:rgba(255,255,255,.4);padding:26px 24px;cursor:pointer;transition:color .2s}.home-category.active button,.home-category:hover button{color:#fff}.home-category.done .category-progress{width:100%}.home-category.active .category-progress{width:var(--progress,0%)}
.text-runner{background:#fff;overflow:hidden}.text-runner-track{height:48px;display:flex;align-items:center;width:max-content;animation:runner 40s linear infinite}.text-runner span{font-size:14px;color:var(--accent);font-weight:700;display:flex;align-items:center;gap:30px;margin-right:54px;white-space:nowrap}.text-runner img{width:10px;height:10px}@keyframes runner{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.about-mobile-slider{display:block;padding-top:16px;padding-bottom:16px}.mobile-about-track{height:288px;overflow:hidden;position:relative}.mobile-about-track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%);opacity:0;transition:opacity .6s}.mobile-about-track img.active{opacity:1}.about-intro{display:none;height:calc(100vh - 135px);overflow:hidden;background:#fff}.about-stage{width:100%;height:100%;max-height:743px;position:relative;overflow:hidden;background:#fff}.about-photo-zone{position:absolute;z-index:20;top:55px;left:50%;transform:translateX(-50%);width:1040px;height:720px;margin-left:-80px}.about-photo{position:absolute;object-fit:cover;filter:grayscale(100%);cursor:pointer;transition:all .5s ease-in}.about-photo.is-main{left:0;top:0;width:676px;height:688px;z-index:3;animation:firstImageAnimate 2.5s linear}.about-photo.is-right{left:731px;top:360px;width:112px;height:140px;z-index:2;animation:smallImageAnimate 2.5s linear}.about-photo.is-left{left:-167px;top:360px;width:112px;height:140px;z-index:2;animation:smallImageAnimate 2.5s linear}.about-copy{position:absolute;z-index:22;top:79px;left:calc(50% + 350px);width:340px;display:flex;flex-direction:column;gap:23px;transition:.5s}.about-copy h1{font-size:24px;text-align:center;margin:0;font-weight:700}.about-copy h2{font-size:22px;font-weight:500;color:var(--accent);margin:0}.about-copy p{font-size:16px;line-height:20px;color:#66676D;margin:0}.about-ornaments{position:absolute;inset:0;overflow:hidden;z-index:1}.orn{position:absolute}.orn.circle{animation:circleExpand 2.5s forwards}.orn.line-left{animation:leftLineMove 2.5s forwards}.orn.line-right{animation:rightLineMove 2.5s forwards}.orn.line-top{animation:topLineMove 2.5s forwards}.orn.rectangle{z-index:11;animation:rectangleExpand 2.5s forwards}.letter-e{position:absolute;animation:firstLetterAnimate 2s linear forwards}.about-wordmark{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:64px;position:relative;z-index:10;color:#8e8e8e}.about-wordmark p:first-child{font-size:144px;letter-spacing:50px;margin:0}.about-wordmark p:last-child{font-size:42px;margin:0}.about-wordmark,.about-wordmark span{opacity:0;animation:disappear 2.5s linear}.about-content{padding-top:30px;padding-bottom:30px}.about-text{font-size:14px;line-height:1.55;text-align:justify;padding:22px 16px 54px}.about-text p{margin:0}.about-text ul{margin:24px 0 0;padding-left:20px}.about-text li{margin:8px 0}.about-image-grid{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:60px}.about-mid{display:grid;gap:20px}.about-image-grid img{width:100%;height:288px;object-fit:cover;filter:grayscale(100%);transition:filter .6s}.about-image-grid img:hover{filter:grayscale(0)}.about-projects-link{display:flex;justify-content:flex-end;margin-bottom:104px;padding-right:10px}.corner-button{display:inline-block;border-right:1px solid #222;border-bottom:1px solid #222;position:relative;padding:8px 36px 10px;color:var(--accent);font-weight:700;background:transparent}.corner-button span{position:absolute;bottom:-4px;left:-8px;border-right:1px solid #222;height:20px;transform:rotate(-45deg)}
.projects-list-section{padding-top:30px;padding-bottom:30px}.projects-list{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:40px}.project-list-card{display:block}.project-list-image{display:block;width:100%;box-shadow:0 10px 18px rgba(0,0,0,.18);overflow:hidden}.project-list-image img{width:100%;height:auto;object-fit:cover;transition:filter .45s,transform .45s}.project-list-card:hover .project-list-image img{filter:grayscale(100%);transform:scale(1.015)}.project-list-info{flex:1}.project-list-copy{padding:20px}.project-list-copy h2{font-size:24px;color:var(--accent);font-weight:500;margin:0 0 20px}.project-list-copy p{font-size:14px;line-height:1.55;color:#666;margin:0 0 20px}.project-meta{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}.project-meta b{font-size:30px;line-height:1;padding-bottom:4px}.project-list-action{display:flex;margin-top:12px}.project-list-card.reverse .project-list-action{justify-content:flex-end}.project-list-card.reverse .project-meta{justify-content:flex-end}.project-list-action a{display:flex;justify-content:flex-end;text-align:right;width:365px;max-width:100%;padding:10px 16px;font-size:18px;color:var(--accent);background:url('/icons/projects-right-card-SMbutton-bg.svg') right center/cover no-repeat}.project-list-card.reverse .project-list-action a{justify-content:flex-start;text-align:left;background-image:url('/icons/projects-left-card-SMbutton-bg.svg')}
.project-hero-image{width:100%;max-width:1920px;margin:0 auto;overflow:hidden}.project-hero-image img{width:100%;height:auto;filter:grayscale(100%);object-fit:cover;object-position:center}.project-detail{padding-top:30px;padding-bottom:60px}.project-title-wrap{padding:0 14px}.project-title-wrap h1{font-size:22px;color:var(--accent);font-weight:500;text-align:right;margin:0 0 26px auto;padding:10px 14px;border-right:1px solid #AFACAC;border-bottom:1px solid #AFACAC;max-width:1240px}.tabs-list{display:flex;align-items:center;gap:0;overflow-x:auto;max-width:1240px;margin-left:auto;margin-bottom:32px}.tabs-list button{border:0;background:#f7f7f7;color:#666;padding:13px 18px;font-size:17px;white-space:nowrap;cursor:pointer;border-bottom:1px solid #ddd}.tabs-list button.active{background:#fff;color:var(--accent);border-bottom:2px solid var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}.project-body{font-size:14px;line-height:1.65;text-align:justify}.about-project-images{display:flex;gap:30px;margin-top:50px;overflow-x:auto}.about-project-images img{height:341px;width:auto;flex:0 0 auto;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:1fr;gap:20px}.gallery-item,.plans-grid button{border:0;background:transparent;padding:0;cursor:pointer;overflow:hidden}.gallery-item img,.plans-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s,filter .3s}.gallery-item:hover img,.plans-grid button:hover img{transform:scale(1.025);filter:grayscale(100%)}.plans-grid{display:grid;grid-template-columns:1fr;gap:20px}.spec-grid{display:grid;grid-template-columns:1fr;gap:12px}.spec-grid div{border-bottom:1px solid #ddd;padding:16px 0;display:flex;justify-content:space-between;gap:20px}.spec-grid span{color:#666}.spec-grid b{color:var(--accent);font-weight:500}.map-placeholder{height:365px;background:#f4f4f4;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;color:#777}.empty-note{color:#777}.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:5000;display:flex;align-items:center;justify-content:center;padding:40px}.image-modal[hidden]{display:none}.image-modal img{max-width:96vw;max-height:90vh;object-fit:contain}.image-modal button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:48px;cursor:pointer}.contact-page{padding-top:20px;padding-bottom:71px;display:flex;flex-direction:column;gap:20px;width:100%}.contact-info-row{display:flex;flex-direction:column;gap:20px;padding:0 16px;font-size:14px;line-height:1.5}.contact-info-addresses{display:flex;flex-direction:column;gap:10px}.contact-info-row p{margin:0}.contact-info-row a:hover{color:var(--accent)}.contact-map{width:100%;padding:0;overflow:visible}.contact-map iframe,.contact-map-iframe{display:block;width:100%;height:365px;max-height:365px;min-height:300px;border:0}.contact-map-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:365px;min-height:300px;max-height:365px;background:#f4f4f4;border:1px solid #ddd;color:#777;font-size:14px;line-height:1.5;text-align:center;padding:16px;box-sizing:border-box}.contact-bottom{display:flex;flex-direction:column;gap:20px;padding:0 16px;width:100%}.contact-bottom>p,.contact-lead{max-width:537px;width:100%;font-size:14px;line-height:1.5;margin:0;flex-shrink:0}.contact-form{display:grid;grid-template-columns:1fr;gap:27px;width:100%;flex:1 1 auto}.contact-form-field{display:grid;gap:10px}.contact-form-field label{color:#404040;font-size:16px;font-weight:400}.contact-form input[type=text],.contact-form input[type=tel]{border:1px solid #404040;padding:12px;outline:none;width:100%}.contact-form-actions{display:flex;justify-content:flex-end;width:100%;padding-left:8px}.contact-form .corner-button{cursor:pointer;font:inherit}.privacy-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#404040}.privacy-check input{width:16px;height:16px;flex-shrink:0;margin:0}.privacy-check label{font-weight:400;color:#404040}.privacy-check a{color:#404040;text-decoration:underline}.privacy-check a:hover{color:var(--accent)}.not-found{padding:80px 16px;text-align:center}.not-found h1{font-size:96px;color:var(--accent);margin:0 0 20px}
.site-footer{background:#000;color:#fff}.footer-inner{position:relative;padding-top:30px;padding-bottom:21px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:20px;text-align:center}.footer-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:420px;width:100%}.footer-first{width:44px}.footer-second{height:48px;width:190px;object-fit:contain}.footer-address{font-size:14px;line-height:1.35}.footer-address p{margin:0 0 10px}.footer-phone{flex-shrink:0}.footer-socials{display:flex;gap:20px;align-items:center}.footer-socials a{transition:transform .2s}.footer-socials a:hover{transform:scale(.9)}.footer-copy{text-align:center;color:#fff;font-size:12px;margin:0;padding:0 0 30px}
@keyframes disappear{0%{opacity:1}100%{opacity:0}}@keyframes firstImageAnimate{0%{width:0;height:0;top:100%;left:40%;transform:rotate(180deg);opacity:0}100%{width:676px;height:688px;top:0;left:0;transform:rotate(0);opacity:1}}@keyframes smallImageAnimate{0%{width:0;height:0;opacity:0}100%{width:112px;height:140px;opacity:1}}@keyframes circleExpand{0%{top:20%;left:25%;width:53px}100%{top:100%;left:20%;width:900px}}@keyframes rectangleExpand{0%{top:54%;left:69%;width:50px}100%{top:-430px;left:-430px;width:500px}}@keyframes topLineMove{0%{top:-5%;left:50%;transform:translate(-45%,0)}100%{top:100%;left:50%;transform:translate(-45%,0)}}@keyframes leftLineMove{0%{top:19%;left:31%;height:auto}100%{top:130%;left:3%;height:100%;filter:grayscale(80%)}}@keyframes rightLineMove{0%{top:56%;left:62%;height:auto}100%{top:-50%;left:80%;height:100%}}@keyframes firstLetterAnimate{0%{top:41vh;left:30vw;transform:scale(9.2);opacity:1}4%{top:41vh;left:30vw;transform:rotateY(0) rotate(18deg) scale(3,9.2);opacity:1}25%{top:45vh;left:40vw;transform:rotateY(45deg) rotate(36deg) scale(2,15);opacity:1}50%{top:60vh;left:60vw;transform:rotateY(90deg) rotate(54deg) scale(2,19);opacity:1}75%{top:60vh;left:70vw;transform:rotateY(135deg) rotate(72deg) scale(2,10);color:#8e8e8e;opacity:1}100%{top:111vh;left:104vw;transform:rotateY(180deg) rotate(90deg) scale(80,40);color:#000;opacity:1}}
@media (min-width:640px){.elite-container{width:640px;padding-left:16px;padding-right:16px}.header-inner{padding-top:21px;padding-bottom:21px}.header-logo{max-width:270px}.home-hero{height:547px}.footer-second{width:auto}.contact-map{padding:0 16px}}
@media (min-width:1024px){.elite-container{width:877px;padding-left:0;padding-right:0}.site-header{position:relative}.desktop-nav{display:flex}.desktop-only{display:flex}.mobile-burger,.mobile-menu{display:none}.home-hero{height:770px}.home-category button{padding-top:40px;padding-bottom:40px}.about-mobile-slider{display:none}.about-intro{display:block}.about-text{font-size:17px;line-height:1.65;padding:27px 0 40px}.about-image-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;align-items:stretch}.about-mid{display:flex;flex-direction:column;justify-content:space-between;gap:38px}.about-image-grid img{height:auto}.about-side{height:100%!important;object-fit:cover}.project-list-card{display:flex;align-items:center;gap:20px}.project-list-card.reverse{flex-direction:row-reverse}.project-list-image{width:410px;height:252px;flex-shrink:0}.project-list-image img{height:100%}.project-list-card.reverse .project-list-copy{margin-left:-20px}.project-list-card.reverse .project-list-info{align-items:flex-end}.gallery-grid{grid-template-columns:repeat(3,1fr)}.plans-grid{grid-template-columns:repeat(2,1fr)}.spec-grid{grid-template-columns:repeat(2,1fr)}.project-body{font-size:17px;line-height:1.65}.project-title-wrap h1{font-size:36px}.contact-page{padding-top:79px;padding-bottom:88px;gap:60px}.contact-info-row{flex-direction:row;justify-content:space-between;align-items:flex-start;font-size:17px;line-height:1.65}.contact-bottom{flex-direction:row;align-items:flex-start;gap:20px}.contact-bottom>p,.contact-lead{font-size:17px;line-height:1.65}.contact-form-actions{justify-content:flex-start}.footer-inner{flex-direction:row;text-align:center}.footer-brand{flex-grow:1}.footer-address{flex-grow:1}.footer-phone{flex-grow:1}.footer-copy{font-size:14px}}
@media (min-width:1280px){.elite-container{width:1240px}.project-list-image{width:600px;height:369px}.project-list-copy p{font-size:16px}.project-list-action a{background-image:url('/icons/projects-right-card-LGbutton-bg.svg')}.project-list-card.reverse .project-list-action a{background-image:url('/icons/projects-left-card-LGbutton-bg.svg')}.about-image-grid{gap:32px}.about-text{font-size:18px;padding-top:33px;padding-bottom:50px}.contact-page{padding-top:133px;padding-bottom:133px;gap:80px}.contact-bottom{gap:130px}.contact-info-row,.contact-bottom>p{font-size:18px}}
@media (min-width:1366px) and (max-width:1600px){.about-photo-zone{width:760px;margin-left:-120px}.about-photo.is-main{width:476px;height:545px}.about-photo.is-right{left:531px;top:260px;width:62px;height:90px}.about-photo.is-left{left:-117px;top:260px;width:62px;height:90px}.about-copy{left:calc(50% + 255px);width:280px}.about-copy h1{font-size:18px}.about-copy h2{font-size:14px}.about-copy p{font-size:12px;line-height:16px}}
@media (min-width:1920px){.elite-container{width:1720px}.home-hero{height:1026px}.projects-list{gap:80px}.project-list-image{width:860px;height:530px}.contact-page{padding-top:71px;padding-bottom:71px;gap:20px}.contact-info-row{display:block;gap:10px}.footer-inner{padding-top:30px}}

/* v2: closer port of src/app/[locale]/(home)/projects/[id]/page.tsx + ProjectInfo.tsx */
.project-page-original{background:#fff;color:#222}.project-original-hero{height:auto;width:100%;max-width:1920px;margin:0 auto;overflow:hidden}.project-original-hero img{display:block;width:100%;height:auto;filter:grayscale(100%);object-fit:cover;object-position:center}.project-original-container{width:100%;margin:0 auto;padding:30px 16px 60px}.project-original-title-wrap h1{font-size:22px;line-height:1.25;color:#765579;max-width:1240px;margin:0 0 10px auto;font-weight:500;text-align:right;padding:10px 14px;border-right:1px solid #AFACAC;border-bottom:1px solid #AFACAC}.project-original-info{width:100%;margin:0 auto}.project-original-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;width:100%;max-width:1240px;margin:10px 0 0 auto;color:#AFACAC;font-size:17px;font-weight:400}.project-original-tabs button{border:0;background:transparent;color:#AFACAC;font-size:17px;line-height:1.2;font-family:inherit;font-weight:400;padding:0;white-space:nowrap;cursor:pointer;transition:color .2s}.project-original-tabs button:hover,.project-original-tabs button.active{color:#765579}.project-original-tab{display:none;padding:52px 0}.project-original-tab.active{display:block}.project-original-text{font-size:14px;line-height:1.65;text-align:justify;color:#222}.project-original-text p{margin:0 0 18px}.project-original-about-images{display:flex;margin-top:50px;overflow-x:auto;position:relative;gap:30px;padding-bottom:10px}.project-original-about-images img{width:50%;height:auto;max-height:341px;object-fit:cover;flex:0 0 auto}.white-swan-about-images img:first-child{width:222px;height:341px;margin-right:30px}.white-swan-about-images img:nth-child(2){width:233px;height:341px}.white-swan-about-images img:nth-child(3){width:97px;height:341px}.project-gallery-mobile-scroll{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px}.project-gallery-mobile-item{width:260px;height:145px;flex:0 0 auto;border:0;background:transparent;padding:0;cursor:pointer}.project-gallery-mobile-item img{width:100%;height:100%;object-fit:cover}.project-gallery-original-grid{display:none}.project-gallery-original-item,.project-original-plan button{border:0;background:transparent;padding:0;cursor:pointer;overflow:hidden}.project-gallery-original-item img,.project-original-plan img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.project-gallery-original-item:hover img,.project-original-plan button:hover img{transform:scale(1.02);filter:grayscale(100%)}.project-original-specs{padding-top:30px;font-size:14px;line-height:1.65}.project-original-spec-row{display:grid;grid-template-columns:1fr;gap:6px;padding:14px 0;border-bottom:1px solid #d7d7d7}.project-original-spec-row span{color:#666}.project-original-spec-row strong{font-weight:500;color:#765579}.project-original-plans{display:grid;grid-template-columns:1fr;gap:20px;padding:20px 0}.project-original-plan{margin-left:-16px;margin-right:-16px}.project-video-title{padding:20px;text-align:center;font-size:24px;line-height:1.2;color:#765579;font-weight:500;margin:0}.project-video-frame iframe{width:100%;height:217px}.project-location-original p{font-size:20px;font-weight:400;color:#222;text-align:right;margin:0 0 10px}.project-map-original{width:100%;height:50vh;margin:10px auto;background:#f3f3f3;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;color:#777}.project-request-original{display:grid;grid-template-columns:1fr;gap:20px;padding:30px 0}.project-request-original>p{color:#765579;font-weight:700;font-size:12px;margin:0}.empty-note{font-size:16px;color:#777;margin:0}.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:5000;display:flex;align-items:center;justify-content:center;padding:40px}.image-modal[hidden]{display:none}.image-modal img{max-width:96vw;max-height:90vh;object-fit:contain}.image-modal button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:48px;cursor:pointer}
@media (min-width:640px){.project-original-container{width:640px;padding-left:0;padding-right:0}.project-original-title-wrap h1{font-size:36px}.project-gallery-mobile-item{width:400px;height:225px}}
@media (min-width:1024px){.project-original-container{width:877px;padding-top:21px}.project-original-text,.project-original-specs{font-size:17px;line-height:1.7}.project-gallery-mobile-scroll{display:none}.project-gallery-original-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-gallery-original-item{min-height:190px}.project-gallery-original-item.item-4,.project-gallery-original-item.item-6,.project-gallery-original-item.item-11,.project-gallery-original-item.item-13{height:100%}.project-gallery-original-item.item-5,.project-gallery-original-item.item-7,.project-gallery-original-item.item-12,.project-gallery-original-item.item-14{min-height:135px}.project-original-spec-row{grid-template-columns:220px 1fr;gap:30px;font-size:17px}.project-original-plans{gap:20px}.project-original-plan{margin-left:0;margin-right:0}.project-video-title{font-size:36px}.project-video-frame iframe{height:500px}.project-request-original{grid-template-columns:1fr 1fr;padding:80px 0}.project-request-original>p{font-size:14px}.white-swan-about-images img:first-child{margin-left:80px;margin-right:130px}}
@media (min-width:1280px){.project-original-container{width:1240px}.project-original-text,.project-original-specs{font-size:18px}.project-gallery-original-item{min-height:260px}}
@media (min-width:1920px){.project-original-container{width:1720px}.project-gallery-original-item{min-height:360px}}

/* === Project detail page exact-port patch from original Next frontend === */
.project-page-v3{background:#fff;color:#222;font-family:Exo2,Arial,Helvetica,sans-serif;}
.project-page-v3 .project-original-hero{width:100%;max-width:1920px;margin:0 auto;overflow:hidden;background:#eee;}
.project-page-v3 .project-original-hero img{display:block;width:100%;height:auto;min-height:260px;max-height:1026px;object-fit:cover;object-position:center;filter:grayscale(100%);}
.project-page-v3 .project-original-container{width:100%;margin:0 auto;padding:30px 16px 60px;position:relative;}
.project-page-v3 .project-original-title-wrap{padding:0;}
.project-page-v3 .project-original-title-wrap h1{font-size:22px;line-height:1.25;color:#765579;max-width:1240px;margin:0 0 10px auto;font-weight:500;text-align:right;padding:10px 14px;border-right:1px solid #AFACAC;border-bottom:1px solid #AFACAC;letter-spacing:0;}
.project-page-v3 .project-original-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:10px 37px;width:100%;max-width:1240px;margin:10px 0 0 auto;padding:0;color:#AFACAC;font-size:17px;font-weight:400;}
.project-page-v3 .project-original-tabs button{appearance:none;border:0;background:transparent;color:#AFACAC;font-family:inherit;font-size:17px;font-weight:400;line-height:1.2;padding:0;border-radius:2px;white-space:nowrap;cursor:pointer;transition:color .18s ease;}
.project-page-v3 .project-original-tabs button:hover,.project-page-v3 .project-original-tabs button.active{color:#765579;}
.project-page-v3 .project-original-tab{display:none;padding:52px 0;}
.project-page-v3 .project-original-tab.active{display:block;}
.project-page-v3 .project-original-text{font-size:14px;line-height:1.65;text-align:justify;color:#222;}
.project-page-v3 .project-original-text p{margin:0 0 18px;}
.project-page-v3 .project-original-about-images{display:flex;align-items:flex-start;margin-top:50px;overflow-x:auto;position:relative;gap:30px;padding:0 0 10px;scrollbar-width:none;}
.project-page-v3 .project-original-about-images::-webkit-scrollbar,.project-page-v3 .none-scrollbar::-webkit-scrollbar{width:0;height:0;}
.project-page-v3 .project-original-about-images img{display:block;width:50%;height:auto;max-height:341px;object-fit:cover;flex:0 0 auto;}
.project-page-v3 .white-swan-about-images{gap:30px;}
.project-page-v3 .white-swan-about-images img:first-child{width:222px;height:341px;max-width:none;object-fit:cover;margin-right:30px;}
.project-page-v3 .white-swan-about-images img:nth-child(2){width:233px;height:341px;max-width:none;object-fit:cover;}
.project-page-v3 .white-swan-about-images img:nth-child(3){width:97px;height:341px;max-width:none;object-fit:cover;}
.project-page-v3 .project-gallery-mobile-scroll{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none;}
.project-page-v3 .project-gallery-mobile-scroll::-webkit-scrollbar{display:none;}
.project-page-v3 .project-gallery-mobile-item{display:block;width:260px;height:145px;flex:0 0 auto;border:0;background:transparent;padding:0;cursor:pointer;overflow:hidden;}
.project-page-v3 .project-gallery-mobile-item img{display:block;width:100%;height:100%;object-fit:cover;}
.project-page-v3 .project-gallery-original-grid{display:none;}
.project-page-v3 .project-gallery-original-item,.project-page-v3 .project-original-plan button{appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;overflow:hidden;line-height:0;}
.project-page-v3 .project-gallery-original-item img,.project-page-v3 .project-original-plan img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;}
.project-page-v3 .project-gallery-original-item:hover img{transform:scale(1.025);filter:grayscale(100%);}
.project-page-v3 .project-gallery-stack{display:flex;flex-direction:column;gap:20px;height:100%;min-height:0;}
.project-page-v3 .project-gallery-stack .project-gallery-original-item{height:calc(50% - 10px);min-height:0;}
.project-page-v3 .project-original-specs{padding-top:30px;font-size:14px;line-height:1.65;color:#222;}
.project-page-v3 .project-original-spec-row{display:grid;grid-template-columns:1fr;gap:6px;padding:14px 0;border-bottom:1px solid #d7d7d7;}
.project-page-v3 .project-original-spec-row span{color:#666;}
.project-page-v3 .project-original-spec-row strong{font-weight:500;color:#765579;}
.project-page-v3 .project-original-plans{display:grid;grid-template-columns:1fr;gap:20px;padding:20px 0;}
.project-page-v3 .project-original-plan{margin-left:-16px;margin-right:-16px;}
.project-page-v3 .project-plan-controls{display:flex;gap:18px;align-items:center;padding:0 20px 14px;}
.project-page-v3 .project-plan-controls button{width:28px;height:28px;border:0;background:transparent;color:#222;font-size:26px;line-height:1;cursor:pointer;font-family:Arial,Helvetica,sans-serif;}
.project-page-v3 .project-plan-viewport{overflow:hidden;width:100%;touch-action:none;cursor:grab;}
.project-page-v3 .project-plan-viewport.is-dragging{cursor:grabbing;}
.project-page-v3 .project-plan-viewport img{display:block;width:100%;height:auto;transform-origin:0 0;transition:transform .12s ease;user-select:none;-webkit-user-drag:none;}
.project-page-v3 .project-video-title{padding:20px;text-align:center;font-size:24px;line-height:1.2;color:#765579;font-weight:500;margin:0;}
.project-page-v3 .project-video-frame iframe{display:block;width:100%;height:217px;border:0;}
.project-page-v3 .project-location-original p{font-size:20px;font-weight:400;color:#222;text-align:right;margin:0 0 10px;}
.project-page-v3 .project-map-original{display:block;width:100%;height:50vh;min-height:300px;margin:10px auto;border:0;background:#f3f3f3;}
.project-page-v3 div.project-map-original{border:1px solid #ddd;display:flex;align-items:center;justify-content:center;color:#777;}
.project-page-v3 .project-request-original{display:grid;grid-template-columns:1fr;gap:20px;padding:30px 0;}
.project-page-v3 .project-request-original>p{color:#765579;font-weight:700;font-size:12px;margin:0;}
.project-page-v3 .empty-note{font-size:16px;color:#777;margin:0;}
.image-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);}
.image-modal[hidden]{display:none!important;}
.image-modal__box{position:relative;display:grid;width:92vw;max-width:1360px;height:auto;max-height:86vh;padding:20px;background:#fff;box-shadow:0 20px 80px rgba(0,0,0,.35);}
.image-modal img{display:block;width:100%;height:100%;max-height:78vh;object-fit:contain;margin:auto;}
.image-modal button{position:absolute;right:16px;top:10px;z-index:2;border:0;background:transparent;color:#111;font-size:42px;line-height:1;cursor:pointer;font-family:Arial,Helvetica,sans-serif;}
@media (min-width:640px){.project-page-v3 .project-original-container{width:640px;padding-left:0;padding-right:0;padding-top:21px}.project-page-v3 .project-original-title-wrap h1{font-size:36px}.project-page-v3 .project-gallery-mobile-item{width:400px;height:225px}}
@media (min-width:1024px){.project-page-v3 .project-original-container{width:877px}.project-page-v3 .project-original-tabs{margin-top:0}.project-page-v3 .project-original-text,.project-page-v3 .project-original-specs{font-size:17px;line-height:1.7}.project-page-v3 .project-gallery-mobile-scroll{display:none}.project-page-v3 .project-gallery-original-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.project-page-v3 .project-gallery-original-item{display:block;width:100%;height:190px;min-height:190px}.project-page-v3 .project-gallery-original-item.gallery-tall{height:100%;min-height:400px}.project-page-v3 .project-gallery-stack{height:400px}.project-page-v3 .project-gallery-stack .project-gallery-original-item{height:190px;min-height:190px}.project-page-v3 .project-original-spec-row{grid-template-columns:220px 1fr;gap:30px;font-size:17px}.project-page-v3 .project-original-plan{margin-left:0;margin-right:0}.project-page-v3 .project-plan-controls{display:none}.project-page-v3 .project-plan-viewport{cursor:default;touch-action:auto}.project-page-v3 .project-video-title{font-size:36px}.project-page-v3 .project-video-frame iframe{height:500px}.project-page-v3 .project-request-original{grid-template-columns:1fr 1fr;padding:80px 0}.project-page-v3 .project-request-original>p{font-size:14px}.project-page-v3 .white-swan-about-images img:first-child{margin-left:80px;margin-right:130px}}
@media (min-width:1280px){.project-page-v3 .project-original-container{width:1240px}.project-page-v3 .project-original-text,.project-page-v3 .project-original-specs{font-size:18px}.project-page-v3 .project-gallery-original-item{height:260px;min-height:260px}.project-page-v3 .project-gallery-original-item.gallery-tall{min-height:540px}.project-page-v3 .project-gallery-stack{height:540px}.project-page-v3 .project-gallery-stack .project-gallery-original-item{height:260px;min-height:260px}}
@media (min-width:1920px){.project-page-v3 .project-original-container{width:1720px}.project-page-v3 .project-gallery-original-item{height:360px;min-height:360px}.project-page-v3 .project-gallery-original-item.gallery-tall{min-height:740px}.project-page-v3 .project-gallery-stack{height:740px}.project-page-v3 .project-gallery-stack .project-gallery-original-item{height:360px;min-height:360px}}


/* Small header/contact refinements */
.desktop-nav{font-weight:400}
.desktop-nav a{font-weight:400}
.header-actions{align-items:center;justify-content:flex-end;gap:18px;flex-shrink:0}
.header-contacts{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:13px;line-height:1.15;color:var(--muted);white-space:nowrap}
.header-contact-link{transition:color .2s}
.header-contact-link:hover{color:var(--accent)}
.header-contact-whatsapp{color:var(--accent)}
.header-socials{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-socials a{display:flex;align-items:center;justify-content:center;width:22px;height:22px;opacity:.72;transition:opacity .2s,transform .2s}
.header-socials a:hover{opacity:1;transform:translateY(-1px)}
.header-socials img{max-width:22px;max-height:22px;width:auto;height:auto}
.footer-second-link{display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}
.footer-second-link:hover{opacity:.82;transform:translateY(-1px)}
.mobile-menu-extra{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:18px}
.mobile-menu-contacts{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:18px;color:var(--muted)}
.mobile-menu-contacts a:hover{color:var(--accent)}
.mobile-menu-socials{display:flex;align-items:center;gap:18px}
.mobile-menu-socials a{display:flex;align-items:center;justify-content:center;width:28px;height:28px;opacity:.78}
.mobile-menu-socials a:hover{opacity:1}
.mobile-menu-socials img{max-width:28px;max-height:28px}
@media (min-width:1024px){.header-inner{gap:24px}.desktop-nav{max-width:520px}.header-logo{max-width:170px;flex:0 0 170px}}
@media (min-width:1280px){.header-inner{gap:34px}.desktop-nav{max-width:560px}.header-logo{max-width:180px;flex-basis:180px}.header-contacts{font-size:14px}}
@media (max-width:1279px) and (min-width:1024px){.header-contacts{display:none}.header-socials{gap:10px}}

/* Mobile home slider fix v2: Android keeps the hero area filled and the category tabs above the image. */
.home-slider-visual{position:absolute;inset:0;overflow:hidden;background:#eee}
.home-slide{display:block}.home-slide.active{z-index:2}.home-slide:not(.active){z-index:1}
@media (max-width:767px){
  .home-hero{
    position:relative!important;
    height:clamp(400px,62svh,493px)!important;
    min-height:400px!important;
    max-height:493px!important;
    overflow:hidden!important;
    background:#eee!important;
  }
  .home-slider-visual{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    background:#eee!important;
    overflow:hidden!important;
    z-index:1!important;
  }
  .home-slider-visual .home-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#eee!important;
  }
  .home-categories{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:36px!important;
    z-index:30!important;
    padding:0 20px!important;
    background:transparent!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .home-categories::-webkit-scrollbar{display:none}
  .home-categories-inner{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    display:flex!important;
    position:relative!important;
    z-index:31!important;
  }
  .home-category{
    flex:1 0 auto;
    min-width:132px;
    background:rgba(0,0,0,.92)!important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .home-category button{
    padding:18px 22px!important;
    font-size:14px;
    line-height:1.15;
    white-space:nowrap;
  }
  .home-category .category-progress{height:3px}
  .text-runner{position:relative;z-index:2;background:#fff!important}
}
@media (max-width:380px){
  .home-hero{height:430px!important;min-height:430px!important}
  .home-categories{bottom:28px!important;padding:0 12px!important}
  .home-category{min-width:124px}
  .home-category button{padding:16px 18px!important;font-size:13px}
}
@media (min-width:768px){
  .home-hero{position:relative;overflow:hidden;background:#eee}
}

/* Visual corrections 2026-05: header/footer palette, slider tabs, about gallery, project hovers. */
.site-header{background:rgba(255,255,255,.64)!important;backdrop-filter:saturate(120%) blur(8px);-webkit-backdrop-filter:saturate(120%) blur(8px)}
.desktop-nav,.desktop-nav a{font-weight:400!important}.desktop-nav a{color:#404040!important;opacity:1}.desktop-nav a:hover,.desktop-nav a.active{color:#765579!important;opacity:1}.mobile-menu{background:rgba(255,255,255,.96)}.mobile-menu a{color:#404040}.mobile-menu a:hover,.mobile-menu a.active{color:#765579}
.home-category{background:rgba(255,255,255,.64)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.home-category:not(:last-child)::after{border-right-color:#8B0369!important;opacity:1}.home-category .category-progress{background:#8B0369!important}.home-category button{color:rgba(34,34,34,.6)!important}.home-category.active button,.home-category:hover button{color:#000!important}.home-categories{z-index:40!important}.home-categories-inner{position:relative;z-index:41}
.site-footer{background:#AFACAC!important;color:#000!important}.site-footer a,.site-footer p,.footer-address,.footer-phone,.footer-email,.footer-copy{color:#000!important}.footer-contact-links{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.footer-email{font-size:14px;line-height:1.2}.footer-socials img{filter:none}.footer-second-link:hover{opacity:.9}
.header-contact-email{color:#404040}.header-contact-email:hover{color:#765579}
.contact-map-iframe{display:block;width:100%;height:365px;max-height:365px;border:0}.contact-map-placeholder{min-height:320px;display:flex;align-items:center;justify-content:center;background:#f3f3f3;color:#666}
.project-list-image img{filter:grayscale(100%)!important}.project-list-card:hover .project-list-image img,.project-list-image:hover img{filter:grayscale(0)!important;transform:scale(1.015)}.project-list-action a{filter:grayscale(100%);color:#404040;transition:filter .35s ease,color .35s ease}.project-list-card:hover .project-list-action a,.project-list-action a:hover{filter:grayscale(0);color:#765579}
.about-top-gallery-section{padding-top:30px;padding-bottom:30px}.about-top-gallery{display:grid;grid-template-columns:1fr;gap:20px}.about-top-gallery-item{position:relative;margin:0;min-height:240px;overflow:hidden;background:#f3f3f3}.about-top-gallery-item img{width:100%;height:100%;min-height:240px;object-fit:cover;filter:grayscale(100%);transition:filter .45s ease,transform .45s ease}.about-top-gallery-item:hover img{filter:grayscale(0);transform:scale(1.015)}.about-top-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62));color:#fff;display:flex;flex-direction:column;gap:4px}.about-top-gallery-item figcaption strong{font-size:16px}.about-top-gallery-item figcaption span{font-size:13px;line-height:1.35}.about-mobile-slider,.about-intro{display:none!important}.about-content{padding-top:20px}
.project-brochure-original{display:grid;grid-template-columns:1fr;gap:24px;padding:30px 0}.project-brochure-original>p{color:#765579;font-weight:700;font-size:14px;margin:0}.project-brochure-link{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-width:220px;padding:12px 24px;border-right:1px solid #222;border-bottom:1px solid #222;color:#765579;font-weight:700;position:relative}.project-brochure-link::before{content:"";position:absolute;bottom:-4px;left:-8px;border-right:1px solid #222;height:20px;transform:rotate(-45deg)}.project-brochure-link:hover{color:#000}
@media (min-width:768px){.about-top-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}.about-top-gallery-item{min-height:220px}.about-top-gallery-item img{min-height:220px}.about-top-gallery-item-2{grid-row:span 2}.about-top-gallery-item-3,.about-top-gallery-item-6{grid-row:span 2}.about-top-gallery-item-7{grid-column:span 2}.about-top-gallery-item-2 img,.about-top-gallery-item-3 img,.about-top-gallery-item-6 img{min-height:460px}}
@media (min-width:1024px){.about-top-gallery-section{padding-top:0;padding-bottom:48px}.about-top-gallery{gap:20px}.about-top-gallery-item{min-height:250px}.about-top-gallery-item img{min-height:250px}.about-top-gallery-item-2 img,.about-top-gallery-item-3 img,.about-top-gallery-item-6 img{min-height:520px}.project-brochure-original{grid-template-columns:1fr 1fr;padding:80px 0}.project-brochure-original>p{font-size:17px}.footer-contact-links{flex-grow:1}.footer-email{font-size:14px}}
@media (min-width:1280px){.about-top-gallery{grid-template-columns:1.05fr 1.1fr 1.05fr}.about-top-gallery-item{min-height:300px}.about-top-gallery-item img{min-height:300px}.about-top-gallery-item-2 img,.about-top-gallery-item-3 img,.about-top-gallery-item-6 img{min-height:620px}}
@media (max-width:767px){.home-category{background:rgba(255,255,255,.72)!important}.home-category button{color:rgba(34,34,34,.6)!important}.home-category.active button,.home-category:hover button{color:#000!important}.site-footer{background:#AFACAC!important;color:#000!important}.footer-contact-links{gap:6px}.about-top-gallery-section{padding-top:18px}.about-top-gallery{display:flex;overflow-x:auto;gap:16px;padding-bottom:8px;scroll-snap-type:x mandatory}.about-top-gallery-item{flex:0 0 78%;scroll-snap-align:start}.about-top-gallery-item img{min-height:300px}.about-top-gallery::-webkit-scrollbar{display:none}}

/* About page editable square sliders fix */
.about-content-v2{display:block}.about-content-v2 .about-square-section{width:100%;padding-left:0;padding-right:0}.about-content-v2 .about-lead{color:#765579;font-size:18px;line-height:1.6;margin:0 0 24px}.about-square-section{padding-top:34px;padding-bottom:34px}.about-square-section--top{padding-top:38px;padding-bottom:18px}.about-square-section--bottom{padding-top:42px;padding-bottom:16px}.about-square-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 12px}.about-square-slider::-webkit-scrollbar{display:none}.about-square-slide{position:relative;flex:0 0 min(72vw,280px);aspect-ratio:1/1;border:0;background:#f3f0ed;padding:0;margin:0;overflow:hidden;cursor:pointer;scroll-snap-align:start;box-shadow:0 14px 34px rgba(36,30,20,.09);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}.about-square-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%);transform:scale(1.001);transition:filter .38s ease,transform .38s ease}.about-square-slide:hover,.about-square-slide:focus-visible{transform:translateY(-3px);box-shadow:0 22px 46px rgba(36,30,20,.14);outline:none}.about-square-slide:hover img,.about-square-slide:focus-visible img{filter:grayscale(0);transform:scale(1.045)}.about-square-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:3px;padding:28px 15px 14px;color:#fff;text-align:left;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.68));pointer-events:none}.about-square-caption strong{font-size:14px;line-height:1.25;font-weight:500}.about-square-caption small{font-size:12px;line-height:1.25}.about-image-grid,.about-top-gallery-section,.about-mobile-slider,.about-intro{display:none!important}@media (min-width:768px){.about-square-section{padding-top:44px;padding-bottom:44px}.about-square-slider{gap:20px}.about-square-slide{flex-basis:calc((100% - 60px)/4);min-width:180px}.about-content-v2 .about-lead{font-size:20px}}@media (min-width:1280px){.about-square-section--top{padding-top:44px}.about-square-slider{gap:24px}.about-square-slide{flex-basis:calc((100% - 96px)/5)}}@media (max-width:767px){.about-square-section{padding-top:22px;padding-bottom:24px}.about-square-slider{gap:14px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.about-square-slide{flex-basis:74vw}.about-content-v2{padding-top:20px}.about-content-v2 .about-lead{font-size:16px}}

/* About page Figma-style asymmetric mosaic galleries */
.about-mosaic-section{padding-top:34px;padding-bottom:34px}.about-mosaic-section--top{padding-top:34px;padding-bottom:20px}.about-mosaic-section--bottom{padding-top:22px;padding-bottom:24px}.about-mosaic-gallery{display:grid;grid-template-columns:1fr;gap:18px}.about-mosaic-item{position:relative;display:block;width:100%;min-height:260px;aspect-ratio:1/1;border:0;background:#f3f0ed;padding:0;margin:0;overflow:hidden;cursor:pointer;box-shadow:none;transition:transform .32s ease,box-shadow .32s ease}.about-mosaic-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%);transform:scale(1.001);transition:filter .42s ease,transform .42s ease}.about-mosaic-item:hover,.about-mosaic-item:focus-visible{transform:translateY(-3px);box-shadow:0 18px 42px rgba(36,30,20,.13);outline:none}.about-mosaic-item:hover img,.about-mosaic-item:focus-visible img{filter:grayscale(0);transform:scale(1.045)}.about-mosaic-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:34px 16px 15px;color:#fff;text-align:left;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.68));pointer-events:none}.about-mosaic-caption strong{font-size:15px;line-height:1.25;font-weight:500}.about-mosaic-caption small{font-size:12px;line-height:1.3}.about-content-v2--after-gallery{padding-top:0}.about-square-section{display:none!important}.about-image-grid,.about-top-gallery-section,.about-mobile-slider,.about-intro{display:none!important}
@media (min-width:640px){.about-mosaic-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(190px,28vw);grid-auto-flow:dense}.about-mosaic-item{aspect-ratio:auto;min-height:0;height:100%}.about-mosaic-item-2,.about-mosaic-item-6{grid-row:span 2}.about-mosaic-item-7{grid-column:span 2}.about-mosaic-section{padding-top:42px;padding-bottom:42px}}
@media (min-width:1024px){.about-mosaic-section--top{padding-top:0;padding-bottom:46px}.about-mosaic-section--bottom{padding-top:36px;padding-bottom:34px}.about-mosaic-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,15vw,285px);gap:20px}.about-mosaic-item-1{grid-row:span 1}.about-mosaic-item-2{grid-row:span 2}.about-mosaic-item-3{grid-row:span 1}.about-mosaic-item-4{grid-row:span 1}.about-mosaic-item-5{grid-row:span 1}.about-mosaic-item-6{grid-row:span 2}.about-mosaic-item-7{grid-row:span 2;grid-column:span 1}.about-mosaic-item-8{grid-row:span 1}.about-mosaic-item-9{grid-row:span 1}.about-text{max-width:1240px;margin-left:auto;margin-right:auto}.about-projects-link{max-width:1240px;margin-left:auto;margin-right:auto}}
@media (min-width:1440px){.about-mosaic-gallery{grid-auto-rows:285px;gap:24px}.about-mosaic-section--top{padding-bottom:56px}.about-mosaic-section--bottom{padding-top:46px}}
@media (max-width:639px){.about-mosaic-section{padding-left:16px;padding-right:16px}.about-mosaic-gallery{gap:16px}.about-mosaic-item{min-height:0;aspect-ratio:1/1}.about-mosaic-caption{padding:28px 14px 13px}.about-mosaic-section--top{padding-top:18px}.about-mosaic-section--bottom{padding-top:10px}}

/* === Design patch: overlay header, banner tabs, runner shadow, footer logo, About HTML editor output === */
:root{--elite-header-height:92px;--banner-tabs-opacity:.78}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:3000!important;background:rgba(255,255,255,.64)!important;backdrop-filter:saturate(130%) blur(10px);-webkit-backdrop-filter:saturate(130%) blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.06)}
.site-header .desktop-nav a{color:#404040!important;opacity:1!important;font-weight:400!important}.site-header .desktop-nav a:hover,.site-header .desktop-nav a.active{color:#765579!important;opacity:1!important}.site-header .lang-switch,.site-header .header-contact-link{color:#404040!important}.site-header .header-contact-link:hover,.site-header .header-contact-whatsapp{color:#765579!important}
body:not([data-page="home"]) .page-main{padding-top:var(--elite-header-height)}body[data-page="home"] .page-main{padding-top:0}.mobile-menu{top:var(--elite-header-height)!important;background:rgba(255,255,255,.94)!important;z-index:2990!important}.mobile-burger{position:relative;z-index:3002}
.home-hero{z-index:1}.home-slider-visual{position:absolute;inset:0;z-index:1}.home-categories{z-index:80!important}.home-categories-inner{position:relative;z-index:81}.home-category{background:rgba(255,255,255,var(--banner-tabs-opacity,.78))!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 34px rgba(0,0,0,.13)}.home-category:not(:last-child)::after{border-right-color:#8B0369!important;opacity:1}.home-category .category-progress{background:#8B0369!important}.home-category button{color:rgba(34,34,34,.6)!important}.home-category.active button,.home-category:hover button{color:#000!important}
.text-runner{position:relative;z-index:3;background:#fff!important;box-shadow:0 13px 24px rgba(0,0,0,.24)!important}.text-runner::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:18px;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.22),rgba(0,0,0,0));z-index:-1}.text-runner-track{position:relative;z-index:1}
.site-footer{background:#AFACAC!important;color:#000!important}.site-footer a,.site-footer p,.footer-address,.footer-phone,.footer-email,.footer-copy{color:#000!important}.footer-brand--single{justify-content:center!important;max-width:420px}.footer-main-logo-link{display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}.footer-main-logo-link:hover{opacity:.9;transform:translateY(-1px)}.footer-main-logo{display:block;width:min(220px,55vw);height:auto;object-fit:contain}.footer-first,.footer-second{display:none!important}.footer-contact-links{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.footer-email{font-size:14px;line-height:1.2}
.about-editor-content-section{padding-top:64px;padding-bottom:80px}.about-content-v3 .about-text{max-width:100%;font-size:17px;line-height:1.68;color:#222}.about-html-content>*:first-child{margin-top:0}.about-html-content>*:last-child{margin-bottom:0}.about-html-content h1,.about-html-content h2,.about-html-content h3{color:#765579;letter-spacing:.02em;line-height:1.15}.about-html-content h2{font-size:clamp(28px,4vw,48px);margin:0 0 24px}.about-html-content p{margin:0 0 22px}.about-html-content ul,.about-html-content ol{margin:0 0 24px 22px}.about-html-content li{margin:0 0 8px}.about-html-content a{color:#765579;text-decoration:underline;text-underline-offset:3px}.about-html-content img{display:block;max-width:100%;height:auto;object-fit:cover}.about-html-content figure{margin:28px 0}.about-html-content figure.about-inline-image{display:inline-block;vertical-align:top;width:min(31.5%,360px);margin:10px 1.2% 22px 0;overflow:hidden;background:#f4f1ee;cursor:pointer}.about-html-content figure.about-inline-image img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .35s ease,filter .35s ease}.about-html-content figure.about-inline-image:hover img{transform:scale(1.045);filter:saturate(1.08)}.about-html-content .about-lead{font-size:clamp(20px,2vw,28px);line-height:1.45;color:#765579}.about-projects-link{margin-top:40px}
@media (min-width:1024px){:root{--elite-header-height:112px}.site-header{position:fixed!important}.home-hero{height:770px}.header-inner{padding-top:24px!important;padding-bottom:24px!important}}
@media (max-width:767px){:root{--elite-header-height:86px}.header-inner{padding-top:18px!important;padding-bottom:18px!important}.home-hero{padding-top:0!important}.home-categories{bottom:28px!important;padding:0 12px!important}.home-category{background:rgba(255,255,255,var(--banner-tabs-opacity,.8))!important}.text-runner{box-shadow:0 10px 20px rgba(0,0,0,.2)!important}.footer-main-logo{width:min(250px,70vw)}.about-editor-content-section{padding-top:34px;padding-bottom:52px}.about-html-content figure.about-inline-image{display:block;width:100%;margin:16px 0}.about-html-content figure.about-inline-image img{aspect-ratio:1/1}}

/* === Hotfix 2026-05: transparent header/tabs without blur, stable banner opacity, compact footer logo === */
.site-header{
  background:rgba(255,255,255,.64)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home-category{
  background:rgba(255,255,255,var(--banner-tabs-opacity,.78))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.footer-main-logo{
  width:70px!important;
  height:87px!important;
  max-width:70px!important;
  max-height:87px!important;
  object-fit:contain!important;
}
@media (max-width:767px){
  .footer-main-logo{
    width:70px!important;
    height:87px!important;
    max-width:70px!important;
    max-height:87px!important;
  }
}

/* === Hotfix: header height control and static About inline images === */
/* Banner tabs keep the original fixed width; header height is managed in admin. */
@media (min-width:768px){
  .home-categories-inner{
    max-width:820px!important;
  }
}
.site-header .header-inner{
  min-height:var(--elite-header-height,96px)!important;
  height:var(--elite-header-height,96px)!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body:not([data-page="home"]) .page-main{padding-top:var(--elite-header-height,96px)!important}
.mobile-menu{top:var(--elite-header-height,96px)!important}
.about-html-content figure.about-inline-image{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:26px 0!important;
  overflow:visible!important;
  background:transparent!important;
  cursor:zoom-in;
}
.about-html-content figure.about-inline-image[data-size="wide"]{width:75%!important;max-width:75%!important;margin-left:auto!important;margin-right:auto!important}
.about-html-content figure.about-inline-image[data-size="half"]{width:50%!important;max-width:50%!important;margin-left:auto!important;margin-right:auto!important}
.about-html-content figure.about-inline-image[data-size="third"]{width:33.333%!important;max-width:33.333%!important;margin-left:auto!important;margin-right:auto!important}
.about-html-content figure.about-inline-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
  transition:opacity .25s ease!important;
}
.about-html-content figure.about-inline-image:hover img{opacity:.92!important;transform:none!important;filter:none!important}
@media (max-width:767px){
  .about-html-content figure.about-inline-image,
  .about-html-content figure.about-inline-image[data-size="wide"],
  .about-html-content figure.about-inline-image[data-size="half"],
  .about-html-content figure.about-inline-image[data-size="third"]{
    width:100%!important;
    max-width:100%!important;
    margin:18px 0!important;
  }
  .about-html-content figure.about-inline-image img{aspect-ratio:auto!important}
}

/* === Footer dual logo restore === */
.footer-brand--dual{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  flex-wrap:nowrap!important;
}
.footer-brand--dual .footer-main-logo-link,
.footer-brand--dual .footer-second-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:opacity .2s ease,transform .2s ease;
}
.footer-brand--dual .footer-main-logo-link:hover,
.footer-brand--dual .footer-second-link:hover{opacity:.88;transform:translateY(-1px)}
.footer-brand--dual .footer-main-logo{width:70px!important;height:87px!important;max-width:70px!important;max-height:87px!important;object-fit:contain!important;flex:0 0 auto!important}
.footer-brand--dual .footer-second{width:180px!important;height:auto!important;max-width:42vw!important;object-fit:contain!important;flex:0 1 auto!important}
@media (min-width:1280px){.footer-brand--dual .footer-second{width:220px!important}}
@media (max-width:767px){.footer-brand--dual{gap:14px!important}.footer-brand--dual .footer-second{width:150px!important;max-width:48vw!important}}


/* === Footer dual logo correction: first logo -> elite-dd.com, second logo -> interiorselite.com === */
.footer-brand--dual{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  max-width:520px!important;
  width:100%!important;
}
.footer-main-logo-link,.footer-second-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:opacity .2s ease,transform .2s ease!important;
}
.footer-main-logo-link:hover,.footer-second-link:hover{
  opacity:.9!important;
  transform:translateY(-1px)!important;
}
.footer-main-logo{
  display:block!important;
  width:70px!important;
  height:87px!important;
  max-width:70px!important;
  max-height:87px!important;
  object-fit:contain!important;
}
.footer-second{
  display:block!important;
  width:min(360px,62vw)!important;
  height:auto!important;
  max-height:200px!important;
  object-fit:contain!important;
}
.footer-first{display:none!important}
@media (max-width:767px){
  .footer-brand--dual{gap:14px!important;max-width:100%!important}
  .footer-main-logo{width:70px!important;height:87px!important;max-width:70px!important;max-height:87px!important}
  .footer-second{width:min(300px,72vw)!important;height:auto!important}
}

/* === Patch 2026-05-30: footer logo gap, mobile-only home info, project gallery hover === */
.footer-brand--dual{
  gap:var(--footer-logo-gap,28px)!important;
}
@media (max-width:767px){
  .footer-brand--dual{gap:calc(var(--footer-logo-gap,28px) * .65)!important}
}

/* Detail project gallery: keep images color on hover; only show a subtle interaction state. */
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item img,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item img{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
}
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item{
  transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease!important;
}
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item:hover,
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item:focus-visible,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item:hover,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.18)!important;
  outline:2px solid rgba(118,85,121,.38)!important;
  outline-offset:-2px!important;
}
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item:hover img,
.project-page-original [data-tab-content="gallery"] .project-gallery-original-item:focus-visible img,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item:hover img,
.project-page-original [data-tab-content="gallery"] .project-gallery-mobile-item:focus-visible img{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
}

.home-mobile-info{display:none!important}
@media (max-width:767px){
  .home-mobile-info{
    display:block!important;
    padding:34px 20px 42px;
    background:#fff;
    color:#222;
  }
  .home-mobile-info-image{
    width:100%;
    margin:0 0 22px;
    overflow:hidden;
    background:#f5f2ef;
  }
  .home-mobile-info-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:420px;
    object-fit:cover;
    object-position:center;
  }
  .home-mobile-info-content{
    max-width:520px;
    margin:0 auto;
  }
  .home-mobile-info h2{
    margin:0 0 14px;
    color:#765579;
    font-size:26px;
    line-height:1.14;
    letter-spacing:.03em;
  }
  .home-mobile-info-text{
    font-size:15px;
    line-height:1.62;
  }
  .home-mobile-info-text p{margin:0 0 14px}
  .home-mobile-info-text p:last-child{margin-bottom:0}
  .home-mobile-info-text a{color:#765579;text-decoration:underline;text-underline-offset:3px}
}

/* Project characteristics: support value-only rows from admin editor */
.project-original-spec-row.spec-row-value-only,
.project-page-v3 .project-original-spec-row.spec-row-value-only{
  display:block;
  padding-left:0;
}
.project-original-spec-row.spec-row-value-only strong,
.project-page-v3 .project-original-spec-row.spec-row-value-only strong{
  display:block;
  color:#222;
  font-weight:400;
  line-height:1.7;
}
@media (min-width:1024px){
  .project-original-spec-row.spec-row-value-only,
  .project-page-v3 .project-original-spec-row.spec-row-value-only{
    display:block!important;
    font-size:17px;
  }
}

/* === Patch: mobile second screen inline images with text wrapping === */
.home-mobile-info-text::after{content:"";display:block;clear:both}
.home-mobile-info-text figure.mobile-home-inline-image{
  margin:14px 0;
  max-width:100%;
  overflow:hidden;
}
.home-mobile-info-text figure.mobile-home-inline-image img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.home-mobile-info-text figure.mobile-home-inline-image[data-size="wide"]{width:75%}
.home-mobile-info-text figure.mobile-home-inline-image[data-size="half"]{width:50%}
.home-mobile-info-text figure.mobile-home-inline-image[data-size="third"]{width:33.333%}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="center"]{margin-left:auto;margin-right:auto}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="left"]{
  float:left;
  margin:4px 16px 10px 0;
  width:48%;
}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="right"]{
  float:right;
  margin:4px 0 10px 16px;
  width:48%;
}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="left"][data-size="third"],
.home-mobile-info-text figure.mobile-home-inline-image[data-align="right"][data-size="third"]{width:36%}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="left"][data-size="wide"],
.home-mobile-info-text figure.mobile-home-inline-image[data-align="right"][data-size="wide"]{width:58%}
.home-mobile-info-text figure.mobile-home-inline-image[data-align="full"],
.home-mobile-info-text figure.mobile-home-inline-image[data-size="full"]{float:none;width:100%;margin:14px 0}


/* === Hotfix: controllable banner tabs width without horizontal page scroll === */
:root{--banner-tabs-width:820px}
@media (min-width:768px){
  .home-categories{
    overflow-x:hidden!important;
    overflow-y:visible!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .home-categories-inner{
    width:min(var(--banner-tabs-width,820px), calc(100vw - 40px))!important;
    max-width:min(var(--banner-tabs-width,820px), calc(100vw - 40px))!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:0!important;
    display:flex!important;
  }
  .home-category{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
  }
  .home-category button{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}
@media (max-width:767px){
  .home-categories{
    overflow-x:hidden!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .home-categories-inner{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .home-category{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .home-category button{
    width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* === Patch 2026-05-30: plain characteristics and controllable project-about images === */
.project-page-v3 .project-original-characteristics-text,
.project-original-characteristics-text{
  padding-top:30px!important;
  font-size:14px!important;
  line-height:1.7!important;
  color:#222!important;
  text-align:left!important;
}
.project-page-v3 .project-original-characteristics-text p,
.project-original-characteristics-text p{margin:0 0 16px!important}
.project-page-v3 .project-original-characteristics-text p:last-child,
.project-original-characteristics-text p:last-child{margin-bottom:0!important}

.project-page-v3 .project-about-media-grid,
.project-about-media-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:24px!important;
  margin-top:42px!important;
  overflow:visible!important;
  padding:0!important;
}
.project-page-v3 .project-about-media,
.project-about-media{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  flex:0 1 100%!important;
  width:100%!important;
  max-width:100%!important;
  cursor:default!important;
}
.project-page-v3 button.project-about-media.is-zoomable,
button.project-about-media.is-zoomable{cursor:zoom-in!important}
.project-page-v3 .project-about-media img,
.project-about-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transition:transform .22s ease, box-shadow .22s ease!important;
}
.project-page-v3 button.project-about-media.is-zoomable:hover img,
button.project-about-media.is-zoomable:hover img{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.12)!important;
}
.project-page-v3 .project-about-media--wide,
.project-about-media--wide{flex-basis:75%!important;width:75%!important}
.project-page-v3 .project-about-media--half,
.project-about-media--half{flex-basis:calc(50% - 12px)!important;width:calc(50% - 12px)!important}
.project-page-v3 .project-about-media--third,
.project-about-media--third{flex-basis:calc(33.333% - 16px)!important;width:calc(33.333% - 16px)!important}
.project-page-v3 .project-about-media--auto,
.project-about-media--auto{flex:0 1 auto!important;width:auto!important;max-width:100%!important}
.project-page-v3 .project-about-media--auto img,
.project-about-media--auto img{width:auto!important;max-width:100%!important}
.project-page-v3 .white-swan-about-images.project-about-media-grid img,
.white-swan-about-images.project-about-media-grid img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
}
@media (min-width:1024px){
  .project-page-v3 .project-original-characteristics-text,
  .project-original-characteristics-text{font-size:17px!important;line-height:1.7!important}
}
@media (max-width:767px){
  .project-page-v3 .project-about-media-grid,
  .project-about-media-grid{gap:18px!important;margin-top:30px!important}
  .project-page-v3 .project-about-media,
  .project-page-v3 .project-about-media--wide,
  .project-page-v3 .project-about-media--half,
  .project-page-v3 .project-about-media--third,
  .project-page-v3 .project-about-media--auto,
  .project-about-media,
  .project-about-media--wide,
  .project-about-media--half,
  .project-about-media--third,
  .project-about-media--auto{flex-basis:100%!important;width:100%!important;max-width:100%!important}
  .project-page-v3 .project-about-media--auto img,
  .project-about-media--auto img{width:100%!important}
}

/* Project about media: custom px widths + tighter layouts tab spacing */
.project-page-v3 .project-about-media--custom,
.project-about-media--custom{
  flex:0 1 var(--project-about-media-width, 100%)!important;
  width:var(--project-about-media-width, 100%)!important;
  max-width:100%!important;
}
.project-page-v3 .project-about-media--custom img,
.project-about-media--custom img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}
.project-page-v3 [data-tab-content="layouts"] .project-layouts-text,
[data-tab-content="layouts"] .project-layouts-text{
  margin-bottom:0px!important;
}
.project-page-v3 [data-tab-content="layouts"] .project-layouts-text p:last-child,
[data-tab-content="layouts"] .project-layouts-text p:last-child{
  margin-bottom:0!important;
}
.project-page-v3 [data-tab-content="layouts"] .project-original-plans,
[data-tab-content="layouts"] .project-original-plans{
  margin-top:0!important;
  padding-top:10px!important;
}
@media (max-width:767px){
  .project-page-v3 .project-about-media--custom,
  .project-about-media--custom{
    flex-basis:100%!important;
    width:100%!important;
  }
}
/* === Hard fix: remove big white gap in Project -> Layouts === */

/* Бьем напрямую по классам, без привязки к data-tab-content,
   потому что текущий селектор может не совпадать с реальной HTML-разметкой. */
.project-page-v3 .project-layouts-text,
.project-layouts-text{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 10px!important;
  padding:0!important;
  line-height:1.65!important;
}

/* Убираем отступы у последнего элемента текста */
.project-page-v3 .project-layouts-text > *:last-child,
.project-layouts-text > *:last-child{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* Прячем пустые абзацы/дивы, которые часто остаются после HTML-редактора */
.project-page-v3 .project-layouts-text p:empty,
.project-page-v3 .project-layouts-text div:empty,
.project-layouts-text p:empty,
.project-layouts-text div:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  line-height:0!important;
}

/* Прячем абзацы вида <p><br></p> */
.project-page-v3 .project-layouts-text p:has(> br:only-child),
.project-page-v3 .project-layouts-text div:has(> br:only-child),
.project-layouts-text p:has(> br:only-child),
.project-layouts-text div:has(> br:only-child){
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  line-height:0!important;
}

/* Сам блок планировок сразу после текста */
.project-page-v3 .project-layouts-text + .project-original-plans,
.project-page-v3 .project-layouts-text ~ .project-original-plans,
.project-layouts-text + .project-original-plans,
.project-layouts-text ~ .project-original-plans{
  margin-top:10px!important;
}

/* Убираем внутренний верхний отступ у контейнера планировок */
.project-page-v3 .project-original-plans,
.project-original-plans{
  margin-top:0!important;
  padding-top:0!important;
  gap:12px!important;
}

/* Убираем верхний отступ у первой картинки */
.project-page-v3 .project-original-plans .project-original-plan:first-child,
.project-original-plans .project-original-plan:first-child{
  margin-top:0!important;
  padding-top:0!important;
}

/* На всякий случай убираем лишний верхний отступ у кнопки/viewport внутри первой планировки */
.project-page-v3 .project-original-plans .project-original-plan:first-child button,
.project-page-v3 .project-original-plans .project-original-plan:first-child .project-plan-viewport,
.project-original-plans .project-original-plan:first-child button,
.project-original-plans .project-original-plan:first-child .project-plan-viewport{
  margin-top:0!important;
  padding-top:0!important;
}
/* Optional hard reset for bad inline styles in layouts text */
.project-page-v3 .project-layouts-text *,
.project-layouts-text *{
  min-height:0!important;
  max-height:none!important;
}

.project-page-v3 .project-layouts-text p,
.project-page-v3 .project-layouts-text div,
.project-layouts-text p,
.project-layouts-text div{
  margin-top:0!important;
  margin-bottom:12px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.project-page-v3 .project-layouts-text p:last-child,
.project-page-v3 .project-layouts-text div:last-child,
.project-layouts-text p:last-child,
.project-layouts-text div:last-child{
  margin-bottom:0!important;
}
/* === Project video embed fix: external/non-embeddable links === */
.project-page-v3 .project-video-external,
.project-video-external{
  max-width:720px;
  margin:0 auto;
  padding:28px 24px;
  border:1px solid rgba(118,85,121,.22);
  background:#fbfaf7;
  text-align:center;
  color:#404040;
}
.project-page-v3 .project-video-external p,
.project-video-external p{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.55;
}
.project-page-v3 .project-video-external-link,
.project-video-external-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 24px;
  border-right:1px solid #222;
  border-bottom:1px solid #222;
  color:#765579;
  font-weight:700;
  position:relative;
}
.project-page-v3 .project-video-external-link::before,
.project-video-external-link::before{
  content:"";
  position:absolute;
  bottom:-4px;
  left:-8px;
  border-right:1px solid #222;
  height:20px;
  transform:rotate(-45deg);
}
.project-page-v3 .project-video-external-link:hover,
.project-video-external-link:hover{color:#000}
