/* ============ 1. TOKENS & BASE ============ */
:root{
  --bg:#0E1024; --panel:rgba(30,33,74,0.55);
  --line:rgba(245,243,237,.10); --line-strong:rgba(245,243,237,.22);
  --text:#F6F4EE; --text-2:#B4B7DE; --text-3:#787CB0;
  --gold:#3E7BFA; --gold-2:#8FB4FF; --peri:#BFD4FF; --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;line-height:1.65;overflow-x:hidden;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.015em}
a{color:inherit}
::selection{background:var(--gold);color:#06101F}
.wrap{max-width:960px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
section{padding:90px 0;position:relative}
.eyebrow-sm{color:var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.04em;margin-bottom:10px}
.section-title{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:16px;max-width:600px}
.section-lead{color:var(--text-2);max-width:540px;margin-bottom:50px;font-size:1.05rem}
.btn{display:inline-block;padding:15px 30px;border-radius:999px;font:600 .98rem 'Inter',sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform .15s}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#06101F}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--line-strong);color:var(--text)}

/* ============ 2. NAV ============ */
nav{position:sticky;top:0;z-index:50;background:rgba(14,16,36,.88);border-bottom:1px solid var(--line)}
nav .inner{max-width:960px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}
.logo{font:600 1.3rem 'Fraunces',serif}.logo span{color:var(--gold)}
.nav-links{display:flex;gap:28px;font-size:.92rem;color:var(--text-2)}
.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--text)}
.burger{display:none;background:none;border:0;color:var(--text);font-size:1.4rem;cursor:pointer;padding:4px 8px}
.lang-switch{display:flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;margin-right:8px}
.lang-switch button{background:none;border:0;color:var(--text-3);font:600 .78rem 'Inter',sans-serif;padding:6px 11px;cursor:pointer}
.lang-switch button.active{background:var(--gold);color:#06101F}
.lang-switch{display:flex;gap:2px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:3px;margin-left:16px}
.lang-switch button{background:none;border:0;color:var(--text-3);font:600 .78rem 'Inter',sans-serif;padding:5px 11px;border-radius:999px;cursor:pointer}
.lang-switch button.active{background:var(--gold);color:#06101F}
@media(max-width:640px){.lang-switch{margin-left:auto;margin-right:8px}}
@media(max-width:640px){
  .nav-links{position:fixed;top:57px;left:0;right:0;flex-direction:column;gap:0;background:#0E1024;border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .25s ease}
  .nav-links.open{max-height:280px}
  .nav-links a{padding:16px 24px;border-top:1px solid var(--line)}
  .burger{display:block}
}

/* ============ 3. HERO ============ */
.hero{position:relative;padding:clamp(56px,11vw,120px) 0 90px;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse 900px 600px at 50% -10%,#16224A 0%,transparent 60%),
             radial-gradient(ellipse 700px 500px at 80% 10%,rgba(62,123,250,.35) 0%,transparent 55%),
             linear-gradient(180deg,#10142B 0%,rgba(14,16,36,0) 90%)}
.rays{position:absolute;inset:-30% -15%;z-index:0;pointer-events:none;will-change:transform;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(62,123,250,.34) 5deg,transparent 15deg,transparent 135deg,rgba(191,212,255,.30) 148deg,transparent 160deg,transparent 245deg,rgba(62,123,250,.24) 255deg,transparent 268deg,transparent 360deg);
  animation:spin 18s linear infinite}
.ring{position:absolute;border-radius:50%;z-index:0;pointer-events:none;left:50%;will-change:transform}
.ring1{width:360px;height:360px;top:-50px;margin-left:-180px;border:1.5px dashed rgba(143,180,255,.4);animation:spin 32s linear infinite}
.ring2{width:240px;height:240px;top:30px;margin-left:-120px;border:1.5px dashed rgba(191,212,255,.35);animation:spin 22s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:0;will-change:transform;animation:derive 16s ease-in-out infinite alternate}
.orb1{width:420px;height:420px;background:radial-gradient(circle,var(--gold),transparent 70%);top:-150px;left:50%;margin-left:-330px}
.orb2{width:360px;height:360px;background:radial-gradient(circle,var(--peri),transparent 70%);top:-40px;left:50%;margin-left:0;animation-delay:3s}
@keyframes derive{from{transform:translate(0,0)}to{transform:translate(40px,34px)}}
.cube-scene{position:absolute;z-index:0;perspective:900px}
.cs1{top:12%;right:8%}.cs2{top:56%;left:6%}.cs3{top:26%;left:12%}
.cube{position:relative;transform-style:preserve-3d;animation:floatRotate 9s ease-in-out infinite;width:var(--s);height:var(--s)}
.cs1 .cube{--s:64px}.cs2 .cube{--s:36px;animation-delay:1.2s}.cs3 .cube{--s:24px;animation-delay:.5s}
.cube i{position:absolute;inset:0;opacity:.85}
.cube .a{background:var(--gold);transform:translateZ(calc(var(--s)/2))}
.cube .b{background:#2A56C8;transform:rotateY(180deg) translateZ(calc(var(--s)/2))}
.cube .c{background:#6FA0FF;transform:rotateY(90deg) translateZ(calc(var(--s)/2))}
.cube .d{background:#1F3E8C;transform:rotateY(-90deg) translateZ(calc(var(--s)/2))}
.cube .e{background:var(--peri);transform:rotateX(90deg) translateZ(calc(var(--s)/2))}
.cube .f{background:#2A4FA0;transform:rotateX(-90deg) translateZ(calc(var(--s)/2))}
@keyframes floatRotate{0%{transform:translateY(0) rotateX(-18deg) rotateY(20deg)}50%{transform:translateY(-18px) rotateX(-18deg) rotateY(200deg)}100%{transform:translateY(0) rotateX(-18deg) rotateY(380deg)}}
@media(max-width:640px){.cs1 .cube{--s:44px}.cs2 .cube{--s:26px}.cs1{right:4%}.cs2{left:3%}.ring1{width:280px;height:280px;margin-left:-140px}.ring2{width:190px;height:190px;margin-left:-95px}}
.hero .eyebrow{color:var(--text-3);font-size:.92rem;margin-bottom:18px}
.hero h1{font-size:clamp(2.3rem,6vw,3.9rem);line-height:1.12;max-width:760px;margin:0 auto 22px;animation:titrePop 1.1s cubic-bezier(.22,1.4,.4,1) both}
.hero h1 em{font-style:normal;color:var(--gold)}
@keyframes titrePop{0%{opacity:0;transform:scale(.82);filter:blur(10px)}60%{opacity:1;transform:scale(1.05);filter:blur(0)}100%{opacity:1;transform:scale(1)}}
.hero p.lead{color:var(--text-2);font-size:1.15rem;max-width:520px;margin:0 auto 32px}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.mockup{max-width:460px;margin:44px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;text-align:left}
.bulle{border-radius:16px;padding:12px 16px;font-size:.95rem;margin-bottom:10px;max-width:90%}
.bulle.user{background:rgba(255,255,255,.07);margin-left:auto}
.bulle.sophia{color:var(--text-2);padding-left:0;min-height:3.4em}
.bulle.sophia .typed::after{content:'▌';color:var(--gold);margin-left:2px;animation:blink .8s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.scroll-cue{margin-top:38px;color:var(--text-3);font-size:.8rem;animation:descend 2.2s ease-in-out infinite}
@keyframes descend{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(10px);opacity:1}}

/* ============ 4. BANDEAU ART (4 scènes, couches composées GPU) ============ */
.art-section{padding:0;overflow:hidden}
.art-banner{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;background:linear-gradient(135deg,#0F1830 0%,#16224A 45%,#0B0D14 100%)}
.layer{position:absolute;inset:0;width:100%;height:100%}
.scene{opacity:0;will-change:opacity;animation:seq 8s ease-in-out infinite}
.s-monde{animation-delay:2s}.s-tech{animation-delay:4s}.s-nom{animation-delay:6s}
.art-banner:not(.on) .scene{animation-play-state:paused}
@keyframes seq{0%{opacity:0}5%{opacity:1}21%{opacity:1}27%{opacity:0}100%{opacity:0}}
.art-caption{text-align:center;padding:34px 24px 10px;color:var(--text-2);font:italic 1.15rem 'Fraunces',serif;max-width:480px;margin:0 auto}

/* ============ 5. VORTEX (canvas) ============ */
.vortex-section{padding:70px 0 20px;overflow:hidden}
.vortex-wrap{position:relative;max-width:960px;height:440px;margin:30px auto 0}
#vortex{width:100%;height:100%;display:block}
.vcore{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--gold);box-shadow:0 0 30px 10px rgba(62,123,250,.55);animation:coeur 2.4s ease-in-out infinite}
@keyframes coeur{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.9);opacity:1}}
.vfade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--bg),transparent 20%,transparent 80%,var(--bg))}

/* ============ 6. TERMINAL : Sophia écrit du code puis Bonjour / Welcome ============ */
.term-section{padding:20px 0 90px}
.term{max-width:640px;margin:0 auto;background:rgba(10,12,30,.85);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:250px}
.term-bar{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line)}
.term-bar i{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}
.term-bar i:first-child{background:var(--gold)}
#term-body{font:.82rem/1.75 'JetBrains Mono',monospace;color:var(--peri);padding:18px 20px;white-space:pre-wrap;min-height:190px}
#term-big{display:none;font:500 clamp(2.4rem,9vw,4rem) 'Fraunces',serif;color:var(--gold-2);text-align:center;padding:64px 20px;min-height:190px}
.term.big #term-body{display:none}.term.big #term-big{display:block}
#term-big::after{content:'▌';color:var(--gold);margin-left:4px;animation:blink .8s steps(2) infinite}
.term.glitch{animation:glitch .38s steps(2)}
@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-5px,2px) skewX(6deg);box-shadow:4px 0 var(--peri),-4px 0 var(--gold)}50%{transform:translate(5px,-2px) skewX(-6deg)}75%{transform:translate(-3px,0);box-shadow:-3px 0 var(--peri),3px 0 var(--gold)}100%{transform:translate(0)}}

/* ============ 7. TITRES (3 styles animés) ============ */
.st0{background:linear-gradient(90deg,var(--gold),var(--peri),var(--gold));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:glisse 6s linear infinite}
@keyframes glisse{to{background-position:200% 0}}
.st1{font-style:italic;color:var(--gold-2);animation:lueur 3s ease-in-out infinite}
@keyframes lueur{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 24px rgba(62,123,250,.65)}}
.st2{color:var(--peri);animation:respire 4.5s ease-in-out infinite}
@keyframes respire{0%,100%{letter-spacing:-.015em}50%{letter-spacing:.03em}}

/* ============ 8bis. OFFRES ============ */
.offres{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:760px){.offres{grid-template-columns:1fr}}
.offre{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column}
.offre.pro{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 20px 50px -20px rgba(62,123,250,.35);position:relative}
.offre.pro::before{content:'Le plus choisi';position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#06101F;font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:999px}
.offre h3{font-size:1.25rem;margin-bottom:4px}
.offre .prix{font:600 2rem 'Fraunces',serif;margin:14px 0 4px;color:var(--gold-2)}
.offre .prix span{font:400 .85rem 'Inter',sans-serif;color:var(--text-3)}
.offre ul{list-style:none;margin:18px 0 24px;color:var(--text-2);font-size:.92rem}
.offre li{padding:6px 0;border-top:1px solid var(--line)}
.offre .btn{margin-top:auto;text-align:center}

/* ============ 8. FIL ============ */
.feed{display:flex;flex-direction:column}
.post{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s;padding:34px 0;border-bottom:1px solid var(--line)}
.post:last-child{border-bottom:0}
.post.visible{opacity:1;transform:none}
.post-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--peri));flex-shrink:0}
.who{font-weight:600;font-size:.92rem;color:var(--text)}
.dot{color:var(--text-3);font-size:.9rem}
.date{color:var(--text-3);font-size:.85rem}
.post-body p{color:var(--text-2);font-size:1.02rem;line-height:1.65;margin:0 0 18px 0;white-space:pre-wrap;word-break:break-word}
.post-body p:last-child{margin-bottom:0}
.post-media{width:100%;max-height:520px;border-radius:12px;display:block;object-fit:cover;background:#000;margin-top:4px}
.media-box{border-radius:12px;background:linear-gradient(135deg,rgba(191,212,255,.10),rgba(62,123,250,.10));aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:.85rem;position:relative}
.media-box.video::after{content:'▶';position:absolute;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:var(--text)}
.post .vide{color:var(--text-3);font-style:italic}
.avis-status{margin-top:8px;font-size:.88rem;min-height:1.2em}
.avis-status.ok{color:#6FA0FF}.avis-status.err{color:#FF8A8A}

/* ============ 9. FONDATEUR / AVIS / FOOTER ============ */
.fondateur{display:grid;grid-template-columns:190px 1fr;gap:46px;align-items:start}
.portrait{width:190px;height:190px;border-radius:50%;background:var(--panel);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:.85rem;text-align:center;padding:18px}
.fondateur h3{font-size:1.5rem;margin-bottom:6px}.role{color:var(--gold);font-size:.9rem;margin-bottom:16px}
.fondateur p{color:var(--text-2);max-width:560px}
@media(max-width:600px){.fondateur{grid-template-columns:1fr;text-align:center}.portrait{margin:0 auto}}
.avis-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:36px}
.avis-box input,.avis-box textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--text);font:.95rem 'Inter',sans-serif;margin-bottom:14px}
.avis-box textarea{min-height:100px;resize:vertical}
.avis-box input:focus,.avis-box textarea:focus{outline:0;border-color:var(--peri)}
footer{border-top:1px solid var(--line);padding:44px 0 34px;text-align:center;color:var(--text-3);font-size:.86rem;position:relative;z-index:1}
.footer-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.footer-links a{color:var(--text-2);text-decoration:none}.footer-links a:hover{color:var(--gold)}

/* ============ 10. COURANT D'AIR (canvas fixe, derrière le texte) ============ */
.final{padding:110px 0 120px}
.btn-xl{position:relative;padding:20px 46px;font-size:1.1rem}
.btn-xl::after{content:'';position:absolute;inset:-8px;border-radius:999px;border:1px solid var(--gold);opacity:.6;animation:halo 2.4s ease-out infinite}
@keyframes halo{from{transform:scale(1);opacity:.6}to{transform:scale(1.35);opacity:0}}
#flow{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.post{opacity:1;transform:none}.scene.s-nom{opacity:1}}

/* ============ BIO : remplissage vertical haut->bas au scroll ============ */
.fondateur p.bio-scroll {
  --p: 0;
  background: linear-gradient(
    180deg,
    #8FB4FF 0%,
    #3E7BFA calc(var(--p) * 100%),
    rgba(246, 244, 238, 0.22) calc(var(--p) * 100%),
    rgba(246, 244, 238, 0.22) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-family: 'Inter', sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  letter-spacing: -0.005em;
  max-width: 640px;
  transition: background 0.05s linear;
}

/* ==========================================================
   Section "Ce que Sophia sait faire"
   ========================================================== */
.sait-faire-section { padding: 60px 0; }
.sf-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 36px;
}
.sf-bloc {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px 22px;
  transition: all .2s cubic-bezier(.4,0,.2,1);
}
.sf-bloc:hover {
  border-color: var(--line-strong);
  transform: translateY(-2px);
}
.sf-icone {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(62,123,250,.14), rgba(143,180,255,.08));
  border-radius: 12px;
  color: #8FB4FF;
  margin-bottom: 16px;
}
.sf-icone svg { stroke: currentColor; }
.sf-bloc h3 {
  font-size: 1.05rem;
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--text);
}
.sf-bloc p {
  font-size: .9rem;
  line-height: 1.55;
  color: var(--text-2);
  margin: 0;
}

/* ==========================================================
   Section "Ce que Sophia sait faire" — exemples
   ========================================================== */
.sf-exemples {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-top: 36px;
}
.sf-exemple {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color .2s;
}
.sf-exemple:hover {
  border-color: var(--line-strong);
}
.sf-question {
  align-self: flex-end;
  max-width: 90%;
  padding: 10px 14px;
  background: rgba(143,180,255,.10);
  border-radius: 16px 16px 4px 16px;
  font-size: .87rem;
  color: var(--text);
  line-height: 1.4;
}
.sf-reponse {
  font-size: .87rem;
  color: var(--text-2);
  line-height: 1.6;
}
.sf-reponse p {
  margin: 8px 0;
}
.sf-reponse strong {
  color: var(--text);
  font-weight: 600;
}
.sf-reflexion {
  font-size: .74rem;
  color: var(--text-3);
  font-style: italic;
  padding: 6px 10px;
  background: rgba(255,255,255,.03);
  border-left: 2px solid rgba(143,180,255,.4);
  border-radius: 6px;
  margin-bottom: 10px;
  display: inline-block;
}
.sf-sources {
  margin-bottom: 8px;
}
.sf-source-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(143,180,255,.08);
  border: 1px solid rgba(143,180,255,.18);
  border-radius: 20px;
  font-size: .72rem;
  color: #8FB4FF;
  font-weight: 500;
}
.sf-cite {
  font-style: italic;
  color: var(--text-3);
  font-size: .82rem;
  padding-left: 12px;
  border-left: 2px solid rgba(143,180,255,.25);
}
.sf-resultat {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 1.4rem;
  color: #8FB4FF;
  font-weight: 600;
  text-align: center;
  padding: 16px 0;
  letter-spacing: .02em;
}
.sf-note {
  font-size: .76rem;
  color: var(--text-3);
  font-style: italic;
}

/* ==========================================================
   Section Offres v2 : 3 plans + Entreprise
   ========================================================== */
.offres {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 40px;
}
.offre {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, transform .2s;
}
.offre:hover {
  border-color: var(--line-strong);
  transform: translateY(-2px);
}
.offre.pro {
  border-color: rgba(143,180,255,.35);
  background: linear-gradient(180deg, rgba(143,180,255,.04), transparent 60%), var(--panel);
}
.offre h3 {
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 14px;
  color: var(--text);
}
.prix {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.02em;
}
.prix span {
  font-size: .85rem;
  font-weight: 400;
  color: var(--text-3);
  margin-left: 2px;
}
.prix-an {
  font-size: .78rem;
  color: var(--text-3);
  margin-top: 4px;
  margin-bottom: 20px;
}
.offre ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  flex: 1;
}
.offre ul li {
  font-size: .88rem;
  color: var(--text-2);
  padding: 6px 0;
  line-height: 1.5;
  position: relative;
  padding-left: 18px;
}
.offre ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8FB4FF;
  opacity: .6;
}

/* Bloc Entreprise */
.entreprise {
  margin-top: 32px;
  padding: 32px;
  background: linear-gradient(135deg, rgba(62,123,250,.06), rgba(143,180,255,.02));
  border: 1px solid rgba(143,180,255,.18);
  border-radius: 20px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  align-items: center;
}
.ent-gauche h3 {
  font-family: Fraunces, serif;
  font-size: 1.5rem;
  font-weight: 500;
  margin: 12px 0 8px;
  color: var(--text);
}
.ent-gauche p {
  font-size: .9rem;
  color: var(--text-2);
  line-height: 1.6;
  margin: 0 0 18px;
}
.ent-prix {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.01em;
}
.ent-prix span {
  font-size: .82rem;
  font-weight: 400;
  color: var(--text-3);
  margin-left: 2px;
}
.ent-droite ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.ent-droite ul li {
  font-size: .88rem;
  color: var(--text-2);
  padding: 6px 0;
  position: relative;
  padding-left: 18px;
}
.ent-droite ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8FB4FF;
  opacity: .6;
}
@media (max-width: 700px) {
  .entreprise {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
}
