/* The shared menu (site-nav.js) and the shared type, for every page of onemaxbaker.com.
   Self-contained: the pages have different stylesheets, so nothing here relies on their variables. */
#site-nav{--sn-carbon:#0b0c12;--sn-gold:#8EA2FF;--sn-bone:#F4F5FA;--sn-hair:rgba(244,245,250,.16);font-family:'Outfit',Arial,Helvetica,sans-serif;min-height:66px;background:var(--sn-carbon);position:relative;z-index:30}
#site-nav *{box-sizing:border-box}
html:not([data-lang="fr"]) #site-nav .sn-fr,html[data-lang="fr"] #site-nav .sn-en{display:none}
.sn{border-bottom:1px solid var(--sn-hair);background:var(--sn-carbon)}
.sn-shell{max-width:1120px;margin:0 auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sn .sn-shell{padding-top:16px;padding-bottom:16px;max-width:1360px}
.sn-sub .sn-shell{max-width:1360px}
.sn-gold{color:var(--sn-gold)}
.sn-brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--sn-bone);text-decoration:none;line-height:1}
.sn-brand img{flex:none;height:24px;width:auto;display:block}
.sn-right{display:flex;align-items:center;gap:24px}
.sn-links{display:flex;align-items:center;gap:20px}
.sn-links a{color:var(--sn-bone);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;line-height:1.2}
.sn-links a:hover,.sn-links a.is-on{color:var(--sn-gold)}
.sn-links a.sn-cta{color:var(--sn-gold);border:1px solid var(--sn-gold);border-radius:2px;padding:9px 16px;font-weight:700}
.sn-links a.sn-cta:hover{background:var(--sn-gold);color:var(--sn-carbon)}
.sn-lang{display:flex;flex:none;align-items:center;gap:2px}
.sn-lang i{width:1px;height:10px;background:var(--sn-hair)}
.sn-lang button{background:transparent;color:#F4F5FA;border:0;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;padding:6px 5px;cursor:pointer;line-height:1}
.sn-lang button:hover,.sn-lang button[aria-pressed="true"]{color:var(--sn-gold)}
.sn-burger{display:none;flex:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;background:transparent;border:1px solid var(--sn-gold);border-radius:50%;cursor:pointer}
.sn-burger span{display:block;width:16px;height:2px;border-radius:2px;background:var(--sn-gold)}
#site-nav a:focus-visible,#site-nav button:focus-visible{outline:2px solid var(--sn-gold);outline-offset:3px}
@media (max-width:960px){
  .sn{position:relative}
  .sn-right{gap:16px}
  .sn-burger{display:flex}
  .sn-links{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;flex-direction:column;align-items:stretch;gap:0;background:var(--sn-carbon);border-bottom:1px solid var(--sn-hair);padding:0 48px 16px}
  .sn.is-open .sn-links{display:flex}
  .sn-links a{padding:16px 0;border-top:1px solid var(--sn-hair)}
  .sn-links a.sn-cta{margin-top:16px;text-align:center;padding:14px}
  .sn-drop{border-top:1px solid var(--sn-hair);padding:16px 0 4px}
  .sn-drop-btn{pointer-events:none;color:var(--sn-gold)}
  .sn-drop-btn svg{display:none}
  #site-nav .sn-drop-list,#site-nav .sn-drop.is-open .sn-drop-list{display:block;position:static;min-width:0;border:0;box-shadow:none;background:none;padding:6px 0 0;margin:0 -14px}
  .sn-links .sn-drop-list a{padding:10px 14px;border-top:0}
}
@media (max-width:720px){.sn-shell{padding:0 16px}.sn-links{padding:0 16px 16px}}
@media (max-width:520px){.sn-brand{font-size:11px;letter-spacing:.1em;white-space:normal;line-height:1.3;min-width:0}.sn-right{gap:10px}}

/* Services drop-down */
.sn-drop{position:relative}
.sn-drop-btn{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;color:var(--sn-bone);font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.sn-drop-btn:hover,.sn-drop-btn.is-on,.sn-drop.is-open .sn-drop-btn{color:var(--sn-gold)}
.sn-drop-btn svg{transition:transform .2s}
.sn-drop.is-open .sn-drop-btn svg{transform:rotate(180deg)}
.sn-drop-list{display:none;position:absolute;top:calc(100% + 18px);left:-20px;min-width:320px;background:var(--sn-carbon);border:1px solid var(--sn-hair);border-radius:2px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:50}
.sn-drop.is-open .sn-drop-list{display:block}
@media (hover:hover) and (min-width:961px){.sn-drop:hover .sn-drop-list{display:block}.sn-drop:hover .sn-drop-btn{color:var(--sn-gold)}.sn-drop::after{content:'';position:absolute;left:0;right:0;top:100%;height:20px}}
.sn-links .sn-drop-list a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:0;text-transform:none;letter-spacing:0;white-space:normal;border:0}
.sn-drop-list a b{font-size:15px;font-weight:700;color:var(--sn-bone)}
.sn-drop-list a small{font-size:13px;color:rgba(244,245,250,.6)}
.sn-drop-list a:hover,.sn-drop-list a.is-on{background:rgba(142,162,255,.12)}
.sn-drop-list a:hover b,.sn-drop-list a.is-on b{color:var(--sn-gold)}

/* Second row on a sub page: the page's name and its sections; scrolls sideways on a phone. */
.sn-sub{background:#0e0e0e;border-bottom:1px solid var(--sn-hair)}
.sn-sub .sn-shell{justify-content:flex-start;gap:28px;padding-top:12px;padding-bottom:12px}
.sn-sub-name{flex:none;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sn-bone);white-space:nowrap}
.sn-sub-links{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0}
.sn-sub-links::-webkit-scrollbar{display:none}
.sn-sub-links a{flex:none;color:rgba(244,245,250,.68);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.sn-sub-links a:hover{color:var(--sn-gold)}
@media (min-width:721px){.sn-sub .sn-shell{justify-content:center}}  /* centred on desktop (Max, 9 Oct); a phone keeps it left so it can scroll */
@media (max-width:720px){.sn-sub .sn-shell{gap:16px}.sn-sub-name{display:none}}

/* Shared type: /reset and /folio (the .fs-page pages) set in the front page's weights. */
.fs-page h1,.fs-page h2,.fs-page h3{font-weight:700!important;letter-spacing:-0.02em}
.fs-page p,.fs-page .fs-lead,.fs-page .fs-body{font-weight:400!important}
.fs-page .fs-label{font-weight:700!important;letter-spacing:.16em}
.fs-page .fs-btn{font-weight:700;font-size:13px;letter-spacing:.14em}

/* Buttons (Max, 7 Oct 2026): square everywhere, like the original site (round felt less serious). */
.cta,.cta-ghost,.fs-page .fs-btn,.form button[type="submit"]{border-radius:2px!important}

/* Hero titles (Max, 7 Oct 2026): the same size and style on every page, set by the front page (Poppins 700, up to 76px, sentence case). */
.fs-page .fs-hero h1,.fs-page .fo-hero h1{font-size:clamp(44px,9vw,76px)!important;line-height:1.05!important;text-transform:none!important;letter-spacing:-0.02em!important;font-weight:700!important}
.fs-page .fs-hero .fs-h1-line{white-space:normal!important}

/* Trailer band (9 Oct 2026; 10 Oct: framed at page width, not edge to edge): video right under the hero, front page and /business. Sound on, starts on a click. */
.trailer{background:#0b0c12;line-height:0;padding:0 48px 112px!important;margin:-56px 0 0}
.trailer-box{position:relative;max-width:1024px;margin:0 auto;border:1px solid rgba(142,162,255,.28);box-shadow:0 0 70px rgba(142,162,255,.10)}
.hero-home + .trailer{margin-top:0!important}  /* front page: the hero photo runs to its edge, no overlap */
.trailer video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.trailer-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;background:rgba(0,0,0,.18);border:0;cursor:pointer;color:#F4F5FA;font:600 13px/1 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.trailer-play span.ring{width:76px;height:76px;border:1.5px solid #8EA2FF;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(14,14,14,.55);box-shadow:0 0 40px rgba(142,162,255,.25);transition:transform .2s}
.trailer-play:hover span.ring{transform:scale(1.06)}
.trailer.is-playing .trailer-play{display:none}
.trailer video::cue{font-family:Outfit,Arial,sans-serif;font-size:.95em;color:#F4F5FA;background:rgba(14,14,14,.72)}
@media (max-width:720px){.trailer{padding:0 16px 72px!important;margin-top:-24px}.trailer-play span.ring{width:58px;height:58px}.trailer-play .tl{display:none}}

/* Back to top (19 Oct 2026, Max) */
.to-top{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(11,12,18,.86);color:#8EA2FF;border:1px solid #8EA2FF;z-index:90;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.to-top.on{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{background:#8EA2FF;color:#0b0c12}

/* ===== ESSAI ARRONDI (20 Oct 2026, Max: corners like One, "try the buttons").
   To undo: delete this block and bump ?v= on site-nav.css. ===== */
.result,.note,.plan,.plan .founder,.guarantee,.sample,.sent,.talk a,.facts-band,.facts4 div,.alacarte,.partner,
#one .levels>div,#one .quote-band,.custom>div,.scr-set,.scr-frame,.calc-card,.ui,
.fs-doc-card,.fo-thumb,.fo-soon,.fo-alacarte,.fo-album iframe,.fo-modal-frame,.fo-shots img,
.fs-price-card,.fs-testi-card,.fs-table-wrap,.fs-photo-row img,
.way,.pcal,.talk-card,.depot,.trailer-box,.trailer-box video,.sn-drop-list{border-radius:16px!important;overflow:hidden}
.bub,.done,.ask,.form input,.form textarea,input,textarea,select{border-radius:12px!important}
.cta,.cta-ghost,.fs-page .fs-btn,.fs-btn,.form button[type="submit"],.sn-links a.sn-cta,.btn,.btn-mini,.chip,
.billing,.billing button,.scr-tabs button,.lang,.fo-lang,.fs-tag,.fs-price-tag,.seg,.lk{border-radius:999px!important} /* round, Max went back to pills (20 Oct) */
.lang,.billing,.seg{overflow:hidden}

/* ===== PASTEL CYCLE (20 Oct 2026, Max: « use it more, especially purple ») =====
   Top lines of repeated cards cycle lavender · sky · mint · rose (lavender first). Gold stays for the brand,
   headings and our own offer. Light-pastel lines; darker shade for small labels on light backgrounds. */
:root{--pl-lav:#b9aee0;--pl-sky:#9cc3e6;--pl-mint:#a8d5ba;--pl-rose:#e7a9b8;--pd-lav:#7e70c4;--pd-sky:#4f8cc0;--pd-mint:#4e9a6e;--pd-rose:#c06a80}
:is(#one .levels>div,.feature,.get,.step,.why4>div,.month,.facts4 div,.calc-card:not(.ours)):nth-child(4n+1){--pl:var(--pl-lav);--pd:var(--pd-lav)}
:is(#one .levels>div,.feature,.get,.step,.why4>div,.month,.facts4 div,.calc-card:not(.ours)):nth-child(4n+2){--pl:var(--pl-sky);--pd:var(--pd-sky)}
:is(#one .levels>div,.feature,.get,.step,.why4>div,.month,.facts4 div,.calc-card:not(.ours)):nth-child(4n+3){--pl:var(--pl-mint);--pd:var(--pd-mint)}
:is(#one .levels>div,.feature,.get,.step,.why4>div,.month,.facts4 div,.calc-card:not(.ours)):nth-child(4n+4){--pl:var(--pl-rose);--pd:var(--pd-rose)}
#one .levels>div,.feature,.get,.step,.why4>div,.month,.calc-card:not(.ours){border-top-color:var(--pl,var(--gold))!important}
#one .levels .num{color:var(--pd,var(--gold))!important}
.light #one .levels .num,#one.light .levels .num{color:var(--pd,var(--gold))!important}
.dark .feature,.dark .step{--pd:var(--pl)}
/* À votre mesure: labels pastel, the One+ card framed in lavender */
.custom>div:nth-child(1) .tag{color:var(--pd-sky)!important}
.custom>div.inc{border-color:var(--pl-lav)!important}
.custom>div.inc .tag{color:var(--pd-lav)!important}
.custom>div:nth-child(3) .tag{color:var(--pd-mint)!important}
/* Same pastel treatment on every page (20 Oct 2026, Max: « other pages, do the same ») */
.billing{width:max-content;margin-inline:auto!important;padding:4px;gap:4px;border:1px solid rgba(241,242,247,.16);border-radius:999px;background:rgba(255,255,255,.04)}
.billing button{border:0!important;color:var(--bone-dim,#9ea2ae)!important;background:transparent!important;min-width:130px}
.billing button[aria-pressed="true"]{background:var(--bone,#f1f2f7)!important;color:var(--carbon,#0b0c12)!important}
.plan.core{border-color:var(--pl-sky)!important}.fs-price-card.fs-price-featured{border-color:var(--pl-lav)!important}
.plans>.plan:nth-child(1) .label{color:var(--pl-mint)}.plans>.plan:nth-child(2) .label{color:var(--pl-sky)}.plans>.plan:nth-child(3) .label{color:var(--pl-lav)}
.doors>.door:nth-child(1) h3::after{border-top-color:var(--pl-lav)}.doors>.door:nth-child(2) h3::after{border-top-color:var(--pl-sky)}.doors>.door:nth-child(3) h3::after{border-top-color:var(--pl-mint)}
.fs-doc-card{border-top:3px solid var(--pl-lav)}.fs-doc-card:nth-child(4n+2){border-top-color:var(--pl-sky)}.fs-doc-card:nth-child(4n+3){border-top-color:var(--pl-mint)}.fs-doc-card:nth-child(4n+4){border-top-color:var(--pl-rose)}
/* founder box takes its card's colour (20 Oct 2026, Max) */
.plans>.plan:nth-child(1){--pc:var(--pl-mint)}.plans>.plan:nth-child(2){--pc:var(--pl-sky)}.plans>.plan:nth-child(3){--pc:var(--pl-lav)}
.plans>.plan .founder{border-color:var(--pc,var(--gold))!important;color:var(--pc,var(--gold))!important}
.plans>.plan .founder b{color:var(--pc,var(--bone))!important}
.oneos{text-transform:none!important} /* OneOS keeps its casing inside caps labels (28 Oct 2026) */

/* Logo OneOS B2 (28 Oct 2026, projet 1OS-26-013) : anneau dégradé qui tourne doucement + « neOS ». */
.mq-logo{display:inline-flex;align-items:center;font-family:'Outfit',Arial,sans-serif;font-weight:500;line-height:1;letter-spacing:-.035em;color:#F4F5FA;text-transform:none;white-space:nowrap}
.mq-logo b{font-weight:600}
.mq-ring{--t:.16em;position:relative;width:.74em;height:.74em;margin-right:.02em;transform:translateY(.02em);flex:none;display:inline-block}
.mq-ring i{position:absolute;inset:0;border-radius:50%;animation:mqspin 9s linear infinite}
.mq-ring i::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 200deg,#7b5cff,#3fd0ff,#2fe6b0,#3fd0ff,#b04dff,#7b5cff);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px))}
.mq-ring i.g{filter:blur(.1em);opacity:.95}.mq-ring i.h{filter:blur(.32em);opacity:.8}
@keyframes mqspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mq-ring i{animation:none}}
#site-nav .sn-brand .mq-logo{font-size:26px;letter-spacing:-.035em}

/* ===== CONNEXION (29 Oct 2026, Max: a login button so members reach their space) =====
   Desktop: text link with a person icon, just before « Réserver un appel ». Phone/tablet: a round icon
   the same size as the burger, beside it (the text link is hidden in the open menu to avoid a double). */
.sn-links a.sn-login{display:inline-flex;align-items:center;gap:7px}
.sn-links a.sn-login svg{flex:none;margin-top:-1px}
.sn-login-m{display:none;flex:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--sn-gold);border-radius:50%;color:var(--sn-gold);text-decoration:none}
.sn-login-m:hover{background:var(--sn-gold);color:var(--sn-carbon)}
@media (max-width:960px){.sn-login-m{display:flex}.sn-links a.sn-login{display:none}}
@media (min-width:961px) and (max-width:1100px){#site-nav .sn-links a.sn-login span{display:none}} /* narrow laptop: icon only, so the bar never overflows */

/* Plain menu links in the HTML (31 Oct 2026, SEO): Google reads them without JavaScript; site-nav.js replaces them at once. Same row height, so nothing jumps. */
#site-nav>.sn-fb{display:flex;align-items:center;gap:18px;height:66px;padding:0 24px;overflow:hidden;white-space:nowrap}
#site-nav>.sn-fb a{color:var(--sn-bone);font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
