/* ==========================================================================
   Cabinet Bouich Courtage — Feuille de style principale
   Charte graphique : navy #141F35 / slate #96ACB7 / light #E5EBEA / gold #C9942A
   Typos : Playfair Display SC (titres) / Manrope (texte)
   ========================================================================== */

@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-Italic.ttf') format('truetype');
  font-weight:400;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-Bold.ttf') format('truetype');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-BoldItalic.ttf') format('truetype');
  font-weight:700;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-Black.ttf') format('truetype');
  font-weight:900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Playfair Display SC';
  src:url('fonts/PlayfairDisplaySC-BlackItalic.ttf') format('truetype');
  font-weight:900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Manrope';
  src:url('fonts/Manrope-VariableFont_wght.ttf') format('truetype-variations');
  font-weight:200 800;font-style:normal;font-display:swap;
}

:root{
  --navy:#141F35;
  --navy-light:#1e2c4a;
  --slate:#96ACB7;
  --light:#E5EBEA;
  --gold:#C9942A;
  --gold-light:#e0b45c;
  --white:#ffffff;
  --gray-text:#5c6570;
  --radius:12px;
  --shadow:0 20px 45px rgba(20,31,53,.09);
  --max:1160px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{-webkit-text-size-adjust:100%;overflow-x:hidden;}

body{
  font-family:'Manrope',sans-serif;
  font-weight:300;
  color:var(--navy);
  background:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:'Playfair Display SC','Playfair Display',serif;
  font-weight:700;
  color:var(--navy);
  line-height:1.25;
  letter-spacing:.3px;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

.eyebrow{
  display:inline-block;
  font-family:'Manrope',sans-serif;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
}

/* ---------- Decorative geometric accents ---------- */
.deco-ring{
  position:absolute;
  border-radius:50%;
  border:3px solid var(--gold);
  opacity:.35;
  pointer-events:none;
  animation:float-ring 9s ease-in-out infinite;
}
.deco-ring.slate{border-color:var(--slate);}
.deco-ring.white{border-color:rgba(255,255,255,.4);}
.deco-dot{
  position:absolute;
  border-radius:50%;
  background:var(--gold);
  opacity:.5;
  pointer-events:none;
  animation:float-dot 7s ease-in-out infinite;
}
@keyframes float-ring{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-16px) rotate(8deg);}
}
@keyframes float-dot{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(14px) scale(1.15);}
}

/* ---------- Scroll reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-group .reveal:nth-child(2){transition-delay:.08s;}
.reveal-group .reveal:nth-child(3){transition-delay:.16s;}
.reveal-group .reveal:nth-child(4){transition-delay:.24s;}

@media (prefers-reduced-motion:reduce){
  .deco-ring,.deco-dot{animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
  *{scroll-behavior:auto !important;}
}
.badge-star{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;flex:0 0 30px;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy);
  font-size:13px;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid #ecebe6;
  transition:box-shadow .25s ease, padding .25s ease;
}
.site-header.scrolled{
  box-shadow:0 8px 30px rgba(20,31,53,.09);
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;
  gap:18px;
}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:44px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text strong{
  font-family:'Playfair Display SC','Playfair Display',serif;
  font-size:15px;letter-spacing:.5px;color:var(--navy);
}
.brand-text span{font-size:10px;letter-spacing:2.5px;color:var(--slate);font-weight:600;}

nav.main-nav{min-width:0;overflow:hidden;}
nav.main-nav ul{display:flex;gap:22px;align-items:center;white-space:nowrap;}
nav.main-nav a{
  font-size:14px;font-weight:500;color:var(--navy);
  position:relative;padding:6px 0;
}
nav.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;
  width:100%;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;
  transition:transform .25s ease;
}
nav.main-nav a:hover::after,
nav.main-nav a.active::after{transform:scaleX(1);transform-origin:left;}
nav.main-nav a:hover{color:var(--gold);}
nav.main-nav a.active{color:var(--gold);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;
  border-radius:30px;
  font-size:14.5px;font-weight:700;
  font-family:'Manrope',sans-serif;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  cursor:pointer;border:none;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--navy);
}
.btn-gold{position:relative;overflow:hidden;}
.btn-gold::before{
  content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);
}
.btn-gold:hover::before{left:130%;transition:left .55s ease;}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,148,42,.35);}
.btn-outline{
  border:1.5px solid var(--navy);
  color:var(--navy);
  background:transparent;
}
.btn-outline:hover{background:var(--navy);color:var(--white);}
.btn-outline-light{
  border:1.5px solid rgba(255,255,255,.55);
  color:var(--white);
}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:var(--white);}
.btn-block{width:100%;}

.header-cta{display:flex;align-items:center;gap:16px;flex-shrink:0;}
.header-phone{
  font-size:13.5px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:6px;
  white-space:nowrap;
}
.header-cta .btn{white-space:nowrap;}

/* ---------- Mobile nav toggle + drawer ---------- */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:38px;height:38px;flex:0 0 38px;
  border:1.5px solid var(--navy);
  border-radius:9px;
  background:transparent;
  cursor:pointer;
  padding:0;
}
.nav-toggle span{
  display:block;height:2px;width:18px;margin:0 auto;
  background:var(--navy);
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{
  display:none;
  position:fixed;inset:0;
  background:rgba(20,31,53,.55);
  z-index:99;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease;
}
.mobile-nav.open{opacity:1;visibility:visible;}
.mobile-nav-panel{
  position:absolute;top:0;right:0;
  width:min(320px,84vw);height:100%;
  background:var(--navy);
  padding:100px 30px 30px;
  display:flex;flex-direction:column;gap:26px;
  transform:translateX(100%);
  transition:transform .25s ease;
  overflow-y:auto;
}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav ul{display:flex;flex-direction:column;gap:22px;}
.mobile-nav a{
  color:var(--white);
  font-family:'Playfair Display SC','Playfair Display',serif;
  font-size:19px;font-weight:700;
}
.mobile-nav a.active{color:var(--gold-light);}
.mobile-nav .mobile-phone{
  color:var(--gold-light);font-weight:700;font-size:15px;
  display:flex;align-items:center;gap:8px;
  padding-top:18px;border-top:1px solid rgba(255,255,255,.15);
}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-light) 100%);
  color:var(--white);
  padding:100px 0 110px;
  position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;top:-160px;right:-160px;
  width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,148,42,.22),transparent 70%);
}
.hero .deco-ring{top:60px;right:120px;width:70px;height:70px;}
.hero .deco-ring.small{top:340px;right:60px;width:34px;height:34px;}
.hero .deco-dot{bottom:60px;left:6%;width:14px;height:14px;}
.hero .wrap{position:relative;z-index:1;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.hero h1{font-size:42px;color:var(--white);max-width:600px;margin-bottom:22px;}
.hero p.lead{font-size:17.5px;color:#c9d2e0;max-width:520px;margin-bottom:32px;font-weight:300;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-badge{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:30px;
  position:relative;
}
.hero-badge img{height:80px;width:auto;margin:0 auto 18px;}
.hero-badge h3{color:var(--white);font-size:17px;margin-bottom:10px;text-align:center;}
.hero-badge p{color:#c9d2e0;font-size:14px;text-align:center;font-weight:300;}

.strip{
  background:var(--light);
  border-bottom:1px solid #dde3e0;
}
.strip .wrap{
  display:flex;flex-wrap:wrap;gap:28px;justify-content:center;
  padding:16px 28px;font-size:13.5px;color:var(--navy);font-weight:600;
}

.hero-meta{margin-top:28px;display:flex;flex-direction:column;gap:10px;}
.hero-meta li{font-size:13.5px;color:#c9d2e0;display:flex;align-items:center;gap:9px;}

/* ---------- Sections ---------- */
section{padding:88px 0;position:relative;}
.section-head{max-width:640px;margin:0 auto 52px;text-align:center;}
.section-head h2{font-size:31px;margin-bottom:14px;}
.section-head p{color:var(--gray-text);font-size:16px;}
.section-head.left{margin:0 0 46px;text-align:left;}

.bg-light{background:var(--light);}
.bg-navy{background:var(--navy);color:var(--white);}
.bg-navy h2,.bg-navy h3,.bg-navy h4{color:var(--white);}
.bg-navy p{color:#c9d2e0;}

/* ---------- Cards / grids ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;}

.card{
  background:var(--white);
  border:1px solid #ece8dd;
  border-radius:var(--radius);
  padding:32px 28px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.card .icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  display:flex;align-items:center;justify-content:center;
  font-size:23px;margin-bottom:18px;
}
.card h3{font-size:18px;margin-bottom:10px;}
.card p{font-size:14.5px;color:var(--gray-text);margin-bottom:16px;}
.card a.card-link{font-size:13.5px;font-weight:700;color:var(--gold);}
.card a.card-link:hover{text-decoration:underline;}

.card-photo{padding:0;overflow:hidden;}
.card-photo img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .5s ease;}
.card-photo:hover img{transform:scale(1.06);}
.card-photo-body{padding:24px 26px 28px;}
.card-photo-body h3{font-size:18px;margin-bottom:10px;}
.card-photo-body p{font-size:14.5px;color:var(--gray-text);margin-bottom:16px;}
.card-icon-banner{
  height:150px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy),var(--navy-light));
  position:relative;overflow:hidden;
}
.card-icon-banner::after{
  content:"";position:absolute;top:-40%;right:-20%;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,148,42,.35),transparent 70%);
}
.card-icon-banner span{font-size:44px;position:relative;z-index:1;}

.photo-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.photo-frame img{width:100%;display:block;object-fit:cover;}

/* ---------- Image zoom-on-hover wrapper ---------- */
.img-zoom{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.img-zoom img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.img-zoom:hover img{transform:scale(1.07);}

/* ---------- Alternating feature blocks (image + text) ---------- */
.feature-block{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
}
.feature-block + .feature-block{margin-top:90px;}
.feature-block.reverse .feature-media{order:2;}
.feature-block.reverse .feature-text{order:1;}
.feature-media{position:relative;}
.feature-media .img-zoom{aspect-ratio:4/3;}
.feature-media .deco-ring{width:60px;height:60px;bottom:-22px;right:-22px;z-index:-1;}
.feature-text .eyebrow{margin-bottom:12px;}
.feature-text h3{font-size:26px;margin-bottom:16px;}
.feature-text p{color:var(--gray-text);font-size:15.5px;margin-bottom:20px;}
.feature-text .card-link{font-size:14px;font-weight:700;color:var(--gold);}
.feature-text .card-link:hover{text-decoration:underline;}

/* ---------- Tag pills (profils accompagnés) ---------- */
.tag-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px;}
.tag-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:30px;
  background:var(--white);border:1.5px solid #e3ddce;
  font-size:13.5px;font-weight:600;color:var(--navy);
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.tag-pill:hover{transform:translateY(-3px);border-color:var(--gold);background:#fff8ec;}
.bg-light .tag-pill{background:var(--white);}
.bg-navy .tag-pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:var(--white);}
.bg-navy .tag-pill:hover{background:rgba(255,255,255,.12);border-color:var(--gold-light);}

/* ---------- Advantage cards (icon, hover lift) ---------- */
.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.advantage-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  padding:34px 28px;
  text-align:left;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.advantage-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(201,148,42,.5);}
.advantage-card .icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  display:flex;align-items:center;justify-content:center;
  font-size:23px;margin-bottom:18px;
  transition:transform .25s ease;
}
.advantage-card:hover .icon{transform:scale(1.1) rotate(-4deg);}

/* ---------- Stat strip ---------- */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat-strip .stat-num{
  font-family:'Playfair Display SC','Playfair Display',serif;
  font-weight:700;font-size:34px;color:var(--gold);line-height:1;margin-bottom:8px;
}
.stat-strip .stat-label{font-size:13px;color:var(--gray-text);font-weight:600;}
.bg-navy .stat-strip .stat-label{color:#c9d2e0;}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;}
.step{text-align:center;padding:0 10px;}
.step .num{
  width:42px;height:42px;border-radius:50%;
  background:var(--navy);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display SC',serif;font-weight:700;
  margin:0 auto 16px;
  box-shadow:0 0 0 5px rgba(201,148,42,.15);
}
.step h4{font-size:15.5px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--gray-text);}

/* ---------- Product hero (sub pages) ---------- */
.product-hero{
  background:linear-gradient(160deg,var(--navy),var(--navy-light));
  color:var(--white);
  padding:70px 0 80px;
  position:relative;overflow:hidden;
}
.product-hero .deco-ring{top:40px;right:90px;width:56px;height:56px;}
.product-hero .deco-dot{bottom:40px;left:8%;width:12px;height:12px;}
.product-hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;position:relative;z-index:1;}
.product-hero h1{color:var(--white);font-size:36px;margin-bottom:16px;}
.product-hero p{color:#c9d2e0;font-size:16px;margin-bottom:26px;max-width:520px;}
.breadcrumb{font-size:12.5px;color:var(--slate);margin-bottom:18px;letter-spacing:.5px;}
.breadcrumb a{color:var(--gold-light);}

.form-panel{
  background:var(--white);
  border-radius:var(--radius);
  padding:34px;
  box-shadow:var(--shadow);
  color:var(--navy);
}
.form-panel h3{font-size:19px;margin-bottom:8px;}
.form-panel p{font-size:13.5px;color:var(--gray-text);margin-bottom:22px;}

.benefits{margin:36px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.benefit{display:flex;gap:12px;align-items:flex-start;}
.benefit .tick{
  flex:0 0 24px;height:24px;width:24px;border-radius:50%;
  background:var(--gold);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
}
.benefit p{font-size:14.5px;color:var(--navy);}

.cta-band{
  background:var(--navy);
  color:var(--white);
  border-radius:var(--radius);
  padding:48px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:26px;
  position:relative;overflow:hidden;
}
.cta-band::after{
  content:"";position:absolute;bottom:-70px;left:-70px;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,148,42,.18),transparent 70%);
}
.cta-band h3{color:var(--white);font-size:24px;margin-bottom:8px;}
.cta-band p{color:#c9d2e0;font-size:14.5px;}

/* ---------- Avis Google ---------- */
.reviews-band{
  background:var(--light);
  text-align:center;
}
.reviews-band .stars{
  display:flex;justify-content:center;gap:6px;margin-bottom:18px;
}
.reviews-band .stars span{
  color:var(--gold);font-size:26px;line-height:1;
}
.reviews-band h2{font-size:26px;margin-bottom:12px;}
.reviews-band p{color:var(--gray-text);font-size:15px;max-width:480px;margin:0 auto 30px;}
.reviews-band .review-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.reviews-band .google-mark{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--gray-text);font-weight:600;
  margin-top:18px;
}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;}
.contact-info{background:var(--light);border-radius:var(--radius);padding:34px;}
.contact-info h3{font-size:19px;margin-bottom:18px;}
.contact-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.contact-row .ic{
  width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;font-size:15px;
}
.contact-row strong{display:block;font-size:14px;color:var(--navy);}
.contact-row span{font-size:13.5px;color:var(--gray-text);}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#aeb8c9;padding:60px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
.footer-brand img{height:46px;margin-bottom:14px;}
.footer-brand p{font-size:13.5px;color:#98a3b8;max-width:280px;}
footer h4{color:var(--white);font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;}
footer ul li{margin-bottom:10px;}
footer a{font-size:13.5px;color:#aeb8c9;}
footer a:hover{color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:12.5px;color:#7d879b;
}

/* ---------- Forms (fallback / lead capture strip) ---------- */
.disclaimer{font-size:11.5px;color:var(--gray-text);margin-top:14px;}
.disclaimer a{color:var(--gold);text-decoration:underline;}

/* ---------- Responsive ---------- */
@media (max-width:1240px){
  .header-phone{display:none;}
}
@media (max-width:1060px){
  nav.main-nav ul{gap:14px;}
  nav.main-nav a{font-size:13px;}
}
@media (max-width:900px){
  nav.main-nav{display:none;}
  .nav-toggle{display:flex;}
  .mobile-nav{display:block;}
  .header-cta .btn-outline{display:none;}
  .hero-grid,.product-hero .wrap,.contact-grid{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .benefits{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:32px;}
  .product-hero h1{font-size:28px;}
  .cta-band{flex-direction:column;align-items:flex-start;}
  .feature-block{grid-template-columns:1fr;gap:30px;}
  .feature-block.reverse .feature-media{order:1;}
  .feature-block.reverse .feature-text{order:2;}
  .advantage-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  section{padding:64px 0;}
  .hero{padding:56px 0 70px;}
  .hero h1{font-size:27px;}
  .hero p.lead{font-size:16px;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn{width:100%;}
  .product-hero{padding:48px 0 56px;}
  .product-hero h1{font-size:24px;}
  .form-panel{padding:24px;}
  .section-head h2{font-size:25px;}
  .steps{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .cta-band{padding:32px 26px;}
  .cta-band .btn{width:100%;}
  .reviews-band h2{font-size:22px;}
  .reviews-band .review-ctas{flex-direction:column;align-items:stretch;}
  .site-header .wrap{padding:12px 20px;gap:12px;}
  .brand img{height:36px;}
  .brand-text strong{font-size:13px;}
  .header-cta .btn-gold{padding:11px 18px;font-size:13px;}
  .deco-ring,.deco-dot{display:none;}
  .feature-block,.feature-block.reverse{grid-template-columns:1fr;gap:26px;}
  .feature-block.reverse .feature-media{order:1;}
  .feature-block.reverse .feature-text{order:2;}
  .feature-block + .feature-block{margin-top:50px;}
  .advantage-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:repeat(2,1fr);gap:28px 20px;}
  .tag-row{gap:9px;}
  .tag-pill{padding:9px 15px;font-size:12.5px;}
}
