@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Montserrat:wght@400;500;600;700&display=swap');
:root{font-family:Montserrat,Arial,sans-serif;color:#302d33;background:#f9f6f0;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit}header,footer{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:24px 28px;position:relative;z-index:1}.brand{text-decoration:none;font-family:'DM Serif Display',Georgia,serif;font-size:1.65rem;letter-spacing:-.5px}.brand em{color:#9984be;font-style:normal}.brand-dot{color:#c8a800}.byline{font-size:.72rem;color:#55505c;text-align:right;line-height:1.65}.byline strong{font-weight:600}.byline-place{display:block;color:#6c6570}main{position:relative;z-index:1;min-height:calc(100vh - 170px);display:flex;align-items:center;justify-content:center;padding:16px 20px 48px}.panel{width:min(100%,770px);background:#fffdfa;border:1px solid #e8e1d8;box-shadow:0 12px 35px #322b3710;border-radius:17px;padding:clamp(24px,6vw,58px);text-align:center}.intro{max-width:690px}.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;color:#766097;text-transform:uppercase}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(3rem,9vw,5.5rem);margin:20px 0}h2{font-size:clamp(2rem,5vw,3.15rem);margin:12px 0 20px}.green{color:#4c775c}.lead{font-size:1.13rem;line-height:1.6}.scribble{background:#f2f0e8;border-left:3px solid #9984be;padding:16px;margin:28px 0;font-weight:500;line-height:1.6}.primary,.secondary{border:0;border-radius:9px;padding:15px 24px;min-height:54px;font-weight:600;transition:background .15s,transform .15s}.primary{background:#79659e;color:white}.primary:hover{background:#675289;transform:translateY(-1px)}.primary:disabled{opacity:.48;cursor:not-allowed;transform:none}.secondary{background:#ede8f3;color:#514069}.secondary:hover{background:#e2d9ed}.micro{font-size:.77rem;color:#716b74;margin-top:28px}.decor{position:fixed;border-radius:50%;pointer-events:none;z-index:0;opacity:.5}.d1{height:300px;width:300px;left:-225px;top:22%;background:#d7c6e5}.d2{height:330px;width:330px;right:-245px;bottom:5%;background:#ffdd00;opacity:.28}footer{font-size:.73rem;color:#706b73;align-items:start}footer a{text-decoration:underline;text-underline-offset:3px}.mood-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:28px 0}.mood{border:1px solid #dfd8e5;background:#fff;border-radius:9px;padding:15px 5px;min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}.mood .emoji{font-size:1.55rem}.mood .name{font-size:.73rem;font-weight:600}.mood[aria-pressed="true"]{background:#f2edf8;border-color:#79659e;box-shadow:0 0 0 2px #79659e}.hint{font-size:.84rem;color:#67616b;line-height:1.6}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.progress-label{font-size:.8rem;color:#625b69;font-weight:600;letter-spacing:.06em}.progress{height:5px;background:#ebe7ed;border-radius:20px;overflow:hidden;margin:12px 0 24px}.progress>div{height:100%;background:#9984be;transition:width .2s}.art-img{display:block;max-width:100%;max-height:400px;width:auto;margin:0 auto;object-fit:contain;border:8px solid #f5f1eb;box-shadow:0 5px 20px #342e3717;border-radius:2px}.art-meta{font-size:.78rem;color:#655f69;margin-top:12px;line-height:1.5}.art-title{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;margin:16px 0 4px}.caption{font-size:.98rem;line-height:1.7;max-width:570px;margin:18px auto}.prompt{padding:18px;background:#f0f3eb;border-left:3px solid #718f73;color:#34523d;font-weight:600;max-width:570px;margin:20px auto;line-height:1.6}.source{font-size:.74rem;color:#68626c;line-height:1.7}.source a{text-decoration:underline}.loader{padding:35px 0}.spinner{font-size:3rem;animation:spin 2s infinite linear;color:#9984be}@keyframes spin{to{transform:rotate(360deg)}}.summary{display:flex;justify-content:center;gap:20px;align-items:center;background:#f0f3eb;padding:18px;border-radius:9px;margin:20px 0}.summary span{font-size:1.7rem}.notice{font-size:.76rem;color:#69636e;line-height:1.6}.error{background:#fff1e9;border:1px solid #f4c9b4;padding:16px;border-radius:9px}.link-btn{border:0;background:none;text-decoration:underline;color:#6a548b;padding:10px}.skip{margin-top:10px}button:focus-visible,a:focus-visible{outline:3px solid #b69a36;outline-offset:3px}@media(max-width:600px){header{padding:19px 18px}.brand{font-size:1.4rem}.byline{font-size:.63rem;max-width:175px}main{padding:10px 13px 40px}.panel{border-radius:13px;padding:25px 16px}.mood-row{gap:5px}.mood{min-height:104px;padding:9px 2px;border-radius:7px}.mood .emoji{font-size:1.4rem}.mood .name{font-size:.61rem}.art-img{max-height:320px;border-width:6px}footer{padding:20px;flex-direction:column}.actions button{flex:1}.lead{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Edition 01: welcoming editorial homepage and optional survey */
.mission{max-width:590px;margin:28px auto;text-align:left;border-top:1px solid #e9e2dc;border-bottom:1px solid #e9e2dc;padding:15px 0 19px}.mission h2{font-size:clamp(1.65rem,3vw,2.1rem);margin:8px 0 12px}.mission p{line-height:1.75;font-size:.94rem;color:#49454c;margin:12px 0}.quiet{color:#665e69;font-size:.87rem;line-height:1.6}.survey{max-width:790px}.survey>p{line-height:1.7}.survey-fields{margin:25px auto;text-align:left;max-width:630px}.survey fieldset{border:0;border-top:1px solid #e8e1d8;padding:20px 0 6px;margin:0}.survey legend{font-weight:700;font-size:.95rem;padding:0 0 4px}.choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:block;border:1px solid #ded5e7;background:white;border-radius:8px;padding:12px 14px;font-size:.83rem;line-height:1.35}.choices input:checked+span{background:#eee8f5;border-color:#79659e;box-shadow:0 0 0 1px #79659e}.choices input:focus-visible+span{outline:3px solid #b69a36;outline-offset:2px}

/* Version 4: mission precedes featured edition */
.welcome-title{font-size:clamp(2.6rem,6vw,4.3rem);margin:14px 0 10px}.intro .mission{margin:18px auto 24px;padding:10px 0 17px}.edition-intro{margin:0 auto 22px;padding:8px 0 0}.edition-title{font-size:clamp(2.4rem,6vw,4rem);margin:13px 0 8px}.edition-intro .lead{margin:8px auto 12px}.edition-intro .quiet{margin:8px auto}.intro .mission p{line-height:1.65;margin:11px 0}

/* Version 6: brand wordmark in LILAC Montserrat; edition is its own page */
.brand{font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:-.055em;font-size:1.55rem}.brand em{font-weight:700}.brand-dot{letter-spacing:0;margin-right:.12em}

/* Version 7: distinct homepage and evergreen experience gallery */
.site-nav{display:flex;gap:24px;align-items:center;margin-left:auto}.site-nav a{text-decoration:none;color:#51485c;font-size:.84rem;font-weight:600}.site-nav a:hover{text-decoration:underline;text-underline-offset:5px}header{max-width:1180px}.byline{margin-left:22px}.home-main{max-width:1160px;margin:0 auto;padding:56px 28px 48px;min-height:auto;display:block}.home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(30px,5vw,80px);align-items:center}.hero-copy{text-align:left}.hero-copy h1{font-size:clamp(2.5rem,5vw,4.4rem);margin:15px 0 18px;line-height:1.09}.accent-purple{color:#79659e}.hero-lead{font-size:1.3rem!important;color:#322c35!important;font-weight:600}.hero-copy p{font-size:.97rem;line-height:1.8;color:#4c4650;margin:0 0 14px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}.action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.hero-note{font-size:.78rem;color:#6b646e}.hero-preview{background:#fffdfa;border:1px solid #e8e1d8;border-radius:16px;box-shadow:0 12px 30px #322b3710;overflow:hidden}.preview-top{padding:24px 25px 16px;display:flex;align-items:center;justify-content:space-between}.mini-spark{color:#e5c400;font-size:1.4rem}.preview-art{margin:0 18px}.preview-art svg{display:block;width:100%;height:auto;border-radius:5px}.preview-info{padding:18px 25px 27px}.preview-info h2{font-size:2.35rem;margin:2px 0 7px}.preview-info p{font-size:.9rem;line-height:1.6;color:#665f69}.preview-link{color:#6d568d;font-weight:700;text-underline-offset:4px}.home-bottom{border-top:1px solid #e6ded8;margin-top:62px;padding:35px 0 10px;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.home-bottom h2{font-size:2.2rem;margin:12px 0}.home-bottom p{line-height:1.8;color:#544d56;font-size:.94rem}.gallery-main{max-width:1100px;min-height:auto;margin:0 auto;padding:56px 28px 65px;display:block}.gallery-heading{max-width:750px;margin:0 auto 38px;text-align:center}.gallery-heading h1{font-size:clamp(2.7rem,6vw,4.4rem);margin:14px 0}.gallery-heading p{line-height:1.75;color:#5d5660}.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,370px));justify-content:center;gap:22px}.experience-card{background:#fffdfa;border:1px solid #e8e1d8;border-radius:15px;overflow:hidden;box-shadow:0 9px 24px #322b370b}.experience-cover svg{display:block;width:100%;height:auto}.experience-card-body{padding:25px}.experience-card-body h2{font-size:2.2rem;margin:10px 0}.experience-card-body p{line-height:1.7;font-size:.9rem;color:#554e57}.experience-card-body .action-link{margin-top:10px;font-size:.88rem}.gallery-footnote{max-width:660px;margin:32px auto 0;text-align:center;color:#77707a;font-size:.78rem;line-height:1.6}
@media(max-width:850px){.home-hero{grid-template-columns:1fr}.hero-preview{max-width:530px;width:100%;margin:0 auto}.home-main{padding-top:35px}.byline{display:none}.site-nav{margin-left:auto}}@media(max-width:500px){.home-main,.gallery-main{padding:30px 18px 42px}.hero-copy h1{font-size:2.6rem}.hero-lead{font-size:1.13rem!important}.site-nav{gap:12px}.site-nav a{font-size:.75rem}.brand{font-size:1.25rem}.home-bottom{margin-top:40px}.preview-info h2{font-size:2rem}}

.theme-cover{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--theme),#f4eee6);min-height:190px}.theme-cover span{font-family:Georgia,serif;font-size:7rem;color:#fffdf9;opacity:.83}.experience-card h2{font-size:clamp(1.6rem,3vw,2.15rem)}.experience-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr))}@media(max-width:600px){.theme-cover{min-height:150px}}
