body{margin:0;background:#050C1A;color:#F5F7FA;font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#F5F7FA}a:hover{color:#8FB0FF}
*{box-sizing:border-box}
[hidden]{display:none!important}
input::placeholder{color:#7F8BA0}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}

.btn{border:0;cursor:pointer;background:#0A55FF;color:#fff;border-radius:999px;font-family:'Inter Tight',sans-serif;font-weight:600;transition:background .15s}
.btn:hover{background:#0843CC}
.btn:disabled{opacity:.7;cursor:wait}

/* Image/video placeholders — replace each .slot with an <img> or <video> */
.slot{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:12px;background:#0C1C36;color:#7F8BA0;font-size:13px;border:1px dashed #22365A}
.slot.circle{border-radius:50%}
.slot-media{width:100%;height:100%;object-fit:cover;display:block}

/* Modal */
.modal{position:fixed;inset:0;z-index:50;background:rgba(3,8,18,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.modal-card{position:relative;width:min(100%,480px);background:#0C1C36;border-radius:24px;padding:clamp(24px,4vw,36px);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;cursor:pointer;font-size:24px;color:#9AA6BA}
.modal form{display:flex;flex-direction:column;gap:16px}
.modal input{font:400 17px 'Inter Tight',sans-serif;padding:18px;border-radius:14px;border:1px solid #22365A;background:#050C1A;color:#F5F7FA;outline:none;width:100%}
.modal input:focus{border-color:#0A55FF;box-shadow:0 0 0 3px rgba(10,85,255,.25)}
.modal-error{font-size:14px;color:#FF8A7A}

/* Phone field with country picker + email typo hint (js/fields.js) */
.phone-field{display:flex;align-items:stretch;gap:8px;width:100%}
.phone-field input{flex:1;min-width:0}
.cc{position:relative;flex:none;display:flex;align-items:center;padding:0 14px;border-radius:14px;border:1px solid #22365A;background:#050C1A;color:#F5F7FA;font:500 16px 'Inter Tight',sans-serif;cursor:pointer;white-space:nowrap}
.cc select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;font-size:16px}
.cc:focus-within{border-color:#0A55FF;box-shadow:0 0 0 3px rgba(10,85,255,.25)}
.email-hint{margin-top:8px;font-size:15px;color:#C3CCDB}
.email-hint button{border:0;background:none;padding:0;color:#8FB0FF;font:600 15px 'Inter Tight',sans-serif;text-decoration:underline;cursor:pointer}

/* Cookie banner (js/consent.js) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:#0C1C36;border:1px solid #22365A;border-radius:16px;padding:16px 18px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);font:400 14px/1.5 'Inter Tight',system-ui,sans-serif;color:#C3CCDB}
.consent p{margin:0;flex:1 1 260px}
.consent a{color:#8FB0FF}
.consent-actions{display:flex;gap:8px;flex:none}
.consent-actions button{border:1px solid #3A5078;background:transparent;color:#F5F7FA;font:600 14px 'Inter Tight',sans-serif;padding:10px 18px;border-radius:999px;cursor:pointer}
.consent-actions button:hover{border-color:#8FB0FF}
/* Same weight for both choices (Dutch DPA guidance): Accept is not visually favoured. */
