@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=DM+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;1,300;1,400&display=swap');
:root{--ivory:#f1eee9;--cream:#ede8e1;--sand:#d4c9bc;--warm-gray:#a89b8c;--stone:#7a6e62;--charcoal:#2c2824;--dark:#1a1714;--gold:#b8975a;--gold-light:#d4b87c;--sage:#8b9a7e;--sage-light:#c2ccba;--white:#fdfcfa;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'DM Sans',Helvetica,sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;font-size:14px;-webkit-font-smoothing:antialiased}body{background:var(--ivory);color:var(--charcoal);font-family:var(--font-body);overflow-x:hidden;-webkit-overflow-scrolling:touch}body.scroll-locked{position:fixed;width:100%;left:0;right:0;overflow:hidden;-webkit-overflow-scrolling:auto}button,a,[role="button"],.pd-photo,.project-card{touch-action:manipulation}.arch-site{width:100%;min-height:100vh;position:relative}.arch-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 clamp(24px,4vw,80px);padding-left:max(clamp(24px,4vw,80px),env(safe-area-inset-left));padding-right:max(clamp(24px,4vw,80px),env(safe-area-inset-right));height:90px;display:flex;align-items:center;justify-content:space-between;transition:all .5s cubic-bezier(0.23,1,0.32,1)}.arch-header.scrolled{background:#f1eee9;box-shadow:0 1px 0 rgba(0,0,0,0.05)}.arch-logo{font-family:var(--font-display);font-size:clamp(20px,2.4vw,28px);font-weight:400;letter-spacing:.04em;color:var(--charcoal);text-decoration:none;cursor:pointer;display:flex;flex-direction:column;line-height:1.2}.arch-logo-sub{font-family:var(--font-body);font-size:clamp(8px,0.85vw,11px);font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#8b6d30;margin-top:2px}.arch-logo-name span{font-weight:600}.arch-nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}.arch-nav a{font-family:var(--font-body);font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);text-decoration:none;position:relative;padding:4px 0;transition:color .3s ease;cursor:pointer}.arch-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .4s cubic-bezier(0.23,1,0.32,1)}.arch-nav a:hover{color:var(--charcoal)}.arch-nav a:hover::after{width:100%}.arch-menu-btn{display:none;background:0;border:0;cursor:pointer;width:32px;height:24px;position:relative;z-index:1001}.arch-menu-btn span{display:block;width:100%;height:1.5px;background:var(--charcoal);position:absolute;left:0;transition:all .35s cubic-bezier(0.23,1,0.32,1)}.arch-menu-btn span:nth-child(1){top:2px}.arch-menu-btn span:nth-child(2){top:50%;transform:translateY(-50%)}.arch-menu-btn span:nth-child(3){bottom:2px}.arch-menu-btn.open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.arch-menu-btn.open span:nth-child(2){opacity:0}.arch-menu-btn.open span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.arch-mobile-nav{display:none;position:fixed;inset:0;background:var(--ivory);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:36px;opacity:0;pointer-events:none;transition:opacity .4s ease;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.arch-mobile-nav.open{opacity:1;pointer-events:all}.arch-mobile-nav a{font-family:var(--font-display);font-size:32px;font-weight:400;color:var(--charcoal);text-decoration:none;letter-spacing:.03em;transition:color .3s;cursor:pointer}.arch-mobile-nav a:hover{color:var(--gold)}.arch-hero{height:100vh;height:100dvh;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 clamp(24px,6vw,120px);position:relative;overflow:hidden;background:var(--ivory)}.hero-bg-watermark{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.50;filter:grayscale(30%) brightness(1.1);z-index:0;pointer-events:none}.arch-hero>*:not(.hero-bg-watermark){position:relative;z-index:1}.arch-hero::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(184,151,90,0.06) 0,transparent 70%);pointer-events:none}.arch-hero::after{content:'';position:absolute;bottom:-15%;left:-8%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,154,126,0.05) 0,transparent 70%);pointer-events:none}.hero-overline{font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#8b6d30;margin-bottom:28px;opacity:0;animation:fadeUp .8s ease forwards .3s}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,6vw,7rem);font-weight:300;line-height:1.05;color:var(--dark);letter-spacing:-.01em;max-width:900px;opacity:0;animation:fadeUp .8s ease forwards .5s}.hero-title em{font-style:italic;font-weight:400;color:var(--gold)}.hero-subtitle{font-family:var(--font-body);font-size:clamp(16px,1.8vw,20px);font-weight:400;color:#5a5047;margin-top:32px;max-width:560px;line-height:1.7;opacity:0;animation:fadeUp .8s ease forwards .7s}.hero-cta{margin-top:clamp(48px,8vw,112px);display:flex;gap:20px;opacity:0;animation:fadeUp .8s ease forwards .9s}.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--charcoal);color:var(--ivory);font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:all .4s cubic-bezier(0.23,1,0.32,1)}.btn-primary:hover{background:var(--gold);transform:translateY(-2px)}.btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid var(--sand);cursor:pointer;transition:all .4s cubic-bezier(0.23,1,0.32,1)}.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp .8s ease forwards 1.2s}.hero-scroll span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray)}.scroll-line{width:1px;height:40px;background:var(--sand);position:relative;overflow:hidden}.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold);animation:scrollDown 2s ease-in-out infinite}@keyframes scrollDown{0%{top:-100%}50%{top:100%}100%{top:100%}}.arch-section{padding:clamp(28px,3.5vw,56px) clamp(24px,6vw,120px);position:relative}.section-header{text-align:center;margin-bottom:clamp(48px,6vw,80px)}.section-overline{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.section-title{font-family:var(--font-display);font-size:clamp(26px,3.5vw,44px);font-weight:300;color:var(--dark);line-height:1.15}.section-title em{font-style:italic;font-weight:400}.section-desc{font-size:16px;font-weight:300;color:var(--stone);margin-top:20px;line-height:1.7}.divider-line{width:60px;height:1px;background:var(--gold);margin:20px auto 0}.projects-grid{display:flex;gap:16px;max-width:1300px;margin:0 auto;align-items:stretch}.mosaic-col{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.mosaic-col--portrait{display:flex;flex-direction:column;align-self:stretch;flex:0 0 auto;width:38%}.mosaic-col--portrait .project-card{flex:1;display:flex;flex-direction:column}.mosaic-col--portrait .project-img-wrap{flex:1;display:flex}.mosaic-col--portrait .project-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-card{position:relative;overflow:hidden;border-radius:6px;cursor:pointer;break-inside:avoid;display:block}.project-img-wrap{position:relative;display:block;overflow:hidden}.project-img-wrap img{width:100%;height:auto;display:block;transition:transform .7s cubic-bezier(0.23,1,0.32,1)}.project-card:hover .project-img-wrap img{transform:scale(1.04)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,23,20,0.72) 0,rgba(26,23,20,0.06) 50%,transparent 100%);transition:all .5s ease;z-index:1}.project-card:hover .project-overlay{background:linear-gradient(to top,rgba(26,23,20,0.88) 0,rgba(26,23,20,0.18) 60%,rgba(26,23,20,0.04) 100%)}.project-info{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2;transform:translateY(8px);transition:transform .5s cubic-bezier(0.23,1,0.32,1)}.project-card:hover .project-info{transform:translateY(0)}.project-info h3{font-family:var(--font-display);font-size:clamp(18px,2vw,24px);font-weight:400;color:#fff;margin-bottom:6px}.project-info p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.7);font-weight:300}.project-arrow{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transform:translateY(10px);transition:all .4s cubic-bezier(0.23,1,0.32,1)}.project-card:hover .project-arrow{opacity:1;transform:translateY(0)}.services-bg{background:var(--white)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;max-width:1100px;margin:0 auto}.service-card{padding:40px 32px;background:var(--ivory);border-radius:6px;border:1px solid transparent;transition:all .4s ease;position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transition:transform .5s cubic-bezier(0.23,1,0.32,1);transform-origin:left}.service-card:hover::before{transform:scaleX(1)}.service-card:hover{border-color:rgba(184,151,90,0.15);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,0.04)}.service-icon{width:48px;height:48px;margin-bottom:24px;color:var(--gold)}.service-card h3{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--dark);margin-bottom:14px}.service-card p{font-size:14.5px;font-weight:300;color:var(--stone);line-height:1.7}.offers-section{background:var(--ivory)}.offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;align-items:start}.offer-card{background:var(--white);border-radius:8px;padding:44px 32px;position:relative;border:1px solid rgba(0,0,0,0.04);transition:all .4s ease}.offer-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,0,0,0.06)}.offer-card.featured{border:1.5px solid var(--gold);box-shadow:0 16px 48px rgba(184,151,90,0.1)}.offer-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 20px;border-radius:20px;white-space:nowrap}.offer-number{font-family:var(--font-display);font-size:14px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-weight:500}.offer-card h3{font-family:var(--font-display);font-size:21px;font-weight:400;color:var(--dark);margin-bottom:8px;line-height:1.25}.offer-tagline{font-size:18px;font-style:italic;color:var(--gold);margin-bottom:28px;font-family:var(--font-display);font-weight:400}.offer-list{list-style:none;padding:0;margin-bottom:32px}.offer-list li{font-size:14px;font-weight:300;color:var(--charcoal);padding:9px 0;padding-left:24px;position:relative;line-height:1.5;border-bottom:1px solid rgba(0,0,0,0.03)}.offer-list li::before{content:'';position:absolute;left:0;top:16px;width:6px;height:6px;border-radius:50%;background:var(--gold-light)}.offer-list li:last-child{border-bottom:0}.offer-inclusion{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(184,151,90,0.08),rgba(212,184,124,0.12));border:1px solid rgba(184,151,90,0.35);border-radius:40px;padding:10px 18px;margin:0 0 28px;font-size:13px;font-weight:400;color:var(--stone);font-family:var(--font-body);letter-spacing:.03em;line-height:1.4}.offer-inclusion::before{content:'✓';display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.offer-cta{width:100%;padding:16px;text-align:center;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:all .3s ease;border:0;text-decoration:none;display:block}.offer-cta-primary{background:var(--charcoal);color:var(--ivory)}.offer-cta-primary:hover{background:var(--gold)}.offer-cta-secondary{background:transparent;border:1px solid var(--sand);color:var(--charcoal)}.offer-cta-secondary:hover{border-color:var(--gold);color:var(--gold)}.offer-cta-dark{background:var(--charcoal);color:var(--ivory);border:1px solid var(--charcoal)}.offer-cta-dark:hover{background:var(--dark);border-color:var(--dark)}.faq-section{background:var(--ivory)}.zones-cta{margin-top:36px;text-align:center}.zones-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:var(--charcoal);color:var(--ivory);font-family:var(--font-body);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .3s ease}.zones-cta-btn:hover{background:var(--gold)}.zones-cta-sub{margin-top:12px;font-size:12px;font-weight:300;color:var(--warm-gray);letter-spacing:.04em}.avantapres-section{background:var(--ivory);padding-bottom:clamp(32px,4vw,56px)}.avantapres-grid{display:grid;grid-template-columns:1fr;gap:56px;margin-top:48px}.avantapres-card{display:flex;flex-direction:column;gap:16px}.avantapres-img-wrap{overflow:hidden;border-radius:2px}.avantapres-img{width:100%;border-radius:2px;display:block;transition:transform .4s cubic-bezier(0.23,1,0.32,1)}.avantapres-card:hover .avantapres-img{transform:scale(1.01)}.avantapres-label{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.avantapres-title{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--dark);line-height:1.3}.avantapres-desc{font-size:13.5px;font-weight:300;color:var(--stone);line-height:1.65}.zone-btn--active{background:var(--gold);border-color:var(--gold);color:var(--white);font-weight:500}.zones-section{background:var(--white)}.zones-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:960px;margin:0 auto}.zone-break{width:100%;height:8px}.zone-btn{flex:0 0 calc(10% - 10px);text-align:center;box-sizing:border-box}.zone-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 21px;border:1.5px solid var(--sand);border-radius:4px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:border-color .25s ease,background .25s ease,color .25s ease;white-space:nowrap}.zone-btn sup{font-size:9px;margin-left:1px}.zone-btn:hover{border-color:var(--gold);background:var(--gold);color:var(--white)}.zone-btn--active{background:var(--gold);border-color:var(--gold);color:var(--white);font-weight:500}.faq-container{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--cream)}.faq-question{width:100%;background:0;border:0;padding:24px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:20px}.faq-question h3{font-family:var(--font-display);font-size:19px;font-weight:300;color:var(--dark);line-height:1.35;flex:1}.faq-toggle{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease;color:var(--stone);font-size:20px;font-weight:200}.faq-item.open .faq-toggle{background:var(--gold);border-color:var(--gold);color:#fff;transform:rotate(45deg)}.faq-answer{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(0.23,1,0.32,1),padding .4s ease;padding:0}.faq-item.open .faq-answer{max-height:300px;padding:0 0 28px}.faq-answer p{font-size:15px;font-weight:300;color:var(--stone);line-height:1.8;padding-right:56px}.about-section{background:var(--white)}.about-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}.about-portrait{aspect-ratio:3/4;border-radius:6px;position:relative;overflow:hidden}.about-portrait-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.about-portrait-icon{color:var(--warm-gray);opacity:.5}.about-portrait-text{font-family:var(--font-display);font-size:16px;color:var(--warm-gray);font-style:italic}.about-portrait::after{content:'';position:absolute;bottom:-20px;right:-20px;width:120px;height:120px;border:1px solid var(--gold-light);border-radius:4px;z-index:-1}.about-content{padding-top:12px}.about-content .section-overline{text-align:left}.about-content h2{font-family:var(--font-display);font-size:clamp(26px,3vw,38px);font-weight:300;color:var(--dark);margin-bottom:28px;line-height:1.2}.about-content h2 em{font-style:italic;font-weight:400}.about-text{font-size:14px;font-weight:300;color:var(--stone);line-height:1.85;margin-bottom:20px}.certif-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.certif-item{padding:20px 22px;background:var(--ivory,#f1eee9);border:1.5px solid var(--gold,#b8975a)}.certif-item h5{font-family:var(--font-display);font-size:18px;font-weight:300;color:var(--dark);margin-bottom:6px}.certif-item p{font-size:12px;font-weight:300;color:var(--warm-gray);line-height:1.5}.contact-section{background:var(--dark);color:var(--ivory)}.contact-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px)}.contact-left .section-overline{text-align:left;color:var(--gold)}.contact-left h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--ivory);line-height:1.15;margin-bottom:24px}.contact-left h2 em{font-style:italic}.contact-left>p{font-size:13px;font-weight:300;color:var(--warm-gray);line-height:1.7;margin-bottom:36px}.contact-info-item{display:flex;align-items:center;gap:16px;margin-bottom:20px}.contact-info-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(184,151,90,0.3);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0}.contact-info-item span{font-size:15px;font-weight:300;color:var(--cream)}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-gray)}.form-field input,.form-field textarea,.form-field select{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:4px;padding:14px 18px;color:var(--ivory);font-family:var(--font-body);font-size:16px;font-weight:300;transition:border-color .3s ease;outline:0;width:100%;-webkit-appearance:none;appearance:none}.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(255,255,255,0.25)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--gold)}.form-field select option{background:var(--dark);color:var(--ivory)}.form-field textarea{resize:vertical;min-height:120px}.form-submit{padding:18px 40px;background:var(--gold);color:#fff;border:0;border-radius:4px;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;align-self:flex-start}.form-submit:hover{background:var(--gold-light);transform:translateY(-2px)}.arch-footer{background:var(--dark);border-top:1px solid rgba(255,255,255,0.06);padding:40px clamp(24px,6vw,120px);padding-bottom:max(40px,calc(40px + env(safe-area-inset-bottom)));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer-logo{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--ivory);letter-spacing:.04em}.footer-logo span{font-weight:600}.footer-copy{font-size:13px;font-weight:300;color:var(--warm-gray)}.footer-links{display:flex;gap:24px}.footer-links a{font-size:12px;color:var(--warm-gray);text-decoration:none;letter-spacing:.06em;transition:color .3s}.footer-links a:hover{color:var(--gold)}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(0.23,1,0.32,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media(hover:none){.reveal{opacity:1 !important;transform:translateY(0) !important;transition:none !important}}@media(max-width:768px){.reveal{opacity:1 !important;transform:translateY(0) !important;transition:none !important}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:translateY(0) !important;transition:none !important}.hero-overline,.hero-title,.hero-subtitle,.hero-cta,.hero-scroll{animation:none !important;opacity:1 !important;transform:none !important}}@media(max-width:768px){.hero-overline{animation-delay:.1s !important}.hero-title{animation-delay:.2s !important}.hero-subtitle{animation-delay:.3s !important}.hero-cta{animation-delay:.4s !important}.hero-scroll{display:none}}@media(max-width:1024px){.offers-grid{grid-template-columns:1fr;max-width:520px}.offer-card.featured{order:-1}.about-container{grid-template-columns:1fr}.about-portrait{max-width:400px;margin:0 auto}.contact-container{grid-template-columns:1fr}}@media(max-width:768px){.arch-nav{display:none}.arch-menu-btn{display:block}.arch-mobile-nav{display:flex}.projects-grid{flex-direction:column}.mosaic-col--portrait{align-self:auto}.hero-cta{flex-direction:column;align-items:center}.form-row{grid-template-columns:1fr}.certif-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr;gap:20px}.arch-footer{flex-direction:column;align-items:center;text-align:center}}@media(max-width:480px){.projects-grid{flex-direction:column}.faq-answer p{padding-right:0}.faq-toggle{width:44px;height:44px}.pd-close{width:44px;height:44px}.hero-scroll{display:none}.hero-cta{width:100%;padding:0 8px}.btn-primary,.btn-secondary{width:100%;justify-content:center}.pd-lb-prev,.pd-lb-next{width:44px;height:44px;font-size:20px}}.project-detail-overlay{position:fixed;inset:0;z-index:2000;background:var(--ivory);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s cubic-bezier(0.23,1,0.32,1),visibility .45s cubic-bezier(0.23,1,0.32,1);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-transform:translateZ(0);transform:translateZ(0)}.project-detail-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.pd-header{position:sticky;top:0;z-index:10;background:rgba(247,244,240,0.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--cream);padding:24px clamp(24px,5vw,80px);display:flex;align-items:center;gap:32px}.pd-close{width:48px;height:48px;border-radius:50%;border:1px solid var(--sand);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--charcoal);flex-shrink:0;transition:all .3s ease}.pd-close:hover{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}.pd-overline{font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.pd-title{font-family:var(--font-display);font-size:clamp(20px,2.5vw,30px);font-weight:300;color:var(--dark);line-height:1.1}.pd-subtitle{font-size:13px;color:var(--warm-gray);margin-top:4px;font-weight:300;letter-spacing:.04em}.pd-gallery{padding:40px clamp(24px,5vw,80px) 80px;columns:3;column-gap:16px;max-width:1400px;margin:0 auto}.pd-photo{break-inside:avoid;margin-bottom:16px;border-radius:6px;overflow:hidden;cursor:pointer;cursor:zoom-in;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0.08)}.pd-photo img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(0.23,1,0.32,1)}.pd-photo:hover img{transform:scale(1.03)}.pd-photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(26,23,20,0.75) 0,transparent 100%);padding:28px 20px 16px;opacity:0;transition:opacity .4s ease}.pd-photo:hover .pd-photo-caption{opacity:1}.pd-photo-caption strong{display:block;font-family:var(--font-display);font-size:16px;font-weight:400;color:#fff;margin-bottom:2px}.pd-photo-caption span{font-size:12px;color:rgba(255,255,255,0.7);letter-spacing:.06em}.pd-lightbox{display:flex;position:fixed;inset:0;z-index:3000;background:rgba(20,18,16,0.96);align-items:center;justify-content:center;flex-direction:column;gap:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;-webkit-transform:translateZ(0);transform:translateZ(0)}.pd-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}.pd-lightbox img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px}.pd-lb-prev,.pd-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;font-size:24px;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}.pd-lb-prev:hover,.pd-lb-next:hover{background:rgba(255,255,255,0.18)}.pd-lb-prev{left:24px}.pd-lb-next{right:24px}.pd-lb-caption{text-align:center;display:flex;flex-direction:column;gap:4px}.pd-lb-caption strong{font-family:var(--font-display);font-size:20px;font-weight:300;color:#fff}.pd-lb-caption span{font-size:13px;color:rgba(255,255,255,0.55);letter-spacing:.06em}@media(max-width:768px){.pd-gallery{columns:2}.pd-lb-prev{left:8px}.pd-lb-next{right:8px}}@media(max-width:480px){.pd-gallery{columns:1}}@media(hover:none),(max-width:768px){.project-info{transform:translateY(0) !important}.project-overlay{background:linear-gradient(to top,rgba(26,23,20,0.78) 0,rgba(26,23,20,0.14) 55%,transparent 100%) !important}.project-arrow{opacity:1 !important;transform:translateY(0) !important;background:rgba(255,255,255,0.18) !important}.project-card:hover .project-img-wrap img{transform:none}.service-card:hover{transform:none;box-shadow:none}.offer-card:hover{transform:none;box-shadow:none}.btn-primary:hover,.btn-secondary:hover{transform:none}.form-submit:hover{transform:none}.pd-photo-caption{display:none !important}}@media(max-width:768px){.pd-photo-caption{display:none !important}.pd-photo:hover img{transform:none}.form-submit{width:100%;align-self:stretch;padding:18px 24px}.faq-item.open .faq-answer{max-height:900px}.arch-mobile-nav a{padding:10px 48px;min-height:48px;display:flex;align-items:center}.offer-card{padding:36px 24px}.arch-section{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.pd-gallery{padding:28px 16px 60px}.pd-header{padding:16px 20px;gap:16px}.footer-links{flex-direction:column;gap:14px;align-items:center}.footer-links a{font-size:13px;min-height:44px;display:flex;align-items:center}}@media(max-width:480px){.hero-title{line-height:1.05;letter-spacing:-.02em}.hero-subtitle{font-size:15px;margin-top:20px}.service-card{padding:28px 20px}.offer-card{padding:28px 18px}.pd-lightbox img{max-width:100vw;max-height:72vh;border-radius:0}.pd-lb-caption strong{font-size:17px}.pd-lb-caption span{font-size:12px}.pd-lb-prev{left:4px}.pd-lb-next{right:4px}.pd-lb-prev,.pd-lb-next{width:40px;height:40px;font-size:18px}.faq-answer p{padding-right:0;font-size:15px}.faq-question h3{font-size:19px;font-weight:300}.faq-question{padding:24px 0}.section-header{margin-bottom:clamp(32px,6vw,56px)}.about-portrait{max-width:340px}.contact-info-item{gap:14px}.certif-grid{grid-template-columns:1fr;gap:12px}.certif-item h5{font-family:var(--font-display);font-size:18px;font-weight:300;color:var(--dark);margin-bottom:6px}.certif-item p{font-size:11px}.offer-cta{padding:15px;font-size:12px}.offer-badge{font-size:10px;padding:5px 14px}.project-info{padding:18px 16px}.project-info h3{font-size:17px;margin-bottom:4px}.project-info p{font-size:11px}.project-detail-overlay{-webkit-overflow-scrolling:touch;height:100%;height:-webkit-fill-available}}@media(max-width:360px){.hero-title{font-size:clamp(3rem,6vw,7rem)}.section-title{font-size:clamp(26px,3.5vw,44px)}.arch-section{padding-top:52px;padding-bottom:52px}}@media(max-width:768px){.zones-grid{gap:8px}.zone-btn{padding:8px 13px;font-size:12px}}.certif-item h5::after{content:"";display:block;width:24px;height:1px;background:var(--gold,#b8975a);margin-top:8px;margin-bottom:8px}@media(max-width:768px){.about-container{grid-template-columns:1fr !important;gap:32px !important}}@media(max-width:768px){[style*="grid-template-columns:repeat(4,minmax(0,1fr))"],[style*="grid-template-columns:repeat(4, minmax(0,1fr))"]{grid-template-columns:repeat(2,1fr) !important}[style*="grid-template-columns:1fr 1fr;gap:32px"]{grid-template-columns:1fr !important;gap:32px !important}[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}.about-container{grid-template-columns:1fr !important}.about-container>div:last-child img{max-height:480px;object-fit:cover;object-position:center top;width:100%;height:auto !important}.about-container>div:last-child{height:auto !important;padding-top:0 !important;align-self:auto !important;max-height:480px;overflow:hidden}.about-container>div:last-child img{object-position:center center}.arch-footer [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}.certif-grid{grid-template-columns:1fr !important}}@media(max-width:480px){[style*="grid-template-columns:repeat(4,minmax(0,1fr))"]{grid-template-columns:1fr !important}[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}.arch-footer [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important}}
@media(max-width:640px){.cta-mid-grid{grid-template-columns:1fr !important;text-align:center;padding:32px 24px !important;}.cta-mid-grid a{width:100%;}}

/* CTA tel: mobile vs desktop */
@media(min-width:769px){.cta-tel-mobile{display:none !important;}.cta-tel-desktop{display:inline-flex !important;}}
@media(max-width:768px){.cta-tel-mobile{display:inline-flex !important;}.cta-tel-desktop{display:none !important;}}

/* CTA sticky mobile */
.cta-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--charcoal);padding:10px 16px;gap:10px;justify-content:center;align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,0.15);transform:translateY(100%);transition:transform .4s ease;}
.cta-sticky.visible{transform:translateY(0);}
.cta-sticky-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;flex:1;text-align:center;}
.cta-sticky-tel{background:var(--gold);color:var(--charcoal);}
.cta-sticky-devis{background:none;border:1px solid rgba(245,240,232,0.3);color:var(--ivory);}
@media(max-width:768px){.cta-sticky{display:flex;}}
@media(min-width:769px){.cta-sticky{display:none !important;}}
