/*
Theme Name: Moore Watch Co
Theme URI: https://moorewatch.co
Author: Moore Watch Co
Description: Single product brand theme for the Seasteel 45mm. Homepage, customer pages and waitlist.
Version: 1.1.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: moore
*/

:root{--ink:#0A0A0A;--paper:#F2F2F2;--muted:#8A8A8A;--muted2:#B8B8B8;--line:#222;--panel:#141414;--light:#F4F4F4;--orange:#FF5A1F;--ice:#8FD3E8;--blue:#4F8DFF}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:'Space Grotesk',system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--paper);text-decoration:none}a:hover{color:var(--orange)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-0.03em;line-height:1}
.wrap{padding-left:48px;padding-right:48px}
.sw{transition:background 500ms ease}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:16px 28px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:0.04em;border:0;cursor:pointer;font-family:inherit}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{color:var(--paper);opacity:0.85}

/* nav */
.nav{display:flex;justify-content:space-between;align-items:center;padding:24px 48px;position:sticky;top:0;z-index:50;mix-blend-mode:difference}
.nav img{height:44px;width:auto;object-fit:contain}
.nav-links{display:flex;gap:32px;font-size:14px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center}
.nav-links .pill{border:1px solid var(--paper);padding:10px 18px;border-radius:999px}

/* hero */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;margin-top:-92px;padding:0 48px 56px;background:var(--orange)}
.hero img{position:absolute;right:-6%;top:50%;transform:translateY(-50%) rotate(-8deg);width:62%;max-width:980px;filter:drop-shadow(0 40px 80px rgba(0,0,0,0.35))}
.hero-copy{position:relative;display:flex;flex-direction:column;gap:20px;max-width:760px;color:var(--ink)}
.eyebrow{font-size:14px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase}
.hero h1{font-size:clamp(72px,11vw,160px);line-height:0.9;letter-spacing:-0.04em}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}

/* problem */
.problem{padding:160px 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.problem .l{grid-column:1 / span 7;display:flex;flex-direction:column;gap:28px}
.problem .r{grid-column:9 / span 4;font-size:18px;color:var(--muted2)}
.problem h2,.fit h2,.swiss h2{font-size:clamp(40px,5vw,72px)}
.label{font-size:14px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}

/* spec panels */
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:720px;border-top:1px solid var(--line)}
.spec:last-child{border-bottom:1px solid var(--line)}
.spec .txt{padding:96px 48px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.spec .big{font-size:clamp(96px,14vw,220px);line-height:0.85;font-weight:700;letter-spacing:-0.05em}
.spec .big span{font-size:0.4em;letter-spacing:-0.02em}
.spec .lead{font-size:22px;line-height:1.4;max-width:420px}
.spec .sub{font-size:15px;color:var(--muted);max-width:420px}
.spec .pic{background:var(--light);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:480px}
.spec .pic img{width:120%;max-width:none;filter:contrast(1.15) saturate(1.3)}
.spec.flip .pic{order:1}.spec.flip .txt{order:2}

/* colour */
.colour{padding:120px 48px;display:flex;flex-direction:column;gap:48px;overflow:hidden;background:var(--orange);color:var(--ink)}
.colour-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.colour h2{font-size:clamp(48px,7vw,112px);line-height:0.9;letter-spacing:-0.04em}
.swatches{display:flex;gap:12px;flex-wrap:wrap}
.swatch{width:52px;height:52px;border-radius:999px;border:3px solid transparent;cursor:pointer;padding:0}
.swatch[aria-pressed="true"]{border-color:var(--ink)}
.swatch.later{position:relative;opacity:0.85}
.swatch-sep{width:1px;height:36px;background:rgba(10,10,10,0.35);align-self:center;margin:0 6px}
.waitlist .sel{flex:0 1 220px;min-height:56px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:16px;font-family:inherit;appearance:none}
.colour-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.colour-body .pic{grid-column:1 / span 7;display:flex;justify-content:center}
.colour-body .pic img{width:100%;max-width:720px;filter:drop-shadow(0 30px 60px rgba(0,0,0,0.3))}
.colour-body .txt{grid-column:8 / span 5;display:flex;flex-direction:column;gap:16px}
.colour-body .name{font-size:48px;font-weight:700;letter-spacing:-0.03em;line-height:1}
.colour-body .line{font-size:18px;max-width:420px}
.colour-body .note{font-size:14px;opacity:0.7;margin-top:16px}

/* fit */
.fit{padding:160px 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.fit .l{grid-column:1 / span 5;display:flex;flex-direction:column;gap:28px}
.fit .l p{font-size:18px;color:var(--muted2);max-width:440px;margin:0}
.fit .grid{grid-column:7 / span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.fit .cell{background:var(--ink);padding:32px}
.fit .cell .k{font-size:14px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.fit .cell .v{font-size:40px;font-weight:700;letter-spacing:-0.03em;margin-top:8px}

/* swiss */
.swiss{background:var(--panel);padding:160px 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.swiss .l{grid-column:1 / span 6;display:flex;flex-direction:column;gap:28px}
.swiss .r{grid-column:8 / span 5;display:flex;flex-direction:column;gap:24px;font-size:18px;color:var(--muted2)}
.swiss .r p{margin:0}
.tags{display:flex;gap:32px;flex-wrap:wrap;margin-top:12px;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;color:var(--paper)}

/* waitlist */
.waitlist{padding:160px 48px;display:flex;flex-direction:column;gap:48px;color:var(--ink);background:var(--orange)}
.waitlist h2{font-size:clamp(56px,9vw,140px);line-height:0.9;letter-spacing:-0.04em;max-width:1100px}
.waitlist-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.waitlist-body p{grid-column:1 / span 6;font-size:18px;max-width:520px;margin:0}
.waitlist form{grid-column:7 / span 6;display:flex;gap:12px;flex-wrap:wrap}
.waitlist input[type=email]{flex:1 1 260px;min-height:56px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:16px;font-family:inherit}
.waitlist input::placeholder{color:rgba(10,10,10,0.6)}
.waitlist .btn{min-height:56px}
.waitlist .msg{grid-column:1 / span 12;font-size:16px}
.sr{position:absolute;left:-9999px}

/* footer */
.footer{padding:64px 48px 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;font-size:14px;color:var(--muted);line-height:1.6}
.footer .brand{grid-column:1 / span 4;display:flex;flex-direction:column;gap:16px}
.footer .brand img{height:64px;width:auto;align-self:flex-start;object-fit:contain}
.footer .col{display:flex;flex-direction:column;gap:8px}
.footer .c1{grid-column:6 / span 2}.footer .c2{grid-column:8 / span 2}.footer .c3{grid-column:10 / span 3}
.footer .h{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--paper);margin-bottom:8px}
.footer a{color:var(--muted)}.footer a:hover{color:var(--paper)}
.footer .brand a{color:var(--paper)}
.footer .legal{grid-column:1 / span 12;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}

/* inner pages */
.page{max-width:760px;margin:0 auto;padding:140px 24px 120px}
.page h1{font-size:clamp(48px,7vw,96px);letter-spacing:-0.04em;line-height:0.95;margin-bottom:48px}
.page h2{font-size:28px;margin:48px 0 16px}
.page h3{font-size:20px;margin:32px 0 8px}
.page p,.page li{font-size:18px;color:#D6D6D6}
.page p{margin:0 0 20px}
.page ul{padding-left:20px}
.page table{width:100%;border-collapse:collapse;font-size:16px;margin:16px 0 28px}
.page th,.page td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.page th{color:var(--paper);font-weight:500;letter-spacing:0.04em}
.page a{color:var(--paper);text-decoration:underline}
.page .lead{font-size:22px;color:var(--paper)}

/* phone */
@media (max-width:900px){
  .wrap,.nav,.hero,.problem,.fit,.swiss,.colour,.waitlist,.footer,.spec .txt{padding-left:20px;padding-right:20px}
  .nav{padding-top:16px;padding-bottom:16px}
  .nav img{height:32px}
  .nav-links{gap:16px;font-size:12px}
  .nav-links a:not(.pill){display:none}
  .hero{margin-top:-72px;min-height:92vh;padding-bottom:40px}
  .hero img{position:relative;right:auto;top:auto;transform:rotate(-8deg);width:120%;max-width:none;margin:40px -10% 0}
  .hero h1{font-size:clamp(56px,16vw,96px)}
  .problem,.fit,.swiss,.colour-body,.waitlist-body,.footer{display:flex;flex-direction:column}
  .problem,.fit,.swiss,.colour,.waitlist{padding-top:96px;padding-bottom:96px}
  .spec{grid-template-columns:1fr;min-height:0}
  .spec .txt{padding:64px 20px}
  .spec .pic{min-height:320px}
  .spec.flip .pic{order:2}.spec.flip .txt{order:1}
  .fit .grid{display:grid}
  .colour-body .pic img{max-width:100%}
  .footer .legal{margin-top:16px}
  .fit .cell .v{font-size:30px}
  .fit .cell{padding:24px 20px}
}
