@font-face{font-family:'open sauce';src:url('/fonts/open-sauce-regular.otf?v=448f69455450') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'open sauce';src:url('/fonts/open-sauce-medium.otf?v=9fa72e42d482') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'open sauce';src:url('/fonts/open-sauce-semibold.otf?v=7ed97972bdbc') format('opentype');font-style:normal;font-weight:600;font-display:swap}
:root{font-family:'open sauce',Arial,sans-serif;color:#22221f;background:#fff;font-synthesis:none;--edge:40px;--header:88px;--footer:82px;--paper:#fdfcf9;--line:#d9d9d3;--progress:0;--approach:0;--opening:0;--turn:0;--book-width:min(29vw,380px);scroll-padding-top:110px}
*{box-sizing:border-box}html,body{margin:0}html{scroll-behavior:auto;scrollbar-width:none;overscroll-behavior:none}html::-webkit-scrollbar{display:none}body{min-width:320px}button,input,select,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{touch-action:manipulation}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #222;outline-offset:5px}button{border:0;background:transparent;padding:0}p{line-height:1.65}img{display:block;max-width:100%}.site-header,.site-footer{position:fixed;z-index:30;left:0;right:0;background:#fff;display:flex;align-items:center;padding:0 var(--edge)}.site-header{height:var(--header);top:0;justify-content:space-between;border-bottom:1px solid #ebebe8}.brand{display:block;width:119px;min-height:44px;align-content:center}.brand img{width:119px;height:auto}.header-right{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:500;letter-spacing:-.2px}.site-footer{height:var(--footer);bottom:0;border-top:1px solid #ebebe8;font-size:11px;gap:35px}.contact-links{display:flex;gap:30px}.contact-links a{min-height:44px;align-content:center}.copyright{margin-left:auto}.footer-icon{width:42px;min-height:44px;align-content:center;margin-left:20px}.footer-icon img{width:36px;height:auto}.skip-link{position:fixed;z-index:99;top:10px;left:var(--edge);padding:14px;background:white;border:1px solid;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}

/* The camera moves; the book remains the only reading and signup surface. */
.experience{height:100svh}
.stage{position:fixed;inset:0;height:100svh;overflow:clip;background:#fff;isolation:isolate;touch-action:pinch-zoom}
/* One scroll owner on every device. The document is released at the closed cover. */
html.book-locked,html.book-locked body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:pinch-zoom}
html.book-locked body{position:fixed;inset:0;width:100%}
html.book-locked .experience{height:100%!important}
html.book-locked .page-scroll{overflow:hidden;overscroll-behavior:none}
html.book-locked dialog{touch-action:pan-y pinch-zoom;overscroll-behavior:contain}
html.book-locked:has(dialog[open]),html.book-locked:has(dialog[open]) body{touch-action:pan-y pinch-zoom}
.book-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-nav{position:absolute;top:calc(var(--header) + 20px);left:var(--edge);right:var(--edge);z-index:20;display:flex;align-items:center;justify-content:space-between;font-size:11px}
.scene-nav a{min-height:32px;align-content:center}.scene-nav a span{margin-left:16px}.scene-nav [hidden]{display:none}.is-opening .scene-nav{opacity:0;visibility:hidden;pointer-events:none}
.page-plane{position:absolute;top:0;left:0;width:440px;height:616px;transform-origin:0 0;opacity:0;pointer-events:none;will-change:transform;container-type:inline-size}
.intro-plane{z-index:6}.invitation-plane{z-index:5}.form-plane{z-index:4}
.paper-page{position:relative;width:100%;height:100%;background:var(--paper);color:#262624;box-shadow:0 1px 2px #25251d15;overflow:hidden}
.has-book3d .paper-page{background:transparent;box-shadow:none}
.paper-page:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.022;background:url('/assets/paper-stock.webp?v=665aa8e94ef1') center / 420px 420px;mix-blend-mode:multiply}
.intro-sheet,.invitation-page{padding:10% 11% 12%;display:flex;flex-direction:column}
.intro-sheet>*{flex-shrink:0}
.intro-sheet.has-text-overflow{overflow:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#bcbcb4 transparent;outline-offset:-3px}
.folio-top,.folio-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;line-height:1.4;flex-shrink:0}
.folio-top{padding-bottom:17px;border-bottom:1px solid #d4d2ca}.folio-bottom{margin-top:22px;font-size:10px}.folio-bottom img{width:26px;height:auto}
.intro-body{margin:auto 0;position:relative}.intro-body h1{font-size:clamp(28px,8.2cqw,43px);font-weight:500;letter-spacing:-1.4px;line-height:1.13;margin:24px 0 22px}
.intro-body p{font-size:clamp(14px,3.45cqw,16px);line-height:1.58;margin:0 0 14px}.intro-body p:last-child{margin-bottom:20px}
.turn-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d4d2ca;min-height:44px;padding-top:10px;font-size:12px;flex-shrink:0}
.invitation-copy{margin:auto 0}.invitation-copy h2{font-size:clamp(32px,9cqw,52px);font-weight:400;letter-spacing:-1.9px;line-height:1.08;margin:24px 0 30px}.invitation-copy p{font-size:clamp(14px,3.5cqw,16px);line-height:1.65;margin:0 0 20px}.edition-note{display:block;font-size:11px;line-height:1.6;margin-top:44px}
.form-page{padding:0;overflow:hidden}.page-scroll{height:100%;max-height:var(--visible-form-height,100%);padding:7% 8% 8%;overflow:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#bcbcb4 transparent;outline-offset:-3px;position:relative}
.form-page .folio-top{padding-bottom:12px;font-size:11px}.form-page h2{font-size:inherit;font-weight:400;line-height:inherit;margin:0;outline-offset:4px}.form-intro{font-size:13px;line-height:1.5;margin:15px 0 20px}.privacy-note{font-size:11px;line-height:1.55;margin:15px 0 0}.privacy-note button{text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:28px}
.stage-caption{position:absolute;left:0;right:0;bottom:calc(var(--footer) + 30px);text-align:center;z-index:8;opacity:calc(1 - min(1,var(--opening)*5));pointer-events:none}.stage-caption button{pointer-events:auto;min-height:44px;font-size:11px}.stage-caption button span{margin-left:16px}.stage-caption p{font-size:12px;margin:0 0 4px}.is-opening .stage-caption{visibility:hidden}
.progress-track{position:absolute;bottom:var(--footer);height:1px;left:var(--edge);right:var(--edge);background:#eee;z-index:20}.progress-track span{display:block;height:1px;background:#42423b;transform-origin:left;transform:scaleX(var(--progress))}
dialog{max-width:540px;border:1px solid #d3d2c9;background:#faf9f6;padding:32px;color:#222;width:calc(100% - 32px);max-height:80svh}dialog::backdrop{background:#17170b33;backdrop-filter:blur(4px)}dialog p{font-size:14px}dialog a{text-decoration:underline}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head h2{font-size:23px;font-weight:500;letter-spacing:-.6px}.dialog-head button{font-size:12px;min-height:44px}
@media(max-width:760px){
 :root{--edge:20px;--header:74px;--footer:92px}
 .brand,.brand img{width:96px}.header-right{gap:8px;font-size:9px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding-top:10px;padding-bottom:10px;font-size:9px}.contact-links{gap:16px}.contact-links a{min-height:32px}.copyright{margin:0;grid-row:2;grid-column:1}.footer-icon{grid-column:2;grid-row:1/3;margin:0;width:30px}.footer-icon img{width:30px}
 .scene-nav{font-size:10px;top:calc(var(--header) + 13px)}
 .intro-sheet,.invitation-page{padding:8.5% 9% 11%}.folio-top{font-size:9px;padding-bottom:12px}.folio-bottom{font-size:9px;margin-top:12px}.intro-body h1{font-size:28px;letter-spacing:-1px;margin:18px 0}.intro-body p{font-size:13.5px;line-height:1.5;margin-bottom:12px}.intro-body p:last-child{margin-bottom:16px}.turn-link{font-size:10px;min-height:39px;padding-top:7px}
 .page-scroll{padding:25px 26px 34px}.form-intro{font-size:13px;margin:14px 0 20px}.privacy-note{font-size:11px}
 .stage-caption{bottom:calc(var(--footer) + 24px)}.stage-caption p{font-size:11px}
}
@media(max-width:359px){.intro-body h1{font-size:24px;margin:13px 0}.intro-body p{font-size:12.5px;line-height:1.46;margin-bottom:10px}.intro-sheet{padding:8% 9% 12%}.intro-sheet .folio-bottom{font-size:8px;margin-top:9px}.intro-sheet .turn-link{font-size:9px;min-height:35px}.page-scroll{padding:22px 23px 32px}}
@media(max-height:740px) and (min-width:761px){:root{--header:72px;--footer:62px}.intro-sheet{padding:8% 10% 10%}.intro-body h1{font-size:clamp(25px,7.8cqw,34px);margin:18px 0}.intro-body p{font-size:13px;line-height:1.5;margin-bottom:10px}.intro-sheet .folio-bottom{margin-top:10px}.folio-top{font-size:10px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.experience{height:100svh}.page-plane{will-change:auto}}
/* Ink remains HTML: a very small density variation and recessed highlight. */
.paper-page :is(h1,h2,h3,p,.signup-progress,.folio-top,.folio-bottom,.turn-link,legend,label,.signup-dropdown-title,.signup-dropdown-selection){filter:url('#paper-ink');text-shadow:0 .2px .15px #ffffff80,0 -.1px .1px #15150f18}
.paper-page input{color:#292924;text-shadow:0 .2px .15px #ffffff70}
.paper-page .signup-status,.paper-page .signup-error-summary{filter:none;text-shadow:none}
@media(forced-colors:active){.paper-page *{filter:none!important;text-shadow:none!important}}

/* Printed folios stay in the book; only the closed scene has an outer shortcut. */
.form-page .page-scroll{padding:9% 10% 10%}
.form-page .form-intro{font-size:14px;line-height:1.5;margin:18px 0 24px}
.form-page .privacy-note{font-size:12px;line-height:1.6;margin-top:22px}
@container(max-width:300px){.form-page .page-scroll{padding:14px 12px 22px}.form-page .form-intro{font-size:13px;margin:12px 0 18px}.form-page .folio-top{font-size:10px;padding-bottom:10px}.intro-sheet{padding:12px 12px 22px}.intro-body h1{font-size:24px}.intro-body p{font-size:14px}.intro-sheet .folio-top{font-size:10px}.intro-sheet .folio-bottom{flex-wrap:wrap;font-size:10px}.intro-sheet .turn-link{font-size:12px}}

.stage:not(.has-book3d) .invitation-plane{background:var(--paper);box-shadow:0 1px 5px #22222218}

@container(max-width:300px){.form-page .form-intro{display:none}.form-page .folio-top{margin-bottom:18px}}

/* Fixed typesetting: the camera transforms this leaf without reflowing its copy. */
.paper-page{overflow:clip}
.intro-sheet{padding:8% 9% 8%;gap:18px}
.intro-sheet>.intro-body{flex:1 1 0;min-height:0;min-width:0;margin:0;display:flex;flex-direction:column;gap:16px;overflow:clip}
.intro-body>*{flex-shrink:0}
.intro-body h1{font-size:clamp(25px,8.2cqw,37px);font-weight:600;font-style:normal;letter-spacing:-1.1px;line-height:1.15;margin:0 0 6px}
.intro-body p,.intro-body p:last-child{font-size:clamp(14px,3.65cqw,16px);line-height:1.55;margin:0}
.folio-top{padding-bottom:12px}
.book-open-hitarea[hidden]{display:none}
.intro-sheet>.pagination-measure{position:absolute!important;left:0;top:0;height:auto!important;max-height:none!important;visibility:hidden;pointer-events:none;overflow:visible!important;flex:none!important}
.page-surface{height:100%;padding:7% 8%;display:flex;flex-direction:column;min-height:0;overflow:clip}
.form-page .folio-top{flex-shrink:0;margin:0 0 14px;padding-bottom:10px}
.form-page .privacy-note{flex-shrink:0;font-size:11px;line-height:1.45;margin:8px 0 0}
.form-page .privacy-note button{min-height:28px}
.under-plane{z-index:10;pointer-events:none}.turn-plane{z-index:12;pointer-events:none}
.book-open-hitarea{position:absolute;left:25%;top:28%;width:50%;height:45%;z-index:8;background:transparent;border:0}
.book-open-hitarea:focus-visible{outline:1px solid #333;outline-offset:8px}
@container(max-width:300px){.intro-sheet{padding:8% 8%;gap:14px}.intro-body h1{font-size:25px}.intro-body p,.intro-body p:last-child{font-size:14px;line-height:1.5}.form-page .folio-top{font-size:10px;margin-bottom:12px}.form-page .privacy-note{font-size:10px}}
:root.short-screen{--header:50px;--footer:48px}.short-screen .site-header{padding:0 20px}.short-screen .site-footer{padding:0 20px;display:flex;gap:14px;font-size:9px}.short-screen .brand,.short-screen .brand img{width:86px}.short-screen .header-right{font-size:9px;gap:8px}.short-screen .contact-links{gap:14px}.short-screen .copyright{margin-left:auto}.short-screen .footer-icon{width:24px;margin:0}.short-screen .footer-icon img{width:24px}

/* A short landscape screen dedicates its height to the open paper. */
:root.landscape-screen{--header:0px;--footer:0px}.landscape-screen .site-header,.landscape-screen .site-footer{display:none}

.very-short-screen .page-surface{padding:4% 7%}.very-short-screen .form-page .folio-top{font-size:9px;line-height:1.2;padding-bottom:6px;margin-bottom:6px}.very-short-screen .form-page .privacy-note{font-size:9px;margin-top:4px;line-height:1.2}.very-short-screen .form-page .privacy-note button{min-height:20px}.very-short-screen .intro-sheet{padding:5% 7%;gap:10px}.very-short-screen .intro-sheet .folio-top{font-size:9px;padding-bottom:7px}.very-short-screen .intro-body h1{font-size:23px}.very-short-screen .intro-body p,.very-short-screen .intro-body p:last-child{font-size:13px;line-height:1.45}
/* The unlabelled page edge remains keyboard reachable; page one has no CTA. */
.page-turn-hitarea{position:absolute;right:0;top:18%;bottom:18%;width:7%;z-index:2;cursor:grab}
.page-turn-hitarea:focus-visible{outline:1px solid #555;outline-offset:-5px}
.curved-ink{position:absolute;inset:0;pointer-events:none;z-index:14}
.curve-strip{position:absolute;left:0;top:0;transform-origin:0 0;overflow:clip;pointer-events:none;will-change:transform}
.curve-content{position:absolute;left:0;top:0;container-type:inline-size}
.curve-content .paper-page{box-shadow:none!important}
.curve-content .paper-page :is(h1,h2,h3,p,.folio-top,label,legend){filter:none}
.curve-content .page-turn-hitarea{display:none}
/* Contact details stay together; privacy is available from every spread. */
.studio-contact{display:flex;flex-direction:column;justify-content:center;gap:3px}
.studio-contact>a{min-height:24px}
.studio-contact .copyright{margin:0;font-size:10px;color:#66665f}
.site-footer #privacy-open{margin-left:auto;min-height:44px;font-size:inherit}
.site-footer .contact-links{align-items:center}
@media(max-width:760px){
 .site-footer{grid-template-columns:1fr auto;gap:0 15px}
 .site-footer .contact-links{grid-row:1;grid-column:1;gap:16px}
 .studio-contact{gap:0}
 .studio-contact>a{min-height:26px}
 .studio-contact .copyright{font-size:8px}
 .site-footer #privacy-open{grid-row:2;grid-column:1;justify-self:start;margin:0;min-height:25px}
 .site-footer .footer-icon{grid-row:1/3;grid-column:2}
}
.short-screen .site-footer{display:grid;grid-template-columns:1fr auto 24px;gap:10px}
.short-screen .site-footer .contact-links{gap:12px;grid-row:1;grid-column:1}
.short-screen .studio-contact .copyright{margin:0;font-size:8px}
.short-screen .site-footer #privacy-open{grid-row:1;grid-column:2;font-size:8px;max-width:90px;text-align:left;line-height:1.5}
.short-screen .site-footer .footer-icon{grid-row:1;grid-column:3}
@media(max-width:359px){.short-screen .contact-links{flex-direction:column;align-items:flex-start;gap:0!important}.short-screen .contact-links>a{min-height:15px}.short-screen .studio-contact>a{min-height:18px}.short-screen .studio-contact .copyright{font-size:7px}}
/* A small render of this exact model is the first frame, without a second cover. */
.book-poster{position:absolute;left:50%;top:calc(var(--header) + (100svh - var(--header) - var(--footer))/2);width:min(100vw,calc((100svh - var(--header) - var(--footer) - 64px)/.43));max-width:none;height:auto;transform:translate(-50%,-50%);pointer-events:none}
.book-canvas{visibility:hidden}
.has-book3d .book-canvas{visibility:visible}
.has-book3d .book-poster,.is-opening .book-poster{visibility:hidden}
@media(max-width:760px){.book-poster{width:min(180vw,calc((100svh - var(--header) - var(--footer) - 48px)/.43))}}
.landscape-screen .site-footer{display:none}

/* Keep the entire introduction on the first right-hand leaf. */
.intro-sheet{padding:6% 8%;gap:15px}
.intro-sheet>.intro-body{gap:12px}
.intro-body h1{font-size:clamp(23px,7cqw,34px);line-height:1.15;letter-spacing:-.8px;margin:0}
.intro-body p,.intro-body p:last-child{font-size:clamp(13.5px,3.4cqw,15.5px);line-height:1.46;margin:0}
@container(max-width:325px){
 .intro-sheet{padding:4.5% 6%;gap:9px}
 .intro-sheet .folio-top{font-size:9.5px;padding-bottom:8px}
 .intro-sheet>.intro-body{gap:9px}
 .intro-body h1{font-size:23px}
 .intro-body p,.intro-body p:last-child{font-size:12.5px;line-height:1.43}
}
@container(max-width:280px){
 .intro-sheet{padding:3% 4%;gap:8px}
 .intro-sheet .folio-top{font-size:9px;padding-bottom:6px}
 .intro-sheet>.intro-body{gap:7px}
 .intro-body h1{font-size:21px;line-height:1.1;letter-spacing:-.6px}
 .intro-body p,.intro-body p:last-child{font-size:12.5px;line-height:1.29}
}

/* The entire introduction remains on one leaf in the shortest view. */
.landscape-screen .intro-sheet{padding:3% 4%;gap:7px}
.landscape-screen .intro-sheet .folio-top{font-size:8px;line-height:1.2;padding-bottom:5px}
.landscape-screen .intro-sheet>.intro-body{gap:5px}
.landscape-screen .intro-body h1{font-size:18px;line-height:1.08;letter-spacing:-.5px}
.landscape-screen .intro-body p,.landscape-screen .intro-body p:last-child{font-size:10.5px;line-height:1.3}
.very-short-screen .intro-sheet{padding:2% 3%;gap:6px}
.very-short-screen .intro-sheet .folio-top{font-size:8px;padding-bottom:4px}
.very-short-screen .intro-sheet>.intro-body{gap:4px}
.very-short-screen .intro-body h1{font-size:16px;line-height:1.08;letter-spacing:-.35px}
.very-short-screen .intro-body p,.very-short-screen .intro-body p:last-child{font-size:9px;line-height:1.26}

/* The four requested paragraph breaks remain on the reading leaf. */
@media (max-width:760px) and (min-width:360px) and (min-height:481px){.intro-sheet>.intro-body{gap:8px}}

/* A continuous reading rhythm, rather than stretching blocks to the page ends. */
@media(min-width:761px){
 @container(min-width:326px){
  .intro-sheet>.intro-body{gap:clamp(12px,3.6cqw,18px)}
  .intro-body>h1{margin-bottom:clamp(12px,3.6cqw,18px)}
  .intro-body>p,.intro-body>p:last-child{font-size:clamp(13.5px,3.6cqw,16.5px);line-height:1.52}
 }
}
/* One extra paragraph space after the subject; body spacing stays unchanged. */
@media(max-width:760px){
 .intro-sheet{padding-block:3%}
 .intro-body>h1{margin-bottom:12px}
 @container(max-width:325px){.intro-body>h1{margin-bottom:9px}}
 @container(max-width:280px){.intro-sheet{padding-block:1.5%}.intro-body>h1{margin-bottom:7px}}
}
@media(max-width:760px) and (min-width:360px) and (min-height:481px){.intro-body>h1{margin-bottom:8px}}
.landscape-screen .intro-sheet{padding-block:2%}
.landscape-screen .intro-body>h1{margin-bottom:5px}
.very-short-screen .intro-body>h1{margin-bottom:4px}

/* One quiet footer line, with the studio imprint centered on the viewport. */
.site-footer{display:flex;padding:0 var(--edge);font-size:11px;font-weight:400;align-items:center}
.footer-details{position:absolute;left:var(--edge);right:var(--edge);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;line-height:1.4}
.footer-details>.footer-email{justify-self:start;white-space:nowrap;min-height:44px;align-content:center}
.footer-details>.copyright{grid-area:auto;margin:0;justify-self:center;white-space:nowrap;font:inherit;color:inherit}
.site-footer .footer-details>#privacy-open{grid-area:auto;margin:0 60px 0 0;justify-self:end;min-height:44px;max-width:none;white-space:nowrap;font:inherit;color:#66665f;text-align:right}
.site-footer>.footer-icon{position:absolute;right:var(--edge);bottom:10px;width:36px;min-height:44px;margin:0;display:flex;align-items:center;justify-content:center}
.site-footer>.footer-icon img{width:36px}
@media(max-width:760px){
 .site-footer{font-size:clamp(7.5px,2.1vw,9px)}
 .footer-details{left:12px;right:12px;column-gap:8px;transform:translateY(-14px)}
 .site-footer .footer-details>#privacy-open{margin:0}
 .site-footer>.footer-icon{right:20px;bottom:5px;width:30px;min-height:32px}
 .site-footer>.footer-icon img{width:30px}
}
.short-screen .site-footer{display:flex;font-size:clamp(7.5px,2.1vw,9px)}
.short-screen .footer-details{transform:translateY(-10px);left:12px;right:12px;column-gap:8px}
.short-screen .site-footer .footer-details>#privacy-open{margin:0}
.short-screen .site-footer>.footer-icon{right:12px;bottom:0;min-height:24px;width:24px}
.short-screen .site-footer>.footer-icon img{width:24px}
.landscape-screen .site-footer{display:none}
@media(min-width:761px){
 .footer-details{bottom:10px;transform:none}
 .short-screen .footer-details{bottom:0;transform:none}
 .short-screen .footer-details>:is(.footer-email,#privacy-open){min-height:24px}
 .short-screen .site-footer .footer-details>#privacy-open{margin-right:40px}
}
