@font-face{font-family:Montserrat;font-weight:500;font-display:block;src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-weight:600;font-display:block;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-weight:700;font-display:block;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-weight:800;font-display:block;src:url(fonts/montserrat-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:Roboto;font-weight:400;font-display:block;src:url(fonts/roboto-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Roboto;font-weight:500;font-display:block;src:url(fonts/roboto-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Roboto;font-weight:700;font-display:block;src:url(fonts/roboto-latin-700-normal.woff2) format('woff2')}
:root{
  --navy:#354786;--orange:#F58634;--gold:#FCB912;--ink:#11131B;
  --cream:#F8F1E6;--paper:#FFFCF7;--crust:#8F4510;--muted:#575B69;--line:rgba(17,19,27,.12);
  --ease-out:cubic-bezier(0.23,1,0.32,1);--ease-io:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);
  /* spring approximation (bounce ~0.2) for CSS linear() */
  --spring:linear(0,0.009,0.035 2.1%,0.141 4.4%,0.723 12.9%,0.938 16.7%,1.017 19.6%,1.067 22.4%,1.09 25.4%,1.093 28.1%,1.076 32.4%,1.019 41.4%,0.997 46.2%,0.991 51.7%,1.001 69.7%,1);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:Roboto,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,button{font-family:Montserrat,sans-serif}
button{border:0;background:none;color:inherit;cursor:pointer;padding:0;font:inherit}
img{display:block}
.tg{position:absolute;z-index:6;font:500 11px/1 Roboto;padding:5px 8px;border-radius:5px;background:rgba(17,19,27,.78);color:#fff;white-space:nowrap;pointer-events:none}
.tg.real{background:rgba(53,71,134,.92)}
.sp{display:inline-flex;align-items:center;font:600 9.5px/1 Roboto;letter-spacing:.06em;text-transform:uppercase;color:var(--crust);border:1px dashed rgba(143,69,16,.55);border-radius:4px;padding:3px 5px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.sp.dk{color:var(--gold);border-color:rgba(252,185,18,.6)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:14px;font:700 17px Montserrat;white-space:nowrap;transition:transform 150ms var(--ease-out),background-color 150ms ease}
.btn:active{transform:scale(.96)}
.btn.o{background:var(--orange);color:var(--ink)}
.btn.n{background:var(--navy);color:#fff}
.btn.g{background:transparent;border:1.5px solid currentColor}
.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.av{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--navy);position:relative;flex:none;box-shadow:0 0 0 2px rgba(252,185,18,.85)}
.av img{position:absolute;width:162%;max-width:none;left:-17%;top:-17%}
.queen-pill{position:fixed;z-index:40;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 7px;border-radius:30px;background:var(--navy);color:#fff;font:700 16px Montserrat;box-shadow:0 14px 30px -10px rgba(17,19,27,.55),0 0 0 1px rgba(255,255,255,.08);transition:transform 150ms var(--ease-out)}
.queen-pill:active{transform:scale(.96)}
/* chat stub */
.chat{position:fixed;z-index:41;width:340px;background:var(--paper);border-radius:22px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6),0 0 0 1px rgba(17,19,27,.08);overflow:hidden;transform-origin:100% 100%;opacity:0;transform:scale(.95) translateY(8px);pointer-events:none;transition:opacity 200ms var(--ease-out),transform 260ms var(--ease-out)}
.chat.open{opacity:1;transform:none;pointer-events:auto}
.chat .ch{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 14px;background:var(--navy);color:#fff}
.chat .ch b{font:700 15px Montserrat;flex:1}
.chat .ch .x{width:32px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12)}
.chat .cb{padding:14px;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}
.chat .bub{max-width:86%;padding:10px 12px;border-radius:14px;font:400 14px/1.4 Roboto}
.chat .bub.q{background:#F0E7DA;border-bottom-left-radius:4px}
.chat .bub.u{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.chat .bub{animation:bubIn 300ms var(--ease-out) both}
@keyframes bubIn{from{opacity:0;transform:translateY(8px);filter:blur(4px)}}
.chat .qr{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}
.chat .qr button{font:600 12.5px Montserrat;padding:8px 11px;border-radius:16px;border:1.5px solid rgba(53,71,134,.35);color:var(--navy);transition:transform 150ms var(--ease-out)}
.chat .qr button:active{transform:scale(.96)}
.chat .ci{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--line)}
.chat .ci input{flex:1;height:40px;border-radius:12px;border:1.5px solid var(--line);padding:0 12px;font:400 14px Roboto;background:#fff}
.chat .ci button{width:40px;height:40px;border-radius:12px;background:var(--orange);display:flex;align-items:center;justify-content:center;color:var(--ink)}
@media (prefers-reduced-motion:reduce){
  .chat{transform:none!important;transition:opacity 200ms ease}
  .chat .bub{animation:none}
}
