/* RMS public site — ADDITIVE ONLY.
   Every colour, font and radius comes from app.css tokens. If you find yourself declaring a
   colour here, stop: it already exists. A second visual language is exactly what /legacy and
   accept.html were, and both had to be dealt with. */

body.site{display:block;height:auto;min-height:100vh;background:var(--bg-0)}

.s-head{display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,5vw,56px);border-bottom:1px solid var(--line);background:var(--panel)}
.s-brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:600;
  font-size:20px;letter-spacing:-.2px;color:var(--ink);border:0}
.s-brand b{color:var(--accent);font-weight:600}
.s-brand .mark{width:26px;height:26px;border-radius:8px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:none}
.s-nav{display:flex;gap:16px;align-items:center}
.s-login{font-size:13.5px;font-weight:550;color:var(--accent)}

main{max-width:900px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}

.s-hero{padding:clamp(44px,8vw,84px) 0 20px}
.s-hero h1{font-family:var(--serif);font-size:clamp(30px,5.2vw,46px);line-height:1.12;
  font-weight:560;letter-spacing:-.6px;margin:0 0 16px}
.s-dim{color:var(--ink-dim)}
.s-lede{font-size:clamp(15px,2vw,17px);color:var(--ink-dim);max-width:56ch;margin:0 0 32px;line-height:1.6}

.s-hook{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow)}
.s-hooklabel{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;
  color:var(--ink-faint);font-weight:600;margin-bottom:9px}
.s-input{width:100%;font-size:17px;padding:13px 15px;border:1px solid var(--line-2);
  border-radius:var(--radius-sm);background:var(--bg-1);color:var(--ink)}
.s-input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.s-hint{font-size:12.5px;color:var(--ink-faint);margin-top:9px}
.s-hookout{margin-top:14px}
.s-hookout:empty{display:none}

.s-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;
  margin:clamp(44px,7vw,72px) 0}
.s-cards .card h3{font-family:var(--sans);font-size:14.5px;text-transform:none;letter-spacing:0;
  color:var(--ink);font-weight:600;margin-bottom:8px}
.s-cards .card p{margin:0;font-size:13.5px;color:var(--ink-dim);line-height:1.6}

/* Saying the limits out loud. Counter-intuitive, and it is what converts a sceptical hotelier. */
.s-honest{border-top:1px solid var(--line);padding-top:28px;margin-bottom:56px}
.s-honest h2{font-family:var(--serif);font-size:20px;font-weight:560;margin:0 0 12px}
.s-honest ul{margin:0;padding-left:20px;color:var(--ink-dim);font-size:13.5px;line-height:1.75}

.s-foot{border-top:1px solid var(--line);background:var(--panel);
  padding:26px clamp(20px,5vw,56px);display:flex;flex-wrap:wrap;gap:18px;
  justify-content:space-between;font-size:12.5px;color:var(--ink-dim)}
.s-who b{color:var(--ink)}
.s-links{display:flex;gap:14px;flex-wrap:wrap}

@media(max-width:620px){
  .s-head{padding:14px 18px}
  .s-hero{padding-top:32px}
}

/* ── the hook's result surface ── */
.s-loading{color:var(--ink-faint);font-size:13.5px;padding:8px 0}
.s-results{display:flex;flex-direction:column;gap:2px}
.s-res{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 12px;width:100%}
.s-res:hover{background:var(--bg-1);border-color:var(--line)}
.s-resname{font-weight:600;font-size:14.5px;color:var(--ink)}
.s-resmeta{font-size:12px;color:var(--ink-faint)}

.s-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);padding:16px}
.s-cardhead{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.s-cardhead b{font-size:16px}
.s-verdict{font-family:var(--serif);font-size:18px;line-height:1.4;margin-bottom:14px;color:var(--ink)}

.s-strip{display:flex;flex-direction:column;gap:1px;margin-bottom:14px}
.s-night{display:grid;grid-template-columns:64px 1fr 1fr;gap:8px;padding:6px 8px;border-radius:6px;
  font-family:var(--mono);font-size:12.5px}
.s-night:nth-child(odd){background:var(--panel)}
.s-nhead{color:var(--ink-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;background:none!important}
.s-nd{color:var(--ink-dim)}
.s-nyou{font-weight:600;text-align:right}
.s-nmed{color:var(--ink-dim);text-align:right}
.s-night.hi .s-nyou{color:var(--green)}
.s-night.lo .s-nyou{color:var(--amber)}

.s-comps{border-top:1px solid var(--line);padding-top:12px;margin-bottom:12px}
.s-compt{font-size:12.5px;color:var(--ink-dim);margin-bottom:8px}
.s-comp{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:3px 0}
.s-comp b{font-family:var(--mono)}

.s-prov{font-size:11.5px;color:var(--ink-faint);font-family:var(--mono);margin-bottom:14px}
.s-cta{display:inline-block;text-decoration:none;padding:10px 16px;border-radius:var(--radius-sm);
  background:var(--accent);color:#fff;font-weight:600;font-size:13.5px;border:0}
.s-cta:hover{opacity:.92;border:0}

.s-miss p{margin:0 0 8px}
.s-dim2{color:var(--ink-dim);font-size:13px}
.s-demos{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.s-demo{background:var(--panel);border:1px solid var(--line-2);border-radius:20px;padding:6px 14px;font-size:12.5px}
.s-demo:hover{border-color:var(--accent);color:var(--accent)}
.s-lead{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.s-lead .s-input{flex:1;min-width:200px;font-size:14px;padding:10px 12px}
.s-lead .primary{background:var(--accent);color:#fff;border:0;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600}

/* ── legal pages ── */
.s-legal{max-width:760px;padding-bottom:60px}
.s-legal h1{font-family:var(--serif);font-size:clamp(26px,4vw,36px);font-weight:560;
  letter-spacing:-.4px;margin:clamp(32px,6vw,56px) 0 6px}
.s-updated{color:var(--ink-faint);font-size:12.5px;margin:0 0 28px}
.s-legal h2{font-family:var(--serif);font-size:19px;font-weight:560;margin:30px 0 10px}
.s-legal p,.s-legal li{color:var(--ink-dim);font-size:14px;line-height:1.7}
.s-legal ul{padding-left:20px}
.s-legal table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
.s-legal th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;
  color:var(--ink-faint);border-bottom:1px solid var(--line);padding:7px 0}
.s-legal td{padding:7px 10px 7px 0;border-bottom:1px solid var(--line);color:var(--ink-dim);vertical-align:top}
.s-legal code{font-family:var(--mono);font-size:12.5px;background:var(--panel-2);padding:1px 5px;border-radius:4px}
.s-legal .card{margin:8px 0 20px}
.s-legal .banner{margin-top:22px}

.s-consent{display:flex;align-items:flex-start;gap:7px;flex-basis:100%;font-size:12px;
  color:var(--ink-dim);line-height:1.5;margin-top:2px}
.s-consent input{margin-top:2px}
.s-leadmsg{flex-basis:100%;font-size:12.5px;color:var(--ink-dim)}
.s-leadmsg:empty{display:none}
