/* One continuous parchment scroll. Native scrolling, no framework. */
:root{color-scheme:light;--desk:#3a3025;--ink:#332819;--muted:#776248;--red:#773c31;--line:#76582b42;--roll-height:clamp(75px,10.5vw,144px);--roll-progress:0;--roll-turn:0px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 50% 20%,#63503a55,transparent 65%),url(assets/paper-grain.svg),var(--desk);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button{font:inherit;cursor:pointer}img,video{display:block;max-width:100%}[hidden]{display:none!important}::selection{color:#fff8df;background:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:5px}.skip-link{position:fixed;z-index:30;top:8px;left:8px;padding:10px 20px;background:#fff3d5;transform:translateY(-200%)}.skip-link:focus{transform:none}
.scroll-stage{position:relative;width:min(1120px,calc(100% - 100px));margin:82px auto 95px;isolation:isolate}.paper-sheet{position:relative;filter:drop-shadow(0 18px 24px #120c0870)}.paper-sheet::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#99773f50,transparent 2%,#f7eac21c 45%,transparent 97%,#99773f65),radial-gradient(ellipse at 80% 30%,#e8d4a518,#b39a5d17 85%),url(assets/paper-grain.svg),#e8d8b0;clip-path:polygon(.3% 0,99.7% 0,99.5% 8%,99.9% 18%,99.6% 29%,100% 41%,99.7% 55%,99.9% 72%,99.5% 83%,100% 100%,.1% 100%,.4% 86%,0% 70%,.3% 54%,0% 39%,.35% 23%,.1% 11%)}.paper-contents{padding:62px 72px 76px}
.top-roll,.static-bottom-roll,.roll-body{background:url(assets/scroll-roll.png) center/100% 100% no-repeat;height:var(--roll-height)}.top-roll{position:absolute;z-index:4;top:calc(var(--roll-height)*-.48);left:-2.8%;width:105.6%;transform:rotate(180deg);filter:drop-shadow(0 -9px 9px #35200d42);pointer-events:none}.static-bottom-roll{position:absolute;bottom:calc(var(--roll-height)*-.48);left:-2.8%;width:105.6%;pointer-events:none}.roll-track{display:none}html[data-unroll='true'] .static-bottom-roll{display:none}html[data-unroll='true'] .roll-track{display:block;position:absolute;inset:0 -3% -42px;z-index:10;pointer-events:none;overflow:clip}.moving-roll{position:sticky;top:calc(100svh - var(--roll-height)*.78 - 30px);height:calc(var(--roll-height) + 42px);width:100%}.roll-body{position:absolute;inset:0 0 auto;z-index:2;transform:translateY(var(--roll-turn)) scaleY(calc(1 - var(--roll-progress)*.22));transform-origin:center 72%;filter:drop-shadow(0 10px 5px #1d130b65)}.roll-shadow{position:absolute;top:24%;left:5%;right:5%;height:45%;background:#6043215c;filter:blur(16px)}.roll-mask{position:absolute;top:70%;left:0;right:0;height:100vh;background:url(assets/paper-grain.svg),var(--desk)}.roll-hint{position:absolute;z-index:3;top:88%;left:0;right:0;color:#ddcba7;font-size:10px;letter-spacing:1.7px;text-align:center}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:21px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;font:28px/1 Georgia,serif;letter-spacing:-1.2px}.brand img{border-radius:8px;width:36px;height:36px}.language-nav{display:flex;align-items:center;font-size:12px;gap:7px}.language-nav a{display:inline-grid;place-items:center;min-width:35px;min-height:40px}.language-nav a[aria-current]{color:var(--red);text-decoration:underline;text-underline-offset:6px}.language-nav>span{opacity:.35}h1,h2,p{margin-top:0}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;color:var(--red);margin-bottom:26px}.opening{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:center;padding:78px 0 80px}h1{font:400 clamp(54px,6vw,82px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-3.5px;margin-bottom:29px}h1 em{color:var(--red);font-weight:400}html[lang='en'] h1{font-size:clamp(45px,4.8vw,66px)}.opening-line{font:22px/1.4 Georgia,serif;margin-bottom:8px}.opening-sub{color:var(--muted);font-size:14px;margin-bottom:32px}.ink-link{display:inline-flex;align-items:center;gap:22px;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:5px;font-size:13px}.app-preview{display:flex;flex-direction:column;align-items:center;position:relative}.phone{width:238px;background:#171412;padding:6px;border:1px solid #5a4935;border-radius:27px;transform:rotate(4deg);box-shadow:10px 18px 25px #674c3433;overflow:hidden}.phone img{width:100%;aspect-ratio:432/768;border-radius:20px}.screen-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}.screen-tabs button{background:none;border:0;padding:8px 9px;color:var(--muted);font-size:11px;min-height:40px;border-bottom:1px solid transparent}.screen-tabs button[aria-selected='true']{color:var(--red);border-bottom-color:var(--red)}
.three-lines{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px double var(--line);border-bottom:3px double var(--line);padding:35px 0;gap:26px}.three-lines article+article{border-left:1px solid var(--line);padding-left:30px}.step-number{color:#94703f;font:italic 17px Georgia,serif}.three-lines h2{font:28px Georgia,serif;letter-spacing:-.8px;margin:12px 0 8px}.three-lines p{color:var(--muted);font-size:12px;margin:0}.film-section{display:grid;grid-template-columns:1fr .8fr;gap:35px;align-items:center;padding:86px 0}.film-copy h2{font:42px/1.12 Georgia,serif;letter-spacing:-1.6px;margin-bottom:20px;max-width:330px}.film-copy>p:last-child{color:var(--muted);font-size:13px}.film-print{max-width:248px;margin-inline:auto;padding:7px;border:1px solid #9d80485e;background:#f4e6bd;box-shadow:7px 12px 14px #674c3426;transform:rotate(-2deg)}.film-print video{width:100%;height:auto;aspect-ratio:9/16;background:#d4c49c}.closing{border-top:1px solid var(--line);padding:52px 0 48px;text-align:center}.flourish{display:inline-block;color:#8d6434;margin-bottom:20px}.closing h2{font:italic 48px/1.1 Georgia,serif;color:var(--red);letter-spacing:-1.8px;margin-bottom:12px}.closing>p{color:var(--muted);font-size:14px}.download-status{display:inline-flex;min-height:48px;align-items:center;margin-top:16px;padding:10px 20px;color:var(--red);border:1px solid #773c3166;font-size:13px;transform:rotate(-1deg)}.download-status:has(a){border:0;padding:0}.button.primary{display:inline-block;padding:13px 22px;background:var(--red);color:#fff3d5}.closing .small-print{font-size:10px;margin-top:14px}.colophon{border-top:3px double var(--line);padding-top:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:10px;color:#796448}.colophon nav{display:flex;flex-wrap:wrap;justify-content:flex-end;column-gap:20px;row-gap:9px}
.legal-page{padding-block:50px 22px}.back-link{display:inline-block;margin-bottom:35px;font-size:13px;color:var(--red)}.legal-page h1{font-size:48px;letter-spacing:-2px}.legal-intro{color:var(--muted);font-size:16px;margin-bottom:35px}.legal-content details{border-bottom:1px solid var(--line)}.legal-content summary{font:23px/1.3 Georgia,serif;padding-block:25px;cursor:pointer}.legal-content p,.legal-content address{font-size:14px;line-height:1.85;color:#5e4c35;font-style:normal}.legal-content h3{font:21px/1.35 Georgia,serif;margin:29px 0 12px}.legal-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content details>p:last-child{margin-bottom:30px}.error-page{color:#f4e6bd;padding:10vh 8%}.error-page h1{font-size:50px}
@media(max-width:1050px){.scroll-stage{width:calc(100% - 70px)}.paper-contents{padding-inline:48px}.phone{width:215px}.opening{gap:18px}.three-lines article+article{padding-left:20px}}
@media(max-width:760px){:root{--roll-height:90px}.scroll-stage{width:calc(100% - 38px);margin-top:60px;margin-bottom:70px}.paper-contents{padding:48px 30px 68px}.masthead{padding-bottom:14px}.brand{font-size:25px}.brand img{width:30px;height:30px}.opening{grid-template-columns:1fr;padding-block:48px 50px;gap:38px}.opening-copy{text-align:center}h1{font-size:clamp(47px,10vw,72px);letter-spacing:-2.5px;margin-bottom:22px}html[lang='en'] h1{font-size:clamp(42px,8.5vw,62px);letter-spacing:-2.2px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:20px}.opening-line{font-size:20px}.opening-sub{font-size:12px;margin-bottom:22px}.phone{width:226px}.three-lines{grid-template-columns:1fr;gap:0;padding-block:10px}.three-lines article{display:grid;grid-template-columns:27px 1fr;align-items:center;column-gap:14px;padding-block:19px}.three-lines article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.step-number{grid-row:1/3}.three-lines h2{font-size:25px;margin:0 0 3px}.three-lines p{grid-column:2}.film-section{grid-template-columns:1fr;padding-block:52px;gap:26px}.film-copy{text-align:center}.film-copy h2{margin-inline:auto;font-size:34px;letter-spacing:-1px}.film-print{width:min(100%,245px)}.closing{padding-block:36px}.closing h2{font-size:38px;letter-spacing:-1px}.closing>p{font-size:12px}.download-status{font-size:11px;padding-inline:12px}.colophon{flex-direction:column;align-items:center;text-align:center;font-size:9px;gap:14px}.colophon nav{justify-content:center;gap:10px 15px}.legal-page h1,html[lang='en'] .legal-page h1{font-size:36px}.legal-content summary{font-size:21px}.legal-content p{font-size:13px}.roll-hint{font-size:8px;letter-spacing:1.1px}}
@media(max-width:380px){.scroll-stage{width:calc(100% - 24px)}.paper-contents{padding-inline:22px}h1{font-size:45px}html[lang='en'] h1{font-size:37px}.phone{width:205px}.screen-tabs{gap:2px}.screen-tabs button{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html[data-unroll='true'] .roll-track{display:none}html[data-unroll='true'] .static-bottom-roll{display:block}.phone,.film-print{transform:none}}
@media print{body{background:white}.scroll-stage{width:100%;margin:0}.paper-sheet{filter:none}.top-roll,.roll-track,.static-bottom-roll{display:none!important}.paper-contents{padding:20px}}
.roll-mask{top:calc(var(--roll-height)*.68)}
.roll-hint{top:calc(var(--roll-height)*.82 + 3px)}
.phone img{height:auto}
.roll-body,.roll-mask{pointer-events:auto;touch-action:pan-y}
html{scroll-padding-bottom:calc(var(--roll-height) + 55px)}
.paper-contents{padding-bottom:calc(var(--roll-height) + 48px)}
/* The real app starts only when the visitor asks to try it. */
.phone{position:relative;max-width:100%}
.demo-launch{position:absolute;inset:auto 15px 28px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px;color:#fff6df;background:#703d30;border:1px solid #f9e3a066;border-radius:30px;box-shadow:0 5px 30px #000b;font-size:15px;font-weight:600;transform:rotate(-4deg)}
.demo-launch:hover{background:#8c4d3b}.demo-launch>span{font-size:23px;line-height:1}
.phone.has-demo{width:360px;max-width:100%;height:min(620px,calc(100svh - 240px));min-height:400px;aspect-ratio:auto;transform:none;border-radius:29px;padding:6px;scroll-margin-top:24px}
.phone.has-demo>#app-screen,.phone.has-demo>.demo-launch{display:none}
.app-demo:not([open]){display:none}
.app-demo[open]{position:absolute;inset:6px;display:flex;flex-direction:column;max-width:none;max-height:none;width:calc(100% - 12px);height:calc(100% - 12px);margin:0;padding:0;border:0;border-radius:22px;overflow:hidden;background:#121017;color:#f7f2e6}
.app-demo:modal{position:fixed;inset:0;width:min(440px,calc(100vw - 20px));height:min(850px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);margin:auto;border:1px solid #a28c6655;box-shadow:0 18px 100px #0008}
.app-demo::backdrop{background:#1a150ee6;backdrop-filter:blur(5px)}
.demo-toolbar{display:none;align-items:center;justify-content:space-between;padding:6px 10px 6px 16px;gap:10px;border-bottom:1px solid #ffffff20;flex-shrink:0;font:18px Georgia,serif;background:#211b18}
.app-demo:modal .demo-toolbar{display:flex}.demo-toolbar small{font:11px Arial,sans-serif;color:#c9bca1;margin-left:6px}
.demo-toolbar button{border:1px solid #d7c9ac55;border-radius:22px;color:#f5e7c7;background:transparent;font-size:12px;padding:9px 12px;min-height:40px}.demo-toolbar button span{font-size:18px;margin-left:7px}
.demo-content{flex:1;min-height:0;display:flex}.demo-content iframe{display:block;width:100%;height:100%;border:0;flex:1;min-width:0;background:#121017}
.demo-modal-open{overflow:hidden}
.app-preview .screen-tabs{margin-top:20px}.screen-tabs button:hover{color:var(--red);border-bottom-color:var(--red)}
.demo-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin-top:2px;font-size:11px;color:var(--red)}
.demo-links button{border:0;background:none;color:inherit;font:inherit;padding:8px 0;min-height:36px}.demo-links a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:3px}
.demo-notice,.demo-status{font-size:10px;line-height:1.6;text-align:center;color:var(--muted);max-width:270px;margin:7px 0 0}.demo-notice a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.demo-status:empty{display:none}
@media(max-width:760px){.phone.has-demo{width:290px}.demo-launch{font-size:14px}.demo-notice{max-width:250px}.app-demo:modal{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.demo-launch{transform:none}}
