/* ============================================================
   AGENCE PIXEL — Design System v2 (feuille partagée)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;900&family=Sora:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --space:#14111E; --encre:#1F1A2C; --encre-2:#272036; --ice:#F3EEFB; --mist:#9A93AE;
  --line:rgba(233,222,250,.14); --glass:rgba(255,255,255,.06); --glassb:rgba(233,222,250,.18);
  --lav:#E9DEFA; --yel:#FBFCDB; --on-accent:#14111E;
  --success:#7FE3B0; --warning:#F4CE6A; --error:#FF8A9B; --info:#AEB8FF;
  --f-display:'Unbounded',sans-serif; --f-body:'Sora',sans-serif; --f-mono:'JetBrains Mono',monospace;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --r1:6px; --r2:10px; --r3:14px; --r4:18px; --r5:24px; --rpill:999px;
  --sh1:0 4px 16px rgba(0,0,0,.30); --sh2:0 14px 40px rgba(0,0,0,.45); --glow:0 0 40px rgba(233,222,250,.40);
  --ease:cubic-bezier(.2,.8,.2,1); --d1:150ms; --d2:250ms; --d3:400ms;
  --container:1120px; --gutter:24px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--space);color:var(--ice);font-family:var(--f-body);line-height:1.65;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden;}

body::before{content:"";position:fixed;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(40% 35% at 12% 8%,rgba(233,222,250,.18),transparent 70%),
    radial-gradient(45% 40% at 92% 14%,rgba(251,252,219,.14),transparent 70%),
    radial-gradient(50% 45% at 70% 98%,rgba(233,222,250,.12),transparent 70%);
  filter:blur(50px);animation:drift 22s var(--ease) infinite alternate;}
@keyframes drift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* utilitaires */
.ub{font-family:var(--f-display);} .mono{font-family:var(--f-mono);}
.iris{background:linear-gradient(110deg,var(--lav),#FCFBF2 50%,var(--yel));-webkit-background-clip:text;background-clip:text;color:transparent;}
.glasscard{background:var(--glass);border:1px solid var(--glassb);border-radius:var(--r4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.mistc{color:var(--mist);}
.wrap{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.sechead{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lav);margin-bottom:10px;display:inline-block;}
.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.center{text-align:center;}

/* badges */
.badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:var(--rpill);border:1px solid var(--glassb);background:var(--glass);color:var(--ice);display:inline-flex;align-items:center;gap:6px;}
.badge-rare{background:rgba(251,252,219,.12);border-color:rgba(251,252,219,.4);color:var(--yel);}
.badge-free{background:rgba(127,227,176,.12);border-color:rgba(127,227,176,.4);color:var(--success);}
.badge-success{background:rgba(127,227,176,.12);border-color:rgba(127,227,176,.4);color:var(--success);}
.badge-warning{background:rgba(244,206,106,.12);border-color:rgba(244,206,106,.4);color:var(--warning);}
.badge-info{background:rgba(174,184,255,.12);border-color:rgba(174,184,255,.4);color:var(--info);}

/* alertes */
.alert{display:flex;gap:12px;padding:15px 18px;border-radius:var(--r3);border:1px solid;align-items:flex-start;margin-bottom:12px;}
.alert svg{flex:none;margin-top:2px;}
.alert .at{font-weight:600;font-size:14px;} .alert .ad{font-size:13px;color:var(--mist);}
.alert-success{background:rgba(127,227,176,.08);border-color:rgba(127,227,176,.32);} .alert-success svg{color:var(--success);}
.alert-info{background:rgba(174,184,255,.08);border-color:rgba(174,184,255,.32);} .alert-info svg{color:var(--info);}
.alert-warning{background:rgba(244,206,106,.08);border-color:rgba(244,206,106,.32);} .alert-warning svg{color:var(--warning);}

/* boutons */
.btn{font-family:var(--f-body);font-weight:600;font-size:15px;border:1px solid transparent;border-radius:var(--r2);padding:12px 22px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all var(--d2) var(--ease);text-decoration:none;}
.btn:focus-visible{outline:2px solid var(--lav);outline-offset:2px;}
.btn-primary{background:linear-gradient(110deg,var(--lav),var(--yel));color:var(--on-accent);box-shadow:0 6px 24px rgba(233,222,250,.22);}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-secondary{background:var(--glass);border-color:var(--glassb);color:var(--ice);backdrop-filter:blur(12px);}
.btn-secondary:hover{background:rgba(255,255,255,.10);}
.btn-ghost{background:transparent;color:var(--lav);} .btn-ghost:hover{background:rgba(233,222,250,.08);}
.btn[disabled]{opacity:.38;cursor:not-allowed;transform:none;filter:none;}
.btn-sm{padding:8px 16px;font-size:13px;} .btn-lg{padding:15px 30px;font-size:16px;}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

/* marque / voxel */
.vox{width:.6em;height:.6em;border-radius:9px;background:linear-gradient(140deg,var(--lav),var(--yel));box-shadow:0 0 26px rgba(233,222,250,.5);display:inline-block;}
.logo-word{font-family:var(--f-display);font-weight:900;letter-spacing:-.02em;}

/* NAV */
.topbar{position:sticky;top:16px;z-index:50;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--glassb);border-radius:var(--rpill);background:rgba(31,26,44,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.nav .brand{display:flex;align-items:center;gap:8px;text-decoration:none;}
.nav .links{display:flex;align-items:center;gap:26px;}
.nav .links a{display:inline-flex;align-items:center;gap:5px;line-height:1;color:var(--mist);text-decoration:none;font-size:14px;transition:color var(--d1);}
.nav .links a .icon{width:13px;height:13px;}
.nav .links a:hover,.nav .links a.active{color:var(--ice);}
.burger{display:none;background:none;border:0;color:var(--ice);cursor:pointer;}
.mobilemenu{display:none;flex-direction:column;gap:6px;margin-top:10px;padding:16px;border:1px solid var(--glassb);border-radius:var(--r4);background:rgba(31,26,44,.85);backdrop-filter:blur(16px);}
.mobilemenu a{color:var(--ice);text-decoration:none;padding:8px 6px;font-size:15px;}
.mobilemenu.open{display:flex;}
@media(max-width:860px){.nav .links{display:none;}.burger{display:inline-flex;}.nav .btn{display:none;}}

/* PAGE HERO (pages internes) */
.pagehero{padding:70px 0 30px;position:relative;z-index:1;}
.crumb{font-family:var(--f-mono);font-size:12px;color:var(--mist);margin-bottom:14px;}
.crumb a{color:var(--lav);text-decoration:none;} .crumb a:hover{text-decoration:underline;}
.pagehero h1{font-family:var(--f-display);font-weight:700;font-size:clamp(34px,5.5vw,60px);line-height:1;letter-spacing:-.02em;}
.pagehero .lead{color:var(--mist);max-width:620px;margin-top:18px;font-size:clamp(15px,2vw,18px);}

/* HERO accueil */
.hero{padding:90px 0 30px;text-align:center;position:relative;z-index:1;}
.hero .kick{font-family:var(--f-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--lav);}
.hero h1{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,8vw,84px);line-height:.94;letter-spacing:-.025em;margin:18px 0;}
.hero p.sub{color:var(--mist);max-width:580px;margin:0 auto 28px;font-size:clamp(15px,2vw,18px);}
.floatvox{width:18px;height:18px;border-radius:6px;background:linear-gradient(140deg,var(--lav),var(--yel));box-shadow:var(--glow);display:inline-block;vertical-align:middle;margin-left:.15em;animation:float 4s var(--ease) infinite alternate;}
@keyframes float{from{transform:translateY(0) rotate(0)}to{transform:translateY(-10px) rotate(8deg)}}
.reassure{font-family:var(--f-mono);font-size:12px;color:var(--mist);margin-top:16px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.reassure b{color:var(--success);}
.metrics{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin-top:56px;}
.metrics .m .n{font-family:var(--f-display);font-weight:700;font-size:34px;}
.metrics .m .l{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-top:4px;}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);animation:reveal var(--d3) var(--ease) forwards;}
@keyframes reveal{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.28s}.d4{animation-delay:.42s}.d5{animation-delay:.56s}.d6{animation-delay:.7s}

/* ticker */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0;margin-top:26px;position:relative;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.ticker .track{display:flex;gap:48px;width:max-content;animation:scroll 28s linear infinite;}
.ticker span{font-family:var(--f-display);font-weight:500;font-size:20px;color:var(--mist);white-space:nowrap;display:flex;align-items:center;gap:48px;}
.ticker span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--lav);box-shadow:0 0 12px var(--lav);}
@keyframes scroll{to{transform:translateX(-50%)}}

/* sections */
section.blk{padding:80px 0;position:relative;z-index:1;}
h2.title{font-family:var(--f-display);font-weight:500;font-size:clamp(28px,4vw,46px);letter-spacing:-.015em;}
h3.sub{font-family:var(--f-display);font-weight:500;font-size:20px;margin:32px 0 14px;}
.lead{color:var(--mist);max-width:620px;margin-top:14px;}

/* maquette gratuite */
.freeblk{border-radius:var(--r5);padding:48px 40px;background:linear-gradient(120deg,rgba(127,227,176,.10),rgba(233,222,250,.08));border:1px solid var(--glassb);}
.freeblk .top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.freeblk h2{font-family:var(--f-display);font-weight:500;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.015em;}
.mqsteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:34px;}
.mqstep{background:rgba(20,17,30,.4);border:1px solid var(--line);border-radius:var(--r3);padding:22px;}
.mqstep .s{font-family:var(--f-mono);font-size:12px;color:var(--lav);}
.mqstep h4{font-family:var(--f-display);font-weight:500;font-size:18px;margin:10px 0 6px;}
.mqstep p{color:var(--mist);font-size:13px;}

/* valeurs */
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:44px;}
.value{padding:26px;transition:transform var(--d2) var(--ease),border-color var(--d2);}
.value:hover{transform:translateY(-4px);border-color:var(--lav);}
.value .num{font-family:var(--f-mono);font-size:12px;color:var(--lav);}
.value h4{font-family:var(--f-display);font-weight:500;font-size:19px;margin:14px 0 8px;}
.value p{color:var(--mist);font-size:14px;}

/* services */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:44px;}
.service{padding:28px;display:flex;flex-direction:column;transition:transform var(--d2) var(--ease),border-color var(--d2);text-decoration:none;color:inherit;position:relative;}
.service:hover{transform:translateY(-4px);border-color:var(--lav);}
.service .ico{width:48px;height:48px;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;background:rgba(233,222,250,.12);color:var(--lav);margin-bottom:18px;}
.service h4{font-family:var(--f-display);font-weight:500;font-size:19px;margin-bottom:8px;}
.service p{color:var(--mist);font-size:14px;flex:1;}
.service .go{margin-top:18px;color:var(--lav);font-size:13px;font-family:var(--f-mono);display:flex;align-items:center;gap:6px;}
.service .tag{position:absolute;top:18px;right:18px;}

/* GEO feature */
.feat{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;border-radius:var(--r5);padding:46px;border:1px solid transparent;background:linear-gradient(var(--encre),var(--encre)) padding-box,linear-gradient(120deg,var(--lav),var(--yel)) border-box;}
.feat h3{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,3vw,34px);margin:14px 0;letter-spacing:-.01em;}
.feat p{color:var(--mist);font-size:15px;}
.feat ul{list-style:none;margin-top:18px;}
.feat li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;}
.feat li svg{color:var(--yel);flex:none;margin-top:3px;}
.geo-visual{background:var(--space);border:1px solid var(--line);border-radius:var(--r4);padding:24px;font-family:var(--f-mono);font-size:13px;}
.geo-visual .q{color:var(--mist);margin-bottom:14px;}
.geo-visual .a{color:var(--ice);line-height:1.7;}
.geo-visual .hl{color:var(--on-accent);background:linear-gradient(110deg,var(--lav),var(--yel));padding:1px 6px;border-radius:4px;font-weight:700;}
.geo-visual .cur{display:inline-block;width:8px;height:15px;background:var(--lav);vertical-align:middle;animation:blink 1s steps(2) infinite;}
@keyframes blink{50%{opacity:0}}
@media(max-width:760px){.feat{grid-template-columns:1fr;padding:32px;}}

/* portfolio */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px;}
.filter{font-family:var(--f-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:8px 16px;border-radius:var(--rpill);border:1px solid var(--glassb);background:var(--glass);color:var(--mist);cursor:pointer;transition:all var(--d2);}
.filter.active,.filter:hover{color:var(--on-accent);background:linear-gradient(110deg,var(--lav),var(--yel));border-color:transparent;}
.portfolio{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:26px;}
.proj{border-radius:var(--r4);overflow:hidden;border:1px solid var(--glassb);background:var(--encre);transition:transform var(--d2) var(--ease);text-decoration:none;color:inherit;display:block;}
.proj:hover{transform:translateY(-5px);}
.proj .thumb{aspect-ratio:16/10;position:relative;overflow:hidden;}
.proj .thumb b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;font-size:26px;color:rgba(20,17,30,.55);}
.proj .meta{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.proj .meta .nm{font-family:var(--f-display);font-weight:500;font-size:17px;}
.proj .meta .ty{font-family:var(--f-mono);font-size:11px;color:var(--mist);text-transform:uppercase;letter-spacing:.08em;}
.proj.hide{display:none;}

/* process */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin-top:44px;border:1px solid var(--line);border-radius:var(--r4);overflow:hidden;}
.step{padding:28px 24px;border-right:1px solid var(--line);}
.step:last-child{border-right:none;}
.step .s{font-family:var(--f-mono);font-size:11px;color:var(--lav);}
.step h4{font-family:var(--f-display);font-weight:500;font-size:18px;margin:10px 0 6px;}
.step p{color:var(--mist);font-size:13px;}
@media(max-width:760px){.step{border-right:none;border-bottom:1px solid var(--line);}.step:last-child{border-bottom:none;}}

/* timeline verticale (process page) */
.timeline{margin-top:40px;border-left:2px solid var(--line);padding-left:28px;display:flex;flex-direction:column;gap:34px;}
.tline{position:relative;}
.tline::before{content:"";position:absolute;left:-37px;top:2px;width:14px;height:14px;border-radius:50%;background:linear-gradient(140deg,var(--lav),var(--yel));box-shadow:0 0 14px rgba(233,222,250,.5);}
.tline .s{font-family:var(--f-mono);font-size:11px;color:var(--lav);}
.tline h4{font-family:var(--f-display);font-weight:500;font-size:20px;margin:6px 0 8px;}
.tline p{color:var(--mist);font-size:14px;max-width:620px;}

/* témoignages */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:44px;}
.quote{padding:28px;}
.quote .stars{color:var(--yel);font-size:14px;letter-spacing:2px;}
.quote blockquote{font-size:16px;margin:14px 0 18px;line-height:1.6;}
.quote .who{display:flex;align-items:center;gap:12px;}
.quote .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(140deg,var(--lav),var(--yel));flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;color:var(--on-accent);font-size:15px;}
.quote .who .nm{font-weight:600;font-size:14px;} .quote .who .rl{font-size:12px;color:var(--mist);}

/* CTA */
.cta{border-radius:var(--r5);padding:56px 44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,rgba(233,222,250,.16),rgba(251,252,219,.1));border:1px solid var(--glassb);}
.cta h3{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,3.4vw,38px);line-height:1.1;}
.cta p{color:var(--mist);margin-top:8px;font-size:14px;}

/* formulaires */
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;}
.field input,.field textarea,.field select{width:100%;background:var(--encre);border:1px solid var(--glassb);color:var(--ice);border-radius:var(--r2);padding:12px 14px;font-family:var(--f-body);font-size:15px;transition:border-color var(--d2),box-shadow var(--d2);}
.field input::placeholder,.field textarea::placeholder{color:var(--mist);}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--lav);box-shadow:0 0 0 3px rgba(233,222,250,.18);}
.field .help{font-size:12px;color:var(--mist);margin-top:6px;}
.field.error input{border-color:var(--error);} .field.error .help{color:var(--error);}
.check{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:9px;cursor:pointer;}
.check input{accent-color:var(--lav);width:17px;height:17px;}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
@media(max-width:640px){.formgrid{grid-template-columns:1fr;}}
.optiongrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;}
.optcard{border:1px solid var(--glassb);border-radius:var(--r2);padding:14px;cursor:pointer;font-size:14px;transition:all var(--d2);background:var(--glass);}
.optcard:hover{border-color:var(--lav);}
.optcard.sel{background:linear-gradient(110deg,rgba(233,222,250,.18),rgba(251,252,219,.12));border-color:var(--lav);}

/* table */
table.dt{width:100%;border-collapse:collapse;font-size:14px;margin-top:24px;}
table.dt th{text-align:left;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);padding:12px 14px;border-bottom:1px solid var(--glassb);}
table.dt td{padding:13px 14px;border-bottom:1px solid var(--line);color:var(--ice);}
table.dt tr:hover td{background:rgba(233,222,250,.04);}
table.dt td.r,table.dt th.r{text-align:right;font-family:var(--f-mono);}

/* pricing */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:44px;}
.price{padding:30px;}
.price.featured{border:1px solid transparent;background:linear-gradient(var(--encre),var(--encre)) padding-box,linear-gradient(120deg,var(--lav),var(--yel)) border-box;box-shadow:var(--glow);}
.price .amt{font-family:var(--f-display);font-weight:700;font-size:38px;margin:12px 0;}
.price .amt small{font-family:var(--f-mono);font-size:13px;color:var(--mist);font-weight:400;}
.price .desc{color:var(--mist);font-size:14px;margin:6px 0 4px;}
.price ul{list-style:none;margin:18px 0;}
.price li{font-size:14px;color:var(--mist);padding:7px 0;display:flex;gap:8px;}
.price li svg{color:var(--success);flex:none;margin-top:3px;}

/* faq */
.faq{max-width:780px;}
.faq details{border-bottom:1px solid var(--line);padding:18px 0;}
.faq summary{cursor:pointer;font-family:var(--f-display);font-weight:500;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--lav);font-size:20px;flex:none;}
.faq details[open] summary::after{content:"–";}
.faq p{color:var(--mist);font-size:14px;margin-top:12px;}

/* équipe */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:44px;}
.member{padding:24px;text-align:center;}
.member .pic{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(140deg,var(--lav),var(--yel));display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;color:var(--on-accent);font-size:24px;}
.member h4{font-family:var(--f-display);font-weight:500;font-size:17px;}
.member .role{font-family:var(--f-mono);font-size:12px;color:var(--lav);margin-top:4px;}
.member p{color:var(--mist);font-size:13px;margin-top:10px;}

/* blog */
.bloggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:30px;}
.post{border-radius:var(--r4);overflow:hidden;border:1px solid var(--glassb);background:var(--encre);text-decoration:none;color:inherit;transition:transform var(--d2) var(--ease);display:block;}
.post:hover{transform:translateY(-5px);}
.post .ph{aspect-ratio:16/9;display:flex;align-items:flex-end;padding:16px;}
.post .body{padding:20px;}
.post .tagm{font-family:var(--f-mono);font-size:11px;color:var(--lav);text-transform:uppercase;letter-spacing:.08em;}
.post h4{font-family:var(--f-display);font-weight:500;font-size:18px;margin:8px 0;}
.post p{color:var(--mist);font-size:13px;}

/* prose (article) */
.prose{max-width:720px;margin:0 auto;}
.prose p{color:#d9d2e8;font-size:17px;margin:20px 0;line-height:1.75;}
.prose h2{font-family:var(--f-display);font-weight:500;font-size:28px;margin:42px 0 12px;letter-spacing:-.01em;}
.prose h3{font-family:var(--f-display);font-weight:500;font-size:21px;margin:30px 0 10px;}
.prose ul{list-style:none;padding-left:0;color:#d9d2e8;margin:16px 0;}
.prose ul li{position:relative;padding-left:22px;margin:8px 0;}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:2px;background:linear-gradient(140deg,var(--lav),var(--yel));}
.prose blockquote{border-left:3px solid var(--lav);padding:6px 0 6px 20px;margin:26px 0;font-size:19px;color:var(--ice);font-style:italic;}
.prose a{color:var(--lav);}
.prose code{font-family:var(--f-mono);background:var(--encre);padding:2px 8px;border-radius:4px;color:var(--lav);font-size:.9em;}
.prose .figph{aspect-ratio:16/8;border-radius:var(--r3);margin:30px 0;background:linear-gradient(135deg,var(--lav),var(--yel));}

/* étude de cas */
.casehero .ph{aspect-ratio:16/7;border-radius:var(--r4);margin-top:30px;background:linear-gradient(135deg,#E9DEFA,#FBFCDB);position:relative;z-index:1;}
.caseband{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:30px;}
.caseband .b{padding:20px;text-align:center;}
.caseband .b .n{font-family:var(--f-display);font-weight:700;font-size:30px;}
.caseband .b .l{font-family:var(--f-mono);font-size:11px;color:var(--mist);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;}

/* 404 */
.big404{font-family:var(--f-display);font-weight:900;font-size:clamp(90px,22vw,220px);line-height:.85;letter-spacing:-.04em;}

/* footer */
footer{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:30px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:30px;padding:56px 0 30px;}
.footer-grid h5{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);margin-bottom:14px;}
.footer-grid a{display:block;color:var(--mist);text-decoration:none;font-size:14px;padding:5px 0;transition:color var(--d1);}
.footer-grid a:hover{color:var(--ice);}
.footer-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 0;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:12px;color:var(--mist);}
.footer-bot a{color:var(--mist);text-decoration:none;}
.footer-bot a:hover{color:var(--ice);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}.metrics{gap:28px;}.freeblk,.cta{padding:32px 24px;}}

/* dropdown nav */
.nav .links .dropdown{position:relative;}
.nav .links .dropdown .menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(6px);min-width:248px;background:rgba(31,26,44,.94);border:1px solid var(--glassb);border-radius:var(--r4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:8px;box-shadow:var(--sh2);opacity:0;visibility:hidden;transition:all var(--d2) var(--ease);z-index:60;}
.nav .links .dropdown .menu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.nav .links .dropdown:hover .menu,.nav .links .dropdown:focus-within .menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav .links .dropdown .menu a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r2);color:var(--ice);font-size:14px;}
.nav .links .dropdown .menu a:hover{background:rgba(233,222,250,.10);color:var(--ice);}
.nav .links .dropdown .menu a .d{font-family:var(--f-mono);font-size:11px;color:var(--mist);}
.navactions{display:flex;align-items:center;gap:10px;}
@media(max-width:860px){.navactions .btn{display:none;}}

/* helpers pages internes */
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:26px;}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px;}
.minicard{padding:24px;}
.minicard .ico{width:44px;height:44px;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;background:rgba(233,222,250,.12);color:var(--lav);margin-bottom:14px;}
.minicard h3{font-family:var(--f-display);font-weight:500;font-size:20px;margin-bottom:10px;}
.minicard h4{font-family:var(--f-display);font-weight:500;font-size:16px;margin-bottom:8px;line-height:1.3;}
.minicard p{color:var(--mist);font-size:14px;}
.checklist{list-style:none;}
.checklist li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;}
.checklist li:last-child{border-bottom:none;}
.checklist li svg{color:var(--success);flex:none;margin-top:3px;width:18px;height:18px;}
.checklist .s{color:var(--mist);font-size:13px;}
.service .price{font-family:var(--f-display);font-weight:700;font-size:20px;margin-top:16px;}
.service .price span{font-family:var(--f-mono);font-size:11px;color:var(--mist);margin-left:5px;}

/* helpers (lot 2) */
.tline .want{color:var(--lav);font-size:13px;margin-top:8px;}
.contactcard{padding:18px 20px;display:flex;align-items:center;gap:16px;}
.contactcard .ic{width:46px;height:46px;border-radius:var(--r2);flex:none;display:flex;align-items:center;justify-content:center;background:rgba(233,222,250,.12);color:var(--lav);}
.contactcard h4{font-family:var(--f-display);font-weight:500;font-size:15px;margin-bottom:3px;}
.tlink{color:var(--lav);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--d1);}
.tlink:hover{border-color:var(--lav);}
.featured-post{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;margin-bottom:26px;}
.featured-post .ph{min-height:240px;display:flex;align-items:flex-end;padding:20px;}
.featured-post .body{padding:34px;display:flex;flex-direction:column;justify-content:center;}
.featured-post .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--f-mono);font-size:11px;color:var(--mist);margin-bottom:12px;}
.featured-post h3{font-family:var(--f-display);font-weight:500;font-size:26px;line-height:1.2;}
.featured-post p{color:var(--mist);font-size:15px;margin:14px 0;}
@media(max-width:700px){.featured-post{grid-template-columns:1fr;}}
.glitch-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-width:300px;margin:8px auto 0;}
.glitch-grid span{aspect-ratio:1;background:var(--glass);border:1px solid var(--line);border-radius:3px;}
.glitch-grid span:nth-child(3n){background:rgba(233,222,250,.18);}
.glitch-grid span:nth-child(7n){background:rgba(251,252,219,.14);}
.medallion{width:96px;height:96px;border-radius:var(--r4);background:linear-gradient(140deg,var(--lav),var(--yel));display:flex;align-items:center;justify-content:center;box-shadow:var(--glow);margin:0 auto;animation:float 3s var(--ease) infinite alternate;}
.simplecard{padding:24px;text-decoration:none;color:inherit;display:block;transition:transform var(--d2) var(--ease),border-color var(--d2);}
.simplecard:hover{transform:translateY(-4px);border-color:var(--lav);}
.simplecard .ico{width:44px;height:44px;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;background:rgba(233,222,250,.12);color:var(--lav);margin-bottom:14px;}
.simplecard h3{font-family:var(--f-display);font-weight:500;font-size:18px;margin-bottom:6px;}
.simplecard p{color:var(--mist);font-size:14px;}
