/* Bluewater Sailing School demo — isolated brand (prefix bw-, no Lofty tokens). */
:root{
  --bw-navy:#13314F;
  --bw-regatta:#C4392E;
  --bw-steel:#5B7385;
  --bw-sail:#F4F6F7;
  --bw-ink:#16242E;
  --bw-line:#CBD6DE;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bw-sail);color:var(--bw-ink);
  font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.55}

.bw-header{display:flex;align-items:center;gap:14px;background:var(--bw-navy);color:var(--bw-sail);padding:18px 24px}
.bw-mark{width:44px;height:44px;flex:none}
.bw-header h1{margin:0;font-family:Georgia,serif;font-size:1.3rem}
.bw-tag{margin:2px 0 0;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#9FB7C9}

.bw-main{max-width:54rem;margin:0 auto;padding:22px 16px 40px}
.bw-intro{font-size:.95rem;color:var(--bw-ink);margin:0 0 18px}

.bw-rail{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;counter-reset:step}
.bw-tab{font:inherit;font-size:.74rem;padding:.4rem .7rem;cursor:pointer;background:#fff;
  border:1px solid var(--bw-line);border-radius:2px;color:var(--bw-steel)}
.bw-tab[aria-selected="true"]{background:var(--bw-navy);color:var(--bw-sail);border-color:var(--bw-navy)}
.bw-tab:focus-visible,.bw-btn:focus-visible{outline:2px solid var(--bw-regatta);outline-offset:2px}

.bw-stagewrap{background:#fff;border:1px solid var(--bw-line);box-shadow:7px 7px 0 0 rgba(19,49,79,.1);padding:24px 22px}
.bw-stage-title{margin:0 0 6px;font-family:Georgia,serif;font-size:1.4rem;color:var(--bw-navy)}
.bw-stage{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin:16px 0}
.bw-rationale{margin:6px 0 0;font-size:.92rem;color:var(--bw-ink)}

.bw-card{flex:1 1 150px;min-width:140px;border:1.5px solid var(--bw-line);padding:14px;border-radius:2px;text-align:center;background:#fff;position:relative;transition:opacity .3s ease}
.bw-card.is-win{border-color:var(--bw-navy);border-width:2.5px}
.bw-card.is-rejected{opacity:.6}
.bw-card svg{width:88px;height:88px;display:block;margin:0 auto 8px}
.bw-card .bw-label{font-weight:700;font-size:.82rem;color:var(--bw-navy)}
.bw-card .bw-verdict{font-size:.72rem;margin-top:4px}
.bw-card.is-win .bw-verdict{color:var(--bw-regatta);font-weight:700}
.bw-card.is-rejected .bw-verdict{color:var(--bw-steel)}
.bw-card.is-rejected::after{content:"";position:absolute;inset:10px;
  background:linear-gradient(to top right,transparent calc(50% - 1px),var(--bw-regatta),transparent calc(50% + 1px))}

.bw-bignav{flex:1 1 160px;text-align:center}
.bw-bignav svg{width:120px;height:120px}

/* size tests on the final step */
.bw-tests{display:flex;flex-wrap:wrap;gap:16px;width:100%}
.bw-test{flex:1 1 130px;text-align:center;font-size:.72rem;color:var(--bw-steel)}
.bw-swatch{display:flex;align-items:center;justify-content:center;height:70px;border:1px solid var(--bw-line);margin-bottom:6px}
.bw-swatch.is-navy{background:#1E2A33}
.bw-swatch.is-sail{background:var(--bw-sail)}

.bw-nav{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:22px}
.bw-btn{font:inherit;font-size:.9rem;padding:.45rem 1rem;cursor:pointer;background:var(--bw-sail);
  color:var(--bw-navy);border:1.5px solid var(--bw-navy);border-radius:2px}
.bw-btn:hover{background:var(--bw-navy);color:var(--bw-sail)}
.bw-btn:disabled{opacity:.4;cursor:default}
.bw-counter{font-size:.78rem;color:var(--bw-steel);min-width:7rem;text-align:center}

.bw-footer{background:var(--bw-navy);color:var(--bw-sail);text-align:center;padding:18px 16px;font-size:.82rem}
.bw-footer a{color:#9FB7C9}

@media (prefers-reduced-motion:reduce){.bw-card{transition:none}}
