@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ink:#211331;--plum:#130d22;--lavender:#c7b5e5;--accent:#aa8ccf;--edge:5.35vw;color:#f3edf8;background:var(--plum);font-family:Manrope,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:0;min-height:100svh;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid #d6ad56;outline-offset:6px}
h1:focus,main:focus{outline:none}
::selection{background:#c7b0e4;color:#211331}
.skip-link{position:fixed;top:12px;left:16px;z-index:30;padding:12px 18px;background:#f1e6d5;color:var(--ink);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.header{height:74px;padding:0 var(--edge);display:flex;align-items:center;justify-content:space-between;background:var(--plum);position:relative;z-index:10;flex:0 0 74px}
.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;letter-spacing:-.025em;text-decoration:none;flex-shrink:0}
.brand img{width:42px;height:42px;display:block}
.header nav{display:flex;align-items:center;gap:48px;font-size:17px}
.header nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.header nav a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#b9a0e3;transform:scaleX(0);transition:transform .2s}
.header nav a[aria-current]::after,.header nav a:hover::after{transform:scaleX(1)}
.footer{height:112px;flex:0 0 112px;padding:20px var(--edge) 0;background:var(--plum);position:relative;z-index:2}
.footer nav{border-top:1px solid #322440;display:flex;align-items:center;justify-content:flex-end;gap:24px;height:100%;font-size:15px;color:#c9b9e5}
.footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer span{color:#d9bd68}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1{margin:0;letter-spacing:-.065em;line-height:1.1}
.back{display:inline-flex;min-height:44px;align-items:center;gap:9px;color:#c9b8e9;font-size:18px;text-decoration:none}
.back::before{content:"";display:block;flex:none;width:18px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M18 8H2m6-6L2 8l6 6' fill='none' stroke='%23c9b8e9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.back:hover{text-decoration:underline}
.scene-page{display:flex;flex-direction:column}
.stage{position:relative;isolation:isolate;overflow:hidden;min-height:660px;height:calc(100svh - 186px);flex:1}
.camera{position:absolute;inset:0;z-index:-3;transform:scale(1);transform-origin:0 18%}
.camera picture,.room{display:block;width:100%;height:100%}
.room{object-fit:cover;object-position:center}
.scene-page[data-page="about"] .camera{transform:scale(1.27)}
.reading-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(19,10,34,.2),transparent 60%);pointer-events:none}
.copy{position:absolute;left:var(--edge);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none}
.copy[aria-hidden="false"]{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.motion-ready .camera{transition:transform 1500ms cubic-bezier(.4,0,.15,1);will-change:transform}
.motion-ready .copy{transition:opacity 220ms ease,transform 400ms ease,visibility 0s 220ms}
.motion-ready .copy[aria-hidden="false"]{transition:opacity 650ms ease 380ms,transform 650ms ease 380ms,visibility 0s}
.home-copy{top:19.5%}
.home-copy h1{font-size:clamp(60px,7.55vw,116px);line-height:1;white-space:nowrap}
.subtitle{font-size:clamp(20px,2.1vw,32px);letter-spacing:-.015em;margin:10px 0 32px;line-height:1.5}
.mobile-break{display:none}
.invitation{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:16px 29px;background:var(--accent);color:#241333;font-size:19px;font-weight:750;border-radius:14px;text-decoration:none;box-shadow:0 0 24px #b899df2e,inset 0 1px 0 #f5e5ff38;transition:background .2s,box-shadow .2s}
.invitation:hover,.invitation:focus-visible{background:#bea3df;box-shadow:0 0 32px #b899df4d,inset 0 1px 0 #f5e5ff50}
.invitation-note{font-size:13px;line-height:1.45;color:#c9b9da;margin:10px 0 0;letter-spacing:normal}
.about-copy{top:7.5%;max-width:49%}
.about-copy .back{margin-bottom:36px}
.about-copy h1{font-size:clamp(54px,6.65vw,102px);line-height:1;white-space:nowrap}
.about-body{font-size:clamp(19px,1.72vw,26px);line-height:1.5;letter-spacing:-.015em}
.about-body p{margin:12px 0 0}
.hello{color:#bba0ff;display:inline-flex;align-items:center;min-height:44px;margin-top:24px;font-weight:650}
.paper-page .header{position:sticky;top:0}
.paper-page{background:var(--plum);isolation:isolate}.paper-page::before{content:"";position:fixed;inset:74px 0 0;z-index:-1;background:#302019 url("/assets/wood.webp") left top/auto 100% no-repeat}
.reading-layout{display:grid;grid-template-columns:25% 75%;min-height:calc(100svh - 74px);background:transparent}
.reading-nav{z-index:1;padding:100px 25px 60px 34.5%;align-self:start;position:sticky;top:74px}
.reading-nav .back{margin-bottom:27px;color:#f2e9e6;font-size:18px;white-space:nowrap}
.reading-nav nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.reading-nav nav a{min-height:44px;display:inline-flex;align-items:center;font-size:20px;text-decoration:none;color:#c7b5e5;position:relative}
.reading-nav nav a[aria-current]{color:#f3ecf8;font-weight:650}
.reading-nav nav a[aria-current]::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#c7b5e5}
.reading-nav a:hover{color:#fff}
.paper{color:var(--ink);background:transparent;isolation:isolate;border-left:4px solid #e4ccb0;box-shadow:-5px 0 7px #130b1250;min-width:0}
.paper::before{content:"";position:fixed;inset:0 0 0 25%;z-index:-1;background:linear-gradient(#d1c9be66,#d1c9be66),url("/assets/paper.webp") center/cover no-repeat;background-color:#d9cfc0}
.document{max-width:1140px;padding:clamp(70px,9.5vw,142px) clamp(32px,4.2vw,64px) 95px;font-size:clamp(19px,1.85vw,28px);line-height:1.55}
.document h1{font-size:clamp(55px,6.5vw,100px);line-height:1.05;margin:0 0 20px}
.document h2{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.045em;line-height:1.2;margin:60px 0 14px}
.document p{margin:0 0 24px}
.document strong{font-weight:650}
.document ul,.document ol{padding-left:1.25em;margin:0 0 28px}
.document li{padding-left:.15em;margin:0 0 15px}
.document a:hover{color:#604176}
.document .date{font-size:.8em;margin:0 0 42px}
.document .scope{margin-bottom:24px}
.document .legal-summary{margin:30px 0;padding:0 0 6px 20px;border-left:2px solid #8c7298}
.document .legal-summary h2{font:inherit;font-weight:700;letter-spacing:normal;margin:0 0 12px}
.document .legal-summary p:last-child{margin-bottom:12px}
.document .document-contents{display:flex;flex-wrap:wrap;gap:8px 20px;margin:26px 0 40px;font-size:.88em;line-height:1.6}
.document .document-contents a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.document h2[id]{scroll-margin-top:100px}
.document-extra{margin-top:54px!important;font-size:.8em}
.contact-intro{margin-top:24px!important}
.contact-email{display:inline-block;font-size:clamp(24px,2.85vw,43px);font-weight:600;letter-spacing:-.035em;margin:22px 0 22px;max-width:100%;overflow-wrap:anywhere}
.company-details{margin-top:100px}
.company-details h2{margin-top:0;margin-bottom:28px}
.company-details address{font:inherit;font-size:.92em;line-height:1.5}
.invite-document{max-width:900px}
.invite-document h1{font-size:clamp(42px,5vw,78px)}
.invite-document .code{font-family:ui-monospace,monospace;letter-spacing:.2em;font-size:1.25em;padding:18px 0;overflow-wrap:anywhere}
.invite-document .invitation{margin:14px 0}
.store-link{display:block;margin:18px 0}
.invite-document .small{font-size:.8em}
.invite-document .mark{display:none}
@media(min-width:651px) and (max-width:1000px){
 .about-copy{max-width:54%}.about-copy h1{font-size:6.5vw}.about-body{font-size:19px}
 .reading-layout{grid-template-columns:23% 77%}.paper::before{left:23%}.reading-nav{padding:55px 16px 40px 15%}.reading-nav .back{font-size:15px}.reading-nav nav a{font-size:18px}
 .document{font-size:19px;padding:65px 40px}.document h1{font-size:60px}.document h2{font-size:34px;margin-top:38px}
}
@media(min-width:651px) and (max-height:850px){
 .scene-page .header{height:64px;flex-basis:64px}.scene-page .footer{height:70px;flex-basis:70px;padding-top:10px}
 .stage{height:calc(100svh - 134px);min-height:540px}.room{object-position:center top}.home-copy{top:10%}
 .about-copy{top:3%}.about-copy .back{margin-bottom:8px}.about-copy h1{font-size:clamp(46px,5.9vw,86px)}
 .about-body{font-size:clamp(17px,1.5vw,22px)}.about-body p{margin-top:10px}.hello{margin-top:12px}
}
@media(min-width:651px) and (min-aspect-ratio:8/5){
 .stage{min-height:max(540px,calc(100vw * 845 / 1862))}
}
@media(min-width:651px){
 .brand{font-size:22px;gap:9px;letter-spacing:-.01em}.brand img{width:32px;height:32px}
 .header nav{font-size:15px;gap:36px}
 h1,h2{font-family:'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;letter-spacing:normal}
 .home-copy h1{font-size:clamp(44px,5vw,80px);line-height:1.12;letter-spacing:normal}
 .subtitle{font-size:clamp(18px,1.5vw,23px);letter-spacing:normal;margin:18px 0 28px;line-height:1.5}
 .invitation{font-size:16px;font-weight:650;padding:14px 23px;border-radius:12px}
 .about-copy h1{font-size:clamp(38px,4.2vw,64px);line-height:1.15;letter-spacing:normal}
 .about-body{font-size:clamp(17px,1.25vw,20px);line-height:1.6;letter-spacing:normal}
 .back,.reading-nav .back{font-size:16px}.reading-nav nav a{font-size:17px}
 .paper-page::before{background-image:linear-gradient(#130d2273,#130d2273),url("/assets/wood.webp");background-size:cover}
 .reading-layout{grid-template-columns:max(200px,calc((100% - 800px)/2)) minmax(0,800px);padding-right:var(--edge)}
 .paper{position:relative}.paper::before{position:absolute;inset:0;background-attachment:fixed}
 .document{max-width:900px;padding-top:80px;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65;letter-spacing:normal}
 .document h1{font-size:48px;line-height:1.15;letter-spacing:normal}
 .document h2{font-size:30px;line-height:1.25;letter-spacing:normal;margin-top:42px}
 .contact-email{font-size:clamp(23px,2vw,30px);letter-spacing:normal}
}
@media(min-width:651px) and (min-height:851px){
 .home-copy{top:16%}
 .about-copy{top:5%}.about-copy .back{margin-bottom:24px}
}
@media(max-width:650px){
 :root{--edge:7vw}
 .header{height:54px;flex-basis:54px}.brand{gap:7px;font-size:19px}.brand img{width:28px;height:28px}
 .header nav{gap:18px;font-size:13px}.header nav a{min-height:42px}
 .scene-page .header nav a[href="/contact"]{display:none}
 .footer{height:82px;flex-basis:82px;padding:12px var(--edge) 0}.footer nav{justify-content:center;gap:23px;font-size:15px}
 .stage{height:calc(100svh - 136px);min-height:680px}
 .camera{transform-origin:0 24%}.room{object-position:center top}
 .scene-page[data-page="about"] .camera{transform:scale(1.22)}
 .reading-shade{background:transparent;transition:background 650ms ease}
 .scene-page[data-page="about"] .reading-shade{background:linear-gradient(180deg,rgba(19,10,34,.06),rgba(19,10,34,.8) 45%,rgba(19,10,34,.72) 64%,transparent 83%)}
 .home-copy{top:calc(5.5% - 20px);right:var(--edge)}.home-copy h1{font-size:14.1vw;letter-spacing:-.005em}
 .subtitle{font-size:19px;letter-spacing:-.015em;line-height:1.2;margin:12px 0 20px}.mobile-break{display:block}
 .invitation{font-size:14px;padding:12px 17px;min-height:44px;border-radius:11px}
 .about-copy{top:3.5%;right:var(--edge);max-width:none}.about-copy .back{font-size:14px;margin-bottom:21px}
 .about-copy h1{font-size:10.3vw;letter-spacing:-.005em}.about-body{font-size:17px;line-height:1.5;letter-spacing:0}.about-body p{margin-top:18px}.hello{margin-top:17px}
 .reading-layout{display:block;min-height:calc(100svh - 54px)}.paper-page::before{top:54px;background-size:auto 100%}.paper::before{position:absolute;inset:0;background-attachment:fixed}.reading-nav{background:transparent}
 .reading-nav{position:relative;top:auto;padding:21px var(--edge) 12px}.reading-nav .back{font-size:15px;margin:0}.reading-nav nav{flex-direction:row;gap:28px}.reading-nav nav a{font-size:17px;min-height:38px}
 .paper{position:relative;margin-left:6.5%;border-left:3px solid #e4ccb0;background-size:850px auto;min-height:calc(100svh - 190px)}
 .document{padding:46px 7vw 60px 8.5vw;font-size:15px;line-height:1.55}
 .document h1{font-size:12vw;letter-spacing:-.035em;line-height:1.08;margin-bottom:12px}
 .document h2{font-size:29px;line-height:1.2;margin:40px 0 14px;letter-spacing:-.045em}
 .document .date{font-size:14px;margin-bottom:30px}.document p{margin-bottom:24px}.document .scope{margin-bottom:25px}
 .document li{margin-bottom:14px}.document a{overflow-wrap:anywhere}
 .contact-email{font-size:clamp(20px,5.9vw,35px);margin:15px 0 22px;letter-spacing:-.04em}
 .company-details{margin-top:55px}.company-details h2{margin-bottom:20px}.company-details address{font-size:16px}
 .contact-intro{margin-top:21px!important}.invite-document h1{font-size:10vw}.document-extra{font-size:14px}
 .paper-page .header nav{gap:13px;font-size:12px}.paper-page .brand{font-size:19px}
}
@media(max-width:359px){.header nav{font-size:12px}.brand{font-size:19px}.about-body{font-size:16px}.document{padding-right:6vw;padding-left:7vw}}
@media(prefers-reduced-motion:reduce){.motion-ready .camera,.motion-ready .copy,.motion-ready .copy[aria-hidden="false"],.reading-shade{transition:none!important}.motion-ready .camera{will-change:auto}}
@media print{.paper::before,.paper-page::before{display:none}.header,.footer,.reading-nav,.skip-link{display:none}.reading-layout{display:block;background:none}.paper{margin:0;border:0;box-shadow:none;background:#fff;color:#000}.document{max-width:none;padding:0;font-size:11pt}.document h1{font-size:28pt}.document h2{font-size:18pt;break-after:avoid}.document a{color:inherit}.document p,.document li{orphans:3;widows:3}}


