/* Pages v1: house components for the plain pages (privacy, legal, contact company card, 404, form result pages, corrections).
   Ink #2C2B30, paper #F7F4EF, level colours op #FD802E, tac #00D4C8, strat #F5C518. Magenta #E3008C is used only for rules, edges and bars, never for text. */
body.ovh .pg-bar{height:12px;background:linear-gradient(90deg,#FD802E 0 33.3%,#00D4C8 33.3% 66.6%,#F5C518 66.6% 100%)}
body.ovh .pg-glance{background:#2C2B30;color:#F7F4EF;padding:44px 0 52px}
body.ovh .pg-glance .pg-lbl{color:#F7F4EF}
body.ovh .pg-lbl{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;color:#2C2B30}
body.ovh .pg-glance ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
body.ovh .pg-glance li{margin:0;max-width:none}
body.ovh .pg-glance a{display:flex;flex-direction:column;gap:18px;height:100%;min-height:150px;background:#201F24;border-top:8px solid #FD802E;padding:20px 20px 24px;color:#F7F4EF;text-decoration:none;font-weight:800;font-size:22px;line-height:1.15}
body.ovh .pg-glance li:nth-child(2) a{border-top-color:#00D4C8} body.ovh .pg-glance li:nth-child(3) a{border-top-color:#F5C518}
body.ovh .pg-glance li:nth-child(4) a{border-top-color:#E3008C} body.ovh .pg-glance li:nth-child(5) a{border-top-color:#F7F4EF}
body.ovh .pg-glance a:hover span,body.ovh .pg-glance a:focus-visible span{text-decoration:underline;text-underline-offset:4px}
body.ovh .pg-glance a:focus-visible{outline:3px solid #F7F4EF;outline-offset:3px}
body.ovh .pg-glance svg{width:40px;height:40px;fill:none;stroke:#F7F4EF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ovh .pg-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0 clamp(48px,5vw,88px);align-items:start;padding:0 0 88px}
body.ovh .pg-doc>.pg-sec:first-child h2.pg-h{margin-top:56px}
body.ovh .pg-doc{min-width:0;max-width:820px;counter-reset:s}
body.ovh .pg-rail{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;margin-top:56px;padding:8px 0 8px 24px;border-left:4px solid #E3008C}
body.ovh .pg-rail ol{list-style:none;margin:0;padding:0;counter-reset:r}
body.ovh .pg-rail li{margin:0;max-width:none;counter-increment:r}
body.ovh .pg-rail a{display:grid;grid-template-columns:34px 1fr;padding:6px 0;color:#2C2B30;text-decoration:none;font-weight:600;font-size:16px;line-height:1.3}
body.ovh .pg-rail a::before{content:counter(r,decimal-leading-zero);font-weight:900}
body.ovh .pg-rail a:hover,body.ovh .pg-rail a:focus-visible{text-decoration:underline}
body.ovh .pg-sec{margin:0}
body.ovh .pg-doc h2.pg-h{counter-increment:s;display:flex;align-items:flex-start;gap:16px;font-weight:900;font-size:clamp(28px,1.4rem + 1.6vw,44px);line-height:1.05;letter-spacing:-.01em;margin:72px 0 22px;padding-top:22px;border-top:10px solid #2C2B30;scroll-margin-top:24px}
body.ovh .pg-doc h2.pg-h::before{content:counter(s,decimal-leading-zero);flex:none;background:#2C2B30;color:#F7F4EF;font-size:18px;line-height:1;padding:9px 10px 7px;border-bottom:4px solid #E3008C;margin-top:4px}
body.ovh .pg-card{background:#fff;border-top:8px solid #FD802E;padding:4px 32px 18px;margin:40px 0 0;box-shadow:0 1px 0 #CFCBC4}
body.ovh .pg-card.c2{border-top-color:#00D4C8} body.ovh .pg-card.c3{border-top-color:#F5C518} body.ovh .pg-card.c4{border-top-color:#E3008C}
body.ovh .pg-card h2.pg-h{border-top:0;margin-top:22px;padding-top:0}
body.ovh .pg-ink{background:#2C2B30;color:#F7F4EF;padding:6px 32px 28px;margin:48px 0 0}
body.ovh .pg-ink h2.pg-h{border-top:0;color:#F7F4EF;margin-top:26px;padding-top:0}
body.ovh .pg-ink h2.pg-h::before{background:#F7F4EF;color:#2C2B30}
body.ovh .pg-ink a{color:#F7F4EF}
body.ovh .pg-ink a:focus-visible{outline-color:#F7F4EF}
body.ovh .pg-cta{border-left:10px solid #E3008C}
body.ovh .pg-icons{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
body.ovh .pg-icons li{margin:0;max-width:none;background:#201F24;border-top:6px solid #00D4C8;padding:14px 10px 12px;text-align:center;font-weight:700;font-size:17px}
body.ovh .pg-icons li:nth-child(3n+2){border-top-color:#F5C518} body.ovh .pg-icons li:nth-child(3n){border-top-color:#FD802E}
body.ovh .pg-icons svg{display:block;width:34px;height:34px;margin:0 auto 8px;fill:none;stroke:#F7F4EF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ovh .pg-rows{list-style:none;margin:8px 0 24px;padding:0;border-top:4px solid #2C2B30}
body.ovh .pg-rows li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:6px 28px;margin:0;max-width:none;padding:14px 16px;border-bottom:1px solid #CFCBC4}
body.ovh .pg-rows li:nth-child(odd){background:#fff}
body.ovh .pg-rows .k{font-weight:700}
body.ovh .pg-boxes{list-style:none;margin:8px 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.ovh .pg-boxes li{margin:0;max-width:none;background:#fff;border-left:6px solid #2C2B30;padding:14px 18px}
body.ovh .pg-note{border-left:6px solid #E3008C;background:#fff;padding:14px 18px}
body.ovh .pg-doc .net-opt a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;margin:4px 6px 4px 0;border:2px solid #2C2B30;border-radius:999px;font-weight:700;text-decoration:none;color:#2C2B30}
body.ovh .pg-doc .net-opt a:hover,body.ovh .pg-doc .net-opt a:focus-visible{background:#2C2B30;color:#F7F4EF}
body.ovh .pg-upd{margin-top:48px}
/* legal: numbered card grid */
body.ovh .pg-doc.pg-grid{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:56px 0 24px;counter-reset:s}
body.ovh .pg-grid h2.pg-h{hyphens:none;overflow-wrap:normal;word-break:normal}
body.ovh .pg-grid .pg-card{margin:0;padding:4px 26px 16px}
body.ovh .pg-grid h2.pg-h{font-size:clamp(24px,1.2rem + .6vw,30px);margin:22px 0 14px;counter-increment:s}
body.ovh .pg-grid h2.pg-h::before{content:counter(s,decimal-leading-zero)}
body.ovh .pg-grid .pg-card:nth-child(3n+2){border-top-color:#00D4C8} body.ovh .pg-grid .pg-card:nth-child(3n){border-top-color:#F5C518}
/* contact: company details card */
body.ovh .pg-co{padding:64px 0 80px}
body.ovh .pg-cocard{background:#2C2B30;color:#F7F4EF;position:relative;padding:44px 40px 36px;overflow:hidden}
body.ovh .pg-cocard::before{content:"";position:absolute;inset:0 0 auto 0;height:12px;background:linear-gradient(90deg,#FD802E 0 33.3%,#00D4C8 33.3% 66.6%,#F5C518 66.6% 100%)}
body.ovh .pg-cocard h2{color:#F7F4EF;font-weight:900;font-size:clamp(28px,1.4rem + 1.4vw,40px);margin:0 0 26px;padding-left:18px;border-left:8px solid #E3008C;line-height:1.05}
body.ovh .pg-codl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 26px;border-top:2px solid #4A4950}
body.ovh .pg-codl div{padding:18px 20px 18px 0;border-bottom:2px solid #4A4950}
body.ovh .pg-codl dt{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#D1D1D1;margin:0 0 8px}
body.ovh .pg-codl dd{margin:0;font-size:22px;font-weight:800;line-height:1.2}
body.ovh .pg-cocard .pg-co-s{margin:0;max-width:none;color:#D1D1D1;font-size:17px}
/* 404, form result pages, corrections */
body.ovh .pg-404{display:block;font-weight:900;font-size:clamp(96px,16vw,220px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:3px #F7F4EF;margin:0 0 18px}
body.ovh .pg-links a{font-weight:700;text-decoration-thickness:3px;text-underline-offset:5px}
body.ovh .pg-result .wrap{padding-top:8px}
body.ovh .pg-result p.big{font-weight:800;border-left:10px solid #E3008C;padding:6px 0 6px 22px;background:#fff}
body.ovh .pg-tbl thead th{background:#2C2B30;color:#F7F4EF;padding:14px 16px;text-align:left}
body.ovh .pg-tbl td{padding:22px 16px;background:#fff;border-bottom:4px solid #2C2B30;font-weight:700;font-size:20px}
@media (max-width:1100px){body.ovh .pg-glance ol{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.ovh .pg-layout{grid-template-columns:1fr}
 body.ovh .pg-rail{position:static;max-height:none;overflow:visible;margin:40px 0 0;order:-1;background:#fff;padding:18px 20px;border-left-width:6px}
 body.ovh .pg-rail ol{columns:2;column-gap:28px}
 body.ovh .pg-rail li{break-inside:avoid}
 body.ovh .pg-doc.pg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ovh .pg-codl{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ovh .pg-icons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){body.ovh .pg-glance ol{grid-template-columns:1fr 1fr;gap:10px}
 body.ovh .pg-glance a{min-height:0;font-size:18px;padding:14px 14px 16px;gap:10px}
 body.ovh .pg-glance svg{width:30px;height:30px}
 body.ovh .pg-rail ol{columns:1}
 body.ovh .pg-card,body.ovh .pg-ink{padding-left:18px;padding-right:18px}
 body.ovh .pg-rows li{grid-template-columns:1fr;padding:12px 12px}
 body.ovh .pg-boxes{grid-template-columns:1fr}
 body.ovh .pg-doc.pg-grid{grid-template-columns:1fr}
 body.ovh .pg-codl{grid-template-columns:1fr}
 body.ovh .pg-cocard{padding:36px 20px 28px}
 body.ovh .pg-icons{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ovh .pg-doc h2.pg-h{gap:12px}
 body.ovh .pg-doc h2.pg-h::before{font-size:15px;padding:7px 8px 5px}}
/* Music hub (/playlist/) */
body.ovh .mx-hero{padding-bottom:64px}
body.ovh .mx-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:end;width:100%}
body.ovh .mx-cover{max-width:460px;width:100%;justify-self:end}
body.ovh .mx-cover img,body.ovh .mx-feat-c img{display:block;width:100%;height:auto;aspect-ratio:1/1;box-shadow:0 18px 50px rgba(0,0,0,.45)}
body.ovh .mx-slot{aspect-ratio:1/1;background:#201F24;display:grid;place-items:center;border-bottom:12px solid #F5C518}
body.ovh .mx-stats{background:#F7F4EF}
body.ovh .mx-stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
body.ovh .mx-stats li{margin:0;max-width:none;border-top:12px solid #2C2B30;padding:36px 24px 44px 0}
body.ovh .mx-stats li.m{border-top-color:#E3008C}
body.ovh .mx-stats .fn{display:block;font-weight:900;font-size:clamp(34px,1.2rem + 3vw,72px);line-height:.95;letter-spacing:-.02em;color:#2C2B30}
body.ovh .mx-stats li.d .fn{font-size:clamp(26px,1rem + 1.8vw,44px)}
body.ovh .mx-stats .fl{display:block;margin-top:12px;font-size:20px;font-weight:600;color:#2C2B30}
body.ovh .mx-feat{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:center;background:#2C2B30;color:#F7F4EF;padding:28px;margin:8px 0 48px;border-left:10px solid #E3008C}
body.ovh .mx-feat h2{color:#F7F4EF;margin:0 0 10px;font-weight:900;font-size:clamp(28px,1.3rem + 1.6vw,44px);line-height:1.05}
body.ovh .mx-feat a{color:#F7F4EF}
body.ovh .mx-feat a:focus-visible{outline:3px solid #F7F4EF;outline-offset:3px}
body.ovh .mx-kick{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;color:#F7F4EF}
body.ovh .mx-meta{font-size:19px;font-weight:600;color:#D1D1D1;margin:0 0 14px}
body.ovh .mx-h3{font-weight:900;font-size:clamp(26px,1.2rem + 1vw,36px);margin:0 0 8px;padding-top:20px;border-top:10px solid #2C2B30}
body.ovh .mx-note{font-size:17px;color:#4A4950;margin:0 0 20px}
body.ovh .mx-list{list-style:none;margin:0 0 72px;padding:0;border-top:4px solid #2C2B30;columns:2;column-gap:40px}
body.ovh .mx-t{display:grid;grid-template-columns:44px minmax(0,1fr) 26px 52px;gap:0 12px;align-items:center;margin:0;max-width:none;padding:12px 8px;border-bottom:1px solid #CFCBC4;break-inside:avoid}
body.ovh .mx-t:nth-child(odd){background:#fff}
body.ovh .mx-n{font-weight:900;font-size:20px;color:#2C2B30;font-variant-numeric:tabular-nums}
body.ovh .mx-m{min-width:0;display:flex;flex-direction:column;gap:2px}
body.ovh .mx-ti{font-weight:700;font-size:18px;line-height:1.25;color:#2C2B30;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
body.ovh .mx-ti:hover{text-decoration-thickness:3px}
body.ovh .mx-ar{font-size:16px;color:#4A4950;line-height:1.3;overflow-wrap:anywhere}
body.ovh .mx-e{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:3px;background:#2C2B30;color:#F7F4EF;font-size:13px;font-weight:800;line-height:1}
body.ovh .mx-e-key{vertical-align:-4px}
body.ovh .mx-d{font-size:16px;color:#4A4950;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:1100px){body.ovh .mx-list{columns:1}}
@media (max-width:900px){body.ovh .mx-inner{grid-template-columns:1fr;gap:32px}
 body.ovh .mx-cover{justify-self:start;max-width:360px}
 body.ovh .mx-stats ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ovh .mx-feat{grid-template-columns:120px minmax(0,1fr);gap:20px;padding:20px}}
@media (max-width:480px){body.ovh .mx-feat{grid-template-columns:1fr}
 body.ovh .mx-feat-c{max-width:160px}
 body.ovh .mx-stats li{padding:22px 12px 26px 0}
 body.ovh .mx-stats .fl{font-size:16px}
 body.ovh .mx-t{grid-template-columns:30px minmax(0,1fr) 22px;padding:10px 4px;gap:0 8px}
 body.ovh .mx-n{font-size:16px}
 body.ovh .mx-d{grid-column:2;text-align:left;font-size:15px}}
/* At a glance tiles in one column under 360 px, words wrap whole */
body.ovh .pg-glance a,body.ovh .pg-glance span{overflow-wrap:normal;word-break:normal;hyphens:none}
@media (max-width:359px){body.ovh .pg-glance ol{grid-template-columns:1fr}}
/* The ICO link wraps under text spacing on phones, and section headings break between words only */
@media (max-width:599px){body.ovh .pg-sec .nw{white-space:normal;overflow-wrap:anywhere}}
body.ovh .pg-doc h2.pg-h{overflow-wrap:normal;word-break:normal;hyphens:none}
/* Headings keep whole words, so on phones the section number sits above the heading and the heading gets the full width (fits at 320 with WCAG text spacing) */
@media (max-width:599px){body.ovh .pg-doc h2.pg-h{flex-direction:column;gap:10px}}
@media (max-width:359px){body.ovh .pg-doc h2.pg-h{font-size:23px}}
/* Playlist stats band: figures wrap whole words, one column under 360 px */
body.ovh .mx-stats .fn{overflow-wrap:normal}
@media (max-width:359px){body.ovh .mx-stats ul{grid-template-columns:1fr}}
