/* Virgule public editorial surfaces — pass 1.
   Shared visual grammar for trust, pricing and recovery pages.
   No content/logic changes. */

body.tarifs-art-direction,
body.a-propos-art-direction,
body.page-404-art-direction{
  background:var(--ardoise);
  color:var(--craie);
}

/* TARIFS — value ledger */
body.tarifs-art-direction .page-hero{
  min-height:clamp(430px,55vw,620px);
  padding:clamp(120px,13vw,170px) clamp(20px,7vw,100px) 72px;
  display:grid;
  align-content:end;
  justify-items:start;
  text-align:start;
  background:var(--ardoise-2);
  border-bottom:1px solid var(--vgl-v3-line);
}
body.tarifs-art-direction .page-hero::after{
  content:'€ / 01';
  position:absolute;
  inset-inline-end:clamp(20px,7vw,100px);
  inset-block-end:45px;
  color:var(--craie-doree);
  opacity:.12;
  font:400 clamp(100px,15vw,220px)/.8 var(--font-head);
  letter-spacing:-.07em;
}
body.tarifs-art-direction .page-eyebrow,
body.tarifs-art-direction .page-title,
body.tarifs-art-direction .page-sub,
body.tarifs-art-direction .reassure{
  margin-inline:0;
  position:relative;
  z-index:1;
}
body.tarifs-art-direction .page-title{
  max-width:9ch;
  font-size:clamp(50px,7vw,88px);
  line-height:.92;
  letter-spacing:-.055em;
}
body.tarifs-art-direction .page-sub{
  max-width:520px;
  margin-top:20px;
}
body.tarifs-art-direction .reassure{
  margin-top:22px;
  border:0;
  border-inline-start:2px solid var(--craie-doree);
  border-radius:0;
  background:transparent;
  padding:7px 12px;
}
body.tarifs-art-direction .pricing-section{
  padding:0 clamp(16px,6vw,88px) 80px;
}
body.tarifs-art-direction .pricing-grid{
  max-width:1200px;
  gap:0;
  border-inline-start:1px solid var(--vgl-v3-line);
}
body.tarifs-art-direction .plan-card,
body.tarifs-art-direction .plan-card.featured{
  min-height:540px;
  padding:30px 26px 26px;
  border:0;
  border-inline-end:1px solid var(--vgl-v3-line);
  border-bottom:1px solid var(--vgl-v3-line);
  border-radius:0;
  background:transparent;
  transform:none;
}
body.tarifs-art-direction .plan-card.featured{
  border-top:2px solid var(--craie-doree);
}
body.tarifs-art-direction .plan-ribbon{
  position:static;
  align-self:flex-start;
  transform:none;
  border-radius:0;
  background:transparent;
  color:var(--craie-doree);
  padding:0;
  margin-bottom:24px;
  font-size:9px;
}
body.tarifs-art-direction .plan-badge{
  border-radius:0;
  background:transparent;
  padding:3px 7px;
}
body.tarifs-art-direction .plan-name{
  font-size:clamp(22px,2.5vw,30px);
}
body.tarifs-art-direction .plan-price{
  font-size:clamp(42px,4vw,58px);
}
body.tarifs-art-direction .plan-cta{
  border-radius:0;
}
body.tarifs-art-direction .faq-section{
  padding:0 clamp(16px,6vw,88px) 100px;
}
body.tarifs-art-direction .faq-wrap{
  max-width:760px;
  margin-inline-start:max(0px,calc((100vw - 1200px)/2));
}
body.tarifs-art-direction .faq-heading{
  text-align:start;
  font-size:clamp(30px,4vw,48px);
  letter-spacing:-.035em;
}
body.tarifs-art-direction .faq-list{gap:0;border-top:1px solid var(--vgl-v3-line)}
body.tarifs-art-direction .faq-item{
  border:0;
  border-bottom:1px solid var(--vgl-v3-line);
  border-radius:0;
  background:transparent;
}
body.tarifs-art-direction .faq-q{padding:20px 0}
body.tarifs-art-direction .faq-a{padding-inline:0}
body.tarifs-art-direction .faq-item.open .faq-a{padding-inline:0 40px}
body.tarifs-art-direction .faq-item.open .faq-icon{transform:none;color:var(--craie-doree)}

/* À PROPOS — manifesto / letter */
body.a-propos-art-direction .page-hero{
  min-height:clamp(420px,52vw,600px);
  display:flex;
  align-items:flex-end;
  padding:clamp(120px,13vw,170px) clamp(20px,7vw,100px) 72px;
  text-align:start;
  background:var(--ardoise-2);
  border-bottom:1px solid var(--vgl-v3-line);
}
body.a-propos-art-direction .page-title{
  max-width:10ch;
  font-size:clamp(56px,8vw,100px);
  line-height:.9;
  letter-spacing:-.06em;
}
body.a-propos-art-direction .page-eyebrow{color:var(--craie-doree)}
body.a-propos-art-direction .story-section{
  padding:0 clamp(18px,7vw,110px);
  background:var(--ardoise);
}
body.a-propos-art-direction .story-wrap{
  max-width:780px;
  margin-inline-start:max(0px,calc((100vw - 1180px)/2));
  padding-block:70px 90px;
}
body.a-propos-art-direction .story-wrap p{
  padding-block:24px;
  border-bottom:1px solid var(--vgl-v3-line);
  font-size:clamp(17px,1.7vw,21px);
  line-height:1.8;
}
body.a-propos-art-direction .story-wrap .lede{
  border-block:1px solid var(--craie-doree-border);
  border-bottom:1px solid var(--craie-doree-border);
  font-size:clamp(28px,4vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
}
body.a-propos-art-direction .contact-section{
  padding:80px clamp(18px,7vw,110px);
  background:var(--ardoise-2);
  border-top:1px solid var(--vgl-v3-line);
}
body.a-propos-art-direction .contact-wrap{
  max-width:1180px;
  margin:auto;
}
body.a-propos-art-direction .contact-heading{
  font-size:clamp(32px,5vw,58px);
  letter-spacing:-.04em;
}
body.a-propos-art-direction .contact-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-inline-start:1px solid var(--vgl-v3-line);
}
body.a-propos-art-direction .contact-card{
  min-height:150px;
  padding:22px;
  border:0;
  border-inline-end:1px solid var(--vgl-v3-line);
  border-block:1px solid var(--vgl-v3-line);
  border-radius:0;
  background:transparent;
}

/* 404 — recovery page as a quiet blank margin */
body.page-404-art-direction{
  min-height:100dvh;
}
body.page-404-art-direction .bg-formulas{
  opacity:.08;
}
body.page-404-art-direction .content{
  min-height:calc(100dvh - 72px);
  width:min(900px,calc(100% - 36px));
  margin:auto;
  padding:clamp(90px,13vw,150px) 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:start;
}
body.page-404-art-direction .comma-big{
  position:static;
  font-size:clamp(100px,18vw,220px);
  line-height:.5;
  color:var(--craie-doree);
  opacity:.12;
}
body.page-404-art-direction .error-title{
  margin-top:30px;
  font-size:clamp(52px,8vw,96px);
  line-height:.9;
  letter-spacing:-.06em;
}
body.page-404-art-direction .error-sub{
  max-width:560px;
  margin-top:22px;
  line-height:1.7;
}
body.page-404-art-direction .actions{
  margin-top:30px;
  display:flex;
  gap:10px;
}
body.page-404-art-direction .btn-home,
body.page-404-art-direction .btn-fil{
  border-radius:0;
}
body.page-404-art-direction .quick-links{
  width:100%;
  margin-top:60px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--vgl-v3-line);
}
body.page-404-art-direction .quick-link{
  min-height:72px;
  padding:18px 0;
  border-inline-end:1px solid var(--vgl-v3-line);
  border-radius:0;
  background:transparent;
}
@media(max-width:760px){
 body.tarifs-art-direction .pricing-grid{grid-template-columns:1fr}
 body.tarifs-art-direction .plan-card,
 body.tarifs-art-direction .plan-card.featured{min-height:0}
 body.a-propos-art-direction .story-wrap{padding-block:46px 64px}
 body.a-propos-art-direction .contact-grid{grid-template-columns:1fr}
 body.a-propos-art-direction .contact-card{min-height:110px}
 body.page-404-art-direction .actions{flex-direction:column;width:100%}
 body.page-404-art-direction .actions a{width:100%;text-align:center}
 body.page-404-art-direction .quick-links{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
 body.tarifs-art-direction .plan-card,
 body.a-propos-art-direction .contact-card,
 body.page-404-art-direction .quick-link{transition:none}
}