/* Finition commune : composition, lecture et contrôles. Archives non filtrées. */
body.fm-edition { --fm-bronze:#b69b70; }
body.fm-edition[data-terrae-type] { --tc-serif:"Newsreader","Terrae Times",Georgia,serif; --tc-sans:Optima,"Tenor Sans",sans-serif; }
body.fm-edition .fm-opening { position:relative; z-index:3; grid-column:2; grid-row:1; align-self:center; width:100%; max-width:none; margin:40px 0 0; }
body.fm-edition .fm-opening :is(.fm-photo,.fm-photo-pair) { position:relative; overflow:hidden; background:#122019; }
body.fm-edition .fm-opening img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; filter:none; transform:none; }
body.fm-edition .fm-opening figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 22px; margin:20px 0 0; padding-top:15px; border-top:1px solid #b69b7055; color:#d2c8b5; font:400 10px/1.7 var(--tc-sans); letter-spacing:.08em; }
body.fm-edition .fm-opening figcaption strong { font-weight:400; letter-spacing:.2em; text-transform:uppercase; }
body.fm-edition .fm-diptyque .fm-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; height:clamp(330px,38vw,540px); background:transparent; }
body.fm-edition .fm-diptyque img:first-child { object-position:34% center; margin-top:44px; height:calc(100% - 44px); }
body.fm-edition .fm-diptyque img:last-child { object-position:64% center; height:calc(100% - 44px); }
body.fm-edition .fm-fruit { max-width:370px; justify-self:end; }
body.fm-edition .fm-fruit .fm-photo { aspect-ratio:3/4; }
body.fm-edition .fm-fruit img { object-position:50% 59%; }
body.fm-edition .fm-paysage { grid-column:2; grid-row:2/5; }
body.fm-edition .fm-paysage .fm-photo { aspect-ratio:4/5; }
body.fm-edition .fm-paysage img { object-position:34% center; }
body.fm-edition.page-italia .fm-opening figcaption { color:#463d31; border-color:#7b604944; }
body.fm-edition:is(.page-les-terres,.page-italia,.page-notre-metier) .es-illumination { display:none; }
body.fm-edition:is(.page-les-terres,.page-italia,.page-notre-metier) .tc-scene > .tc-universe { opacity:.12 !important; }
body.fm-edition:is(.page-les-terres,.page-italia,.page-notre-metier) .tc-scene > .tc-cartography { opacity:.06 !important; }
body.fm-edition:is(.page-les-terres,.page-italia,.page-notre-metier) .tc-scene > .cv-relief { opacity:.08 !important; }
body.fm-edition.page-italia:not(#fm) .tc-scene { grid-template-rows:auto auto auto; column-gap:7%; }
body.fm-edition.page-italia:not(#fm) .tc-scene .te-hero-copy { display:block; grid-column:1; grid-row:2; align-self:center; }
body.fm-edition.page-italia:not(#fm) .tc-scene .te-hero-copy :is(h1,.tc-lead) { max-width:100%; }
body.fm-edition.page-italia:not(#fm) .tc-scene .te-hero-copy .tc-lead { margin-top:32px; max-width:34ch; }
body.fm-edition.page-italia:not(#fm) .tc-scene .fm-opening { grid-column:2; grid-row:2; margin-top:0; }
body.fm-edition.page-italia:not(#fm) .tc-scene .te-hero-index { grid-column:1; grid-row:3; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene { column-gap:5vw; grid-template-columns:minmax(0,.86fr) minmax(0,1fr); }
body.fm-edition.page-les-terres:not(#fm) .tc-scene .pe-copy { display:block; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene .te-hero-copy { display:block; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene h1 { max-width:100%; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene .tc-lead { max-width:34ch; margin-top:28px; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene .te-hero-index { margin-top:24px; }
body.fm-edition.page-les-terres:not(#fm) .tc-scene .pe-discover { margin-top:28px; }
body.fm-edition :is(.es-illumination,.sc-route-filet,.sc-lumiere-italia,.sc-lumiere-champagne) { opacity:.22; }

/* Dans les zones de lecture, le curseur retrouve une taille usuelle. La loupe des archives demeure. */
body.fm-edition.tc-ci-actif:not([data-tc-curseur="loupe"]) .tc-ci-bague { display:none; }
body.fm-edition.tc-ci-actif:not([data-tc-curseur="loupe"]) .tc-context-cursor { cursor:auto !important; }
body.fm-edition.tc-ci-actif:not([data-tc-curseur="loupe"]) :is(a,button,summary).tc-context-cursor { cursor:pointer !important; }
body.fm-edition .tc-ci-etiquette { display:none; }
body.fm-edition :is(.tc-paper,.iv-gallery) .sc-calque { opacity:.18; }
body.fm-edition .tc-header [data-tc-logo-active] { opacity:1; }

/* Les portraits documentaires sont projetés à leur échelle, sans étirement. */
body.fm-edition .trv .trv-major { max-width:340px; }
body.fm-edition .trv.trv-dark .trv-major { max-width:360px; }
body.fm-edition .trv .trv-minor { max-width:170px; }
body.fm-edition .trv .trv-frame { outline:1px solid #a48b633d; outline-offset:8px; }
body.fm-edition .trv .trv-control { letter-spacing:.09em; border-color:#d8c6a266; background:#07130fe8; }
body.fm-edition .trv .trv-body { line-height:1.8; }
body.fm-edition.page-notre-metier:not(#fm) #galerie-ivoire > .iv-stage { width:min(100%,420px); max-width:420px; margin-inline:auto; padding-right:0; }
body.fm-edition.page-notre-metier:not(#fm) #galerie-ivoire .iv-stage > .iv-picture { height:auto; aspect-ratio:3/4; }
body.fm-edition.page-notre-metier:not(#fm) #galerie-ivoire .iv-picture img { object-fit:cover; transform:none; }

/* Pages de service : même navigation, hiérarchie plus discrète. */
body.fm-edition.page-confidentialite .tc-header { position:sticky; top:0; z-index:100; background:#080e0c; }
body.fm-edition.page-confidentialite main > .tc-section:first-child { padding:clamp(65px,8vw,110px) clamp(24px,7vw,112px); }
body.fm-edition.page-confidentialite main > .tc-section:first-child .tc-grid { display:block; max-width:100%; }
body.fm-edition.page-confidentialite main > .tc-section:first-child .tc-hero { min-height:0; padding:0; max-width:860px; }
body.fm-edition.page-confidentialite #t-page { max-width:100%; font-size:clamp(44px,6.2vw,88px); line-height:1.04; letter-spacing:-.035em; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:balance; }
body.fm-edition.page-confidentialite .ed-lead { max-width:48ch; line-height:1.7; }
body.fm-edition.page-confidentialite main :is(.ed-copy,.ed-questions) { max-width:68ch; }
body.fm-edition.page-confidentialite .ed-principle { gap:24px 5vw; }

/* Le même nom et les mêmes services à la fin de l'accueil et des pages pratiques. */
body.fm-edition footer .ep-signature .ep-territoires { display:block; margin-top:22px; color:#c1b8a6; font:400 10px/1.8 var(--tc-sans); letter-spacing:.2em; text-transform:uppercase; }
body.fm-edition.ep-pages:not(#ep) footer.fm-home-footer { display:block; width:100%; max-width:none; margin:0; padding-top:90px; border-top:1px solid #b49d7340; background:#080e0c; }
body.fm-edition footer.fm-home-footer > :is(.ep-couronne,.ep-signature,.ed-footer-nav,.ep-services,.ed-footer-note) { width:100%; max-width:none; }
body.fm-edition.ep-pages:not(#ep) footer.ep-compact { padding-top:65px; padding-bottom:40px; }
body.fm-edition footer.ep-compact .ep-signature .ep-nom { font-size:clamp(86px,14vw,210px); }
body.fm-edition footer.ep-compact .ep-signature { margin-bottom:35px; }
body.fm-edition footer.ep-compact .ep-couronne svg { width:42px; height:42px; }
body.fm-edition footer.ep-compact .ep-couronne::before,body.fm-edition footer.ep-compact .ep-couronne::after { width:110px; }
body.fm-edition .fm-menu { display:none; }

@media(max-width:700px) {
 body.fm-edition.page-les-terres:not(#fm) .tc-scene { grid-template-columns:minmax(0,1fr); }
 body.fm-edition .fm-opening { grid-column:1/-1; grid-row:auto; margin:0; max-width:none; }
 body.fm-edition .fm-opening figcaption { font-size:9px; gap:6px; margin-top:16px; }
 body.fm-edition .fm-diptyque .fm-photo-pair { height:340px; gap:8px; }
 body.fm-edition .fm-diptyque img:first-child { margin-top:32px; height:calc(100% - 32px); }
 body.fm-edition .fm-diptyque img:last-child { height:calc(100% - 32px); }
 body.fm-edition .fm-fruit .fm-photo { aspect-ratio:4/5; }
 body.fm-edition .fm-paysage .fm-photo { aspect-ratio:4/5; }
 body.fm-edition.page-italia:not(#fm) .tc-scene .fm-opening { grid-column:1; grid-row:auto; }
 body.fm-edition .tc-header { padding-inline:16px !important; grid-template-columns:42px minmax(0,1fr) auto !important; column-gap:8px !important; }
 body.fm-edition .tc-header .tc-languages { grid-column:2 !important; grid-row:1; justify-self:end; gap:4px !important; min-width:0; }
 body.fm-edition .tc-header .tc-languages :is(a,span) { display:inline-flex; align-items:center; justify-content:center; min-width:32px !important; width:32px; min-height:44px; padding-inline:0 !important; }
 body.fm-edition .tc-header :is(.pe-menu,.ip-menu,.fm-menu) { grid-column:3 !important; grid-row:1; min-height:44px; padding-inline:10px 0; gap:8px; font-size:10px; }
 body.fm-edition.fm-voice-ready .tc-header { grid-template-columns:42px 44px minmax(0,1fr) auto !important; }
 body.fm-edition.fm-voice-ready .tc-header .tc-languages { grid-column:3 !important; }
 body.fm-edition.fm-voice-ready .tc-header :is(.pe-menu,.ip-menu,.fm-menu) { grid-column:4 !important; }
 body.fm-edition.fm-voice-ready .tc-voice-sound { position:fixed !important; left:66px !important; top:10px !important; right:auto !important; bottom:auto !important; width:44px; height:44px; translate:none !important; transition:none !important; }
 body.fm-edition.fm-voice-ready .tc-voice-toggle { width:44px !important; min-height:44px !important; height:44px; padding:10px !important; justify-content:center; border:0; background:transparent; box-shadow:none; }
 body.fm-edition.fm-voice-ready .tc-voice-word { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 body.fm-edition .tc-header > .tc-nav { grid-column:1/-1 !important; }
 body.fm-edition.fm-menu-ready .fm-menu { display:inline-flex; align-items:center; border:0; border-left:1px solid #d5c7aa44; background:none; color:#e7dfcf; font:400 10px/1 var(--tc-sans); }
 body.fm-edition.fm-menu-ready .fm-menu::after { content:'+'; font-size:18px; }
 body.fm-edition.fm-menu-ready .fm-menu[aria-expanded='true']::after { content:'−'; }
 body.fm-edition.fm-menu-ready .tc-header .tc-nav[data-collapsed] { display:none; }
 body.fm-edition.fm-menu-ready .tc-header { padding-block:10px; }
 body.fm-edition.page-confidentialite #t-page { font-size:clamp(39px,12.7vw,64px); }
 body.fm-edition.page-confidentialite main > .tc-section:first-child { padding:58px 24px 66px; }
 body.fm-edition.page-confidentialite main > .tc-section:first-child .tc-hero { gap:24px; }
 body.fm-edition.page-confidentialite .tc-header .tc-brand { width:42px; min-width:42px; height:44px; min-height:44px; }
 body.fm-edition.page-confidentialite .tc-header .tc-brand svg { width:42px; height:42px; }
 body.fm-edition .trv .trv-major { max-width:300px; margin-inline:auto; justify-self:center; }
 body.fm-edition .trv.trv-dark .trv-major { max-width:300px; }
 body.fm-edition.page-correspondance:not(#cc) .cc-table { display:none; }
 body.fm-edition.page-correspondance:not(#cc) .cc-progression { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1fr); gap:6px; font-size:9px; letter-spacing:.08em; }
 body.fm-edition.page-correspondance:not(#cc) .cc-progression li { display:flex; flex-direction:column; gap:6px; align-items:start; }
 body.fm-edition.page-correspondance:not(#cc) .cc-feuille-relue { max-height:none; }
 body.fm-edition.ep-pages:not(#ep) footer.fm-home-footer { padding:54px 24px 28px; }
 body.fm-edition.ep-pages:not(#ep) footer.ep-compact { padding:45px 24px 28px; }
 body.fm-edition footer.ep-compact .ep-signature .ep-nom { font-size:clamp(74px,23vw,150px); }
 body.fm-edition footer .ep-signature .ep-territoires { font-size:9px; letter-spacing:.12em; }
}
@media(prefers-reduced-motion:reduce),(forced-colors:active) {
 body.fm-edition .fm-opening { opacity:1 !important; clip-path:none !important; }
}
@media(forced-colors:active) {
 body.fm-edition .fm-opening figcaption { color:CanvasText; border-color:CanvasText; }
 body.fm-edition .fm-menu { color:ButtonText; }
}
@media print {
 body.fm-edition .tc-voice-sound,body.fm-edition .fm-menu { display:none !important; }
}
