/* Shared styles — Pierre Dubois */
:root{--bg:#fafaf7;--bg2:#fff;--bg3:#f8f5ef;--bg4:#efe9dc;--text:#1a1a1a;--text2:#444;--text3:#6c655a;--text4:#3a3530;--accent:#c8a45c;--accent2:#e6c87a;--aglow:rgba(200,164,92,.10);--aglow2:rgba(200,164,92,.18);--border:rgba(0,0,0,.08);--border2:rgba(0,0,0,.04);--r:10px;--rs:7px;--rl:14px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}
body::after{content:'';position:fixed;inset:0;opacity:.012;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:rgba(200,164,92,.25);color:#fff}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
a{color:inherit;text-decoration:none}

.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:rgba(13,11,9,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border2)}
.nav-brand{font-family:'Lora',serif;font-weight:700;font-size:20px;color:var(--accent);letter-spacing:.02em;text-decoration:none}
.nav-brand span{color:var(--text);font-weight:500;font-size:14px;margin-left:8px}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:13px;color:var(--text3);text-decoration:none;font-weight:500;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-cta{background:var(--accent);color:#0d0b09!important;padding:9px 20px;border-radius:var(--rs);font-weight:700;font-size:13px!important;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--accent2)!important;transform:translateY(-1px);color:#0d0b09!important}

.hero-trust-icon{color:var(--accent);font-weight:700;font-size:14px}

.section{padding:80px 40px;max-width:1200px;margin:0 auto}
.section-dark{background:var(--bg2);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2)}
.page-header{text-align:center;padding:80px 40px 48px;background:radial-gradient(ellipse 500px 200px at 50% 0%,rgba(200,164,92,.04) 0%,transparent 70%),var(--bg2);border-bottom:1px solid var(--border2)}
.page-header .section-label{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.page-header h1{font-family:'Lora',serif;font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:8px}
.page-header p{color:var(--text3);font-size:14px;max-width:500px;margin:0 auto}

.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;border-radius:var(--r);text-decoration:none;font-weight:700;font-size:15px;transition:all .2s}
.btn-primary{background:var(--accent);color:#0d0b09;box-shadow:0 2px 20px rgba(200,164,92,.15)}
.btn-primary:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 6px 30px rgba(200,164,92,.25)}
.btn-outline{border:1px solid var(--border);color:var(--text2)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-item{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--border2);transition:transform .3s,border-color .3s}
.gallery-item:hover{transform:translateY(-4px);border-color:var(--aglow2)}
.gallery-img{width:100%;height:100%;background-size:cover;background-position:center}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 50%);display:flex;align-items:flex-end;padding:14px;opacity:0;transition:opacity .3s}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-info-title{color:#fff;font-size:12px;font-weight:700;margin-bottom:2px}
.gallery-info-desc{color:rgba(255,255,255,.6);font-size:10px}

.cat-section{margin-bottom:56px}
.cat-section:last-child{margin-bottom:0}
.cat-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.cat-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--rs);background:var(--aglow);color:var(--accent);font-size:16px}
.cat-header h3{font-family:'Lora',serif;font-size:20px;font-weight:700}
.cat-header span{color:var(--text4);font-size:12px;display:block;margin-top:1px}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rl);padding:34px 26px;text-align:center;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s}
.service-card:hover{border-color:var(--aglow2);transform:translateY(-4px)}
.service-card:hover::before{opacity:1}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--r);background:var(--aglow);margin-bottom:16px;font-size:20px;color:var(--accent)}
.service-card h3{font-size:15px;font-weight:700;margin-bottom:6px}
.service-card p{font-size:12.5px;color:var(--text3);line-height:1.55}

.about-layout{display:flex;gap:60px;align-items:flex-start}
.about-visual{flex-shrink:0;width:300px}
.about-portrait{width:100%;aspect-ratio:3/4;border-radius:var(--rl);overflow:hidden;border:1px solid var(--border);position:relative}
.about-portrait::after{content:'';position:absolute;inset:-1px;border-radius:var(--rl);border:1px solid var(--aglow2);pointer-events:none}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.about-certs{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.about-cert{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg3);border-radius:var(--rs);border:1px solid var(--border2);font-size:11px;color:var(--text3)}
.about-cert strong{color:var(--accent);font-size:12px}
.about-text{flex:1}
.about-text h2{font-family:'Lora',serif;font-size:22px;font-weight:700;margin-bottom:12px}
.about-text .lead{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:24px}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.process-step{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:16px 12px;text-align:center}
.process-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--aglow);color:var(--accent);font-weight:700;font-size:11px;margin-bottom:6px}
.process-step h4{font-size:12px;font-weight:600;margin-bottom:2px}
.process-step p{font-size:10px;color:var(--text4);line-height:1.4}

.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tag{padding:5px 10px;background:var(--aglow);border:1px solid var(--aglow2);border-radius:20px;font-size:11px;color:var(--text2);font-weight:500}

.about-badge{font-size:12px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px}
.stats-row{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:28px}
.stat-item{text-align:center}
.stat-num{font-size:26px;font-weight:800;color:var(--accent);letter-spacing:-.02em}
.stat-label{font-size:10px;color:var(--text4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.zone-info{font-size:12px;color:var(--text3);line-height:1.6;padding:12px 16px;background:var(--bg3);border-radius:var(--r);border-left:2px solid var(--accent)}
.zone-info strong{color:var(--text)}

.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rl);padding:24px 20px}
.testimonial .stars{color:var(--accent);font-size:12px;margin-bottom:8px}
.testimonial q{font-size:13px;color:var(--text2);line-height:1.6;display:block;margin-bottom:12px;font-style:italic}
.testimonial .author{font-size:11px;font-weight:600;color:var(--text)}
.testimonial .author span{color:var(--text4);font-weight:400}

.contact-form{max-width:500px;margin:0 auto;text-align:left}
.form-row{display:flex;gap:10px;margin-bottom:10px}
.contact-form input,.contact-form textarea{width:100%;padding:14px 18px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}
.contact-form textarea{resize:vertical;min-height:90px;margin-bottom:14px}
.contact-form button{display:block;width:100%;background:var(--accent);color:#0d0b09;font-weight:700;font-size:15px;padding:15px;border-radius:var(--r);border:none;cursor:pointer;font-family:inherit;transition:background .2s;box-shadow:0 2px 12px rgba(200,164,92,.1)}
.contact-form button:hover{background:var(--accent2)}
.form-note{text-align:center;font-size:11px;color:var(--text4);margin-top:12px}

.footer{padding:28px 40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px}
.footer-brand{font-family:'Lora',serif;font-size:17px;color:var(--accent)}
.footer-info{font-size:11px;color:var(--text4);line-height:1.8}
.footer-links{display:flex;gap:18px}
.footer-links a{color:var(--text4);text-decoration:none;font-size:11px;transition:color .2s}
.footer-links a:hover{color:var(--text3)}
.footer-bottom{width:100%;text-align:center;padding-top:14px;border-top:1px solid var(--border2);font-size:10px;color:var(--text4)}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.section{animation:fadeUp .5s ease-out both}

@media(max-width:768px){
  .nav{padding:12px 18px}.nav-links{gap:14px}.nav-links a{font-size:11px}.nav-cta{padding:7px 12px;font-size:11px!important}.nav-brand span{display:none}
  .section{padding:48px 20px}.page-header{padding:56px 20px 40px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:1fr}
  .about-layout{flex-direction:column}.about-visual{width:100%;max-width:260px}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials{grid-template-columns:1fr}
  .footer{flex-direction:column;text-align:center;align-items:center}
}
@media(max-width:480px){
  .gallery{grid-template-columns:1fr}
}
