/* Fileworkbench: warm paper, useful tools, nothing to sign in to. */
:root { --paper:#f7f2e8; --ink:#1e302c; --muted:#59635b; --line:#d7d4c7; --accent:#246a67; --accent-dark:#174e4c; --rust:#a04c32; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
::selection { background:#bcd8cf; color:var(--ink); }
a { color:inherit; text-underline-offset:.22em; }
button,input,textarea { font:inherit; }
:focus-visible { outline:3px solid var(--rust); outline-offset:5px; }
img { display:block; max-width:100%; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { text-wrap:balance; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; }
h2 { font-size:clamp(2.25rem,4vw,3.6rem); line-height:1.06; }
h3 { font-size:1.4rem; line-height:1.25; letter-spacing:-.035em; }
p+p { margin-top:1rem; }
.wrap { width:min(1184px,calc(100% - 80px)); margin-inline:auto; }
.skip-link { position:fixed; left:1rem; top:-100px; z-index:10; padding:1rem; background:white; }
.skip-link:focus { top:1rem; }
.site-header { min-height:102px; display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:.7rem; font-size:1.2rem; font-weight:750; text-decoration:none; letter-spacing:-.035em; line-height:1.1; }
.brand img { border-radius:7px; flex-shrink:0; }
.brand-note { display:block; margin-top:.42rem; color:var(--muted); font: .55rem/1.3 ui-monospace,Consolas,monospace; letter-spacing:.1em; }
.site-header nav { display:flex; align-items:center; gap:2rem; font-size:.82rem; font-weight:600; }
.site-header nav>a { text-decoration:none; }
.site-header nav>a:hover { color:var(--accent); }
.language-switch { display:inline-flex; gap:.45rem; margin-left:.5rem; padding-left:1.6rem; border-left:1px solid var(--line); }
.language-switch a { text-decoration:none; color:var(--muted); }
.language-switch [aria-current] { color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; }
.language-switch>span { color:#a7ada2; }
.hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:3rem; padding-block:84px 70px; }
.eyebrow { color:var(--accent-dark); font:600 .68rem/1.7 ui-monospace,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }
.hero .eyebrow { display:flex; align-items:center; gap:.6rem; font-size:.64rem; }
.small-star { font-size:1.4rem; line-height:1; color:var(--rust); }
h1 { font-size:clamp(3.8rem,6.3vw,6rem); line-height:.99; margin:1.6rem 0 1.75rem; }
h1 span { display:block; }
h1 span:last-child { color:var(--accent-dark); font-style:italic; }
.lead { max-width:46ch; font-size:1.05rem; line-height:1.8; color:var(--muted); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; margin-top:2rem; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:1.8rem; border:1px solid transparent; border-radius:3px; padding:.85rem 1.15rem; font-size:.88rem; font-weight:650; text-decoration:none; cursor:pointer; }
.button.primary { background:var(--accent-dark); color:white; box-shadow:3px 3px 0 #b8c7b7; }
.button:hover { background:var(--accent); }
.button:disabled { opacity:.55; cursor:wait; }
.text-link { font-size:.83rem; font-weight:600; display:inline-flex; align-items:center; gap:.8rem; padding:.25rem 0; }
.hero-note { color:var(--muted); font-size:.7rem; margin-top:1rem; }
.file-illustration { min-width:0; }
.workbench-art { position:relative; height:504px; isolation:isolate; background-image:radial-gradient(#b4b9a950 .8px,transparent .8px); background-size:18px 18px; border-radius:50%; }
.bench-label { position:absolute; left:15px; top:0; font: .64rem/1.5 ui-monospace,Consolas,monospace; color:var(--muted); letter-spacing:.025em; }
.bench-label>span { color:var(--rust); font-size:1.2rem; margin-right:.35rem; }
.data-slip { position:absolute; width:185px; right:8px; top:30px; padding:19px; background:#214e48; color:#e9f0d9; border:1px solid #17443e; transform:rotate(6deg); box-shadow:6px 8px 0 #d4d9c8; }
.file-type { display:inline-block; font:600 .61rem/1.35 ui-monospace,Consolas,monospace; letter-spacing:.08em; border:1px solid currentColor; padding:.2rem .35rem; border-radius:2px; }
.data-slip .file-type { color:#c6dcc6; }
.data-slip code { display:block; margin-top:1rem; font: .8rem/1.7 ui-monospace,Consolas,monospace; }
.document { position:absolute; width:76%; left:14px; top:78px; background:#fffdf8; border:1px solid #d4d0c1; transform:rotate(-3deg); box-shadow:9px 11px 0 #dddccc; z-index:1; }
.document-file { display:flex; gap:.65rem; align-items:center; padding:13px 17px; border-bottom:1px solid #deded2; color:var(--accent-dark); }
.document-file>span:last-child { font: .61rem/1.4 ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.document-body { padding:21px 25px 25px; }
.document-kicker { color:var(--rust); font: .51rem/1.5 ui-monospace,Consolas,monospace; letter-spacing:.12em; }
.document h2 { font-size:1.6rem; line-height:1.08; letter-spacing:-.04em; margin-top:.45rem; max-width:12ch; }
.document h3 { font-family:Georgia,serif; font-size:.88rem; font-weight:400; margin-bottom:.5rem; }
.document p { font-size:.61rem; line-height:1.65; color:var(--muted); }
.document p+p { margin-top:.15rem; }
.document-rule { background:#d9ded2; height:3px; margin-top:14px; width:87%; }.document-rule.short { width:65%; margin-top:8px; }
.document-landscape { position:relative; height:89px; background:#eae9d8; margin:1rem 0; overflow:hidden; }
.sun { position:absolute; top:15px; left:30px; width:23px; height:23px; border-radius:50%; background:#bc7553; }
.hill { position:absolute; width:90%; height:120px; border-radius:50% 50% 0 0; top:48px; }.hill-back { background:#a8b7a1; left:26%; }.hill-front { background:#547d69; left:-16%; top:59px; }.landscape-path { position:absolute; background:#e6d8ad; width:29px; height:130px; top:50px; left:57%; transform:rotate(33deg); }
.calendar-slip { position:absolute; z-index:2; bottom:8px; right:0; width:153px; padding:0 14px 15px; background:#fffaf0; border:1px solid #d0cbbd; box-shadow:5px 6px 0 #d9d1be; transform:rotate(4deg); text-align:center; }
.calendar-day { display:block; background:var(--rust); color:white; margin:0 -14px; padding:6px 12px; font: .65rem/1.5 ui-monospace,Consolas,monospace; }
.calendar-slip strong { display:block; font:3.5rem/1.15 Georgia,serif; padding-top:.25rem; color:var(--rust); }.calendar-slip>span:not(.calendar-day) { display:block; font-size:.61rem; line-height:1.35; }.calendar-slip small { display:inline-block; font: .52rem/1.4 ui-monospace,Consolas,monospace; color:var(--muted); margin-top:.65rem; }
.art-cross { position:absolute; color:var(--rust); font:1.2rem/1 ui-monospace,Consolas,monospace; }.cross-one { right:-5px; top:265px; }.cross-two { left:0; bottom:4px; }
figcaption { margin-top:1.25rem; text-align:center; color:var(--muted); font-size:.63rem; }
.principles-band { border-block:1px solid var(--line); background:#eeecdf; }
.principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.4rem; list-style:none; padding-block:27px; }
.principles li { display:flex; align-items:flex-start; gap:.8rem; }.principles strong { font-size:.87rem; }.principles p { color:var(--muted); font-size:.73rem; margin-top:.1rem; }.tick { color:var(--accent-dark); margin-top:.2rem; font-size:1.1rem; }
.section { padding-block:100px; }
.workbench-section { display:grid; grid-template-columns:1fr 1.3fr; gap:6rem; }
.section-intro h2 { max-width:13ch; margin-top:1rem; }.section-intro>p:not(.eyebrow) { max-width:32ch; color:var(--muted); font-size:.95rem; margin-top:1.3rem; }
.file-stamp { display:inline-flex; align-items:center; gap:.8rem; border-block:1px solid #b9bdaa; padding:.8rem 0; margin-top:2.5rem; color:var(--accent-dark); }.file-stamp>span { font:1.6rem/1 Georgia,serif; }.file-stamp small { font: .56rem/1.5 ui-monospace,Consolas,monospace; letter-spacing:.12em; }
.usecase { display:grid; grid-template-columns:95px 1fr; gap:1.1rem; padding:1.65rem 0; border-top:1px solid var(--line); }.usecase:first-child { padding-top:.25rem; border-top:0; }.usecase:last-child { padding-bottom:0; }.usecase-label { color:var(--rust); font:600 .62rem/1.65 ui-monospace,Consolas,monospace; padding-top:.2rem; }.usecase h3 { margin-bottom:.7rem; }.usecase p { font-size:.89rem; color:var(--muted); }.format-note { display:block; margin-top:.85rem; color:var(--accent-dark); font: .61rem/1.65 ui-monospace,Consolas,monospace; }
.local-band { background:var(--accent-dark); color:#f7f2e8; padding-block:65px; }.local-layout { display:grid; grid-template-columns:140px 1fr; gap:3.5rem; align-items:center; max-width:970px; }.local-mark { display:flex; justify-content:center; border:1px solid #e5eedc5c; border-radius:50%; width:140px; height:140px; padding:18px; color:#d5e2bc; }.local-mark svg { width:100%; height:100%; }.local-band .eyebrow { color:#c9d5bc; margin-bottom:.8rem; }.local-band h2 { font-size:clamp(2.1rem,3.5vw,3.1rem); }.local-band p:not(.eyebrow) { color:#e0e6d9; font-size:.9rem; max-width:75ch; margin-top:1.3rem; }
.format-heading { display:grid; grid-template-columns:1fr .85fr; gap:7rem; align-items:end; margin-bottom:2.8rem; }.format-heading h2 { margin-top:1rem; max-width:16ch; }.format-heading>p { color:var(--muted); font-size:.95rem; }
.format-table { border-collapse:collapse; width:100%; text-align:left; }.format-table thead th { color:var(--rust); font:600 .63rem/1.6 ui-monospace,Consolas,monospace; text-transform:uppercase; letter-spacing:.06em; padding:.75rem 0; border-bottom:2px solid var(--ink); }.format-table tbody th { font:600 .85rem/1.7 ui-monospace,Consolas,monospace; width:29%; padding:1.1rem 2rem 1.1rem 0; vertical-align:top; }.format-table td { padding:1.1rem 0; color:var(--muted); font-size:.87rem; }.format-table tbody tr { border-bottom:1px solid var(--line); }
.download-section { background:#e8dfcd; border-block:1px solid #d9cdb7; padding-block:75px; }.download-layout { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:6rem; }.download-layout h2 { margin-top:1rem; max-width:16ch; }.download-layout>div>p:not(.eyebrow) { margin-top:1.35rem; color:#555d53; font-size:.92rem; max-width:43ch; }.release-note { padding:1.5rem; display:flex; gap:.8rem; border:1px solid #b9b69e; background:#f7f2e866; }.release-dot { width:8px; height:8px; flex-shrink:0; background:var(--rust); border-radius:50%; margin-top:.58rem; }.release-note strong { font-size:1rem; }.release-note p { color:#555d53; margin-top:.5rem; font-size:.86rem; }.download-details { font-size:.69rem; color:#555d53; margin:1rem 0 1.4rem; }.download-links { display:flex; flex-wrap:wrap; gap:.75rem; }.download-button { background:var(--accent-dark); color:white; }
.faq-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:6rem; }.faq-layout h2 { margin-top:1rem; max-width:14ch; }.faqs details { border-bottom:1px solid var(--line); padding:1.2rem 0; }.faqs details:first-child { border-top:1px solid var(--line); }.faqs summary { cursor:pointer; font-size:.97rem; font-weight:600; padding-right:1rem; }.faqs p { margin-top:1rem; font-size:.9rem; color:var(--muted); }
.contact-layout { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.3fr; gap:6rem; }.contact-copy h2 { margin-top:1rem; max-width:13ch; }.contact-copy>p:not(.eyebrow) { color:var(--muted); margin-top:1.3rem; max-width:36ch; font-size:.9rem; }.contact-copy .direct-email { font-size:.75rem; margin-top:2rem; }.direct-email a { display:inline-block; font-size:1rem; color:var(--accent-dark); margin-top:.25rem; overflow-wrap:anywhere; }
form { position:relative; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }form label { display:block; font-size:.78rem; font-weight:600; margin-bottom:1rem; }form label>span { color:var(--muted); font-weight:400; }input,textarea { width:100%; display:block; color:var(--ink); background:#fffcf5; border:1px solid #b9beb0; border-radius:2px; padding:.75rem; margin-top:.4rem; font-size:1rem; }textarea { min-height:150px; resize:vertical; }.form-note,.privacy-note { font-size:.71rem; color:var(--muted); margin-bottom:1rem; }.privacy-note a { color:var(--accent-dark); }.contact-status { min-height:1.65em; font-size:.82rem; margin-top:1rem; }.is-error { color:#a13131; }.is-success { color:#1b6248; }.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.site-footer { background:#eae8dc; border-top:1px solid var(--line); padding-block:32px; }.footer-layout { display:flex; align-items:center; justify-content:space-between; gap:3rem; }.footer-layout .brand { font-size:1rem; }.footer-layout p { color:var(--muted); font-size:.72rem; margin-top:.6rem; }.footer-layout nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:flex-end; font-size:.72rem; }.footer-layout nav a { text-decoration:none; }.footer-layout nav a:hover { text-decoration:underline; }
.screenshots { padding-top:0; }.screenshot-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:2.5rem; }.screenshot-gallery img { width:100%; height:auto; border:1px solid var(--line); }
@media(max-width:1050px) { .hero { gap:1.5rem; }h1 { font-size:5rem; }.document-body { padding:18px 20px 22px; }.document h2 { font-size:1.4rem; }.document-landscape { height:78px; }.workbench-art { height:465px; }.calendar-slip { width:130px; bottom:6px; }.workbench-section,.faq-layout,.contact-layout,.download-layout { gap:3.5rem; }.usecase { grid-template-columns:75px 1fr; }.format-heading { gap:4rem; } }
@media(max-width:820px) { .wrap { width:calc(100% - 48px); }.site-header nav { gap:1rem; }.hero { grid-template-columns:1fr; gap:3rem; padding-top:50px; }.hero-copy { max-width:630px; }h1 { font-size:clamp(4rem,10vw,5.6rem); }.lead { max-width:54ch; }.file-illustration { width:min(470px,100%); justify-self:center; }.workbench-art { height:490px; }.document-body { padding:22px 25px; }.document h2 { font-size:1.7rem; }.document-landscape { height:95px; }.calendar-slip { width:153px; }.principles { gap:1.25rem; }.principles strong { font-size:.8rem; }.principles p { font-size:.7rem; }.section { padding-block:70px; }.workbench-section,.faq-layout,.contact-layout { grid-template-columns:1fr; gap:2.8rem; }.section-intro h2,.faq-layout h2,.contact-copy h2 { max-width:20ch; }.section-intro>p:not(.eyebrow),.contact-copy>p:not(.eyebrow) { max-width:55ch; }.file-stamp { display:none; }.usecase { grid-template-columns:100px 1fr; }.local-layout { grid-template-columns:90px 1fr; gap:2rem; }.local-mark { width:90px; height:110px; padding:12px; border:0; }.format-heading { grid-template-columns:1fr; gap:1.5rem; }.format-heading>p { max-width:60ch; }.download-layout { grid-template-columns:1fr; gap:2.5rem; }.download-layout h2 { max-width:20ch; }.download-layout>div>p:not(.eyebrow) { max-width:55ch; }.download-options { max-width:600px; }.footer-layout { align-items:flex-start; }.footer-layout nav { max-width:290px; }.screenshots { padding-top:0; } }
@media(max-width:520px) { .wrap { width:calc(100% - 40px); }.site-header { flex-wrap:wrap; min-height:116px; gap:1rem; padding-block:19px; }.brand { font-size:1.1rem; }.brand-note { font-size:.5rem; }.site-header nav { width:100%; justify-content:space-between; font-size:.75rem; gap:.7rem; }.language-switch { border:0; padding-left:0; margin-left:auto; }.nav-formats { margin-right:.3rem; }.hero { padding-block:38px 42px; gap:2.2rem; }.hero .eyebrow { font-size:.58rem; max-width:34ch; line-height:1.7; }h1 { font-size:clamp(2.65rem,12.7vw,4.2rem); margin-block:1.4rem; }.lead { font-size:.97rem; line-height:1.75; }.hero-actions { gap:1rem; margin-top:1.6rem; }.button { font-size:.79rem; padding:.85rem 1rem; gap:1.2rem; }.text-link { font-size:.78rem; }.hero-note { font-size:.63rem; }.workbench-art { height:450px; }.document { left:6px; width:82%; top:68px; }.document-file { padding:11px; gap:.4rem; }.document-file>span:last-child { font-size:.54rem; }.document-body { padding:17px 19px 22px; }.document h2 { font-size:1.5rem; }.document-landscape { height:83px; }.document-kicker { font-size:.48rem; }.document p { font-size:.56rem; }.document h3 { font-size:.79rem; }.data-slip { width:160px; padding:16px; top:29px; right:9px; }.data-slip code { font-size:.67rem; }.calendar-slip { width:126px; right:1px; bottom:1px; }.calendar-slip strong { font-size:3rem; }.calendar-slip>span:not(.calendar-day) { font-size:.56rem; }.bench-label { left:0; font-size:.6rem; }.cross-one { right:0; top:246px; }.cross-two { bottom:9px; }.file-illustration figcaption { font-size:.57rem; max-width:40ch; margin-inline:auto; }.principles { grid-template-columns:1fr; padding-block:25px; gap:1.15rem; }.principles strong { font-size:.86rem; }.principles p { font-size:.73rem; }.section { padding-block:55px; }h2 { font-size:2.45rem; }.eyebrow { font-size:.61rem; }.section-intro>p:not(.eyebrow) { font-size:.92rem; }.usecase { grid-template-columns:1fr; gap:.6rem; padding-block:1.5rem; }.usecase-label { font-size:.61rem; }.usecase h3 { font-size:1.3rem; }.local-band { padding-block:45px; }.local-layout { grid-template-columns:1fr; gap:1.1rem; }.local-mark { height:80px; width:68px; padding:0; margin-left:-4px; }.local-band h2 { font-size:2.3rem; }.local-band p:not(.eyebrow) { font-size:.87rem; }.format-heading { margin-bottom:2rem; }.format-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.format-table tbody th,.format-table td { display:block; width:100%; }.format-table tbody th { padding:1rem 0 .35rem; font-size:.81rem; }.format-table td { padding:0 0 1.1rem; font-size:.84rem; }.download-section { padding-block:50px; }.download-layout h2 { font-size:2.55rem; }.release-note { padding:1.15rem; }.release-note strong { font-size:.95rem; }.release-note p { font-size:.83rem; }.download-details { font-size:.65rem; }.faqs summary { font-size:.9rem; }.field-row { grid-template-columns:1fr; gap:0; }.contact-copy .direct-email { margin-top:1.5rem; }.footer-layout { flex-direction:column; gap:1.5rem; }.footer-layout nav { justify-content:flex-start; max-width:none; gap:.6rem 1rem; font-size:.68rem; }.screenshot-gallery { grid-template-columns:1fr; }.screenshots { padding-top:0; } }
@media(max-width:360px) { .document-body { padding:16px; }.document h2 { font-size:1.3rem; }.document-file>span:last-child { font-size:.49rem; }.document-landscape { height:68px; }.document p { font-size:.52rem; }.document h3 { font-size:.71rem; }.workbench-art { height:420px; }.calendar-slip { width:115px; }.hero-actions { align-items:flex-start; flex-direction:column; }.nav-formats { margin-right:0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
