@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&family=Outfit:wght@300;400;500;600;700&display=swap');
:root{--gold:#C8A96E;--gold-light:#D4BA85;--gold-dark:#8B7355;--black:#0A0A0A;--white:#FAFAF8;--cream:#F5F0EB;--gray:#6B6B6B;--gray-dark:#2A2A2A;--gray-light:#E8E4DF;--font-display:'Playfair Display',Georgia,serif;--font-body:'Inter',system-ui,sans-serif;--font-nav:'Outfit',sans-serif;--transition:all .4s cubic-bezier(.25,.46,.45,.94);--shadow:0 20px 60px rgba(0,0,0,.15);--shadow-lg:0 40px 80px rgba(0,0,0,.25);--radius:12px;--radius-lg:24px;--max-w:1400px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-padding-top:90px}
body{font-family:var(--font-body);color:var(--black);background:var(--white);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--black)}
h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.02em}
h2{font-size:clamp(2rem,3.5vw,3rem)}
h3{font-size:clamp(1.3rem,2vw,1.8rem)}
p{color:var(--gray);font-size:1.05rem;max-width:680px}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{width:90%;max-width:var(--max-w);margin:0 auto}
section{padding:120px 0;position:relative}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;font-family:var(--font-nav);font-size:.9rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}
.btn-primary{background:var(--gold);color:var(--black);border-radius:60px}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 30px rgba(200,169,110,.3)}
.btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.4);border-radius:60px}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-dark{background:var(--black);color:var(--white);border-radius:60px}
.btn-dark:hover{background:var(--gray-dark);transform:translateY(-2px)}
/* NAVBAR */
.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 0;transition:var(--transition)}
.navbar.scrolled{background:rgba(10,10,10,.95);backdrop-filter:blur(20px);padding:12px 0;box-shadow:0 4px 30px rgba(0,0,0,.2)}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--font-display);font-size:1.6rem;color:var(--white);font-weight:600;letter-spacing:.05em}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:35px}
.nav-links a{font-family:var(--font-nav);font-size:.85rem;color:rgba(255,255,255,.8);letter-spacing:.08em;text-transform:uppercase;font-weight:400;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--gold);transition:var(--transition)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a:hover{color:var(--white)}
.lang-switcher{display:flex;gap:8px;margin-left:15px;padding-left:20px;border-left:1px solid rgba(255,255,255,.2)}
.lang-switcher button{background:none;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.6);font-family:var(--font-nav);font-size:.7rem;padding:4px 10px;border-radius:20px;cursor:pointer;transition:var(--transition);letter-spacing:.05em;text-transform:uppercase}
.lang-switcher button.active,.lang-switcher button:hover{border-color:var(--gold);color:var(--gold)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px}
.nav-toggle span{width:25px;height:2px;background:var(--white);transition:var(--transition)}
/* HERO */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,.75) 0%,rgba(10,10,10,.4) 50%,rgba(10,10,10,.6) 100%);z-index:1}
.hero-content{position:relative;z-index:2;color:var(--white);max-width:750px}
.hero-subtitle{font-family:var(--font-nav);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:15px}
.hero-subtitle::before{content:'';width:40px;height:1.5px;background:var(--gold)}
.hero h1{color:var(--white);margin-bottom:25px}
.hero p{color:rgba(255,255,255,.7);font-size:1.15rem;margin-bottom:40px;max-width:550px}
.hero-buttons{display:flex;gap:15px;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-nav)}
.hero-scroll::after{content:'';width:1px;height:40px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollDown 2s ease-in-out infinite}
@keyframes scrollDown{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* SECTION HEADERS */
.section-header{text-align:center;margin-bottom:70px}
.section-label{font-family:var(--font-nav);font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:15px;display:inline-flex;align-items:center;gap:15px}
.section-label::before,.section-label::after{content:'';width:30px;height:1px;background:var(--gold)}
.section-header h2{margin-bottom:20px}
.section-header p{margin:0 auto;color:var(--gray)}
/* SERVICES GRID */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.service-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;cursor:pointer;group:true}
.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-card:hover img{transform:scale(1.08)}
.service-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.85) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:35px;transition:var(--transition)}
.service-card h3{color:var(--white);margin-bottom:8px;font-size:1.4rem}
.service-card p{color:rgba(255,255,255,.65);font-size:.9rem;margin-bottom:15px}
.service-card .card-link{color:var(--gold);font-family:var(--font-nav);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;opacity:0;transform:translateY(10px);transition:var(--transition)}
.service-card:hover .card-link{opacity:1;transform:translateY(0)}
/* PROCESS / TIMELINE */
.process-section{background:var(--black);color:var(--white);overflow:hidden}
.process-section h2{color:var(--white)}
.process-section p{color:rgba(255,255,255,.6)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:60px}
.process-step{text-align:center;position:relative}
.process-step::after{content:'';position:absolute;top:35px;right:-20px;width:40px;height:1px;background:var(--gold-dark)}
.process-step:last-child::after{display:none}
.step-number{font-family:var(--font-display);font-size:3rem;color:var(--gold);opacity:.3;margin-bottom:10px}
.process-step h3{color:var(--white);font-size:1.1rem;margin-bottom:10px}
.process-step p{color:rgba(255,255,255,.5);font-size:.9rem;margin:0 auto}
/* CAROUSEL */
.carousel-section{background:var(--cream);overflow:hidden}
.carousel-wrapper{position:relative}
.carousel-track{display:flex;gap:25px;transition:transform .5s ease;will-change:transform}
.carousel-slide{min-width:calc(33.333% - 17px);border-radius:var(--radius-lg);overflow:hidden;position:relative;aspect-ratio:4/3}
.carousel-slide img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.carousel-slide:hover img{transform:scale(1.05)}
.carousel-controls{display:flex;justify-content:center;gap:15px;margin-top:40px}
.carousel-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--gray-light);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:1.1rem;color:var(--black)}
.carousel-btn:hover{border-color:var(--gold);color:var(--gold)}
/* TESTIMONIALS */
.testimonials{background:var(--white)}
.testimonial-slider{max-width:800px;margin:0 auto;text-align:center}
.testimonial-item{display:none}
.testimonial-item.active{display:block}
.testimonial-quote{font-family:var(--font-display);font-size:1.5rem;font-style:italic;color:var(--black);line-height:1.6;margin-bottom:30px;position:relative;padding:0 30px}
.testimonial-quote::before{content:'\201C';position:absolute;top:-20px;left:-10px;font-size:5rem;color:var(--gold);opacity:.3;font-family:var(--font-display);line-height:1}
.testimonial-author{font-family:var(--font-nav);font-weight:500;font-size:.9rem;color:var(--black)}
.testimonial-role{font-size:.8rem;color:var(--gray);margin-top:3px}
.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:35px}
.testimonial-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--gray-light);background:transparent;cursor:pointer;transition:var(--transition)}
.testimonial-dot.active{background:var(--gold);border-color:var(--gold)}
/* CTA SECTION */
.cta-section{background:linear-gradient(135deg,var(--black) 0%,#1a1510 100%);text-align:center;color:var(--white);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;border-radius:50%;border:1px solid rgba(200,169,110,.1)}
.cta-section h2{color:var(--white);margin-bottom:20px}
.cta-section p{color:rgba(255,255,255,.6);margin:0 auto 40px}
/* STATS */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:80px 0;border-top:1px solid var(--gray-light);border-bottom:1px solid var(--gray-light)}
.stat-item{text-align:center}
.stat-number{font-family:var(--font-display);font-size:3rem;color:var(--gold);font-weight:600}
.stat-label{font-family:var(--font-nav);font-size:.8rem;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;margin-top:5px}
/* GALLERY / MASONRY */
.gallery-filters{display:flex;justify-content:center;gap:10px;margin-bottom:50px;flex-wrap:wrap}
.filter-btn{padding:10px 25px;border:1.5px solid var(--gray-light);background:transparent;font-family:var(--font-nav);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border-radius:30px;cursor:pointer;transition:var(--transition);color:var(--gray)}
.filter-btn.active,.filter-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,169,110,.08)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-item{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item-overlay{position:absolute;inset:0;background:rgba(10,10,10,.5);opacity:0;transition:var(--transition);display:flex;align-items:center;justify-content:center}
.gallery-item:hover .gallery-item-overlay{opacity:1}
.gallery-item-overlay span{color:var(--white);font-family:var(--font-nav);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);padding:8px 20px;border-radius:30px}
/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.95);z-index:9999;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.lightbox.active{display:flex;opacity:1}
.lightbox img{max-width:85vw;max-height:85vh;border-radius:var(--radius);object-fit:contain}
.lightbox-close{position:absolute;top:30px;right:30px;color:var(--white);font-size:2rem;cursor:pointer;background:none;border:none;width:50px;height:50px;display:flex;align-items:center;justify-content:center}
/* ABOUT / TIMELINE */
.timeline{position:relative;max-width:700px;margin:0 auto}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--gray-light);transform:translateX(-50%)}
.timeline-item{display:flex;gap:40px;margin-bottom:60px;align-items:center}
.timeline-item:nth-child(even){flex-direction:row-reverse}
.timeline-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--gold);background:var(--white);flex-shrink:0;position:relative;z-index:1}
.timeline-content{flex:1}
.timeline-year{font-family:var(--font-display);font-size:1.8rem;color:var(--gold);margin-bottom:5px}
/* VALUES */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.value-card{text-align:center;padding:40px 25px;border-radius:var(--radius-lg);background:rgba(200,169,110,.04);border:1px solid rgba(200,169,110,.12);transition:var(--transition)}
.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(200,169,110,.25)}
.value-icon{font-size:2.5rem;margin-bottom:20px}
.value-card h3{margin-bottom:10px;font-size:1.15rem}
.value-card p{font-size:.9rem;color:var(--gray);margin:0 auto}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.form-group{margin-bottom:22px}
.form-group label{display:block;font-family:var(--font-nav);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 18px;border:1.5px solid var(--gray-light);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;background:var(--white);transition:var(--transition);color:var(--black)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,169,110,.1)}
.form-group textarea{resize:vertical;min-height:130px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-info-card{background:var(--black);color:var(--white);border-radius:var(--radius-lg);padding:45px;height:100%}
.contact-info-card h3{color:var(--white);margin-bottom:30px;font-size:1.5rem}
.contact-info-item{display:flex;gap:15px;margin-bottom:25px;align-items:flex-start}
.contact-info-item .icon{color:var(--gold);font-size:1.2rem;flex-shrink:0;margin-top:2px}
.contact-info-item p{color:rgba(255,255,255,.7);font-size:.9rem}
.contact-info-item strong{color:var(--white);display:block;margin-bottom:3px;font-family:var(--font-nav);font-size:.85rem;letter-spacing:.05em}
/* FAQ */
.faq-section{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--gray-light);padding:22px 0}
.faq-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-display);font-size:1.1rem;color:var(--black);font-weight:500;gap:20px}
.faq-icon{transition:transform .3s;color:var(--gold);font-size:1.3rem;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-answer{max-height:300px;padding-top:15px}
.faq-answer p{font-size:.95rem}
/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.blog-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid rgba(0,0,0,.06);transition:var(--transition)}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.blog-card-image{aspect-ratio:16/10;overflow:hidden}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.blog-card:hover .blog-card-image img{transform:scale(1.05)}
.blog-card-body{padding:28px}
.blog-tag{font-family:var(--font-nav);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:inline-block}
.blog-card-body h3{font-size:1.2rem;margin-bottom:10px;line-height:1.4}
.blog-card-body p{font-size:.9rem;color:var(--gray);line-height:1.6}
.blog-date{font-size:.8rem;color:var(--gray);margin-top:15px;font-family:var(--font-nav)}
/* FOOTER */
.footer{background:var(--black);color:var(--white);padding:80px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px}
.footer-brand p{color:rgba(255,255,255,.5);font-size:.9rem;margin-top:15px;line-height:1.7}
.footer-col h4{font-family:var(--font-nav);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-col a{display:block;color:rgba(255,255,255,.6);font-size:.9rem;margin-bottom:10px;transition:var(--transition)}
.footer-col a:hover{color:var(--gold);padding-left:5px}
.footer-social{display:flex;gap:12px;margin-top:20px}
.footer-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);transition:var(--transition);font-size:.9rem}
.footer-social a:hover{border-color:var(--gold);color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:25px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.footer-bottom p{color:rgba(255,255,255,.4);font-size:.8rem}
.footer-bottom-links{display:flex;gap:25px}
.footer-bottom-links a{color:rgba(255,255,255,.4);font-size:.8rem}
.footer-bottom-links a:hover{color:var(--gold)}
/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s ease,transform .8s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s ease,transform .8s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}
/* PAGE HERO (for subpages) */
.page-hero{height:50vh;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:var(--black)}
.page-hero-bg{position:absolute;inset:0;opacity:.35}
.page-hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero-content{position:relative;z-index:2;color:var(--white)}
.page-hero-content h1{color:var(--white);margin-bottom:15px}
.page-hero .breadcrumb{display:flex;justify-content:center;gap:10px;font-family:var(--font-nav);font-size:.8rem;color:rgba(255,255,255,.5);letter-spacing:.05em}
.page-hero .breadcrumb a{color:var(--gold)}
/* BEFORE/AFTER SLIDER */
.ba-container{display:grid;gap:50px}
.ba-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;cursor:col-resize;user-select:none}
.ba-item img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ba-before{clip-path:inset(0 50% 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--gold);z-index:10;transform:translateX(-50%)}
.ba-handle::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 15px rgba(0,0,0,.3)}
.ba-handle::before{content:'\2194';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;font-size:1.2rem;color:var(--black);font-weight:700}
.ba-label{position:absolute;top:20px;padding:6px 16px;font-family:var(--font-nav);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white);background:rgba(10,10,10,.6);backdrop-filter:blur(4px);border-radius:20px;z-index:5}
.ba-label-before{left:20px}
.ba-label-after{right:20px}
/* CONFIGURATOR */
.config-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:start}
.config-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3}
.config-preview img{width:100%;height:100%;object-fit:cover;transition:opacity .5s}
.config-overlay{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.35;transition:background .5s;border-radius:var(--radius-lg);pointer-events:none}
.config-panel{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius-lg);padding:35px}
.config-category{margin-bottom:30px}
.config-category h3{font-size:1.1rem;margin-bottom:15px;display:flex;align-items:center;gap:10px}
.config-category h3::before{content:'';width:20px;height:1px;background:var(--gold)}
.swatch-grid{display:flex;flex-wrap:wrap;gap:10px}
.swatch{width:50px;height:50px;border-radius:var(--radius);cursor:pointer;border:2px solid transparent;transition:var(--transition);position:relative}
.swatch:hover,.swatch.active{border-color:var(--gold);transform:scale(1.1);box-shadow:0 4px 15px rgba(0,0,0,.15)}
.swatch.active::after{content:'\2713';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;font-size:.8rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.swatch-name{font-size:.7rem;color:var(--gray);text-align:center;margin-top:4px;font-family:var(--font-nav)}
.config-summary{background:var(--cream);border-radius:var(--radius);padding:20px;margin-top:20px}
.config-summary h4{font-family:var(--font-nav);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.config-summary-item{display:flex;justify-content:space-between;font-size:.9rem;padding:6px 0;border-bottom:1px solid var(--gray-light)}
.config-summary-item:last-child{border:none}
.config-summary-item span:first-child{color:var(--gray)}
.config-summary-item span:last-child{font-weight:500;color:var(--black)}
/* ESTIMATOR */
.estimator-card{max-width:700px;margin:0 auto;background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius-lg);padding:50px;box-shadow:var(--shadow)}
.progress-bar{display:flex;gap:5px;margin-bottom:40px}
.progress-step{flex:1;height:4px;border-radius:4px;background:var(--gray-light);transition:background .4s}
.progress-step.active{background:var(--gold)}
.est-step{display:none}
.est-step.active{display:block}
.est-step h3{text-align:center;margin-bottom:10px}
.est-step>p{text-align:center;margin:0 auto 30px;font-size:.9rem}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.option-card{padding:20px 15px;border:1.5px solid var(--gray-light);border-radius:var(--radius);cursor:pointer;text-align:center;transition:var(--transition)}
.option-card:hover{border-color:var(--gold-light)}
.option-card.selected{border-color:var(--gold);background:rgba(200,169,110,.06);box-shadow:0 0 0 1px var(--gold)}
.option-card .opt-icon{font-size:1.8rem;margin-bottom:8px}
.option-card .opt-label{font-family:var(--font-nav);font-size:.8rem;font-weight:500;letter-spacing:.03em;color:var(--black)}
.option-card .opt-desc{font-size:.75rem;color:var(--gray);margin-top:4px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check-option{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1.5px solid var(--gray-light);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}
.check-option.checked{border-color:var(--gold);background:rgba(200,169,110,.06)}
.check-box{width:20px;height:20px;border:1.5px solid var(--gray-light);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:.7rem;color:transparent}
.check-option.checked .check-box{border-color:var(--gold);background:var(--gold);color:var(--black)}
.check-label{font-family:var(--font-nav);font-size:.85rem}
.est-nav{display:flex;justify-content:space-between;margin-top:35px;gap:15px}
.est-result{text-align:center;padding:30px 0}
.est-result .price-range{font-family:var(--font-display);font-size:2.8rem;color:var(--gold);margin:15px 0;font-weight:600}
.est-result .price-note{font-size:.85rem;color:var(--gray);margin-bottom:30px}
/* PORTAL */
.portal-login{max-width:450px;margin:0 auto;text-align:center}
.portal-login .form-group{text-align:left}
.portal-icon{font-size:3rem;margin-bottom:20px;color:var(--gold)}
.portal-dashboard{display:none}
.portal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;flex-wrap:wrap;gap:15px}
.portal-header h2{margin:0}
.portal-logout{background:none;border:1px solid var(--gray-light);padding:8px 20px;border-radius:30px;font-family:var(--font-nav);font-size:.8rem;cursor:pointer;transition:var(--transition);color:var(--gray)}
.portal-logout:hover{border-color:var(--gold);color:var(--gold)}
.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.portal-card{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius-lg);padding:30px;transition:var(--transition)}
.portal-card:hover{box-shadow:var(--shadow)}
.portal-card.full{grid-column:1/-1}
.portal-card h3{font-size:1.1rem;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.portal-card h3 svg{flex-shrink:0}
.portal-timeline{display:flex;justify-content:space-between;position:relative;padding:0 10px}
.portal-timeline::before{content:'';position:absolute;top:18px;left:30px;right:30px;height:2px;background:var(--gray-light)}
.portal-timeline-step{text-align:center;position:relative;z-index:1;flex:1}
.portal-timeline-dot{width:36px;height:36px;border-radius:50%;border:2px solid var(--gray-light);background:var(--white);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:var(--transition)}
.portal-timeline-step.done .portal-timeline-dot{background:var(--gold);border-color:var(--gold);color:var(--black)}
.portal-timeline-step.current .portal-timeline-dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px rgba(200,169,110,.2)}
.portal-timeline-label{font-family:var(--font-nav);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gray)}
.portal-timeline-step.done .portal-timeline-label,.portal-timeline-step.current .portal-timeline-label{color:var(--black);font-weight:500}
.portal-detail{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--gray-light);font-size:.9rem}
.portal-detail:last-child{border:none}
.portal-detail span:first-child{color:var(--gray)}
.portal-detail span:last-child{font-weight:500}
.portal-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.portal-photos img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover}
.portal-doc{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--gray-light);border-radius:var(--radius);margin-bottom:8px;transition:var(--transition);font-size:.9rem}
.portal-doc:hover{border-color:var(--gold);background:rgba(200,169,110,.04)}
.portal-doc svg{flex-shrink:0;color:var(--gold)}
/* MOBILE RESPONSIVE */
@media(max-width:1024px){
.config-layout{grid-template-columns:1fr}
.portal-grid{grid-template-columns:1fr}
.services-grid,.values-grid{grid-template-columns:repeat(2,1fr)}
.process-grid{grid-template-columns:repeat(2,1fr)}
.process-step::after{display:none}
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.stats-bar{grid-template-columns:repeat(2,1fr);gap:30px}
.carousel-slide{min-width:calc(50% - 13px)}
}
@media(max-width:768px){
section{padding:80px 0}
.navbar .nav-links{position:fixed;top:0;right:-100%;width:80%;max-width:350px;height:100vh;background:rgba(10,10,10,.98);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;padding:40px;transition:right .4s ease;gap:25px}
.navbar .nav-links.open{right:0}
.nav-toggle{display:flex}
.lang-switcher{border-left:none;margin-left:0;padding-left:0;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}
.hero-content{padding:0 20px}
.hero h1{font-size:2.2rem}
.hero-buttons{flex-direction:column;align-items:flex-start}
.services-grid,.blog-grid{grid-template-columns:1fr}
.values-grid{grid-template-columns:1fr}
.process-grid{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:1fr 1fr}
.contact-grid{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.stats-bar{grid-template-columns:1fr;gap:25px}
.carousel-slide{min-width:100%}
.footer-bottom{flex-direction:column;text-align:center}
.timeline-item,.timeline-item:nth-child(even){flex-direction:column;text-align:center}
.timeline::before{display:none}
.option-grid{grid-template-columns:repeat(2,1fr)}
.check-grid{grid-template-columns:1fr}
.ba-item{aspect-ratio:4/3}
.portal-photos{grid-template-columns:1fr 1fr}
.portal-timeline{flex-wrap:wrap;gap:10px}
.config-layout{grid-template-columns:1fr}
}
/ *   M A T E R I A L S   P A G E   * / \ n . m a t e r i a l - c a r d   {   b a c k g r o u n d :   v a r ( - - b g - c o l o r ) ;   b o r d e r :   1 p x   s o l i d   r g b a ( 2 0 0 , 1 6 9 , 1 1 0 , 0 . 2 ) ;   b o r d e r - r a d i u s :   4 p x ;   o v e r f l o w :   h i d d e n ;   t r a n s i t i o n :   v a r ( - - t r a n s i t i o n ) ;   } \ n . m a t e r i a l - c a r d : h o v e r   {   t r a n s f o r m :   t r a n s l a t e Y ( - 5 p x ) ;   b o x - s h a d o w :   0   1 0 p x   3 0 p x   r g b a ( 0 , 0 , 0 , 0 . 0 5 ) ;   b o r d e r - c o l o r :   v a r ( - - g o l d ) ;   } \ n . m a t e r i a l - s w a t c h   {   w i d t h :   1 0 0 % ;   p a d d i n g - b o t t o m :   1 0 0 % ;   p o s i t i o n :   r e l a t i v e ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - q u a r t z   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f 5 f 5 f 5   0 % ,   # e 0 e 0 e 0   1 0 0 % ) ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - g r a n i t   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 2 a 2 a 2 a   0 % ,   # 1 1 1   1 0 0 % ) ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - w o o d   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # d 4 a 3 7 3   0 % ,   # 8 b 5 a 2 b   1 0 0 % ) ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - w a l n u t   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 5 c 4 0 3 3   0 % ,   # 3 e 2 7 2 3   1 0 0 % ) ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - m e l a m i n e   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 1 c 1 c 1 c   0 % ,   # 2 c 2 c 2 c   1 0 0 % ) ;   } \ n . m a t e r i a l - s w a t c h . s w a t c h - b r a s s   {   b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # c 8 a 9 6 e   0 % ,   # b 8 8 6 0 b   1 0 0 % ) ;   } \ n . m a t e r i a l - i n f o   {   p a d d i n g :   1 . 5 r e m ;   t e x t - a l i g n :   c e n t e r ;   } \ n . m a t e r i a l - i n f o   h 3   {   f o n t - s i z e :   1 . 2 r e m ;   c o l o r :   v a r ( - - t e x t - c o l o r ) ;   m a r g i n - b o t t o m :   0 . 5 r e m ;   } \ n . m a t e r i a l - i n f o   p   {   f o n t - s i z e :   0 . 9 r e m ;   c o l o r :   # 6 6 6 ;   }  
 