/* SentryReply · thème sombre pour les pages secondaires (/apply, /privacy,
   /terms, 404). Chargé APRÈS studio.css : il ne fait que réassigner les jetons
   et poser l'atmosphère de l'accueil (css/home.css), sans toucher à la mise en
   page de studio.css.                                                        */

:root{
  color-scheme:dark;
  --cloud:#07080C;
  --paper:#10131B;
  --ink:#EEF1F6;
  --ink-2:#B9C0CC;
  --slate:#8A93A3;
  --slate-2:#6F7787;
  --hair:rgba(255,255,255,.12);
  --hair-soft:rgba(255,255,255,.07);
  --cobalt:#4B6BFF;
  --cobalt-button:#3D5AE8;
  --cobalt-button-hover:#344ED0;
  --control-border:#8A93A3;
  --error:#FFB4AB;
  --cobalt-ink:#7C93FF;
  --cloud-on-ink:#EEF1F6;
  --slate-on-ink:#8A93A3;
  --hair-on-ink:rgba(255,255,255,.14);
  --hair-on-ink-soft:rgba(255,255,255,.07);
  --radius:12px;
  /* jetons de l'accueil, pour le menu partagé (css/menu.css) */
  --text:#EEF1F6;--text-2:#B9C0CC;--muted:#8A93A3;--panel:rgba(255,255,255,.035);--panel-2:rgba(255,255,255,.06);
  --hair-2:rgba(255,255,255,.16);--cobalt-2:#7C93FF;--r:18px;--ease-out:cubic-bezier(.16,1,.3,1);
  --serif:"Instrument Serif",Georgia,serif;
}
html{background:#07080C;scroll-padding-top:var(--header-offset,80px)}
body{
  background:
    radial-gradient(ellipse 60vw 50vw at 0% 0%,rgba(39,66,217,.55),transparent 70%),
    radial-gradient(ellipse 45vw 40vw at 100% 30%,rgba(194,86,42,.28),transparent 70%),
    radial-gradient(ellipse 40vw 35vw at 40% 100%,rgba(91,47,184,.18),transparent 70%),
    #07080C;
  background-attachment:fixed;
  color:var(--ink);
}
::selection{background:var(--cobalt);color:#fff}

/* Nav en verre dépoli */
.nav{background:rgba(7,8,12,.6)!important;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--hair)}

/* Boutons : le principal devient la pastille cobalt lumineuse de l'accueil */
.btn{border-radius:999px;background:var(--cobalt-button);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 10px 40px -10px rgba(75,107,255,.8)}
.btn:hover,.btn:active{background:var(--cobalt-button-hover);text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 14px 50px -8px rgba(75,107,255,.95)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:0 0 0 1px var(--hair) inset}
.btn-ghost:hover,.btn-ghost:active{background:rgba(255,255,255,.06);box-shadow:0 0 0 1px rgba(255,255,255,.22) inset}

/* Champs de formulaire */
input,select,textarea{background-color:var(--paper)!important;color:var(--ink)!important;border-color:var(--control-border)!important;border-radius:10px!important}
input:focus,select:focus,textarea:focus{border-color:var(--cobalt-ink)!important;box-shadow:0 0 0 3px rgba(124,147,255,.25)!important;outline:2px solid var(--cobalt-ink);outline-offset:2px}
input::placeholder,textarea::placeholder{color:var(--slate);opacity:1}
select.control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23B9C0CC' stroke-width='1.5'/%3E%3C/svg%3E")}
select option{background:var(--paper);color:var(--ink)}
input[type=checkbox],input[type=radio]{accent-color:var(--cobalt-button)}
.err,.consent.is-invalid label{color:var(--error)}
.field.is-invalid .control,.control[aria-invalid="true"],input[aria-invalid="true"]{border-color:var(--error)!important}
.consent.is-invalid input{outline:2px solid var(--error);outline-offset:2px}
.status[data-state="error"]{border-color:var(--error)}

/* Titres : la touche serif italique de l'accueil */
h1 em,h2 em,.display em,.h2 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}

/* /apply : rappel de l'offre choisie (?offer=), relié au sélecteur « What are you interested in? » */
.offer-ctx{margin-top:20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:12px 16px;border-radius:12px;border:1px solid rgba(124,147,255,.35);background:rgba(75,107,255,.1);width:fit-content;max-width:100%}
.offer-ctx[hidden]{display:none}
.offer-ctx .mono{font-family:var(--mono,ui-monospace,monospace);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.offer-ctx b{font-weight:700;color:var(--ink)}
.offer-ctx .link{display:inline-flex;align-items:center;min-height:44px;color:var(--cobalt-ink);text-decoration:underline;text-underline-offset:3px}

/* /apply : choix de l'offre en pastilles (radios natifs, cibles de 48 px) */
.offer-pick{border:0;padding:0;margin:0;min-width:0}
.offer-pick legend{font-weight:500;font-size:.9375rem;padding:0;margin-bottom:8px}
.offer-pick:focus{outline:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-radius:999px;border:1px solid var(--control-border);background:var(--paper);font-size:.95rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.chip:hover span{border-color:var(--cobalt-ink);color:var(--ink)}
.chip input:checked+span{border-color:var(--cobalt-ink);background:rgba(75,107,255,.22);color:#fff;box-shadow:0 0 0 1px var(--cobalt) inset}
.chip input:checked+span::before{content:"";flex:none;width:10px;height:5px;margin-right:10px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-2px) rotate(-45deg)}
.chip input:focus-visible+span{outline:2px solid var(--cobalt-ink);outline-offset:3px}
@media (max-width:520px){
  .offer-pick .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer-pick .chip:last-child:nth-child(odd){grid-column:1 / -1}
  .chip{min-width:0}
  .chip span{width:100%;justify-content:center;text-align:center;padding-inline:12px}
}

/* Appel Calendly bien visible (03/10) */
.call-line{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;margin-top:18px;font-size:15px;color:var(--text-2)}
.call-line a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;padding:0 4px;color:var(--text);font-weight:600;text-decoration:underline;text-decoration-color:var(--cobalt-2);text-decoration-thickness:2px;text-underline-offset:5px}
.call-line a:hover{color:var(--cobalt-2)}
.call-line svg,.btn-call svg{width:16px;height:16px;flex:none}
.btn-call{gap:10px}
.talk{margin-top:14px}

/* Conditional application details stay hidden until explicitly needed. */
.field[hidden]{display:none}

/* Keep form content in its intended grid track, including the call alternative. */
.form .grid>.call-line{grid-column:1 / -1}
.form .field{min-width:0;scroll-margin-top:var(--header-offset,80px)}
.form .control{min-width:0}
.legal :is(p,li),.form :is(p,label){overflow-wrap:anywhere}
@media (max-width:900px){
  .nav .brand,.nav .btn{min-height:44px}
  .footer :is(.brand,li>a,a[href^="mailto:"]){display:inline-flex;align-items:center;min-width:44px;min-height:44px}
}
@media (max-width:520px){
  .call-line a{white-space:normal;max-width:100%}
}
