/* TERRAE — pages intérieures, sans styles d'accueil. */
@font-face{font-family:"Terrae Flare";src:local("Optima Regular"),local("Optima-Regular"),local("Optima"),url('../typography/fonts/TenorSans-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Terrae Times";src:url('../typography/fonts/Newsreader-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--tc-ink:#06100c;--tc-paper:#f4f0e8;--tc-stone:#d8cbb7;--tc-line:color-mix(in srgb,currentColor 28%,transparent);--tc-sans:"Terrae Flare",Optima,Arial,sans-serif;--tc-serif:"Terrae Times","Times New Roman",serif;--tc-gutter:clamp(22px,5.3vw,88px);--tc-width:1280px;--tc-ease:cubic-bezier(.2,.7,.2,1);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body.tc-inner{margin:0;background:var(--tc-paper);color:var(--tc-ink);font:400 clamp(17px,1.1vw,19px)/1.65 var(--tc-sans);font-synthesis:none;-webkit-font-smoothing:antialiased}
::selection{background:#d8cbb7;color:#06100c}
a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
button,input,textarea,select{font:inherit}
button,summary{cursor:pointer}
img,video{display:block;max-width:100%;height:auto}
svg{max-width:100%}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--tc-serif);font-weight:300;text-wrap:balance}
h1{font-size:clamp(43px,6.6vw,100px);line-height:1.02;letter-spacing:-.025em;max-width:18ch}
h2{font-size:clamp(31px,4vw,60px);line-height:1.1;letter-spacing:-.018em;max-width:24ch}
h3{font-size:clamp(26px,2.6vw,38px);line-height:1.18}
p+p{margin-top:1.15em}
strong{font-weight:inherit}
.skip-link{position:absolute;top:8px;left:12px;z-index:100;background:var(--tc-paper);color:var(--tc-ink);padding:12px 18px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.tc-header{display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px;position:relative;z-index:10;padding:24px var(--tc-gutter);border-bottom:1px solid var(--tc-line)}
.tc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;line-height:1.4;letter-spacing:.16em;flex-shrink:0}
.tc-brand svg,.tc-brand img{width:38px;height:44px;flex:none}
.tc-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-left:auto}
.tc-nav a,.tc-languages a,.tc-languages span{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.4;letter-spacing:.065em;text-decoration:none}
.tc-nav a[aria-current="page"],.tc-languages [aria-current="page"]{text-decoration:underline;text-underline-offset:8px}
.tc-languages{display:flex;gap:14px;flex-shrink:0}
.tc-languages a:hover,.tc-nav a:hover{text-decoration:underline}
.tc-hero,.tc-section,.tc-footer{padding:clamp(52px,8vw,120px) var(--tc-gutter)}
.tc-hero{min-height:65svh;display:flex;flex-direction:column;justify-content:center;gap:28px;position:relative;overflow:clip}
.tc-hero>*,.tc-section>*,.tc-footer>*{max-width:var(--tc-width)}
.tc-hero .tc-eyebrow{margin-bottom:12px}
.tc-eyebrow{font:400 12px/1.6 var(--tc-sans);letter-spacing:.18em;text-transform:uppercase}
.tc-lead{font:400 clamp(23px,2.2vw,33px)/1.35 var(--tc-serif);max-width:42ch}
.tc-section{position:relative}
.tc-section+.tc-section{border-top:1px solid var(--tc-line)}
.tc-section h2+p{margin-top:28px}
.tc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,92px);align-items:start}
.tc-copy{max-width:62ch}
.tc-copy h2,.tc-copy h3{margin-bottom:24px}
.tc-media{margin:0;overflow:hidden}
.tc-media img,.tc-media video{width:100%;object-fit:cover}
.tc-caption{margin-top:14px;font:400 13px/1.6 var(--tc-sans);max-width:70ch}
.tc-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:12px 0;text-decoration:none;border-bottom:1px solid currentColor;max-width:100%;font-size:14px;letter-spacing:.07em}
.tc-link:hover{gap:20px}
.tc-link>span[aria-hidden="true"]{flex:none;transform:translateX(0)}
.tc-link:hover>span[aria-hidden="true"]{transform:translateX(3px)}
.tc-paper{background:var(--tc-paper);color:var(--tc-ink);color-scheme:light}
.tc-ink{background:var(--tc-ink);color:var(--tc-paper);color-scheme:dark}
.tc-stone{background:var(--tc-stone);color:var(--tc-ink)}
.tc-footer{border-top:1px solid var(--tc-line);font-size:13px;line-height:1.7}
.tc-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:32px}
.tc-footer a{min-height:44px;display:inline-flex;align-items:center}
.tc-footer p{max-width:72ch}
.tc-inner details{border-top:1px solid var(--tc-line);padding:0}
.tc-inner details:last-of-type{border-bottom:1px solid var(--tc-line)}
.tc-inner summary{padding:24px 32px 24px 0;font-family:var(--tc-serif);font-size:clamp(22px,2vw,28px);line-height:1.3}
.tc-inner details>p,.tc-inner details>div{padding:0 0 26px;max-width:64ch}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.tc-hero,.tc-section,.tc-footer{padding-left:max(var(--tc-gutter),calc((100vw - 1280px)/2));padding-right:max(var(--tc-gutter),calc((100vw - 1280px)/2))}}
@media(max-width:1000px){.tc-header{gap:8px 20px}.tc-languages{margin-left:auto}.tc-nav{order:3;flex-basis:100%;margin-left:0;gap:4px 18px}}
@media(max-width:650px){.tc-header{padding-top:14px;padding-bottom:14px}.tc-nav{gap:4px 16px}.tc-nav a{font-size:12px}.tc-grid{grid-template-columns:1fr;gap:36px}.tc-hero{min-height:auto;padding-top:62px;padding-bottom:62px}.tc-section,.tc-footer{padding-top:48px;padding-bottom:48px}.tc-brand{font-size:11px;letter-spacing:.08em}.tc-languages{gap:10px}.tc-link{letter-spacing:.035em}.tc-eyebrow{font-size:11px;letter-spacing:.14em}}
@media(prefers-reduced-motion:no-preference){.tc-link>span[aria-hidden="true"]{transition:transform .18s var(--tc-ease)}}
@media(prefers-reduced-motion:reduce){.tc-link:hover>span[aria-hidden="true"]{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.tc-header,.tc-footer,.skip-link{display:none}.tc-inner,.tc-ink,.tc-stone{background:white!important;color:black!important}.tc-hero{min-height:0}.tc-section,.tc-hero{padding:20px 0}a{color:black}}
/* Un seul en-tête pour les six compositions : même repère et mêmes cibles. */
.tc-inner .tc-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:18px var(--tc-gutter);border-bottom:1px solid var(--tc-line)}
.tc-inner .tc-header .tc-brand{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px}
.tc-inner .tc-header .tc-brand svg{width:48px;height:48px}
.tc-inner .tc-header .tc-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;margin:0;grid-column:2;grid-row:1;order:0}
.tc-inner .tc-header .tc-nav a{font-size:13px;letter-spacing:.065em;min-height:44px}
.tc-inner .tc-languages{display:flex;gap:0;margin:0;grid-column:3;grid-row:1}
.tc-inner .tc-languages :is(a,span){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:12px;letter-spacing:.05em}
@media(max-width:1100px){.tc-inner .tc-header{grid-template-columns:auto 1fr;gap:8px 20px}.tc-inner .tc-header .tc-nav{grid-column:1/-1;grid-row:2;order:3;justify-content:flex-start}.tc-inner .tc-languages{grid-column:2;justify-self:end}}
@media(max-width:650px){.tc-inner .tc-header{padding-block:14px}.tc-inner .tc-header .tc-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.tc-inner .tc-header .tc-nav a{font-size:12px;overflow-wrap:break-word}}
@media print{.tc-inner .tc-header{display:none}}

/* ═══ SIGNATURE : direction artistique des pages. Ajouts seulement, rien n'est retiré. ═══ */
/* Défilement doux (Lenis, classe .lenis sur <html>) : les zones marquées gardent leur défilement propre. */
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}

/* Signature finale : le nom en très grand, qui dérive lentement (AUGE, Studiogusto, AWD). */
.sg-signature{position:relative;overflow:hidden;background:transparent;color:var(--tc-paper,#f4f0e8);padding:clamp(56px,8vw,128px) 0 clamp(28px,3.5vw,52px);border-top:1px solid color-mix(in srgb,var(--tc-paper,#f4f0e8) 12%,transparent)}
.sg-piste{display:flex;width:max-content;white-space:nowrap;font:300 clamp(84px,15.5vw,280px)/.9 var(--tc-serif,"Terrae Times",serif);letter-spacing:-.035em}
.sg-piste span{padding-right:.4em}
.sg-sous{margin:clamp(22px,2.6vw,40px) 0 0;padding:0 clamp(24px,5.4vw,96px);font:400 11px/1.4 var(--tc-sans,"Terrae Flare",Optima,sans-serif);letter-spacing:.26em;text-transform:uppercase;color:color-mix(in srgb,var(--tc-paper,#f4f0e8) 58%,transparent)}
@media (prefers-reduced-motion:no-preference){.sg-piste{animation:sg-derive 90s linear infinite}}
@keyframes sg-derive{to{transform:translateX(-50%)}}

/* Repères chiffrés : La Maison (Websolute). */
.sg-reperes{background:transparent;color:var(--tc-paper,#f4f0e8);padding:clamp(72px,9vw,140px) clamp(24px,5.4vw,96px)}
.sg-reperes ol{list-style:none;margin:0 auto;padding:0;max-width:1320px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--tc-paper,#f4f0e8) 16%,transparent)}
.sg-reperes li{display:grid;align-content:start;gap:20px;padding:clamp(32px,4vw,56px) clamp(16px,2.4vw,40px) 0 0}
.sg-reperes li+li{padding-left:clamp(16px,2.4vw,40px);border-left:1px solid color-mix(in srgb,var(--tc-paper,#f4f0e8) 16%,transparent)}
.sg-chiffre{font:200 clamp(64px,7.4vw,124px)/.9 var(--tc-serif,"Terrae Times",serif);letter-spacing:-.03em}
.sg-legende{max-width:34ch;font:400 11px/1.6 var(--tc-sans,"Terrae Flare",Optima,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--tc-paper,#f4f0e8) 62%,transparent)}
@media (max-width:760px){
  .sg-reperes ol{grid-template-columns:1fr}
  .sg-reperes li+li{padding-left:0;border-left:0;margin-top:34px;border-top:1px solid color-mix(in srgb,var(--tc-paper,#f4f0e8) 16%,transparent)}
}

/* Apparition lente de ces ajouts : transform et opacité seulement, aucun décalage de mise en page. */
@media (prefers-reduced-motion:no-preference){
  .sg-attente{opacity:0;transform:translateY(32px);transition:opacity 1.4s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1)}
  .sg-attente.sg-visible{opacity:1;transform:none}
}

/* ═══ RYTHME ET HIÉRARCHIE des pages intérieures. Rien n'est retiré. ═══
   Corrections tirées d'un relevé des 18 pages ; les tailles de titre voulues page par page ne sont pas touchées. Références :
   - une seule grammaire pour toutes les maisons (Bonhomme · LVMR) ;
   - titre monumental et informations latérales (AQuest · Frescobaldi, Studiogusto) ;
   - libellés en petites capitales espacées, une seule couleur d'accent (Chartogne-Taillet, Frescobaldi). */

/* 1. Même composant, même taille : « Le temps des terres » (rappel de saison) mesurait 60 px et 32 px sur téléphone
      sur Italia, contre 66 px et 41 px sur Champagne. Les titres propres à chaque page (couche « palazzo ») restent tels quels. */
body.tc-inner.tc-atlas.tc-drama main aside.te-season-return .te-heading{font-size:clamp(41px,4.6vw,66px);line-height:1.05}

/* 2. Petits libellés : 10,5 px minimum et espacement régulier. Relevé : légendes en 9 px, trop petites pour être lues. */
body.tc-inner main .tc-scene figure figcaption > span,
body.tc-inner.tc-atlas.tc-drama main .tc-atlas-bar .tc-atlas-heading > span,
body.tc-inner.tc-atlas.tc-drama main .tc-atlas-bar > .tc-season-signature{font-size:10.5px;letter-spacing:.16em}

/* 3. Longueur de ligne : 38 em au plus pour la note de provenance (relevé : 47 em, soit plus de 90 signes par ligne). */
body.tc-inner main .va-provenance p{max-width:38em}

/* 4. Deux sections sombres successives sont séparées par un filet, pour marquer le rythme sans nouvel effet. */
body.tc-inner main > :is(.tc-ink, .sg-reperes) + :is(.tc-ink, .sg-reperes){border-top:1px solid rgba(244,240,232,.1)}

/* 5. Téléphone : l'en-tête ne saute plus au chargement.
      Relevé : à environ 250 ms, pages-palazzo.mjs et italia-palazzo.mjs replient la navigation derrière « Menu ». L'en-tête
      passe alors de 203 à 65 px et toute la page remonte de 138 px (CLS 0,156). On pose cette mise en page finale dès le
      premier affichage : navigation repliée, place du bouton réservée (67 px), langues à leur place. Le script ne fait ensuite
      qu'insérer le bouton. Seulement si JavaScript est actif ; sans script, le pied de page garde toute la navigation. */
@media (max-width:700px) and (scripting:enabled){
  body.tc-inner.tc-atlas.tc-drama:is(.pe-edition:not(.pe-menu-ready),.ip-edition:not(.ip-menu-ready)) .tc-header{grid-template-columns:42px 1fr minmax(67px,auto)}
  body.tc-inner.tc-atlas.tc-drama:is(.pe-edition:not(.pe-menu-ready),.ip-edition:not(.ip-menu-ready)) .tc-header>.tc-nav{display:none}
  body.tc-inner.tc-atlas.tc-drama:is(.pe-edition:not(.pe-menu-ready),.ip-edition:not(.ip-menu-ready)) .tc-header .tc-languages{grid-column:2;justify-self:end}
  body.tc-inner.tc-atlas.tc-drama:is(.pe-edition.pe-menu-ready,.ip-edition.ip-menu-ready) .tc-header{grid-template-columns:42px 1fr minmax(67px,auto)}
}
