*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}
*, *::before, *::after{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
a, button, [role="button"], input, label, select, textarea, [tabindex], .swiper-button-prev, .swiper-button-next, .arrow, .nav-arrow, .slider-btn{outline:none;user-select:none;-webkit-user-select:none}
:root{--green:#5E7C6A;--green-dark:#4F6656;--green-light:#7EA08D;--green-deep:#4A6358;--green-tint:#D1E7DD;--green-pale:#A8C3B2;--green-grey:#7A987F;--green-deep-alt:#4A6354;--whatsapp-green:#25D366;--preloader-cyan:#4DD9C0;--preloader-teal:#7EEBD8;--preloader-teal-dark:#1A5C52;--green-rgb:94, 124, 106;--green-dark-rgb:79, 102, 86;--accent:var(--green);--accent-dark:var(--green-dark);--accent-tint:var(--green-tint);--accent-soft:rgba(var(--green-rgb), 0.12);--bg:#FAFAFA;--dark:#1a1610;--text-light:#ffffff;--text-muted:rgba(255,255,255,0.75);--font-display:'Poltawski Nowy', serif;--font-body:'Poltawski Nowy', serif}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Poltawski Nowy', serif;background:var(--bg);color:var(--text-light);overflow-x:hidden;min-width:320px}
html.preload-hidden body > *:not(#preloader-placeholder):not(#preloader-container){visibility:hidden}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.breadcrumb-nav{padding:0.75rem 2rem;font-size:0.8rem;color:#666}
.breadcrumb-list{list-style:none;display:flex;gap:0.5rem;margin:0;padding:0}
.breadcrumb-list li + li::before{content:"›";margin-right:0.5rem;color:#aaa}
.breadcrumb-list a{color:var(--green);text-decoration:none}
.navbar{position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--bg);border-bottom:1px solid rgba(0,0,0,0.06);transition:transform 0.3s ease}
.nav-hidden{transform:translateY(-100%)}
.nav-container{max-width:1280px;margin:0 auto;padding:0 2rem;height:70px;display:flex;align-items:center;gap:2.5rem}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none;flex-shrink:0;outline:none;-webkit-tap-highlight-color:transparent}
.logo-icon{width:38px;height:38px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:var(--dark)}
.logo-text{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:#151515;letter-spacing:0.04em}
.nav-links{list-style:none;display:flex;align-items:center;gap:0.2rem;margin-left:auto}
.nav-links a{display:block;padding:0.5rem 0.85rem;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;color:#151515;text-decoration:none;transition:color 0.2s}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.arrow{font-size:0.65rem}
.nav-cta{flex-shrink:0;padding:0.65rem 1.6rem;background:var(--accent-dark);border:none;border-radius:6px;font-size:0.82rem;font-weight:700;letter-spacing:0.06em;color:#fff;text-decoration:none;transition:background 0.2s, transform 0.15s}
.nav-cta:hover{background:var(--accent-dark);transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:none;color:#151515;font-size:1.4rem;cursor:pointer}
.nav-mobile{display:none;flex-direction:column;background:var(--bg);padding:1.2rem 2rem 2rem;border-top:1px solid rgba(0,0,0,0.07);gap:0}
.nav-mobile li{list-style:none;border-bottom:1px solid rgba(0,0,0,0.07)}
.nav-mobile li:last-child{border-bottom:none}
.nav-mobile a{display:block;padding:0.9rem 0;font-size:0.88rem;font-weight:600;letter-spacing:0.08em;color:#151515;text-decoration:none;transition:color 0.2s}
.nav-mobile a:hover{color:var(--accent)}
.nav-mobile a.active{color:var(--accent)}
.nav-mobile .nav-cta-mobile{display:inline-flex;align-items:center;margin-top:1.2rem;padding:0.75rem 1.8rem;background:var(--accent-dark);color:#fff;font-weight:700;font-size:0.88rem;letter-spacing:0.06em;border-radius:6px;text-decoration:none;width:fit-content;transition:background 0.2s}
.nav-mobile .nav-cta-mobile:hover{background:var(--accent-dark)}
@media (max-width: 768px){
.navbar.nav-open .nav-mobile{display:flex}
body.menu-open{overflow:hidden}
.nav-toggle{transition:color 0.2s}
.navbar.nav-open .nav-toggle{color:var(--accent)}
.page-gallery .about-hero{background-position:85% center}
.page-contact .about-hero{background-position:81% center}
.page-projects .about-hero{background-position:75% center}
.page-services .about-hero{background-position:85% center}
}
.footer{background:var(--bg);border-top:none}
.footer-top{background:var(--accent-dark);max-width:100%;padding:2.5rem 5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden}
.footer-cta-text{font-family:var(--font-display);font-size:clamp(1.8rem, 4vw, 3rem);font-weight:800;color:#fff;letter-spacing:0.02em;line-height:1}
.cta-your{color:#1a1610}
.footer-socials-wrap{display:flex;flex-direction:column;align-items:center;gap:0.6rem}
.follow-label{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;color:#fff}
.footer-socials{display:flex;gap:0.8rem}
.footer-socials a{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.7);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:background 0.2s, border-color 0.2s}
.footer-socials a:hover{background:rgba(255,255,255,0.2);border-color:#fff}
.footer-divider{border:none;border-top:1px solid rgba(0,0,0,0.1);margin:0}
.footer-body{max-width:1280px;margin:0 auto;padding:3.5rem 5rem;display:grid;grid-template-columns:1.8fr 1fr 1.4fr;gap:3rem;align-items:start;background:var(--bg);position:relative;overflow:hidden}
.footer-brand{position:relative}
.footer-brand .nav-logo, .footer-brand p{position:relative;z-index:1}
.footer-brand .nav-logo{margin-bottom:1.2rem}
.footer-brand p{font-size:0.88rem;line-height:1.7;color:#555;text-align:justify}
.footer-col h4{font-family:var(--font-body);font-size:1rem;font-weight:800;color:#1a1610;margin-bottom:0.5rem;letter-spacing:0.08em;text-transform:uppercase}
.col-underline{display:block;width:36px;height:3px;background:var(--accent);margin-bottom:1.4rem}
.footer-col ul{list-style:none}
.footer-col ul li{border-bottom:1px solid rgba(0,0,0,0.08);margin-bottom:0}
.footer-col ul li:last-child{border-bottom:none}
.footer-col a{display:flex;align-items:center;gap:0.5rem;color:#444;text-decoration:none;font-size:0.92rem;padding:0.7rem 0;transition:color 0.2s}
.footer-col a:hover{color:var(--accent)}
.link-chevron{color:var(--accent);font-size:1.1rem;font-weight:700;line-height:1}
.footer-contact h4{color:#1a1610}
.contact-row{display:flex;align-items:flex-start;gap:0.8rem;margin-bottom:1.2rem}
.contact-icon{flex-shrink:0;margin-top:2px}
.footer-contact-name{font-weight:700;color:#1a1610;margin-bottom:0.3rem;font-size:0.95rem}
.footer-contact p{font-size:0.88rem;line-height:1.7;color:#555;margin-bottom:0}
.footer-contact a{color:#555;text-decoration:none;font-size:0.9rem;transition:color 0.2s}
.footer-contact a:hover{color:var(--accent)}
.footer-bottom{background:#0e0c09;border-top:2px solid var(--accent);text-align:center;padding:1.4rem 2rem;font-size:0.85rem;color:rgba(255,255,255,0.6)}
.footer-brand-name{color:var(--accent);font-weight:600}
.footer-brand .logo-img{height:200px;width:auto}
.footer-brand .nav-logo{justify-content:center}
@media (max-width: 1024px){
.footer-body{grid-template-columns:1fr 1fr;padding:3rem 2rem}
.footer-top{padding:2.5rem 2rem}
}
@media (max-width: 768px){
.nav-links, .nav-cta{display:none}
.nav-toggle{display:block;margin-left:auto}
.footer-body{grid-template-columns:1fr}
.footer-cta-text{font-size:1.6rem}
.footer-bottom .footer-brand-name{display:block}
.footer-top{padding:2rem 1.2rem;flex-direction:column;align-items:flex-start;gap:1.2rem}
.footer-body{grid-template-columns:1fr;padding:2rem 1.2rem;gap:2rem}
.footer-bottom{padding:1.2rem 1.2rem;font-size:0.78rem}
.footer, .footer-top, .footer-body, .footer-bottom{overflow-x:hidden;max-width:100%;box-sizing:border-box}
.footer-brand .nav-logo{justify-content:flex-start}
.footer-brand .logo-img{height:120px}
.contact-row{flex-wrap:wrap}
.footer-col a{font-size:0.85rem;padding:0.6rem 0}
.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center}
.footer-brand .nav-logo{justify-content:center}
.footer-brand p{text-align:justify}
}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-person{position:absolute;right:0;bottom:0;width:52%;height:100%;z-index:1;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.hero-person img{height:75%;width:auto;object-fit:contain;object-position:bottom center;align-self:flex-end}
.hero-badge{position:absolute;top:22%;right:4%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;animation:spin-badge 12s linear infinite;background:rgba(255, 255, 255, 0.5);border-radius:50%;pointer-events:auto;z-index:3}
.hero-badge svg{position:absolute;inset:0}
.badge-arrow{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}
@keyframes spin-badge{
to{transform:rotate(360deg)}
}
.hero-content{position:relative;z-index:2;max-width:580px;padding:120px 2rem 4rem 6vw}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.82rem;font-weight:600;letter-spacing:0.1em;color:#151515;margin-bottom:1.2rem;background:none;padding:0;border:none}
.eyebrow-line{display:inline-block;width:40px;height:2px;background:var(--text-light);opacity:0.6;vertical-align:middle}
.eyebrow-star{color:var(--accent);font-size:0.9rem}
.about-hero-eyebrow-star, .values-eyebrow-star, .gal-eyebrow-star, .proj-split-eyebrow-star, .contact-eyebrow-star, .dream-eyebrow-star, .service-feature-eyebrow-star, .philosophy-eyebrow-star, .process-steps-eyebrow-star, .why-eyebrow-star, .quality-eyebrow-star, .faq-eyebrow-star{color:var(--accent);font-size:0.9rem;flex-shrink:0;line-height:1}
.hero-headline{font-family:var(--font-display);font-size:clamp(2.1rem, 4.5vw, 3.4rem);font-weight:800;line-height:1.02;letter-spacing:-0.02em;color:#151515;margin-bottom:1.4rem}
.hero-headline .headline-red{color:var(--accent)}
.hero-sub{font-size:0.97rem;line-height:1.7;color:#555555;text-align:justify;max-width:460px;margin-bottom:2.2rem;background:rgba(255, 255, 255, 0.01);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid rgba(255, 255, 255, 0.2);border-radius:10px;padding:0.9rem 1.2rem}
.hero-features{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.feature-pill{display:flex;align-items:center;gap:0.9rem;background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,0.08);border-radius:14px;padding:0.85rem 1.2rem;font-size:0.82rem;color:#151515;line-height:1.45;flex:1;min-width:190px}
.pill-icon{width:40px;height:40px;flex-shrink:0;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center}
.feature-pill strong{display:block;font-weight:600;color:#151515}
.hero-actions{display:flex;align-items:center;gap:1.5rem}
.btn-primary{display:inline-flex;align-items:center;gap:0.4rem;padding:0.85rem 2rem;background:var(--accent);color:#fff;font-weight:700;font-size:0.9rem;letter-spacing:0.05em;border-radius:50px;text-decoration:none;transition:background 0.2s, transform 0.15s}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px)}
@media (max-width: 900px){
.hero-person{width:100%;opacity:0.35}
.hero-content{padding:120px 1.5rem 4rem 1.5rem;max-width:100%}
.hero-badge{top:auto;bottom:12%;right:5%}
}
@media (max-width: 600px){
.hero-features{flex-direction:column}
.feature-pill{min-width:unset}
}
.hero-divider-mobile{display:none}
.logo-img{height:80px;width:auto;display:block}
.about{background:#F5F0EA;padding:0;overflow:hidden}
.about-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:flex-start;padding:5rem 3rem 3rem}
.about-images{display:flex;align-items:flex-start;justify-content:center;height:600px}
.about-arch-frame{--arch-radius:200px;width:78%;height:100%;border-radius:var(--arch-radius) var(--arch-radius) 0 0;overflow:hidden;border:2px solid var(--accent)}
.about-arch-frame img, .about-arch-frame video{width:100%;height:100%;object-fit:cover}
.about-arch-frame video{border-radius:var(--arch-radius) var(--arch-radius) 0 0}
.about-content{position:relative}
.about-content > *{position:relative;z-index:1}
.about-headline{font-family:var(--font-display);font-size:clamp(2rem, 3.5vw, 3rem);font-weight:800;color:#1a1610;line-height:1.1;margin-bottom:1.2rem}
.about-headline .headline-red{color:var(--accent)}
.about-headline-underline{display:block;width:48px;height:3px;background:#1a1610;margin-bottom:1.5rem}
.about-desc{font-size:0.97rem;color:#444;line-height:1.75;margin-bottom:1.4rem;text-align:left}
.about-bottom-bar{background:var(--accent-dark);padding:4rem 3rem 2.5rem;margin-top:0;position:relative;z-index:1}
.about-wave-svg{display:block;width:100%;line-height:0;margin-top:-200px;position:relative;z-index:1}
.about-wave-svg svg{width:100%;height:120px;display:block}
.about-bottom-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:0rem;padding-top:1rem;width:fit-content}
.about-bottom-stat{display:flex;flex-direction:column;align-items:center;gap:0.4rem;color:#fff;text-align:center;flex:1;padding-right:2.5rem}
.about-bottom-stat--families{flex:1;flex-direction:row;align-items:center;justify-content:center;gap:1.2rem;text-align:center;padding-left:10rem}
.about-bottom-arch-icon{width:72px;height:86px;border:1.5px solid rgba(255,255,255,0.55);border-radius:50px 50px 0 0;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent}
.about-bottom-number{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:#fff;line-height:1}
.about-bottom-label{font-size:0.85rem;color:rgba(255,255,255,0.85);letter-spacing:0.02em}
.about-bottom-families-text{display:flex;flex-direction:column;gap:0.3rem;text-align:center}
.about-bottom-families-text strong{font-size:1.1rem;color:#fff;font-weight:700}
.about-bottom-families-text p{font-size:0.85rem;color:rgba(255,255,255,0.8);line-height:1.5;margin:0}
.about-bottom-divider{width:1px;height:80px;background:rgba(255,255,255,0.3);flex-shrink:0}
@media (max-width: 900px){
.about-container{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem 2rem}
.about-images{height:340px}
.about-arch-frame{width:60%}
.about-bottom-bar{padding:3rem 1.5rem 2rem}
.about-bottom-inner{flex-direction:column;gap:2rem}
.about-bottom-stat--families{flex-direction:column;text-align:center}
.about-bottom-divider{width:80px;height:1px}
}
@media (max-width: 768px){
.about-container{grid-template-columns:1fr;grid-template-areas:"content" "images";gap:1.5rem;padding:2.5rem 1.25rem 1.5rem}
.about-images{grid-area:images;height:440px}
.about-arch-frame{--arch-radius:160px;width:82%;height:100%;margin:0 auto;border-radius:var(--arch-radius) var(--arch-radius) 0 0;border-width:2px;-webkit-mask-image:-webkit-radial-gradient(white, black);isolation:isolate}
.about-content{grid-area:content;text-align:center}
.about-content > *{text-align:center}
.about-headline{font-size:clamp(1.5rem, 6.5vw, 2rem);line-height:1.15;margin-bottom:0.9rem}
.about-headline-underline{margin-left:auto;margin-right:auto;margin-bottom:1.2rem}
.about-desc{font-size:0.9rem;line-height:1.65;margin-bottom:1rem;text-align:center}
.about-bottom-bar{margin-top:0;padding:4.5rem 1.25rem 2rem}
.about-wave-svg{margin-top:-120px}
.about-bottom-inner{flex-direction:column;gap:1.75rem;padding-top:0.5rem;width:100%}
.about-bottom-stat{flex-direction:column;padding-right:0;gap:0.4rem}
.about-bottom-stat--years{flex-direction:row;align-items:center;justify-content:center;gap:1.2rem;text-align:left}
.about-bottom-stat--years .about-bottom-arch-icon{flex-shrink:0}
.about-bottom-stat--years .about-bottom-number, .about-bottom-stat--years .about-bottom-label{display:block}
.about-bottom-stat--families{flex-direction:column;text-align:center;gap:1rem;padding-left:0}
.about-bottom-stat--families .about-bottom-families-text{text-align:center}
.about-bottom-families-text strong{font-size:1rem}
.about-bottom-families-text p{font-size:0.8rem}
.about-bottom-arch-icon{width:64px;height:76px}
.about-bottom-number{font-size:1.9rem}
.about-bottom-divider{width:80px;height:1px}
}
.services{background:var(--bg);padding:clamp(2rem, 4vh, 5rem) 2rem;position:relative;overflow:hidden}
.services-container{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.services-arch-bg{position:absolute;top:0;right:0;width:300px;height:260px;pointer-events:none;z-index:0}
.services-header{text-align:center;margin-bottom:clamp(1rem, 2.5vh, 3rem)}
.services-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.82rem;font-weight:700;letter-spacing:0.14em;color:var(--accent);margin-bottom:1rem;text-transform:uppercase}
.services-headline{font-family:var(--font-display);font-size:clamp(2rem, 3.5vw, 3.2rem);font-weight:800;color:#1a1610;line-height:1.08;margin-bottom:1.5rem}
.services-headline-red{color:var(--accent)}
.services-divider{display:flex;align-items:center;justify-content:center;gap:1rem}
.services-divider-line{display:block;width:80px;height:2px;background:var(--accent);opacity:0.5}
.services-divider-icon{flex-shrink:0}
.services-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:1.2rem;background:transparent;border:none;border-radius:0;overflow:visible}
.srv-slider-viewport{overflow:hidden;width:100%}
.srv-slider-track{display:flex;gap:1.2rem;will-change:transform}
.srv-slider-track .service-card{flex:0 0 calc((min(1280px, 100vw - 4rem) - 4 * 1.2rem) / 5);min-width:0}
.srv-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:clamp(0.75rem, 1.5vh, 2rem)}
.srv-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.35);background:#fff;color:#1a1610;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;box-shadow:0 4px 14px rgba(0,0,0,0.07)}
.srv-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.08)}
@media (max-width: 1100px){
.srv-slider-track .service-card{flex:0 0 calc((min(1280px, 100vw - 4rem) - 2 * 1.2rem) / 3)}
}
@media (max-width: 700px){
.srv-slider-track .service-card{flex:0 0 calc((100vw - 4rem - 1.2rem) / 2)}
}
@media (max-width: 420px){
.srv-slider-track .service-card{flex:0 0 calc(100vw - 4rem)}
}
.service-card{background:#fff;border:1px solid rgba(0,0,0,0.09);border-radius:16px;padding:2.2rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;position:relative;overflow:hidden;transition:box-shadow 0.25s, transform 0.25s}
.service-card:hover{box-shadow:0 8px 32px rgba(var(--green-rgb),0.10);transform:translateY(-4px);background:#fff}
.service-card.gsap-animating, .process-step.gsap-animating{transition:box-shadow 0.25s}
.service-card-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--green-dark), var(--green));border-radius:0 0 16px 16px}
.service-card:last-child::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--green-dark), var(--green));border-radius:0 0 16px 16px;z-index:2}
.service-icon-circle{width:150px;height:150px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:#fff}
.service-icon-circle img{width:82%;height:82%;object-fit:contain}
.service-card h3{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#1a1610;line-height:1.25;letter-spacing:0.04em}
.service-desc{font-size:0.84rem;color:#666;line-height:1.6;text-align:justify;flex:1}
.service-arrow{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.35);display:flex;align-items:center;justify-content:center;color:#1a1610;text-decoration:none;transition:background 0.2s, border-color 0.2s, color 0.2s;margin-top:auto}
.service-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff}
@media (max-width: 768px){
.services-bg-layer{display:none}
}
.services{background:var(--bg);padding:clamp(2rem, 4vh, 5rem) 2rem;position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}
.services-bg-layer{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 0.5s ease;z-index:0}
.services-bg-layer.active{opacity:1}
.services-container{position:relative;z-index:2}
.services::before{display:none}
.services.has-bg .service-card{background:#fff}
@media (min-width: 769px){
.services{padding:clamp(1.2rem, 2.5vh, 3.5rem) 2rem}
.services-header{margin-bottom:clamp(0.8rem, 2vh, 2rem)}
.services-eyebrow{margin-bottom:clamp(0.3rem, 0.8vh, 0.8rem)}
.services-headline{margin-bottom:clamp(0.4rem, 1vh, 1rem)}
.srv-controls{margin-top:clamp(0.5rem, 1.2vh, 1.2rem)}
}
.choose{background:var(--bg);padding:6rem 2rem}
.choose-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.choose-images{position:relative;display:flex;gap:1rem;align-items:flex-end;height:560px}
.choose-img-left{position:relative;width:48%;height:100%;border-radius:20px;overflow:visible;flex-shrink:0}
.choose-img-left img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.choose-corner-bracket{position:absolute;top:-8px;left:-8px;width:36px;height:36px;border-top:3px solid var(--accent);border-left:3px solid var(--accent);border-radius:4px 0 0 0;z-index:2;pointer-events:none}
.choose-img-right{position:relative;width:48%;height:78%;border-radius:20px;overflow:visible;flex-shrink:0}
.choose-img-right img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.choose-badge{position:absolute;top:-55px;left:50%;transform:translateX(-50%);width:110px;height:110px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 16px rgba(0,0,0,0.10);z-index:3;animation:spin-badge 12s linear infinite}
.choose-badge svg{position:absolute;inset:0}
.choose-badge-icon{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.choose-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.85rem;font-weight:600;letter-spacing:0.1em;color:#2a2210;margin-bottom:1rem}
.choose-headline{font-family:var(--font-display);font-size:clamp(2rem, 3vw, 2.8rem);font-weight:800;color:#1a1610;line-height:1.05;margin-bottom:1.2rem}
.choose-headline-red{color:var(--accent)}
.choose-desc{font-size:0.95rem;color:#555;line-height:1.7;margin-bottom:2rem}
.choose-features{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}
.choose-feature-divider{width:1px;align-self:stretch;background:rgba(0,0,0,0.12);flex-shrink:0}
.choose-feature{display:flex;gap:1rem;align-items:flex-start}
.choose-feat-icon{width:46px;height:46px;flex-shrink:0;background:rgba(var(--green-rgb),0.12);border:1px solid rgba(var(--green-rgb),0.25);border-radius:10px;display:flex;align-items:center;justify-content:center}
.choose-feat-icon--filled{background:var(--accent);border:none;border-radius:50%;width:46px;height:46px}
.choose-feature h4{font-size:0.92rem;font-weight:700;color:#1a1610;margin-bottom:0.3rem}
.choose-feature p{font-size:0.82rem;color:#666;line-height:1.5}
.choose-dots{display:none}
.btn-choose{display:inline-flex;align-items:center;gap:0.4rem;padding:0.85rem 2rem;background:var(--accent);color:#fff;font-weight:700;font-size:0.9rem;letter-spacing:0.05em;border-radius:50px;text-decoration:none;transition:background 0.2s, transform 0.15s}
.btn-choose:hover{background:var(--accent-dark);transform:translateY(-2px)}
@media (max-width: 900px){
.choose-container{grid-template-columns:1fr;gap:3rem}
.choose-images{height:420px}
.choose-features{flex-direction:column}
.choose-feature-divider{width:100%;height:1px;align-self:auto}
}
.about-desc{font-size:0.88rem;line-height:1.55;margin-bottom:1rem;color:#555;text-align:justify}
.about-headline{font-size:clamp(1.7rem, 3vw, 2.5rem);margin-bottom:0.6rem}
.about-headline-underline{margin-bottom:1rem}
.about-stat-single{padding:1rem 1.2rem;margin-bottom:1.2rem}
.stat-number-red{font-size:1.6rem}
.stat-single-text strong{font-size:0.92rem}
.stat-single-text p{font-size:0.8rem;line-height:1.4}
.rbe-section{position:relative;background:#f5f0e8;padding:5.5rem 6vw 5.5rem;overflow:hidden}
.rbe-sketch-bg{position:absolute;bottom:0;left:0;width:52%;height:100%;background-image:url('../../assets/images/indexabout2.webp');background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.04;pointer-events:none;z-index:0}
.rbe-container{position:relative;z-index:1;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.rbe-content{display:flex;flex-direction:column;gap:0}
.rbe-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.2em;color:var(--green);text-transform:uppercase;margin-bottom:1.4rem}
.rbe-eyebrow-diamond{font-size:0.8rem;color:var(--green)}
.rbe-eyebrow-line{display:none}
.rbe-headline{font-family:'Poltawski Nowy', serif;font-size:clamp(2.6rem, 5vw, 4.2rem);font-weight:900;color:#111111;line-height:0.96;letter-spacing:-0.01em;margin-bottom:1.2rem}
.rbe-headline-red{color:var(--green)}
.rbe-rule{display:block;width:52px;height:3.5px;background:var(--green);margin-bottom:1.8rem}
.rbe-desc{font-size:1rem;line-height:1.75;color:#444444;max-width:520px;margin-bottom:2.4rem;text-align:justify}
.rbe-tagline{display:flex;flex-direction:column;gap:0.1rem;position:relative;width:100%;align-items:center}
.rbe-tagline-line1{font-family:'Dancing Script', 'Brush Script MT', 'Segoe Script', cursive;font-size:clamp(1.6rem, 2.5vw, 2.1rem);font-weight:700;color:#1a1610;line-height:1.3}
.rbe-tagline-line2{font-family:'Dancing Script', 'Brush Script MT', 'Segoe Script', cursive;font-size:clamp(1.6rem, 2.5vw, 2.1rem);font-weight:700;color:var(--green);line-height:1.3;display:block;padding-left:0}
.rbe-tagline-underline{display:block;width:180px;height:2.5px;background:var(--green);margin-top:0.3rem;margin-left:0;border-radius:2px}
.rbe-blades-wrap{display:flex;align-items:center;justify-content:center;padding:2rem 0 2rem 2rem}
.rbe-blades{position:relative;width:min(560px, 45vw);height:min(580px, 48vw);flex-shrink:0}
.rbe-blade{position:absolute;top:0;width:162px;height:100%;transform:skewX(-12deg);overflow:hidden;border-left:7px solid #ffffff;border-right:7px solid #ffffff;border-top:none;border-bottom:none;border-radius:0;box-shadow:0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.10);clip-path:polygon(0% 8%, 100% 0%, 100% 92%, 0% 100%)}
.rbe-blade-inner{position:absolute;top:0;left:-65px;right:-65px;bottom:0;transform:skewX(12deg);background-image:url('../../assets/images/index01.webp');background-repeat:no-repeat;background-size:auto 100%}
.rbe-blade--1{left:0}
.rbe-blade--1 .rbe-blade-inner{background-size:auto 100%;background-position:-107px center}
.rbe-blade--2{left:182px}
.rbe-blade--2 .rbe-blade-inner{background-size:auto 100%;background-position:-289px center}
.rbe-blade--3{left:364px}
.rbe-blade--3 .rbe-blade-inner{background-size:auto 100%;background-position:-471px center}
@media (max-width: 1100px){
.rbe-blades{width:480px;height:500px}
.rbe-blade{width:138px}
.rbe-blade--2{left:156px}
.rbe-blade--3{left:312px}
}
@media (max-width: 900px){
.rbe-container{grid-template-columns:1fr;gap:3rem}
.rbe-blades-wrap{padding:0;justify-content:center}
.rbe-blades{width:440px;height:360px}
.rbe-blade{width:128px}
.rbe-blade--2{left:146px}
.rbe-blade--3{left:292px}
.rbe-blade-inner{left:-50px;right:-50px}
.rbe-desc{max-width:100%}
}
@media (max-width: 600px){
.rbe-section{padding:4rem 1.4rem}
.rbe-blades{width:320px;height:280px}
.rbe-blade{width:92px;border-width:5px}
.rbe-blade--2{left:108px}
.rbe-blade--3{left:216px}
.rbe-blade-inner{left:-36px;right:-36px}
.rbe-blade--1 .rbe-blade-inner{background-position:-40px center}
.rbe-blade--2 .rbe-blade-inner{background-position:-148px center}
.rbe-blade--3 .rbe-blade-inner{background-position:-256px center}
.rbe-headline{font-size:clamp(2rem, 9vw, 2.8rem)}
}
.cv-section{background:#f5f0e8;padding:5.5rem 6vw}
.cv-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.cv-left{position:sticky;top:100px}
.cv-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.2em;color:var(--green);text-transform:uppercase;margin-bottom:1.4rem}
.cv-eyebrow-diamond{font-size:0.8rem;color:var(--green)}
.cv-eyebrow-line{display:inline-block;width:36px;height:1.5px;background:var(--green);opacity:0.7}
.cv-headline{font-family:'Poltawski Nowy', serif;font-size:clamp(2.4rem, 4vw, 3.6rem);font-weight:900;color:#111111;line-height:1.0;letter-spacing:-0.01em;margin-bottom:1.2rem}
.cv-headline-red{color:var(--green)}
.cv-rule{display:block;width:52px;height:3.5px;background:var(--green);margin-bottom:1.8rem}
.cv-desc{font-size:0.97rem;line-height:1.75;color:#555;text-align:justify}
.cv-right{padding-top:0.5rem}
.cv-timeline{position:relative;display:flex;flex-direction:column;gap:0}
.cv-timeline::before{content:'';position:absolute;left:27px;top:27px;bottom:30px;width:2px;background:var(--green);z-index:0}
.cv-item{display:flex;align-items:flex-start;gap:1.6rem;padding:1.4rem 0;position:relative;z-index:1}
.cv-item:last-child{padding-bottom:0}
.cv-icon-wrap{width:56px;height:56px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(var(--green-rgb),0.30);position:relative;z-index:2}
.cv-item-content{padding-top:0.5rem}
.cv-item-title{font-family:'Poltawski Nowy', serif;font-size:1rem;font-weight:800;color:#111111;letter-spacing:0.04em;margin-bottom:0.5rem;line-height:1.3}
.cv-item-desc{font-size:0.92rem;color:#555;line-height:1.65}
@media (max-width: 900px){
.cv-container{grid-template-columns:1fr;gap:3rem}
.cv-left{position:static}
}
@media (max-width: 600px){
.cv-section{padding:4rem 1.4rem}
.cv-headline{font-size:clamp(2rem, 9vw, 2.8rem)}
}
.showcase{position:relative;height:100vh;min-height:500px;overflow:hidden;display:flex;align-items:stretch}
.showcase-right{position:absolute;inset:0}
.showcase-img-wrap{width:100%;height:100%;position:relative}
.showcase-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:absolute;inset:0;transition:opacity 0.5s ease, transform 0.6s ease}
.showcase-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient( to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 15%, rgba(0, 0, 0, 0.20) 20%, rgba(0, 0, 0, 0.10) 25% );z-index:1}
.showcase-left{position:relative;z-index:2;width:380px;flex-shrink:0;padding:0 3rem 0 4rem;display:flex;flex-direction:column;justify-content:center;gap:0;background:transparent}
.showcase-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;color:#fff;text-transform:uppercase;margin-bottom:1rem}
.showcase-headline{font-family:var(--font-display);font-size:clamp(2.2rem, 3.5vw, 3.2rem);font-weight:900;color:#fff;line-height:1.05;margin-bottom:1rem}
.showcase-headline-red{color:#fff}
.showcase-underline{width:44px;height:3px;background:var(--accent);margin-bottom:1.2rem}
.showcase-desc{font-size:0.9rem;color:#ffffff;line-height:1.7;margin-bottom:2rem}
.btn-showcase{display:inline-flex;align-items:center;gap:0.4rem;padding:0.85rem 1.8rem;border:1.5px solid var(--accent);border-radius:6px;color:#fff;font-size:0.88rem;font-weight:700;letter-spacing:0.05em;text-decoration:none;transition:background 0.2s, border-color 0.2s;width:fit-content;margin-bottom:2.5rem;background:var(--accent)}
.btn-showcase:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.showcase-dots{display:flex;gap:8px;align-items:center}
.showcase-dot{width:28px;height:4px;border-radius:2px;background:rgba(255,255,255,0.25);cursor:pointer;transition:background 0.3s, width 0.3s}
.showcase-dot.active{background:var(--accent);width:44px}
.showcase-card{position:absolute;bottom:2.5rem;right:2.5rem;z-index:3;background:rgba(10,10,10,0.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:14px;padding:1.2rem 1.6rem;min-width:320px;border:1px solid rgba(255,255,255,0.08);transition:opacity 0.4s ease}
.showcase-card-icon{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;float:left;margin-right:1rem;flex-shrink:0}
.showcase-card-text{display:flex;flex-direction:column;gap:2px;overflow:hidden;padding-top:2px}
.showcase-card-text strong{font-size:1rem;font-weight:700;color:#fff;line-height:1.2}
.showcase-card-text span{font-size:0.82rem;color:rgba(255,255,255,0.55)}
.showcase-card-divider{clear:both;height:1px;background:rgba(255,255,255,0.1);margin:0.9rem 0}
.showcase-card-meta{display:flex;gap:1.4rem;align-items:center}
.showcase-card-meta span{display:flex;align-items:center;gap:5px;font-size:0.82rem;color:rgba(255,255,255,0.7)}
.showcase-card-meta svg{opacity:0.6;flex-shrink:0}
.showcase-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.3);background:rgba(0,0,0,0.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s}
.showcase-arrow:hover{background:var(--accent);border-color:var(--accent)}
.showcase-arrow--prev{left:1.5rem}
.showcase-arrow--next{right:1.5rem}
@media (max-width: 900px) and (min-width: 769px){
.showcase{height:auto;min-height:100vh}
.showcase-left{width:100%;padding:3rem 2rem 60vw}
.showcase-img-wrap::after{background:linear-gradient( to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.1) 100% )}
.showcase-card{min-width:unset;right:1rem;bottom:1rem;left:1rem}
.showcase-card-meta{gap:1rem}
}
@media (max-width: 768px){
.showcase{height:auto;min-height:100vh}
.showcase-left{padding:0.8rem 1.2rem 0.5rem;gap:0.3rem;justify-content:flex-start;padding-top:1rem}
.showcase-eyebrow{margin-bottom:0.2rem;font-size:0.72rem}
.showcase-headline{font-size:clamp(1.6rem, 7vw, 2.2rem);margin-bottom:0.3rem;line-height:1}
.showcase-underline{margin-bottom:0.4rem}
.showcase-desc{font-size:0.78rem;line-height:1.4;margin-bottom:0.6rem}
.btn-showcase{padding:0.6rem 1.2rem;font-size:0.8rem;margin-bottom:0.6rem}
.showcase-arrow{display:none}
.showcase-img-wrap::after{content:none}
.showcase-card{bottom:1rem;top:auto;left:1rem;right:1rem;min-width:unset}
}
.services{min-height:unset;padding:4rem 2rem;display:block}
@media (min-width: 769px){
.services{padding:clamp(1rem, 2vh, 2.5rem) 2rem}
.services-header{position:relative;z-index:3}
.services-eyebrow, .services-headline{text-shadow:0 1px 2px rgba(255, 255, 255, 0.95), 0 2px 6px rgba(255, 255, 255, 0.9)}
.services-divider-line, .services-divider-icon{filter:drop-shadow(0 1px 2px rgba(255, 255, 255, 0.9))}
}
.services-grid{grid-template-columns:repeat(5, 1fr);gap:1rem}
.service-icon-circle{width:clamp(80px, 10vw, 150px);height:clamp(80px, 10vw, 150px)}
.service-card{padding:1.4rem 1rem 1.2rem;gap:0.7rem}
.service-card h3{font-size:clamp(0.78rem, 1vw, 1.05rem)}
.service-desc{font-size:clamp(0.72rem, 0.85vw, 0.84rem)}
.service-arrow{width:36px;height:36px}
@media (max-width: 1100px){
.services-grid{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width: 700px){
.services-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 420px){
.services-grid{grid-template-columns:1fr}
}
.about-hero{position:relative;width:100%;height:100vh;min-height:500px;overflow:hidden;display:flex;align-items:center;background-image:none;background-size:cover;background-position:center right;background-attachment:scroll;background-repeat:no-repeat}
#hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:hidden}
#hero-webgl canvas{display:block;width:100% !important;height:100% !important;object-fit:cover}
#hero-webgl::before{content:"";position:absolute;inset:-4%;background-image:url('../../assets/images/abouthero.webp');background-size:cover;background-position:center}
#projects-hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden}
.about-hero-lcp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
#projects-hero-webgl canvas{display:block;width:100% !important;height:100% !important}
#projects-hero-webgl::before{content:"";position:absolute;inset:-4%;background-image:url('../../assets/images/projectshero.webp');background-size:cover;background-position:center}
#services-hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:hidden}
#services-hero-webgl canvas{display:block;width:100% !important;height:100% !important}
#services-hero-webgl::before{content:"";position:absolute;inset:-4%;background-image:url('../../assets/images/serviceshero.webp');background-size:cover;background-position:center}
#gallery-hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:hidden}
#gallery-hero-webgl canvas{display:block;width:100% !important;height:100% !important}
#gallery-hero-webgl::before{content:"";position:absolute;inset:-4%;background-image:url('../../assets/images/galleryhero.webp');background-size:cover;background-position:center}
#contact-hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:hidden}
#contact-hero-webgl canvas{display:block;width:100% !important;height:100% !important}
#contact-hero-webgl::before{content:"";position:absolute;inset:-4%;background-image:url('../../assets/images/contacthero.webp');background-size:cover;background-position:center}
#hero-webgl canvas, #projects-hero-webgl canvas, #services-hero-webgl canvas, #gallery-hero-webgl canvas, #contact-hero-webgl canvas{position:relative}
@media (max-width: 768px){
#hero-webgl::before, #projects-hero-webgl::before, #services-hero-webgl::before, #gallery-hero-webgl::before, #contact-hero-webgl::before{background-position:50% center}
#hero-webgl::before{background-position:90% center}
#projects-hero-webgl::before{background-position:80% center}
#services-hero-webgl::before{background-position:80% center}
#gallery-hero-webgl::before{background-position:85% center}
#contact-hero-webgl::before{background-position:55% center}
}
.about-hero-overlay{z-index:1}
.about-hero-content{position:relative;z-index:2}
.about-hero-bg{display:none}
.page-contact .about-hero{background-image:none;background-attachment:scroll}
.page-contact .about-hero-bg-img{display:block;position:absolute;inset:0;z-index:0;background-image:url('../../assets/images/contacthero.webp');background-size:cover;background-position:center}
.page-gallery .about-hero{background-image:none}
.page-projects .about-hero{background-image:none}
.page-services .about-hero{background-image:none}
.page-contact .about-hero-overlay, .page-services .about-hero-overlay, .page-projects .about-hero-overlay, .page-gallery .about-hero-overlay{display:none}
.page-contact .about-hero-content, .page-contact .about-hero-overlay{position:relative;z-index:3}
.about-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient( to right, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.70) 22%, rgba(255, 255, 255, 0.30) 38%, rgba(255, 255, 255, 0.00) 55% )}
.about-hero-content{position:relative;z-index:2;padding:0 5vw;max-width:600px;display:flex;flex-direction:column;gap:0;will-change:transform, opacity;transition:opacity 0.05s linear}
.about-hero-eyebrow{display:flex;align-items:center;gap:0.7rem;font-family:'Poltawski Nowy', serif;font-size:clamp(0.8rem, 1.1vw, 1rem);font-weight:700;letter-spacing:0.18em;color:var(--green);text-transform:uppercase;margin-bottom:clamp(1rem, 2.5vh, 1.8rem)}
.about-hero-eyebrow-line{display:block;width:clamp(28px, 4vw, 48px);height:2px;background:var(--green);flex-shrink:0}
.about-hero-headline{font-family:'Poltawski Nowy', serif;font-size:clamp(2.1rem, 4.5vw, 3.4rem);font-weight:900;line-height:0.95;letter-spacing:0.01em;color:#111111;margin-bottom:clamp(1rem, 3vh, 2rem)}
.about-hero-headline .hl-red{color:var(--green)}
.about-hero-rule{display:block;width:clamp(32px, 4vw, 52px);height:3px;background:var(--green);margin-bottom:clamp(0.8rem, 2vh, 1.4rem)}
.about-hero-tagline{font-family:'Poltawski Nowy', serif;font-size:clamp(0.7rem, 1vw, 0.88rem);font-weight:500;letter-spacing:0.22em;color:#000;text-transform:uppercase}
.page-services .service-desc, .page-services .service-feature-desc{text-align:justify}
.about-hero + *{position:relative;z-index:10}
@media (max-width: 768px){
.about-hero, .page-contact .about-hero, .page-gallery .about-hero{align-items:flex-start;padding-top:18vh}
.about-hero-overlay{background:none}
.about-hero-content{max-width:100%;padding:0 6vw}
.about-hero-tagline{background:#fff;padding:0.3rem 0.8rem;border-radius:4px;display:inline-block;color:#444}
.about-hero-eyebrow{font-size:1.1rem;color:#fff}
.about-hero-headline{font-size:clamp(2.2rem, 9vw, 3rem);color:#fff}
}
@media (max-width: 480px){
.about-hero{padding-top:38vw}
}
.values{position:relative;background:#f7f5f2;padding:2rem 2rem 2.5rem;overflow:hidden}
.values-bg-left, .values-bg-right{position:absolute;top:0;height:100%;pointer-events:none;z-index:0}
.values-bg-left{left:0;width:45%}
.values-bg-right{right:0;width:35%}
.values-bg-left img{width:100%;height:100%;object-fit:cover;object-position:center}
.values-bg-right img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:0.8}
.values-header{position:relative;z-index:1;text-align:center;max-width:680px;margin:0 auto 1.6rem}
.values-header-icon{display:flex;justify-content:center;margin-bottom:0.4rem}
.values-header-icon svg{width:22px;height:26px}
.values-eyebrow-wrap{display:inline-flex;align-items:center;gap:0.8rem;margin-bottom:0.5rem}
.values-eyebrow-line{display:block;width:40px;height:1.5px;background:var(--green);opacity:0.6}
.values-eyebrow-text{font-size:0.72rem;font-weight:700;letter-spacing:0.18em;color:var(--green);text-transform:uppercase}
.values-headline{font-family:var(--font-display);font-size:clamp(1.6rem, 3vw, 2.6rem);font-weight:800;color:#111;line-height:1.05;margin-bottom:0.4rem}
.values-headline-red{color:var(--green)}
.values-header-divider{width:36px;height:2px;background:#ccc;margin:0.4rem auto}
.values-subtext{font-size:0.82rem;color:#666;line-height:1.5}
.values-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3, 1fr);gap:1.2rem;max-width:1200px;margin:0 auto;align-items:stretch}
.values-card{position:relative;padding-top:2rem;display:flex;flex-direction:column}
.values-number{font-family:var(--font-display);font-size:clamp(2.8rem, 4vw, 4.2rem);font-weight:900;color:var(--green);line-height:1;display:block;margin-bottom:0.3rem;padding-left:0.5rem}
.values-card::after{display:none}
.values-card-inner{flex:1;background:#fff;border:1px solid rgba(0,0,0,0.07);border-radius:0;padding:1.2rem 1.2rem 1.4rem;position:relative;clip-path:polygon( 0% 0%, 100% 0%, 100% calc(100% - 36px), calc(100% - 36px) 100%, 0% 100% );box-shadow:-3px 0 0 0 var(--green), 0 0 0 1px rgba(var(--green-rgb),0.18) inset, 0 6px 24px rgba(0,0,0,0.07)}
.values-card-inner::after{content:'';position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 36px 36px;border-color:transparent transparent var(--green) transparent;pointer-events:none}
.values-card-title-row{display:flex;align-items:flex-start;gap:0.8rem;margin-bottom:0.8rem}
.values-icon-circle{width:42px;height:42px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(var(--green-rgb),0.28)}
.values-icon-circle svg{width:20px;height:20px}
.values-card-heading{font-family:var(--font-display);font-size:0.92rem;font-weight:800;color:#111;letter-spacing:0.06em;margin-bottom:0.3rem;padding-top:0.25rem}
.values-card-underline{display:block;width:24px;height:2px;background:var(--green)}
.values-card-text{font-size:0.8rem;color:#555;line-height:1.5;text-align:justify;margin-bottom:0.6rem}
.values-card-text:last-child{margin-bottom:0}
@media (max-width: 900px){
.values-grid{grid-template-columns:1fr;max-width:480px}
.values-bg-left, .values-bg-right{display:none}
}
.frame-show-section{position:relative;background:#fefefe;padding:0;overflow:hidden;height:100vh}
.frame-show-inner{position:relative;z-index:1;width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:stretch}
.frame-show-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;color:var(--green);text-transform:uppercase;margin-bottom:1rem}
.frame-show-star{color:var(--green);font-size:0.85rem}
.frame-show-headline{font-family:var(--font-display);font-size:clamp(2rem, 4.5vw, 3.2rem);font-weight:900;color:#2C2C2C;line-height:1.02;letter-spacing:-0.01em;margin-bottom:2.2rem}
.frame-show-headline-green{color:var(--green)}
.frame-show-stage{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%}
.frame-show-logo{display:flex;align-items:center;justify-content:center;padding:0;margin-left:-12%}
.frame-show-logo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.frame-show-media{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 2rem 0 0;box-sizing:border-box;z-index:2}
.frame-show-canvas-wrap{position:relative;width:124%;margin-left:-12%;aspect-ratio:16 / 9;height:auto;max-height:100%}
.frame-show-canvas{width:100%;height:100%;object-fit:contain;display:block;will-change:transform}
.frame-show-line{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.frame-show-line line{stroke:#ffffff;opacity:0.95}
#frameShowCanvas{opacity:0;transition:opacity 0.4s ease}
@media (max-width: 900px){
.frame-show-section{height:auto;padding:3rem 1rem 2.5rem}
.frame-show-inner{margin:0 auto;align-items:center;height:auto}
.frame-show-stage{grid-template-columns:1fr;gap:1.5rem;height:auto}
.frame-show-logo{padding:0;margin-left:0}
.frame-show-logo img{height:180px;object-fit:cover}
.frame-show-media{padding:0}
.frame-show-canvas-wrap{width:100%;margin-left:0;max-height:none}
.frame-show-canvas{width:100%;margin-left:0;height:auto;aspect-ratio:16 / 9}
}
.process{background:var(--bg);padding:3rem 2rem}
.process-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.process-headline{font-family:var(--font-display);font-size:clamp(1.6rem, 3vw, 2.4rem);font-weight:900;color:#111;line-height:1.02;margin-bottom:0.6rem}
.process-headline-red{color:var(--accent)}
.process-desc{font-size:0.85rem;color:#555;line-height:1.5;margin-bottom:0.8rem;max-width:480px}
.process-video-box{display:inline-flex;align-items:center;justify-content:center;width:48px;height:40px;border:1.5px solid rgba(var(--green-rgb),0.35);border-radius:6px;margin-bottom:0.8rem}
.process-divider{border:none;border-top:1px solid rgba(0,0,0,0.10);margin:0 0 0.8rem 0}
.process-sub-heading{font-size:0.88rem;font-weight:700;color:#111;margin-bottom:0.3rem}
.process-sub-desc{font-size:0.82rem;color:#555;line-height:1.5;margin-bottom:1rem;max-width:480px}
.process-features{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.2rem}
.process-feature{display:flex;align-items:flex-start;gap:0.7rem;flex:1}
.process-feat-icon{width:38px;height:38px;flex-shrink:0;background:rgba(var(--green-rgb),0.08);border:1px solid rgba(var(--green-rgb),0.18);border-radius:50%;display:flex;align-items:center;justify-content:center}
.process-feat-text strong{display:block;font-size:0.85rem;font-weight:700;color:#111;margin-bottom:0.2rem}
.process-feat-text p{font-size:0.78rem;color:#666;line-height:1.4;margin:0}
.process-feat-divider{width:1px;align-self:stretch;background:rgba(0,0,0,0.10);flex-shrink:0}
.btn-process{display:inline-flex;align-items:center;gap:0.4rem;padding:0.7rem 1.6rem;background:var(--accent);color:#fff;font-weight:700;font-size:0.85rem;letter-spacing:0.05em;border-radius:8px;text-decoration:none;transition:background 0.2s, transform 0.15s}
.btn-process:hover{background:var(--accent-dark);transform:translateY(-2px)}
.process-images{position:relative;height:400px}
.process-img-back{position:absolute;top:0;right:0;width:52%;height:57%;border-radius:18px;overflow:hidden;border:5px solid #fff;z-index:1}
.process-img-back img{width:100%;height:100%;object-fit:cover}
.process-img-front{position:absolute;left:0;bottom:0;width:62%;height:57%;border-radius:18px;overflow:hidden;border:5px solid #fff;z-index:2}
.process-img-front img{width:100%;height:100%;object-fit:cover}
.process-stat-card{position:absolute;bottom:0;right:0;z-index:3;background:var(--accent);border-radius:12px;padding:1rem 1.2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.2rem;width:30%}
.process-stat-icon{margin-bottom:0.3rem}
.process-stat-number{font-family:var(--font-display);font-size:2rem;font-weight:900;color:#fff;line-height:1}
.process-stat-label{font-size:0.82rem;font-weight:600;color:rgba(255,255,255,0.92);line-height:1.3}
@media (max-width: 900px){
.process-container{grid-template-columns:1fr;gap:3rem}
.process-images{height:360px}
}
@media (max-width: 600px){
.process-stat-card{padding:0.6rem 0.8rem}
.process-stat-number{font-size:1.4rem}
.process-stat-label{font-size:0.7rem}
.process-features{flex-direction:column}
.process-feat-divider{width:100%;height:1px;align-self:auto}
}
@media (max-width: 768px){
.hero{flex-direction:column-reverse;min-height:auto;overflow:visible;gap:0}
.hero-bg{display:none}
.hero-divider-mobile{display:none}
.hero-content{position:relative;z-index:2;width:100%;padding:100px 1.4rem 6rem;background-image:url('../images/indexheromobile1.webp');background-size:cover;background-position:center bottom;background-repeat:no-repeat;min-height:130vw;clip-path:polygon(0 0, 100% 0, 100% 88%, 0% 100%)}
.hero-headline{font-size:clamp(2.2rem, 9vw, 3rem)}
.hero-sub{font-size:0.85rem;margin-bottom:1.4rem;backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,0.5);border:none}
.hero-features{flex-direction:column;gap:0.7rem;margin-bottom:1.6rem}
.feature-pill{min-width:unset;width:100%}
.hero-content::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:var(--green);clip-path:polygon(0 60%, 100% 0%, 100% 100%, 0% 100%);z-index:3;pointer-events:none}
.hero-person{position:relative;width:100%;height:150vw;max-height:none;opacity:1;background-image:url('../images/indexheromobile2.webp');background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;align-items:flex-end;justify-content:center;z-index:1;top:auto;bottom:auto;right:auto;clip-path:polygon(0 6%, 100% 0%, 100% 100%, 0% 100%);margin-top:-40px}
.hero-person img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:88%;width:auto;object-fit:contain;object-position:bottom center;z-index:2}
.hero-badge{position:absolute;top:16px;right:12px;bottom:auto;width:90px;height:90px}
.hero-badge svg{width:90px;height:90px}
html, body{overflow-x:hidden;max-width:100%}
.hero, .gallery, .about, .services, .choose, .process, .values, .showcase{overflow-x:hidden;max-width:100vw}
}
@media (max-width: 768px){
.hero-content::before{display:none}
}
.dream-section{background:var(--bg);padding:4rem 2rem 4rem 0}
.dream-inner{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;align-items:center}
.dream-image-col{position:relative;padding:3rem 2rem 3rem 3rem;display:flex;align-items:center;align-self:stretch}
.dream-image-wrap{--dream-radius:80px;position:relative;width:100%;height:100%;min-height:500px;max-height:75vh;border-radius:var(--dream-radius) 0 var(--dream-radius) 0;overflow:hidden;margin-left:1.5rem}
.dream-image-wrap img, .dream-image-wrap video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.dream-image-wrap video{border-radius:var(--dream-radius) 0 var(--dream-radius) 0}
.dream-years-badge{position:absolute;bottom:3rem;left:3rem;background:var(--accent);border-radius:10px;padding:1.2rem 1.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:0.2rem;background-image:radial-gradient(circle, rgba(255,255,255,0.15) 1px, transparent 1px), linear-gradient(0deg, var(--accent), var(--accent));background-size:12px 12px, 100% 100%;z-index:2}
.dream-years-num{font-family:var(--font-display);font-size:3rem;font-weight:900;color:#fff;line-height:1}
.dream-years-label{font-size:0.75rem;font-weight:700;letter-spacing:0.1em;color:rgba(255,255,255,0.9);line-height:1.4;text-transform:uppercase}
.dream-content-col{display:flex;flex-direction:column;justify-content:center;padding:4rem 5vw 4rem 3vw;position:relative;background-repeat:no-repeat;background-position:right 2rem center;background-size:220px auto}
.dream-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1.2rem}
.dream-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.dream-headline{font-family:var(--font-body);font-size:clamp(2rem, 3.5vw, 3rem);font-weight:800;color:#1a1610;line-height:1.15;margin-bottom:1.4rem}
.dream-headline-red{color:var(--accent)}
.dream-desc{font-size:0.95rem;color:#555;line-height:1.75;margin-bottom:1rem;max-width:520px;text-align:justify}
.dream-widgets{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}
.dream-widget{flex:1;min-width:120px;display:flex;flex-direction:column;gap:0.5rem}
.dream-widget-icon{width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.2);background:rgba(var(--green-rgb),0.05);display:flex;align-items:center;justify-content:center;margin-bottom:0.4rem}
.dream-widget-title{font-size:0.78rem;font-weight:800;letter-spacing:0.1em;color:var(--accent);text-transform:uppercase}
.dream-widget-desc{font-size:0.85rem;color:#666;line-height:1.55;text-align:justify}
@media (max-width: 768px){
.dream-section{height:auto;overflow:visible;padding:0}
.dream-inner{grid-template-columns:1fr;min-height:unset}
.dream-content-col{order:1;padding:2rem 1.4rem 1rem;background-image:none;height:auto;overflow:visible}
.dream-image-col{order:2;padding:0 1.4rem 1.4rem;display:block;height:auto;align-self:auto}
.dream-image-wrap{--dream-radius:80px;border-radius:var(--dream-radius) 0 var(--dream-radius) 0;min-height:unset;max-height:unset;height:260px;margin-left:0;width:100%;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black);isolation:isolate}
.dream-image-wrap img, .dream-image-wrap video{width:100%;height:100%;object-fit:cover;border-radius:var(--dream-radius) 0 var(--dream-radius) 0}
.dream-years-badge{position:relative;bottom:auto;left:auto;display:flex;flex-direction:row;align-items:center;gap:1rem;border-radius:12px;padding:1rem 1.4rem;width:100%;margin-top:0.8rem}
.dream-years-num{font-size:2rem}
.dream-years-label{font-size:0.75rem}
.dream-widgets{display:none}
.dream-widgets-mobile{display:flex !important;flex-direction:column;gap:1rem;padding:1.2rem 1.4rem 2.5rem;background:#fff}
.dream-widget-mobile{display:flex;align-items:flex-start;gap:1rem}
.dream-widget-mobile .dream-widget-icon{flex-shrink:0;margin-bottom:0}
}
@media (min-width: 769px){
.dream-widgets-mobile{display:none}
}
.service-feature{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;background-size:cover;background-position:center;background-attachment:scroll}
@supports not (background: -webkit-named-image(i)){
@supports not (-webkit-touch-callout: none){.service-feature{background-attachment:fixed}}
}
.service-feature + .service-feature{border-top:5px solid var(--accent)}
#construction{background-image:url('../../assets/images/services/construction.webp');border-top:5px solid var(--accent)}
#architecture{background-image:url('../../assets/images/services/architecture.webp')}
#interior{background-image:url('../../assets/images/services/interior.webp')}
#structural{background-image:url('../../assets/images/services/structure.webp')}
#renovation{background-image:url('../../assets/images/services/renovation.webp')}
#interior-works{background-image:url('../../assets/images/services/INTERIORWORKS.webp')}
#consultancy{background-image:url('../../assets/images/services/CONSULTANCYSERVICE.webp')}
#supervising{background-image:url('../../assets/images/services/SUPERVISINGTHEPROJECTS.webp')}
#soil-testing{background-image:url('../../assets/images/services/SOILTESTING.webp')}
#piling-works{background-image:url('../../assets/images/services/PILINGWORKS.webp')}
#modeling-3d{background-image:url('../../assets/images/services/3DMODELINGS.webp')}
.service-feature-bg{display:none}
.service-feature-overlay{position:absolute;inset:0;z-index:1}
.service-feature-card{position:relative;z-index:2;background:#fff;border-radius:20px;padding:1.2rem 2.4rem;max-width:580px;margin:2rem auto 0 5vw;box-shadow:0 20px 60px rgba(0,0,0,0.18);will-change:transform, opacity;transform:translateZ(0);flex:1;min-height:0;overflow:hidden}
.service-feature-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.service-feature-eyebrow-line{display:block;width:36px;height:2px;background:var(--accent);flex-shrink:0}
.service-feature-headline{font-family:var(--font-display);font-size:clamp(1.8rem, 3vw, 2.8rem);font-weight:900;color:#111;line-height:1.05;margin-bottom:1.2rem}
.service-feature-red{color:var(--accent)}
.service-feature-desc{font-size:0.85rem;color:#555;line-height:1.6;margin-bottom:0.8rem}
.service-feature-desc:last-of-type{margin-bottom:1.4rem}
.btn-service-feature{display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 2rem;background:var(--accent);color:#fff;font-weight:700;font-size:0.9rem;letter-spacing:0.05em;border-radius:8px;text-decoration:none;transition:background 0.2s, transform 0.15s}
.btn-service-feature:hover{background:var(--accent-dark);transform:translateY(-2px)}
.service-feature-pills{position:relative;z-index:2;background:rgba(15, 12, 10, 0.92);display:flex;align-items:center;justify-content:center;gap:0;padding:0 4vw;flex-shrink:0;height:10vh;min-height:80px}
.service-feature-pill{display:flex;align-items:center;gap:1.2rem;flex:1;justify-content:center}
.sfp-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sfp-label{font-size:1rem;font-weight:700;color:#fff;line-height:1.3}
.sfp-divider{width:1px;height:52px;background:rgba(255,255,255,0.15);flex-shrink:0;margin:0 1rem}
@media (max-width: 900px){
.service-feature-card{max-width:90%;margin:2rem auto 0}
}
@media (max-width: 768px){
.service-feature{height:auto;min-height:100vh;background-attachment:scroll}
#construction{background-image:url('../../assets/images/services/construction_mobile.webp')}
#architecture{background-image:url('../../assets/images/services/architecture_mobile.webp')}
#interior{background-image:url('../../assets/images/services/interior_mobile.webp')}
#structural{background-image:url('../../assets/images/services/structure_mobile.webp')}
#renovation{background-image:url('../../assets/images/services/renovation_mobile.webp')}
#architecture{background-size:144% auto;background-position:left center}
.service-feature-card{max-width:100%;margin:2rem 1rem 0;padding:1.2rem 1.4rem;border-radius:14px}
.service-feature-headline{font-size:clamp(1.6rem, 7vw, 2.2rem)}
.service-feature-pills{flex-wrap:wrap;gap:1.2rem;padding:1.5rem 1.2rem;height:auto;min-height:0}
.service-feature-pill{flex:1 1 40%;justify-content:flex-start;gap:0.8rem}
.sfp-divider{display:none}
.sfp-label{font-size:0.88rem}
.service-feature-card{background:transparent;box-shadow:none;border-radius:0;margin:0;padding:6rem 1.4rem 1.4rem;max-width:100%}
.service-feature-eyebrow{color:var(--green-light)}
.service-feature-headline{color:#ffffff}
.service-feature-desc{color:rgba(255, 255, 255, 0.88)}
.service-feature-overlay{background:linear-gradient( to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.45) 60%, rgba(0, 0, 0, 0.75) 100% )}
.service-feature-pills{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem 1rem}
.sfp-divider{display:none}
.service-feature-pill{flex:unset;justify-content:flex-start}
}
.service-feature-card--right{margin:4rem 5vw 2.5rem auto}
@media (max-width: 900px){
.service-feature-card--right{max-width:90%;margin:5rem auto 2rem}
}
@media (max-width: 768px){
.service-feature-card--right{max-width:100%;margin:5rem 1rem 1.5rem}
}
#construction.service-feature--cinematic{}
#constructionCard{margin:4rem 0 2.5rem 5vw;will-change:transform, opacity;transform-origin:center center}
@media (max-width: 768px){
#constructionCard{margin:0;will-change:auto}
}
@media (max-width: 768px){
.service-feature-card{will-change:auto;transform:none}
}
.gal-section{background:#fff;padding:5rem 2rem 4rem}
.gal-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:center}
.gal-eyebrow{display:flex;align-items:center;gap:0.7rem;font-size:0.75rem;font-weight:700;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.gal-eyebrow-line{display:block;width:32px;height:2px;background:var(--accent);flex-shrink:0}
.gal-headline{font-family:var(--font-display);font-size:clamp(2.4rem, 4vw, 3.6rem);font-weight:900;color:#111;line-height:0.98;margin-bottom:1.2rem;letter-spacing:0.01em}
.gal-headline-red{color:var(--accent)}
.gal-left{display:flex;flex-direction:column;justify-content:center}
.gal-desc{font-size:0.84rem;color:#666;line-height:1.65;margin-bottom:1.4rem;text-align:justify}
.gal-rule{display:block;width:32px;height:2px;background:var(--accent);margin-bottom:1.2rem}
.gal-counter{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#111;margin-bottom:1.4rem;letter-spacing:0.04em}
.gal-counter-current{font-size:1.5rem;font-weight:900;color:var(--accent)}
.gal-counter-sep, .gal-counter-total{color:#aaa;font-size:1rem}
.gal-arrows{display:flex;gap:1rem;justify-content:center}
.gal-arrow{width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(0,0,0,0.15);background:#fff;color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s, color 0.2s}
.gal-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.gal-slider-wrap{position:relative}
.gal-slider{position:relative;width:100%;height:440px;border-radius:20px;overflow:hidden}
.gal-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.55s ease;pointer-events:none}
.gal-slide.active{opacity:1;pointer-events:all}
.gal-slide-inner{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden}
.gal-slide-inner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.gal-slide-badge{position:absolute;top:1.2rem;left:1.2rem;z-index:3;background:rgba(255,255,255,0.92);color:#111;font-size:0.7rem;font-weight:700;letter-spacing:0.1em;padding:0.35rem 0.9rem;border-radius:20px}
.gal-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.5);background:rgba(0,0,0,0.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s}
.gal-slide-arrow:hover{background:var(--accent);border-color:var(--accent)}
.gal-slide-arrow--prev{left:1rem}
.gal-slide-arrow--next{right:1rem}
.gal-slide-overlay{position:absolute;inset:0;background:linear-gradient( to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.20) 40%, rgba(0,0,0,0.00) 65% );z-index:1}
.gal-slide-info{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;padding:1.4rem 1.6rem}
.gal-slide-name{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:#fff;line-height:1.1;margin-bottom:0.3rem;letter-spacing:0.02em}
.gal-slide-loc{display:flex;align-items:center;gap:0.3rem;font-size:0.82rem;color:rgba(255,255,255,0.8)}
.gal-slide-link{display:inline-flex;align-items:center;gap:0.4rem;color:#fff;font-size:0.82rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color 0.2s;padding-bottom:0.2rem}
.gal-slide-link:hover{color:var(--accent)}
.gal-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1.2rem}
.gal-dot{width:10px;height:10px;border-radius:50%;background:#ddd;cursor:pointer;transition:background 0.3s, transform 0.3s;border:none}
.gal-dot.active{background:var(--accent);transform:scale(1.25)}
.gal-grid-section{background:#f7f6f4;padding:3rem 2rem 5rem}
.gal-grid-container{max-width:1200px;margin:0 auto}
.gal-filter-bar{display:flex;align-items:center;background:#fff;border-radius:14px;padding:0.5rem;margin-bottom:2rem;box-shadow:0 2px 16px rgba(0,0,0,0.06);overflow-x:auto}
.gal-filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;padding:0.75rem 1.4rem;border:none;background:none;font-family:var(--font-body);font-size:0.88rem;font-weight:600;color:#555;cursor:pointer;border-radius:10px;transition:color 0.2s, background 0.2s;white-space:nowrap;position:relative;flex:1}
.gal-filter-btn.active{color:var(--accent)}
.gal-filter-btn.active::after{content:'';position:absolute;bottom:0;left:1.4rem;right:1.4rem;height:2px;background:var(--accent);border-radius:2px}
.gal-filter-btn:hover:not(.active){color:#111}
.gal-filter-icon{display:flex;align-items:center;flex-shrink:0}
.gal-filter-divider{width:1px;height:28px;background:rgba(0,0,0,0.09);flex-shrink:0;margin:0 0.2rem}
.gal-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem}
.gal-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;height:260px}
.gal-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.45s ease}
.gal-card:hover img{transform:scale(1.04)}
.gal-card-overlay{position:absolute;inset:0;background:linear-gradient( to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.18) 45%, rgba(0,0,0,0.00) 70% );z-index:1;transition:background 0.3s}
.gal-card:hover .gal-card-overlay{background:linear-gradient( to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.28) 50%, rgba(0,0,0,0.05) 75% )}
.gal-card-info{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;padding:1rem 1.1rem}
.gal-card-name{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:#fff;line-height:1.15;margin-bottom:0.2rem;letter-spacing:0.01em}
.gal-card-status{font-size:0.75rem;color:rgba(255,255,255,0.7);font-weight:500}
.gal-card-arrow{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.45);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;flex-shrink:0;transition:background 0.2s, border-color 0.2s}
.gal-card-arrow:hover{background:var(--accent);border-color:var(--accent)}
.gal-view-all-wrap{text-align:center;margin-top:2.5rem}
.gal-view-all-btn{display:inline-flex;align-items:center;gap:0.6rem;padding:0.9rem 2.8rem;border:1.5px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:700;font-size:0.92rem;letter-spacing:0.04em;text-decoration:none;transition:background 0.2s, color 0.2s}
.gal-view-all-btn:hover{background:var(--accent);color:#fff}
@media (max-width: 900px){
.gal-container{grid-template-columns:1fr;gap:2rem}
.gal-slider{height:360px}
.gal-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 768px){
.gal-section{padding:3rem 1.2rem 2.5rem}
.gal-grid-section{padding:2rem 1.2rem 3rem}
.gal-card{height:200px}
.gal-slider{height:300px}
.gal-filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;overflow:visible}
.gal-filter-btn{padding:0.65rem 0.9rem;font-size:0.8rem}
.gal-filter-divider{display:none}
}
@media (max-width: 480px){
.gal-grid{grid-template-columns:1fr}
.gal-slider{height:260px}
.gal-slide-name{font-size:1.2rem}
}
.gal-lightbox{position:fixed;inset:0;background:rgba(0, 0, 0, 0.93);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease}
.gal-lightbox.active{opacity:1;pointer-events:all}
.gal-lightbox img{max-width:90vw;max-height:88vh;border-radius:12px;object-fit:contain;box-shadow:0 24px 80px rgba(0, 0, 0, 0.6);transition:transform 0.3s ease}
.gal-lightbox-close{position:absolute;top:1.2rem;right:1.8rem;background:rgba(255, 255, 255, 0.1);border:1.5px solid rgba(255, 255, 255, 0.25);border-radius:50%;width:44px;height:44px;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s, border-color 0.2s}
.gal-lightbox-close:hover{background:var(--accent);border-color:var(--accent)}
.proj-split-section{background:#f7f6f4;padding:5rem 0 0}
.proj-split-header{text-align:center;margin-bottom:3rem}
.proj-split-eyebrow{display:inline-flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:700;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.proj-split-eyebrow-line{display:block;width:36px;height:2px;background:var(--accent);flex-shrink:0}
.proj-split-headline{font-family:var(--font-display);font-size:clamp(2.2rem, 5vw, 4rem);font-weight:900;color:#111;line-height:1.02;margin-bottom:0.6rem;letter-spacing:0.01em}
.proj-split-red{color:var(--accent)}
.proj-split-rule{display:block;width:44px;height:3px;background:var(--accent);margin:0.6rem auto 1rem}
.proj-split-sub{font-size:0.95rem;color:#666;line-height:1.7}
.proj-split-panels{position:relative;display:flex;width:100%;height:100vh;border-radius:0;overflow:hidden;margin-left:0}
.proj-panel{position:relative;flex:1;overflow:hidden;cursor:pointer;border-radius:0}
.proj-panel img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 0.5s ease}
.proj-panel:hover img{transform:scale(1.04)}
.proj-panel-overlay{position:absolute;inset:0;background:linear-gradient( to top, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.05) 100% );z-index:1}
.proj-panel-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:2rem 2.5rem}
.proj-panel-title{font-family:var(--font-display);font-size:clamp(2rem, 3.5vw, 3rem);font-weight:900;color:#fff;line-height:1;margin-bottom:0.6rem;letter-spacing:0.02em}
.proj-panel-title-red{color:var(--accent)}
.proj-panel-rule{display:block;width:32px;height:2.5px;background:var(--accent);margin-bottom:0.8rem}
.proj-panel-desc{font-size:0.88rem;color:#fff;line-height:1.6;margin-bottom:1.4rem}
.proj-panel-btn{display:inline-flex;align-items:center;gap:0.6rem;padding:0.75rem 1.6rem;border:1.5px solid rgba(255,255,255,0.6);border-radius:6px;color:#fff;font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-decoration:none;transition:background 0.2s, border-color 0.2s}
.proj-panel-btn:hover{background:var(--accent);border-color:var(--accent)}
.proj-panel-icon{position:absolute;top:1.5rem;left:1.5rem;z-index:2;width:52px;height:52px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center}
.proj-split-divider{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);z-index:10;display:flex;align-items:center;gap:0;background:#fff;border-radius:50px;padding:0.3rem;box-shadow:0 4px 20px rgba(0,0,0,0.2)}
.proj-split-nav{width:36px;height:36px;border:none;background:none;color:#333;display:flex;align-items:center;justify-content:center;cursor:default;border-radius:50%;transition:none}
.proj-split-nav:hover{background:none;color:#333;cursor:default}
@media (max-width: 768px){
.proj-split-section{padding:3rem 0 0}
.proj-split-panels{flex-direction:column;height:auto;width:100%;margin-left:0;border-radius:0}
.proj-panel{flex:none;width:100%;height:auto;aspect-ratio:4 / 3}
.proj-panel img{width:100%;height:100%;object-fit:cover}
.proj-split-divider{display:none}
}
.contact-section{background:#f7f6f4;padding:5rem 2rem;position:relative}
.contact-section:nth-of-type(2){border-bottom:3px solid transparent;padding-bottom:0}
.contact-section:nth-of-type(3){border-top:3px solid transparent;padding-top:0}
.contact-header{max-width:1100px;margin:0 auto 3.5rem}
.contact-header-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:3rem;align-items:center}
.contact-header-text{text-align:center}
.contact-header-text .services-divider{justify-content:center}
.contact-header-media{border-radius:16px;overflow:hidden;box-shadow:0 4px 32px rgba(0,0,0,0.12)}
.contact-header-video{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3}
.contact-head-sub{max-width:640px;margin:1.5rem auto 0;font-size:0.98rem;color:#666;line-height:1.7;text-align:justify;text-justify:inter-word;text-align-last:center}
.contact-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}
.contact-form-col{background:#fff;border-radius:16px;box-shadow:0 4px 32px rgba(0,0,0,0.10);padding:2.5rem 2rem}
.contact-info-col{display:flex;flex-direction:column;gap:1.5rem}
.contact-info-card{background:#fff;border-radius:16px;box-shadow:0 4px 32px rgba(0,0,0,0.10);padding:2.5rem 2rem}
.contact-map{flex:1;min-height:220px;border-radius:14px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 4px 20px rgba(0,0,0,0.07)}
.contact-map iframe{width:100%;height:100%;min-height:220px;display:block;border:0}
.contact-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:800;letter-spacing:0.14em;color:#111;text-transform:uppercase;margin-bottom:0.5rem}
.contact-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.contact-sub{font-size:0.88rem;color:#666;line-height:1.6;margin-bottom:1.8rem}
.contact-form{display:flex;flex-direction:column;gap:0.9rem}
.cf-row{width:100%}
.cf-field{position:relative;display:flex;align-items:center;border:1px solid #ddd;border-radius:8px;background:#fafafa;transition:border-color 0.2s;overflow:hidden}
.cf-field:focus-within{border-color:#aaa;background:#fff}
.cf-field.cf-invalid{border-color:var(--accent) !important;background:var(--accent-tint)}
.cf-field--textarea{align-items:flex-start}
.cf-field--select{}
.cf-icon{width:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#aaa;pointer-events:none}
.cf-icon--top{margin-top:0.75rem;align-self:flex-start}
.cf-field input, .cf-field select, .cf-field textarea{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:0.88rem;color:#111;padding:0.85rem 0.5rem 0.85rem 0;outline:none;resize:none;-webkit-appearance:none;appearance:none}
.cf-field select{cursor:pointer;padding-right:2rem}
.cf-field textarea{padding-top:0.85rem}
.cf-select-arrow{position:absolute;right:2.2rem;color:#aaa;pointer-events:none;display:flex;align-items:center}
.cf-required{color:var(--accent);font-size:1rem;font-weight:700;padding:0 0.55rem 0 0.2rem;flex-shrink:0;align-self:center}
.cf-field--textarea .cf-required{margin-top:0.75rem;align-self:flex-start}
.cf-err{display:none;position:absolute;bottom:-1.35rem;left:44px;font-size:0.72rem;color:var(--accent);font-weight:600;white-space:nowrap}
.cf-invalid .cf-err{display:block}
.cf-row{padding-bottom:1rem}
.cf-submit{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;padding:1rem 2.4rem;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:0.92rem;font-weight:700;letter-spacing:0.08em;border:none;border-radius:8px;cursor:pointer;transition:background 0.2s, transform 0.15s;margin-top:0.4rem;width:100%}
.cf-submit:hover{background:var(--accent-dark);transform:translateY(-2px)}
.cf-privacy{display:flex;align-items:center;gap:0.5rem;font-size:0.78rem;color:#999;margin-top:0.6rem}
.contact-info-list{display:flex;flex-direction:column;gap:1.2rem;margin:1.2rem 0 1.8rem}
.contact-info-item{display:flex;align-items:flex-start;gap:1rem}
.contact-info-icon{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}
.contact-info-item strong{display:block;font-size:0.92rem;font-weight:700;color:#111;margin-bottom:0.25rem}
.contact-info-item p, .contact-info-item a{font-size:0.88rem;color:#555;line-height:1.6;text-decoration:none}
.contact-info-item a:hover{color:var(--accent)}
.cf-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(80px);background:#111;color:#fff;padding:0.9rem 1.8rem;border-radius:50px;display:flex;align-items:center;gap:0.6rem;font-size:0.88rem;font-weight:600;z-index:9999;opacity:0;transition:transform 0.4s ease, opacity 0.4s ease;pointer-events:none}
.cf-toast.show{transform:translateX(-50%) translateY(0);opacity:1}
@media (max-width: 900px){
.contact-header-grid{grid-template-columns:1fr;gap:2rem}
.contact-container{grid-template-columns:1fr;gap:3rem}
}
@media (max-width: 480px){
.contact-section{padding:3rem 1.2rem}
}
.pv-section{background:#f7f6f4;padding:0 2rem 4rem;border-top:10px solid var(--accent);position:relative;overflow:visible}
.pv-section::before{content:'CLICK A PANEL ABOVE TO EXPLORE PROJECTS';display:block;text-align:center;font-size:0.72rem;font-weight:700;letter-spacing:0.2em;color:rgba(0,0,0,0.40);background:#eeece9;padding:0.85rem 2rem;border-bottom:1px solid rgba(0,0,0,0.08);margin:0 -2rem}
.pv-hero{position:relative;width:100%;height:80vh;min-height:560px;overflow:hidden;border-bottom:none;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,0.12)}
.pv-hero-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity 0.4s ease}
.pv-hero-overlay{position:absolute;inset:0;background:linear-gradient( to right, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.40) 40%, rgba(0,0,0,0.10) 100% );z-index:1}
.pv-hero-content{position:absolute;bottom:3rem;left:4rem;z-index:2;max-width:420px}
.pv-hero-eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:0.16em;color:var(--accent);margin-bottom:0.5rem}
.pv-hero-title{font-family:var(--font-display);font-size:clamp(2rem, 4vw, 3.2rem);font-weight:900;color:#fff;line-height:1.0;margin-bottom:0.4rem;letter-spacing:0.02em}
.pv-hero-meta{font-size:0.82rem;color:rgba(255,255,255,0.6);margin-bottom:0.6rem}
.pv-hero-desc{font-size:0.88rem;color:rgba(255,255,255,0.85);line-height:1.6;margin-bottom:1.4rem}
.pv-hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.8rem;background:var(--accent);color:#fff;font-family:inherit;font-size:0.82rem;font-weight:700;letter-spacing:0.08em;line-height:inherit;border:none;border-radius:6px;text-decoration:none;cursor:pointer;appearance:none;-webkit-appearance:none;transition:background 0.2s}
.pv-hero-btn:hover{background:var(--accent-dark)}
.pv-hero-arrows{position:absolute;bottom:3rem;right:3rem;z-index:2;display:flex;gap:0.8rem}
.pv-hero-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.35);background:rgba(0,0,0,0.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s}
.pv-hero-arrow:hover{background:var(--accent);border-color:var(--accent)}
.pv-shelf{padding:2.5rem 0 0;background:#f7f6f4}
.pv-shelf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.pv-shelf-arrows-wrap{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.8rem;padding-bottom:1rem}
.pv-shelf-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(0,0,0,0.15);background:#fff;color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s, color 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.pv-shelf-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.pv-shelf-arrow:disabled{opacity:0.35;cursor:not-allowed;pointer-events:none}
.pv-shelf-nav{display:none}
.pv-thumbs-wrapper{overflow:hidden;width:100%;position:relative;touch-action:pan-y}
.pv-thumbs{display:flex;flex-wrap:nowrap;gap:0.8rem;transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}
.pv-thumb{flex:0 0 calc((100% - 3.2rem) / 5);position:relative;border-radius:10px;overflow:hidden;height:160px;cursor:pointer;border:2px solid rgba(0,0,0,0.08);transition:border-color 0.25s, transform 0.25s}
.pv-thumb:hover{transform:translateY(-4px)}
.pv-thumb.active{border-color:var(--accent)}
.pv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pv-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.05) 60%)}
.pv-thumb-name{position:absolute;bottom:0.6rem;left:0.7rem;right:0.7rem;font-family:var(--font-display);font-size:0.82rem;font-weight:800;color:#fff;line-height:1.2;z-index:1;letter-spacing:0.03em}
.pv-shelf-title{font-family:var(--font-display);font-size:1rem;font-weight:800;color:#111;letter-spacing:0.1em;border-left:3px solid var(--accent);padding-left:0.8rem}
.pv-shelf-dots{display:flex;gap:0.5rem;align-items:center}
.pv-dot{width:28px;height:4px;border-radius:2px;border:none;background:rgba(0,0,0,0.15);cursor:pointer;transition:background 0.3s, width 0.3s;padding:0}
.pv-dot.active{background:var(--accent);width:44px}
@media (max-width: 900px){
.pv-shelf{padding:2rem 1.5rem 0}
.pv-hero-content{left:1.5rem;bottom:2rem}
.pv-hero-arrows{right:1.5rem;bottom:2rem}
}
@media (max-width: 600px){
.pv-hero{height:55vh}
.pv-shelf{padding:1.5rem 1rem 0}
.pv-hero-arrows{display:none}
}
.proj-detail-overlay{display:none;position:relative;z-index:20;background:#f7f6f4;flex-direction:column;width:100%;margin:0 -2rem;width:calc(100% + 4rem)}
.proj-detail-overlay.active{display:flex}
.pv-section.overlay-open::before{display:none}
.proj-detail-back{position:absolute;top:1.4rem;left:1.4rem;z-index:5;display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1.2rem;background:rgba(255,255,255,0.92);border:1.5px solid rgba(0,0,0,0.12);border-radius:6px;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;color:#111;cursor:pointer;transition:background 0.2s, border-color 0.2s;text-transform:uppercase;backdrop-filter:blur(6px)}
.proj-detail-back:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.proj-detail-hero{position:relative;width:100%;height:80vh;min-height:520px;flex-shrink:0;overflow:hidden}
.proj-detail-hero img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.proj-detail-hero-overlay{position:absolute;inset:0;background:linear-gradient( to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.10) 60%, rgba(0,0,0,0.00) 100% )}
.proj-detail-hero-label{position:absolute;bottom:1.6rem;left:2rem;z-index:2;font-family:var(--font-display);font-size:clamp(1.6rem, 3.5vw, 2.8rem);font-weight:900;color:#fff;line-height:1.05;letter-spacing:0.02em}
.proj-detail-hero-label span{color:#fff}
.proj-detail-body{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:2rem 2rem 4rem;background:#f5f3f0}
.proj-detail-desc-block{margin-bottom:2rem;padding-bottom:1.6rem;border-bottom:1px solid rgba(0,0,0,0.09)}
.proj-detail-desc-title{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:#111;letter-spacing:0.04em;margin-bottom:0.5rem}
.proj-detail-desc-title span{color:var(--accent)}
.proj-detail-desc-meta{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;color:var(--accent);text-transform:uppercase;margin-bottom:0.8rem}
.proj-detail-desc-text{font-size:0.92rem;color:#555;line-height:1.75;max-width:720px}
.proj-tour{display:grid;grid-template-columns:240px 1fr;gap:1.2rem;background:transparent;border-radius:0;box-shadow:none;overflow:visible;height:calc(100vh - 2rem);min-height:500px}
.proj-tour-sidebar{background:#ffffff;border-radius:16px;box-shadow:0 2px 20px rgba(0,0,0,0.07);border:1px solid rgba(0,0,0,0.06);padding:2rem 1.6rem 1.6rem;display:flex;flex-direction:column;height:100%;overflow-y:auto}
.proj-tour-sidebar-eyebrow{font-size:0.7rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:0.4rem}
.proj-tour-sidebar-title{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:#111;line-height:1.1;margin-bottom:0.3rem}
.proj-tour-sidebar-meta{font-size:0.78rem;color:#999;font-weight:600;letter-spacing:0.06em;margin-bottom:0.8rem}
.proj-tour-sidebar-rule{width:32px;height:2.5px;background:var(--accent);margin-bottom:1.6rem}
.proj-tour-timeline{display:flex;flex-direction:column;gap:0;flex:1;position:relative;justify-content:space-between}
.proj-tour-timeline::before{content:'';position:absolute;left:17px;top:18px;bottom:18px;width:1.5px;background:rgba(0,0,0,0.12);z-index:0}
.proj-tour-step{display:flex;align-items:flex-start;gap:1rem;padding:0;cursor:pointer;position:relative;z-index:1;transition:opacity 0.2s}
.proj-tour-step:hover{opacity:0.85}
.proj-tour-step-num{width:36px;height:36px;border-radius:50%;border:2px solid rgba(0,0,0,0.15);background:#fff;display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:800;color:#999;flex-shrink:0;transition:background 0.25s, border-color 0.25s, color 0.25s;letter-spacing:0;z-index:2;position:relative}
.proj-tour-step.active .proj-tour-step-num{background:var(--accent);border-color:var(--accent);color:#fff}
.proj-tour-step-text strong{display:block;font-size:0.82rem;font-weight:800;letter-spacing:0.08em;color:#aaa;text-transform:uppercase;margin-bottom:0.2rem;transition:color 0.25s}
.proj-tour-step.active .proj-tour-step-text strong{color:var(--accent)}
.proj-tour-step-text p{font-size:0.78rem;color:#bbb;line-height:1.4;transition:color 0.25s}
.proj-tour-step.active .proj-tour-step-text p{color:#555}
.proj-tour-step-box{padding:0.5rem 0.7rem;border-radius:8px;border:1.5px solid transparent;transition:border-color 0.25s, background 0.25s}
.proj-tour-step.active .proj-tour-step-box{border-color:var(--accent);background:rgba(200,169,110,0.08)}
@keyframes tourNumGlow{
0%, 100%{border-color:rgba(0,0,0,0.15);background:#fff;color:#999;box-shadow:none}
50%{border-color:var(--accent);background:rgba(200,169,110,0.1);color:var(--accent);box-shadow:0 0 10px rgba(200,169,110,0.4)}
}
@keyframes tourBoxGlow{
0%, 100%{border-color:transparent;background:transparent}
50%{border-color:var(--accent);background:rgba(200,169,110,0.08)}
}
.proj-tour-step:not(.active) .proj-tour-step-num{animation:tourNumGlow 2s ease-in-out infinite}
.proj-tour-step:not(.active) .proj-tour-step-box{animation:tourBoxGlow 2s ease-in-out infinite}
.proj-tour-brochure{display:inline-flex;align-items:center;gap:0.6rem;margin-top:auto;padding:0.75rem 1.2rem;border:1.5px solid rgba(0,0,0,0.12);border-radius:8px;background:#fff;font-size:0.78rem;font-weight:700;letter-spacing:0.08em;color:#333;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:border-color 0.2s, color 0.2s}
.proj-tour-brochure:hover{border-color:var(--accent);color:var(--accent)}
.proj-tour-content{display:flex;flex-direction:column;background:#ffffff;border-radius:16px;box-shadow:0 2px 20px rgba(0,0,0,0.07);border:1px solid rgba(0,0,0,0.06);overflow:hidden;height:100%}
.proj-tour-panel{display:none;flex:1;padding:1rem 2rem 0.5rem;flex-direction:column;gap:0.8rem;background:#ffffff;overflow:hidden;min-height:0;animation:tourFadeIn 0.35s ease}
.proj-tour-panel.active{display:flex}
#tour-location{display:none;flex-direction:column}
#tour-location.active{display:grid;grid-template-columns:1fr 1.8fr;gap:2rem;align-items:start;background:#ffffff}
.proj-tour-map{min-height:0;flex:1;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,0.07);align-self:stretch}
.proj-tour-map iframe{width:100%;height:100%;min-height:0;border:0;display:block}
@keyframes tourFadeIn{
from{opacity:0;transform:translateY(8px)}
to{opacity:1;transform:translateY(0)}
}
.proj-tour-panel .proj-panel-eyebrow{font-size:0.7rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:0.3rem}
.proj-tour-panel .proj-panel-headline{font-family:var(--font-display);font-size:clamp(1.2rem, 2vw, 1.8rem);font-weight:900;color:#111;line-height:1.05;margin-bottom:0.4rem;white-space:nowrap}
.proj-tour-panel .proj-panel-rule{width:32px;height:2.5px;background:var(--accent);margin-bottom:0.8rem}
.proj-tour-panel .proj-panel-desc{font-size:0.88rem;color:#666;line-height:1.7;max-width:100%;margin-bottom:0.8rem}
.proj-tour-panel .proj-panel-divider{border:none;border-top:1px solid rgba(0,0,0,0.08);margin:0.4rem 0}
.proj-tour-panel .proj-panel-address{display:flex;align-items:flex-start;gap:0.8rem;margin-bottom:0.5rem}
.proj-tour-panel .proj-panel-address-icon{color:var(--accent);flex-shrink:0;margin-top:2px}
.proj-tour-panel .proj-panel-address strong{display:block;font-size:0.92rem;font-weight:700;color:#111;margin-bottom:0.15rem}
.proj-tour-panel .proj-panel-address span{font-size:0.82rem;color:#888}
.proj-tour-floorplan{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,0.07);padding:1rem;overflow:hidden;min-height:0}
.proj-tour-floorplan img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}
.proj-tour-specs{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem}
.proj-tour-spec-card{background:#fff;border-radius:12px;padding:1.2rem 1.4rem;display:flex;align-items:center;gap:1rem;border:1px solid rgba(0,0,0,0.07);box-shadow:0 2px 10px rgba(0,0,0,0.05);transition:box-shadow 0.2s}
.proj-tour-spec-card:hover{box-shadow:0 4px 20px rgba(var(--green-rgb),0.08)}
.proj-spec-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}
.proj-spec-text strong{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:900;color:#111;line-height:1;margin-bottom:0.2rem}
.proj-spec-text span{font-size:0.72rem;color:#999;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
.proj-tour-gallery{flex:1;display:flex;flex-direction:column;gap:0.5rem;min-height:0}
.proj-tour-gallery-track-wrap{overflow:hidden;border-radius:12px;flex:1}
.proj-tour-gallery-track{display:flex;gap:1rem;transition:transform 0.45s cubic-bezier(0.4,0,0.2,1);touch-action:pan-y}
.proj-tour-gallery-slide{flex:0 0 calc(50% - 0.5rem);height:260px;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.proj-tour-gallery-slide img{width:100%;flex:1;object-fit:cover;display:block;transition:transform 0.35s ease;cursor:zoom-in}
.proj-tour-gallery-slide:hover img{transform:scale(1.04)}
.proj-tour-gallery-label{display:block;text-align:center;font-size:12px;font-weight:600;letter-spacing:0.5px;color:#555;background:#f5f5f5;padding:6px 0;flex-shrink:0}
.proj-tour-nav{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 1.5rem;border-top:1px solid rgba(0,0,0,0.07);background:#ffffff;gap:1rem}
.proj-tour-nav-arrow{width:40px;height:40px;border-radius:10px;border:1.5px solid rgba(0,0,0,0.12);background:#fff;color:#555;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s, border-color 0.2s, color 0.2s;flex-shrink:0}
.proj-tour-nav-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.proj-tour-nav-arrow.next-active{background:var(--accent);border-color:var(--accent);color:#fff}
.proj-tour-nav-arrow.next-active:hover{background:var(--accent-dark)}
.proj-tour-nav-arrow:disabled{opacity:0.3;cursor:not-allowed}
.proj-tour-progress{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:center}
.proj-tour-progress-bar{height:4px;width:80px;border-radius:2px;background:rgba(0,0,0,0.12);cursor:pointer;transition:background 0.3s}
.proj-tour-progress-bar.active{background:var(--accent)}
@media (max-width: 900px){
.proj-tour{grid-template-columns:1fr}
.proj-tour-sidebar{border-right:none;border-bottom:1px solid rgba(0,0,0,0.07);padding:1.5rem}
.proj-tour-timeline{flex-direction:row;flex-wrap:wrap;gap:0.5rem}
.proj-tour-timeline::before{display:none}
.proj-tour-step{padding:0.5rem 0.8rem;background:#f5f5f5;border-radius:8px}
.proj-tour-specs{grid-template-columns:repeat(2,1fr)}
.proj-tour-gallery-slide{flex:0 0 100%}
}
@media (max-width: 480px){
.proj-tour-specs{grid-template-columns:1fr}
.proj-tour-panel{padding:1.5rem 1rem}
}
@media (max-width: 768px){
.proj-detail-hero{height:auto;aspect-ratio:4 / 3;min-height:unset}
.proj-detail-hero img{width:100%;height:100%;object-fit:cover}
}
@media (max-width: 768px){
.pv-section{padding:0 1rem 3rem}
.pv-section::before{margin:0 -1rem}
.pv-hero{height:auto;min-height:unset;aspect-ratio:4 / 3;border-radius:10px}
.pv-hero-content{position:static;background:#1a1610;padding:1rem 1.2rem 0.8rem;max-width:100%;border-radius:10px 10px 0 0}
.pv-hero{border-radius:0 0 10px 10px}
.pv-hero-eyebrow{font-size:0.68rem;margin-bottom:0.3rem}
.pv-hero-title{font-size:1.4rem;margin-bottom:0.2rem}
.pv-hero-meta{font-size:0.75rem;margin-bottom:0.3rem}
.pv-hero-desc{font-size:0.78rem;margin-bottom:0;display:none}
.pv-hero-btn{display:none}
.pv-hero-arrows{display:none}
.pv-hero-overlay{display:none}
.pv-hero-img-wrap-mobile{position:relative}
.pv-section{display:flex;flex-direction:column}
.pv-hero-content{order:1}
.pv-hero{order:2}
.pv-shelf{order:3}
.pv-shelf{padding:1.5rem 0 0}
.pv-thumbs-wrapper{padding-top:6px}
.pv-thumbs-wrapper{overflow:hidden;width:100%}
.pv-thumbs{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(2, 140px);gap:0.6rem;flex-wrap:unset;transition:none !important}
.pv-thumb{flex:unset;width:100%;height:140px}
.pv-thumbs.pv-slide-out-left{animation:pvSlideOutLeft 0.2s ease forwards}
.pv-thumbs.pv-slide-out-right{animation:pvSlideOutRight 0.2s ease forwards}
.pv-thumbs.pv-slide-in-right{animation:pvSlideInRight 0.2s ease}
.pv-thumbs.pv-slide-in-left{animation:pvSlideInLeft 0.2s ease}
@keyframes pvSlideOutLeft{
from{transform:translateX(0);opacity:1}
to{transform:translateX(-35%);opacity:0}
}
@keyframes pvSlideOutRight{
from{transform:translateX(0);opacity:1}
to{transform:translateX(35%);opacity:0}
}
@keyframes pvSlideInRight{
from{transform:translateX(35%);opacity:0}
to{transform:translateX(0);opacity:1}
}
@keyframes pvSlideInLeft{
from{transform:translateX(-35%);opacity:0}
to{transform:translateX(0);opacity:1}
}
.pv-shelf-arrows-wrap{margin-top:1rem}
#tour-location.active{grid-template-columns:1fr;display:flex;flex-direction:column;gap:1rem}
.proj-tour-location-text{order:1}
.proj-tour-map{order:2;height:240px;min-height:240px;border-radius:10px;width:100%}
.proj-tour-map iframe{min-height:240px;height:240px;width:100%}
.proj-panel-desc{text-align:left}
.proj-tour-content{height:auto;overflow:visible}
.proj-tour-panel{overflow:visible;height:auto}
.proj-tour{grid-template-columns:1fr;height:auto;min-height:unset}
.proj-tour-nav{display:none}
.proj-tour-sidebar{overflow:hidden;width:100%;box-sizing:border-box}
.proj-tour-timeline{display:flex;flex-direction:column;gap:0.6rem}
.proj-tour-timeline::before{display:none}
.proj-tour-step{flex-direction:row;align-items:flex-start;gap:0.6rem;background:#f5f5f5;border-radius:8px;padding:0.6rem 0.7rem;width:100%}
.proj-tour-step-text strong{font-size:0.72rem;letter-spacing:0.04em}
.proj-tour-step-text p{display:block;font-size:0.68rem;line-height:1.3}
.proj-tour-content{width:100%;overflow:hidden;box-sizing:border-box}
.proj-tour-panel{width:100%;overflow:hidden;box-sizing:border-box;padding:0.8rem 0.6rem}
.proj-detail-body{overflow:hidden;width:100%;box-sizing:border-box;padding:0.6rem 0.5rem 3rem}
.proj-detail-overlay{width:100%;margin:0}
}
@media (max-width: 768px){
.proj-detail-hero{border-radius:0;margin:0 -1rem;width:calc(100% + 2rem)}
}
.philosophy-section{background:var(--bg);padding:6rem 2rem 6rem 4rem;border-top:5px solid var(--accent)}
.philosophy-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center}
.philosophy-left{display:flex;flex-direction:column;gap:0}
.philosophy-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.philosophy-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.philosophy-headline{font-family:var(--font-body);font-size:clamp(2.2rem, 4vw, 3.4rem);font-weight:800;color:#1a1610;line-height:1.1;margin-bottom:1.6rem}
.philosophy-red{color:var(--accent)}
.philosophy-desc{font-size:0.95rem;color:#555;line-height:1.75;margin-bottom:0.8rem;max-width:460px;text-align:justify}
.philosophy-widgets{display:grid;grid-template-columns:repeat(5, 1fr);gap:1rem;margin-top:2.5rem;width:calc(100% + 8rem)}
.philosophy-widget{display:flex;flex-direction:column;gap:0.4rem;background:#fff;border:1px solid rgba(0, 0, 0, 0.08);border-radius:14px;padding:1.4rem 1.2rem;box-shadow:0 4px 20px rgba(0, 0, 0, 0.07);transition:box-shadow 0.25s, transform 0.25s}
.philosophy-widget:hover{box-shadow:0 8px 32px rgba(var(--green-rgb),0.10);transform:translateY(-3px)}
.philosophy-widget::before{content:'';display:block;width:28px;height:3px;background:var(--accent);border-radius:2px;margin-bottom:0.6rem}
.philosophy-widget-icon{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.18);background:rgba(var(--green-rgb),0.05);display:flex;align-items:center;justify-content:center;margin-bottom:0.5rem}
.philosophy-widget-title{font-size:0.72rem;font-weight:800;letter-spacing:0.1em;color:var(--accent);text-transform:uppercase;text-align:left}
.philosophy-widget-desc{font-size:0.78rem;color:#666;line-height:1.5;text-align:left}
.philosophy-right{position:relative}
.philosophy-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(3, 180px);gap:0.6rem;border-radius:20px;overflow:hidden}
.phg-img:nth-child(1){grid-column:1 / 2;grid-row:1 / 2;height:300px}
.phg-img:nth-child(2){grid-column:1 / 2;grid-row:2 / 4;width:70%;justify-self:end;margin-top:120px}
.phg-img:nth-child(3){grid-column:2 / 3;grid-row:1 / 2}
.phg-img:nth-child(4){grid-column:2 / 3;grid-row:2 / 3}
.phg-img:nth-child(5){grid-column:2 / 3;grid-row:3 / 4}
.phg-img{overflow:hidden;border-radius:14px;position:relative}
.phg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}
.phg-img:hover img{transform:scale(1.04)}
.philosophy-quote-card{position:absolute;top:50%;left:58.3%;transform:translate(-50%, -50%);background:#fff;border-radius:16px;padding:2.8rem 1.2rem 2.6rem;width:190px;box-shadow:0 8px 40px rgba(0,0,0,0.14);z-index:3}
.philosophy-quote-mark{font-family:'Poltawski Nowy', serif;font-size:3rem;color:var(--accent);line-height:0.8;display:block;margin-bottom:0.8rem}
.philosophy-quote-text{font-family:var(--font-body);font-size:1.1rem;font-weight:700;color:#1a1610;line-height:1.5}
@media (max-width: 1024px){
.philosophy-widgets{width:100%;grid-template-columns:repeat(3, 1fr)}
.philosophy-grid{grid-template-rows:150px 150px 150px}
}
@media (max-width: 768px){
.philosophy-section{padding:4rem 1.4rem}
.philosophy-inner{grid-template-columns:1fr;gap:3rem}
.philosophy-widgets{width:100%;grid-template-columns:repeat(2, 1fr);gap:1.2rem}
.philosophy-widget-title, .philosophy-widget-desc{text-align:justify}
.philosophy-right{order:-1}
.philosophy-grid{grid-template-rows:110px 110px 110px}
.phg-img:nth-child(1){height:180px}
.phg-img:nth-child(2){margin-top:70px}
.philosophy-quote-card{width:160px;padding:1.2rem}
.philosophy-quote-text{font-size:0.88rem}
.philosophy-quote-mark{font-size:2rem}
}
@media (max-width: 480px){
.philosophy-grid{grid-template-rows:90px 90px 90px;gap:0.4rem}
.phg-img:nth-child(1){height:150px}
.phg-img:nth-child(2){margin-top:60px}
.philosophy-quote-card{width:130px;padding:0.9rem}
.philosophy-widgets{grid-template-columns:1fr 1fr}
}
.process-steps-section{background:var(--bg);padding:5rem 2rem 4rem}
.process-steps-inner{max-width:1280px;margin:0 auto}
.process-steps-header{text-align:center;margin-bottom:3.5rem}
.process-steps-eyebrow{display:inline-flex;align-items:center;gap:0.8rem;font-size:0.78rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.process-steps-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.process-steps-headline{font-family:var(--font-body);font-size:clamp(2rem, 4vw, 3.2rem);font-weight:800;color:#1a1610;line-height:1.15;margin-bottom:1.2rem}
.process-steps-red{color:var(--accent)}
.process-steps-sub{font-size:0.95rem;color:#666;line-height:1.75}
.process-steps-row{display:grid;grid-template-columns:repeat(8, 1fr);gap:0.6rem;margin-bottom:3rem;align-items:stretch}
.process-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.2rem 0.5rem 1rem;border:1px solid rgba(0,0,0,0.09);border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.05);transition:box-shadow 0.25s, transform 0.25s;height:100%}
.process-step:hover{box-shadow:0 6px 24px rgba(var(--green-rgb),0.10);transform:translateY(-3px)}
.process-step-num{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;flex-shrink:0;letter-spacing:0.04em}
.process-step-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:0.8rem;position:relative}
.process-step-arrow{position:absolute;right:-16px;top:56px;z-index:2}
.process-step-title{font-family:var(--font-body);font-size:0.88rem;font-weight:700;color:var(--accent);margin-bottom:0.5rem}
.process-step-rule{display:block;width:24px;height:2px;background:var(--accent);margin:0 auto 0.6rem}
.process-step-desc{font-size:0.76rem;color:#666;line-height:1.55}
.process-commitment{background:#f5f4f2;border-radius:16px;padding:1.8rem 3rem;display:flex;align-items:center;gap:2rem}
.process-commitment-left{display:flex;align-items:center;gap:1.2rem;flex:1}
.process-commitment-icon{flex-shrink:0}
.process-commitment-title{font-size:1rem;font-weight:800;color:var(--accent);margin-bottom:0.3rem}
.process-commitment-pills{font-size:0.85rem;color:#555;font-weight:500}
.process-commitment-divider{width:1px;height:60px;background:rgba(0,0,0,0.12);flex-shrink:0}
.process-commitment-right{display:flex;align-items:center;gap:1.2rem;flex:1}
.process-commitment-text{font-size:0.92rem;color:#555;line-height:1.65}
@media (max-width: 1100px){
.process-steps-row{grid-template-columns:repeat(4, 1fr);gap:2rem 0}
.process-step:nth-child(4) .process-step-arrow, .process-step:last-child .process-step-arrow{display:none}
}
@media (max-width: 768px){
.process-steps-section{padding:3rem 1.4rem}
.process-steps-row{grid-template-columns:1fr;gap:1rem}
.process-step{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center;gap:0.4rem 1rem;padding:1.4rem;border:1px solid rgba(0,0,0,0.09);border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.05)}
.process-step:last-child{border-bottom:1px solid rgba(0,0,0,0.09)}
.process-step-num{width:44px;height:44px;flex-shrink:0;margin-bottom:0}
.process-step-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:0;border:1px solid rgba(var(--green-rgb),0.25);background:rgba(var(--green-rgb),0.06);border-radius:50%}
.process-step-icon svg{width:26px;height:26px}
.process-step-arrow{display:none}
.process-step-title{order:3;flex-basis:100%;margin-bottom:0.2rem}
.process-step-rule{order:4;margin:0 auto 0.6rem}
.process-step-desc{order:5;flex-basis:100%}
.process-commitment{flex-direction:column;padding:1.5rem;gap:1.5rem}
.process-commitment-divider{width:100%;height:1px}
.process-commitment-left, .process-commitment-right{flex:unset;width:100%;text-align:center;justify-content:center}
}
.why-section{background:var(--bg);padding:5rem 2rem 5rem 4rem}
.why-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.why-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.75rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.why-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.why-headline{font-family:var(--font-body);font-size:clamp(1.8rem, 3vw, 2.6rem);font-weight:800;color:#1a1610;line-height:1.2;margin-bottom:1.2rem}
.why-red{color:var(--accent)}
.why-desc{font-size:0.92rem;color:#555;line-height:1.75;margin-bottom:2rem;max-width:480px}
.why-features{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.4rem 1.8rem}
.why-feature{display:flex;align-items:flex-start;gap:0.8rem}
.why-feat-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.18);background:rgba(var(--green-rgb),0.05);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.why-feat-title{font-size:0.85rem;font-weight:700;color:#1a1610;margin-bottom:0.25rem}
.why-feat-desc{font-size:0.78rem;color:#666;line-height:1.5}
.why-right{position:relative}
.why-image-wrap{width:100%;height:560px;max-height:65vh;border-radius:80px 0 80px 0;overflow:hidden}
.why-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.why-quote-card{position:absolute;bottom:-1rem;right:2rem;background:var(--accent);border-radius:16px;padding:2rem 2rem 1.6rem;width:260px;z-index:2}
.why-quote-mark{font-family:'Poltawski Nowy', serif;font-size:2.5rem;color:rgba(255,255,255,0.5);line-height:0.8;display:block;margin-bottom:0.8rem}
.why-quote-text{font-size:1rem;font-weight:600;color:#fff;line-height:1.6;margin-bottom:1rem}
.why-quote-rule{display:block;width:32px;height:2.5px;background:rgba(255,255,255,0.5)}
.stats-section{background:#f5f4f2;padding:4rem 2rem 4rem 4rem}
.stats-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center}
.stats-headline{font-family:var(--font-body);font-size:clamp(1.6rem, 2.5vw, 2.2rem);font-weight:800;color:#1a1610;line-height:1.2;margin-bottom:0.8rem}
.stats-red{color:var(--accent)}
.stats-rule{display:block;width:36px;height:3px;background:var(--accent);margin-bottom:1rem}
.stats-desc{font-size:0.88rem;color:#666;line-height:1.7}
.stats-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1rem}
.stats-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.4rem}
.stats-icon{width:70px;height:70px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.2);background:rgba(var(--green-rgb),0.06);display:flex;align-items:center;justify-content:center;margin-bottom:0.6rem}
.stats-number{font-family:var(--font-display);font-size:clamp(2rem, 3vw, 2.8rem);font-weight:900;color:var(--accent);line-height:1}
.stats-label{font-size:0.82rem;color:#555;font-weight:500}
.stats-item-rule{display:block;width:28px;height:2.5px;background:var(--accent);margin-top:0.3rem}
@media (max-width: 900px){
.why-inner{grid-template-columns:1fr;gap:3rem}
.why-section{padding:4rem 1.4rem}
.why-image-wrap{height:400px}
.why-quote-card{position:relative;bottom:auto;right:auto;width:100%;margin-top:1rem;border-radius:12px}
.why-features{grid-template-columns:repeat(2, 1fr)}
.stats-inner{grid-template-columns:1fr;gap:2rem}
.stats-section{padding:3rem 1.4rem}
.stats-grid{grid-template-columns:repeat(2, 1fr);gap:1.5rem}
}
@media (max-width: 480px){
.why-features{grid-template-columns:1fr}
.stats-grid{grid-template-columns:repeat(2, 1fr)}
}
.quality-section{background:var(--bg)}
.quality-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:5rem 4rem 3rem;max-width:1280px;margin:0 auto;gap:3rem}
.quality-eyebrow{display:flex;align-items:center;gap:0.8rem;font-size:0.75rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}
.quality-eyebrow-line{display:block;width:36px;height:2.5px;background:var(--accent);flex-shrink:0}
.quality-headline{font-family:var(--font-body);font-size:clamp(2rem, 3.5vw, 3rem);font-weight:800;color:#1a1610;line-height:1.15;margin-bottom:1.2rem}
.quality-red{color:var(--accent)}
.quality-desc{font-size:0.92rem;color:#555;line-height:1.75;max-width:480px;text-align:justify}
.quality-hero-right{display:flex;align-items:center;justify-content:center}
.quality-hero-right img{width:100%;max-height:380px;object-fit:contain;display:block}
.quality-cards{display:grid;grid-template-columns:repeat(6, 1fr);gap:0;border-top:1px solid rgba(0,0,0,0.07);border-bottom:1px solid rgba(0,0,0,0.07)}
.quality-card{padding:1.6rem 1.2rem 1.8rem;border-right:1px solid rgba(0,0,0,0.07);display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;transition:background 0.2s}
.quality-card:last-child{border-right:none}
.quality-card:hover{background:#fafafa}
.quality-card-icon{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(var(--green-rgb),0.18);background:rgba(var(--green-rgb),0.05);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;flex-shrink:0}
.quality-card-img{width:100%;height:140px;border-radius:10px;overflow:hidden;margin-bottom:1rem}
.quality-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}
.quality-card:hover .quality-card-img img{transform:scale(1.05)}
.quality-card-title{font-size:0.72rem;font-weight:800;letter-spacing:0.1em;color:#1a1610;text-transform:uppercase;margin-bottom:0.5rem;line-height:1.4}
.quality-card-rule{display:block;width:24px;height:2px;background:var(--accent);margin:0 auto 0.6rem}
.quality-card-desc{font-size:0.76rem;color:#666;line-height:1.55}
.quality-bar{background:var(--accent);display:flex;align-items:center;padding:2rem 4rem;gap:2rem}
.quality-bar-left{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-shrink:0;text-align:center}
.quality-bar-icon{flex-shrink:0}
.quality-bar-tagline{font-size:1.1rem;font-weight:600;color:rgba(255,255,255,0.9);line-height:1.4}
.quality-bar-tagline strong{color:#fff;font-weight:800}
.quality-bar-divider{width:1px;height:60px;background:rgba(255,255,255,0.25);flex-shrink:0;margin:0 1rem}
.quality-bar-pills{display:flex;align-items:center;gap:2.5rem;flex:1;flex-wrap:wrap}
.quality-bar-pill{display:flex;align-items:center;gap:0.8rem}
.quality-bar-pill-icon{flex-shrink:0;opacity:0.85}
.quality-bar-pill span{font-size:0.82rem;font-weight:600;color:#fff;line-height:1.4}
@media (max-width: 1100px){
.quality-cards{grid-template-columns:repeat(3, 1fr)}
.quality-card:nth-child(3){border-right:none}
.quality-card:nth-child(4), .quality-card:nth-child(5), .quality-card:nth-child(6){border-top:1px solid rgba(0,0,0,0.07)}
}
@media (max-width: 768px){
.quality-hero{grid-template-columns:1fr;padding:3rem 1.4rem 2rem;gap:2rem}
.quality-cards{grid-template-columns:repeat(2, 1fr)}
.quality-card-img{height:200px}
.quality-card:nth-child(2n){border-right:none}
.quality-card:nth-child(n+3){border-top:1px solid rgba(0,0,0,0.07)}
.quality-card:nth-child(3){border-right:1px solid rgba(0,0,0,0.07)}
.quality-bar{flex-direction:column;padding:2rem 1.4rem;align-items:center;gap:1.5rem}
.quality-bar-divider{width:100%;height:1px;margin:0}
.quality-bar-pills{width:100%;display:grid;grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(2, 1fr);gap:0}
.quality-bar-pill{padding:0.9rem 1.2rem;border-right:1px solid rgba(255,255,255,0.25);border-bottom:1px solid rgba(255,255,255,0.25)}
.quality-bar-pill:nth-child(2n){border-right:none}
.quality-bar-pill:nth-child(n+3){border-bottom:none}
}
@media (max-width: 480px){
.quality-cards{grid-template-columns:1fr}
.quality-card{border-right:none;border-bottom:1px solid rgba(0,0,0,0.07)}
}
.faq-section{background:var(--bg);padding:5rem 4rem 0}
.faq-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.faq-eyebrow{font-size:0.78rem;font-weight:800;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:0.6rem;display:flex;align-items:center;gap:0.6rem}
.faq-headline{font-family:var(--font-body);font-size:clamp(1.8rem, 3vw, 2.8rem);font-weight:800;color:#1a1610;line-height:1.15;margin-bottom:1rem}
.faq-red{color:var(--accent)}
.faq-desc{font-size:0.92rem;color:#666;line-height:1.7;margin-bottom:1.8rem;max-width:400px;text-align:center}
.faq-image-wrap{width:100%;height:340px;border-radius:16px;overflow:hidden;margin-bottom:1.5rem}
.faq-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.faq-contact-bar{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:16px;padding:2rem 4rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 24px rgba(0,0,0,0.07);margin:3rem 0 4rem}
.faq-contact-icon{width:52px;height:52px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq-contact-text{flex:1}
.faq-contact-title{font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:0.3rem}
.faq-contact-desc{font-size:0.85rem;color:#666;line-height:1.5}
.faq-contact-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.2rem;border:1.5px solid var(--accent);border-radius:6px;color:var(--accent);font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-decoration:none;white-space:nowrap;transition:background 0.2s, color 0.2s;flex-shrink:0}
.faq-contact-btn:hover{background:var(--accent);color:#fff}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border:1px solid rgba(0,0,0,0.08);border-radius:10px;margin-bottom:0.6rem;overflow:hidden;transition:box-shadow 0.2s}
.faq-item--open{box-shadow:0 4px 20px rgba(var(--green-rgb),0.08);border-color:rgba(var(--green-rgb),0.2)}
.faq-q{width:100%;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}
.faq-num{font-size:0.78rem;font-weight:700;color:#aaa;width:24px;flex-shrink:0;letter-spacing:0.06em}
.faq-item--open .faq-num{color:var(--accent)}
.faq-q-text{flex:1;font-size:0.95rem;font-weight:600;color:#1a1610;line-height:1.4}
.faq-item--open .faq-q-text{color:var(--accent)}
.faq-icon{flex-shrink:0;color:var(--accent);display:flex;align-items:center}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s ease, padding 0.35s ease;padding:0 1.2rem 0 3.8rem}
.faq-item--open .faq-a{max-height:200px;padding:0 1.2rem 1.2rem 3.8rem}
.faq-a p{font-size:0.88rem;color:#555;line-height:1.7;text-align:justify}
@media (max-width: 900px){
.faq-inner{grid-template-columns:1fr;gap:2.5rem}
.faq-section{padding:4rem 1.4rem 0}
.faq-image-wrap{height:260px}
.faq-contact-bar{padding:1.5rem 1.4rem;flex-wrap:wrap;gap:1rem}
.faq-contact-btn{width:100%;justify-content:center}
}
.fab-wrap{position:fixed;bottom:15rem;right:2rem;z-index:999;display:flex;flex-direction:column;align-items:center;gap:0.85rem;pointer-events:none}
.fab-main{width:44px;height:44px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(var(--green-rgb),0.40);position:relative;z-index:2;transition:background 0.2s, transform 0.2s;flex-shrink:0}
.fab-main:hover{background:var(--accent-dark);transform:scale(1.07)}
.fab-icon{position:absolute;transition:opacity 0.2s, transform 0.2s}
.fab-icon--close{opacity:0;transform:rotate(-90deg) scale(0.7)}
.fab-wrap.open .fab-icon--msg{opacity:0;transform:rotate(90deg) scale(0.7)}
.fab-wrap.open .fab-icon--close{opacity:1;transform:rotate(0deg) scale(1)}
.fab-main::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:fabPulse 2.5s ease-out infinite}
@keyframes fabPulse{
0%{transform:scale(1);opacity:0.6}
100%{transform:scale(1.9);opacity:0}
}
.fab-sub{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.18);position:relative;opacity:0;transform:translateY(20px) scale(0.4);pointer-events:none;transition:opacity 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.2s;transition-delay:0s;filter:brightness(1)}
.fab-sub:hover{filter:brightness(1.12);transform:translateY(0) scale(1.08) !important}
.fab-wrap.open .fab-message{opacity:1;transform:translateY(0) scale(1);pointer-events:all;transition-delay:0.04s}
.fab-wrap.open .fab-call{opacity:1;transform:translateY(0) scale(1);pointer-events:all;transition-delay:0.10s}
.fab-wrap.open .fab-whatsapp{opacity:1;transform:translateY(0) scale(1);pointer-events:all;transition-delay:0.16s}
.fab-wrap:not(.open) .fab-whatsapp{transition-delay:0s}
.fab-wrap:not(.open) .fab-call{transition-delay:0.06s}
.fab-wrap:not(.open) .fab-message{transition-delay:0.10s}
.fab-whatsapp{background:var(--whatsapp-green)}
.fab-call{background:#1a73e8}
.fab-message{background:#1a1610;border:2px solid #ffffff}
html.fab-modal-open, body.fab-modal-open{overflow:hidden}
.fab-tooltip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1a1610;color:#fff;font-size:0.72rem;font-weight:600;letter-spacing:0.06em;white-space:nowrap;padding:0.35rem 0.75rem;border-radius:6px;opacity:0;pointer-events:none;transition:opacity 0.2s}
.fab-tooltip::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1a1610}
.fab-sub:hover .fab-tooltip{opacity:1}
.fab-form-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease;padding:1.5rem}
.fab-form-overlay.active{opacity:1;pointer-events:all}
.fab-form-modal{display:grid;grid-template-columns:1fr 330px;width:100%;max-width:1000px;height:90vh;max-height:90vh;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 32px 80px rgba(0,0,0,0.3);transform:translateY(28px) scale(0.96);transition:transform 0.35s cubic-bezier(0.34,1.2,0.64,1)}
.fab-form-overlay.active .fab-form-modal{transform:translateY(0) scale(1)}
.fab-form-close{position:absolute;top:1rem;right:1.2rem;background:rgba(255,255,255,0.9);border:none;width:32px;height:32px;border-radius:50%;font-size:1.3rem;color:#555;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;z-index:10;transition:background 0.2s, color 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.12)}
.fab-form-close:hover{background:var(--accent);color:#fff}
.fab-form-left{background:#fff;padding:2rem 2.2rem 1.8rem;overflow-y:hidden;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.fab-form-eyebrow{font-size:0.7rem;font-weight:700;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:0.3rem;display:flex;align-items:center;gap:0.4rem}
.fab-form-title{font-family:var(--font-display);font-size:2rem;font-weight:800;color:#1a1610;line-height:1.1;margin-bottom:0.4rem}
.fab-title-red{color:var(--accent)}
.fab-form-subtitle{font-size:0.82rem;color:#888;line-height:1.5;margin-bottom:1rem}
.fab-form{display:flex;flex-direction:column;gap:0.75rem;flex:1}
.fab-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.fab-field-wrap{display:flex;flex-direction:column;gap:0.25rem;position:relative}
.fab-label{font-size:0.68rem;font-weight:800;letter-spacing:0.1em;color:#333;text-transform:uppercase}
.fab-required{color:var(--accent)}
.fab-err{font-size:0.64rem;color:var(--accent);font-weight:600;display:none}
.fab-err.visible{display:block}
.fab-field{display:flex;align-items:center;gap:0.6rem;border:1.5px solid #e8e8e8;border-radius:8px;padding:0.72rem 0.9rem;background:#fff;transition:border-color 0.2s}
.fab-field:focus-within{border-color:var(--accent)}
.fab-field.invalid{border-color:var(--accent);background:var(--accent-tint)}
.fab-field svg{flex-shrink:0}
.fab-field input, .fab-field textarea, .fab-field select{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:0.88rem;color:#111;outline:none;resize:none}
.fab-field input::placeholder, .fab-field textarea::placeholder{color:#ccc}
.fab-field--select{position:relative}
.fab-field--select select{appearance:none;-webkit-appearance:none;cursor:pointer}
.fab-select-arrow{position:absolute;right:0.8rem;top:50%;transform:translateY(-50%);pointer-events:none}
.fab-field--textarea{align-items:flex-start}
.fab-field--textarea textarea{min-height:68px}
.fab-form-submit{margin-top:0.5rem;padding:0.9rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:0.92rem;font-weight:700;letter-spacing:0.06em;cursor:pointer;transition:background 0.2s, transform 0.15s;width:100%;flex-shrink:0}
.fab-form-submit:hover{background:var(--accent-dark);transform:translateY(-1px)}
.fab-privacy{display:flex;align-items:center;gap:0.4rem;font-size:0.7rem;color:#aaa;margin-top:0.4rem;justify-content:center;flex-shrink:0}
.fab-form-right{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#111;height:100%}
.fab-form-right-img{position:absolute;inset:0;z-index:0}
.fab-form-right-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.fab-form-right-overlay{position:absolute;inset:0;background:linear-gradient( to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.0) 35%, rgba(0,0,0,0.55) 70%, rgba(0,0,0,0.75) 100% )}
.fab-form-right-content{position:relative;z-index:2;margin-top:auto;padding:1.6rem 1.8rem 0.6rem}
.fab-right-headline{font-family:var(--font-display);font-size:clamp(1.6rem, 2.4vw, 2.2rem);font-weight:900;color:#fff;line-height:1.05;letter-spacing:0.01em;margin-bottom:0.7rem}
.fab-right-red{color:var(--accent)}
.fab-right-rule{display:block;width:36px;height:3px;background:var(--accent)}
.fab-form-right-badges{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-around;background:transparent;padding:1.2rem 1rem 1.6rem;gap:0.5rem}
.fab-badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.5rem;flex:1}
.fab-badge-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.4);background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center}
.fab-badge-icon svg{stroke:#fff}
.fab-badge span{font-size:0.7rem;font-weight:600;color:rgba(255,255,255,0.9);line-height:1.35}
.fab-badge-divider{width:1px;height:36px;background:rgba(255,255,255,0.2);flex-shrink:0}
@media (max-width: 768px){
.fab-form-modal{grid-template-columns:1fr;height:auto;max-height:92vh}
.fab-form-right{display:none}
.fab-form-left{padding:1.6rem 1.2rem;height:auto;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.fab-form-row{grid-template-columns:1fr}
}
body.page-services main{background:#fff}
.cta-banner{position:relative;width:100%;overflow:hidden;border-radius:20px;margin:2rem auto;max-width:calc(100% - 4rem);background:#fff}
.cta-banner-bg{position:absolute;inset:0;z-index:0}
.cta-banner-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.cta-banner-bg::after{content:'';position:absolute;inset:0;background:linear-gradient( to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.60) 40%, rgba(0, 0, 0, 0.20) 70%, rgba(0, 0, 0, 0.00) 100% );pointer-events:none;z-index:1}
.cta-banner-mobile-img{display:none}
.cta-banner-content{position:relative;z-index:2;padding:5rem 5vw 5rem 6vw;max-width:620px}
.cta-banner-rule{display:block;width:32px;height:2.5px;background:rgba(255,255,255,0.5);margin-bottom:1.8rem}
.cta-banner-headline{font-family:var(--font-body);font-size:clamp(2.2rem, 4.5vw, 3.8rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:1.4rem;letter-spacing:-0.01em}
.cta-banner-desc{font-size:0.95rem;color:rgba(255,255,255,0.82);line-height:1.75;margin-bottom:2.5rem;max-width:480px}
.cta-banner-actions{display:flex;gap:1rem;flex-wrap:wrap}
.cta-banner-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:1rem 2rem;border-radius:8px;font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-decoration:none;transition:background 0.2s, color 0.2s, border-color 0.2s}
.cta-banner-btn--white{background:#fff;color:var(--accent);border:2px solid #fff}
.cta-banner-btn--white:hover{background:rgba(255,255,255,0.9)}
.cta-banner-btn--outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.5)}
.cta-banner-btn--outline:hover{background:rgba(255,255,255,0.1);border-color:#fff}
@media (max-width: 768px){
.cta-banner-bg{display:none}
.cta-banner{display:block;position:relative;border-radius:14px;max-width:calc(100% - 2.8rem);margin:1.5rem auto;overflow:hidden}
.cta-banner-mobile-img{display:block;width:100%;position:relative}
.cta-banner-mobile-img img{width:100%;height:auto;display:block;object-fit:cover}
.cta-banner-mobile-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient( to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100% );pointer-events:none}
.cta-banner-content{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.8rem 2.5rem;max-width:100%;z-index:2}
.cta-banner-headline{font-size:clamp(1.8rem, 8vw, 2.4rem)}
.cta-banner-desc{font-size:0.88rem}
.cta-banner-actions{flex-direction:column}
.cta-banner-btn{width:100%;justify-content:center}
}
html[data-theme="green"] .cta-banner-bg img{content:url("../../assets/images/services/services19-green.webp")}
html[data-theme="blue"] .cta-banner-bg img{content:url("../../assets/images/services/services19-blue.webp")}
html[data-theme="red"] .cta-banner-bg img{content:url("../../assets/images/services/services19-red.webp")}
html[data-theme="gold"] .cta-banner-bg img{content:url("../../assets/images/services/services19-gold.webp")}
html[data-theme="purple"] .cta-banner-bg img{content:url("../../assets/images/services/services19-purple.webp")}
html[data-theme="green"] .cta-banner-mobile-img img{content:url("../../assets/images/services/services19_mobile-green.webp")}
html[data-theme="blue"] .cta-banner-mobile-img img{content:url("../../assets/images/services/services19_mobile-blue.webp")}
html[data-theme="red"] .cta-banner-mobile-img img{content:url("../../assets/images/services/services19_mobile-red.webp")}
html[data-theme="gold"] .cta-banner-mobile-img img{content:url("../../assets/images/services/services19_mobile-gold.webp")}
html[data-theme="purple"] .cta-banner-mobile-img img{content:url("../../assets/images/services/services19_mobile-purple.webp")}
.anim-hidden{opacity:0}
.anim-slide-down{transform:translateY(-40px)}
.anim-slide-up{transform:translateY(50px)}
.anim-slide-left{transform:translateX(-50px)}
.anim-slide-right{transform:translateX(50px)}
.anim-fade{}
.anim-visible{opacity:1 !important;transform:none !important;transition:opacity 0.7s ease, transform 0.7s ease}
*{scrollbar-width:thin;scrollbar-color:var(--green) transparent}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:rgba(255, 255, 255, 0.15);border-radius:10px}
::-webkit-scrollbar-thumb{background:linear-gradient( to bottom, #ffb3b3, var(--green-light), var(--green), #7a0205 );border-radius:10px;min-height:40px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient( to bottom, #ffc7c7, var(--green-pale), var(--green), #5c0104 );border-radius:10px;min-height:40px}
::-webkit-scrollbar-corner{background:transparent}
.footer-brand-name{text-decoration:none}
.hero-person img{pointer-events:none}
.aoh-section{display:flex;height:100vh;background:#f5f0eb;overflow:hidden}
.aoh-left{flex:0 0 auto;width:50%;overflow:hidden}
.aoh-left .aoh-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.aoh-right{flex:0 0 auto;width:50%;padding:2rem 1.5rem 2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;background:#faf7f4;overflow:hidden}
.aoh-intro{font-size:1.05rem;color:#444;line-height:1.85;text-align:justify}
.aoh-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e0d9d1;border-radius:14px;overflow:hidden;background:var(--bg)}
.aoh-card{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem 1.4rem;border-right:1px solid #e0d9d1;border-bottom:1px solid #e0d9d1}
.aoh-card:nth-child(2), .aoh-card:nth-child(4){border-right:none}
.aoh-card:nth-child(3), .aoh-card:nth-child(4){border-bottom:none}
.aoh-icon{flex-shrink:0;width:44px;height:44px;border:1.5px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:0.1rem}
.aoh-card-title{font-family:'Poltawski Nowy', serif;font-size:0.82rem;font-weight:800;letter-spacing:0.06em;color:#111;margin-bottom:0.35rem}
.aoh-card-desc{font-size:0.88rem;color:#555;line-height:1.6}
.aoh-quote-wrap{position:relative;padding:0 1rem}
.aoh-quote-open, .aoh-quote-close{font-family:Georgia, serif;font-size:4.5rem;color:var(--green);line-height:1;display:block}
.aoh-quote-close{text-align:right;margin-top:-1rem}
.aoh-quote-text{font-family:'Poltawski Nowy', serif;font-size:1.2rem;font-weight:700;color:#111;line-height:1.7;margin-top:-1.5rem;padding-left:1rem}
.aoh-quote-rule{display:flex;align-items:center;gap:0.5rem;margin-top:1rem}
.aoh-quote-rule span:first-child, .aoh-quote-rule span:last-child{flex:1;height:1.5px;background:var(--green)}
.aoh-diamond{color:var(--green);font-size:0.6rem}
.aoh-left{position:relative}
.aoh-img-overlay{position:absolute;top:3.5rem;left:3rem;z-index:2}
.aoh-overlay-sub{font-family:'Poltawski Nowy', serif;font-size:1rem;font-weight:400;color:#fff;letter-spacing:0.08em;margin-bottom:0.4rem}
.aoh-overlay-title{font-family:'Poltawski Nowy', serif;font-size:clamp(1.8rem, 3vw, 2.6rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:0.02em}
.aoh-overlay-red{color:var(--green)}
.aoh-overlay-rule{display:block;width:48px;height:3px;background:var(--green);margin-top:1rem}
@media (max-width: 900px){
.aoh-section{flex-direction:column;height:auto}
.aoh-left{width:100%;height:55vw;max-height:380px}
.aoh-right{width:100%;padding:2.5rem 1.5rem;overflow-y:visible}
}
@media (max-width: 480px){
.aoh-grid{grid-template-columns:1fr}
.aoh-card{border-right:none;border-bottom:1px solid #e0d9d1}
.aoh-card:last-child{border-bottom:none}
.aoh-left{height:85vw;max-height:560px}
}
.sin-section{position:relative;width:100%;padding:5rem 2rem;overflow:hidden}
.sin-bg{position:absolute;inset:0;z-index:0}
.sin-bg-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.sin-bg-overlay{position:absolute;inset:0;background:rgba(10, 10, 10, 0.72)}
.sin-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.sin-header{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-bottom:0.6rem}
.sin-header-line{flex:0 0 60px;height:1.5px;background:#fff;opacity:0.5}
.sin-title{font-family:'Poltawski Nowy', serif;font-size:clamp(1rem, 2vw, 1.25rem);font-weight:700;color:#fff;letter-spacing:0.12em;white-space:nowrap}
.sin-rule-wrap{display:flex;justify-content:center;margin-bottom:3rem}
.sin-rule-dot{width:10px;height:10px;background:var(--green);border-radius:50%;display:block}
.sin-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1.2rem}
.sin-card{background:rgba(255, 255, 255, 0.05);border:1px solid rgba(255, 255, 255, 0.15);border-radius:16px;padding:2.2rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 32px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12)}
.sin-icon-wrap{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 40% 35%, var(--green-grey), var(--green-dark));box-shadow:0 6px 24px rgba(var(--green-rgb),0.45);display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;flex-shrink:0}
.sin-number{font-family:'Poltawski Nowy', serif;font-size:clamp(2.8rem, 5vw, 4rem);font-weight:800;color:#fff;line-height:1;display:inline}
.sin-plus{font-family:'Poltawski Nowy', serif;font-size:clamp(1.6rem, 3vw, 2.2rem);font-weight:700;color:#fff;line-height:1;display:inline;vertical-align:super;margin-left:2px}
.sin-label{font-family:'Poltawski Nowy', serif;font-size:1rem;font-weight:700;color:#fff;margin-top:0.6rem;letter-spacing:0.02em}
.sin-card-rule{width:36px;height:2.5px;background:var(--green);margin:0.9rem auto 0.9rem}
.sin-desc{font-size:0.88rem;color:rgba(255,255,255,0.65);line-height:1.65}
@media (max-width: 900px){
.sin-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 480px){
.sin-grid{grid-template-columns:1fr}
.sin-section{padding:3.5rem 1.2rem}
}
.edh-section{display:flex;align-items:stretch;background:#faf7f4;min-height:600px;overflow:hidden}
.edh-left{width:50%;padding:4.5rem 4rem 4rem 5rem;display:flex;flex-direction:column;justify-content:center;gap:1.4rem}
.edh-icon-row{display:flex;align-items:center;gap:0.8rem;justify-content:center}
.edh-icon-line{flex:0 0 40px;height:1.5px;background:var(--green);opacity:0.6}
.edh-house-icon{display:flex;align-items:center;justify-content:center}
.edh-headline{font-family:'Poltawski Nowy', serif;font-size:clamp(1.8rem, 3.2vw, 2.8rem);font-weight:800;color:#111;line-height:1.15;letter-spacing:0.01em}
.edh-headline-red{color:var(--green)}
.edh-divider{display:flex;align-items:center;gap:0.6rem}
.edh-divider-line{flex:0 0 60px;height:1.5px;background:var(--green);opacity:0.5}
.edh-divider-diamond{color:var(--green);font-size:0.55rem}
.edh-body{display:flex;flex-direction:column;gap:0.9rem}
.edh-body p{font-size:0.95rem;color:#444;line-height:1.8;text-align:justify}
.edh-quote{margin-top:0.2rem;text-align:center}
.edh-quote-text{font-family:'Dancing Script', 'Brush Script MT', cursive;font-size:clamp(1.3rem, 2.2vw, 1.7rem);color:var(--green);line-height:1.7;font-weight:600}
.edh-divider--bottom{margin-top:0.2rem;justify-content:center}
.edh-right{width:50%;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}
.edh-img{width:115%;height:auto;display:block;object-fit:unset}
@media (max-width: 900px){
.edh-section{flex-direction:column}
.edh-left, .edh-right{width:100%}
.edh-left{padding:3rem 1.5rem}
.edh-right{height:320px;padding:0 1.5rem;justify-content:center}
.edh-img{width:100%;max-width:100%;height:100%;object-fit:cover;border-radius:8px}
}
@media (max-width: 768px){
.edh-section{min-height:0;overflow:visible}
.edh-right{height:auto;padding:0 1.25rem;overflow:visible}
.edh-img{width:100%;height:auto;object-fit:contain;border-radius:8px}
}
.page-services-grid .services-grid{grid-template-columns:repeat(5, 1fr);gap:1.2rem}
.page-services-grid .services-grid .service-card:last-child{grid-column:3 / 4}
.page-services-grid .service-card{padding:2rem 1.2rem 1.8rem;gap:0.9rem;justify-content:center;cursor:pointer}
.page-services-grid .service-desc, .page-services-grid .service-arrow{display:none}
.page-services-grid .service-card:hover{box-shadow:0 8px 32px rgba(var(--green-rgb),0.12);transform:translateY(-5px)}
.page-services-grid .services-header{padding-top:2rem}
@media (max-width: 1100px){
.page-services-grid .services-grid{grid-template-columns:repeat(3, 1fr)}
.page-services-grid .services-grid .service-card:last-child{grid-column:2 / 3}
}
@media (max-width: 700px){
.page-services-grid .services-grid{grid-template-columns:repeat(2, 1fr)}
.page-services-grid .services-grid .service-card:last-child{grid-column:auto}
}
@media (max-width: 420px){
.page-services-grid .services-grid{grid-template-columns:1fr}
}
.construction-model{position:absolute;left:8%;top:50%;transform:translateY(-50%);width:420px;height:420px;z-index:5;pointer-events:none}
#construction-3d{width:100%;height:100%}
.sdp-section{background:#f5f3ef;padding:48px 60px;box-sizing:border-box}
.sdp-panel{display:flex;min-height:600px;gap:32px;max-width:1400px;margin:0 auto;align-items:flex-start}
.sdp-left-col{width:300px;min-width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:30px;align-self:flex-start}
.sdp-left{background:#fff;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.07)}
.sdp-left-header{background:var(--green-deep);padding:1.4rem 1.6rem;display:flex;flex-direction:column;gap:0.5rem}
.sdp-back-btn{background:none;border:1px solid rgba(255,255,255,0.5);color:#fff;font-family:'Poltawski Nowy', serif;font-size:0.78rem;padding:0.3rem 0.8rem;border-radius:50px;cursor:pointer;width:fit-content;transition:background 0.2s ease}
.sdp-back-btn:hover{background:rgba(255,255,255,0.15)}
.sdp-left-title{color:#fff;font-family:'Poltawski Nowy', serif;font-size:1.05rem;font-weight:600;margin:0}
.sdp-list{list-style:none;margin:0;padding:0.4rem 0;flex:1}
.sdp-item{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 1.6rem;border-bottom:1px solid rgba(0,0,0,0.05);cursor:pointer;transition:background 0.2s ease, border-left 0.2s ease;border-left:3px solid transparent}
.sdp-item:hover{background:rgba(var(--green-rgb),0.05);border-left-color:rgba(var(--green-rgb),0.4)}
.sdp-item--active{background:rgba(var(--green-rgb),0.08);border-left-color:var(--green)}
.sdp-item--active .sdp-item-name{color:var(--green-deep);font-weight:600}
.sdp-item-name{font-family:'Poltawski Nowy', serif;font-size:0.88rem;color:#2a2a2a}
.sdp-item-arrow{font-size:0.8rem;color:var(--green);opacity:0.6}
.sdp-item--active .sdp-item-arrow{opacity:1}
.sdp-contact-card{position:relative;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 24px rgba(0,0,0,0.07)}
.sdp-contact-img{width:100%;height:auto;display:block;filter:brightness(0.45)}
.sdp-contact-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0.5rem;color:#fff;font-family:'Poltawski Nowy', serif;font-size:0.9rem;font-weight:600;text-decoration:none}
.sdp-contact-card--mobile{display:none}
.sdp-right{flex:1;overflow-y:auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.07)}
.sdp-image-wrap{width:100%;height:420px;overflow:hidden}
.sdp-image{width:100%;height:100%;object-fit:cover;display:block;transition:opacity 0.3s ease}
.sdp-detail-text{padding:2.5rem 3rem 3rem}
.sdp-detail-eyebrow{font-family:'Poltawski Nowy', serif;font-size:0.72rem;letter-spacing:0.14em;color:var(--green);text-transform:uppercase;margin:0 0 0.6rem}
.sdp-detail-headline{font-family:'Poltawski Nowy', serif;font-size:clamp(1.4rem, 2.5vw, 2rem);font-weight:700;color:#1a1a1a;line-height:1.2;margin:0 0 1.2rem}
.sdp-hl-red{color:var(--green)}
.sdp-detail-desc{font-family:'Poltawski Nowy', serif;font-size:0.9rem;color:#555;line-height:1.75;margin:0 0 0.8rem;text-align:justify}
.sdp-image-wrap, .sdp-detail-eyebrow, .sdp-detail-headline, .sdp-detail-desc{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease, transform 0.6s ease}
.sdp-image-wrap.sdp-visible, .sdp-detail-eyebrow.sdp-visible, .sdp-detail-headline.sdp-visible, .sdp-detail-desc.sdp-visible{opacity:1;transform:translateY(0)}
@media (max-width: 900px){
.sdp-section{padding:24px 20px}
.sdp-panel{flex-direction:column;gap:20px}
.sdp-left-col{width:100%;min-width:unset;position:static;align-self:auto}
.sdp-left{border-radius:10px}
.sdp-right{border-radius:10px}
.sdp-image-wrap{height:220px}
.sdp-detail-text{padding:1.4rem 1.4rem 2rem}
.sdp-left-col > .sdp-contact-card{display:none}
.sdp-contact-card--mobile{display:block;margin-top:24px}
}
.btn-explore-detail{background:var(--green);color:#fff;border:none;padding:0.85rem 2.2rem;font-family:'Poltawski Nowy', serif;font-size:0.95rem;font-weight:600;letter-spacing:0.04em;cursor:pointer;transition:background 0.25s ease, transform 0.2s ease}
.btn-explore-detail:hover{background:var(--green-deep-alt);transform:translateY(-2px)}
#preloader-container{--bg-deep:#080B10;--bg-mid:#0D1117;--bg-surface:#131923;--gold:#C8A96E;--gold-bright:#E2C98A;--gold-dim:#7A6140;--gold-glow:rgba(200,169,110,0.18);--cyan:var(--preloader-cyan);--cyan-bright:var(--preloader-teal);--cyan-dim:var(--preloader-teal-dark);--cyan-glow:rgba(77,217,192,0.12);--text-primary:#E8E4DC;--text-secondary:#7A8494;--text-muted:#3A4150;--border:rgba(200,169,110,0.15);--font-display:'Syne', sans-serif;--font-mono:'DM Mono', monospace;--ease-smooth:cubic-bezier(0.25, 0.46, 0.45, 0.94);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:#EEEEEE;color:var(--text-primary);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity 0.9s var(--ease-smooth), transform 0.9s var(--ease-smooth)}
#preloader-container.is-complete{opacity:0;pointer-events:none;transform:scale(1.04)}
html.preloader-is-home #canvas-mount, html.preloader-is-home .ui-overlay, html.preloader-is-home .glow-orb:not(.preloader-video-variant .glow-orb){display:none !important}
.preloader-video-variant{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;z-index:2}
#preloader-container.is-home-page{background:#f7f7f5}
#preloader-container.is-home-page .preloader-video-variant{display:flex}
#preloader-container.is-home-page #canvas-mount, #preloader-container.is-home-page .ui-overlay{display:none}
.preloader-video-center{display:flex;flex-direction:column;align-items:center;gap:18px}
#preloader-logo-video{width:360px;height:auto;border-radius:4px;-webkit-mask-image:linear-gradient(to right, transparent, black 30px, black calc(100% - 30px), transparent), linear-gradient(to bottom, transparent, black 30px, black calc(100% - 30px), transparent);mask-image:linear-gradient(to right, transparent, black 30px, black calc(100% - 30px), transparent), linear-gradient(to bottom, transparent, black 30px, black calc(100% - 30px), transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.preloader-video-percent{display:none;font-family:'Poltawski Nowy', serif;font-size:1rem;letter-spacing:0.12em;color:#C8A96E;opacity:0.85}
.video-pct-symbol{font-size:0.75em;margin-left:2px;opacity:0.7}
#canvas-mount{position:absolute;inset:0;z-index:1}
#canvas-mount canvas{width:100% !important;height:100% !important;display:block}
.glow-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:2;filter:blur(80px);opacity:0.55;animation:orb-breathe 6s ease-in-out infinite alternate}
.glow-orb--left{width:420px;height:420px;background:radial-gradient(circle, rgba(77,217,192,0.22) 0%, transparent 70%);top:-80px;left:-100px}
.glow-orb--right{width:500px;height:500px;background:radial-gradient(circle, rgba(200,169,110,0.2) 0%, transparent 70%);bottom:-120px;right:-120px;animation-delay:-3s}
@keyframes orb-breathe{
from{opacity:0.35;transform:scale(0.9)}
to{opacity:0.65;transform:scale(1.1)}
}
.scan-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient( 0deg, transparent, transparent 3px, rgba(0,0,0,0.06) 3px, rgba(0,0,0,0.06) 4px )}
#preloader-container .ui-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ui-header{display:flex;align-items:center;justify-content:space-between}
.brand-tag{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;color:var(--gold-dim);text-transform:uppercase}
.brand-tag__icon{color:var(--gold);font-size:14px;animation:icon-spin 8s linear infinite}
@keyframes icon-spin{
to{transform:rotate(360deg)}
}
.status-tag{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;color:var(--cyan);text-transform:uppercase}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:dot-pulse 1.6s ease-in-out infinite}
@keyframes dot-pulse{
0%, 100%{opacity:1;box-shadow:0 0 6px var(--cyan)}
50%{opacity:0.4;box-shadow:0 0 2px var(--cyan)}
}
.center-ui{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:8rem}
.progress-ring-wrapper{position:relative;width:160px;height:160px}
.progress-ring{width:160px;height:160px;transform:rotate(-90deg)}
.progress-ring__track{fill:none;stroke:var(--border);stroke-width:1.5}
.progress-ring__fill{fill:none;stroke:url(#ring-gradient);stroke-width:2;stroke-linecap:round;stroke-dasharray:427.26;stroke-dashoffset:427.26;transition:stroke-dashoffset 0.5s var(--ease-smooth);filter:drop-shadow(0 0 6px var(--gold))}
.progress-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2px}
.progress-percent{font-family:var(--font-display);font-size:44px;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-0.02em;text-shadow:0 0 30px rgba(200,169,110,0.4);transition:color 0.3s}
.progress-symbol{font-family:var(--font-mono);font-size:0.4em;vertical-align:super;color:var(--gold)}
.progress-label-block{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:260px}
.progress-phase{font-family:var(--font-mono);font-size:10px;letter-spacing:0.28em;color:var(--cyan);text-transform:uppercase;transition:opacity 0.3s}
.progress-bar-track{width:100%;height:2px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}
.progress-bar-fill{height:100%;width:0%;background:linear-gradient(90deg, var(--cyan-dim), var(--cyan), var(--gold));border-radius:2px;transition:width 0.5s var(--ease-smooth);box-shadow:0 0 8px var(--cyan);position:relative}
.progress-bar-fill::after{content:'';position:absolute;right:0;top:-2px;width:4px;height:6px;background:white;border-radius:2px;box-shadow:0 0 8px var(--gold-bright)}
.ui-footer{display:flex;align-items:center;justify-content:space-between}
.coord-readout{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:0.12em}
.coord-sep{color:var(--border)}
.build-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;color:var(--text-muted);text-transform:uppercase}
@media (max-width: 600px){
.progress-percent{font-size:36px}
.progress-ring-wrapper{width:130px;height:130px}
.progress-ring{width:130px;height:130px}
}
@media (max-width: 768px){
#preloader-container #canvas-mount{transform:scale(0.7);transform-origin:center center}
}
@media (prefers-reduced-motion: reduce){
.glow-orb, .status-dot, .brand-tag__icon{animation:none}
#preloader-container{transition:none}
}
.stt-wrap{position:fixed;bottom:max(11rem, 5vh);right:max(2rem, 1.5vw);z-index:999;width:46px;height:46px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px) scale(0.85);pointer-events:none;transition:opacity 0.4s ease, transform 0.4s ease}
.stt-wrap.stt-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
.stt-ring{display:none}
.stt-btn{position:absolute;inset:1px;width:44px;height:44px;border-radius:50%;background:#ffffff;border:1px solid rgba(0, 0, 0, 0.06);box-shadow:0 10px 28px rgba(0, 0, 0, 0.14), 0 3px 10px rgba(0, 0, 0, 0.08);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease}
.stt-btn::before{content:'';position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--green) var(--progress, 0deg), rgba(0, 0, 0, 0.08) 0deg);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));z-index:-1}
.stt-btn svg{width:18px;height:18px;stroke:#111111;transition:stroke 0.3s ease}
.stt-btn:hover{background:var(--green-dark);transform:translateY(-3px) scale(1.05);box-shadow:0 18px 40px rgba(var(--green-dark-rgb),0.22)}
.stt-btn:hover svg{stroke:#ffffff}
.stt-btn:active{transform:scale(0.96)}
#fabWrap{bottom:max(15rem, 8vh)}
.nav-theme-item{position:relative;margin-left:0.25rem}
.nav-theme-btn{display:inline-flex;align-items:center;gap:0.45rem;padding:0.5rem 1rem;font-family:inherit;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;color:#151515;background:transparent;border:1.5px solid rgba(0,0,0,0.18);border-radius:50px;cursor:pointer;white-space:nowrap;transition:color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s}
.nav-theme-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-theme-btn:hover, .nav-theme-item.open .nav-theme-btn{color:#fff;background:var(--green);border-color:var(--green);box-shadow:0 4px 14px rgba(var(--green-rgb), 0.35)}
.nav-theme-item .theme-palette{position:absolute;top:calc(100% + 14px);right:0;width:280px;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,0.08);border-radius:18px;box-shadow:0 16px 48px rgba(0,0,0,0.16), 0 4px 12px rgba(0,0,0,0.08);padding:16px;opacity:0;pointer-events:none;transform:translateY(-10px) scale(0.97);transform-origin:top right;transition:opacity 0.22s ease, transform 0.25s cubic-bezier(0.34,1.4,0.64,1);z-index:9999}
.nav-theme-item.open .theme-palette{opacity:1;pointer-events:all;transform:translateY(0) scale(1)}
.theme-palette-title{font-size:10px;font-weight:700;letter-spacing:0.12em;color:rgba(0,0,0,0.35);text-transform:uppercase;margin:0 0 10px 2px}
.theme-color-grid{display:grid;grid-template-columns:repeat(8, 1fr);gap:6px;margin-bottom:14px}
.theme-color-swatch{width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform 0.15s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.15s, border-color 0.15s;position:relative}
.theme-color-swatch:hover{transform:scale(1.22);box-shadow:0 4px 12px rgba(0,0,0,0.25);z-index:2}
.theme-color-swatch.active{border-color:rgba(0,0,0,0.5);box-shadow:0 0 0 2px #fff inset, 0 4px 12px rgba(0,0,0,0.2);transform:scale(1.15)}
.theme-custom-section{border-top:1px solid rgba(0,0,0,0.07);padding-top:12px;margin-top:2px}
.theme-custom-label{font-size:10px;font-weight:700;letter-spacing:0.12em;color:rgba(0,0,0,0.35);text-transform:uppercase;margin-bottom:8px}
.theme-hue-track{position:relative;width:100%;height:14px;border-radius:8px;background:linear-gradient(to right, hsl(0,55%,42%), hsl(20,55%,42%), hsl(40,55%,42%), hsl(60,55%,42%), hsl(80,55%,42%), hsl(100,55%,42%), hsl(120,55%,42%), hsl(140,55%,42%), hsl(160,55%,42%), hsl(180,55%,42%), hsl(200,55%,42%), hsl(220,55%,42%), hsl(240,55%,42%), hsl(260,55%,42%), hsl(280,55%,42%), hsl(300,55%,42%), hsl(320,55%,42%), hsl(340,55%,42%), hsl(360,55%,42%));cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,0.15);margin-bottom:8px}
.theme-hue-thumb{position:absolute;top:50%;transform:translate(-50%, -50%);width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid rgba(0,0,0,0.18);box-shadow:0 2px 8px rgba(0,0,0,0.28);pointer-events:none;transition:border-color 0.1s}
.theme-preview-row{display:flex;align-items:center;gap:8px;margin-top:4px}
.theme-preview-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,0.1);flex-shrink:0;transition:background 0.15s}
.theme-apply-btn{flex:1;padding:7px 12px;border-radius:50px;border:none;background:var(--green);color:#fff;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:0.08em;cursor:pointer;transition:opacity 0.2s, box-shadow 0.2s}
.theme-apply-btn:hover{opacity:0.88;box-shadow:0 4px 14px rgba(0,0,0,0.2)}
@media (max-width: 768px){
.nav-mobile .nav-theme-item{border-bottom:1px solid rgba(0,0,0,0.07)}
.nav-mobile .nav-theme-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.9rem 0;font-size:0.88rem;background:none;border:none;border-radius:0}
.nav-mobile .nav-theme-btn:hover, .nav-mobile .nav-theme-item.open .nav-theme-btn{color:var(--green);background:none;border:none;box-shadow:none}
.nav-mobile .nav-theme-item .theme-palette{position:static;width:100%;border-radius:14px;box-shadow:none;border:1px solid rgba(0,0,0,0.08);transform:none;opacity:0;pointer-events:none;max-height:0;overflow:hidden;padding:0 14px;transition:opacity 0.22s ease, max-height 0.25s ease, padding 0.22s ease;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav-mobile .nav-theme-item.open .theme-palette{opacity:1;pointer-events:all;max-height:400px;padding:14px}
}
@keyframes btnBounce{
0%{transform:scale(1)}
35%{transform:scale(1.1)}
70%{transform:scale(0.9)}
100%{transform:scale(1)}
}
.btn-bounce{animation:btnBounce 1s cubic-bezier(0.45, 0, 0.55, 1)}
@media (prefers-reduced-motion: reduce){
.btn-bounce{animation:none}
}
.next-section{background:#f5f0ea;padding:5rem 3rem;overflow:hidden}
.next-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.next-left{max-width:560px}
.next-eyebrow{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-size:0.85rem;letter-spacing:0.22em;color:var(--green);text-transform:uppercase;margin-bottom:1.2rem}
.next-headline{font-family:var(--font-display);font-size:clamp(2rem, 3.5vw, 3rem);font-weight:800;color:#1a1610;line-height:1.1;margin-bottom:1.4rem}
.next-headline-green{color:var(--green)}
.next-rule{display:block;width:70px;height:3px;background:var(--green);margin-bottom:1.5rem}
.next-body{color:#555;line-height:1.8;margin-bottom:1.4rem;text-align:justify}
.next-closing{font-family:'Dancing Script', 'Brush Script MT', cursive;font-weight:700;font-size:1.8rem;max-width:520px;color:var(--green-dark);margin-bottom:2rem}
.next-btn{display:inline-flex;align-items:center;gap:0.6rem;background:var(--green);color:#fff;padding:0.9rem 1.8rem;border-radius:50px;border:none;cursor:pointer;font-family:inherit;text-decoration:none;font-weight:700;font-size:0.95rem;letter-spacing:0.04em;transition:background 0.25s, transform 0.25s, box-shadow 0.25s}
.next-btn:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 12px 30px rgba(var(--green-rgb), 0.35)}
.next-right{display:flex;justify-content:center}
.next-video-frame{width:100%;max-width:620px;aspect-ratio:16 / 9;border-radius:24px;overflow:hidden;box-shadow:0 24px 64px rgba(0, 0, 0, 0.18)}
.next-video{width:100%;height:100%;object-fit:cover;display:block;border-radius:24px}
@media (max-width: 900px){
.next-container{grid-template-columns:1fr;gap:2.5rem}
.next-left{max-width:100%}
.next-section{padding:3.5rem 1.5rem}
}
a, button{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}
