@font-face{font-family:Editorial;src:url('assets/editorial.otf')}@font-face{font-family:Editorial;src:url('assets/editorial-italic.otf');font-style:italic}@font-face{font-family:Body;src:url('assets/body.otf')}
:root{--cream:#f5f0e7;--paper:#fbf8f2;--ink:#22221e;--muted:#6a655d;--line:#d7cfc1;--sand:#e8dfd1;--rose:#e6d7d0;--serif:Editorial,Georgia,serif;--body:Body,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button:hover,a:hover{transition:all .2s}p{color:var(--muted);margin:0 0 1.4rem}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 1.25rem}h1{font-size:clamp(3.4rem,7vw,6.4rem);letter-spacing:-.035em}h2{font-size:clamp(2.5rem,4vw,4.2rem);letter-spacing:-.025em}h3{font-size:1.8rem}em{font-weight:400}img{max-width:100%;display:block}.eyebrow{font-size:.8rem;letter-spacing:.18em;font-weight:500;text-transform:uppercase;display:block;margin-bottom:1.2rem}.small{font-size:.8rem;color:var(--muted)}.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.35rem 5%;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--cream)}.wordmark{font-family:var(--serif);font-size:2rem;line-height:1}.desktop-nav{display:flex;gap:1.5rem;font-size:.9rem}.desktop-nav a{padding:.5rem 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}.nav-toggle{display:none;padding:.5rem 0}.skip{position:fixed;top:-80px;left:1rem;padding:.7rem;background:var(--ink);color:white;z-index:100}.skip:focus{top:1rem}.mobile-nav{border-bottom:1px solid var(--line);padding:1rem 5%;background:var(--paper)}.mobile-nav a{display:block;padding:.65rem 0}.container{width:min(1240px,90%);margin:auto}.section{padding:5.5rem 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-head h2{margin-bottom:0}.text-link{border-bottom:1px solid var(--ink);padding:.3rem 0;font-size:.9rem;white-space:nowrap}.text-link:hover{opacity:.6}.button-row{display:flex;flex-wrap:wrap;gap:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.8rem 1.7rem;border-radius:4px;border:1px solid var(--ink);font-size:.9rem;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 12px #24221d15}.btn.dark{background:var(--ink);color:var(--paper)}.btn.dark:hover{background:#45433c}.btn.light{border-color:var(--line);background:var(--paper)}.btn.outline:hover{background:var(--sand)}.hero{position:relative;padding:5rem 0 4rem;overflow:hidden;border-bottom:1px solid var(--line)}.hero-inner{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4rem}.hero h1{font-size:clamp(5rem,10.2vw,10rem);margin:0 0 1.4rem;line-height:.95;letter-spacing:-.055em}.hero-copy{position:relative;z-index:2}.hero .intro{font-family:var(--serif);font-size:2rem;color:var(--ink);line-height:1.25;max-width:450px}.hero .description{max-width:430px}.hero-art{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}.floral{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.hero-art .floral{width:110%;height:115%;top:-8%;left:-5%}.hero-seal{position:relative;z-index:1;border:1px solid #22221e66;border-radius:50%;width:180px;height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f5f0e7d9}.hero-seal .initial{font-family:var(--serif);font-style:italic;font-size:5rem;line-height:1}.hero-seal span:last-child{font-size:.65rem;letter-spacing:.22em}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:3rem;border-top:1px solid var(--line);padding-top:1.3rem;font-size:.8rem;color:var(--muted)}.hero-bottom span:first-child{letter-spacing:.18em}.dot{padding:0 .65rem}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.gallery-card{display:block;text-align:left;width:100%;padding:0}.placeholder{background:var(--sand);position:relative;overflow:hidden;border-radius:140px 140px 6px 6px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 8px 25px #4e3d2610;isolation:isolate}.placeholder::after{content:'';position:absolute;inset:14px;border:1px solid #6d5b4930;border-radius:inherit;pointer-events:none}.placeholder.variant-1{background:#e1d9cf}.placeholder.variant-2{background:#e5d5ce}.placeholder.variant-3{background:#dad9ce}.placeholder .monogram{font-family:var(--serif);font-size:5rem;font-style:italic;color:#5e514934;line-height:1}.placeholder .placeholder-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#625b52;margin-top:1rem}.placeholder .item-no{position:absolute;left:28px;top:30px;font-size:.75rem;color:#675d53;letter-spacing:.15em}.gallery-card .card-meta{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-top:1.4rem}.card-meta h3{font-size:1.55rem;margin-bottom:.3rem}.card-meta p{font-size:.9rem;margin-bottom:0}.gallery-card .placeholder{transition:transform .35s,box-shadow .35s}.gallery-card:hover .placeholder{transform:translateY(-6px);box-shadow:0 14px 30px #4e3d2620}.badge{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);padding:.3rem .55rem;border-radius:30px;white-space:nowrap}.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0;display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}.dream-preview{display:grid;grid-template-columns:.85fr 1fr;gap:7rem;align-items:center}.quote-panel{background:var(--sand);border-radius:200px 200px 6px 6px;min-height:440px;padding:5rem 3rem 3rem;display:flex;align-items:center;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.quote-panel .floral{opacity:.23}.quote-panel blockquote{font-family:var(--serif);font-size:2.7rem;line-height:1.1;text-align:center;position:relative;margin:0}.quote-panel .eyebrow{position:relative;margin:2rem 0 0}.preview-copy p{max-width:480px}.update-preview{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1fr 1.4fr;overflow:hidden}.update-image{min-height:300px;position:relative;display:grid;place-content:center;background:#e8e2d7;text-align:center}.update-image .monogram{font-family:var(--serif);font-size:5rem;color:#5e514944;font-style:italic}.update-image span:last-child{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.16em}.update-copy{padding:3rem}.menu-teaser{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;border-top:1px solid var(--line);padding:4rem 0}.menu-teaser h2{margin-bottom:0}.community-cta{background:var(--ink);color:var(--paper);padding:4rem;border-radius:6px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem}.community-cta p{color:#cdc6bc;max-width:540px;margin-bottom:0}.community-cta h2{font-size:3rem;margin-bottom:1rem}.community-cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper);flex-shrink:0}.page-intro{position:relative;padding:5rem 0 3.5rem;border-bottom:1px solid var(--line);overflow:hidden}.page-intro p{max-width:590px;margin-bottom:0}.page-intro .floral{left:auto;right:-3%;top:-10%;width:300px;height:140%;opacity:.2}.page-intro h1{position:relative}.page-intro .eyebrow{position:relative}.page-intro p{position:relative}.tabs{display:flex;gap:1rem;border-bottom:1px solid var(--line);margin:2rem 0 3rem}.tab{padding:1rem 1.25rem;font-size:.95rem;border-bottom:2px solid transparent}.tab[aria-current=page]{border-color:var(--ink)}.tab:hover{background:#e8dfd160}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 1.5rem;padding-bottom:5rem}.gallery-grid .video .placeholder{aspect-ratio:16/11;border-radius:8px}.play{font-size:1.1rem;width:56px;height:56px;border:1px solid #7b7166;border-radius:50%;display:grid;place-items:center;margin-bottom:1rem}.gallery-intro{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin-bottom:2rem}.gallery-intro h2{font-size:2.1rem;margin:0}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.story-layout .quote-panel{position:sticky;top:2rem}.story-copy h2{font-size:2.8rem;margin-top:2rem}.story-copy h2:first-child{margin-top:0}.story-copy p{font-size:1.05rem}.note{border-left:2px solid var(--ink);padding:1rem 1.5rem;background:var(--paper);font-size:.9rem;color:var(--muted);margin-top:2rem}.social-group{margin-bottom:3rem}.social-group h2{font-size:2.5rem}.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.social-card{display:flex;text-align:left;gap:1.5rem;padding:2rem;border:1px solid var(--line);background:var(--paper);border-radius:7px;align-items:center;transition:transform .2s,background .2s;width:100%}.social-card:hover{transform:translateY(-3px);background:#efe7db}.social-icon{border:1px solid var(--line);width:55px;height:55px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.5rem;flex-shrink:0}.social-card h3{margin:0 0 .4rem;font-size:1.6rem}.social-card p{font-size:.9rem;margin:0}.social-card .small{display:block;margin-top:.5rem}.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.update-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}.update-card .update-image{min-height:230px}.update-card .update-copy{padding:1.8rem}.update-card h2{font-size:2rem}.update-card .text-link{display:inline-block}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{background:var(--paper);padding:2rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:320px}.service-card .number{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--muted);margin-bottom:2rem}.service-card h2{font-size:2.2rem}.service-card p{font-size:.95rem}.price{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--line);font-family:var(--serif);font-size:1.5rem}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;padding:3rem 0 0}.notes-grid h3{font-size:1.7rem}.notes-grid p{font-size:.95rem}.coming-soon{text-align:center;position:relative;overflow:hidden;min-height:580px;display:grid;place-content:center;border:1px solid var(--line);border-radius:250px 250px 8px 8px;max-width:900px;margin:4rem auto;padding:4rem 2rem;background:var(--paper)}.coming-soon .floral{opacity:.3}.coming-soon>*:not(img){position:relative}.coming-soon h2{font-size:clamp(3.5rem,7vw,6rem)}.coming-soon p{max-width:420px;margin:0 auto 2rem}.coming-soon .btn{justify-self:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-card{padding:3rem;background:var(--paper);border:1px solid var(--line);border-radius:8px}.contact-card h2{font-size:2.6rem}.contact-placeholder{font-family:var(--serif);font-size:1.3rem;border-top:1px solid var(--line);padding-top:1.5rem;overflow-wrap:anywhere}.contact-placeholder .small{display:block;font-family:var(--body);margin-top:.4rem}.welcome{position:relative;min-height:calc(100svh - 88px);display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 5%;overflow:hidden;border-bottom:1px solid var(--line)}.welcome .floral{width:42%;left:-10%;transform:rotate(-12deg);opacity:.7}.welcome .floral.right{left:auto;right:-10%;transform:rotate(12deg) scaleX(-1)}.welcome-copy{position:relative;z-index:1;max-width:750px}.welcome h1{font-size:clamp(5rem,12vw,10rem);line-height:1;margin:1.5rem 0}.welcome p{max-width:410px;margin:0 auto 2rem}.welcome .button-row{justify-content:center}.welcome-note{font-size:.8rem;letter-spacing:.05em;margin-top:2rem!important}.welcome .welcome-signature{font-family:var(--serif);font-size:1.8rem;font-style:italic;color:var(--ink);margin-top:3rem}.entry-mode .desktop-nav{visibility:hidden}.entry-mode .nav-toggle{visibility:hidden}.entry-mode footer{display:none}footer{padding:4rem 5% 1.4rem;border-top:1px solid var(--line);margin-top:1rem}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:3rem;padding-bottom:3rem}.footer-brand{font-family:var(--serif);font-size:3rem}.footer-top p{font-size:.9rem;margin-top:.75rem}.footer-top>div>a:not(.footer-brand),.footer-top button{display:block;padding:.25rem 0;font-size:.9rem;text-align:left}.footer-top button .small{display:inline-block;margin-left:.6rem}.footer-bottom{border-top:1px solid var(--line);padding-top:1.25rem;display:flex;justify-content:space-between;gap:1.5rem;font-size:.8rem;color:var(--muted)}.footer-bottom div{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-bottom button{padding:0;font-size:inherit}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:3rem;width:min(600px,calc(100% - 32px));max-height:85svh;box-shadow:0 20px 100px #201f1b30}dialog::backdrop{background:#22221e80;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:10px;font-size:2rem;width:44px;height:44px}.dialog-placeholder{border-radius:6px;aspect-ratio:4/3;margin-bottom:2rem}.dialog-placeholder .monogram{font-size:4rem}dialog h2{font-size:2.5rem;padding-right:1rem}dialog p:last-child{margin-bottom:0}.reveal{animation:appear .65s ease both}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-art{min-height:500px}.hero{padding:6rem 0}}@media(max-width:1100px){.desktop-nav{gap:1rem;font-size:.85rem}.header{gap:1rem}.hero-inner{gap:1.5rem}.dream-preview{gap:3rem}.community-cta{padding:3rem}.footer-top{gap:2rem}}@media(max-width:900px){.desktop-nav{display:none}.nav-toggle{display:flex;gap:.8rem}.hero h1{font-size:6.6rem}.hero-inner{grid-template-columns:1.2fr .8fr}.hero-art{min-height:350px}.hero-seal{width:140px;height:140px}.hero-seal .initial{font-size:4rem}.story-layout{gap:3rem}.social-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1}.updates-grid{grid-template-columns:1fr 1fr}.community-cta{flex-direction:column;align-items:start}.contact-card{padding:2rem}.footer-top{grid-template-columns:1.5fr 1fr}.footer-top>div:last-child{grid-column:2;grid-row:1}.footer-top>div:nth-child(2){display:none}}@media(max-width:600px){.header{padding:1.15rem 5%}.wordmark{font-size:1.85rem}.hero{padding:3rem 0 2rem}.hero-inner{display:block}.hero h1{font-size:clamp(4.7rem,18vw,7rem);margin-bottom:1.2rem}.hero .intro{font-size:1.8rem;max-width:80%}.hero-copy .description{max-width:95%;font-size:1rem}.hero-art{min-height:240px;max-width:290px;margin:2rem auto 0}.hero-art .floral{height:140%;top:-20%}.hero-seal{width:115px;height:115px}.hero-seal .initial{font-size:3rem}.hero-seal span:last-child{font-size:.55rem}.hero-bottom{margin-top:1.8rem;gap:1rem;font-size:.7rem}.hero-bottom span:last-child{display:none}.section{padding:3.5rem 0}.section-head{align-items:start;gap:1rem}.section-head h2{font-size:2.5rem}.section-head .text-link{font-size:.8rem;margin-top:1rem}.collection-grid{grid-template-columns:1fr 1fr;gap:1rem}.collection-grid .gallery-card:last-child{display:none}.placeholder{border-radius:100px 100px 5px 5px}.placeholder .monogram{font-size:3.5rem}.placeholder .placeholder-label{font-size:.65rem;letter-spacing:.08em}.placeholder .item-no{top:24px;left:24px;font-size:.65rem}.card-meta{display:block!important}.card-meta h3{font-size:1.4rem}.card-meta p{font-size:.8rem}.card-meta .badge{display:none}.band{gap:.7rem;padding:1.1rem 5%;font-size:.65rem}.dream-preview,.story-layout{grid-template-columns:1fr;gap:2.5rem}.quote-panel{min-height:340px;padding:4rem 2rem 2rem}.quote-panel blockquote{font-size:2.6rem}.update-preview{grid-template-columns:1fr}.update-image{min-height:220px}.update-copy{padding:2rem}.menu-teaser{grid-template-columns:1fr;gap:1.5rem;padding:3rem 0}.menu-teaser h2{font-size:2.6rem}.community-cta{padding:2rem}.community-cta h2{font-size:2.6rem}.page-intro{padding:3.5rem 0 2.5rem}.page-intro h1{font-size:3.5rem}.page-intro .floral{width:190px;opacity:.14}.tabs{gap:.5rem;margin:1rem 0 2rem}.tab{padding:.8rem .6rem;font-size:.9rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-bottom:3rem}.gallery-grid .placeholder-label{max-width:120px;text-align:center}.gallery-grid .video .placeholder{aspect-ratio:4/4}.play{width:40px;height:40px}.gallery-intro{align-items:start}.gallery-intro .small{max-width:100px;text-align:right}.gallery-intro h2{font-size:1.8rem}.story-layout .quote-panel{position:relative;top:0}.story-copy h2{font-size:2.3rem}.social-card{padding:1.5rem;gap:1rem}.social-card h3{font-size:1.5rem}.social-group{margin-bottom:2rem}.social-group h2{font-size:2.2rem}.updates-grid,.services-grid,.notes-grid,.contact-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.notes-grid{gap:1.5rem}.service-card{min-height:280px}.coming-soon{margin:3rem auto;min-height:470px;padding:3rem 1.5rem;border-radius:150px 150px 6px 6px}.contact-card h2{font-size:2.3rem}.welcome{min-height:calc(100svh - 75px);padding:4rem 5%}.welcome h1{font-size:clamp(4.7rem,18vw,7rem)}.welcome .floral{width:70%;left:-36%;opacity:.35}.welcome .floral.right{right:-36%}.welcome .eyebrow{font-size:.7rem}.footer-top{gap:1.5rem;grid-template-columns:1fr 1fr}.footer-brand{font-size:2.2rem}.footer-top .eyebrow{font-size:.7rem;letter-spacing:.08em}.footer-top button .small{display:block;margin:0}.footer-bottom{display:block}.footer-bottom div{margin-top:1rem;gap:1rem}.footer-bottom button{min-height:30px}footer{padding-top:3rem}.btn{padding:.75rem 1.1rem}.button-row .btn{font-size:.85rem}dialog{padding:2.3rem 1.5rem}dialog h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Portrait-led editorial layout */
.header{position:sticky;top:0;background:#f5f0e7f7;backdrop-filter:blur(12px)}.desktop-nav{gap:1.2rem}.desktop-nav a{white-space:nowrap}.mobile-nav{position:sticky;top:77px;z-index:9;max-height:calc(100svh - 77px);overflow-y:auto}.portrait-hero{min-height:690px;padding:5.5rem 0;display:flex;align-items:center;position:relative}.hero-portrait{position:absolute;top:0;right:0;bottom:0;width:62%;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 30%,#f5f0e7f0 40%,#f5f0e7ac 50%,#f5f0e725 63%,transparent 75%);pointer-events:none}.hero-content{position:relative;z-index:2}.hero-copy{max-width:620px}.portrait-hero h1{font-size:clamp(5rem,8.2vw,8.4rem);line-height:1.04;letter-spacing:-.055em}.hero-prefix{display:block;font-size:.33em;font-style:italic;letter-spacing:-.01em;margin-bottom:.5rem}.portrait-hero .description{max-width:400px}.portrait-hero .intro{font-size:2rem;margin-bottom:1.5rem}.intro-placeholder{display:block;font-size:.75rem;color:var(--muted);margin:-.5rem 0 1.8rem;letter-spacing:.04em}.hero-ribbon{background:var(--sand);border-top:0;font-size:.75rem}.gallery-photo{height:100%;width:100%;object-fit:cover;object-position:center 42%;transition:transform .4s}.gallery-card:hover .gallery-photo{transform:scale(1.035)}.has-photo::after{border-color:#fbf8f240}.gallery-grid .placeholder{border-radius:8px}.dream-preview-wrap,.dream-page{background:#e9e0d2}.dream-preview-wrap .quote-panel{background:#e1d6c5}.about-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:center}.about-portrait img{width:100%;max-height:560px;object-fit:cover;object-position:center 42%;border-radius:220px 220px 6px 6px}.about-portrait .eyebrow{margin:1.2rem 0 0;text-align:center}.about-layout h2,.dream-story h2{font-size:clamp(3rem,6vw,5.5rem)}.about-layout .note,.dream-story .note{background:#f5f0e770}.dream-story{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;border-top:1px solid #b6a994}.standalone-discord{padding-top:0}.update-category>.eyebrow{min-height:40px;margin-bottom:.75rem}.update-card{height:calc(100% - 52px)}.update-copy .eyebrow{font-size:.7rem;letter-spacing:.12em}.merch-minimal{min-height:560px}.merch-minimal h1{font-size:clamp(3.5rem,8vw,7rem);margin:0}.merch-minimal .floral{opacity:.25}dialog.photo-dialog{width:min(1100px,calc(100% - 24px));padding:1.5rem;max-height:94svh}.fullsize-photo{display:block;width:auto;max-width:100%;max-height:70svh;object-fit:contain;margin:0 auto 1.2rem}.photo-dialog h2{font-size:1.8rem;margin:.5rem 0}.photo-dialog p{font-size:.9rem;margin-bottom:.5rem}.photo-dialog .dialog-close{background:var(--paper);border-radius:50%;right:12px;top:12px;box-shadow:0 2px 15px #0002}.collection-grid .gallery-card:last-child{display:block}
@media(max-width:1200px){.desktop-nav{gap:.8rem;font-size:.82rem}.portrait-hero .hero-copy{max-width:540px}.portrait-hero h1{font-size:7rem}.portrait-hero{min-height:650px}.about-layout,.dream-story{gap:4rem}}
@media(max-width:1000px){.desktop-nav{display:none}.nav-toggle{display:flex;gap:.8rem}.portrait-hero h1{font-size:5.9rem}.hero-copy{max-width:470px}.portrait-hero .description{max-width:340px}.portrait-hero .intro{font-size:1.9rem}.hero-portrait{width:64%}.hero-fade{background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 27%,#f5f0e7e8 40%,#f5f0e778 57%,transparent 77%)}.about-layout,.dream-story{gap:3rem}.hero-ribbon span:last-child{display:none}}
@media(max-width:700px){.portrait-hero{display:flex;flex-direction:column-reverse;padding:0;min-height:0;align-items:stretch}.hero-portrait{position:relative;width:100%;height:440px;flex-shrink:0}.hero-portrait img{object-fit:cover;object-position:center 40%}.hero-fade{display:none}.hero-content{padding:2.5rem 0 2.7rem}.portrait-hero .hero-copy{max-width:none}.portrait-hero h1{font-size:clamp(4.5rem,16vw,6.2rem);margin-bottom:1.5rem}.hero-prefix{font-size:.35em}.portrait-hero .intro{font-size:1.8rem;max-width:100%}.portrait-hero .description{max-width:100%}.intro-placeholder{margin-bottom:1.5rem}.hero-ribbon{font-size:.65rem;padding:1rem 5%;gap:.65rem}.hero-ribbon span:nth-last-child(2){display:none}.about-layout,.dream-story{grid-template-columns:1fr;gap:2.5rem}.about-portrait{max-width:420px;margin:auto;width:100%}.about-portrait img{max-height:500px}.dream-story{padding-top:3rem}.about-layout h2,.dream-story h2{font-size:3.5rem}.dream-story h2{margin:0}.update-category>.eyebrow{min-height:0;margin-bottom:1rem}.update-card{height:auto}.gallery-grid .card-meta h3{font-size:1.3rem}.collection-grid .gallery-card:last-child{display:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merch-minimal{min-height:450px}}
@media(max-width:400px){.hero-portrait{height:380px}.portrait-hero h1{font-size:16vw}.gallery-grid .card-meta h3{font-size:1.2rem}.gallery-grid .placeholder-label{font-size:.6rem}}
/* A restrained botanical signature, using the original floral artwork. */
.portrait-hero .hero-botanical{inset:auto;left:-105px;bottom:-95px;width:285px;height:430px;object-fit:contain;opacity:.24;z-index:1;transform:rotate(-16deg)}
.page-intro>.floral{opacity:.32;right:0;max-width:24%;transform:rotate(9deg)}
.floral-divider{height:125px;width:min(640px,80%);margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;gap:2rem}
.floral-divider>span{height:1px;flex:1;background:var(--line)}
.floral-divider img{width:100px;height:125px;object-fit:cover;object-position:center 44%;mix-blend-mode:multiply;opacity:.7;transform:rotate(-12deg)}
.floral-menu{position:relative;isolation:isolate;overflow:hidden}
.floral-menu .menu-botanical{inset:auto;right:-80px;bottom:-100px;width:210px;height:350px;object-fit:contain;opacity:.22;transform:rotate(15deg);z-index:-1}
.dream-story{position:relative;isolation:isolate;overflow:hidden}
.dream-story>.dream-botanical{inset:auto;bottom:-50px;left:-75px;width:290px;height:390px;opacity:.18;transform:rotate(-15deg);z-index:-1}
footer{position:relative;isolation:isolate;overflow:hidden}
footer>.footer-botanical{inset:auto;right:-95px;bottom:-90px;width:280px;height:400px;object-fit:contain;opacity:.2;transform:rotate(20deg);z-index:-1}
@media(max-width:700px){.portrait-hero .hero-botanical{left:auto;right:-100px;bottom:440px;width:210px;height:300px;opacity:.16;transform:rotate(15deg)}.page-intro>.floral{max-width:32%;width:180px;opacity:.24}.floral-divider{height:110px;margin-bottom:1rem;gap:1.25rem}.floral-divider img{height:110px;width:85px}.floral-menu .menu-botanical{width:160px;right:-90px;opacity:.15}.dream-story>.dream-botanical{width:190px;height:290px;left:auto;right:-85px;bottom:-65px;opacity:.14}footer>.footer-botanical{width:220px;height:310px;right:-100px;opacity:.14}}
@media(max-width:400px){.portrait-hero .hero-botanical{bottom:380px}}
/* Floral hero: the rose artwork replaces the portrait. */
.floral-hero{background:var(--cream);min-height:670px;overflow:hidden}
.botanical-hero-art{position:absolute;right:5%;top:2rem;bottom:2rem;width:38%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:240px 240px 8px 8px;background:#efe7da;overflow:hidden}
.botanical-hero-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;opacity:.88}
.floral-hero .hero-copy{max-width:56%}
@media(max-width:1000px){.botanical-hero-art{right:3%;width:39%;top:3rem;bottom:3rem}.floral-hero .hero-copy{max-width:57%}.floral-hero{min-height:640px}}
@media(max-width:700px){.floral-hero{min-height:0;padding:0;display:flex;flex-direction:column-reverse}.floral-hero .hero-copy{max-width:none}.floral-hero .hero-content{padding-top:3rem;padding-bottom:2rem}.botanical-hero-art{position:relative;right:auto;top:auto;bottom:auto;width:80%;max-width:360px;height:370px;margin:0 auto 2.5rem;border-radius:180px 180px 6px 6px}.botanical-hero-art img{object-fit:contain;width:100%;height:100%}}

.card-meta p,.photo-dialog #dialog-content p { white-space: pre-line; }

.discord-story { white-space: pre-line; overflow-wrap: anywhere; }
.social-card h3,.social-card p { overflow-wrap: anywhere; }

.announcement-text { white-space: pre-line; overflow-wrap: anywhere; }
.update-image .announcement-photo { width:100%; height:100%; object-fit:cover; }
.announcement-photo { width:100%; border-radius:8px; margin-bottom:1rem; }
.text-only-update { grid-template-columns:1fr; }

.quote-panel.story-photo-panel { padding:0; overflow:hidden; display:block; aspect-ratio:6/5; min-height:0; }
.story-photo-panel img { width:100%; height:100%; object-fit:cover; object-position:center; }

[hidden] { display:none !important; }
.age-gate { min-height:100svh; display:grid; place-items:center; position:relative; overflow:hidden; padding:3rem 1.5rem; background:var(--cream); }
.age-card { width:min(660px,100%); position:relative; z-index:1; text-align:center; padding:3rem 2rem; }
.age-brand { display:block; font-family:var(--serif); font-size:2.5rem; margin-bottom:2rem; }
.age-badge { display:inline-flex; width:54px; height:54px; align-items:center; justify-content:center; border:1px solid var(--ink); border-radius:50%; font-size:1rem; margin-bottom:1.5rem; }
.age-card h1 { font-size:clamp(2.8rem,6vw,4.5rem); line-height:1.1; }
.age-card p { max-width:440px; margin:0 auto 2rem; font-size:1rem; }
.age-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.age-actions .btn { min-height:52px; }
.age-floral { position:absolute; width:clamp(260px,36vw,600px); height:85%; object-fit:contain; opacity:.3; mix-blend-mode:multiply; pointer-events:none; }
.age-floral-left { left:-10%; bottom:-10%; transform:rotate(-15deg); }
.age-floral-right { right:-10%; top:-10%; transform:rotate(165deg); }
@media(max-width:600px){.age-card{padding:2rem 0}.age-actions{flex-direction:column;align-items:stretch}.age-floral{opacity:.16;width:75%}.age-floral-left{left:-40%}.age-floral-right{right:-40%}}

.announcements-grid .update-card { height:auto; }
