/* TERRAE — SYSTÈME TYPOGRAPHIQUE « LORO PIANA » (25/09/2026, demande du propriétaire). Optima (locale, Apple) → Tenor Sans (libre) ; titres : Newsreader (libre) → Times.
   Portée : body[data-terrae-type] seulement. Le TC, l'eau, la brume et le moteur ne sont pas touchés. Voir PROVENANCE_LORO_PIANA.md. */
@font-face{font-family:"Terrae Flare";src:local("Optima Regular"),local("Optima-Regular"),local("Optima"),url('./fonts/TenorSans-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Terrae Flare";src:local("Optima Italic"),local("Optima-Italic"),url('./fonts/TenorSans-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Terrae Flare";src:local("Optima Bold"),local("Optima-Bold"),url('./fonts/TenorSans-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Terrae Times";src:url('./fonts/Newsreader-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
[data-terrae-type]{
  --tt-flare:"Terrae Flare","Optima","Helvetica Neue",Arial,sans-serif;
  --tt-times:"Terrae Times","Times New Roman",Times,serif;
  --tt-ink:#f4f0e8;
  --tt-terrae:clamp(21px,2.8vw,44px);            /* TERRAE : capitales largement espacées */
  --tt-display:clamp(38px,6.2vw,104px);          /* CARAVELLI : capitales, espacement mesuré */
  --tt-caption:clamp(13px,.95vw,15px);
  --tt-micro:clamp(11px,.8vw,12.5px);
  --tt-nav:clamp(12px,.9vw,14px);
  --tt-button:clamp(13px,1vw,15px);
  --tt-title:clamp(34px,4.2vw,76px);
  --tt-heading:clamp(26px,2.8vw,48px);
  --tt-subheading:clamp(20px,1.9vw,30px);
  --tt-body:clamp(16px,1.15vw,19px);
}
[data-terrae-type]{font-synthesis:none;font-kerning:normal;color:var(--tt-ink)}
body[data-terrae-type]{--serif:var(--tt-times);--texte:var(--tt-flare);--sans:var(--tt-flare);font:400 var(--tt-body)/1.65 var(--tt-flare)}
/* la navigation, à la Loro Piana : capitales Optima espacées, petites */
[data-terrae-type] :is(.langues a,.menu-ouvrir){font:400 var(--tt-nav)/1.3 var(--tt-flare);letter-spacing:.16em;text-transform:uppercase}
[data-terrae-type] .menu-ouvrir .plus{font-family:var(--tt-flare);font-weight:400}
[data-terrae-type] .langues{gap:12px}
[data-terrae-type] .langues a{min-height:30px;display:inline-flex;align-items:center;padding:4px 2px}
[data-terrae-type] :is(a,button){color:inherit}
[data-terrae-type] :is(a,button):focus-visible{outline:1px solid currentColor;outline-offset:6px}
/* LA SIGNATURE : soudée au cadre de référence (941 × 1672, --s/--ox/--oy), posée sur la masse centrale (v ≈ 0,545) à toutes les proportions */
[data-terrae-type] .tt-signature{position:absolute;z-index:3;inset:auto;left:var(--ox);top:calc(var(--oy) + 1672px * var(--s) * .545);width:calc(941px * var(--s));margin:0;text-align:center;font-family:var(--tt-flare);font-weight:400;line-height:1.02;pointer-events:none;isolation:isolate;visibility:hidden}
:root.cadre-pose [data-terrae-type] .tt-signature{visibility:visible}
[data-terrae-type] .tt-terrae{display:block;font-size:var(--tt-terrae);line-height:1.1;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;white-space:nowrap}
[data-terrae-type] .tt-caravelli{display:block;font-size:var(--tt-display);line-height:1.02;letter-spacing:.09em;text-indent:.09em;text-transform:uppercase;white-space:nowrap;margin-top:.10em}
[data-terrae-type] .tt-description{display:block;margin:clamp(14px,1.7vh,24px) auto 0;max-width:34ch;font:400 var(--tt-caption)/1.5 var(--tt-flare);letter-spacing:.07em;text-transform:none;white-space:normal}
[data-terrae-type] .tt-geography{display:block;margin:.6em auto 0;max-width:34ch;font:400 var(--tt-micro)/1.5 var(--tt-flare);letter-spacing:.24em;text-indent:.24em;text-transform:uppercase}
[data-terrae-type] .tt-signature::before{content:"";position:absolute;inset:-18px -12px -18px;z-index:-1;background:radial-gradient(ellipse at center,rgba(6,16,12,.30),rgba(6,16,12,.08) 58%,transparent 75%);pointer-events:none}
[data-terrae-type] .tt-signature{opacity:var(--p-wordmark,1)}
:root:not(.repos) [data-terrae-type] .tt-description,:root:not(.repos) [data-terrae-type] .tt-geography{opacity:var(--p-mentions,1)}
:root.repos [data-terrae-type] .tt-signature{display:none}
/* LE SEUIL : ENTRER en capitales espacées, petit et précis (Loro Piana : boutons Optima en capitales 14 px) ; le survol respire à peine */
[data-terrae-type] .entrer{font:400 var(--tt-button)/1.2 var(--tt-flare);letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;display:inline-block;padding:12px 18px;min-height:44px;box-sizing:border-box;white-space:nowrap;transition:letter-spacing .9s var(--courbe,ease)}
[data-terrae-type] .entrer:hover,[data-terrae-type] .entrer:focus-visible{letter-spacing:.34em}
/* L'ÉDITORIAL sous le pli : titres Times (Newsreader), corps Optima ; rubriques en capitales espacées */
body[data-terrae-type] :is(.maison h1,.tt-title){font:300 var(--tt-title)/1.08 var(--tt-times);letter-spacing:-.01em;max-width:18ch;text-wrap:balance}
body[data-terrae-type] :is(.film-texte h2,.terres h2,.tt-heading){font:300 var(--tt-heading)/1.12 var(--tt-times);letter-spacing:-.005em;max-width:22ch;text-wrap:balance}
body[data-terrae-type] .chapo{font:400 var(--tt-subheading)/1.35 var(--tt-times);max-width:36ch}
body[data-terrae-type] :is(.sur-titre,.menu-pied){font:400 var(--tt-micro)/1.5 var(--tt-flare);letter-spacing:.24em;text-transform:uppercase}
body[data-terrae-type] :is(.menu li a,.liste span){font:300 var(--tt-heading)/1.15 var(--tt-times);white-space:normal}
body[data-terrae-type] :is(.pied,.film-prototype){font:400 var(--tt-caption)/1.5 var(--tt-flare);letter-spacing:.04em;text-transform:none}
body[data-terrae-type] :is(.cmd-mvt,.film-plein,.film-suite){font-family:var(--tt-flare)}
/* recette : ?police=repli force le relais libre (Tenor Sans), comme sur un appareil sans Optima */
body[data-terrae-type].police-repli{--tt-flare:"Tenor Sans Web",Arial,sans-serif}
@font-face{font-family:"Tenor Sans Web";src:url('./fonts/TenorSans-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@media(max-width:600px){[data-terrae-type]{--tt-display:clamp(38px,13.5vw,74px);--tt-terrae:clamp(20px,6vw,36px)}[data-terrae-type] .tt-description{max-width:29ch}}
@media(prefers-reduced-motion:reduce){[data-terrae-type] .entrer{transition:none}}

/* planche 04–06 : un filet fin sous les mentions */
[data-terrae-type] .tt-filet{display:block;width:clamp(120px,14vw,220px);height:1px;margin:clamp(12px,1.5vh,20px) auto 0;background:linear-gradient(90deg,#f4f0e800,#f4f0e8cc 30%,#f4f0e8cc 70%,#f4f0e800);opacity:var(--p-filet,1)}
