@font-face {  font-family: 'Lato';  font-style: normal;  font-weight: 400;  font-display: swap;  src: url('/assets/fonts/Lato-400.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face {  font-family: 'Lato';  font-style: normal;  font-weight: 700;  font-display: swap;  src: url('/assets/fonts/Lato-700.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face {  font-family: 'Playfair Display';  font-style: italic;  font-weight: 600;  font-display: swap;  src: url('/assets/fonts/PlayfairDisplay-600i.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face {  font-family: 'Playfair Display';  font-style: normal;  font-weight: 600;  font-display: swap;  src: url('/assets/fonts/PlayfairDisplay-600.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face {  font-family: 'Playfair Display';  font-style: normal;  font-weight: 700;  font-display: swap;  src: url('/assets/fonts/PlayfairDisplay-600.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{--night:#0b0820;--midnight:#140f2e;--indigo:#1d1640;--violet:#7c5cff;--hover:#6b4bd8;--gold:#e8c77a;--paper:#faf8ff;--lav:#f1edfc;--line:#ddd7f2;--muted:#675f82;--max:760px;--wide:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--indigo);font:18px/1.75 Lato,Arial,sans-serif}h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;line-height:1.15;margin:0 0 .8rem;color:var(--indigo)}h1{font-size:clamp(2.5rem,9vw,5rem);letter-spacing:-.02em}h2{font-size:clamp(2rem,6vw,3rem);margin-top:2.5rem}h3{font-size:1.45rem}p{margin:.7rem 0 1.1rem}a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--hover)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{max-width:var(--max);margin:auto;padding:0 1.25rem}.wide{max-width:var(--wide)}.site-header{background:var(--night);color:#fff;position:relative;z-index:5;border-bottom:1px solid rgba(232,199,122,.16)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:1rem}.brand{display:flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;font:700 1.35rem 'Playfair Display',serif;white-space:nowrap}.brand svg{width:30px;height:30px;flex:none}.nav-toggle{background:transparent;border:1px solid #665c90;color:#fff;border-radius:10px;padding:.45rem .65rem;font-size:1.3rem;line-height:1;cursor:pointer}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--night);padding:1rem 1.25rem;box-shadow:0 16px 30px #090617}.nav.open{display:grid;gap:.65rem}.nav a{color:#fff;text-decoration:none;padding:.45rem .2rem}.nav a[aria-current=page],.nav a:hover{color:var(--gold)}.hero,.title-band{background:radial-gradient(circle at 80% 15%,rgba(124,92,255,.24),transparent 35%),linear-gradient(145deg,var(--night),var(--midnight) 52%,#2b2162);color:#fff;position:relative;overflow:hidden}.hero:after,.title-band:after{content:'';position:absolute;width:90vw;height:90vw;max-width:780px;max-height:780px;border:1px solid rgba(232,199,122,.22);border-radius:50%;right:-48%;top:-36%;box-shadow:0 0 0 30px rgba(124,92,255,.07),0 0 0 60px rgba(124,92,255,.045),0 0 0 100px rgba(232,199,122,.025);animation:drift 32s ease-in-out infinite alternate}.hero .wrap,.title-band .wrap{position:relative;z-index:1}.hero{min-height:calc(100vh - 76px);display:grid;align-items:center;padding:5rem 0}.hero h1,.title-band h1{color:#fff;max-width:780px}.hero p{max-width:680px;font-size:1.18rem}.eyebrow{color:var(--gold);font-size:.83rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.quote{font:600 1.25rem/1.45 'Playfair Display',serif;border-left:3px solid var(--gold);padding-left:1rem;margin:2rem 0;max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:10px;padding:.7rem 1.15rem;background:var(--violet);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--hover);color:#fff}.button.secondary{background:transparent;border:1px solid #a89dde}.button[disabled]{opacity:.65;cursor:wait}.title-band{padding:4.5rem 0 4rem}.epigraph{color:#e9e4ff;max-width:650px;font:italic 1.08rem/1.55 'Playfair Display',serif}.section{padding:4.5rem 0}.section.alt{background:var(--lav)}.reading{max-width:700px}.reading>p,.reading>ul,.reading>ol{max-width:67ch}.reading h2{margin-top:3.2rem}.reading h3{margin-top:2rem}.reading .pull{font:600 1.35rem/1.5 'Playfair Display',serif;color:#4d3d91;border-left:3px solid var(--gold);padding:1rem 1.2rem;margin:2rem 0;background:#fff8df;border-radius:0 12px 12px 0}.grid{display:grid;gap:1rem}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.35rem;box-shadow:0 10px 28px rgba(29,22,64,.055)}.card h3{color:#5b43bd}.luminous{background:linear-gradient(145deg,#fff,#f0ebff);border-color:#cfc4f5}.principles{display:grid;gap:1rem}.principles article{padding:1rem 0;border-bottom:1px solid var(--line)}.principles h3{margin-bottom:.2rem}.table-wrap{overflow-x:auto;margin:1.5rem 0}.data-table{width:100%;min-width:620px;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.85rem}.data-table th{background:#ebe6fa;font-size:.9rem}.compare{display:grid;gap:1rem;margin:1.5rem 0}.compare .card{box-shadow:none}.compare h3{font-size:1.1rem;color:var(--muted);font-family:Lato,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.note{background:#f5f0d9;border-left:4px solid var(--gold);padding:1rem;border-radius:8px}.price{font:700 2.4rem 'Playfair Display',serif;color:var(--indigo)}.faq details{border-top:1px solid var(--line);padding:1.15rem 0}.faq summary{font-weight:700;cursor:pointer}.site-footer{background:var(--night);color:#eee;padding:2.8rem 0;font-size:.9rem}.site-footer p{max-width:780px}.site-footer a{color:#ddd2ff}.footer-links{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:1.3rem}.legal{padding:4rem 0}.legal h1{font-size:clamp(2.2rem,8vw,4rem)}.legal h2{font-size:2rem}.form{display:grid;gap:1rem;max-width:560px}.form label{font-weight:700}.form input,.form textarea{width:100%;padding:.75rem;border:1px solid #b9b0d5;border-radius:8px;font:inherit;background:#fff}.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;font-weight:400}.check input{width:auto;margin-top:.35rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.status{padding:1rem;border-radius:10px;background:#eee9ff;margin-top:1rem}.chart{display:flex;align-items:end;gap:1rem;height:180px;margin:1.5rem 0}.bar{flex:1;background:var(--violet);border-radius:8px 8px 0 0;min-height:4px;position:relative}.bar span{position:absolute;bottom:-2rem;width:100%;text-align:center;font-size:.8rem}.center{text-align:center}.soon{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,var(--night),#2b2162);color:#fff;text-align:center}.soon .wrap{max-width:600px}.wave{width:170px;height:70px;margin:1rem auto 2rem}.wave circle{fill:none;stroke:var(--gold);stroke-width:1}.muted{color:var(--muted);font-size:.92rem}.continue{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-family:'Playfair Display',serif;font-size:1.1rem}@keyframes drift{to{transform:translate(-2%,4%) scale(1.04)}}
@media(min-width:1050px){.nav-toggle{display:none}.nav{display:flex;position:static;background:none;padding:0;gap:.35rem;align-items:center;box-shadow:none}.nav a{font-size:.78rem;padding:.4rem}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.compare{grid-template-columns:repeat(2,1fr)}.data-table th,.data-table td{padding:1rem}.legal{padding:6rem 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.hero:after,.title-band:after{display:none}}
/* sanctuary refinements */
.lead{font-size:1.2rem;max-width:40rem}
.home-hero{isolation:isolate}
.home-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 30%,rgba(232,199,122,.14) 0 1px,transparent 2px),radial-gradient(circle at 70% 65%,rgba(255,255,255,.16) 0 1px,transparent 2px),radial-gradient(circle at 45% 18%,rgba(124,92,255,.2) 0 1px,transparent 2px);background-size:190px 170px,250px 220px,310px 270px;opacity:.55;pointer-events:none}
.quiet-link{align-self:center;color:#eee8ff;text-decoration:none;padding:.7rem .2rem}.quiet-link:hover{color:var(--gold)}
.nav-highlight{border:1px solid rgba(232,199,122,.55);border-radius:999px;padding:.45rem .8rem!important}
.honesty{padding-top:2rem}.closing{padding-top:3rem;padding-bottom:6rem}.quiet-line{font-size:.95rem;color:var(--muted);margin-top:1.5rem}.story-tease{max-width:760px;background:linear-gradient(140deg,#fff,#f5f0ff)}
.soon-main{min-height:calc(100vh - 280px);display:grid;place-items:center;background:linear-gradient(145deg,var(--night),#2b2162);color:#fff;text-align:center;padding:4rem 0}.soon-main h1,.soon-main h2{color:#fff}.soon-main .wrap{max-width:600px}
@media(max-width:699px){.nav-highlight{display:inline-block}.actions{align-items:stretch;flex-direction:column}.quiet-link{text-align:left}.reading{max-width:65ch}.site-header{position:sticky;top:0}.nav{max-height:calc(100vh - 76px);overflow:auto}}
.section .eyebrow,.legal .eyebrow,.reading .eyebrow{color:#8a6a1f}
.hero:before,.title-band:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.8;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 72%,#e9e4ff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 46% 32%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 63% 84%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 74% 12%,#e8c77a 50%,transparent 51%),radial-gradient(1.5px 1.5px at 88% 56%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 8% 90%,#e9e4ff 50%,transparent 51%),radial-gradient(1px 1px at 38% 8%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 56% 60%,#e9e4ff 50%,transparent 51%),radial-gradient(1px 1px at 94% 28%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 20% 46%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 82% 92%,#e8c77a 50%,transparent 51%);animation:twinkle 9s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.45}to{opacity:.9}}
@media (max-width:640px){.table-wrap{overflow:visible}.data-table{min-width:0;background:transparent}.data-table thead{display:none}.data-table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 .7rem;padding:.6rem 0}.data-table td{display:block;border:0;padding:.15rem 1rem}.data-table td:first-child{font-weight:700;color:var(--violet);font-size:.9rem}}
@media (prefers-reduced-motion:reduce){.hero:before,.title-band:before{animation:none}}
/* header v3: desktop only; mobile menu unchanged */
.nav .l-short{display:none}
@media(min-width:860px){
.nav-toggle{display:none}
.site-header .header-inner{max-width:var(--wide);flex-wrap:nowrap}
.site-header .nav{display:flex;position:static;background:none;padding:0;box-shadow:none;gap:.15rem;align-items:center;flex-wrap:nowrap}
.site-header .nav .l-long,.site-header .nav .nav-home{display:none}
.site-header .nav .l-short{display:inline}
.site-header .nav a{font:400 .95rem/1 Lato,Arial,sans-serif;letter-spacing:.04em;color:#d9d3f0;padding:.55rem .75rem;white-space:nowrap;border-radius:999px}
.site-header .nav a:hover{color:#fff}
.site-header .nav a[aria-current=page]{color:var(--gold)}
.site-header .nav a.nav-begin{margin-left:.6rem;padding:.55rem 1.1rem!important;font:600 .8rem/1 Lato,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,199,122,.55);border-radius:999px}
.site-header .nav a.nav-begin:hover{background:rgba(232,199,122,.12);color:#fff}
}

/* contact form */
.form select{width:100%;padding:.75rem;border:1px solid #b9b0d5;border-radius:8px;font:inherit;background:#fff;color:inherit}
.contact-form{margin:2rem 0}.contact-form label{display:grid;gap:.35rem}.contact-form textarea{resize:vertical;min-height:9rem}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid #7c5cff;outline-offset:1px;border-color:#7c5cff}
/* sticky header v1: all widths */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,8,32,.78);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);box-shadow:0 1px 0 rgba(232,199,122,.12),0 8px 24px rgba(9,6,23,.25)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header{background:var(--night)}}
.nav.open{background:rgba(11,8,32,.97)}

:target,h1[id],h2[id],h3[id],section[id],[id].card{scroll-margin-top:90px}
.dl-list{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.6rem}.dl-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem}.dl-item .button{min-height:42px;padding:.5rem 1rem}.dl-name{font-weight:700}.dl-item.locked{opacity:.55;background:#f6f4fb}.dl-when{color:var(--muted);font-size:.92rem;font-style:italic}.x-link{display:inline-flex;align-items:center;gap:.45rem;color:#e8c77a!important;text-decoration:none;font-size:.9rem}.x-link svg{width:15px;height:15px;fill:currentColor}.x-link:hover{color:#ddd2ff!important}
/* logo size v2 (2026-10-29) */
.site-header .brand{font-size:1.65rem;gap:.65rem}.site-header .brand svg{width:40px;height:40px}
@media(min-width:860px){.site-header .brand{font-size:2rem;gap:.75rem}.site-header .brand svg{width:46px;height:46px}}

@media(min-width:1050px){.nav-contact{display:none}}
