@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');

* { box-sizing: border-box; }

:root{
  --copy: #e9e9e9;
  --copy-85: rgba(233,233,233,0.85);
  --copy-78: rgba(233,233,233,0.78);
  --copy-65: rgba(233,233,233,0.65);
  --line: rgba(233,233,233,0.55);
  --bg-fallback: #0b2d5a; /* fallback blue if image ever fails */
}

html, body {
  height: 100%;
  margin: 0;
  cursor: none; /* hide default cursor */
  background: var(--bg-fallback);
}

/* keep the background on BOTH html + body to reduce “banding”/flash */
html{
  background-image: url("../images/divantirer-bg.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

body {
  background-color: var(--bg-fallback);
  background-image: url("../images/divantirer-bg.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  font-family: "JetBrains Mono", monospace;
  color: var(--copy);

  /* stop iOS zooming text */
  -webkit-text-size-adjust: 100%;

  /* keep your original behaviour */
  overflow: hidden;

  /* iOS viewport behaviour */
  min-height: 100svh;
  min-height: 100dvh;
}

.container {
  position: relative;
  width: 100vw;
  height: 100svh;
  min-height: 100dvh;
}

/* LOGO */
.stage {
  position: absolute;
  left: 50%;
  top: 44%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
}

.word {
  margin: 0;
  font-size: clamp(70px, 7.6vw, 120px); /* bigger on desktop */
  color: var(--copy);
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  line-height: 1;

  /* prevent wrapping */
  white-space: nowrap;

  /* whole-word weight hover */
  font-variation-settings: "wght" 800;
  transition: font-variation-settings 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.word:hover {
  font-variation-settings: "wght" 100;
}

/* If Splitting created .char spans, make them inherit (so not per-letter hover) */
.char {
  display: inline-block;
  font-variation-settings: inherit;
  transition: none;
}

/* LOCATIONS LINE */
.locations {
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translateX(-50%);
  width: min(860px, 86vw);

  display: flex;
  align-items: center;
  gap: 18px;

  font-size: clamp(11px, 1.15vw, 13px);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--copy-85);

  z-index: 2;
}

.location { white-space: nowrap; }

/* ✅ THIS IS THE FIX: make the div line a real 1px bar */
.fluid-line {
  flex: 1;
  min-width: 40px;
  height: 1px;
  background: var(--line);
  opacity: 1;
}

/* BODY COPY */
.body-content {
  position: absolute;
  left: clamp(64px, 6vw, 96px);
  top: 62%;
  width: min(520px, 70vw);
  z-index: 2;

  font-size: clamp(10px, 1.05vw, 13px);
  font-weight: 300;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
  color: var(--copy-78);

  display: flex;
  flex-direction: column;
  gap: 3px;
}

.body-content p,
.body-content a {
  margin: 0;
}

/* ✅ add the “return” between number + email */
.body-content p:last-of-type {
  margin-bottom: 12px;
}

/* EMAIL */
.email-obfuscated {
  display: inline-block;
  color: var(--copy-78);
  text-decoration: none;
  cursor: none;
}
.email-obfuscated:hover {
  text-decoration: underline;
}

.email-reverse {
  unicode-bidi: bidi-override;
  direction: rtl;
}

/* ✅ iOS “data detectors” (phone numbers) */
a[href^="tel"],
a[x-apple-data-detectors][href^="tel"]{
  color: inherit !important;
  text-decoration: none !important;
  -webkit-text-fill-color: inherit !important;
  pointer-events: none !important;
}

/* FOOTER */
.footer {
  position: absolute;
  right: clamp(64px, 6vw, 96px);
  bottom: calc(clamp(30px, 4vw, 52px) + env(safe-area-inset-bottom));
  z-index: 2;

  font-size: clamp(10px, 1.05vw, 13px);
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--copy-65);
  text-align: right;
}

.year-copyright {
  margin: 0;
  white-space: nowrap; /* stops DIVANTIRER PTY LTD © / 2025 splitting */
}

/* CURSOR DOT */
#custom-cursor {
  position: fixed;
  width: 32px;
  height: 32px;
  background-color: #0276d0;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
  transition: opacity 0.2s ease;
}

/* Touch devices: show normal cursor + hide dot */
@media (pointer: coarse) {
  html, body { cursor: auto; }
  #custom-cursor { display: none; }
}

/* Desktop-only: align the address block to the same left edge as NEW YORK */
@media (min-width: 681px){
  .body-content{
    left: 50%;
    transform: translateX(-50%);
    width: min(860px, 86vw);
    text-align: left;
    align-items: flex-start;
  }
}

/* Mobile layout */
@media (max-width: 680px) {
  .stage { top: 36%; }

  .word{
    font-size: clamp(44px, 10.8vw, 66px); /* stop it getting gigantic */
    letter-spacing: 0.01em;
  }

  .locations {
    top: 52%;
    width: 78vw;
    flex-direction: column;
    gap: 14px;
    font-size: 12px;
    letter-spacing: 0.20em;
  }

  .fluid-line {
    width: 58vw;
    flex: none;
  }

  .body-content {
    left: 50%;
    transform: translateX(-50%);
    top: 64%;
    width: 86vw;
    text-align: center;
    align-items: center;
    font-size: 12px;
    letter-spacing: 0.11em;
  }

  .footer {
    right: 50%;
    transform: translateX(50%);
    text-align: center;
    font-size: 11px;
    letter-spacing: 0.10em;
    bottom: calc(18px + env(safe-area-inset-bottom));
  }
}
