@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,400&display=swap');

:root{
  --paper:#E9E8E3;
  --paper2:#DFDDD5;
  --paper3:#D4D1C7;
  --ink:#15161A;
  --ink2:#3C3D42;
  --mid:#6E6F75;
  --rule:#C4C1B8;
  --rule2:#A5A29A;
  --accent:#B0331A;
  --dis:'Archivo',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  --txt:'Newsreader',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--dis);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}

/* labels: tight uppercase grotesque, not spaced-out monospace */
.eyebrow,.lbl{font-family:var(--dis);font-size:10px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--mid)}
.mono{font-family:var(--dis);font-weight:600;font-variant-numeric:tabular-nums}
.num{color:var(--accent);font-weight:800;margin-right:7px}

/* masthead */
header.top{display:flex;align-items:baseline;gap:14px;padding:13px 22px 11px;
  border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:20}
.wordmark{font-family:var(--dis);font-weight:800;font-size:17px;letter-spacing:-.02em;text-transform:uppercase}
.wordmark span{color:var(--accent)}
header.top .tag{font-family:var(--txt);font-style:italic;font-size:13.5px;color:var(--mid)}
header.top .spacer{flex:1}

.shell{display:grid;grid-template-columns:308px 1fr;grid-template-areas:"rail hero" "rail stage";
  grid-template-rows:auto 1fr;min-height:calc(100vh - 46px)}
.rail{grid-area:rail;border-right:1px solid var(--rule);padding-bottom:56px;background:var(--paper)}
.hero{grid-area:hero;align-self:start;padding:28px 40px 24px;border-bottom:1px solid var(--rule)}
.stage{grid-area:stage;padding-bottom:80px;min-width:0}

/* hero: poster headline, serif standfirst — no giant italic display serif */
.hero h1{font-family:var(--dis);font-weight:800;font-size:clamp(27px,3vw,39px);line-height:.95;
  letter-spacing:-.028em;text-transform:uppercase;margin:11px 0 0;max-width:19ch}
.hero p{font-family:var(--txt);font-size:16px;line-height:1.5;color:var(--ink2);margin:15px 0 0;
  max-width:70ch;columns:2;column-gap:36px;column-rule:1px solid var(--rule)}
@media(max-width:1180px){.hero p{columns:1;max-width:52ch}}
.kicker{display:flex;align-items:center;gap:9px}
.kicker::after{content:"";flex:1;height:1px;background:var(--rule);max-width:170px}
.fade-up{opacity:0;transform:translateY(8px);animation:fu .6s cubic-bezier(.2,.7,.3,1) forwards}
.fade-up.d1{animation-delay:.05s}.fade-up.d2{animation-delay:.12s}.fade-up.d3{animation-delay:.2s}
@keyframes fu{to{opacity:1;transform:none}}

/* rail sections divided by rules, not boxes */
.sec{padding:17px 20px;border-bottom:1px solid var(--rule)}
.sec > .eyebrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;color:var(--ink)}
.field{margin-bottom:13px}
.field:last-child{margin-bottom:0}

select,input[type=text],textarea{width:100%;background:var(--paper);color:var(--ink);
  border:1px solid var(--rule2);border-radius:0;font-family:var(--dis);font-size:13.5px;padding:8px 9px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
textarea{resize:vertical;min-height:74px;font-size:13px;line-height:1.45}
:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
input[type=range]{width:100%;accent-color:var(--accent)}
input[type=color]{border:1px solid var(--rule2);background:var(--paper);padding:2px}

/* watch picker: art on paper, selected marked by a rule not a box */
.watches{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.wcard{display:flex;gap:8px;align-items:center;text-align:left;background:var(--paper);
  border:none;border-radius:0;padding:9px 9px;cursor:pointer;color:var(--mid);
  font-family:var(--dis);font-size:11.5px;line-height:1.2;transition:background .14s;position:relative}
.wcard b{display:block;color:var(--ink);font-weight:700;font-size:12px;letter-spacing:-.01em}
.wface{flex:0 0 34px;display:flex;justify-content:center}
.wface img{width:34px;height:48px;object-fit:cover}
.wtxt{min-width:0}
.wcard:hover{background:var(--paper2)}
.wcard[aria-pressed=true]{background:var(--ink)}
.wcard[aria-pressed=true] b{color:var(--paper)}
.wcard[aria-pressed=true]{color:var(--paper3)}

.dialwrap{padding:20px 20px 18px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper2)}
.dialwrap svg{flex:0 0 103px}
.wphoto{flex:0 0 100px;width:100px;height:142px;object-fit:cover;border:1px solid var(--rule2)}
.dialmeta b{font-family:var(--dis);font-size:19px;font-weight:800;line-height:1;display:block;
  letter-spacing:-.025em;text-transform:uppercase}
.dialmeta .specs{margin-top:9px;display:flex;flex-direction:column;gap:3px}
.dialmeta .specs div{font-family:var(--dis);font-size:9.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--mid);display:flex;gap:6px;align-items:baseline}
.dialmeta .specs span{font-family:var(--txt);font-style:normal;font-weight:400;font-size:13.5px;
  letter-spacing:0;text-transform:none;color:var(--ink)}
.gl{transition:opacity .2s}.dim{opacity:.18}

/* square tags, not pills */
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-family:var(--dis);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 8px;border:1px solid var(--rule2);background:transparent;color:var(--mid);
  border-radius:0;cursor:pointer;transition:.12s}
.chip:hover{color:var(--ink);border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip.no[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}

/* modes as tabs with a rule, not three boxes */
.modes{display:flex;gap:26px;padding:22px 40px 0;flex-wrap:wrap;border-bottom:1px solid var(--rule);margin-bottom:0}
.mode{flex:0 1 auto;max-width:250px;text-align:left;cursor:pointer;background:none;border:none;
  border-bottom:3px solid transparent;padding:0 0 12px;color:var(--mid);font-family:var(--dis)}
.mode b{display:block;color:var(--ink2);font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:.02em;margin-bottom:3px}
.mode small{font-size:11.5px;line-height:1.35;display:block;font-weight:400}
.mode:hover b{color:var(--ink)}
.mode[aria-pressed=true]{border-bottom-color:var(--accent)}
.mode[aria-pressed=true] b{color:var(--ink)}

.actions{padding:22px 40px 0;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
button.go{font-family:var(--dis);font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 22px;border-radius:0;cursor:pointer;transition:.14s}
button.go:hover{background:var(--accent);border-color:var(--accent)}
button.go[disabled]{opacity:.4;cursor:progress}
button.ghost{font-family:var(--dis);font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  background:transparent;color:var(--ink);border:1px solid var(--rule2);padding:12px 18px;border-radius:0;cursor:pointer;transition:.14s}
button.ghost:hover{border-color:var(--ink)}
.enginechip{font-family:var(--dis);font-size:10px;font-weight:700;color:var(--mid);letter-spacing:.06em;text-transform:uppercase}
.enginechip b{color:var(--accent);font-weight:700}

/* results: editorial entries separated by rules */
.results{padding:30px 40px 0;display:flex;flex-direction:column;gap:34px}
.card{border:none;border-top:2px solid var(--ink);background:none;border-radius:0;
  opacity:0;transform:translateY(8px);animation:fu .5s cubic-bezier(.2,.7,.3,1) forwards}
.card .chead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:14px 0 14px;flex-wrap:wrap}
.chead h3{font-family:var(--dis);font-weight:800;font-size:24px;margin:0;line-height:1;
  letter-spacing:-.025em;text-transform:uppercase}
.chead .sub{font-family:var(--dis);font-size:10px;font-weight:700;color:var(--mid);
  letter-spacing:.07em;text-transform:uppercase;margin-top:7px}
.price{font-family:var(--txt);font-size:27px;font-weight:400;color:var(--ink);white-space:nowrap;
  font-variant-numeric:tabular-nums;line-height:1}
.price small{display:block;font-family:var(--dis);font-size:9.5px;font-weight:700;color:var(--mid);
  letter-spacing:.07em;text-transform:uppercase;text-align:right;margin-top:5px}

.items{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.items li{display:flex;align-items:center;gap:13px;padding:10px 6px;
  border-bottom:1px solid var(--rule);transition:background .14s}
.items li:hover{background:var(--paper2)}
.sw{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center}
.sw svg{display:block}
.itxt{flex:1;min-width:0}
.itxt b{font-weight:600;font-size:14px;display:block;letter-spacing:-.005em}
.itxt span{font-family:var(--txt);font-style:italic;font-size:13.5px;color:var(--mid);letter-spacing:0}
.slot{font-family:var(--dis);font-size:9.5px;font-weight:700;color:var(--mid);text-transform:uppercase;
  letter-spacing:.08em;width:58px;flex:0 0 58px}
.ip{font-family:var(--txt);font-size:16px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.owned{font-family:var(--dis);font-size:9.5px;font-weight:700;color:var(--mid);border:1px solid var(--rule2);
  padding:3px 6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}
a.shop{font-family:var(--dis);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--accent);white-space:nowrap;padding-bottom:1px}
a.shop:hover{color:var(--accent)}

/* flat lay */
.flat{display:flex;flex-wrap:wrap;gap:4px;padding:18px 14px 12px;background:var(--paper2)}
.flat figure{margin:0;width:96px;text-align:center;padding:6px 2px;transition:background .14s}
.flat figure:hover{background:var(--paper3)}
.flat svg,.sw svg,.capgrid svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.flat figcaption{font-family:var(--dis);font-size:9px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--mid);margin-top:3px;line-height:1.3}
.flat .onwrist{margin-left:auto;border-left:1px solid var(--rule2);padding-left:12px;width:110px}
.flat .onwrist figcaption{color:var(--accent)}
.flat .onwrist img{width:64px;height:92px;object-fit:cover}

/* tone bridge as a printed diagram */
.bridge{padding:18px 6px 16px}
.bridge .eyebrow{margin-bottom:9px;color:var(--ink)}
.bar{display:flex;gap:1px;height:30px}
.seg{flex:1;position:relative;transition:transform .16s;border-radius:0}
.seg:hover{transform:translateY(-3px)}
.legend{display:flex;gap:1px;margin-top:6px}
.legend div{flex:1;font-family:var(--dis);font-size:9px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--mid);line-height:1.3;border-top:1px solid var(--rule);padding-top:4px}
.legend em{font-style:normal;color:var(--accent);font-weight:700;display:block}
.why{padding:2px 0 18px;font-family:var(--txt);color:var(--ink2);font-size:16.5px;line-height:1.55;max-width:66ch}
.why b{color:var(--ink);font-weight:500}
.cfoot{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:12px 0;border-top:1px solid var(--rule);flex-wrap:wrap}
.cfoot .note{font-family:var(--dis);font-size:10px;font-weight:600;color:var(--mid);letter-spacing:.04em;text-transform:uppercase}

/* capsule */
.capsule{border:none;border-top:2px solid var(--ink);background:none}
.caphead{padding:14px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.caphead h3{font-family:var(--dis);font-weight:800;font-size:24px;margin:0;letter-spacing:-.025em;text-transform:uppercase}
.capgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));
  border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.capgrid a{display:flex;gap:9px;align-items:center;padding:11px 13px;text-decoration:none;color:inherit;
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .14s}
.capgrid a:hover{background:var(--paper2)}
.capgrid b{font-weight:600;font-size:13px;display:block}
.capgrid span{font-family:var(--txt);font-style:italic;font-size:13px;color:var(--mid)}

.empty{padding:26px 0;border-top:1px solid var(--rule);color:var(--mid);
  font-family:var(--txt);font-size:16px;max-width:56ch}
.empty b{color:var(--ink);display:block;font-family:var(--dis);font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;margin-bottom:6px;font-size:15px}
.loading{display:flex;align-items:center;gap:11px;color:var(--mid);font-family:var(--dis);
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.spin{width:14px;height:14px;border:1.5px solid var(--rule2);border-top-color:var(--accent);border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.hint{font-family:var(--dis);font-size:10.5px;color:var(--mid);line-height:1.45;margin-top:7px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.disclose{padding:22px 40px 0;font-family:var(--txt);font-size:14px;color:var(--mid);line-height:1.55;max-width:74ch;font-style:italic}

@media(max-width:900px){
  .shell{display:block}
  .rail{border-right:none;border-bottom:1px solid var(--rule)}
  .hero,.modes,.actions,.results,.disclose{padding-left:20px;padding-right:20px}
  .modes{gap:18px}
  .mode{max-width:none;flex:1 1 100%}
  .flat figure{width:74px}
  .flat .onwrist{width:86px}
  .slot{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.fade-up,.card{opacity:1;transform:none}}
