/* Worknest Business — landing variant D
 * Structure and type system follow apple.com/shop/apple-upgrade: SF Pro display stack,
 * 980px reading column inside a 1680px media frame, #f5f5f7 alternating bands,
 * pill actions, chevron text links, accordion FAQ, symbol + numbered footnotes.
 * Brand action colour is Worknest raspberry, not Apple blue.
 * Deliberately NOT Hallmark-compliant: the owner asked for this reference. */

:root{
  --sf:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,Inter,"Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;

  --ink:#1d1d1f;          /* Apple's near-black */
  --ink-2:#6e6e73;        /* secondary */
  --ink-3:#86868b;        /* footnote grey */
  --bg:#fff;
  --band:#f5f5f7;
  --hair:#d2d2d7;
  --accent:#d82d60;       /* Worknest raspberry — 4.8:1 on white */
  --accent-ink:#b31f4c;   /* hover */
  --accent-soft:#fff0f4;
  --dark:#1d1d1f;

  --col:980px;            /* Apple's reading column */
  --wide:1680px;
  --pad:22px;

  --r-sm:12px; --r-md:18px; --r-lg:28px; --r-xl:36px; --r-pill:980px;

  --sec:clamp(64px,8vw,120px);
  --nav-h:52px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sf);font-size:17px;line-height:1.47059;font-weight:400;
  letter-spacing:-.022em;overflow-x:clip;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-ink);text-decoration:underline}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- type scale (Apple's) ---------- */
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.015em}
.h-hero{font-size:clamp(40px,7.4vw,80px);line-height:1.05;letter-spacing:-.018em}
.h-sec {font-size:clamp(32px,4.6vw,48px);line-height:1.08;letter-spacing:-.016em}
.h-sub {font-size:clamp(24px,3vw,32px);line-height:1.125;letter-spacing:-.014em}
.h-card{font-size:21px;line-height:1.19;letter-spacing:-.012em}
.lede{font-size:clamp(19px,2.1vw,21px);line-height:1.38;letter-spacing:.011em;margin:0}
.body{font-size:17px;line-height:1.47;margin:0}
.muted{color:var(--ink-2)}
p+p{margin-top:1em}
.body+.body{margin-top:1em}

/* ---------- shell ---------- */
.col{max-width:var(--col);margin-inline:auto;padding-inline:var(--pad)}
.wide{max-width:var(--wide);margin-inline:auto;padding-inline:var(--pad)}
section{padding-block:var(--sec)}
.band{background:var(--band)}
.dark{background:var(--dark);color:#f5f5f7}
.dark .muted{color:#a1a1a6}
.dark a{color:#ff7ba3}
.center{text-align:center}
.center .lede,.center .body{margin-inline:auto}
.measure{max-width:62ch}
.center .measure{margin-inline:auto}

/* ---------- actions ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  min-height:44px;padding:11px 22px;border:0;border-radius:var(--r-pill);
  background:var(--accent);color:#fff;font:inherit;font-size:17px;line-height:1.17;
  letter-spacing:-.022em;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);
}
.btn:hover{background:var(--accent-ink);color:#fff;text-decoration:none}
.btn:active{transform:scale(.97)}
.btn--sm{min-height:32px;padding:6px 15px;font-size:14px;letter-spacing:-.016em}
.btn--ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px currentColor}
.btn--ghost:hover{background:var(--accent-soft);color:var(--accent-ink)}
.btn[disabled]{background:var(--hair);color:#fff;cursor:not-allowed}

/* chevron text link, Apple's "Learn more ›" */
.more{display:inline-flex;align-items:center;min-height:44px;font-size:17px}
.more::after{content:"\203A";margin-left:.25em;font-weight:400;transition:transform .2s var(--ease)}
.more:hover{text-decoration:none}
.more:hover span{text-decoration:underline}
.more:hover::after{transform:translateX(3px)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin-top:28px}
.center .actions{justify-content:center}

/* ---------- local nav ---------- */
.localnav{
  position:sticky;top:0;z-index:50;height:var(--nav-h);
  background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.localnav .wide{height:100%;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;min-height:44px;gap:9px;color:var(--ink);font-size:19px;letter-spacing:-.014em;font-weight:600;white-space:nowrap}
.brand:hover{color:var(--ink);text-decoration:none}
.brand svg{width:21px;height:21px;color:var(--accent);flex:none}
.brand b{font-weight:600}
.brand .biz{font-weight:400;color:var(--ink-2)}
.navlinks{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px;letter-spacing:-.016em}
.navlinks a{color:var(--ink);white-space:nowrap}
.navlinks a:hover{color:var(--accent)}
.localnav .btn--sm{flex:none}
@media (max-width:860px){
  .navlinks{gap:18px}
  .navlinks a:not(.btn){display:none}
}

/* ---------- hero ---------- */
.hero{padding-top:clamp(36px,4vw,56px);padding-bottom:0;text-align:center}
.hero-head{max-width:1180px}
.hero .actions{justify-content:center}
.h-hero span{display:inline}
@media (max-width:900px){.h-hero span{display:block}}
.hero .h-hero{margin-bottom:18px}
.hero .lede{max-width:34ch;margin-inline:auto}
.hero-list{
  list-style:none;margin:clamp(40px,5vw,64px) auto 0;padding:0;max-width:760px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;text-align:left;
}
.hero-list li{position:relative;padding-left:26px;font-size:17px;line-height:1.4}
.hero-list li::before{
  content:"";position:absolute;left:0;top:.42em;width:15px;height:15px;border-radius:50%;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23000'/%3E%3Cpath d='M4.3 8.4l2.2 2.3 5-5.3' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23000'/%3E%3Cpath d='M4.3 8.4l2.2 2.3 5-5.3' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width:640px){.hero-list{grid-template-columns:1fr;gap:12px}}

/* the bright gradient stage — Apple's hero graphic, Worknest palette */
.stage{
  position:relative;max-width:1180px;margin:clamp(32px,4vw,48px) auto 0;
  padding:clamp(28px,5vw,64px) var(--pad) 0;
  border-radius:var(--r-xl) var(--r-xl) 0 0;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(90% 70% at 18% 8%,#ffd9a8 0%,rgba(255,217,168,0) 62%),
    radial-gradient(80% 75% at 82% 12%,#ffc0d4 0%,rgba(255,192,212,0) 64%),
    radial-gradient(120% 90% at 50% 100%,#ffe9f0 0%,rgba(255,233,240,0) 70%),
    linear-gradient(180deg,#fff6ec 0%,#fff 88%);
}
.stage::after{
  content:"";position:absolute;inset:auto 0 0;height:36%;z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 92%);
}
.phone-row{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,3vw,40px)}
.phone{
  position:relative;flex:none;width:clamp(250px,30vw,356px);
  border-radius:clamp(30px,3.4vw,44px);padding:9px;background:#1d1d1f;
  box-shadow:0 2px 2px rgba(0,0,0,.06),0 24px 48px -12px rgba(110,30,60,.28),0 50px 90px -40px rgba(0,0,0,.3);
}
.phone img{width:100%;border-radius:clamp(22px,2.6vw,35px);display:block}
/* the order arriving, as a floating card */
.ticket{
  flex:none;width:clamp(200px,24vw,286px);margin-bottom:clamp(28px,5vw,78px);
  border-radius:var(--r-md);background:#fff;overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 36px -10px rgba(0,0,0,.22);
}
.uicard{max-width:580px;margin-inline:auto;background:#fff;border-radius:var(--r-lg);padding:14px;
  box-shadow:0 0 0 1px var(--hair),0 20px 44px -22px rgba(0,0,0,.22)}
.uicard img{width:100%;border-radius:12px}
.ticket img{width:100%;aspect-ratio:3/2.1;object-fit:cover;object-position:center bottom}
.ticket figcaption{padding:10px 13px 12px;font-size:12px;line-height:1.33;color:var(--ink-2);letter-spacing:0}
.ticket b{display:block;color:var(--ink);font-weight:600;font-size:13px;margin-bottom:1px}
@media (max-width:760px){
  .phone-row{flex-direction:column;align-items:center;gap:0}
  .phone{width:min(282px,74vw)}
  .ticket{width:min(258px,70vw);margin:-56px 0 0 36%;position:relative;z-index:3}
}
.stage-note{position:relative;z-index:1;margin:22px auto 0;max-width:46ch;font-size:12px;line-height:1.33;color:var(--ink-3);letter-spacing:0}

/* ---------- media figure ---------- */
figure{margin:0}
.shot{border-radius:var(--r-lg);overflow:hidden;background:var(--band)}
.shot img{width:100%;display:block}
.cap{margin-top:14px;font-size:12px;line-height:1.33;color:var(--ink-3);letter-spacing:0}
.center .cap{text-align:center}

/* ---------- split ---------- */
.split{display:grid;gap:clamp(28px,4vw,56px);align-items:center;grid-template-columns:1fr}
@media (min-width:860px){
  .split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split--flip .split-media{order:2}
}
.split-text .h-sec{margin-bottom:16px}
.feats{margin:26px 0 0;padding:0;display:grid;gap:22px}
.feats div{margin:0}
.feats dt{font-size:17px;font-weight:600;letter-spacing:-.012em;line-height:1.3;margin-bottom:3px}
.feats dd{margin:0;font-size:17px;line-height:1.47;color:var(--ink-2)}

/* ---------- two ways to get paid ---------- */
.ways{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:860px){.ways{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ways li{background:#fff;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--hair);padding:clamp(24px,3vw,32px)}
.ways .tag{display:inline-block;margin-bottom:14px;padding:5px 12px;border-radius:var(--r-pill);
  background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:600;letter-spacing:0;line-height:1.2}
.ways h3{margin-bottom:10px}
.ways p+p{margin-top:.75em}

/* ---------- the "what you keep" table ---------- */
.keep{
  margin-top:clamp(32px,4vw,48px);border-radius:var(--r-lg);background:#fff;
  box-shadow:0 0 0 1px var(--hair);overflow:hidden;
}
.dark .keep{background:#2a2a2d;box-shadow:0 0 0 1px #3a3a3d}
.keep dl{margin:0;display:grid;grid-template-columns:1fr;}
.keep div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;padding:20px clamp(18px,3vw,32px)}
.keep div+div{border-top:1px solid var(--hair)}
.keep dt{font-size:17px;color:var(--ink-2);margin:0}
.keep dd{margin:0;font-size:clamp(21px,2.6vw,28px);font-weight:600;letter-spacing:-.014em;color:var(--accent)}

/* ---------- tiles ---------- */
.tiles{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:860px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tile{border-radius:var(--r-md);overflow:hidden;background:var(--band);box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.tile img{width:100%;aspect-ratio:1/1;object-fit:cover}
.tile p{margin:0;padding:16px 16px 18px;font-size:17px;font-weight:600;letter-spacing:-.012em;line-height:1.24}

/* ---------- steps ---------- */
.steps{list-style:none;counter-reset:s;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;gap:clamp(28px,4vw,44px)}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.steps li{counter-increment:s}
.steps li::before{
  content:counter(s);display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;margin-bottom:16px;
  background:var(--accent-soft);color:var(--accent);
  font-size:19px;font-weight:600;letter-spacing:0;
}
.steps h3{margin-bottom:8px}

/* ---------- FAQ accordion ---------- */
.faq{margin-top:clamp(32px,4vw,48px);border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 2px;min-height:44px;cursor:pointer;list-style:none;
  font-size:19px;font-weight:600;letter-spacing:-.014em;line-height:1.32;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary::after{
  content:"";flex:none;width:17px;height:17px;margin-top:5px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M8.5 1v15M1 8.5h15' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M8.5 1v15M1 8.5h15' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s var(--ease);
}
.faq details[open] summary{color:var(--accent)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .answer{padding:0 2px 26px;max-width:72ch;color:var(--ink-2)}
.faq .answer p{font-size:17px;line-height:1.52}

/* ---------- store badges ---------- */
.stores{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
.center .stores{justify-content:center}
.stores a{display:inline-flex;min-height:44px;align-items:center;border-radius:9px}
.stores img{height:52px;width:auto}
.dark .stores{padding:16px 20px;border-radius:var(--r-md);background:#fff}

/* ---------- footnotes ---------- */
.notes{padding-block:clamp(40px,4vw,56px);border-top:1px solid var(--hair);font-size:12px;line-height:1.33;color:var(--ink-3);letter-spacing:0}
.notes ol,.notes ul{margin:0;padding:0;list-style:none}
.notes li{margin-bottom:10px;max-width:92ch}
.notes .sym{display:inline-block;min-width:1.6em}
sup a{font-size:11px;text-decoration:none;color:var(--accent);padding:0 .1em}

/* ---------- footer ---------- */
footer{background:var(--band);font-size:12px;line-height:1.33;color:var(--ink-2);letter-spacing:0;padding-block:40px}
.fgrid{display:grid;gap:28px 40px;grid-template-columns:1fr;border-bottom:1px solid var(--hair);padding-bottom:28px}
@media (min-width:720px){.fgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fgrid h4{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:10px;letter-spacing:0}
.fgrid ul{list-style:none;margin:0;padding:0}
.fgrid li{margin-bottom:0}
.fgrid a,.fbar a{display:inline-flex;align-items:center;min-height:34px;color:var(--ink-2)}
.fbar a{color:var(--accent)}
.fgrid a:hover{color:var(--accent)}
.fnote{margin-top:24px;max-width:96ch}
.fbar{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--hair)}
.fbar .locale{margin-left:auto;color:var(--ink)}
@media (max-width:720px){.fgrid a{min-height:44px}}
@media (max-width:860px){.localnav .btn--sm{min-height:36px;padding:8px 17px;font-size:15px}}

/* ---------- entrance motion (one orchestrated pass, JS-gated) ---------- */
.js [data-rise]{opacity:0;transform:translateY(10px)}
.js [data-rise].in{
  opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  transition-delay:calc(var(--i,0) * 70ms);
}
@media (prefers-reduced-motion:reduce){
  .js [data-rise],.js [data-rise].in{opacity:1;transform:none;transition:none}
  .btn:active{transform:none}
}
