/* ============================================================
   DANSE MARIAGE PARIS — CSS Global
   Couleur : #E8736A (Rose/saumon) | Fond : #FFFFFF
   Polices : Playfair Display + Crete Round + Cabin
   Mobile-first responsive
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=Crete+Round&family=Cabin:wght@400;500;600;700&display=swap');

:root {
  --c1: #E8736A; --c1d: #D45A51; --c1l: #FDF0EF;
  --w: #fff; --b: #1a1a1a; --g1: #333; --g2: #666; --g3: #f9f7f5; --gb: #e8e4e0;
  --ft: 'Playfair Display',Georgia,serif;
  --fh: 'Crete Round',Georgia,serif;
  --fb: 'Cabin',Arial,sans-serif;
  --sh: 0 4px 24px rgba(0,0,0,.08);
  --sh2: 0 8px 40px rgba(232,115,106,.15);
  --r: 8px; --r2: 16px; --tr: .3s ease; --mw: 1140px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--fb);color:var(--b);background:var(--w);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--c1);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--c1d)}
ul{list-style:none}
h1,h2,h4{font-family:var(--ft);font-weight:700;line-height:1.25;color:var(--b)}
h3{font-family:var(--fh);font-weight:400;line-height:1.35}
h1{font-size:clamp(1.8rem,5vw,3.2rem)}
h2{font-size:clamp(1.4rem,3.5vw,2.2rem)}
h3{font-size:clamp(1rem,2.5vw,1.4rem)}
p{margin-bottom:1rem}
strong{font-weight:700}
.container{max-width:var(--mw);margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section--grey{background:var(--g3)}
.section--c1{background:var(--c1);color:var(--w)}
.section--c1 h2,.section--c1 h3,.section--c1 p,.section--c1 li{color:var(--w)}
.section--dark{background:linear-gradient(135deg,#1a1a1a,#2d1a18);color:var(--w)}
.section--dark h2,.section--dark h3,.section--dark p{color:var(--w)}
.st{text-align:center;margin-bottom:16px}
.ss{text-align:center;color:var(--g2);font-size:1.05rem;max-width:700px;margin:0 auto 48px}
.sl{width:60px;height:4px;background:var(--c1);margin:12px auto 24px;border-radius:2px}

/* NAV */
.nav{position:sticky;top:0;z-index:1000;background:var(--w);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav__logo{display:flex;align-items:center;gap:10px}
.nav__logo img{height:44px;width:auto}
.nav__logo span{font-family:var(--ft);font-size:1.15rem;font-weight:700;color:var(--b)}
.nav__logo b{color:var(--c1)}
.nav__ul{display:flex;align-items:center;gap:2px}
.nav__ul>li{position:relative}
.nav__ul>li>a{font-family:var(--fb);font-weight:600;font-size:.82rem;color:var(--g1);padding:8px 10px;border-radius:var(--r);text-transform:uppercase;letter-spacing:.4px;display:block;transition:background var(--tr),color var(--tr);white-space:nowrap}
.nav__ul>li>a:hover,.nav__ul>li>a.active{background:var(--c1l);color:var(--c1)}
.dd>ul{position:absolute;top:100%;left:0;background:var(--w);border:1px solid var(--gb);border-radius:var(--r);box-shadow:var(--sh);min-width:280px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--tr);z-index:200;padding:0}
.dd:hover>ul{opacity:1;visibility:visible;transform:translateY(0)}
.dd>ul a{display:block;padding:10px 18px;font-size:.86rem;color:var(--g1);font-weight:400;border-bottom:1px solid var(--gb)}
.dd>ul a:last-child{border-bottom:none}
.dd>ul a:hover{background:var(--c1l);color:var(--c1)}
.nav__cta{background:var(--c1)!important;color:var(--w)!important;padding:10px 20px!important;border-radius:50px!important;font-weight:700!important;white-space:nowrap}
.nav__cta:hover{background:var(--c1d)!important;transform:scale(1.04)!important}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.ham span{display:block;width:26px;height:3px;background:var(--b);border-radius:2px;transition:all var(--tr)}

/* HERO */
.hero{background:linear-gradient(135deg,#1a1a1a,#2d1a18);color:var(--w);padding:100px 0 80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23E8736A' fill-opacity='.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.hero__g{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero__badge{display:inline-block;background:var(--c1);color:var(--w);font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:50px;margin-bottom:20px}
.hero h1{color:var(--w);margin-bottom:20px}
.hero h1 em{color:var(--c1);font-style:normal}
.hero__sub{font-size:1.08rem;color:rgba(255,255,255,.82);margin-bottom:32px}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:36px}
.hero__stats{display:flex;flex-wrap:wrap;gap:28px;padding-top:32px;border-top:1px solid rgba(255,255,255,.12)}
.hero__sn{font-family:var(--ft);font-size:2rem;font-weight:900;color:var(--c1);display:block}
.hero__sl{font-size:.78rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1px}
.hero__img img{border-radius:var(--r2);box-shadow:0 20px 60px rgba(0,0,0,.4)}

/* PHOTO OVERLAY */
.pho{position:relative;display:inline-block;overflow:hidden;border-radius:var(--r2)}
.pho img{display:block;width:100%}
.pho::after{content:'';position:absolute;bottom:10px;right:10px;width:50px;height:50px;background:url('../images/logo-danse-mariage-paris.png') no-repeat center/contain;opacity:.7;pointer-events:none}

/* BUTTONS */
.btn{display:inline-block;padding:14px 32px;border-radius:50px;font-weight:700;font-size:1rem;transition:all var(--tr);cursor:pointer;border:none;text-align:center;white-space:nowrap;font-family:var(--fb)}
.btn--1{background:var(--c1);color:var(--w);box-shadow:0 4px 20px rgba(232,115,106,.3)}
.btn--1:hover{background:var(--c1d);color:var(--w);transform:translateY(-2px);box-shadow:0 8px 30px rgba(232,115,106,.4)}
.btn--o{background:0 0;color:var(--w);border:2px solid var(--w)}
.btn--o:hover{background:var(--w);color:var(--c1)}
.btn--o1{background:0 0;color:var(--c1);border:2px solid var(--c1)}
.btn--o1:hover{background:var(--c1);color:var(--w)}
.btn--lg{padding:18px 40px;font-size:1.1rem}
.btn--sm{padding:10px 24px;font-size:.9rem}
.pulse{animation:pulse 2.5s infinite}
@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(232,115,106,.3)}50%{box-shadow:0 4px 32px rgba(232,115,106,.6)}}

/* TRUST */
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;padding:40px 0;border-top:1px solid var(--gb);border-bottom:1px solid var(--gb)}
.trust__v{font-family:var(--ft);font-size:2rem;font-weight:900;color:var(--c1);display:block}
.trust__l{font-size:.78rem;color:var(--g2);text-transform:uppercase;letter-spacing:1px}
.trust__i{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;text-align:center}

/* CARDS */
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.cd{background:var(--w);border-radius:var(--r2);box-shadow:var(--sh);padding:32px;transition:transform var(--tr),box-shadow var(--tr);border-top:4px solid transparent;text-decoration:none;color:inherit;display:block}
.cd:hover{transform:translateY(-6px);box-shadow:var(--sh2);border-top-color:var(--c1)}
.cd__ic{font-size:2.4rem;margin-bottom:16px}
.cd h3{margin-bottom:10px}
.cd p{color:var(--g2);font-size:.95rem;margin-bottom:12px}
.cd__lk{color:var(--c1);font-weight:700;font-size:.9rem}

/* FEAR */
.fi{display:flex;gap:20px;padding:24px;background:var(--w);border-radius:var(--r2);box-shadow:var(--sh);margin-bottom:20px;align-items:flex-start;border-left:4px solid var(--c1)}
.fi__ic{font-size:2rem;flex-shrink:0}
.fi__c h3{margin-bottom:6px;color:var(--c1)}
.fi__c p{margin:0;color:var(--g2)}

/* TESTIMONIALS */
.tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.tm{background:var(--w);border-radius:var(--r2);padding:28px;box-shadow:var(--sh);border-top:3px solid var(--c1)}
.tm__s{color:#f4a800;font-size:1.1rem;margin-bottom:12px}
.tm__t{color:var(--g1);font-style:italic;margin-bottom:16px;font-size:.95rem;line-height:1.7}
.tm__a{display:flex;align-items:center;gap:12px}
.tm__av{width:48px;height:48px;border-radius:50%;background:var(--c1l);display:flex;align-items:center;justify-content:center;font-family:var(--ft);font-weight:700;color:var(--c1);font-size:1.1rem;flex-shrink:0}
.tm__n{font-weight:700;font-size:.95rem}
.tm__loc{font-size:.82rem;color:var(--g2)}

/* FAQ */
.fq{max-width:820px;margin:0 auto}
.fqi{border-bottom:1px solid var(--gb)}
.fqq{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-weight:700;font-size:1rem;color:var(--b);gap:16px;transition:color var(--tr)}
.fqq:hover{color:var(--c1)}
.fqq::after{content:'+';font-size:1.5rem;color:var(--c1);flex-shrink:0;font-weight:300;transition:transform var(--tr)}
.fqi.open .fqq::after{transform:rotate(45deg)}
.fqa{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fqi.open .fqa{max-height:600px}
.fqa__in{padding:0 0 20px;color:var(--g2);font-size:.95rem;line-height:1.8}
.fqa__in a{color:var(--c1);font-weight:600}

/* CTA SECTION */
.cta-s{background:linear-gradient(135deg,var(--c1),var(--c1d));color:var(--w);text-align:center;padding:80px 0}
.cta-s h2{color:var(--w);margin-bottom:16px}
.cta-s p{color:rgba(255,255,255,.88);max-width:600px;margin:0 auto 36px;font-size:1.05rem}

/* GUIDES */
.gg{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.gc{background:var(--w);border-radius:var(--r2);padding:32px;box-shadow:var(--sh);text-align:center;border:2px dashed var(--gb);transition:border-color var(--tr)}
.gc:hover{border-color:var(--c1)}
.gc img{max-width:240px;margin:0 auto 16px;border-radius:var(--r)}
.gc h3{margin-bottom:8px}
.gc p{color:var(--g2);font-size:.92rem;margin-bottom:16px}

/* 2 COLS */
.tc{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.tc--r{direction:rtl}
.tc--r>*{direction:ltr}

/* LIST CHECK */
.lc li{padding:6px 0 6px 28px;position:relative;color:var(--g1);font-size:.97rem}
.lc li::before{content:'\2713';position:absolute;left:0;color:var(--c1);font-weight:900}

/* STEPS */
.steps{counter-reset:step}
.step{display:flex;gap:24px;margin-bottom:36px;align-items:flex-start}
.step__n{counter-increment:step;flex-shrink:0;width:48px;height:48px;background:var(--c1);color:var(--w);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ft);font-size:1.3rem;font-weight:700}
.step__n::before{content:counter(step)}
.step__c h3{margin-bottom:6px}
.step__c p{color:var(--g2);margin:0}

/* TABLE */
.cmp{width:100%;border-collapse:collapse;margin:24px 0;border-radius:var(--r);overflow:hidden}
.cmp th{background:var(--c1);color:var(--w);padding:14px 18px;text-align:left;font-weight:700}
.cmp td{padding:13px 18px;border-bottom:1px solid var(--gb);font-size:.93rem}
.cmp tr:nth-child(even) td{background:var(--g3)}
.cmp .ck{color:var(--c1);font-weight:900}
.cmp .cx{color:#999}

/* HIGHLIGHT */
.hl{background:var(--c1l);border-left:4px solid var(--c1);border-radius:0 var(--r) var(--r) 0;padding:20px 24px;margin:24px 0}
.hl p{margin:0;color:var(--c1d);font-weight:600}

/* BREADCRUMB */
.bc{padding:14px 0;font-size:.85rem;color:var(--g2)}
.bc a{color:var(--g2)}
.bc a:hover{color:var(--c1)}

/* PAGE HERO */
.ph{background:linear-gradient(135deg,#1a1a1a,#2d1a18);color:var(--w);padding:70px 0 56px;text-align:center;position:relative;overflow:hidden}
.ph::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23E8736A' fill-opacity='.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.ph>*{position:relative;z-index:1}
.ph h1{color:var(--w);margin-bottom:16px}
.ph h1 em{color:var(--c1);font-style:normal}
.ph p{color:rgba(255,255,255,.82);max-width:640px;margin:0 auto;font-size:1.08rem}

/* BLOG CARDS */
.bc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.bc-c{background:var(--w);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh);transition:transform var(--tr),box-shadow var(--tr);text-decoration:none;color:inherit;display:block}
.bc-c:hover{transform:translateY(-6px);box-shadow:var(--sh2)}
.bc-c__img{height:200px;overflow:hidden;position:relative}
.bc-c__img img{width:100%;height:100%;object-fit:cover}
.bc-c__img::after{content:'';position:absolute;bottom:8px;right:8px;width:36px;height:36px;background:url('../images/logo-danse-mariage-paris.png') no-repeat center/contain;opacity:.7}
.bc-c__b{padding:24px}
.bc-c__tag{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--c1);font-weight:700;margin-bottom:8px;display:block}
.bc-c__b h3{margin-bottom:8px;font-size:1.1rem}
.bc-c__b p{color:var(--g2);font-size:.9rem;margin-bottom:12px}
.bc-c__lk{color:var(--c1);font-weight:700;font-size:.88rem}

/* EN BREF (blog) */
.eb{background:var(--g3);border-radius:var(--r2);padding:28px 32px;margin-bottom:40px;border-left:5px solid var(--c1)}
.eb h3{color:var(--c1);margin-bottom:12px;font-family:var(--ft);font-size:1.2rem}
.eb li{padding:4px 0 4px 20px;position:relative;font-weight:700;font-size:.95rem}
.eb li::before{content:'\2192';position:absolute;left:0;color:var(--c1)}

/* SEO TEXT BLOCK */
.seo{max-width:900px;margin:0 auto}
.seo h2{margin:40px 0 16px}
.seo h3{margin:28px 0 12px;color:var(--c1)}
.seo p{font-size:1rem;line-height:1.85;color:var(--g1);margin-bottom:16px}
.seo ul{margin:16px 0 16px 0}
.seo li{padding:6px 0 6px 24px;position:relative;color:var(--g1)}
.seo li::before{content:'\2022';position:absolute;left:8px;color:var(--c1);font-size:1.2rem}
.seo a{color:var(--c1);font-weight:600;text-decoration:underline}

/* FLOATING CTA */
.fl{position:fixed;bottom:0;left:0;right:0;background:var(--c1);color:var(--w);padding:14px 24px;display:flex;justify-content:center;align-items:center;gap:16px;z-index:999;box-shadow:0 -4px 20px rgba(0,0,0,.2);transform:translateY(100%);transition:transform var(--tr)}
.fl.vis{transform:translateY(0)}
.fl p{margin:0;font-size:.95rem;font-weight:600}
.fl .btn{padding:10px 24px;font-size:.9rem;background:var(--w);color:var(--c1);border-radius:50px;font-weight:700}
.fl .btn:hover{background:var(--g3)}

/* FOOTER */
.ft{background:#111;color:rgba(255,255,255,.75);padding:64px 0 32px}
.ft__g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
.ft__brand .ft__logo{font-family:var(--ft);font-size:1.2rem;font-weight:700;color:var(--w);margin-bottom:12px;display:block}
.ft__brand .ft__logo b{color:var(--c1)}
.ft__brand p{font-size:.85rem;line-height:1.7;max-width:240px}
.ft__stars{color:#f4a800;margin-top:12px;font-size:.85rem}
.ft__col h4{color:var(--w);font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;font-family:var(--fb);font-weight:700}
.ft__col ul li{margin-bottom:6px}
.ft__col ul li a{color:rgba(255,255,255,.6);font-size:.83rem;transition:color var(--tr)}
.ft__col ul li a:hover{color:var(--c1)}
.ft__bot{border-top:1px solid rgba(255,255,255,.1);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(255,255,255,.4)}
.ft__bot a{color:rgba(255,255,255,.5)}
.ft__bot a:hover{color:var(--c1)}

/* GUIDES FOOTER SECTION */
.gf{background:var(--c1);padding:60px 0;color:var(--w)}
.gf h2{color:var(--w);text-align:center;margin-bottom:12px}
.gf .ss{color:rgba(255,255,255,.85)}
.gf .gg{max-width:700px;margin:0 auto}
.gf .gc{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:var(--w)}
.gf .gc h3{color:var(--w)}
.gf .gc p{color:rgba(255,255,255,.8)}
.gf .gc .btn{background:var(--w);color:var(--c1)}
.gf .gc .btn:hover{background:var(--g3)}

/* VILLES */
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.vc{background:var(--w);border-radius:var(--r);padding:16px 20px;box-shadow:var(--sh);display:flex;align-items:center;justify-content:space-between;transition:all var(--tr);text-decoration:none;color:var(--b);font-weight:600;font-size:.95rem}
.vc:hover{transform:translateY(-3px);box-shadow:var(--sh2);color:var(--c1)}
.vc::after{content:'\2192';color:var(--c1);font-weight:700}

/* ANIMATIONS */
.fi-a{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fi-a.vis{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1100px){.ft__g{grid-template-columns:repeat(3,1fr)}}
@media(max-width:992px){
  .hero__g{grid-template-columns:1fr;text-align:center}
  .hero__cta{justify-content:center}
  .hero__stats{justify-content:center}
  .hero__img{max-width:400px;margin:0 auto}
  .tc,.tc--r{grid-template-columns:1fr;gap:32px;direction:ltr}
  .ft__g{grid-template-columns:1fr 1fr}
  .nav__ul{display:none}
  .nav__ul.open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:var(--w);box-shadow:var(--sh);padding:16px;gap:0;align-items:stretch;z-index:100;max-height:80vh;overflow-y:auto}
  .nav__ul.open>li>a{padding:12px 16px;border-bottom:1px solid var(--gb)}
  .dd>ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-radius:0;display:none;background:var(--g3);padding:0}
  .nav__ul.open>li.dd.open>ul{display:block}
  .ham{display:flex}
  .bc-g{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .section{padding:56px 0}
  .hero{padding:64px 0 48px}
  .ft__g{grid-template-columns:1fr}
  .ft__bot{flex-direction:column;text-align:center}
  .fl{flex-direction:column;padding:12px;text-align:center}
  .hero__cta{flex-direction:column;align-items:center}
  .trust{gap:20px}
  .cg,.bc-g{grid-template-columns:1fr}
}

/* OVERLAY LOGO VILLE — sur TOUTES les images de contenu */
.section img, .hero__img img, .seo img, .bc-c__img img, .gc img {
  position: relative;
}
.section .seo p img,
.hero__img,
.bc-c__img,
.gc,
.pho,
.section .photo-wrap {
  position: relative;
  display: inline-block;
}
/* Ajout global : chaque section avec image aura le logo */
.hero__img::after,
.pho::after,
.bc-c__img::after,
.gc::after,
.photo-wrap::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 50px;
  height: 50px;
  background: url('../images/logo-danse-mariage-paris.png') no-repeat center/contain;
  opacity: 0.7;
  pointer-events: none;
  z-index: 5;
}
/* Version pour les cards de blog */
.bc-c__img::after {
  width: 36px;
  height: 36px;
  bottom: 8px;
  right: 8px;
}
/* Version pour le footer guides */
.gc::after {
  width: 30px;
  height: 30px;
  bottom: 6px;
  right: 6px;
}

/* GALERIE PHOTOS — Grille 3 colonnes */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}
.gal img{width:100%;height:220px;object-fit:cover;border-radius:var(--r);transition:transform var(--tr);cursor:pointer}
.gal img:hover{transform:scale(1.03)}
.gal-wrap{position:relative;overflow:hidden;border-radius:var(--r)}
.gal-wrap::after{content:'';position:absolute;bottom:8px;right:8px;width:30px;height:30px;background:url('../images/logo-danse-mariage-paris.png') no-repeat center/contain;opacity:.7;pointer-events:none;z-index:2}
/* Galerie titres */
.gal-title{font-family:var(--ft);font-size:1.3rem;text-align:center;margin:48px 0 8px;color:var(--c1)}
.gal-sub{text-align:center;color:var(--g2);font-size:.95rem;margin-bottom:24px}
@media(max-width:640px){.gal{grid-template-columns:1fr 1fr;gap:8px}.gal img{height:160px}}
@media(max-width:400px){.gal{grid-template-columns:1fr}}
