/* ============================================================
   SILVER SCREEN — design system
   Port fidele de app/globals.css (rendu de reference).
   Le bloc ci-dessous reproduit le preflight Tailwind dont
   depend la maquette : sans lui, les h3, les listes et les
   marges par defaut du navigateur cassent les espacements.
   ============================================================ */
*,::before,::after{box-sizing:border-box;border:0 solid}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,figure,p,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
ol,ul,menu{list-style:none;margin:0;padding:0}
img,svg,video,canvas,iframe{display:block;vertical-align:middle;max-width:100%}
button,input,optgroup,select,textarea{font:inherit;color:inherit;background:transparent;border-radius:0;margin:0;padding:0}
button,[type=button],[type=submit]{appearance:button;cursor:pointer}
textarea{resize:vertical}
summary{display:list-item;cursor:pointer}
::placeholder{opacity:1;color:#999}
:where(a){text-decoration:none}

:root { --ink:#090909; --paper:#f2efe9; --white:#fff; --red:#be0806; --muted:#aaa8a2; --font-geist-sans:'Geist'; --font-geist-mono:'Geist Mono'; --line:rgba(255,255,255,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--white); font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
::selection { background:var(--red); color:white; }
.shell { width:min(1240px, calc(100% - 48px)); margin-inline:auto; }
.site-header { position:relative; z-index:20; border-bottom:1px solid var(--line); background:rgba(9,9,9,.9); backdrop-filter:blur(16px); }
.nav-wrap { height:90px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.wordmark { width:max-content; display:flex; flex-direction:column; font-family:Impact,Anton, "Arial Black", sans-serif; font-size:23px; line-height:.78; letter-spacing:.03em; }
.wordmark span:last-child { position:relative; }.wordmark i { position:absolute; width:6px; height:6px; background:var(--red); border-radius:50%; top:-2px; left:10px; }
.site-header nav { display:flex; gap:34px; font-size:13px; text-transform:uppercase; letter-spacing:.11em; }
.site-header nav a,.footer-nav a { transition:color .2s; }.site-header nav a:hover,.footer-nav a:hover { color:var(--red); }
.nav-actions { justify-self:end; display:flex; align-items:center; gap:24px; }.nav-cta { border-bottom:1px solid var(--red); padding:8px 0; text-transform:uppercase; letter-spacing:.1em; font-size:12px; }
.language-switch { display:flex; gap:6px; align-items:center; font:10px var(--font-geist-mono),monospace; letter-spacing:.12em; color:#696969; }.language-switch a { padding:8px 2px; transition:color .2s; }.language-switch a:hover,.language-switch a.active { color:white; }.language-switch a.active { border-bottom:1px solid var(--red); }
.arrow { display:inline-block; margin-left:8px; transition:transform .2s; }.button:hover .arrow,.nav-cta:hover .arrow,.text-link:hover .arrow { transform:translate(3px,-3px); }
.hero { min-height:calc(100vh - 90px); padding:46px 0 0; display:flex; flex-direction:column; }
.eyebrow,.kicker { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.17em; font:600 11px var(--font-geist-mono), monospace; }
.eyebrow span { width:34px; height:1px; background:var(--red); }.kicker.red { color:var(--red); }
.hero-grid { flex:1; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; gap:80px; padding:52px 0; }
h1,h2 { margin:0; font-family:Impact,Anton, "Arial Black", sans-serif; text-transform:uppercase; font-weight:900; letter-spacing:-.03em; line-height:.88; }
h1 { font-size:clamp(72px,10vw,148px); } h1 em,h2 em { color:var(--red); font-style:normal; }
.hero-copy { max-width:650px; color:#c4c2bd; font-size:18px; line-height:1.65; margin:35px 0 0; }
.button-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:35px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:0 24px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.09em; font-size:12px; transition:all .2s; }
.button-primary { background:var(--red); }.button-primary:hover { background:#df0a07; }.button-ghost { border-color:#444; }.button-ghost:hover { border-color:white; }
.hero-reel { min-height:510px; position:relative; overflow:hidden; border:1px solid #333; background:radial-gradient(circle at 50% 45%,#430301 0,#160101 31%,#090909 65%); }
.hero-reel:before,.hero-reel:after { content:""; position:absolute; inset:-20%; border:1px solid rgba(190,8,6,.22); transform:rotate(42deg); }.hero-reel:after { transform:rotate(-42deg); }
.frame-corner { position:absolute; width:42px; height:42px; border-color:white; opacity:.7; z-index:2; }.frame-corner-a { left:24px; top:24px; border-left:1px solid; border-top:1px solid; }.frame-corner-b { right:24px; bottom:24px; border-right:1px solid; border-bottom:1px solid; }
.reel-orbit { position:absolute; inset:50% auto auto 50%; width:190px; height:190px; border:1px solid rgba(255,255,255,.2); border-radius:50%; transform:translate(-50%,-50%); display:grid; place-items:center; animation:orbit 14s linear infinite; }
.reel-orbit:before { content:""; position:absolute; width:8px; height:8px; background:var(--red); border-radius:50%; left:-4px; top:50%; box-shadow:190px 0 0 white; }.reel-orbit span { font:72px Impact,Anton,sans-serif; letter-spacing:-.08em; transform:skew(-5deg); }
@keyframes orbit { to { transform:translate(-50%,-50%) rotate(360deg); } }
.reel-meta { position:absolute; left:24px; top:24px; right:24px; display:flex; justify-content:space-between; font:10px var(--font-geist-mono),monospace; letter-spacing:.12em; }.reel-meta span { color:var(--red); }
.reel-timeline { position:absolute; left:24px; right:24px; bottom:30px; display:grid; grid-template-columns:1.5fr .6fr 1fr .35fr .8fr; gap:3px; }.reel-timeline i { height:3px; background:#3b3b3b; }.reel-timeline i:first-child,.reel-timeline i:nth-child(4) { background:var(--red); }
.hero-strip { border-top:1px solid var(--line); min-height:64px; display:flex; align-items:center; justify-content:space-between; font:11px var(--font-geist-mono),monospace; letter-spacing:.15em; }.hero-strip b { color:var(--red); }
.section { padding:130px 0; }.light-section,.process-section { background:var(--paper); color:var(--ink); }.dark-section { background:#0e0e0e; }
.section-heading { margin-bottom:70px; }.split-heading,.work-heading { display:grid; grid-template-columns:1fr .45fr; align-items:end; gap:60px; }
.section-heading h2 { font-size:clamp(55px,7vw,100px); margin-top:20px; }.section-heading p { color:#65635f; font-size:16px; line-height:1.75; margin:0; max-width:500px; }.work-heading p { color:#999; }
.service-row { display:grid; grid-template-columns:70px 1fr 1fr 42px; gap:30px; align-items:center; min-height:150px; border-top:1px solid #cbc7c0; }.service-row:last-child { border-bottom:1px solid #cbc7c0; }
.service-row>span { color:var(--red); font:11px var(--font-geist-mono),monospace; }.service-row h3 { font-size:32px; margin:0; }.service-row p { color:#65635f; line-height:1.6; }.service-row>a { width:40px; height:40px; border:1px solid #aaa; border-radius:50%; display:grid; place-items:center; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.project-card { border:1px solid #292929; background:#141414; }.project-card-wide { grid-column:1/-1; }.project-visual { min-height:380px; position:relative; overflow:hidden; display:grid; place-items:center; }.project-card-wide .project-visual { min-height:530px; }
.project-red .project-visual { background:linear-gradient(135deg,#150000,#be0806); }.project-black .project-visual { background:repeating-linear-gradient(90deg,#060606 0 3px,#0d0d0d 3px 7px); }.project-cream .project-visual { background:#ded8ce; color:#090909; }
.play-mark { width:112px; height:112px; border:1px solid rgba(255,255,255,.7); border-radius:50%; display:grid; place-items:center; padding-left:6px; font-size:22px; }.project-sequence { position:absolute; left:20px; bottom:20px; font:10px var(--font-geist-mono),monospace; }
.vertical-visual span { font:900 110px Impact,Anton,sans-serif; -webkit-text-stroke:1px #777; color:transparent; transform:rotate(-90deg); }.motion-visual { display:flex; }.motion-visual i { font:140px Impact,Anton,sans-serif; font-style:normal; margin-left:-23px; }.motion-visual i:nth-child(2) { color:var(--red); }.motion-visual i:nth-child(3) { opacity:.22; }
.project-caption { display:flex; justify-content:space-between; align-items:end; padding:25px; }.project-caption span { color:var(--red); font:10px var(--font-geist-mono),monospace; letter-spacing:.12em; }.project-caption h3 { margin:8px 0 0; font-size:26px; }.project-caption p { color:#8e8e8e; font-size:12px; }
.center-action { text-align:center; margin-top:50px; }.text-link { display:inline-block; text-transform:uppercase; letter-spacing:.12em; font-size:12px; border-bottom:1px solid var(--red); padding-bottom:8px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; }.process-grid article>span { color:var(--red); font:11px var(--font-geist-mono),monospace; }.process-line { height:1px; background:#bdb9b2; margin:22px 0 35px; position:relative; }.process-line:before { content:""; position:absolute; width:7px; height:7px; background:var(--red); border-radius:50%; top:-3px; left:0; }.process-grid h3 { font-size:25px; }.process-grid p { color:#65635f; line-height:1.6; font-size:14px; }
.audience-section { background:#111; }.audience-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:center; }.audience-card { min-height:430px; background:var(--red); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; }.audience-card:before { content:""; position:absolute; width:320px; height:320px; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.audience-card:after { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.audience-card strong { font:76px Impact,Anton,sans-serif; z-index:1; }.audience-card p { z-index:1; text-transform:uppercase; letter-spacing:.15em; font-size:10px; }.audience-copy h2 { font-size:clamp(52px,6vw,86px); margin:22px 0 30px; }.audience-copy>p { color:#aaa; line-height:1.75; max-width:620px; }.audience-copy ul { list-style:none; padding:0; display:flex; gap:10px; margin-top:35px; }.audience-copy li { border:1px solid #444; padding:10px 16px; text-transform:uppercase; font-size:10px; letter-spacing:.12em; }
.final-cta { background:var(--red); padding:120px 0; }.final-cta h2 { font-size:clamp(65px,9vw,128px); margin:25px 0 40px; }.final-cta h2 em { color:var(--ink); }.button-light { background:white; color:var(--ink); }.button-light:hover { background:var(--ink); color:white; }
.site-footer { background:#080808; padding:75px 0 25px; }.footer-top { display:grid; grid-template-columns:.6fr 1fr .6fr; gap:50px; padding-bottom:70px; }.footer-top p { color:#969696; max-width:360px; line-height:1.65; margin:0; }.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:15px; text-transform:uppercase; letter-spacing:.1em; font-size:11px; }.footer-bottom { border-top:1px solid #252525; padding-top:24px; display:flex; justify-content:space-between; color:#666; text-transform:uppercase; font:9px var(--font-geist-mono),monospace; letter-spacing:.1em; }.footer-bottom div { display:flex; gap:18px; }
.page-hero { padding:120px 0 110px; background:radial-gradient(circle at 85% 10%,#3b0302 0,transparent 30%),#090909; border-bottom:1px solid #252525; }.page-hero h1 { font-size:clamp(72px,10vw,135px); margin:28px 0 35px; }.page-hero p { color:#aaa; font-size:18px; line-height:1.7; max-width:680px; }.compact-cta { padding:95px 0; }.compact-cta h2 { font-size:clamp(60px,8vw,105px); }
.content-section { background:var(--paper); color:var(--ink); padding:110px 0; }.content-section.dark-content { background:#0f0f0f; color:white; }.two-col { display:grid; grid-template-columns:.65fr 1.35fr; gap:100px; }.side-label { color:var(--red); font:11px var(--font-geist-mono),monospace; text-transform:uppercase; letter-spacing:.14em; }.content-title { font:52px/1 Impact,Anton,sans-serif; text-transform:uppercase; margin:0 0 28px; }.prose { color:#5f5c57; line-height:1.8; }.dark-content .prose { color:#a6a6a6; }
.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.package { border:1px solid #ccc7c0; padding:36px; display:flex; flex-direction:column; }.package.featured { background:var(--ink); color:white; border-color:var(--ink); transform:translateY(-14px); }.package-tag { color:var(--red); font:10px var(--font-geist-mono),monospace; letter-spacing:.13em; }.package h2 { font-size:44px; margin:24px 0 15px; }.package>p { color:#696661; line-height:1.65; min-height:80px; }.featured>p { color:#a7a7a7; }.package ul { list-style:none; padding:20px 0; border-top:1px solid #ccc7c0; }.package li { margin:14px 0; font-size:14px; }.package li:before { content:"+"; color:var(--red); margin-right:10px; }.package .button { margin-top:auto; }
.faq { border-top:1px solid #c7c2bb; }.faq details { border-bottom:1px solid #c7c2bb; padding:22px 0; }.faq summary { cursor:pointer; font-weight:650; }.faq details p { color:#65635f; line-height:1.65; max-width:800px; }
.work-list { display:grid; gap:80px; }.work-item { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:center; }.work-item:nth-child(even) .work-art { order:2; }.work-art { min-height:460px; background:#151515; position:relative; overflow:hidden; display:grid; place-items:center; color:white; }.work-art.red { background:linear-gradient(135deg,#210000,#be0806); }.work-art.light { background:#dcd7ce; color:#090909; }.work-art strong { font:100px Impact,Anton,sans-serif; }.work-copy h2 { font-size:50px; margin:18px 0 20px; }.work-copy p { color:#65635f; line-height:1.7; }.work-copy ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; }.work-copy li { border:1px solid #bbb6ae; padding:8px 12px; font:9px var(--font-geist-mono),monospace; text-transform:uppercase; }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.team-card { min-height:370px; border:1px solid #ccc8c1; padding:35px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(135deg,#e9e5dd,#d6d0c6); position:relative; overflow:hidden; }.team-card:before { content:attr(data-initial); position:absolute; font:260px Impact,Anton,sans-serif; color:rgba(190,8,6,.08); right:-10px; top:-30px; }.team-card span { color:var(--red); font:10px var(--font-geist-mono),monospace; }.team-card h3 { font-size:30px; margin:10px 0; }.team-card p { color:#65635f; max-width:440px; line-height:1.6; }
.contact-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; }.contact-aside h2 { font-size:54px; margin:20px 0; }.contact-aside p { color:#68655f; line-height:1.7; }.contact-note { margin-top:35px; border-left:2px solid var(--red); padding-left:18px; font-size:13px; }.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.field { display:flex; flex-direction:column; gap:8px; }.field.full { grid-column:1/-1; }.field label { text-transform:uppercase; letter-spacing:.1em; font-size:10px; }.field input,.field textarea,.field select { border:0; border-bottom:1px solid #aaa59e; background:transparent; padding:14px 0; border-radius:0; color:var(--ink); outline:none; }.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--red); }.field textarea { min-height:110px; resize:vertical; }.form-status { grid-column:1/-1; background:#e1ddd5; padding:15px; font-size:12px; line-height:1.5; }.legal { max-width:800px; }.legal h2 { font:34px Impact,Anton,sans-serif; text-transform:uppercase; margin-top:50px; }.legal p,.legal li { color:#5f5c57; line-height:1.8; }
@media (max-width:900px) { .site-header nav { display:none; }.nav-wrap { grid-template-columns:1fr 1fr; }.hero-grid,.split-heading,.work-heading,.audience-grid,.two-col,.contact-layout { grid-template-columns:1fr; }.hero-reel { min-height:400px; }.service-row { grid-template-columns:40px 1fr 40px; padding:25px 0; }.service-row p { grid-column:2/3; }.service-row>a { grid-column:3; grid-row:1; }.process-grid,.package-grid { grid-template-columns:1fr 1fr; }.package.featured { transform:none; }.work-item { grid-template-columns:1fr; }.work-item:nth-child(even) .work-art { order:0; }.footer-top { grid-template-columns:1fr 1fr; }.footer-top p { grid-column:1/-1; }.contact-layout { gap:50px; } }
@media (max-width:620px) { .shell { width:min(100% - 28px,1240px); }.nav-wrap { height:72px; }.nav-actions { gap:12px; }.nav-cta { font-size:9px; }.hero { min-height:auto; padding-top:30px; }.hero-grid { padding:45px 0; gap:45px; } h1 { font-size:58px; }.hero-copy { font-size:16px; }.hero-strip { overflow:hidden; gap:35px; justify-content:flex-start; }.section { padding:85px 0; }.section-heading { margin-bottom:45px; }.section-heading h2 { font-size:48px; }.service-row { gap:12px; }.service-row h3 { font-size:23px; }.project-grid,.process-grid,.package-grid,.team-grid { grid-template-columns:1fr; }.project-card-wide { grid-column:auto; }.project-visual,.project-card-wide .project-visual,.work-art { min-height:340px; }.project-caption { align-items:start; gap:15px; flex-direction:column; }.audience-grid { gap:45px; }.audience-card { min-height:320px; }.audience-card strong { font-size:58px; }.audience-copy h2 { font-size:47px; }.audience-copy ul { flex-wrap:wrap; }.final-cta { padding:80px 0; }.final-cta h2 { font-size:55px; }.footer-top,.footer-bottom { display:flex; flex-direction:column; }.footer-bottom { gap:18px; }.page-hero { padding:80px 0; }.page-hero h1 { font-size:58px; }.content-section { padding:80px 0; }.package { padding:28px; }.work-list { gap:65px; }.work-copy h2 { font-size:41px; }.contact-form { grid-template-columns:1fr; }.field.full { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reel-orbit { animation:none; } }

/* ============================================================
   AJOUTS — memes tokens, meme grammaire visuelle que la maquette
   ============================================================ */

/* --- techniques, sans effet visuel --- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--red);color:#fff;padding:12px 18px}
.skip-link:focus{left:12px;top:12px}
.wordmark span{display:block}
.hero-strip span,.hero-strip b{white-space:nowrap}
.project-card{display:block}
.service-row>a{color:inherit}
.form-status{color:var(--ink)}
.form-error{color:var(--red)}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* --- navigation mobile --- */
.nav-toggle{display:none;width:44px;height:44px;place-items:center;justify-self:end;background:none;border:0;padding:0}
.nav-toggle span{display:block;width:22px;height:1px;background:#fff;transition:transform .22s,opacity .22s}
.nav-toggle span+span{margin-top:6px}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --- tarifs affiches dans les offres --- */
.package-price{display:flex;align-items:baseline;gap:9px;margin:-4px 0 16px}
.package-price strong{font:46px Impact,Anton,"Arial Black",sans-serif;font-weight:400;letter-spacing:-.02em;color:var(--red);line-height:1}
.package-price span{font:10px var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;color:#8d8a85}
.package-scope{display:block;font:10px var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;color:#8d8a85;margin-bottom:20px}
.featured .package-price span,.featured .package-scope{color:#8f8f8f}
.plans-note{margin-top:45px;text-align:center;font:11px var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;color:#65635f}
.dark-section .plans-note,.audience-section .plans-note{color:#8d8d8d}

/* --- grille "savoir-faire" (3 colonnes a filet rouge) --- */
.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,46px)}
.craft-grid article>span{color:var(--red);font:11px var(--font-geist-mono),monospace;letter-spacing:.14em}
.craft-rule{height:1px;background:rgba(255,255,255,.18);margin:20px 0 30px;position:relative}
.craft-rule:before{content:"";position:absolute;width:7px;height:7px;background:var(--red);border-radius:50%;top:-3px;left:0}
.craft-grid h3{font-size:25px;margin-bottom:14px}
.craft-grid p{color:#a2a2a2;line-height:1.7;font-size:14px}
.light-section .craft-rule,.content-section:not(.dark-content) .craft-rule{background:#bdb9b2}
.light-section .craft-grid p,.content-section:not(.dark-content) .craft-grid p{color:#65635f}

/* --- "inclus dans toutes les offres" --- */
.included-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 46px}
.included-list li{position:relative;padding-left:26px;line-height:1.6;color:#65635f}
.included-list li:before{content:"+";position:absolute;left:0;top:0;color:var(--red)}
.dark-content .included-list li{color:#a6a6a6}

/* --- options a la carte --- */
.addon-row{display:grid;grid-template-columns:1fr auto;gap:0 30px;align-items:baseline;padding:28px 0;border-top:1px solid #cbc7c0}
.addon-row:last-child{border-bottom:1px solid #cbc7c0}
.addon-row h3{font-size:24px}
.addon-price{font:30px Impact,Anton,"Arial Black",sans-serif;font-weight:400;color:var(--red);letter-spacing:-.01em;white-space:nowrap}
.addon-row p{grid-column:1/-1;color:#65635f;line-height:1.6;max-width:74ch;margin-top:10px}

/* --- detail des etudes de cas --- */
.work-detail{display:grid;gap:20px;margin:26px 0 28px}
.work-detail div{border-left:2px solid var(--red);padding-left:18px}
.work-detail dt{font:10px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:7px}
.work-detail dd{margin:0;color:#65635f;line-height:1.7}

/* --- bandeau d'avertissement (page Etudes de cas) --- */
.notice{border-left:2px solid var(--red);padding:4px 0 4px 18px;margin-top:34px;font-size:13px;line-height:1.7;color:#aaa}

/* --- Proof Sprint : offre d'entree, traitement distinct des abonnements --- */
.sprint{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start;border:1px solid rgba(255,255,255,.16);border-top:3px solid var(--red);padding:clamp(28px,4vw,54px);background:#131313}
.sprint h2{font-size:clamp(38px,4.4vw,58px)}
.sprint-tagline{color:var(--red);font:11px var(--font-geist-mono),monospace;letter-spacing:.14em;text-transform:uppercase;margin-top:16px}
.sprint-price{display:flex;align-items:baseline;gap:10px;margin-top:22px}
.sprint-price strong{font:64px Impact,Anton,"Arial Black",sans-serif;font-weight:400;letter-spacing:-.02em;color:#fff;line-height:1}
.sprint-price span{font:10px var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;color:#8d8d8d}
.sprint p{color:#a6a6a6;line-height:1.75}
.sprint ul{display:grid;gap:13px;margin:0 0 26px}
.sprint li{position:relative;padding-left:26px;line-height:1.6;color:#d2d2d2}
.sprint li:before{content:"+";position:absolute;left:0;top:0;color:var(--red)}
.sprint-credit{border-left:2px solid var(--red);padding-left:18px;margin:26px 0 30px;font-size:13.5px;line-height:1.7;color:#a6a6a6}

/* --- definitions de perimetre --- */
.def-row{display:grid;grid-template-columns:.42fr 1.58fr;gap:16px 34px;padding:24px 0;border-top:1px solid #cbc7c0}
.def-row:last-of-type{border-bottom:1px solid #cbc7c0}
.def-row dt{font:11px var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.def-row dd{margin:0;color:#65635f;line-height:1.7}
.dark-content .def-row{border-top-color:rgba(255,255,255,.16)}
.dark-content .def-row:last-of-type{border-bottom-color:rgba(255,255,255,.16)}
.dark-content .def-row dd{color:#a6a6a6}
.rule-note{border-left:2px solid var(--red);padding-left:20px;margin-top:40px;max-width:74ch}
.rule-note strong{display:block;font:11px var(--font-geist-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.rule-note span{color:#65635f;line-height:1.7}
.dark-content .rule-note span{color:#a6a6a6}

/* --- ce que nous faisons / ne faisons pas --- */
.split-lists{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);margin:38px 0 34px}
.split-lists h3{font:11px var(--font-geist-mono),monospace;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
.split-lists .do h3{color:var(--red)}
.split-lists .dont h3{color:#9a968f}
.split-lists li{position:relative;padding-left:26px;line-height:1.6;margin-bottom:13px;color:#65635f}
.split-lists .do li:before{content:"+";position:absolute;left:0;top:0;color:var(--red)}
.split-lists .dont li{color:#9a968f}
.split-lists .dont li:before{content:"–";position:absolute;left:0;top:0;color:#9a968f}
.dark-content .split-lists li{color:#a6a6a6}
.dark-content .split-lists .dont li{color:#7e7e7e}
.closing-line{border-left:2px solid var(--red);padding-left:20px;line-height:1.75;max-width:78ch;color:#65635f}
.dark-content .closing-line{color:#a6a6a6}

/* --- encart "ce que nous ne promettons pas" --- */
.promise-note{border-left:2px solid var(--red);padding-left:20px;margin-top:38px;max-width:74ch}
.promise-note strong{display:block;font:11px var(--font-geist-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
.promise-note span{color:#65635f;line-height:1.75}
.dark-content .promise-note span{color:#a6a6a6}

/* --- variantes sombres des blocs clairs --- */
.dark-content .addon-row{border-top-color:rgba(255,255,255,.16)}
.dark-content .addon-row:last-child{border-bottom-color:rgba(255,255,255,.16)}
.dark-content .addon-row p{color:#a6a6a6}
.dark-content .faq{border-top-color:rgba(255,255,255,.16)}
.dark-content .faq details{border-bottom-color:rgba(255,255,255,.16)}
.dark-content .faq details p{color:#a6a6a6}

@media (max-width:900px){
  .nav-wrap{grid-template-columns:1fr auto auto}
  .nav-toggle{display:grid}
  .site-header nav{display:none;position:fixed;left:0;right:0;top:90px;background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 24px 30px;z-index:30}
  body.nav-open{overflow:hidden}
  body.nav-open .site-header nav{display:flex}
  .site-header nav a{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;letter-spacing:.14em}
  .craft-grid{grid-template-columns:1fr 1fr}
  .included-list{grid-template-columns:1fr}
  .sprint,.split-lists{grid-template-columns:1fr}
  .def-row{grid-template-columns:1fr;gap:8px}
}
@media (max-width:620px){
  .site-header nav{top:72px}
  .craft-grid{grid-template-columns:1fr;gap:34px}
  .addon-row{grid-template-columns:1fr;gap:6px}
  .package-price strong{font-size:40px}
}
