/* aisen.ca, stylesheet of the simple pages: the holding page, 404 and the privacy policy.
   Same palette and type as the home pages (near-black, teal tally light), but standalone: these pages load only
   this file. No text lives here, and nothing of the full site: this file is public during the holding period.

   Class contract (shared with the privacy pages):
     body.pg                 the page
     .skip                   skip link to #contenu
     .pg-head .pg-logo .pg-lang   header, logo link, language link(s)
     .pg-main                main column (id="contenu")
     .doc .doc-kicker .doc-meta .doc-note   a text page: kicker above the h1, date line, closing note
     .doc-actions            a row of buttons inside .doc
     .pg-hold                centred block of the holding and 404 pages
     .pg-foot                footer: legal name, address, contact, privacy link
     .btn .btn-primary       buttons
     .sr-only .nw            visually hidden text, no-wrap */

/* Fonts: self-hosted, latin subset (Fontsource 5.3.0, OFL-1.1, licences beside the files) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --night:#0A0D0C;--black:#030504;--slate:#121816;--rule:#26302D;--rule2:#3A4743;
  --tally:#49BDA1;--glow:#7FE3C9;--paper:#EDF2EF;--soft:#C5D0CB;--muted:#8FA39C;--ink:#03130E;
  --cond:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gut:clamp(16px,4vw,40px);
  --col:min(100% - 2 * var(--gut),1120px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark;background:var(--night)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body.pg{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--night);color:var(--paper);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;overflow-x:clip}
/* The hazard strip of the mockup's pilot callout, as a thin band on top */
body.pg::before{content:"";flex:none;height:4px;background:repeating-linear-gradient(-45deg,var(--tally) 0 8px,var(--black) 8px 16px);opacity:.85}
.pg img{max-width:100%;height:auto;display:block}
.pg p,.pg h1,.pg h2,.pg h3,.pg ul,.pg ol,.pg figure{margin:0}
.pg a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--rule2);text-decoration-thickness:1px;text-underline-offset:4px}
.pg a:hover{color:var(--tally);text-decoration-color:var(--tally)}
.pg :focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:2px}
.pg a[href^="tel:"],.nw{white-space:nowrap}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-80px;z-index:20;background:var(--tally);color:var(--ink)!important;padding:10px 14px;font-weight:600;text-decoration:none!important}
.skip:focus{top:12px}

/* Header */
.pg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;width:var(--col);margin-inline:auto;min-height:clamp(60px,9vh,76px);border-bottom:1px solid var(--rule)}
.pg-logo{display:inline-flex;align-items:center;min-height:44px;text-decoration:none!important}
.pg-logo img{width:121px;height:auto}
.pg-lang{display:flex;gap:8px}
.pg-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:2px 12px 0;border:1px solid var(--rule2);border-radius:2px;font:700 15px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--paper)}
.pg-lang a:hover{border-color:var(--tally);color:var(--tally)}

/* Main column and text pages */
.pg-main{flex:1 0 auto;width:var(--col);margin-inline:auto;padding:clamp(40px,7vw,88px) 0 clamp(56px,8vw,104px)}
.doc{max-width:72ch}
.doc-kicker{display:flex;align-items:center;gap:12px;margin-bottom:18px!important;font:700 14px/1.2 var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--tally)}
.doc-kicker::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--tally);box-shadow:0 0 0 3px rgba(73,189,161,.18),0 0 12px rgba(127,227,201,.6)}
.doc h1{font:800 clamp(40px,6vw,72px)/.98 var(--cond);text-transform:uppercase;letter-spacing:-.005em;text-wrap:balance}
.doc-meta{margin-top:18px!important;font-size:15px;color:var(--muted)}
.doc h2{margin:48px 0 14px;padding-top:22px;border-top:1px solid var(--rule);font:800 clamp(26px,3vw,34px)/1.05 var(--cond);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.doc h3{margin:28px 0 8px;font:700 21px/1.2 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--paper)}
.doc p,.doc ul,.doc ol,.doc address,.doc dl{margin:0 0 14px;color:var(--soft)}
.doc h1+p:not(.doc-meta){margin-top:24px}
.doc ul,.doc ol{padding:0;list-style:none}
.doc li{position:relative;padding-left:24px;margin-bottom:8px}
.doc ul li::before{content:"";position:absolute;left:3px;top:.66em;width:7px;height:7px;border-radius:50%;background:var(--tally)}
.doc ol{counter-reset:item}
.doc ol li{counter-increment:item}
.doc ol li::before{content:counter(item) ".";position:absolute;left:0;font-weight:600;color:var(--tally)}
.doc strong,.doc b{font-weight:600;color:var(--paper)}
.doc address{font-style:normal}
.doc dt{font:700 14px/1.3 var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.doc dd{margin:2px 0 0;color:var(--soft)}
.doc-note{margin-top:40px!important;padding:16px 20px;border:1px solid var(--rule);border-left:3px solid var(--tally);background:var(--slate);font-size:15px;line-height:1.6;color:var(--soft)}
.doc-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:2px 24px 0;font:700 17px/1.1 var(--cond);letter-spacing:.09em;text-transform:uppercase;text-align:center;text-decoration:none!important;color:var(--paper);background:transparent;border:1px solid rgba(237,242,239,.5);border-radius:2px}
.btn:hover{border-color:var(--tally);color:var(--tally)}
.btn-primary{background:var(--tally);border-color:var(--tally);color:var(--ink)!important}
.btn-primary:hover{background:var(--glow);border-color:var(--glow);box-shadow:0 0 0 4px rgba(127,227,201,.14),0 0 28px rgba(127,227,201,.35)}
@media (prefers-reduced-motion:no-preference){
  .btn,.pg-lang a{transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s}
}

/* Holding and 404: one centred block, French then English */
.pg-main:has(.pg-hold){display:flex;flex-direction:column;justify-content:center;padding-block:clamp(20px,2vw,28px) clamp(24px,2.2vw,32px)}
/* Sizes also follow the screen height, so the block still fits one screen on 1366 x 768 and 1536 x 864 laptops */
.pg-hold{display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,min(2.6vw,3.8vh),34px);width:100%;min-height:min(62vh,620px);max-width:900px;margin-inline:auto;text-align:center}
.pg-hold .doc-kicker{justify-content:center}
.hold-part{display:flex;flex-direction:column;align-items:center}
.hold-title{font:800 clamp(30px,min(3.9vw,5.4vh),48px)/1.04 var(--cond);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;max-width:32ch}
.hold-title .hl{color:var(--tally)}
.hold-sub{margin-top:16px!important;font-size:clamp(17px,1.6vw,19px);color:var(--soft);max-width:52ch}
.hold-sub a{font-weight:600}
.hold-sep{width:72px;height:2px;margin:0 auto;border:0;background:var(--tally)}
.pg-hold .doc-actions{justify-content:center;margin:26px 0 0}

/* Footer */
.pg-foot{width:var(--col);margin-inline:auto;padding:22px 0 26px;border-top:1px solid var(--rule);display:grid;gap:2px;font-size:14px;line-height:1.55;color:var(--muted)}
.pg-foot p:first-child{padding:8px 0}
.pg-foot a{display:inline-block;min-height:44px;padding:11px 0;color:var(--soft)}
.pg-foot a:hover{color:var(--tally)}
.hold-sub a{display:inline-block;min-height:44px;padding:7px 0}
/* Holding and 404 (centred pages): centred footer, the legal line on top, contact and privacy links side by side below.
   The rows are fixed (not left to wrapping), so the late web font does not reflow the footer and shift the page. */
@media (min-width:521px){
  body.pg:has(.pg-hold) .pg-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:28px;row-gap:0;padding:12px 0 14px;text-align:center}
  body.pg:has(.pg-hold) .pg-foot p:first-child{padding:0 0 2px;flex-basis:100%}
}
/* Touch screens: a 44 px touch area for links inside the text, without changing the line spacing */
@media (pointer:coarse){
  .doc :is(p,li)>a:not(.btn){display:inline-block;padding:12px 0;margin:-12px 0}
}

@media (max-width:520px){
  body.pg{font-size:16px}
  .pg-head{min-height:68px}
  .pg-logo img{width:104px}
  .btn{width:100%}
  .doc-actions{flex-direction:column;align-items:stretch}
  .hold-sub{display:flex;flex-direction:column;align-items:center}
  .hold-sub .sep{display:none}
}
@media print{
  body.pg{background:#fff;color:#000}
  body.pg::before,.skip,.pg-lang{display:none}
  .pg a,.doc p,.doc li,.pg-foot{color:#000}
}
