/* Formatyon — une section de Sophys, mêmes tokens et polices locales. */
.formatyon-masthead{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:23px;padding-bottom:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.formatyon-wordmark{font:400 39px/1.1 var(--serif);letter-spacing:-.045em;display:inline-flex;align-items:baseline;min-height:44px}
.formatyon-wordmark>span{color:var(--accent)}
.formatyon-masthead nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 26px}
.formatyon-masthead nav a{display:flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted);border-bottom:1px solid transparent;transition:color 180ms,border-color 180ms}
.formatyon-masthead nav a:hover,.formatyon-masthead nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.formatyon-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:86px;align-items:start;padding-top:68px;padding-bottom:86px}
.formatyon-hero-copy{padding-top:20px}
.formatyon-hero h1{font-size:clamp(54px,6vw,84px);margin-bottom:29px}
.formatyon-hero .eyebrow,.formatyon-page-intro>.eyebrow,.formatyon-detail-label .eyebrow{color:var(--accent)}
.formatyon-hero .hero-description{max-width:480px}
.formatyon-hero .quiet-link{font-size:14px;gap:9px}
.formatyon-signature{font-size:12px;color:var(--muted);line-height:1.65;margin-top:33px}
.formatyon-signature a{text-decoration:underline;text-underline-offset:4px}
.formatyon-status{display:inline-flex;align-items:center;justify-content:center;background:var(--tint);color:var(--accent);padding:5px 9px;border-radius:3px;font:500 11px/1.4 var(--sans);white-space:nowrap}
.formatyon-featured{background:var(--white);border:1px solid var(--line)}
.formatyon-featured-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 26px;border-bottom:1px solid var(--line)}
.formatyon-featured-top>span:first-child{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.formatyon-featured-body{padding:30px 30px 29px}
.formatyon-featured-body>.eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:18px}
.formatyon-featured h2{font-size:35px;line-height:1.13;letter-spacing:-.025em;max-width:23ch}
.formatyon-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}
.formatyon-featured dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0 28px;padding-top:20px;border-top:1px solid var(--line)}
.formatyon-featured dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.formatyon-featured dd{font-size:14px;line-height:1.5;margin:0}
.formatyon-featured-body>.text-link{font-size:13px}
.formatyon-featured-foot{background:var(--tint);padding:16px 30px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted);max-width:none}
.formatyon-offer{display:grid;grid-template-columns:160px minmax(0,1fr) 48px;gap:36px;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}
.formatyon-offer-label{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding-top:4px}
.formatyon-offer-label>span:first-child{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.formatyon-offer-copy h3{font:400 35px/1.14 var(--serif);letter-spacing:-.02em;max-width:31ch}
.formatyon-offer-copy h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.formatyon-offer-copy>p:not(.formatyon-note){font-size:14px;color:var(--muted);margin-top:14px}
.formatyon-row-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--accent);transition:color 180ms,background 180ms,border-color 180ms}
.formatyon-row-link:hover{color:var(--white);background:var(--accent);border-color:var(--accent)}
.formatyon-catalogue-foot{margin-top:21px}
.formatyon-context{background:var(--tint)}
.formatyon-context .split-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.formatyon-context .split-section>div:last-child>p{font-size:17px;color:var(--muted);margin:6px 0 27px}
.formatyon-editorial-links{display:grid;grid-template-columns:1fr 1fr;gap:85px}
.formatyon-editorial-links>a{padding-bottom:30px;border-bottom:1px solid var(--line)}
.formatyon-editorial-links h2{font-size:46px;margin-bottom:23px}
.formatyon-editorial-links>a>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:39ch;margin-bottom:25px}
.formatyon-editorial-links>a:hover .text-link{color:var(--ink)}
.formatyon-closing h2{font-size:clamp(39px,4.6vw,62px)}
.formatyon-page-intro{padding-top:64px;padding-bottom:61px}
.formatyon-page-intro h1{font-size:clamp(48px,5.4vw,76px);margin-bottom:27px;max-width:23ch}
.formatyon-page-intro .hero-description{max-width:650px}
.formatyon-catalogue{padding-top:38px}
.formatyon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.formatyon-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.formatyon-search-field{flex:1;min-width:230px}
.formatyon-search label{display:block;font-size:13px;margin-bottom:9px;font-weight:500}
.formatyon-search input{width:100%;min-height:52px;padding:12px 15px;background:var(--white);border:1px solid var(--field-line);border-radius:var(--radius);color:var(--ink);font-size:16px}
.formatyon-search input::placeholder{color:var(--muted)}
.formatyon-reset{min-height:52px;border:0;background:transparent;font-size:14px;padding:12px 16px;text-decoration:underline;text-underline-offset:4px}
.formatyon-result-count{font-size:13px;color:var(--muted);margin:29px 0 20px}
.formatyon-empty-search{padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.formatyon-empty-search h2{font-size:36px;margin-bottom:17px}
.formatyon-empty-search p{font-size:16px;color:var(--muted);margin-bottom:22px}
.formatyon-empty-state{padding-top:48px;padding-bottom:80px}
.formatyon-empty-label{display:inline-flex;font-size:12px;line-height:1.5;border:1px solid var(--line);padding:7px 12px;border-radius:3px;color:var(--muted);margin-bottom:25px}
.formatyon-empty-state h2{max-width:24ch;font-size:clamp(37px,3.9vw,52px);margin-bottom:25px}
.formatyon-empty-state>p:not(.formatyon-empty-label){font-size:17px;color:var(--muted);max-width:60ch}
.formatyon-empty-state .hero-actions{margin-top:28px}
.formatyon-detail-hero{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.85fr);gap:82px;align-items:start;padding-top:44px;padding-bottom:74px}
.formatyon-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;font-size:12px;color:var(--muted);margin-bottom:39px}
.formatyon-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:4px}
.formatyon-detail-label{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:23px}
.formatyon-detail-label>.eyebrow{margin:0;font-size:11px}
.formatyon-detail-hero h1{font-size:clamp(44px,4.5vw,65px);line-height:1.08;margin-bottom:29px;letter-spacing:-.033em}
.formatyon-detail-hero>.hero-description{max-width:47ch}
.formatyon-detail-hero .formatyon-note{margin-top:19px}
.formatyon-session-panel{background:var(--white);border:1px solid var(--line);padding:31px 30px;margin-top:36px}
.formatyon-session-panel h2{font-size:34px;line-height:1.1;margin-bottom:24px}
.formatyon-session-panel dl{margin:0;border-top:1px solid var(--line)}
.formatyon-session-panel dl>div{padding:14px 0;border-bottom:1px solid var(--line)}
.formatyon-session-panel dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.formatyon-session-panel dd{font-size:15px;line-height:1.5;margin:0}
.formatyon-session-panel>.button{width:100%;margin-top:22px;font-size:13px;gap:14px}
.formatyon-detail-body>h3{font-size:21px;font-weight:500;margin-bottom:15px}
.formatyon-detail-body>p{font-size:16px;color:var(--muted)}
.formatyon-detail-body>p+h3{margin-top:33px}

@media(max-width:1100px){
  .formatyon-hero{gap:43px}.formatyon-hero h1{font-size:66px}
  .formatyon-masthead nav{gap:8px 18px}.formatyon-masthead nav a{font-size:12px}
  .formatyon-detail-hero{gap:45px}.formatyon-featured-body{padding:27px 25px}.formatyon-featured h2{font-size:32px}
}
@media(max-width:900px){
  .formatyon-masthead{align-items:flex-start;flex-direction:column;gap:9px;padding-top:18px;padding-bottom:12px}
  .formatyon-wordmark{font-size:34px}.formatyon-masthead nav{gap:4px 23px}
  .formatyon-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;padding-top:40px;padding-bottom:58px}
  .formatyon-hero-copy{padding-top:12px}.formatyon-hero h1{font-size:54px}.formatyon-hero .hero-actions{gap:17px}
  .formatyon-featured-top{padding:17px 21px;align-items:flex-start;flex-direction:column;gap:9px}
  .formatyon-featured-body{padding:24px 21px}.formatyon-featured h2{font-size:29px}
  .formatyon-featured-foot{padding:14px 21px}.formatyon-featured dl{grid-template-columns:1fr;gap:13px}
  .formatyon-offer{grid-template-columns:125px minmax(0,1fr) 48px;gap:22px}.formatyon-offer-copy h3{font-size:30px}
  .formatyon-editorial-links{gap:36px}.formatyon-editorial-links h2{font-size:38px}
  .formatyon-detail-hero{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .formatyon-detail-hero h1{font-size:48px}.formatyon-session-panel{padding:25px 21px}
  .formatyon-session-panel h2{font-size:31px}.formatyon-session-panel>.button{font-size:12px;padding:13px}
}
@media(max-width:640px){
  .formatyon-masthead nav{gap:2px 17px;width:100%}.formatyon-masthead nav a{font-size:12px;min-height:44px}
  .formatyon-hero{grid-template-columns:1fr;gap:38px;padding-top:36px;padding-bottom:56px}
  .formatyon-hero-copy{padding-top:0}.formatyon-hero h1{font-size:clamp(47px,12vw,65px);margin-bottom:24px}
  .formatyon-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:9px;margin-top:27px}
  .formatyon-signature{margin-top:23px}.formatyon-featured{max-width:440px;width:100%}
  .formatyon-featured-top{flex-direction:row;align-items:center;flex-wrap:wrap;padding:17px 21px}
  .formatyon-featured h2{font-size:32px}.formatyon-featured-body{padding:24px}
  .formatyon-featured dl{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.formatyon-featured-foot{padding:15px 24px}
  .formatyon-offer{grid-template-columns:minmax(0,1fr) 48px;gap:18px;padding:25px 0}
  .formatyon-offer-label{grid-column:1/-1;flex-direction:row;align-items:center;gap:13px;padding:0}
  .formatyon-offer-copy{grid-column:1}.formatyon-offer-copy h3{font-size:30px}
  .formatyon-offer-copy>p:not(.formatyon-note){font-size:13px}.formatyon-offer-copy .formatyon-note{font-size:12px}
  .formatyon-row-link{grid-column:2;align-self:start}.formatyon-catalogue-foot{font-size:12px}
  .formatyon-context .split-section{grid-template-columns:1fr;gap:25px}.formatyon-context .split-section>div:last-child>p{font-size:16px;margin-top:0}
  .formatyon-editorial-links{grid-template-columns:1fr;gap:36px}.formatyon-editorial-links h2{font-size:39px}
  .formatyon-closing h2{font-size:44px}.formatyon-page-intro{padding-top:37px;padding-bottom:43px}
  .formatyon-page-intro h1{font-size:clamp(43px,10.5vw,61px);margin-bottom:24px}
  .formatyon-search{gap:12px}.formatyon-search-field{flex-basis:100%;min-width:0}.formatyon-search .button{min-height:48px}
  .formatyon-search input{min-height:52px}.formatyon-reset{min-height:48px}
  .formatyon-result-count{margin-top:25px}.formatyon-catalogue{padding-top:28px}
  .formatyon-empty-state{padding-top:36px;padding-bottom:56px}.formatyon-empty-state h2{font-size:38px}
  .formatyon-empty-state>p:not(.formatyon-empty-label){font-size:16px}
  .formatyon-empty-state .hero-actions{flex-direction:column;align-items:flex-start;gap:15px}
  .formatyon-empty-search h2{font-size:33px}
  .formatyon-detail-hero{grid-template-columns:1fr;gap:30px;padding-top:26px;padding-bottom:54px}
  .formatyon-detail-hero h1{font-size:clamp(41px,10.5vw,58px);margin-bottom:24px}
  .formatyon-breadcrumb{font-size:11px;margin-bottom:28px}.formatyon-breadcrumb a{min-height:44px}
  .formatyon-detail-label{gap:12px;margin-bottom:22px}.formatyon-detail-label>.eyebrow{font-size:10px}
  .formatyon-session-panel{margin-top:0;padding:26px;max-width:440px;width:100%}
  .formatyon-session-panel>.button{font-size:13px;min-height:52px;padding:13px 16px}
}
@media(prefers-reduced-motion:reduce){.formatyon-row-link,.formatyon-masthead nav a{transition:none}}
@media print{.formatyon-masthead,.formatyon-search{display:none}.formatyon-hero,.formatyon-detail-hero{display:block;padding:30px 20px}.formatyon-featured,.formatyon-session-panel{break-inside:avoid;margin-top:25px}.formatyon-featured-foot{background:none}}
