/* Mac product and recovery pages use the existing paper/ink system. */
.mac-nav { display:flex; justify-content:space-between; align-items:center; min-height:84px; gap:20px; font-size:14px; }
.mac-page { padding-block:var(--space-xl) var(--space-2xl); }
.mac-head { max-width:760px; margin:0 auto; text-align:center; }
.mac-head h1 { font-size:clamp(36px,5.2vw,64px); line-height:1.1; text-wrap:balance; }
.mac-deck { max-width:58ch; margin:var(--space-s) auto; font-size:18px; line-height:1.65; color:var(--muted); text-wrap:pretty; }
.mac-requirements,.mac-small { font-size:13px; line-height:1.65; color:var(--muted); }
.mac-requirements { margin-top:var(--space-m); }
.mac-buy { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px 32px; margin:var(--space-m) 0 10px; }
.mac-price { font-family:var(--display); font-size:24px; }
.mac-text-link { display:inline-block; min-height:44px; padding-block:12px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
#mac-message { margin-top:18px; }
.mac-demo { margin:var(--space-l) 0 var(--space-2xl); border:var(--hair) solid var(--line); border-radius:20px; overflow:hidden; }
.mac-demo video { display:block; width:100%; }
.mac-demo figcaption { padding:18px; color:var(--muted); font-size:14px; }
.mac-demo-slot { min-height:300px; padding:var(--space-l) 20px; display:grid; align-content:center; gap:10px; text-align:center; background:var(--wash); }
.mac-demo-slot .eyebrow { margin:0; }
.mac-demo-slot > p:nth-child(2) { font-family:var(--display); font-size:24px; }
.mac-faq { max-width:680px; margin:auto; }
.mac-faq h2 { margin-bottom:var(--space-m); }
.mac-faq details { border-bottom:var(--hair) solid var(--line); padding:18px 0; font-size:15px; }
.mac-faq summary { cursor:pointer; padding-block:8px; }
.mac-faq details p { margin-top:10px; color:var(--muted); line-height:1.65; max-width:65ch; }
.mac-faq a { text-decoration:underline; }
.mac-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:32px; }
.mac-account { min-height:40vh; }
#mac-offer[hidden],#mac-licence[hidden],#mac-next[hidden],#mac-switch[hidden],#mac-retry[hidden],#mac-manual[hidden] { display:none; }
#mac-manual { margin-top:18px; text-align:left; }
#mac-key { width:100%; min-height:120px; padding:12px; margin-top:12px; overflow-wrap:anywhere; font-family:var(--mono); font-size:12px; border:1px solid var(--line); border-radius:8px; }
.mac-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; border:var(--hair) solid var(--line); border-radius:14px; padding:32px; margin-top:32px; text-align:left; background:var(--bg); }
.mac-banner .mac-label { font:11px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:10px; }
.mac-banner h3 { font-family:var(--display); font-size:24px; margin-bottom:10px; }
.mac-banner p { font-size:14px; line-height:1.65; color:var(--muted); }
.mac-banner-action { display:flex; flex-direction:column; align-items:flex-end; gap:12px; flex-shrink:0; font-size:15px; }
/* On the landing page the Mac offer is a different kind of buy, so it is ink, not another price card. */
#pricing .mac-banner { background:#141413; border-color:#141413; color:#FAF9F5; }
#pricing .mac-banner .mac-label, #pricing .mac-banner p, #pricing .mac-banner s { color:#B5B1A6; }
#pricing .mac-banner .mac-founding { color:#D97757; }
#pricing .mac-banner .cta { background:#FAF9F5; color:#141413; box-shadow:none; }
#pricing .mac-banner .cta:hover { background:#FFFDF8; }
#sheet .mac-banner { padding:18px; margin-top:16px; gap:16px; flex-wrap:wrap; }
#sheet-packs[hidden] + .mac-banner { display:none; }
#sheet .mac-banner h3 { font-size:21px; }
#sheet .mac-banner-action { flex-direction:row; flex-wrap:wrap; align-items:center; }
#sheet .mac-banner .cta { height:auto; min-height:44px; padding:10px 16px; white-space:normal; text-align:center; }
@media(max-width:600px) { .mac-banner { flex-direction:column; align-items:stretch; padding:24px; } .mac-banner-action { align-items:flex-start; } .mac-demo-slot { min-height:220px; } }
@media(prefers-reduced-motion:reduce) { .mac-page .cta { transition:none; transform:none; } }
.mac-price s, .mac-banner-action s { color:var(--quiet); font-weight:400; margin-right:2px; }
.mac-founding { display:block; font-family:var(--mono, "IBM Plex Mono", monospace); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--quiet); margin-bottom:4px; }

/* Product page: the landing's white paper, shared type and spacing scale. */
.mac-product-nav { position:sticky; top:0; z-index:20; background:var(--bg); border-bottom:var(--hair) solid var(--line); }
.mac-product-nav .col { display:flex; align-items:center; min-height:68px; gap:var(--space-s); }
.mac-product-nav .right { margin-left:auto; display:flex; align-items:center; gap:24px; font-size:14px; color:var(--muted); }
.mac-product-nav .link { padding-block:12px; border-bottom:1px solid transparent; white-space:nowrap; }
.mac-product-nav .link:hover,.mac-product-nav [aria-current] { color:var(--text); border-bottom-color:var(--line); }
.mac-product-nav .cta { height:40px; padding-inline:18px; font-size:14.5px; }
.mac-skip { position:absolute; top:8px; left:20px; z-index:30; padding:12px; background:var(--bg); transform:translateY(-200%); }
.mac-skip:focus { transform:none; }
.mac-product-hero.col { padding-top:var(--space-xl); padding-bottom:var(--space-xl); }
.mac-product-hero .mac-head { max-width:800px; }
.mac-product-hero h1 { font-size:clamp(40px,5.2vw,68px); line-height:1.08; letter-spacing:-.015em; }
.mac-product-hero .eyebrow { margin-bottom:var(--space-xs); }
.mac-product-hero .mac-deck { font-size:clamp(17px,1.4vw,20px); margin-block:var(--space-s) var(--space-m); }
.mac-hero-actions { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:var(--space-s); margin-block:var(--space-m) var(--space-s); }
.mac-hero-actions .cta { min-height:46px; height:auto; padding-block:12px; flex-wrap:wrap; white-space:normal; }
.mac-hero-actions .mac-founding { margin-top:var(--space-xs); margin-bottom:0; }
.mac-hero-actions s { color:var(--muted); }
.mac-product-hero .mac-small { max-width:65ch; margin-inline:auto; }
.mac-product-hero #mac-account { overflow-wrap:anywhere; }
#mac-demo-slot { margin-top:var(--space-l); }
.mac-shot { margin:0; min-width:0; }
.mac-shot img,.mac-shot video { display:block; width:100%; height:auto; border:var(--hair) solid var(--line); border-radius:14px; box-shadow:0 2px 6px rgba(17,20,24,.04),0 24px 56px -24px rgba(17,20,24,.24); background:var(--wash); }
.mac-shot figcaption { margin-top:var(--space-s); color:var(--muted); font-size:13px; text-align:center; line-height:1.6; }
.mac-band.col { border-top:var(--hair) solid var(--line); padding-block:var(--space-xl); }
.mac-section-head { max-width:640px; margin:0 auto var(--space-l); text-align:center; }
.mac-section-head .eyebrow { margin-bottom:var(--space-xs); }
.mac-section-head h2 { margin-bottom:var(--space-s); }
.mac-section-head p:not(.eyebrow) { color:var(--muted); max-width:58ch; font-size:clamp(16px,1.3vw,18px); line-height:1.6; text-wrap:pretty; }
.mac-walkthrough { display:grid; gap:var(--space-xl); }
.mac-walkthrough > article { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:var(--space-l); align-items:center; }
.mac-walkthrough > article:nth-child(2) .mac-step-copy { order:2; }
.mac-step-copy h3,.mac-style-list h3,.mac-feature-list h3 { font-size:21px; line-height:1.25; margin-bottom:var(--space-xs); }
.mac-step-copy p:not(.eyebrow),.mac-style-list p,.mac-feature-list p { font-size:15px; color:var(--muted); line-height:1.65; max-width:65ch; text-wrap:pretty; }
.mac-step-copy .eyebrow { font-size:11px; margin-bottom:var(--space-s); }
.mac-walkthrough > article:last-child { grid-template-columns:1fr; }
.mac-walkthrough > article:last-child .mac-step-copy { max-width:58ch; }
.mac-shot-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-m); }
.mac-style-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--space-s); margin-bottom:var(--space-l); }
.mac-style-art { display:block; aspect-ratio:1; margin-bottom:var(--space-m); border:var(--hair) solid var(--line); border-radius:14px; overflow:hidden; background:var(--wash); }
.mac-style-art svg { display:block; width:100%; height:100%; }
.mac-style-list h3 { font-size:19px; }
.mac-style-list p { font-size:13px; }
.mac-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-l); }
.mac-feature-list article { border-top:var(--hair) solid var(--line); padding-top:var(--space-m); }
.mac-table-wrap { overflow-x:auto; }
.mac-table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; line-height:1.65; }
.mac-table caption { text-align:left; font:11px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--muted); padding-bottom:var(--space-s); }
.mac-table th,.mac-table td { padding:var(--space-s); border-bottom:var(--hair) solid var(--line); vertical-align:top; }
.mac-table thead th { font-family:var(--display); font-size:21px; font-weight:400; color:var(--text); }
.mac-table tbody th { width:22%; font-weight:500; }
.mac-table td { width:39%; color:var(--muted); }
.mac-table a { text-decoration:underline; text-underline-offset:4px; }
#mac-requirements { text-align:center; }
#mac-requirements .mac-section-head { margin-bottom:var(--space-m); }
.mac-requirement-note { max-width:58ch; margin:0 auto var(--space-m); color:var(--muted); font-size:14px; line-height:1.65; }
#mac-faq .mac-faq { max-width:760px; border-top:var(--hair) solid var(--line); }
#mac-faq summary { font-family:var(--display); font-size:19px; line-height:1.5; }
.mac-price s,.mac-banner-action s { color:var(--muted); }
.mac-founding { color:var(--muted); }
@media(max-width:900px) {
  .mac-product-nav .right { gap:16px; }
  .mac-product-nav .mac-restore-nav { display:none; }
  .mac-style-list { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:var(--space-m); }
  .mac-walkthrough > article { grid-template-columns:1fr; gap:var(--space-m); }
  .mac-walkthrough > article:nth-child(2) .mac-step-copy { order:0; }
  .mac-step-copy { max-width:58ch; }
}
@media(max-width:600px) {
  .mac-product-nav .right { gap:12px; }
  .mac-product-nav .link[href="/gallery"],.mac-product-nav .link[href="/packs"] { display:none; }
  .mac-product-nav .cta { min-height:44px; padding-inline:12px; font-size:13px; }
  .mac-product-nav .word { font-size:18px; }
  .mac-hero-actions { flex-direction:column; align-items:stretch; }
  .mac-hero-actions .cta { width:100%; }
  .mac-style-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mac-feature-list { grid-template-columns:1fr; gap:var(--space-m); }
  .mac-shot-pair { grid-template-columns:1fr; }
  .mac-table { min-width:560px; }
  #mac-faq summary { font-size:17px; }
  .mac-shot img,.mac-shot video { border-radius:10px; }
}
@media(max-width:380px) { .mac-product-nav .wm { display:none; } }
@media(pointer:coarse) { .mac-product-nav .cta { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { body[data-mac-page="product"] .cta { transition:none; transform:none; } }
/* Simple /mac (owner, 26 Oct 2026): value first, few words. */
.mac-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-l); text-align:left; }
.mac-points h3 { font-family:var(--display, "Young Serif", serif); font-weight:400; font-size:22px; margin:0 0 6px; }
.mac-points p { margin:0; color:var(--muted); line-height:1.6; }
#mac-styles .mac-style-list article h3 { text-align:center; font-size:15px; margin-top:10px; }
.mac-price-card { max-width:440px; margin:0 auto; padding:var(--space-l); border:1px solid var(--line); border-radius:20px; background:var(--bg, #fff); text-align:center; }
.mac-price { font-family:var(--display, "Young Serif", serif); font-size:40px; margin:0 0 var(--space-s); }
.mac-price s { color:var(--muted); font-size:.6em; margin-right:6px; }
.mac-price-card ul { list-style:none; padding:0; margin:0 0 var(--space-m); text-align:left; display:grid; gap:8px; }
.mac-price-card li { padding-left:24px; position:relative; line-height:1.5; }
.mac-price-card li::before { content:""; position:absolute; left:2px; top:.45em; width:12px; height:7px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); }
.mac-price-card #mac-offer .cta { width:100%; min-height:46px; }
.mac-price-card .mac-small { margin-top:var(--space-s); }
@media (max-width:760px) { .mac-points { grid-template-columns:1fr; gap:var(--space-m); } }
/* Account line and links on thanks/restore (owner, 26 Oct): wrap, never overflow; links never touch. */
#mac-account { max-width:60ch; margin-inline:auto; overflow-wrap:anywhere; }
.mac-head > .mac-text-link:not([hidden]) + .mac-text-link:not([hidden]) { margin-left:24px; }
/* Launch strip on the landing page (owner, 26 Oct). */
.mac-strip { display:block; padding:9px 16px; background:#141413; color:#FAF9F5; text-align:center; font-size:13px; line-height:1.4; text-decoration:none; }
.mac-strip:hover { text-decoration:underline; text-underline-offset:3px; }
.mac-strip-new { display:inline-block; margin-right:6px; padding:1px 7px; border-radius:999px; background:#D97757; color:#141413; font-size:11px; font-weight:500; }
@media (max-width:480px) { .mac-strip { font-size:12px; padding:8px 12px; } }
.mac-strip-short { display:none; }
@media (max-width:640px) { .mac-strip-long { display:none; } .mac-strip-short { display:inline; } }
/* Phone visitors and after-download steps (owner, 26 Oct; same approach as spritefolk.com). */
.mac-toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,12px); margin:0; padding:10px 16px; border-radius:999px; background:#141413; color:#FAF9F5; font-size:13px; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:60; }
.mac-toast.on { opacity:1; transform:translate(-50%,0); }
.mac-next-steps { position:fixed; right:20px; bottom:20px; z-index:60; width:min(320px, calc(100vw - 40px)); padding:16px 40px 16px 18px; border:1px solid var(--line); border-radius:16px; background:var(--bg, #fff); box-shadow:0 16px 40px -18px rgba(17,20,24,.35); font-size:13.5px; }
.mac-ns-h { margin:0 0 6px; font-weight:500; }
.mac-next-steps ol { margin:0; padding-left:18px; color:var(--muted); line-height:1.7; }
.mac-ns-close { position:absolute; top:8px; right:10px; border:0; background:none; font-size:18px; line-height:1; color:var(--muted); cursor:pointer; }
