@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root { color-scheme:dark; font-family:'DM Sans',Arial,sans-serif; color:#f6f9ff; background:#081c35; }
* { box-sizing:border-box; }
body { margin:0; min-width:280px; -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
.icon { width:24px; height:24px; flex:none; }
.launch-background { position:fixed; inset:0; z-index:-1; overflow:hidden; background:#081c35; }
.launch-background > img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.launch-veil { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,20,39,.82) 0%,rgba(6,24,47,.69) 30%,rgba(6,25,48,.76) 66%,rgba(4,16,33,.96) 100%),linear-gradient(90deg,rgba(7,28,53,.25),rgba(10,43,74,.12)); }
.launch-page { min-height:100svh; display:flex; flex-direction:column; width:min(1440px,100%); margin:auto; padding:28px 48px 24px; }
.launch-header { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ecosystem-brand { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:0; min-width:148px; padding:2px 12px; border:1px solid #dce4ee; border-radius:8px; background:#fff; box-shadow:0 2px 6px #00000010; line-height:1; }
.brand-art { position:relative; display:inline-block; width:102px; aspect-ratio:1080/318; overflow:hidden; flex:none; isolation:isolate; vertical-align:middle; background:#fff; }
.brand-art > img { position:absolute; display:block; width:128.24074074%; max-width:none; height:auto; left:-19.44444444%; top:-52.20125786%; filter:contrast(1.08); mix-blend-mode:multiply; }
.ecosystem-brand-caption { font-size:.75rem; line-height:1; font-weight:500; color:#142c4b; }
.header-date { display:flex; align-items:center; gap:16px; color:#bccbdd; font-size:.75rem; font-weight:500; letter-spacing:.13em; }
.header-date > span { padding-left:16px; border-left:1px solid #c3d4eb4d; color:#fff; font-size:.875rem; letter-spacing:.08em; }
.launch-main { width:100%; max-width:1000px; margin:auto; text-align:center; padding:62px 0 38px; }
.launch-date-badge { display:flex; align-items:center; justify-content:center; gap:14px; color:#b7ddff; font-size:.8125rem; letter-spacing:.15em; font-weight:600; line-height:1.5; }
.date-line { height:1px; width:28px; background:#71b7ef; opacity:.75; }
h1 { font-family:'Manrope',Arial,sans-serif; font-size:clamp(3.6rem,6.8vw,6.15rem); font-weight:750; line-height:1.06; letter-spacing:-.06em; margin:27px 0 20px; text-shadow:0 3px 26px #051b3345; }
h1 > span { color:#80caff; }
.launch-description { margin:0; font-size:1.1875rem; line-height:1.7; color:#e3edfa; font-weight:400; }
.mobile-break { display:none; }
.launch-countdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; width:min(700px,100%); margin:38px auto 20px; }
.clock-unit { position:relative; min-width:0; padding:23px 12px 20px; border:1px solid #b9d8fa40; border-radius:16px; background:linear-gradient(150deg,#ddecff17,#16365352); box-shadow:inset 0 1px 0 #f3f9ff0f,0 12px 32px #03132926; backdrop-filter:blur(18px); }
.clock-value { display:block; color:#fff; font-family:'Manrope',Arial,sans-serif; font-size:clamp(2.7rem,5.4vw,4.9rem); font-weight:650; line-height:1.05; font-variant-numeric:tabular-nums lining-nums; letter-spacing:-.03em; }
.clock-label { display:block; margin-top:14px; color:#c8ddf4; font-size:.75rem; text-transform:uppercase; font-weight:500; letter-spacing:.14em; }
.launch-time { margin:0; color:#c8d7e9; font-size:.875rem; line-height:1.7; }
.launch-time time { color:#edf5ff; font-weight:500; }
.launch-complete { margin:16px 0; font-size:1rem; color:#e3f2ff; }
.noscript-note { color:#edf5ff; font-size:1rem; }
.platform-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; width:min(790px,100%); margin:45px auto 0; padding:25px 0 0; border-top:1px solid #c1dcff2e; }
.launch-platform { display:flex; align-items:center; justify-content:center; gap:12px; text-align:left; padding:0 20px; }
.launch-platform + .launch-platform { border-left:1px solid #c1dcff2e; }
.platform-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #d5e7ff30; border-radius:11px; background:#bfd8f00c; flex:none; }
.platform-icon .icon { width:21px; height:21px; }
.platform-icon.crew { color:#9cdcc6; }
.platform-icon.lodge { color:#f0c89d; }
.platform-icon.project { color:#9fcaff; }
.launch-platform strong { display:block; font-size:.9375rem; font-weight:600; line-height:1.4; }
.launch-platform div > span { display:block; margin-top:4px; font-size:.8125rem; line-height:1.5; color:#bdcfe3; }
.launch-ai { display:flex; justify-content:center; align-items:center; gap:8px; color:#a9c2de; font-size:.8125rem; margin:25px 0 0; }
.launch-ai .icon { width:16px; height:16px; }
.launch-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:.75rem; color:#a6bbd2; line-height:1.6; }
.canadian-note { display:flex; align-items:center; gap:8px; white-space:nowrap; color:#c2d2e4; }
.canadian-note > span { font-size:1.125rem; }
.launch-actions { display:flex; justify-content:center; margin-top:25px; }
.launch-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 23px; border:1px solid #b7ddff; border-radius:10px; background:#b7ddff; color:#0b2948; font:600 1rem/1.4 'DM Sans',Arial,sans-serif; cursor:pointer; box-shadow:0 5px 20px #03132926; transition:background .16s ease,box-shadow .16s ease; }
.launch-contact-button .icon { width:20px; height:20px; }
.launch-contact-button:hover { background:#d4eaff; box-shadow:0 6px 24px #03132945; }
.launch-contact-button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.noscript-note a { color:inherit; }
.launch-contact-dialog { color-scheme:light; width:calc(100% - 32px); max-width:480px; max-height:calc(100dvh - 32px); padding:0; margin:auto; overflow:auto; border:1px solid #dae5f0; border-top:4px solid #338ac7; border-radius:20px; background:#fff; color:#142c4b; box-shadow:0 25px 100px #00000050; font:400 1rem/1.55 'DM Sans',Arial,sans-serif; }
.launch-contact-dialog::backdrop { background:#031426b8; backdrop-filter:blur(7px); }
.contact-card-content { position:relative; padding:32px; }
.contact-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#58708a; cursor:pointer; }
.contact-close:hover { background:#edf4fa; color:#142c4b; }
.contact-eyebrow { display:block; padding-right:28px; font-size:.75rem; font-weight:700; letter-spacing:.13em; color:#3f6f94; }
.contact-identity { display:flex; align-items:center; gap:17px; margin-top:24px; }
.contact-monogram { width:62px; height:62px; flex:none; display:grid; place-items:center; border:1px solid #d6e7f5; border-radius:17px; background:#edf5fc; color:#175582; font:700 1.375rem/1 'Manrope',Arial,sans-serif; }
.contact-identity h2 { margin:0; font:750 1.75rem/1.2 'Manrope',Arial,sans-serif; letter-spacing:-.04em; }
.contact-identity p { margin:5px 0 0; color:#536c83; font-size:.9375rem; }
.contact-intro { margin:22px 0; color:#53677c; font-size:1rem; line-height:1.65; }
.contact-details { font-style:normal; border-block:1px solid #e1e9f1; }
.contact-details a { position:relative; display:block; padding:16px 32px 16px 0; color:#142c4b; text-decoration:none; }
.contact-details a + a { border-top:1px solid #e1e9f1; }
.contact-details span { display:block; margin-bottom:3px; color:#5b7187; font-size:.875rem; }
.contact-details strong { font-size:1.0625rem; font-weight:600; overflow-wrap:anywhere; }
.contact-details .icon { position:absolute; right:0; top:50%; width:19px; height:19px; transform:translateY(-50%); color:#3b759f; }
.contact-details a:hover strong { color:#166394; text-decoration:underline; text-underline-offset:3px; }
.contact-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.contact-card-actions a { display:flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px; border:1px solid #d6e2ed; border-radius:10px; font-size:.9375rem; line-height:1.45; font-weight:600; text-decoration:none; }
.contact-card-actions .icon { width:18px; height:18px; }
.contact-card-actions .contact-email { background:#123d64; border-color:#123d64; color:white; }
.contact-card-actions .contact-email:hover { background:#1d547e; }
.contact-call { background:#fff; color:#123d64; }
.contact-call:hover { background:#edf4fa; }
.contact-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:28px; padding-top:22px; border-top:1px solid #e1e9f1; }
.contact-card-footer > span:last-child { color:#5b7187; font-size:.75rem; }
.launch-contact-dialog :focus-visible { outline:3px solid #287bb5; outline-offset:3px; }
@media(max-width:480px) {
  .contact-card-content { padding:28px 22px 24px; }
  .contact-identity { gap:12px; }
  .contact-identity h2 { font-size:1.5rem; }
  .contact-monogram { width:52px; height:52px; border-radius:14px; }
  .contact-card-footer { justify-content:center; text-align:center; }
}
@media(max-width:340px) { .contact-card-actions { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .launch-contact-button { transition:none; } }
@media(min-width:1600px) { .launch-main { padding-block:70px; } }
@media(max-width:960px) {
  .launch-page { padding:24px 30px; }
  .launch-main { padding-top:60px; }
  .launch-platform { padding-inline:14px; gap:10px; }
  .launch-platform div > span { font-size:.75rem; }
}
@media(max-width:640px) {
  .launch-page { padding:20px 22px; }
  .launch-header { gap:16px; }
  .header-date { font-size:0; gap:0; }
  .header-date > span { font-size:.75rem; padding-left:0; border:0; }
  .launch-main { padding:52px 0 32px; }
  .launch-date-badge { font-size:.75rem; letter-spacing:.08em; gap:10px; }
  .date-line { width:15px; }
  h1 { font-size:clamp(2.9rem,9.8vw,4.1rem); margin:25px 0 20px; }
  .launch-description { font-size:1rem; line-height:1.65; }
  .mobile-break { display:block; }
  .launch-countdown { gap:8px; margin-top:30px; }
  .clock-unit { padding:17px 5px 15px; border-radius:12px; }
  .clock-value { font-size:clamp(1.65rem,7.2vw,2.85rem); }
  .clock-label { margin-top:10px; font-size:.75rem; letter-spacing:.025em; }
  .launch-time { font-size:.8125rem; }
  .launch-time > span[aria-hidden] { display:none; }
  .launch-time > span:last-child { display:block; }
  .platform-strip { margin-top:31px; padding-top:25px; gap:12px; }
  .launch-platform { flex-direction:column; text-align:center; padding:0 5px; gap:10px; }
  .launch-platform + .launch-platform { border:0; }
  .launch-platform strong { font-size:.8125rem; }
  .launch-platform div > span { display:none; }
  .launch-ai { margin-top:23px; }
  .launch-footer { flex-direction:column-reverse; justify-content:center; gap:10px; font-size:.75rem; }
}
@media(max-width:340px) {
  .launch-page { padding-inline:14px; }
  .header-date { display:none; }
  .launch-header { justify-content:center; }
  .launch-date-badge { letter-spacing:0; }
  h1 { font-size:2.65rem; }
  .clock-label { letter-spacing:0; font-size:.75rem; }
  .platform-strip { gap:6px; }
}
/* 2026-10-02 two-platform copy preview */
.launch-line { margin:10px 0 0; font-size:1rem; font-weight:600; color:#80caff; }
.platform-strip { width:min(1040px,100%); }
.launch-platform { align-items:flex-start; justify-content:flex-start; }
.launch-platform div > span { max-width:30ch; }
.launch-platform .status { display:inline-block; font-style:normal; font-size:.6875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:2px 8px; border-radius:999px; margin-bottom:6px; }
.launch-platform .status.live { background:#1f7cff33; color:#9fd4ff; border:1px solid #80caff66; }
.launch-platform .status.soon { background:transparent; color:#bdcfe3; border:1px dashed #bdcfe380; }
.launch-platform.next { opacity:.82; }
@media(max-width:640px) {
  .platform-strip { grid-template-columns:1fr; gap:18px; }
  .launch-platform { flex-direction:row; text-align:left; padding:0; }
  .launch-platform div > span { display:block; max-width:none; }
}
h1 { font-size:clamp(3rem,5vw,4.6rem); }
@media(max-width:640px) { h1 { font-size:clamp(2.3rem,8.4vw,3.4rem); } }
