:root{--off-white:#F6F1EB;--cream:#EDE5D8;--dark:#1A1916;--dark2:#2A2723;--gold:#C9A96E;--gold-light:#DFC08E;--beige:#C8B89A;--stone:#8C7E6A;--red-err:#8B2C2C;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--nav-h:72px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}body{font-family:var(--sans);background:var(--off-white);color:var(--dark);overflow-x:hidden}@media (min-width:900px){body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.028'/%3E%3C/svg%3E");opacity:1}}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1}p{font-family:var(--sans);font-weight:300;line-height:1.7}.label{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold)}.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.8s ease,transform 0.8s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}.reveal-delay-5{transition-delay:0.5s}.reveal-delay-6{transition-delay:0.6s}nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 48px;transition:background 0.4s ease,backdrop-filter 0.4s ease,box-shadow 0.4s ease}nav.scrolled{background:rgba(26,25,22,0.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(201,169,110,0.15)}.nav-logo{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--off-white);letter-spacing:0.12em;text-decoration:none;display:flex;flex-direction:column;gap:1px}.nav-logo span{font-size:9px;font-family:var(--sans);letter-spacing:0.3em;color:var(--gold);font-weight:400}.nav-links{display:flex;gap:36px;list-style:none}.nav-links a{font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:0.08em;color:rgba(246,241,235,0.75);text-decoration:none;transition:color 0.2s}.nav-links a:hover{color:var(--gold)}.nav-cta{background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:10px 24px;cursor:pointer;text-decoration:none;transition:background 0.25s,color 0.25s}.nav-cta:hover{background:var(--gold);color:var(--dark)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.hamburger span{display:block;width:24px;height:1px;background:var(--off-white);transition:all 0.3s}.mobile-menu{display:none;position:fixed;inset:0;z-index:999;background:rgba(26,25,22,0.97);flex-direction:column;align-items:center;justify-content:center;gap:40px}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--serif);font-size:32px;color:var(--off-white);text-decoration:none;transition:color 0.2s}.mobile-menu a:hover{color:var(--gold)}.mobile-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--off-white);font-size:28px;cursor:pointer}#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--dark2);cursor:none}@media (max-width:900px),(hover:none){#hero{cursor:auto}#hero-magnifier{display:none !important}#hero:hover #hero-magnifier{display:none !important}}.hero-bg{position:absolute;inset:0;background-image:url('img/moon_main_desktop.webp');background-size:cover;background-position:center}@media (max-width:768px){.hero-bg{background-image:url('img/Moon_main_mobile.webp')}}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,13,10,0.35) 0%,rgba(15,13,10,0.25) 40%,rgba(15,13,10,0.55) 100%)}#hero-magnifier{position:absolute;pointer-events:none;z-index:10;width:180px;height:180px;border-radius:50%;border:2px solid rgba(201,169,110,0.6);box-shadow:0 0 0 1px rgba(201,169,110,0.2),0 8px 40px rgba(0,0,0,0.5);overflow:hidden;display:none;transform:translate(-50%,-50%)}#hero-magnifier-img{position:absolute}#hero:hover #hero-magnifier{display:block}.hero-texture{position:absolute;inset:0;background-image:repeating-linear-gradient(92deg,transparent,transparent 3px,rgba(201,169,110,0.012) 3px,rgba(201,169,110,0.012) 4px),repeating-linear-gradient(178deg,transparent,transparent 6px,rgba(255,255,255,0.008) 6px,rgba(255,255,255,0.008) 7px);mix-blend-mode:screen}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:0 32px}.hero-eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;display:block}.hero-title{font-family:var(--serif);font-size:clamp(42px,6vw,80px);font-weight:400;color:var(--off-white);line-height:1.05;margin-bottom:16px}.hero-title em{font-style:italic;color:var(--gold)}.hero-subtitle-block{margin-bottom:48px}.hero-subtitle{font-size:clamp(16px,2vw,20px);font-weight:300;color:rgba(246,241,235,0.65);line-height:1.6}.hero-subtitle strong{color:var(--gold-light);font-weight:400}.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-wa{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0.06em;padding:16px 32px;text-decoration:none;transition:background 0.25s,transform 0.2s}.btn-wa:hover{background:#1ebe5d;transform:translateY(-1px)}.btn-wa svg{width:20px;height:20px;flex-shrink:0}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(201,169,110,0.5);color:var(--off-white);font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:0.06em;padding:16px 32px;text-decoration:none;cursor:pointer;transition:border-color 0.25s,color 0.25s,transform 0.2s}.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}.hero-divider{width:1px;height:48px;background:linear-gradient(to bottom,var(--gold),transparent);margin:60px auto 0;animation:pulse-line 2s ease-in-out infinite}@keyframes pulse-line{0%,100%{opacity:0.4;transform:scaleY(0.8)}50%{opacity:1;transform:scaleY(1)}}.hero-scroll-label{font-size:10px;letter-spacing:0.25em;color:rgba(246,241,235,0.35);text-transform:uppercase;margin-top:12px;text-align:center}section{padding:100px 0}.container{max-width:1200px;margin:0 auto;padding:0 48px}.section-header{text-align:center;max-width:680px;margin:0 auto 72px}.section-title{font-size:clamp(32px,4vw,54px);margin-bottom:20px}.section-subtitle{font-size:16px;color:var(--stone);line-height:1.7}.gold-rule{display:block;width:48px;height:1px;background:var(--gold);margin:24px auto}#problem{background:#131210}#problem .section-title{color:var(--off-white)}#problem .section-subtitle{color:rgba(246,241,235,0.45)}#problem .label{color:var(--gold)}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.problem-card{background:#1C1A17;padding:40px 28px;border-top:2px solid #8B2C2C;position:relative;overflow:hidden;transition:background 0.3s}.problem-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(139,44,44,0.12),transparent 70%)}.problem-card:hover{background:#221E1A}.problem-card:hover img{transform:scale(1.06)}.problem-icon{font-size:32px;margin-bottom:20px;display:block}.problem-card h3{font-family:var(--serif);font-size:22px;color:var(--off-white);margin-bottom:12px;font-weight:400}.problem-card p{font-size:14px;color:rgba(246,241,235,0.45);line-height:1.6}.problem-x{position:absolute;top:16px;right:16px;width:24px;height:24px;opacity:0.4}.problem-x::before,.problem-x::after{content:'';position:absolute;width:100%;height:1px;background:#c0392b;top:50%;left:0}.problem-x::before{transform:rotate(45deg)}.problem-x::after{transform:rotate(-45deg)}.problem-transition{text-align:center;padding:64px 48px 0}.problem-transition h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);color:var(--off-white)}.problem-transition h2 em{font-style:italic;color:var(--gold)}#solution{background:var(--off-white)}.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:80px}.usp-card{background:var(--cream);padding:44px 36px;border-bottom:1px solid rgba(201,169,110,0.2);transition:background 0.3s;position:relative}.usp-card.featured{background:var(--dark);grid-column:span 1}.usp-card.featured h3,.usp-card.featured p{color:var(--off-white)}.usp-card.featured .usp-icon{color:var(--gold)}.usp-card:hover{background:#E8E0D2}.usp-card.featured:hover{background:#222019}.usp-icon{font-size:28px;margin-bottom:20px;display:block;color:var(--gold)}.team-photo-wrap{overflow:hidden}.team-photo{transition:transform 0.6s ease}.team-photo-wrap:hover .team-photo{transform:scale(1.04)}.usp-card h3{font-family:var(--serif);font-size:22px;margin-bottom:12px;font-weight:400}.usp-card p{font-size:14px;color:var(--stone);line-height:1.6}.usp-card.featured p{color:rgba(246,241,235,0.5)}.antimold-badge{position:absolute;top:20px;right:20px;background:var(--gold);color:var(--dark);font-size:9px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;padding:5px 10px}.materials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-bottom:24px}.material-card{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;background:var(--cream);text-align:center;transition:background 0.3s;cursor:default;overflow:hidden}.material-card:hover{background:#E0D8CC}.material-sample{width:120px;height:120px;border-radius:0;overflow:hidden;flex-shrink:0}.material-sample img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}.material-card:hover .material-sample img{transform:scale(1.18)}.material-card span{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);font-weight:500}.zones-row{display:flex;gap:1px}.zone-pill{flex:1;padding:0;text-align:center;background:var(--dark);color:rgba(246,241,235,0.9);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;transition:background 0.3s;position:relative;overflow:hidden;height:160px;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}.zone-pill img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0.5;transition:transform 0.5s ease,opacity 0.3s ease}.zone-pill:hover img{transform:scale(1.12);opacity:0.7}.zone-pill span{position:relative;z-index:1;padding:14px 0;display:block;width:100%;background:linear-gradient(to top,rgba(20,18,14,0.8) 0%,transparent 100%)}#process{background:#F0E9DE}.steps-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}.steps-grid::before{content:'';position:absolute;top:36px;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gold) 10%,var(--gold) 90%,transparent)}.step-item{padding:0 16px;text-align:center;padding-top:0}.step-num{width:72px;height:72px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 28px;font-family:var(--serif);font-size:26px;color:var(--gold);background:var(--off-white);position:relative;z-index:1;font-weight:400;transition:background 0.3s}.step-item:hover .step-num{background:var(--gold);color:var(--dark)}.step-item h4{font-family:var(--serif);font-size:17px;font-weight:500;margin-bottom:10px;line-height:1.3}.step-item p{font-size:13px;color:var(--stone);line-height:1.6}#portfolio{background:var(--dark)}#portfolio .section-title{color:var(--off-white)}#portfolio .section-subtitle{color:rgba(246,241,235,0.4)}.portfolio-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:300px;gap:0}.portfolio-grid .card-wide{grid-column:span 4}.portfolio-grid .card-tall{grid-column:span 2;grid-row:span 2}.portfolio-grid .card-full{grid-column:span 6}.portfolio-grid .card-half{grid-column:span 3}.project-card{position:relative;overflow:hidden;cursor:pointer;background:#222019}.project-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;transition:transform 0.6s ease}.project-card:hover .project-image{transform:scale(1.03)}.project-image{background-size:6px 6px}.pi-1{background-color:#2A2520;background-image:repeating-linear-gradient(45deg,rgba(201,169,110,0.05) 0,rgba(201,169,110,0.05) 1px,transparent 0,transparent 50%)}.pi-2{background-color:#232220;background-image:repeating-linear-gradient(45deg,rgba(140,126,106,0.06) 0,rgba(140,126,106,0.06) 1px,transparent 0,transparent 50%)}.pi-3{background-color:#201F1D;background-image:repeating-linear-gradient(45deg,rgba(201,169,110,0.04) 0,rgba(201,169,110,0.04) 1px,transparent 0,transparent 50%)}.pi-4{background-color:#252220;background-image:repeating-linear-gradient(45deg,rgba(200,184,154,0.05) 0,rgba(200,184,154,0.05) 1px,transparent 0,transparent 50%)}.pi-5{background-color:#1E1D1B;background-image:repeating-linear-gradient(45deg,rgba(201,169,110,0.06) 0,rgba(201,169,110,0.06) 1px,transparent 0,transparent 50%)}.pi-6{background-color:#272420;background-image:repeating-linear-gradient(45deg,rgba(140,126,106,0.05) 0,rgba(140,126,106,0.05) 1px,transparent 0,transparent 50%)}.pi-7{background-color:#222018;background-image:repeating-linear-gradient(45deg,rgba(201,169,110,0.07) 0,rgba(201,169,110,0.07) 1px,transparent 0,transparent 50%)}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease;background:#1a1916}.project-card:hover .project-image img{transform:scale(1.04)}.img-placeholder-label{font-family:var(--sans);font-size:10px;letter-spacing:0.12em;color:rgba(246,241,235,0.2);text-transform:uppercase;font-weight:400;font-style:normal}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,14,0.9) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;opacity:0.85;transition:opacity 0.3s}.project-card:hover .project-overlay{opacity:1}.project-tag{font-size:10px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:6px}.project-overlay h3{font-family:var(--serif);font-size:22px;color:var(--off-white);font-weight:400;margin-bottom:4px}.project-meta{font-size:12px;color:rgba(246,241,235,0.45)}#academy{background:#F0E9DE}.academy-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.academy-left h2{font-size:clamp(30px,3.5vw,50px);margin-bottom:24px}.academy-left p{font-size:16px;color:var(--stone);margin-bottom:40px;line-height:1.7}.academy-quote{border-left:2px solid var(--gold);padding-left:28px;margin-top:40px}.academy-quote p{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--dark);line-height:1.4;margin-bottom:12px}.academy-quote cite{font-size:12px;letter-spacing:0.15em;color:var(--gold);text-transform:uppercase}.pillars-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.pillar-card{background:var(--off-white);padding:32px 28px}.pillar-num{font-family:var(--serif);font-size:48px;color:rgba(201,169,110,0.2);line-height:1;margin-bottom:12px;display:block}.pillar-card h4{font-family:var(--serif);font-size:18px;margin-bottom:8px;font-weight:500}.pillar-card p{font-size:13px;color:var(--stone);line-height:1.6}.cert-badge{margin-top:32px;display:inline-flex;align-items:center;gap:16px;border:1px solid var(--gold);padding:16px 24px}.cert-badge-seal{width:48px;height:48px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cert-badge-seal svg{width:24px;height:24px;fill:var(--gold)}.cert-badge-text{font-size:11px;letter-spacing:0.08em;color:var(--dark2)}.cert-badge-text strong{display:block;font-family:var(--serif);font-size:15px;color:var(--dark);margin-bottom:2px;font-weight:500}#why{background:var(--off-white)}.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.why-left h2{font-size:clamp(30px,3.5vw,50px);margin-bottom:16px}.why-left .section-subtitle{text-align:left;margin:0}.why-stat{margin-top:48px;padding:32px 0;border-top:1px solid rgba(201,169,110,0.2);border-bottom:1px solid rgba(201,169,110,0.2);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.why-stat-item{display:flex;flex-direction:column;gap:6px}.why-stat-num{font-family:var(--serif);font-size:clamp(36px,3.6vw,56px);color:var(--gold);line-height:1;font-weight:400}.why-stat-label{font-size:12px;color:var(--stone);letter-spacing:0.08em;line-height:1.4;text-transform:none}@media (max-width:720px){.why-stat{grid-template-columns:1fr;gap:24px;padding:28px 0}.why-stat-item{padding-bottom:24px;border-bottom:1px solid rgba(201,169,110,0.12)}.why-stat-item:last-child{padding-bottom:0;border-bottom:0}}.checklist{list-style:none;display:grid;gap:0}.checklist li{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid rgba(201,169,110,0.1)}.checklist li:last-child{border-bottom:none}.check-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.check-icon svg{width:100%;height:100%}.checklist h4{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:4px}.checklist p{font-size:13px;color:var(--stone)}#guarantee{background:var(--dark);position:relative;overflow:hidden}#guarantee::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(201,169,110,0.07) 0%,transparent 70%)}.guarantee-inner{position:relative;z-index:1;text-align:center;max-width:760px;margin:0 auto}.guarantee-seal{width:160px;height:160px;border-radius:50%;border:1px solid rgba(201,169,110,0.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0 auto 48px;position:relative}.guarantee-seal::before{content:'';position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(201,169,110,0.2)}.guarantee-seal .seal-icon{font-size:40px}.guarantee-seal span{font-size:9px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase}.guarantee-inner h2{font-size:clamp(28px,4vw,54px);color:var(--off-white);margin-bottom:24px}.guarantee-inner h2 em{font-style:italic;color:var(--gold)}.guarantee-inner p{font-size:16px;color:rgba(246,241,235,0.5);margin-bottom:40px;line-height:1.7}.guarantee-badges{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}.g-badge{border:1px solid rgba(201,169,110,0.3);padding:12px 20px;font-size:12px;color:rgba(246,241,235,0.6);letter-spacing:0.08em}.g-badge strong{color:var(--gold);display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:2px;font-weight:500}#contact{background:var(--off-white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.contact-card{background:var(--cream);padding:48px 36px}.contact-card h3{font-family:var(--serif);font-size:26px;margin-bottom:12px;font-weight:400}.contact-card p{font-size:14px;color:var(--stone);margin-bottom:28px;line-height:1.6}.btn-wa-large{display:flex;align-items:center;justify-content:center;gap:12px;background:#25D366;color:#fff;font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:0.04em;padding:18px 32px;text-decoration:none;transition:background 0.25s,transform 0.2s;width:100%}.btn-wa-large:hover{background:#1ebe5d;transform:translateY(-1px)}.qr-placeholder{width:140px;height:140px;margin:0 auto 20px;background:var(--dark);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.qr-inner{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:12px;width:100%;height:100%}.qr-cell{background:var(--off-white)}.qr-cell.dark{background:var(--dark)}.qr-corner{position:absolute;width:36px;height:36px;border:3px solid var(--off-white);display:flex;align-items:center;justify-content:center}.qr-corner::after{content:'';width:16px;height:16px;background:var(--off-white)}.qr-tl{top:10px;left:10px}.qr-tr{top:10px;right:10px}.qr-bl{bottom:10px;left:10px}.qr-scan-text{font-size:12px;color:var(--stone);text-align:center;margin-bottom:20px;letter-spacing:0.04em}form{display:flex;flex-direction:column;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{font-family:var(--sans);font-size:14px;font-weight:300;background:var(--off-white);border:1px solid rgba(140,126,106,0.2);color:var(--dark);padding:14px 16px;width:100%;outline:none;transition:border-color 0.2s;-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical;min-height:80px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C9A96E'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.btn-submit{background:var(--dark);color:var(--gold);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:16px;border:none;cursor:pointer;width:100%;transition:background 0.25s}.btn-submit:hover{background:var(--dark2)}.form-success{display:none;text-align:center;padding:32px;font-family:var(--serif);font-size:22px}.form-success.show{display:block}.form-success em{color:var(--gold);font-style:italic}footer{background:var(--dark);padding:60px 48px 32px;border-top:1px solid rgba(201,169,110,0.1)}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.footer-brand h2{font-family:var(--serif);font-size:28px;color:var(--off-white);letter-spacing:0.1em;margin-bottom:4px}.footer-brand .tagline{font-size:11px;color:var(--gold);letter-spacing:0.2em;margin-bottom:20px;display:block}.footer-brand p{font-size:13px;color:rgba(246,241,235,0.35);line-height:1.7}.footer-col h4{font-family:var(--serif);font-size:16px;color:var(--off-white);margin-bottom:20px;font-weight:500}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-col ul a{font-size:13px;color:rgba(246,241,235,0.35);text-decoration:none;transition:color 0.2s}.footer-col ul a:hover{color:var(--gold)}.footer-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.footer-contact-item svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;fill:var(--gold)}.footer-contact-item p{font-size:12px;color:rgba(246,241,235,0.4);line-height:1.5}.footer-bottom{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,0.06);padding-top:28px}.footer-bottom p{font-size:11px;color:rgba(246,241,235,0.2)}.footer-social{display:flex;gap:20px}.footer-social a{font-size:11px;letter-spacing:0.1em;color:rgba(246,241,235,0.3);text-decoration:none;text-transform:uppercase;transition:color 0.2s}.footer-social a:hover{color:var(--gold)}#lightbox{display:none;position:fixed;inset:0;z-index:9998;background:rgba(10,9,8,0.95);align-items:center;justify-content:center;cursor:zoom-out}#lightbox.open{display:flex}#lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,0.7);animation:lb-in 0.25s ease}@keyframes lb-in{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1)}}#lightbox-close{position:fixed;top:24px;right:32px;background:none;border:none;color:rgba(246,241,235,0.6);font-size:36px;cursor:pointer;line-height:1;transition:color 0.2s}#lightbox-close:hover{color:var(--gold)}#lightbox-caption{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);font-family:var(--sans);font-size:12px;letter-spacing:0.15em;color:rgba(246,241,235,0.4);text-transform:uppercase;white-space:nowrap}.lb-trigger{cursor:zoom-in}.lang-switcher{display:flex;align-items:center;gap:1px;margin-left:8px}.lang-btn{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(246,241,235,0.35);padding:5px 7px;transition:color 0.2s;border-bottom:1px solid transparent;line-height:1}.lang-btn:hover{color:rgba(246,241,235,0.7)}.lang-btn.active{color:var(--gold);border-bottom-color:var(--gold)}.wa-float{position:fixed;bottom:32px;right:32px;z-index:500;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,0.35);text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;animation:wa-pulse 3s ease-in-out infinite}.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 32px rgba(37,211,102,0.5)}.wa-float svg{width:30px;height:30px;fill:#fff}@keyframes wa-pulse{0%,100%{box-shadow:0 4px 24px rgba(37,211,102,0.35)}50%{box-shadow:0 4px 32px rgba(37,211,102,0.55)}}@media (max-width:1024px){.problem-grid{grid-template-columns:repeat(2,1fr)}.usp-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(3,1fr);gap:24px}.steps-grid::before{display:none}.step-item{text-align:left;display:flex;gap:20px;align-items:flex-start}.step-num{margin:0;flex-shrink:0}.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.portfolio-grid .card-wide,.portfolio-grid .card-full,.portfolio-grid .card-half{grid-column:span 2}.portfolio-grid .card-tall{grid-column:span 1;grid-row:span 1}.academy-inner{grid-template-columns:1fr;gap:48px}.why-inner{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.materials-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){:root{--nav-h:60px}nav{padding:0 20px}.nav-links,.nav-cta{display:none}.hamburger{display:flex}.container{padding:0 20px}section{padding:64px 0}.problem-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:220px}.portfolio-grid .card-wide,.portfolio-grid .card-tall,.portfolio-grid .card-full,.portfolio-grid .card-half,.portfolio-grid .project-card{grid-column:span 1 !important;grid-row:span 1 !important}.pillars-grid{grid-template-columns:1fr}.materials-grid{grid-template-columns:repeat(3,1fr)}.zones-row{flex-wrap:wrap}.zone-pill{flex-basis:50%}.form-row{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:12px;text-align:center}.hero-ctas{flex-direction:column;align-items:center}.btn-outline,.btn-wa{width:100%;max-width:320px;justify-content:center}.guarantee-badges{flex-direction:column;align-items:center}.contact-grid{grid-template-columns:1fr}.contact-card{padding:36px 24px}.wa-float{bottom:20px;right:20px;width:52px;height:52px}#team .container>div:last-child{grid-template-columns:1fr 1fr !important;gap:20px !important}#team .container>div:last-child>div{margin-top:0 !important}#partners .container>div{grid-template-columns:1fr !important;gap:40px !important}.materials-grid{grid-template-columns:repeat(2,1fr) !important}.academy-inner{grid-template-columns:1fr !important}.why-inner{grid-template-columns:1fr !important}.guarantee-inner{grid-template-columns:1fr !important}}@media (max-width:480px){#team .container>div:last-child{grid-template-columns:1fr !important}.materials-grid{grid-template-columns:repeat(2,1fr) !important}}

/* ═══════════════════════════════════════════
   MOBILE & RESPONSIVE OVERRIDES
   ─ All sections centered, harmonious layout
═══════════════════════════════════════════ */

/* ── CTA Strip 1 (Samples) ── */
section[style*="border-top:1px solid"] .container,
section[style*="border-top: 1px solid"] .container {
  flex-direction: column;
  text-align: center;
  align-items: center;
}

/* ── CTA Strip 2 (3-col: Questions / Estimate / Samples) ── */
@media (max-width: 900px) {
  /* CTA 3-col → 1-col */
  section[style*="background:var(--cream)"] .container > div[style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Partners grid → 1-col */
  #partners .container > div {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  #partners .container > div > div:last-child {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Academy inner → 1-col */
  .academy-inner {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  /* Why inner → 1-col */
  .why-inner {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  .why-left { text-align: center !important; }
  .why-stat { justify-content: center !important; }
  .why-left .section-subtitle { text-align: center !important; }

  /* Portfolio grid */
  .portfolio-grid {
    grid-template-columns: 1fr !important;
  }
  .project-card,
  .project-card[style*="grid-column:span 2"],
  .project-card.card-wide,
  .project-card.card-tall,
  .project-card.card-full,
  .project-card.card-half {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
  .project-image { height: 280px !important; }

  /* Team → 2-col */
  #team .container > div:last-child {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
  #team .container > div:last-child > div {
    margin-top: 0 !important;
  }

  /* Steps grid → 1-col */
  .steps-grid {
    grid-template-columns: 1fr !important;
  }

  /* Contact grid → 1-col */
  .contact-grid {
    grid-template-columns: 1fr !important;
  }

  /* Materials grid → 3-col */
  .materials-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Zone pills wrap */
  .zones-row {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  

  /* Problem grid → 2-col */
  .problem-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 768px) {
  /* Container padding */
  .container { padding: 0 20px !important; }
  section { padding: 64px 0 !important; }

  /* Navbar */
  .nav-links { display: none !important; }
  .nav-cta { display: none !important; }
  .lang-switcher { gap: 4px !important; }

  /* Hero */
  .hero-content { padding: 0 20px !important; }
  .hero-title { font-size: clamp(36px, 9vw, 56px) !important; }
  .hero-ctas { flex-direction: column !important; align-items: center !important; }
  .btn-wa, .btn-outline { width: 100% !important; justify-content: center !important; max-width: 320px !important; }

  /* CTA Strip 1 — center everything */
  section[style*="border-top"] > .container {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    gap: 28px !important;
  }
  section[style*="border-top"] > .container > div:last-child {
    text-align: center !important;
    width: 100% !important;
  }
  section[style*="border-top"] > .container > div:last-child p {
    text-align: center !important;
  }
  section[style*="border-top"] a.btn-wa {
    width: 100% !important;
    max-width: 320px !important;
    justify-content: center !important;
    margin: 0 auto !important;
  }

  /* CTA Strip 2 → 1-col */
  section[style*="background:var(--cream)"] .container > div {
    grid-template-columns: 1fr !important;
  }

  /* Guarantee block */
  .guarantee-inner { padding: 48px 20px !important; }
  .guarantee-badges { flex-direction: column !important; gap: 12px !important; align-items: center !important; }
  .g-badge { width: 100% !important; max-width: 280px !important; text-align: center !important; }

  /* Partners */
  #partners .container > div {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  #partners .container > div > div:last-child {
    grid-template-columns: 1fr 1fr !important;
  }
  #partners .container > div > div:first-child {
    text-align: center !important;
  }
  #partners .container > div > div:first-child > div[style*="display:flex"] {
    justify-content: center !important;
  }

  /* Problem grid → 2×2 square images on mobile */
  .problem-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
  }
  .problem-card {
    border-radius: 0 !important;
  }
  .problem-card > div[style*="height:200px"] {
    height: 44vw !important;
    max-height: 200px !important;
  }
  .problem-card > div[style*="height:200px"] img {
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
  }
  .problem-card > div[style*="padding:28px"] {
    padding: 12px 14px 16px !important;
  }
  .problem-card h3 {
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }
  .problem-card p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  /* USP grid → all equal 2-col on mobile */
  #solution .usp-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 2px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #solution .usp-card {
    padding: 18px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    border-bottom: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #solution .usp-card.featured {
    grid-column: 1 / -1 !important;
    grid-row: span 1 !important;
  }
  #solution .usp-card h3 {
    font-size: 13px !important;
    margin-bottom: 5px !important;
    line-height: 1.3 !important;
  }
  #solution .usp-card p {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }
  #solution .usp-icon {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }
  .antimold-badge {
    font-size: 9px !important;
    padding: 3px 7px !important;
    margin-bottom: 8px !important;
  }

  /* Materials grid → 2-col compact */
  .materials-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2px !important;
  }
  .material-card .material-sample {
    height: 100px !important;
  }
  .material-card span {
    font-size: 11px !important;
    padding: 6px 8px !important;
  }

  /* Academy */
  .academy-inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .academy-quote { margin: 24px auto !important; }
  .cert-badge { justify-content: center !important; }
  .pillars-grid { grid-template-columns: 1fr 1fr !important; }

  /* Why */
  .why-inner { grid-template-columns: 1fr !important; }
  .why-left { text-align: center !important; }
  .why-stat { justify-content: center !important; flex-wrap: wrap !important; }
  .checklist { margin-top: 32px !important; }

  /* Team → 2-col on tablet, 1-col on mobile */
  #team .container > div:last-child {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }
  #team .container > div:last-child > div {
    margin-top: 0 !important;
  }
  #team .container > div:first-child {
    text-align: center !important;
    margin-bottom: 32px !important;
  }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr !important; }
  .contact-card { padding: 32px 24px !important; text-align: center !important; }
  .btn-wa-large { width: 100% !important; justify-content: center !important; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr !important; gap: 32px !important; text-align: center !important; }
  .footer-social { justify-content: center !important; }
  .footer-contact-item { justify-content: center !important; }

  /* Gallery modal */
  #guarantee-modal > div { margin: 0 !important; }
  #guarantee-modal > div > div:first-of-type[style*="padding:60px"] { padding: 32px 20px 0 !important; }
  #guarantee-modal > div > div:last-of-type { padding: 0 20px 32px !important; }
}

@media (max-width: 480px) {
  /* Hero */
  .hero-title { font-size: clamp(32px, 10vw, 48px) !important; }
  .hero-eyebrow { font-size: 9px !important; letter-spacing: 0.2em !important; }

  /* Team → 1-col */
  #team .container > div:last-child {
    grid-template-columns: 1fr !important;
  }

  /* Partners inner grid → 1-col */
  #partners .container > div > div:last-child {
    grid-template-columns: 1fr !important;
  }

  /* Pillars grid → 1-col */
  .pillars-grid { grid-template-columns: 1fr !important; }

  /* Materials → 2-col */
  .materials-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Why stats → wrap */
  .why-stat { gap: 24px !important; }
  .why-stat-item { min-width: 120px !important; }

  /* Section padding */
  section { padding: 48px 0 !important; }
  .container { padding: 0 16px !important; }

  /* Typography scale */
  .section-title { font-size: clamp(28px, 8vw, 40px) !important; }

  /* USP featured card */
  .usp-card.featured { padding: 28px !important; }

  /* Project image height */
  .project-image { height: 220px !important; }

  /* Gallery thumbnails */
  #gallery-thumbs { padding: 12px 16px !important; }
  #gallery-thumbs img { width: 56px !important; height: 42px !important; }
}


/* ── CTA Strip 1 class-based ── */
.cta-strip-1__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

/* ── CTA Strip 2 class-based ── */
.cta-strip-2__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2px;
}

@media (max-width: 900px) {
  .cta-strip-2__grid {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
}

@media (max-width: 768px) {
  /* CTA Strip 1 — stack vertically, center */
  .cta-strip-1__inner {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    gap: 28px !important;
  }
  .cta-strip-1__inner > div {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .cta-strip-1__inner p { text-align: center !important; }
  .cta-strip-1__inner a.btn-wa {
    width: 100% !important;
    max-width: 320px !important;
    justify-content: center !important;
  }

  /* CTA Strip 2 — 1 col */
  .cta-strip-2__grid {
    grid-template-columns: 1fr !important;
  }
  .cta-strip-2 { padding: 48px 0 !important; }
  .cta-strip-2__grid > div {
    padding: 36px 24px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .cta-strip-2__grid > div a {
    align-self: center !important;
  }
}

@media (max-width: 480px) {
  .cta-strip-1 { padding: 40px 0 !important; }
  .cta-strip-2 { padding: 40px 0 !important; }
}
