:root{--orange:#f06000;--orange-hot:#ff7a00;--charcoal:#171414;--cream:#fff8ef;--ink:#201b19;--smoke:#6c615c;--line:rgba(255,255,255,.24);--shadow:0 28px 90px rgba(22,12,8,.46)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--charcoal);color:var(--ink)}
body{margin:0;min-width:320px;font-family:Arial,Helvetica,sans-serif;background:var(--charcoal);color:var(--ink)}
button,summary,figure,[role="button"]{cursor:pointer}
button{font:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.portal-shell{min-height:100vh;background:var(--cream)}
.brand-bar{position:absolute;z-index:7;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(18px,4vw,58px);color:#fff;background:linear-gradient(180deg,rgba(10,8,8,.84),rgba(10,8,8,0));text-shadow:0 2px 14px #000}
.brand-unit{display:flex;align-items:center;gap:11px;min-width:0;font-size:clamp(18px,2vw,25px);font-weight:900;letter-spacing:-.03em}
.brand-unit img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(0,0,0,.35))}
.brand-unit b{font-style:italic}
.member-entry{border:1px solid rgba(255,255,255,.68);border-radius:8px;background:rgba(18,15,15,.58);color:#fff;padding:10px 16px;font-size:12px;font-weight:800;letter-spacing:.03em;transition:transform .2s ease,background .2s ease}
.member-entry:hover,.member-entry:focus-visible{transform:translateY(-2px);background:var(--orange)}
.landing-stage{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background-image:url("/images/justdate-background.webp");background-size:cover;background-position:center;display:grid;grid-template-columns:minmax(360px,610px) minmax(330px,510px);align-items:end;justify-content:space-between;gap:clamp(18px,4vw,64px);padding:105px clamp(18px,5vw,76px) 52px}
.landing-stage::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#171414 0,#171414 27%,rgba(23,20,20,.94) 39%,rgba(23,20,20,.38) 64%,rgba(23,20,20,.08) 100%);pointer-events:none}
.landing-stage::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:30%;background:linear-gradient(0deg,rgba(12,10,10,.82),rgba(12,10,10,0));pointer-events:none}
.landing-hit{position:absolute;z-index:0;inset:0;width:100%;height:100%;border:0;background:transparent}
.signal-panel{position:relative;z-index:2;align-self:center;max-width:610px;padding:clamp(26px,4vw,48px);border-left:7px solid var(--orange);border-radius:5px 28px 28px 5px;background:#171414;color:#fff;box-shadow:var(--shadow)}
.signal-code{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#ffad74;font-size:11px;font-weight:900;letter-spacing:.15em}
.signal-code::before{content:"";width:32px;height:2px;background:var(--orange)}
h1{margin:0;max-width:590px;font-size:clamp(38px,5.6vw,76px);line-height:.96;letter-spacing:-.055em;color:#fff}
.signal-lead{max-width:530px;margin:21px 0 0;color:#e9dfda;font-size:clamp(16px,1.5vw,20px);line-height:1.56}
.signal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.main-route,.spark-route{border:0;border-radius:8px;background:linear-gradient(120deg,var(--orange),var(--orange-hot));color:#fff;padding:15px 22px;font-weight:900;box-shadow:0 14px 30px rgba(240,96,0,.3);transition:transform .2s ease,box-shadow .2s ease}
.main-route:hover,.main-route:focus-visible,.spark-route:hover,.spark-route:focus-visible{transform:translateY(-3px);box-shadow:0 19px 38px rgba(240,96,0,.42)}
.guide-route{border:0;background:transparent;color:#fff;padding:14px 9px;font-weight:800;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:5px}
.signal-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}
.signal-points span{border:1px solid rgba(255,255,255,.19);border-radius:999px;padding:7px 10px;color:#d9cec8;font-size:10px;font-weight:800}
.moment-rail{position:relative;z-index:2;align-self:end;display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:145px 190px;gap:11px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:24px;background:rgba(20,16,15,.75);box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.moment-card{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:15px;background:#2d2724;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.35);transition:transform .2s ease,outline-color .2s ease}
.moment-card:hover,.moment-card:focus-visible{transform:translateY(-5px);outline:2px solid var(--orange);outline-offset:2px}
.moment-card img{width:100%;height:100%;object-fit:cover}
.wide-card{grid-column:1/-1}.wide-card img{object-position:center 43%}.stack-card img{object-position:center top}.focus-card img{object-position:center}
.moment-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 11px 10px;background:linear-gradient(0deg,rgba(15,12,11,.96),rgba(15,12,11,0));display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 7px #000}
.moment-card b{font-size:15px}.moment-card span{font-size:10px;color:#e8ddd7}
.editorial-vault{position:relative;border-top:5px solid var(--orange);background:var(--cream)}
.editorial-vault>summary{list-style:none;display:grid;grid-template-columns:1fr auto 42px;align-items:center;gap:18px;max-width:1180px;margin:auto;padding:25px clamp(18px,4vw,48px);font-weight:900;color:#2d2522}
.editorial-vault>summary::-webkit-details-marker{display:none}
.editorial-vault>summary span{font-size:clamp(20px,3vw,31px);letter-spacing:-.025em}
.editorial-vault>summary small{font-size:12px;color:#80716a;text-align:right}
.editorial-vault>summary::after{content:"+";display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--charcoal);color:#fff;font-size:24px}
.editorial-vault[open]>summary::after{content:"−"}
.guide-copy{max-width:920px;margin:auto;padding:10px clamp(18px,4vw,48px) 84px;color:#4a403c;line-height:1.78}
.guide-copy h2{margin:50px 0 15px;color:#211b19;font-size:clamp(27px,4vw,43px);line-height:1.12;letter-spacing:-.03em}
.guide-copy p,.guide-copy li{font-size:17px}
.guide-copy ol{padding-left:24px}.guide-copy li{margin:8px 0}
.guide-copy table{width:100%;border-collapse:collapse;margin:28px 0;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 10px 32px rgba(55,33,24,.09);font-size:14px}
.guide-copy th,.guide-copy td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid #eaded6}
.guide-copy th{background:#211b19;color:#fff}
.quiet-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px clamp(18px,5vw,76px);background:#171414;color:#d7cbc5;font-size:12px}
.quiet-footer button{border:0;background:transparent;color:#fff;text-decoration:underline;text-underline-offset:4px}
.notice-layer{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background-image:linear-gradient(rgba(13,11,11,.35),rgba(13,11,11,.35)),url("/images/justdate-background.webp");background-size:cover;background-position:center}
.notice-layer::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,15,.16),rgba(18,15,15,.62));pointer-events:none}
.notice-card{position:relative;z-index:1;width:min(520px,calc(100vw - 30px));max-height:calc(100svh - 30px);overflow:auto;padding:clamp(28px,5vw,48px);border-top:7px solid var(--orange);border-radius:8px 8px 28px 28px;background:#fffaf5;box-shadow:0 35px 110px rgba(0,0,0,.58);text-align:center}
.notice-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px;color:#211c1a;font-size:22px;font-weight:900;font-style:italic}
.notice-brand img{width:62px;height:62px;object-fit:contain}
.notice-brand b{color:var(--orange)}
.notice-label{margin:0 0 9px;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.notice-card h2{margin:0;color:#201a18;font-size:clamp(31px,5vw,48px);line-height:1.04;letter-spacing:-.04em}
.notice-card>p:not(.notice-label){max-width:430px;margin:17px auto;color:#665a54;line-height:1.55}
.notice-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin:24px 0 15px}
.notice-actions button{min-height:52px;border-radius:8px;font-weight:900}
#EnterEntry{border:0;background:linear-gradient(120deg,var(--orange),var(--orange-hot));color:#fff}
#EntryDeny{border:1px solid #cdbeb5;background:#fff;color:#433a36}
.notice-card small{color:#8b7c74;line-height:1.45}
.spark-layer{position:fixed;z-index:40;inset:0;display:grid;place-items:end center;padding:24px;background:rgba(20,16,15,.42)}
.spark-card{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;width:min(760px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(255,255,255,.52);border-radius:24px;background:#fffaf5;box-shadow:0 34px 100px rgba(0,0,0,.58)}
.spark-close{position:absolute;z-index:2;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(25,20,18,.84);color:#fff;font-size:25px;line-height:1}
.spark-visual{min-height:350px;background:#201b19}.spark-visual img{width:100%;height:100%;object-fit:cover}
.spark-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:42px}
.spark-copy>p{margin:0 0 10px;color:var(--orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.spark-copy h2{margin:0;font-size:36px;line-height:1.03;letter-spacing:-.04em;color:#211b19}
.spark-copy>span{margin:16px 0 23px;color:#6c5d56;line-height:1.5}
.spark-later{align-self:center;margin-top:12px;border:0;background:transparent;color:#6d5f58;text-decoration:underline;text-underline-offset:4px}
@media (max-width:940px){.landing-stage{grid-template-columns:minmax(0,1fr);align-content:end;padding-top:100px;background-position:58% center}.landing-stage::before{background:linear-gradient(90deg,rgba(23,20,20,.96) 0,rgba(23,20,20,.88) 52%,rgba(23,20,20,.18) 100%)}.signal-panel{align-self:end;max-width:650px}.moment-rail{width:min(650px,100%);grid-template-columns:1fr 1fr;grid-template-rows:120px 155px}}
@media (max-width:620px){.brand-bar{padding:12px 14px}.brand-unit img{width:36px;height:36px}.brand-unit{font-size:18px}.member-entry{padding:8px 10px;font-size:10px}.landing-stage{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:100svh;padding:72px 10px 13px;background-position:63% center}.landing-stage::before{background:linear-gradient(180deg,rgba(23,20,20,.2) 0,rgba(23,20,20,.82) 38%,#171414 67%,#171414 100%)}.signal-panel{width:100%;padding:21px 20px;border-left-width:5px;border-radius:4px 18px 18px 4px}.signal-code{font-size:9px;margin-bottom:9px}h1{font-size:clamp(31px,10vw,44px);line-height:.99}.signal-lead{margin-top:13px;font-size:14px;line-height:1.42}.signal-actions{margin-top:17px;gap:5px}.main-route{width:100%;padding:13px}.guide-route{width:100%;padding:7px}.signal-points{margin-top:13px}.signal-points span{padding:5px 7px;font-size:9px}.moment-rail{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:92px;width:100%;padding:7px;gap:6px;border-radius:15px}.wide-card{grid-column:auto}.moment-card{border-radius:9px}.moment-card figcaption{padding:18px 5px 5px}.moment-card b{font-size:10px}.moment-card span{display:none}.editorial-vault>summary{grid-template-columns:1fr 36px;gap:10px;padding:17px 14px}.editorial-vault>summary small{display:none}.editorial-vault>summary::after{width:36px;height:36px}.guide-copy p,.guide-copy li{font-size:16px}.guide-copy table{table-layout:fixed;font-size:11px}.guide-copy th,.guide-copy td{padding:8px;overflow-wrap:anywhere}.quiet-footer{flex-direction:column;align-items:flex-start}.notice-card{padding:26px 20px}.notice-brand{margin-bottom:15px}.notice-brand img{width:50px;height:50px}.notice-card>p:not(.notice-label){margin:13px auto}.notice-actions{grid-template-columns:1fr;margin:17px 0 12px}.spark-layer{padding:10px}.spark-card{grid-template-columns:1fr}.spark-visual{display:none}.spark-copy{padding:34px 24px}.spark-copy h2{font-size:30px}}
@media (max-height:700px) and (max-width:620px){.moment-rail{display:none}.signal-panel{padding:17px}.signal-points{display:none}.notice-card{padding-top:19px;padding-bottom:19px}.notice-brand{margin-bottom:8px}.notice-card h2{font-size:29px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.member-entry,.main-route,.moment-card,.spark-route{transition:none}}
.dialog-label{margin:0 0 14px;font-size:clamp(1.55rem,4vw,2.2rem);font-weight:800;line-height:1.1}
