*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#05070a;font-family:Arial,Helvetica,sans-serif}
body{overflow-x:hidden}.stage{width:100%;min-height:100svh;display:flex;justify-content:center;align-items:flex-start;background:#05070a}
.hero-wrap{position:relative;width:100%;max-width:1920px}.hero{display:block;width:100%;height:auto}
.signup-overlay{position:absolute;left:10.25%;right:10.25%;top:83.0%;height:5.25%;display:grid;grid-template-columns:1fr 1fr 1.18fr 1.14fr;gap:.7%;align-items:stretch}
.signup-overlay input,.signup-overlay button{height:100%;min-width:0;border-radius:9px;font-size:clamp(8px,1vw,16px)}
.signup-overlay input{border:0;background:transparent;color:#fff;outline:none;caret-color:#ffd2c3;padding-top:0;padding-bottom:0;line-height:1}
.signup-overlay input::placeholder{color:transparent}.signup-overlay input:focus{border-color:#ffb39b;box-shadow:0 0 0 2px rgba(255,153,120,.15)}
.signup-overlay button{border:0;background:transparent;color:transparent;font-weight:800;cursor:pointer;padding:0 4%}
.signup-overlay button:hover{filter:brightness(1.06)}.signup-overlay button:disabled{opacity:.72;cursor:wait}
.form-message{position:absolute;left:0;right:0;top:112%;text-align:center;font-size:clamp(8px,.9vw,14px);font-weight:700;color:#fff;text-shadow:0 1px 4px #000}
.form-message.success{color:#ffd2c3}.form-message.error{color:#ffb4aa}
@media(max-width:700px){.hero-wrap{min-width:700px}.stage{overflow-x:auto;justify-content:flex-start}}

.signup-overlay input[name="full_name"]{padding-left:20%;padding-right:5%}
.signup-overlay input[name="email"]{padding-left:20%;padding-right:5%}
.signup-overlay input[name="phone"]{padding-left:38%;padding-right:4%}
.signup-overlay input{display:flex;align-items:center}

/* v0.9 premium form treatment */
.signup-overlay input{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:500;
  letter-spacing:.01em;
  color:#e9a487;
  caret-color:#f4ad90;
  line-height:normal;
  transition:box-shadow .18s ease, background .18s ease, color .18s ease;
}
.signup-overlay input[name="full_name"]{
  padding-left:20%;
  padding-right:5%;
  background:linear-gradient(90deg,transparent 0 16%,rgba(8,14,24,.985) 16% 100%);
}
.signup-overlay input[name="email"]{
  padding-left:20%;
  padding-right:5%;
  background:linear-gradient(90deg,transparent 0 16%,rgba(8,14,24,.985) 16% 100%);
}
.signup-overlay input[name="phone"]{
  padding-left:38%;
  padding-right:4%;
  background:linear-gradient(90deg,transparent 0 34%,rgba(8,14,24,.985) 34% 100%);
}
.signup-overlay input::placeholder{color:#8d8d94;opacity:1}
.signup-overlay input:focus{
  box-shadow:inset 0 0 0 1px rgba(244,173,144,.55),0 0 14px rgba(233,164,135,.12);
}
.signup-overlay input:focus::placeholder{color:#777a82}

/* v1.0 confirmation UX */
.button-zone{position:relative;height:100%;min-width:0}
.button-zone button{width:100%;height:100%}
.button-message{position:absolute;left:-4%;right:-4%;text-align:center;pointer-events:none;opacity:0;transition:opacity .35s ease;white-space:nowrap;text-shadow:0 1px 5px #000}
.button-message.show{opacity:1}
.button-message.top{bottom:112%;color:#f0a487;font-size:clamp(8px,.88vw,14px);font-weight:800;letter-spacing:.035em}
.button-message.bottom{top:112%;color:#c9b3aa;font-size:clamp(7px,.72vw,12px);font-weight:600}
.form-message{display:none!important}

/* v1.0.1 confirmation typography */
.button-message.bottom{
  color:#d7a08c;
  font-size:clamp(8px,.80vw,13px);
  font-weight:600;
  letter-spacing:.01em;
}

/* v1.1: Mobile-first adaptation of the exact original artwork, no changes to desktop */
.mobile-scene,.mobile-form-heading,.mobile-footer{display:none}
@media(max-width:700px){
  html,body{width:100%;overflow-x:hidden;background:#05070b}
  .stage{display:block;width:100%;min-height:100svh;overflow-x:hidden;background:linear-gradient(#11101a,#05070b)}
  .hero-wrap{min-width:0!important;max-width:none;width:100%;overflow:visible}
  .hero{display:none}
  .mobile-scene{display:block;width:100%;overflow:hidden;background:#05070b}
  .mobile-logo-scene{height:clamp(146px,43vw,205px);background-image:url('/assets/hero.png');background-repeat:no-repeat;background-size:720px 480px;background-position:center -3px}
  .mobile-mouse-scene{height:clamp(305px,90vw,450px);background-image:url('/assets/hero.png');background-repeat:no-repeat;background-size:810px 540px;background-position:left -40px top -190px;border-bottom:1px solid rgba(245,163,127,.55);box-shadow:0 8px 20px rgba(240,117,70,.12)}
  .signup-overlay{position:relative;top:auto;left:auto;right:auto;height:auto;width:calc(100% - 28px);margin:18px auto 34px;padding:22px 17px 22px;display:flex;flex-direction:column;gap:13px;align-items:stretch;border:1px solid rgba(249,166,133,.8);border-radius:22px;background:linear-gradient(145deg,rgba(28,24,30,.98),rgba(6,11,20,.98));box-shadow:0 0 22px rgba(233,118,74,.17),inset 0 0 24px rgba(242,126,89,.04)}
  .mobile-form-heading{display:block;text-align:center;margin-bottom:9px}
  .mobile-gift{display:block;color:#efb29a;font-size:32px;line-height:1.1;margin-bottom:7px}
  .mobile-form-heading h1{color:#f6e6e1;font-size:clamp(16px,4.5vw,23px);letter-spacing:.10em;line-height:1.35;margin:0 0 9px}
  .mobile-form-heading p{color:#d9cbc9;font-size:13px;line-height:1.5;margin:0}
  .signup-overlay input{display:block;width:100%;height:55px;min-height:55px;flex:none;font-size:16px!important;border:1px solid rgba(176,127,113,.45);border-radius:12px;background:#09111e!important;padding:0 16px!important;color:#e9a487;box-shadow:inset 0 0 8px rgba(0,0,0,.35)}
  .signup-overlay input::placeholder{color:#98949a;opacity:1}
  .signup-overlay input:focus{border-color:#f0a487;box-shadow:0 0 0 2px rgba(233,164,135,.17),0 0 13px rgba(233,164,135,.1);outline:none}
  .button-zone{position:relative;height:auto;min-height:118px;padding-top:27px;padding-bottom:36px;margin-top:1px}
  .button-zone button{height:55px;min-height:55px;width:100%;border:1px solid #f7b79f;border-radius:13px;background:linear-gradient(180deg,#ffd2be,#ed9476);color:#1d1010;font-size:clamp(12px,3.3vw,16px)!important;font-weight:800;box-shadow:0 0 16px rgba(244,143,109,.33);cursor:pointer}
  .button-zone button:active{filter:brightness(.92)}
  .button-message{left:0;right:0;white-space:normal;text-align:center;text-shadow:0 1px 4px #000}
  .button-message.top{top:0;bottom:auto;font-size:12px;line-height:20px}
  .button-message.bottom{top:auto;bottom:0;font-size:11px;line-height:27px}
  .mobile-footer{display:block;text-align:center;color:#e2d1d1;font-size:11px;letter-spacing:.19em;margin-top:1px;white-space:nowrap}
  .mobile-footer span{color:#e9a487;padding:0 5px}
}
@media(min-width:701px){.mobile-scene,.mobile-form-heading,.mobile-footer{display:none!important}}

/* v1.2: show complete curated original-art crops, never cover-crop the mouse */
@media(max-width:700px){
 .mobile-logo-scene{
  height:auto;aspect-ratio:1090/290;
  background-image:url('/assets/mobile-logo.png');
  background-size:100% 100%;
  background-position:center;
 }
 .mobile-mouse-scene{
  height:auto;aspect-ratio:1370/455;
  background-image:url('/assets/mobile-office.png');
  background-size:100% 100%;
  background-position:center;
 }
 .signup-overlay{margin-top:12px}
}

/* v1.3 — single continuous mobile hero, no split/cropped ears */
@media(max-width:700px){
  .mobile-scene{display:block;width:100%;height:auto;overflow:hidden;line-height:0;background:#080b12}
  .mobile-continuous-art{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
  .signup-overlay{margin-top:12px}
}
@media(min-width:701px){.mobile-continuous-art{display:none}}

/* v1.4: functional international phone selector (desktop and mobile) */
.signup-overlay .international-phone{position:relative;min-width:0;height:100%;display:flex;align-items:stretch;border-radius:9px;background:#09111e;border:1px solid rgba(185,125,107,.48);isolation:isolate}
.signup-overlay .international-phone:focus-within{border-color:#f0a487;box-shadow:0 0 0 2px rgba(233,164,135,.13)}
.signup-overlay .international-phone .country-trigger{height:100%;flex:0 0 34%;width:34%;border:0;border-right:1px solid rgba(244,170,140,.25);border-radius:9px 0 0 9px;background:#101725;color:#e9a487;font-size:clamp(8px,.9vw,15px);display:flex;gap:4px;align-items:center;justify-content:center;white-space:nowrap;padding:0 2px;cursor:pointer;box-shadow:none}
.signup-overlay .international-phone input[name="phone"]{display:block;width:66%;height:100%;min-width:0;flex:1;border:0!important;border-radius:0 9px 9px 0;background:#09111e!important;padding:0 6%!important;color:#e9a487;font-size:clamp(8px,.95vw,16px);outline:0;box-shadow:none!important}
.signup-overlay .international-phone input[name="phone"]::placeholder{color:#97929a}
.country-menu{position:absolute;z-index:100;left:0;bottom:calc(100% + 8px);width:max(260px,100%);max-width:min(380px,90vw);background:#111724;border:1px solid #d89c84;border-radius:12px;padding:10px;box-shadow:0 16px 35px rgba(0,0,0,.65);color:#eee;max-height:330px}
.country-menu[hidden]{display:none!important}
.country-search-label{font-size:11px;color:#e5b3a0;display:block;margin-bottom:5px}
.signup-overlay .country-menu #countrySearch{display:block;width:100%;height:38px;min-height:38px;padding:8px 10px!important;background:#07101c!important;border:1px solid #8e6559!important;border-radius:8px;font-size:14px!important;color:#fff;box-shadow:none!important}
.country-options{overflow-y:auto;max-height:245px;margin-top:7px}
.country-option{display:flex;align-items:center;gap:8px;width:100%;padding:9px 8px;border:0;background:transparent;color:#e7d8d5;text-align:left;cursor:pointer;font-size:13px}
.country-option:hover,.country-option:focus{background:#392a2a;outline:1px solid #d89c84}
.country-option .dial{margin-left:auto;color:#e9a487}
@media(max-width:700px){
 .signup-overlay .international-phone{height:55px;min-height:55px;flex:none;width:100%;border-radius:12px}
 .signup-overlay .international-phone .country-trigger{flex:0 0 34%;width:34%;font-size:16px;border-radius:12px 0 0 12px}
 .signup-overlay .international-phone input[name="phone"]{height:53px;min-height:53px;font-size:16px!important;padding:0 12px!important;border-radius:0 12px 12px 0}
 .country-menu{bottom:calc(100% + 6px);width:100%;max-width:100%;max-height:310px}
 .signup-overlay .country-menu #countrySearch{height:40px;min-height:40px}
}

/* v1.4.2 — correct inherited transparent button styling in country list */
.signup-overlay .country-menu .country-option{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-height:38px!important;
  height:auto!important;
  padding:8px 10px!important;
  margin:0!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#f3e8e3!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.35!important;
  text-align:left!important;
  white-space:normal!important;
  cursor:pointer;
  box-shadow:none!important;
  filter:none!important;
}
.signup-overlay .country-menu .country-option:hover,
.signup-overlay .country-menu .country-option:focus-visible{
  background:#3b2b32!important;
  outline:1px solid #d89c84!important;
}
.signup-overlay .country-menu .country-option .country-flag{
  flex:0 0 24px;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-size:19px;
  line-height:1;
  color:#f3e8e3!important;
}
.signup-overlay .country-menu .country-option .country-name{
  flex:1 1 auto;
  min-width:0;
  color:#f3e8e3!important;
  opacity:1!important;
  visibility:visible!important;
}
.signup-overlay .country-menu .country-option .dial{
  flex:0 0 auto;
  margin-left:auto;
  color:#e9a487!important;
  font-weight:700!important;
}
.signup-overlay .international-phone #selectedFlag{
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
}
@media(max-width:700px){
  .signup-overlay .country-menu .country-option{
    min-height:43px!important;
    font-size:14px!important;
  }
}

/* v1.4.3: real bundled flag images work on Windows, Android, iOS */
.signup-overlay .country-flag-image{display:inline-block!important;width:24px!important;height:17px!important;max-width:24px!important;max-height:17px!important;object-fit:contain!important;vertical-align:middle!important;opacity:1!important;visibility:visible!important;filter:none!important}
.signup-overlay .country-menu .country-option .country-flag{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 28px!important}
.signup-overlay #selectedFlag{display:inline-flex!important;align-items:center!important;justify-content:center!important}

.signup-overlay .turnstile-mount{position:absolute;z-index:40;top:145%;right:0;max-width:320px}
@media(max-width:700px){.signup-overlay .turnstile-mount{position:relative;top:auto;right:auto;align-self:center;width:100%;max-width:320px}}

/* v1.5.2 — compact consent section BELOW artwork, without changing hero positioning */
.consent-panel{box-sizing:border-box;width:min(92%,1430px);margin:18px auto 42px;padding:18px 24px;border:1px solid rgba(230,160,133,.65);border-radius:18px;background:linear-gradient(145deg,#18151d,#0a0e17);color:#f3e8e3;font-family:Arial,Helvetica,sans-serif;box-shadow:0 0 16px rgba(228,126,98,.13)}
.consent-panel h2{font-size:15px;letter-spacing:.06em;color:#e9ad98;margin:0 0 13px;font-weight:700}
.consent-choice{display:flex;align-items:flex-start;gap:12px;margin:12px 0;line-height:1.5;font-size:14px;cursor:pointer}
.consent-choice input{appearance:auto!important;flex:0 0 auto;margin:3px 0 0;width:17px;height:17px;accent-color:#e9ad98}
.consent-privacy,.consent-details{margin:12px 0 0;color:#c9bdbe;font-size:12px;line-height:1.55}
.consent-panel a{color:#f2b29b;text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){.consent-panel{width:calc(100% - 24px);padding:18px 16px;margin:12px auto 30px}.consent-choice{font-size:13px}.consent-panel h2{font-size:14px}}

/* v1.5.7: exact pixel crop removes the OLD signup baked into the original image.
   Full-width office image retains natural aspect ratio and original pixels. */
@media(min-width:701px){
 .stage{display:block!important;min-height:0!important}
 .hero-wrap{width:100%!important;max-width:1920px!important;margin:0 auto!important}
 .hero-wrap>.hero{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:initial!important}
 .hero-wrap>.signup-overlay{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  width:calc(100% - 8%)!important;height:auto!important;margin:-1px auto 28px!important;
  padding:22px clamp(18px,2.3vw,38px) 20px!important;
  display:grid!important;grid-template-columns:1fr 1fr 1.16fr!important;
  column-gap:12px!important;row-gap:12px!important;align-items:center!important;
  background:linear-gradient(145deg,#1b171e,#080d17)!important;
  border:1px solid #d79a83!important;border-radius:20px!important;
  box-shadow:0 0 18px #d9805838!important
 }
 .signup-overlay .mobile-form-heading{display:block!important;grid-column:1/-1!important;text-align:center;margin:0!important}
 .signup-overlay .mobile-gift{display:none!important}
 .signup-overlay .mobile-form-heading h1{font-size:clamp(18px,1.9vw,29px);color:#f5e7e1;letter-spacing:.1em;margin:0 0 6px}
 .signup-overlay .mobile-form-heading p{font-size:clamp(12px,.94vw,16px);color:#d6c8c5;margin:0}
 .signup-overlay>input[name="full_name"],.signup-overlay>input[name="email"]{
  display:block!important;width:100%!important;height:54px!important;min-height:54px!important;
  border:1px solid #aa7969!important;border-radius:10px!important;
  background:#09111e!important;padding:0 14px!important;
  color:#e9a487!important;font-size:clamp(12px,1vw,16px)!important
 }
 .signup-overlay .international-phone{height:54px!important;min-height:54px!important}
 .signup-overlay .international-phone input[name="phone"]{font-size:clamp(12px,1vw,16px)!important}
 .signup-overlay .consent-panel{grid-column:1/-1!important}
 .signup-overlay .turnstile-mount{top:auto!important;bottom:calc(100% + 8px)!important;right:0!important}
 .signup-overlay .button-zone{grid-column:1/-1!important;width:min(100%,490px)!important;height:54px!important;min-height:54px!important;justify-self:center!important;margin:6px auto 12px!important}
 .signup-overlay .button-zone button{
  height:54px!important;width:100%!important;border-radius:11px!important;
  border:1px solid #ffd0b7!important;background:linear-gradient(#ffd1bb,#ed997b)!important;
  color:#251313!important;font-size:clamp(12px,1.1vw,17px)!important;
  box-shadow:0 0 17px #e9957866!important
 }
 .signup-overlay .mobile-footer{display:block!important;grid-column:1/-1!important;text-align:center;color:#e1c9c2;font-size:11px;letter-spacing:.22em}
 .signup-overlay .mobile-footer span{color:#e9ad98;padding:0 7px}
}
.signup-overlay .consent-panel{
 box-sizing:border-box!important;width:100%!important;max-width:none!important;
 margin:0!important;padding:12px 0 0!important;background:transparent!important;
 border:0!important;border-top:1px solid #ae756b66!important;
 border-radius:0!important;box-shadow:none!important;color:#f2e7e3!important
}
.signup-overlay .consent-panel h2{font-size:13px!important;margin:0 0 8px!important;color:#e9ad98}
.signup-overlay .consent-choice{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:9px 0!important;line-height:1.5!important;font-size:13px!important}
.signup-overlay .consent-choice input[type="checkbox"]{
 appearance:auto!important;display:block!important;flex:0 0 18px!important;
 width:18px!important;height:18px!important;min-height:18px!important;
 padding:0!important;margin:2px 0 0!important;border:0!important;
 background:initial!important;box-shadow:none!important;accent-color:#e9ad98!important
}
.signup-overlay .consent-privacy,.signup-overlay .consent-details{font-size:11px!important;line-height:1.5!important;margin:8px 0 0!important}
@media(max-width:700px){
 .signup-overlay .consent-panel{order:0!important;margin:3px 0 0!important;padding:12px 0 0!important}
 .signup-overlay .consent-choice{font-size:13px!important}
 .signup-overlay .turnstile-mount{order:1!important}
 .signup-overlay .button-zone{order:2!important}
 .signup-overlay .mobile-footer{order:3!important}
 .signup-overlay .form-message{order:4!important}
}

/* v1.5.9 — one side-by-side consent + verification/action row.
   Actual Turnstile stays in normal document flow. Messages have reserved space. */
.signup-overlay .signup-lower{
  grid-column:1/-1!important;display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(310px,1fr)!important;
  align-items:start!important;gap:clamp(18px,2.5vw,42px)!important;
  border-top:1px solid rgba(174,117,107,.4)!important;
  padding-top:14px!important;min-width:0!important
}
.signup-overlay .signup-lower .consent-panel{
  grid-column:auto!important;border:0!important;padding:0!important;
  margin:0!important;min-width:0!important
}
.signup-overlay .signup-actions{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:9px!important;min-width:0!important;
  padding:0!important;position:relative!important
}
.signup-overlay .signup-actions .turnstile-mount{
  position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;
  z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:none!important;min-height:65px!important;
  margin:0!important;transform:none!important
}
.signup-overlay .signup-actions .button-zone{
  position:relative!important;grid-column:auto!important;display:flex!important;
  flex-direction:column!important;align-items:stretch!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
  padding:0!important;margin:0!important;gap:0!important;justify-self:stretch!important
}
.signup-overlay .signup-actions .button-zone button{
  position:relative!important;display:block!important;flex:none!important;
  height:54px!important;min-height:54px!important;width:100%!important;
  margin:0!important
}
.signup-overlay .signup-actions .button-message{
  position:relative!important;top:auto!important;bottom:auto!important;
  left:auto!important;right:auto!important;display:block!important;
  width:100%!important;max-width:100%!important;
  text-align:center!important;white-space:normal!important;line-height:1.35!important;
  height:0!important;min-height:0!important;overflow:hidden!important;
  font-size:12px!important;transition:opacity .2s ease!important
}
.signup-overlay .signup-actions .button-message.show{
  height:auto!important;min-height:20px!important;overflow:visible!important
}
.signup-overlay .signup-actions .button-message.top.show{margin-bottom:7px!important}
.signup-overlay .signup-actions .button-message.bottom.show{margin-top:7px!important}
@media(max-width:700px){
 .signup-overlay .signup-lower{
   display:flex!important;flex-direction:column!important;gap:12px!important;
   width:100%!important;align-items:stretch!important;order:0!important;
   padding-top:13px!important
 }
 .signup-overlay .signup-actions{width:100%!important;gap:8px!important}
 .signup-overlay .signup-actions .turnstile-mount{min-height:65px!important}
 .signup-overlay .signup-actions .button-zone{padding:0!important}
 .signup-overlay .signup-actions .button-zone button{height:55px!important}
 .signup-overlay .mobile-footer{order:1!important}
 .signup-overlay .form-message{order:2!important}
}

/* v1.6.1 — consolidated final spacing (replaces conflicting version overrides).
   In idle state: 16px between actual Turnstile mount and Join button.
   On confirmation: message appears ABOVE button, in normal flow, without overlap. */
.signup-overlay .signup-actions{gap:16px!important}
.signup-overlay .signup-actions .turnstile-mount{margin:0!important;padding:0!important}
.signup-overlay .signup-actions .button-zone{margin:0!important;padding:0!important;gap:0!important}
.signup-overlay .signup-actions .button-message.top{
  display:none!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:visible!important
}
.signup-overlay .signup-actions .button-message.top.show{
  display:block!important;height:auto!important;min-height:20px!important;
  margin:0 0 8px!important;padding:0!important;overflow:visible!important
}
.signup-overlay .signup-actions .button-message.bottom{
  display:none!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:visible!important
}
.signup-overlay .signup-actions .button-message.bottom.show{
  display:block!important;height:auto!important;min-height:20px!important;
  margin:8px 0 0!important;overflow:visible!important
}
@media(max-width:700px){.signup-overlay .signup-actions{gap:16px!important}}
