/* Celeste USA — V5 / clean, independent stylesheet; no legacy overrides. */
:root {
  color-scheme: dark;
  --black: #000;
  --white: #f7f7f6;
  --line: rgba(245,245,245,.23);
  --muted: #a8a8a8;
  --gold: #c2a468;
  --font-sans: 'DM Sans', Arial, sans-serif;
  --font-serif: 'Instrument Serif', Georgia, serif;
}
* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin:0; min-width:320px; background:#000; color:var(--white); font-family:var(--font-sans); -webkit-font-smoothing:antialiased; }
::selection { background:#bda269; color:#000; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
img, svg { display:block; max-width:100%; }
.skip-link { position:fixed; z-index:30; left:18px; top:-80px; background:white; color:black; padding:10px 16px; }
.skip-link:focus { top:14px; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.site-shell { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(10px,2vh,24px) 22px 12px; background:#000; overflow-x:hidden; }
.landing { width:min(100%,1120px); display:flex; flex-direction:column; align-items:center; text-align:center; margin:auto 0; }
.brand-area { display:flex; flex-direction:column; align-items:center; gap:5px; }
.emblem-wrap { width:clamp(128px,14.8vh,176px); aspect-ratio:1; position:relative; display:grid; place-items:center; isolation:isolate; }
.emblem-wrap::before { content:''; position:absolute; inset:-35%; z-index:-2; border-radius:50%; background:radial-gradient(ellipse,rgba(183,136,64,.115) 0%,rgba(155,105,36,.045) 43%, transparent 70%); animation:pulse 7s ease-in-out infinite; }
.emblem-ring { position:absolute; inset:-18%; border:1px solid rgba(198,157,88,.15); border-radius:50%; z-index:-1; box-shadow:0 0 46px rgba(170,121,40,.09); }
.brand-emblem { width:100%; height:auto; filter:brightness(0) invert(1) drop-shadow(0 0 4px rgba(185,131,51,.2)); opacity:.98; animation:emblemFloat 8s ease-in-out infinite; }
.wordmark-area { display:flex; align-items:center; flex-direction:column; gap:7px; }
.brand-wordmark { width:clamp(215px,22vw,286px); height:auto; filter:brightness(0) invert(1); }
.brand-country { color:var(--white); display:flex; align-items:center; justify-content:center; gap:17px; font-size:12px; line-height:1; letter-spacing:.57em; padding-left:.57em; font-weight:500; }
.brand-country span { display:block; height:1px; width:37px; background:var(--gold); opacity:.75; }
.hero-title { font:400 clamp(62px,8.25vw,115px)/.92 var(--font-serif); letter-spacing:-.035em; margin:13px 0 24px; color:#fdfcfa; white-space:nowrap; }
.hero-title span { color:var(--gold); }
.engagement-panel { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid var(--line); border-radius:23px; overflow:hidden; }
.engagement-item { min-width:0; min-height:250px; padding:23px 30px 22px; display:flex; align-items:center; flex-direction:column; text-align:center; }
.engagement-item + .engagement-item { border-left:1px solid var(--line); }
.section-icon { height:42px; width:42px; border:1px solid rgba(194,164,104,.75); border-radius:50%; display:grid; place-items:center; color:#f5f5f5; margin-bottom:9px; }
.section-icon svg { height:21px; width:21px; }
.engagement-item h2 { font:400 33px/.97 var(--font-serif); letter-spacing:-.01em; margin:0; }
.wishlist-item h2 { margin-top:1px; }
.question { color:#cecece; font-size:12px; margin:8px 0 0; line-height:1.3; }
.action-form { width:100%; margin-top:auto; position:relative; padding-top:15px; }
.input-row { width:100%; min-height:58px; display:flex; align-items:center; gap:10px; padding:5px 6px 5px 16px; border:1px solid rgba(245,245,245,.42); border-radius:15px; background:#090909; transition:border-color .2s,box-shadow .2s; }
.input-row:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(194,164,104,.16); }
.input-row input,.input-row textarea { flex:1; min-width:0; width:100%; outline:none; border:0; background:transparent; color:#fff; font-size:15px; line-height:1.38; }
.input-row input::placeholder,.input-row textarea::placeholder { color:#929292; opacity:1; }
.input-row textarea { resize:none; height:44px; padding:8px 0 2px; font-size:13px; }
.input-row button { display:grid; place-items:center; background:var(--white); border:0; color:#000; height:45px; width:45px; min-width:45px; border-radius:50%; transition:background .2s,transform .2s; }
.input-row button svg { width:20px; height:20px; transition:transform .2s; }
.input-row button:hover:not(:disabled) { transform:scale(1.055); background:#dededb; }
.input-row button:hover:not(:disabled) svg { transform:translateX(2px); }
.input-row button:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.input-row button:disabled { opacity:.6; cursor:wait; }
.form-status { margin:0; min-height:0; font-size:12px; line-height:1.25; text-align:left; color:#e6e6e6; }
.form-status:not(:empty) { margin-top:8px; border-radius:7px; padding:7px 10px; background:#1d1d1d; }
.form-status[data-kind='success'] { color:#fff; border:1px solid rgba(230,230,230,.22); }
.form-status[data-kind='error'] { color:#ffd5d5; border:1px solid rgba(250,135,135,.38); }
.page-footer { text-align:center; color:#747474; font-size:9px; font-weight:600; letter-spacing:.18em; padding-top:13px; }
@keyframes pulse { 50% { opacity:.65; transform:scale(1.055); } }
@keyframes emblemFloat { 50% { transform:translateY(-4px); } }
@media(min-width:701px) and (max-height:790px) {
  .emblem-wrap { width:clamp(107px,16vh,133px); }
  .wordmark-area { gap:4px; }
  .brand-wordmark { width:244px; }
  .brand-country { font-size:10px; }
  .hero-title { font-size:clamp(60px,8vw,95px); margin:10px 0 17px; }
  .engagement-item { min-height:218px; padding:16px 24px 16px; }
  .section-icon { height:36px; width:36px; margin-bottom:7px; }
  .section-icon svg { width:18px; height:18px; }
  .engagement-item h2 { font-size:29px; }
  .action-form { padding-top:10px; }
  .input-row { min-height:52px; }
  .input-row button { width:39px; min-width:39px; height:39px; }
}
@media(max-width:700px) {
  .site-shell { padding:16px 15px 9px; }
  .landing { width:min(100%,510px); }
  .brand-area { gap:4px; }
  .emblem-wrap { width:clamp(86px,15vh,124px); }
  .emblem-ring { inset:-15%; }
  .brand-wordmark { width:clamp(160px,42vw,215px); }
  .wordmark-area { gap:5px; }
  .brand-country { font-size:9px; gap:12px; }
  .brand-country span { width:24px; }
  .hero-title { font-size:clamp(54px,13.5vw,78px); margin:12px 0 19px; }
  .engagement-panel { grid-template-columns:minmax(0,1fr); border-radius:18px; }
  .engagement-item { min-height:0; padding:17px 21px 17px; }
  .engagement-item + .engagement-item { border-left:0; border-top:1px solid var(--line); }
  .section-icon { width:35px; height:35px; margin-bottom:7px; }
  .section-icon svg { width:18px; height:18px; }
  .engagement-item h2 { font-size:clamp(27px,7vw,34px); }
  .question { margin-top:6px; font-size:11px; }
  .action-form { padding-top:12px; }
  .input-row { min-height:48px; padding:4px 5px 4px 12px; border-radius:12px; }
  .input-row input { font-size:13px; }
  .input-row textarea { font-size:11.5px; height:40px; padding:6px 0; }
  .input-row button { width:37px; min-width:37px; height:37px; }
  .page-footer { font-size:8px; padding-top:9px; }
}
@media(max-width:700px) and (max-height:790px) {
  .site-shell { padding:8px 12px 7px; }
  .emblem-wrap { width:clamp(69px,13vh,98px); }
  .wordmark-area { gap:3px; }
  .brand-wordmark { width:175px; }
  .brand-country { font-size:8px; }
  .hero-title { font-size:clamp(47px,12vw,65px); margin:6px 0 12px; }
  .engagement-item { padding:11px 14px 10px; }
  .section-icon { width:31px; height:31px; margin-bottom:4px; }
  .section-icon svg { width:16px; height:16px; }
  .engagement-item h2 { font-size:27px; }
  .question { font-size:10px; margin-top:4px; }
  .action-form { padding-top:7px; }
  .input-row { min-height:43px; }
  .input-row textarea { height:35px; }
  .input-row button { width:33px; height:33px; min-width:33px; }
  .page-footer { padding-top:6px; }
}
@media(max-width:380px) {
  .engagement-item { padding-left:11px; padding-right:11px; }
  .input-row { gap:7px; }
  .input-row textarea { font-size:11px; }
}
/* For short screens and enlarged user text, accessibility wins over clipping. */
@media(max-height:560px) { .site-shell { justify-content:flex-start; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

/* CELESTE USA V5 MOBILE WIDTH SAFETY FIX — appended after existing V5 CSS */
@media (max-width: 700px) {
  html, body { width: 100%; max-width: 100%; }
  .site-shell {
    width: 100%; max-width: 100%;
    padding-inline: clamp(12px, 3.6vw, 18px);
  }
  .landing {
    width: 100%; max-width: 480px; min-width: 0;
    flex: 0 1 auto;
  }
  .brand-area, .wordmark-area {
    width: 100%; max-width: 100%; min-width: 0;
  }
  .brand-wordmark {
    width: min(50vw, 210px); max-width: 100%; height: auto;
    object-fit: contain;
  }
  .hero-title {
    width: 100%; max-width: 100%;
    font-size: clamp(42px, 10.5vw, 52px);
    line-height: .94;
    white-space: normal;
    overflow-wrap: normal;
    letter-spacing: -.035em;
  }
  .engagement-panel {
    width: 100%; max-width: 100%; min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .engagement-item, .action-form, .input-row {
    width: 100%; max-width: 100%; min-width: 0;
  }
  .engagement-item h2 { max-width: 100%; }
  .input-row input, .input-row textarea {
    width: 100%; min-width: 0; flex: 1 1 0;
  }
  .input-row button {
    flex: 0 0 42px; width: 42px; min-width: 42px; height: 42px;
  }
}
@media (max-width: 360px) {
  .hero-title { font-size: 40px; }
  .engagement-item h2 { font-size: 26px; }
  .engagement-item { padding-inline: 10px; }
}

/* Native white emblem — iOS Safari compatibility */
.brand-emblem {
  filter: none;
}
