/* Nook Blocker for Mac: the download page (mac.html) and the beta page (mac-beta.html).
   October 22, 2026: one light cream surface in the Mac app's own colors, with real app screenshots
   (assets/mac-shot-*.webp, captured from mac-blocker/Resources/ui; see qa/mac-page-cream-20261022). */
@font-face{font-family:Baskervville;src:url(assets/baskervville.ttf);font-display:swap}
:root{--bg:#f6f0e4;--card:#fffcf6;--ink:#291b0c;--muted:#6e5c49;--eyebrow:#8a5a12;--line:rgba(41,27,12,.12);--hair:rgba(41,27,12,.08);--on-ink:#fff6e6;--serif:Baskervville,"Times New Roman",serif;--shadow:0 24px 60px rgba(41,27,12,.14),0 0 0 1px var(--hair);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Instrument Sans",-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-underline-offset:5px}
svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.word{font-family:var(--serif);line-height:1}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
::selection{background:#efc36a;color:var(--ink)}

/* Header */
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}.brand .word{font-size:30px}
.brand .tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.sections{display:flex;gap:32px;font-size:14px}
.sections a,.back,footer nav a{display:inline-flex;align-items:center;min-height:44px}
.sections a,.back{color:var(--muted);text-decoration:none}.sections a:hover,.back:hover{color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:18px;font-size:14px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s}
.btn svg{width:18px;height:18px}
.btn.primary{background:var(--ink);color:var(--on-ink)}.btn.primary:hover{background:#3d2b17}
.btn.small{min-height:44px;padding:0 20px;font-size:14px}
.btn.big{min-height:54px;padding:0 30px;font-size:16px}
.btn[aria-disabled=true]{opacity:.55;cursor:wait}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;text-decoration:underline;text-decoration-color:rgba(41,27,12,.3)}

/* Hero */
.hero{padding-top:48px;text-align:center}
.app-icon{display:block;margin:0 auto 28px;filter:drop-shadow(0 12px 22px rgba(41,27,12,.16))}
h1{font-size:clamp(44px,6vw,84px);line-height:1.02;letter-spacing:-.03em}
.lede{margin:20px auto 0;max-width:540px;font-size:19px;line-height:1.55;color:var(--muted);text-wrap:balance}
.actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;margin-top:32px}
.hero small,.cta small{display:block;margin-top:14px;font-size:13px;color:var(--muted)}

/* Screenshots */
.shot{display:block;width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow)}
.hero-shot{max-width:960px;margin:56px auto 0}

/* Feature rows: copy beside a screenshot. A .flip row puts the picture first and keeps the copy on top when it wraps. */
.row{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:center;padding-top:128px}
.row.flip{flex-wrap:wrap-reverse}
.copy{flex:1 1 320px;min-width:0}
.media{flex:1.5 1 480px;min-width:0}
.eyebrow{margin-bottom:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--eyebrow)}
h2{font-size:clamp(34px,3.6vw,48px);line-height:1.08;letter-spacing:-.02em}
.copy>p:not(.eyebrow){margin-top:16px;color:var(--muted);line-height:1.7}
.copy>h2+p{margin-top:18px}
.checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.checks li{position:relative;padding-left:30px}
.checks li::before{content:"";position:absolute;left:3px;top:7px;width:12px;height:6px;border-left:2.2px solid var(--ink);border-bottom:2.2px solid var(--ink);transform:rotate(-45deg)}
.fine{font-size:14px}

/* The extension's note in a browser, with the blocked-app window over its corner */
.pair{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
.browser{grid-column:1/11;grid-row:1;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(41,27,12,.12),0 0 0 1px var(--hair)}
.browser img{display:block;width:100%;height:auto}
.browser-bar{height:34px;display:flex;align-items:center;gap:12px;padding:0 12px;background:#f1ebe0;border-bottom:1px solid rgba(41,27,12,.07)}
.lights{display:flex;gap:6px}.lights i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.lights i:nth-child(2){background:#febc2e}.lights i:nth-child(3){background:#28c840}
.url{flex:1;max-width:240px;margin:0 auto;display:flex;align-items:center;justify-content:center;height:22px;border-radius:6px;background:#fff;color:var(--muted);font-size:12px}
.pair .blocked{grid-column:6/13;grid-row:2;margin-top:-18%;box-shadow:0 24px 60px rgba(41,27,12,.18),0 0 0 1px rgba(41,27,12,.1)}

/* Lock levels */
.levels{padding-top:136px}
.center-head{text-align:center;max-width:640px;margin:0 auto}
.center-head h2{font-size:clamp(34px,4vw,54px);line-height:1.06}
.center-head p{margin-top:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:44px}
.card{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:18px;background:var(--card);border:1px solid var(--hair)}
.card h3{font-size:28px;line-height:1.1}
.card p{color:var(--muted);line-height:1.6}
.bars{display:flex;gap:3px;align-items:flex-end;height:20px}
.bars i{width:5px;height:8px;border-radius:1.5px;background:rgba(41,27,12,.16)}
.bars i:nth-child(2){height:14px}.bars i:nth-child(3){height:20px}.bars i.on{background:var(--ink)}

/* Setup */
#setup{padding-top:136px}
.steps{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:20px;counter-reset:step}
.steps li{position:relative;padding-left:48px;counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;border:1px solid rgba(41,27,12,.24);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.steps b{display:block;font-weight:600}.steps span{color:var(--muted)}
.copy>.fine{margin-top:24px}

/* Privacy, closing, footer */
.privacy{display:flex;flex-wrap:wrap;gap:20px 48px;align-items:center;justify-content:space-between;margin-top:96px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.privacy>div{flex:1 1 400px;min-width:0}
.privacy h2{font-size:28px;line-height:1.15}
.privacy p{margin-top:8px;color:var(--muted);line-height:1.65}
.privacy .checks{flex-direction:row;flex-wrap:wrap;gap:10px 24px;margin:0;font-size:14px;font-weight:500}
.cta{padding-top:128px;padding-bottom:120px;text-align:center}
.cta img{display:block;margin:0 auto 24px}
.cta h2{max-width:720px;margin:0 auto;font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.025em}
footer{border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding-top:28px;padding-bottom:36px;font-size:13px;color:var(--muted)}
footer .word{font-size:24px;color:var(--ink)}footer span:not(.word){max-width:520px}
footer nav{display:flex;gap:22px}footer nav a{text-decoration:none}footer nav a:hover{color:var(--ink)}

/* Narrower screens */
@media(max-width:820px){.sections{display:none}}
@media(max-width:640px){
 .top{height:64px}
 .back{display:none}
 .hero{padding-top:28px}
 .lede{font-size:17px}
 .hero-shot{margin-top:40px}
 .row{padding-top:88px}
 .levels,#setup{padding-top:96px}
 .cta{padding-top:96px;padding-bottom:88px}
}

/* Beta page (mac-beta.html, October 21, 2026): the hero alone, with short notes for testers. */
.beta-hero{padding-bottom:96px}
.beta-hero .app-icon{width:76px;height:76px}
.beta-notes{max-width:620px;margin:56px auto 0;padding:0;list-style:none;text-align:left;display:grid;gap:12px;color:var(--muted);font-size:15px;line-height:1.6}
.beta-notes li{padding:16px 20px;border:1px solid var(--hair);border-radius:14px;background:var(--card)}
.beta-notes strong{color:var(--ink);font-weight:600}
