/* Solid paper, ink and precise rules. Contrast comes from composition, not effects. */
@layer atelier {
  @media (min-width:601px) and (max-width:720px) {
    .nav-shell { gap:16px; }
    #navigation { gap:16px; }
    #navigation>a { white-space:nowrap; }
  }
}
@layer atelier {
  :root { --paper:#fafaf7; --ink:#202420; --green:#245b45; --muted:#62675f; --line:#dedfd8; }
  body { background:var(--paper); }
  .site-header { background:#fafaf7f5; border-bottom-color:#dedfd8; }
  .hero-upgraded { padding-top:58px; padding-bottom:66px; }
  .hero-heading-row { grid-template-columns:1.45fr 1fr; gap:64px; }
  .hero-upgraded h1 { font-size:clamp(2.5rem,4.5vw,4.25rem); font-weight:600; line-height:1.24; letter-spacing:-.055em; }
  .hero-upgraded h1 em { color:var(--ink); border-bottom:3px solid #71896a; padding-bottom:5px; }
  .hero-upgraded .hero-eyebrow { border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:44px; }
  .hero-upgraded .hero-description { font-size:1.0625rem; line-height:1.95; }
  .hero-upgraded .workbench { box-shadow:0 18px 42px #20242008; border-color:#ced3ca; }
  .workbench-label { letter-spacing:.11em; }
  .hero-workspace { background:#fff; }
  .hero-shops { background:#f0f1eb; }
  .hero-source-card { background:#f4f5ee; }
  .hero-workflow { background:#edf0e7; }
  .platform-section { padding-block:32px 58px; }
  .review-section { padding-block:100px 60px; }
  .business-benefits { padding-block:40px 20px; }
  .benefits-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:42px; }
  .benefits-heading h2 { font-size:clamp(1.8rem,3vw,2.7rem); font-weight:500; line-height:1.45; letter-spacing:-.04em; margin-top:20px; }
  .benefits-heading h2 em { color:var(--green); font-style:normal; }
  .benefits-heading>p { flex-shrink:0; color:var(--muted); font-size:.9375rem; line-height:1.9; padding-bottom:6px; }
  .benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
  .benefit-card { min-width:0; border-top:1px solid #b9c9b1; padding-top:28px; }
  .benefit-marker { display:flex; align-items:baseline; min-height:94px; font-size:5rem; font-weight:500; line-height:1; letter-spacing:-.055em; color:var(--green); }
  .benefit-marker>span { font-size:2.3rem; margin-left:4px; font-weight:400; }
  .benefit-word { font-size:3.8rem; letter-spacing:-.04em; padding-top:7px; }
  .benefit-savings { font-size:clamp(2rem,5vw,3.8rem); }
  .benefit-kicker { font-size:.75rem; letter-spacing:.08em; color:#68745e; margin-top:6px; }
  .benefit-card h3 { font-size:1.2rem; font-weight:500; line-height:1.6; margin:10px 0 12px; }
  .benefit-card>p:last-child { color:var(--muted); font-size:.9375rem; line-height:1.95; }
  .benefits-note { color:#6d7468; font-size:.75rem; line-height:1.9; padding-top:21px; margin-top:32px; border-top:1px solid var(--line); max-width:100%; }
  @media(max-width:1000px) { .benefits-heading { display:block; } .benefits-heading>p { margin-top:20px; } .benefits-heading>p br { display:none; } .benefits-grid { gap:24px; } .benefit-card h3 { font-size:1.1rem; } }
  @media(max-width:650px) { .business-benefits { padding-block:25px 10px; } .benefits-heading { margin-bottom:28px; } .benefits-heading h2 { font-size:1.65rem; } .benefits-heading h2 br { display:none; } .benefits-grid { grid-template-columns:1fr; gap:30px; } .benefit-card { padding-top:22px; } .benefit-marker { min-height:78px; font-size:4.2rem; } .benefit-word { font-size:3.1rem; } .benefits-note { margin-top:28px; } }
  .large-text .benefits-heading { display:block; }
  @media(max-width:650px) { .benefit-savings { font-size:clamp(2rem,12vw,3.1rem); } }
  .large-text .benefits-heading>p { margin-top:20px; }
  .large-text .benefits-grid { grid-template-columns:1fr; }
  .review-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:46px; }
  .review-heading h2 { font-size:clamp(2rem,3.5vw,3.1rem); font-weight:500; line-height:1.38; letter-spacing:-.045em; margin-top:22px; }
  .review-heading h2 em { font-style:normal; color:var(--green); }
  .review-heading>p { font-size:1rem; line-height:1.95; color:var(--muted); padding-bottom:8px; }
  .review-heading>p strong { font-weight:500; color:var(--ink); }
  .review-workspace { display:grid; grid-template-columns:.7fr 1.8fr; border:1px solid #d8ddce; border-radius:6px; overflow:hidden; background:#fff; }
  .review-sidebar { padding:35px 30px; background:#ebeee2; display:flex; flex-direction:column; align-items:start; border-right:1px solid #d8ddce; }
  .review-sidebar .edition-label { color:#626e53; font-size:.625rem; }
  .review-sidebar h3 { font-size:1.5rem; line-height:1.55; font-weight:500; letter-spacing:-.03em; margin-top:24px; }
  .review-sidebar>p { font-size:.875rem; line-height:1.9; color:#68705f; margin-top:17px; }
  .review-steps { list-style:none; margin:36px 0; padding:0; width:100%; }
  .review-steps li { display:flex; gap:12px; padding:17px 0; border-top:1px solid #cbd2bf; align-items:start; }
  .review-steps li>span { border:1px solid #afbaa0; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; font-size:.625rem; flex-shrink:0; color:#60724d; }
  .review-steps strong { font-size:.875rem; font-weight:500; }
  .review-steps small { display:block; font-size:.6875rem; color:#69755d; margin-top:6px; }
  .review-steps li.is-current>span { background:#344d2a; border-color:#344d2a; color:#edf4e1; }
  .review-steps li.is-current strong { color:#34532a; }
  .review-steps li.is-complete>span { background:#dce5ce; }
  .review-example-label { font-size:.625rem; color:#606e54; margin-top:auto; }
  .review-main { padding:0 32px 28px; min-width:0; }
  .review-topbar { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); font-size:.75rem; color:#5a6653; }
  .review-topbar button { border:0; background:none; color:#53674b; padding:6px; font-size:.75rem; min-height:36px; }
  .review-original { display:grid; grid-template-columns:1fr 1.4fr; gap:24px; padding:24px 0; }
  .review-small-label { font-size:.6875rem; color:#66725c; display:block; }
  .review-original p { margin-top:9px; font-size:.9375rem; line-height:1.8; }
  .review-source { background:#f5f6ef; border-left:2px solid #86996d; padding:13px 17px; }
  .review-source p { display:flex; gap:18px; flex-wrap:wrap; margin-top:7px; font-size:.8125rem; color:#5c6852; }
  .review-source strong { font-weight:500; color:#35472d; }
  .review-editor { padding-top:29px; }
  .review-editor-heading { display:flex; align-items:baseline; justify-content:space-between; gap:15px; flex-wrap:wrap; margin-bottom:15px; }
  .review-editor h4 { font-size:1rem; font-weight:500; }
  #review-stage-label { font-size:.625rem; color:#4a6437; background:#edf1e4; padding:4px 8px; border-radius:3px; }
  .review-help { font-size:.8125rem; color:#67715c; line-height:1.8; }
  .review-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
  .review-choices button { padding:17px 12px; border:1px solid #d3d8c9; border-radius:4px; background:#fff; color:#59674e; text-align:left; font-size:.8125rem; line-height:1.7; transition:background 180ms,border-color 180ms; }
  .review-choices button>span { margin-right:5px; }
  .review-choices button[aria-pressed="true"] { background:#eef3e5; border-color:#7a9360; color:#314a23; }
  .review-choices button:hover { border-color:#658246; }
  .review-diff { border:1px solid #d6ddcd; border-radius:4px; overflow:hidden; }
  .review-diff>div { padding:12px 15px; }
  .review-diff>div+div { border-top:1px solid #d6ddcd; background:#f4f8ee; }
  .review-diff>div>span { display:flex; justify-content:space-between; font-size:.625rem; color:#627356; gap:12px; }
  .review-diff b { color:#395b25; font-weight:400; }
  .review-diff p { font-size:.8125rem; line-height:1.9; margin-top:5px; }
  .review-diff ins { text-decoration:none; color:#284d1e; background:#dfeccc; padding:2px 0; box-decoration-break:clone; }
  .review-next-answer { margin-top:18px; border:1px solid #b7c9a1; background:#f5f9ee; padding:17px; border-radius:4px; }
  .review-next-answer p { font-size:.9375rem; line-height:1.9; margin-top:10px; }
  .review-next-answer>span:last-child { display:block; font-size:.625rem; color:#486135; margin-top:13px; }
  .review-actions { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; border-top:1px solid var(--line); margin-top:25px; padding-top:18px; }
  .review-actions>p { font-size:.6875rem; line-height:1.85; color:#626d58; max-width:230px; }
  .review-actions>div { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
  .review-actions .button { font-size:.8125rem; padding:12px 18px; }
  .review-back { background:none; color:#536b41; border:0; padding:8px 0; font-size:.75rem; min-height:40px; }
  .review-footnote { font-size:.6875rem; line-height:1.9; color:#69725f; margin-top:20px; }
  .review-workspace:not(.review-enhanced) .review-choices { display:none; }
  .download-panel { background:#222d23; }
  .download-panel h2 { letter-spacing:-.04em; }
  @media(max-width:1100px) {
    .hero-heading-row { gap:32px; }
    .review-sidebar { padding:30px 24px; }
    .review-main { padding-inline:24px; }
  }
  @media(max-width:850px) {
    .hero-upgraded { padding-top:40px; }
    .hero-heading-row { grid-template-columns:1fr; gap:15px; }
    .hero-upgraded h1 { font-size:3.5rem; }
    .hero-brandline { margin-bottom:30px; }
    .review-heading { gap:22px; }
    .review-workspace { grid-template-columns:1fr; }
    .review-sidebar { padding:24px; border-right:0; border-bottom:1px solid #d8ddce; }
    .review-sidebar h3,.review-sidebar>p,.review-sidebar .edition-label { display:none; }
    .review-steps { margin:0 0 20px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .review-steps li { border:0; padding:0; gap:8px; }
    .review-steps strong { font-size:.8125rem; }
    .review-example-label { margin:0; }
    .review-section { padding-block:70px 40px; }
  }
  @media(max-width:600px) {
    .hero-upgraded h1 { font-size:2.3rem; line-height:1.38; letter-spacing:-.05em; }
    .hero-upgraded .hero-description { font-size:1rem; }
    .hero-brandline { padding-bottom:14px; margin-bottom:27px; }
    .hero-upgraded { padding-top:30px; }
    .review-heading { display:block; }
    .review-heading>p { font-size:.875rem; margin-top:24px; }
    .review-main { padding:0 18px 23px; }
    .review-sidebar { padding:22px 18px; }
    .review-steps { gap:8px; }
    .review-steps li { display:block; }
    .review-steps li>span { margin-bottom:8px; }
    .review-steps strong { font-size:.6875rem; }
    .review-steps small { display:none; }
    .review-original { grid-template-columns:1fr; gap:20px; }
    .review-source p { gap:5px; }
    .review-choices { grid-template-columns:1fr; gap:9px; }
    .review-choices button { padding:13px; }
    .review-actions>div { width:100%; justify-content:flex-end; }
    .review-actions .button { padding:12px 14px; font-size:.75rem; }
    .review-topbar { gap:6px; font-size:.6875rem; }
    .review-topbar button { font-size:.6875rem; }
  }
  .large-text .hero-heading-row,.large-text .review-workspace,.large-text .review-choices,.large-text .review-original { grid-template-columns:1fr; }
  .large-text .review-heading { display:block; }
  .large-text .review-heading>p { margin-top:25px; }
  .large-text .review-steps { display:block; }
  .large-text .review-steps li { display:flex; padding:16px 0; }
}
