/* Bastrel holding page. Palette: spec section 19.3. Signal stays under 10 % of the page. */
@font-face{font-family:"Space Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/space-grotesk-500.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/space-grotesk-700.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/jetbrains-mono-400.woff2") format("woff2")}

:root{
  --nuit:#0B0F14;--ardoise:#141A22;--granit:#2A3441;--pierre:#9AA7B5;--craie:#E8EDF2;--signal:#19C3A6;
  --f-head:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--nuit);color:var(--craie);font:400 1rem/1.65 var(--f-body)}
.wrap{width:100%;max-width:60rem;margin:0 auto;padding:0 1rem}
@media(min-width:40rem){.wrap{padding:0 2rem}}

a{color:var(--signal);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--craie);color:var(--nuit);padding:.5rem 1rem;z-index:10}
.skip:focus{top:1rem}

header.top{border-bottom:1px solid var(--granit)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;padding-bottom:1.25rem}
.brand{display:block;line-height:0}
.brand img{width:10.5rem;height:auto}
.lang{display:flex;gap:.25rem;font:400 .875rem/1 var(--f-mono)}
.lang a,.lang span{color:var(--pierre);padding:.6rem .6rem;text-decoration:none;border:1px solid transparent;min-width:2.75rem;text-align:center}
.lang a:hover{color:var(--craie);border-color:var(--granit)}
.lang [aria-current]{color:var(--craie);border-color:var(--granit)}

main{flex:1}
.hero{padding:4rem 0 3rem;background:url("topo.svg") right center/cover no-repeat}
.hero .sym{width:4.5rem;height:auto;margin-bottom:2rem;display:block}
h1,h2,h3{font-family:var(--f-head);font-weight:500;letter-spacing:-.01em;line-height:1.15;margin:0}
h1{font-size:clamp(2rem,6vw,3.25rem);max-width:20ch}
.lead{color:var(--pierre);font-size:1.125rem;max-width:40rem;margin:1.25rem 0 0}
.status{display:inline-flex;max-width:100%;align-items:center;gap:.75rem;margin-top:2rem;padding:.6rem 1rem;background:var(--ardoise);border:1px solid var(--granit);font:400 .875rem/1.4 var(--f-mono);color:var(--craie)}
.status::before{content:"";width:.5rem;height:.5rem;background:var(--signal);flex:none}

.trust{padding:3rem 0;border-top:1px solid var(--granit)}
.trust h2{font-size:1.25rem;color:var(--pierre);font-weight:500;margin-bottom:1.5rem;font-family:var(--f-mono);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}
.points{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--granit);border:1px solid var(--granit)}
@media(min-width:48rem){.points{grid-template-columns:repeat(3,1fr)}}
.points li{background:var(--ardoise);padding:1.5rem}
.points h3{font-size:1.125rem;margin-bottom:.5rem}
.points p{margin:0;color:var(--pierre);font-size:.9375rem}

.contact{padding:3rem 0 4rem;border-top:1px solid var(--granit)}
.contact h2{font-size:1.25rem;margin-bottom:.75rem}
.contact p{margin:0 0 .5rem;color:var(--pierre)}
.contact ul{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 2rem}
.ph{font-family:var(--f-mono);color:var(--craie);background:var(--ardoise);border:1px dashed var(--granit);padding:.1rem .4rem}
[hidden]{display:none!important}

footer.bottom{border-top:1px solid var(--granit);padding:1.5rem 0 2rem;color:var(--pierre);font-size:.875rem}
footer.bottom .wrap{display:flex;flex-direction:column;gap:.75rem}
footer.bottom p{margin:0}
footer.bottom a{color:var(--craie)}
footer.bottom p+p+p{font-family:var(--f-mono);font-size:.8125rem}

/* legal pages */
.doc{padding:3rem 0 4rem;max-width:44rem}
.doc h1{font-size:clamp(1.75rem,5vw,2.5rem);max-width:none;margin-bottom:1.5rem}
.doc h2{font-size:1.25rem;margin:2.5rem 0 .75rem}
.doc p,.doc li{color:var(--craie)}
.doc ul{padding-left:1.25rem}
.doc .meta{color:var(--pierre);font-size:.875rem}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;color:#000}a{color:#000}}
