
/* ============== HERO ============== */
.hero{position:relative;background:var(--ivoire);overflow:hidden;padding:clamp(150px,21vh,220px) 0 clamp(72px,10vw,116px)}
.hero__colibri{position:absolute;top:9%;right:-30px;width:min(42vw,430px);opacity:.10;transform:rotate(-8deg);pointer-events:none;user-select:none}
.hero__inner{position:relative;max-width:820px}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:500;color:var(--encre);letter-spacing:-.012em;margin:28px 0 0;line-height:1.04}
.hero h1 em{font-style:italic;color:var(--petrole);font-weight:500}
.hero__sub{margin-top:30px;max-width:60ch;font-size:19px;line-height:1.75;color:var(--gris)}
.hero__cta{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap}
.hero__meta{margin-top:clamp(48px,7vw,76px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gris-clair)}
.hero__meta span{color:var(--petrole)}
.hero__meta i{width:5px;height:5px;border-radius:50%;background:var(--filet);display:inline-block}

/* ============== BANDEAU VALEURS ============== */
.values{background:#fff;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.values__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.values__item{padding:44px 34px;text-align:center;border-right:1px solid var(--filet);position:relative}
.values__item:last-child{border-right:0}
.values__ico{display:flex;justify-content:center;margin-bottom:14px}
.values__ico svg{width:44px;height:44px;stroke:var(--petrole);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.values__item h3{font-size:1.5rem;font-weight:500}
.values__item p{margin-top:8px;font-size:14px;color:var(--gris);letter-spacing:.02em}

/* ============== COMPÉTENCES ============== */
.comp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.comp-card{background:#fff;border:1px solid var(--filet);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.comp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--filet-froid)}
.comp-card__media{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--voile2)}
.comp-card__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);transition:filter .55s var(--ease),transform .7s var(--ease)}
.comp-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,118,143,.28),rgba(10,46,56,.42));mix-blend-mode:multiply;transition:opacity .55s var(--ease)}
.comp-card:hover .comp-card__media img{filter:grayscale(0) contrast(1);transform:scale(1.05)}
.comp-card:hover .comp-card__media::after{opacity:0}
.comp-card__num{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--serif);font-style:italic;font-size:22px;color:#fff;text-shadow:0 1px 8px rgba(10,46,56,.4)}
.comp-card__body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.comp-card__body h3{font-size:1.55rem;font-weight:500;margin-bottom:11px}
.comp-card__body p{font-size:15px;color:var(--gris);line-height:1.6;flex:1}
.comp-card__link{margin-top:22px;font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--petrole);display:inline-flex;align-items:center;gap:9px}
.comp-card__link .arw{transition:transform .3s var(--ease)}
.comp-card:hover .comp-card__link .arw{transform:translateX(6px)}

/* ============== VOS AVOCATS ============== */
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-card{background:#fff;border:1px solid var(--filet);padding:30px 22px 26px;text-align:center;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--filet-froid)}
.team-card__portrait{width:132px;aspect-ratio:4/5;margin:0 auto 24px;position:relative;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(165deg,var(--voile),#fff 70%);border:1px solid var(--filet-froid)}
.team-card__portrait::after{content:"";position:absolute;inset:8px;border:1px solid var(--petrole);opacity:.3}
.team-card__portrait span{font-family:var(--serif);font-size:38px;color:var(--petrole);letter-spacing:.03em;line-height:1}
.team-card__portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:filter .55s var(--ease)}
.team-card:hover .team-card__portrait img{filter:grayscale(0) contrast(1)}
.team-card__portrait--photo::after{display:none}
.team-card h3{font-size:1.6rem;font-weight:500;margin-bottom:5px}
.team-card__role{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--aubergine);margin-bottom:20px;min-height:34px;line-height:1.5}
.team-card__contact{border-top:1px solid var(--filet);padding-top:18px;display:grid;gap:6px}
.team-card__contact a{font-size:12.5px;color:var(--gris);transition:color .25s var(--ease);word-break:break-word}
.team-card__contact a:hover{color:var(--petrole)}
.team-card__profile{margin-top:auto;padding-top:20px;font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--petrole);display:inline-flex;gap:9px;align-items:center}
.team-card__profile .arw{transition:transform .3s var(--ease)}
.team-card:hover .team-card__profile .arw{transform:translateX(6px)}
.team__note{margin-top:34px;text-align:center;font-size:13.5px;color:var(--gris-clair);font-style:italic}

/* ============== HISTOIRE COLIBRI ============== */
.story__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(38px,6vw,84px);align-items:center}
.story__img{position:relative}
.story__img img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(.18) contrast(1.03)}
.story__img::before{content:"";position:absolute;bottom:-18px;right:-18px;width:130px;height:130px;border-right:2px solid var(--aubergine);border-bottom:2px solid var(--aubergine);opacity:.45}
.story__img::after{content:"";position:absolute;top:-18px;left:-18px;width:130px;height:130px;border-top:2px solid var(--petrole);border-left:2px solid var(--petrole);opacity:.4}
.story__txt h2{font-size:clamp(2.1rem,4.2vw,3rem);font-weight:500;margin:18px 0 26px}
.story__txt p{color:var(--gris);margin-bottom:18px;line-height:1.85}
.story__txt p .drop{font-family:var(--serif);font-size:3.6em;line-height:.72;float:left;color:var(--petrole);padding:8px 14px 0 0;font-weight:500}

/* ============== HONORAIRES ============== */
.fees{background:var(--petrole-ink);color:#E4EFF0;position:relative;overflow:hidden}
.fees__colibri{position:absolute;bottom:-40px;left:-30px;width:340px;opacity:.06;filter:brightness(0) invert(1);pointer-events:none}
.fees .eyebrow{color:#7FD0DC}
.fees .eyebrow::before{background:#7FD0DC}
.fees h2{color:#fff}
.fees__lead{margin-top:22px;color:#B7CDD1;font-size:19px;line-height:1.75;max-width:62ch}
.fees__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid rgba(255,255,255,.16)}
.fees__col{padding:38px 34px 34px;border-bottom:1px solid rgba(255,255,255,.16)}
.fees__col:not(:last-child){border-right:1px solid rgba(255,255,255,.16)}
.fees__ico svg{width:40px;height:40px;stroke:#7FD0DC;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:14px}
.fees__col h3{color:#fff;font-size:1.6rem;font-weight:500;margin:14px 0 12px}
.fees__col p{font-size:15px;color:#B7CDD1;line-height:1.68}
.fees__note{margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-top:36px;border-top:1px solid rgba(255,255,255,.16)}
.fees__note p{max-width:58ch;color:#CBDCDF;font-size:17px}

/* ============== BLOG ============== */
.blog__grid{display:grid;grid-template-columns:minmax(0,520px);gap:36px;justify-content:center}
.blog-card{background:#fff;border:1px solid var(--filet);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.blog-card__thumb{aspect-ratio:16/9;overflow:hidden;background:var(--voile2)}
.blog-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-card__thumb img{transform:scale(1.05)}
.blog-card__body{padding:28px 32px 30px}
.blog-card__tag{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--petrole)}
.blog-card__body h3{font-size:1.55rem;font-weight:500;margin:12px 0 0;line-height:1.24}

/* ============== À PROPOS (longform) ============== */
.about__grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:clamp(38px,6vw,84px)}
.about__aside h2{font-size:clamp(1.9rem,3.6vw,2.5rem);font-weight:500;margin-top:16px}
.about__aside{position:sticky;top:120px;align-self:start}
.about__body h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--encre);margin:36px 0 12px}
.about__body h3:first-child{margin-top:0}
.about__body p{color:var(--gris);margin-bottom:16px;line-height:1.85;font-size:16px}

/* ============== CTA ============== */
.cta{background:var(--voile);text-align:center}
.cta h2{font-size:clamp(2.1rem,4.4vw,3.1rem);font-weight:500}
.cta p{margin:20px auto 36px;max-width:56ch;color:var(--gris);font-size:18px}
.cta__row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ============== Responsive ============== */
@media(max-width:960px){
  .comp__grid{grid-template-columns:repeat(2,1fr)}
  .team__grid{grid-template-columns:repeat(2,1fr)}
  .story__grid,.about__grid{grid-template-columns:1fr}
  .about__aside{position:static}
  .values__grid{grid-template-columns:repeat(2,1fr)}
  .values__item:nth-child(2){border-right:0}
  .values__item{border-bottom:1px solid var(--filet)}
}
@media(max-width:760px){
  .fees__grid{grid-template-columns:1fr}
  .fees__col:not(:last-child){border-right:0}
  .blog__grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .comp__grid,.team__grid,.values__grid{grid-template-columns:1fr}
  .values__item{border-right:0}
  .hero__cta,.cta__row{flex-direction:column}
  .hero__cta .btn,.cta__row .btn{justify-content:center}
}
