/* AGPhotos — site.css : tokens & composants partagés (Photo / Video / pages services) */
:root {
  --bg: oklch(0.985 0.004 80);
  --bg-alt: oklch(0.965 0.006 80);
  --ink: oklch(0.18 0.012 250);
  --ink-soft: oklch(0.32 0.012 250);
  --muted: oklch(0.52 0.008 250);
  --line: oklch(0.88 0.006 80);
  --line-strong: oklch(0.78 0.008 250);
  --navy: oklch(0.28 0.06 260);
  --navy-deep: oklch(0.18 0.05 260);
  --navy-soft: oklch(0.94 0.012 260);
  --dark: oklch(0.16 0.012 260);
  --gold: oklch(0.78 0.04 60);
  --serif: 'DM Serif Display', 'Times New Roman', serif;
  --sans: 'Inter Tight', system-ui, -apple-system, sans-serif;
  --container: 1320px;
  --gutter: clamp(20px, 4vw, 56px);
  --section-y: clamp(80px, 10vw, 140px);
  --radius-s: 4px;
  --radius-m: 8px;
  --radius-l: 14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

.eyebrow{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:-0.01em;line-height:1.05;margin:0;text-wrap:balance}
.h-display{font-size:clamp(44px,6.4vw,88px);line-height:1.02;letter-spacing:-0.02em}
.h-section{font-size:clamp(36px,4.8vw,64px);line-height:1.04}
.h-section em{font-style:italic;color:var(--navy)}
.h-card{font-size:clamp(24px,2.4vw,32px);line-height:1.1}
p{margin:0;text-wrap:pretty}
.lead{font-size:clamp(17px,1.4vw,19px);color:var(--ink-soft);line-height:1.5;max-width:60ch}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;font-family:var(--sans);font-size:15px;font-weight:500;border-radius:999px;border:1px solid transparent;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{background:var(--navy)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-secondary:hover{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.btn-accent{background:var(--navy);color:var(--bg);border-color:var(--navy)}
.btn-accent:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.btn-light{background:var(--bg);color:var(--ink)}
.btn-light:hover{background:transparent;color:var(--bg);border-color:var(--bg)}
.btn-outline-light{background:transparent;color:var(--bg);border-color:oklch(1 0 0 / 0.4)}
.btn-outline-light:hover{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.btn .arrow{transition:transform .3s ease}
.btn:hover .arrow{transform:translateX(4px)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:oklch(0.985 0.004 80 / 0.85);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s ease}
.site-header.scrolled{border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{font-family:var(--sans);font-size:19px;font-weight:700;letter-spacing:-0.01em;color:var(--ink)}
.brand span{color:var(--navy)}
.nav-links{display:flex;gap:36px;list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--ink-soft)}
.nav-links a{position:relative;transition:color .2s ease}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--ink);transition:width .3s ease}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:20px}
.lang-toggle{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px;font-size:12px;font-weight:500;letter-spacing:0.04em;color:var(--muted)}
.lang-toggle button{background:transparent;border:0;padding:4px 10px;border-radius:999px;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}
.lang-toggle button.active{background:var(--ink);color:var(--bg)}
.lang-toggle button.is-disabled{opacity:0.4;cursor:not-allowed}
.lang-toggle button.is-disabled:hover{background:transparent;color:var(--muted)}
.nav-book{padding:11px 20px;font-size:14px}
.menu-btn{display:none}

/* Hero générique */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,120px);overflow:hidden}
.hero-grid{display:grid;gap:clamp(40px,5vw,72px)}
.hero-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end}
.hero-meta{display:flex;flex-direction:column;gap:22px;padding-bottom:6px}
.hero-h1 .accent{font-style:italic;color:var(--navy)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-image{position:relative;aspect-ratio:16/9;border-radius:var(--radius-m);overflow:hidden;background:var(--bg-alt);box-shadow:0 24px 60px -32px oklch(0.18 0.012 250 / 0.35)}
.hero-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.hero-image image-slot{width:100%;height:100%;display:block}
.hero-caption{position:absolute;left:24px;bottom:22px;color:oklch(1 0 0 / 0.92);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;text-shadow:0 1px 8px oklch(0 0 0 / 0.5)}

/* Trust strip */
.trust{padding:clamp(56px,6vw,80px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.trust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.stat{display:flex;flex-direction:column;gap:8px;padding:0 clamp(0px,1vw,20px);border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat-num{font-family:var(--serif);font-size:clamp(40px,4.6vw,64px);line-height:1;color:var(--ink);letter-spacing:-0.02em}
.stat-label{font-size:14px;color:var(--muted);max-width:32ch}

/* Sections */
.section{padding:var(--section-y) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end;margin-bottom:clamp(48px,6vw,80px)}
.section-head .lead{padding-bottom:8px}

/* 4-card livrables horizontaux */
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat{padding:clamp(28px,3vw,40px) clamp(20px,2vw,28px);border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:14px;min-height:220px}
.feat:last-child{border-right:0}
.feat-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--navy)}
.feat-num{font-family:var(--serif);font-size:14px;color:var(--navy);letter-spacing:0.04em}
.feat h4{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink)}
.feat .feat-title{font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);line-height:1.2;color:var(--ink);margin-top:-6px}
.feat p{font-size:14.5px;color:var(--muted);line-height:1.55}

/* Timeline méthode (4 cards reliées) */
.timeline-wrap{position:relative}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.timeline::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 100%);transform-origin:left;animation:fillLine 1.6s ease forwards;z-index:1}
@keyframes fillLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.timeline .dot{position:absolute;top:-7px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--navy);z-index:2}
.timeline .dot.d1{left:calc(0% - 6px)}
.timeline .dot.d2{left:25%;transform:translateX(-50%)}
.timeline .dot.d3{left:50%;transform:translateX(-50%)}
.timeline .dot.d4{left:75%;transform:translateX(-50%)}
.timeline .dot.d5{right:-6px}
.phase{padding:clamp(28px,3vw,40px) clamp(18px,1.8vw,28px);border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:12px;min-height:240px}
.phase:last-child{border-right:0}
.phase-num{font-family:var(--serif);font-size:14px;color:var(--navy);letter-spacing:0.04em}
.phase h4{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink)}
.phase-title{font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.2;color:var(--ink)}
.phase p{font-size:14px;color:var(--muted);line-height:1.55}

/* Technique split */
.tech-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.tech-split p{font-size:clamp(15.5px,1.15vw,17px);color:var(--ink-soft);line-height:1.65}
.tech-split p + p{margin-top:14px}
.tech-duo{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tech-duo figure{margin:0;display:flex;flex-direction:column;gap:10px}
.tech-duo .frame{aspect-ratio:4/3;border-radius:var(--radius-m);overflow:hidden;background:var(--bg-alt);border:1px solid var(--line)}
.tech-duo .frame image-slot{width:100%;height:100%;display:block}
.tech-duo figcaption{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:500}

/* Packs grid */
.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}
.pack-card{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(28px,3vw,40px);gap:22px;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.pack-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.pack-card.featured{background:var(--dark);color:oklch(0.96 0.004 80);border-color:var(--dark)}
.pack-card.featured h3,.pack-card.featured .pack-price-big{color:oklch(0.98 0.004 80)}
.pack-card.featured .pack-tag{background:var(--gold);color:var(--dark)}
.pack-card.featured .pack-sub,.pack-card.featured .pack-delay{color:oklch(0.78 0.008 80)}
.pack-card.featured .pack-incl li{color:oklch(0.86 0.008 80);border-color:oklch(1 0 0 / 0.12)}
.pack-card.featured .pack-incl li::before{background:var(--gold)}
.pack-card.featured .btn-secondary{color:oklch(0.96 0.004 80);border-color:oklch(1 0 0 / 0.3)}
.pack-card.featured .btn-secondary:hover{background:oklch(0.96 0.004 80);color:var(--dark);border-color:oklch(0.96 0.004 80)}
.pack-tag{position:absolute;top:-12px;left:24px;background:var(--navy);color:var(--bg);font-size:10.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.pack-name{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy)}
.pack-card.featured .pack-name{color:var(--gold)}
.pack-price-big{font-family:var(--serif);font-size:clamp(34px,3.4vw,44px);line-height:1.1;letter-spacing:-0.01em}
.pack-price-big .from{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pack-card.featured .pack-price-big .from{color:oklch(0.7 0.008 80)}
.pack-sub{font-size:14.5px;color:var(--ink-soft);line-height:1.5}
.pack-incl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pack-incl li{font-size:14px;color:var(--ink-soft);padding:12px 0 12px 22px;border-top:1px solid var(--line);position:relative;line-height:1.4}
.pack-incl li:first-child{border-top:0;padding-top:0}
.pack-incl li:first-child::before{top:2px}
.pack-incl li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;background:var(--navy);transform:rotate(45deg)}
.pack-delay{font-size:13px;color:var(--muted)}
.pack-cta{margin-top:auto}
.packs-disclaimer{margin-top:24px;font-size:13px;color:var(--muted);font-style:italic;text-align:center}

/* Add-ons */
.addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.6vw,22px)}
.addon{display:flex;flex-direction:column;gap:10px;padding:clamp(24px,2.4vw,30px);background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-m);transition:transform .3s ease,border-color .3s ease}
.addon:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.addon h4{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy)}
.addon .addon-title{font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);line-height:1.2;color:var(--ink)}
.addon p{font-size:14px;color:var(--ink-soft);line-height:1.55}
.addon .addon-price{margin-top:auto;font-family:var(--serif);font-size:18px;color:var(--ink);padding-top:10px;border-top:1px solid var(--line)}

/* Portfolio bento (6 slots) */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(180px,auto);gap:clamp(14px,1.4vw,20px)}
.bento-item{position:relative;border-radius:var(--radius-m);overflow:hidden;background:var(--bg-alt);border:1px solid var(--line)}
.bento-item image-slot{width:100%;height:100%;display:block}
.bento-item .b-cap{position:absolute;left:14px;bottom:12px;background:oklch(1 0 0 / 0.92);backdrop-filter:blur(8px);color:var(--ink);font-size:10.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;z-index:2}
.bento-item.b1{grid-column:span 4;grid-row:span 2}
.bento-item.b2{grid-column:span 2}
.bento-item.b3{grid-column:span 2}
.bento-item.b4{grid-column:span 2;grid-row:span 2}
.bento-item.b5{grid-column:span 2}
.bento-item.b6{grid-column:span 2}
.bento-cta{margin-top:32px;text-align:center}

/* FAQ accordion */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:clamp(20px,2vw,28px) 0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(20px,1.7vw,24px);line-height:1.25;color:var(--ink);padding-right:40px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:0;top:50%;width:18px;height:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><path d='M9 2v14M2 9h14' stroke='%23202535' stroke-width='1.6' stroke-linecap='round'/></svg>") center/contain no-repeat;transform:translateY(-50%);transition:transform .3s ease}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details > p,.faq details > div{margin-top:14px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;max-width:74ch}

/* CTA final */
.cta-final{background:var(--dark);color:oklch(0.96 0.004 80);position:relative;overflow:hidden;padding:clamp(80px,9vw,140px) 0}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 80% 20%,oklch(0.32 0.06 260 / 0.35),transparent 60%),radial-gradient(600px 400px at 10% 90%,oklch(0.28 0.06 260 / 0.25),transparent 60%);pointer-events:none}
.cta-final .container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.cta-final h2{color:oklch(0.98 0.004 80);font-size:clamp(40px,4.4vw,64px)}
.cta-final h2 em{font-style:italic;color:var(--gold)}
.cta-final p{color:oklch(0.78 0.008 80);font-size:clamp(16px,1.2vw,18px);max-width:48ch;margin-top:18px;line-height:1.55}
.cta-final .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* Footer */
footer{background:var(--ink);color:oklch(0.78 0.008 80);padding:clamp(60px,7vw,100px) 0 36px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(32px,4vw,64px);padding-bottom:64px;border-bottom:1px solid oklch(1 0 0 / 0.1)}
.footer-brand{display:flex;flex-direction:column;gap:22px;max-width:360px}
.footer-brand .brand{color:oklch(0.98 0 0);font-size:24px}
.footer-brand .brand span{color:var(--gold)}
.footer-brand p{font-size:14px;line-height:1.6}
.footer-brand .email{color:oklch(0.96 0.004 80);font-size:15px;border-bottom:1px solid oklch(1 0 0 / 0.2);padding-bottom:4px;align-self:flex-start;transition:border-color .2s ease}
.footer-brand .email:hover{border-color:var(--gold)}
.footer-col h5{font-family:var(--sans);font-size:12px;font-weight:500;color:oklch(0.96 0.004 80);letter-spacing:0.16em;text-transform:uppercase;margin:0 0 18px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.footer-col a:hover{color:oklch(0.96 0.004 80)}
.footer-col a.ext{color:oklch(0.6 0.008 80)}
.footer-col a.ext:hover{color:oklch(0.96 0.004 80)}
.footer-col a .ext-arrow{display:inline-block;margin-left:3px;font-size:.85em;transition:transform .2s ease;color:var(--gold)}
.footer-col a:hover .ext-arrow{transform:translate(2px,-2px)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:28px;font-size:13px;color:oklch(0.62 0.008 80)}
.footer-bottom .socials{display:flex;gap:18px}
.footer-bottom .socials a:hover{color:oklch(0.96 0.004 80)}
.footer-bottom .signature{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:oklch(0.62 0.008 80)}
.footer-bottom .signature::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.08s}
.reveal.delay-2{transition-delay:.16s}
.reveal.delay-3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1100px){
  .feature-row,.addons-grid{grid-template-columns:repeat(2,1fr)}
  .feat{border-bottom:1px solid var(--line)}
  .feat:nth-child(2){border-right:0}
  .bento{grid-template-columns:repeat(4,1fr)}
  .bento-item.b1{grid-column:span 4;grid-row:span 1}
  .bento-item.b2,.bento-item.b3,.bento-item.b4,.bento-item.b5,.bento-item.b6{grid-column:span 2;grid-row:span 1}
}
@media (max-width:960px){
  .nav-links,.lang-toggle{display:none}
  .menu-btn{display:inline-flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-strong);color:var(--ink)}
  .nav{height:64px}
  .hero-row,.section-head,.tech-split{grid-template-columns:1fr}
  .feature-row,.timeline,.packs-grid,.addons-grid,.bento{grid-template-columns:1fr}
  .feat,.phase{border-right:0;border-bottom:1px solid var(--line)}
  .feat:last-child,.phase:last-child{border-bottom:0}
  .bento-item.b1,.bento-item.b2,.bento-item.b3,.bento-item.b4,.bento-item.b5,.bento-item.b6{grid-column:span 1;grid-row:span 1}
  .timeline::before,.timeline .dot{display:none}
  .trust-stats{grid-template-columns:1fr;gap:32px}
  .stat{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}
  .stat:first-child{border-top:0;padding-top:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-final .container{grid-template-columns:1fr}
  .cta-final .ctas{justify-content:flex-start}
}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr}}

/* Hero slideshow (fades through N images) */
.hero-slideshow{position:relative}
.hero-slideshow .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-slideshow .slide.is-active{opacity:1}

/* Photo page — Livrables list (rewritten block) */
.livrables-list{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:18px;max-width:78ch}
.livrables-list li{position:relative;padding-left:28px;font-size:clamp(15.5px,1.2vw,17px);line-height:1.6;color:var(--ink-soft)}
.livrables-list li::before{content:"\2014";position:absolute;left:0;top:0;color:var(--navy);font-weight:500}
.livrables-close{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.3;color:var(--ink);font-style:italic;margin:0 0 clamp(36px,4vw,56px);letter-spacing:-0.005em}

/* Photo page — 4-column pack grid with partner card */
.packs-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
@media (max-width:1100px){.packs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.packs-grid{grid-template-columns:1fr}}

/* Partner card distinct style (NOT featured/dark like Signature) */
.pack-card.partner{border-top:4px solid var(--navy);background:var(--bg)}
.pack-card.partner .pack-name{color:var(--navy)}
.pack-card.partner .pack-tag{background:var(--navy);color:var(--bg)}
.pack-card.partner .pack-price-big{color:var(--navy-deep);font-size:clamp(28px,2.8vw,36px)}

  /* === Round 2 — Partenariat agence section (sortie de packs-grid) === */
  .partenariat-section { padding: clamp(48px, 6vw, 96px) 0; background: var(--bg); }
  .partenariat-card {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(36px, 5vw, 64px);
    background: var(--bg-alt);
    border: 1px solid var(--line);
    border-top: 4px solid var(--navy);
    border-radius: var(--radius-l);
  }
  .partenariat-head {
    text-align: center;
    margin-bottom: clamp(28px, 3vw, 40px);
  }
  .partenariat-tag {
    display: inline-block;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 18px;
  }
  .partenariat-title {
    margin: 0 0 18px;
    font-size: clamp(28px, 3vw, 40px);
  }
  .partenariat-title em { font-style: italic; color: var(--navy); }
  .partenariat-intro {
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.6;
    color: var(--ink-soft);
    margin: 0 auto;
    max-width: 56ch;
  }
  .partenariat-body {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: clamp(32px, 4vw, 56px);
    align-items: center;
  }
  .partenariat-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .partenariat-list li {
    position: relative;
    padding-left: 24px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--ink-soft);
  }
  .partenariat-list li::before {
    content: "—";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--navy);
    font-weight: 500;
  }
  .partenariat-cta { white-space: nowrap; }
  @media (max-width: 720px) {
    .partenariat-body { grid-template-columns: 1fr; }
    .partenariat-cta { width: 100%; justify-content: center; }
  }

/* === Round 3 — Abonnement AG mention (photo/video pages) === */
.abo-mention {
  margin-top: clamp(32px, 4vw, 56px);
  padding: clamp(24px, 3vw, 40px);
  background: var(--bg-alt);
  border-left: 3px solid var(--navy);
  border-radius: var(--radius-m);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.abo-mention p {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
  max-width: 64ch;
}
.abo-mention strong {
  color: var(--ink);
  font-weight: 500;
}
.abo-mention .link-arrow {
  font-size: 14px;
  color: var(--navy);
  border-bottom: 1px solid var(--navy);
  padding-bottom: 2px;
  transition: gap .25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.abo-mention .link-arrow:hover { gap: 14px; }

.packs-tax-note{margin-top:8px;text-align:center;font-size:12px;font-style:italic;color:var(--muted)}
