:root{--ink:#382239;--cream:#fffdf7;--muted:#6e606e;--coral:#fa674f;--pink:#fbe2e8;--lavender:#eae0f4;--line:#ded6da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:10}.wordmark{text-decoration:none;font-size:29px;font-weight:800;letter-spacing:-1.7px;white-space:nowrap}.wordmark>span:first-child{color:#b1397f}.wordmark .dot{display:inline-block;color:#ef7347;font-size:23px;margin-left:8px}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:13px;font-weight:bold}.nav-cta{border-bottom:1px solid;padding-bottom:5px}#menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.hero-copy{padding:70px 8% 60px 10%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-2.7px;line-height:1.04}h1{font-size:clamp(48px,5.1vw,78px);margin-bottom:26px}h1 em{color:#ac3c77}h2{font-size:clamp(38px,3.8vw,55px);margin-bottom:24px}h2 em{font-weight:400}.intro{max-width:460px;color:var(--muted);font-size:17px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 23px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-size:13px;font-weight:bold;cursor:pointer;border-radius:3px}.button:hover{background:#64365f}.button span{font-size:22px;font-weight:400}.small{font-size:12px}.hero-note{margin:17px 0 0;color:var(--muted)}.brand-stage{position:relative;background:var(--lavender);display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;padding:85px 55px}.stage-label{position:absolute;top:36px;left:34px;font-size:10px;letter-spacing:2px}.logo-card{background:white;padding:40px 22px 28px;width:100%;max-width:440px;box-shadow:0 22px 40px #49303d19;transform:rotate(-5deg);text-align:center}.logo-card img{width:100%;height:auto;display:block}.card-line{border-top:1px solid #ded6da;margin:24px 12px}.logo-card p{font-family:Georgia,serif;font-size:23px;line-height:1.4;margin:0}.spark{position:absolute;color:#fa674f;z-index:2}.s1{font-size:100px;left:8px;top:50px;transform:rotate(10deg)}.s2{font-size:90px;right:20px;bottom:115px}.round-label{position:absolute;right:28px;top:82px;border-radius:50%;background:#f4d64e;width:104px;height:104px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);line-height:1.4;font-size:13px}.stage-bottom{position:absolute;bottom:26px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.ribbon{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:20px 4%;font-size:11px;letter-spacing:2px}.ribbon i{color:#f3cc54;font-style:normal;font-size:20px}.section{padding:90px 6%}.section-top{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:36px}.section-top>p{max-width:350px;font-size:15px;color:var(--muted);margin-bottom:24px}.experiences{display:grid;grid-template-columns:1fr 1fr;gap:28px}.experience{border:1px solid var(--line)}.experience-art{height:290px;background:var(--pink);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-frame{background:white;width:220px;padding:20px 18px 13px;transform:rotate(-8deg);box-shadow:8px 12px 0 #da94ad42}.photo-frame>span{height:125px;background:#b64579;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Georgia,serif;color:white;font-size:24px;line-height:1.1}.photo-frame b{position:absolute;right:10px;top:0;font-size:44px;color:#ffd45e}.photo-frame small{display:block;font-size:8px;letter-spacing:1.3px;text-align:center;padding-top:12px}.art-number{position:absolute;bottom:18px;left:22px;font-size:11px;letter-spacing:2px}.experience-text{padding:30px}.experience-text .eyebrow{font-size:9px;margin-bottom:12px}h3{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.2;margin-bottom:16px}.experience-text>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:480px}.experience-text a,.text-link{font-size:13px;font-weight:bold;text-decoration:none;border-bottom:1px solid;padding-bottom:5px}.spin-art{background:var(--lavender)}.spin-core{font-size:75px;font-family:Georgia,serif;z-index:1;text-align:center;line-height:1}.spin-core small{display:block;font:8px Arial,sans-serif;letter-spacing:2px;margin-top:15px}.orbit{position:absolute;width:340px;height:160px;border:1px solid #a086bd;border-radius:50%;transform:rotate(-24deg)}.o2{transform:rotate(24deg);border-color:#a086bd80}.illustration-note{font-size:11px;color:var(--muted);margin:17px 0 0}.details-band{padding:45px 6%;background:#f4eee5;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:38px;border-block:1px solid #e7dfd6}.details-band>div>span{font-size:9px;font-weight:bold;letter-spacing:2px}.details-band h2{font-size:33px;letter-spacing:-1px;margin:12px 0 0}.details-band h3{font-size:22px;margin-top:8px}.details-band p{font-size:13px;color:var(--muted);margin-bottom:0}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.story-art{position:relative;padding:50px 40px;background:#f9d4b9;overflow:hidden}.family-type{font-family:Georgia,serif;font-size:clamp(45px,4.9vw,70px);line-height:1.08;letter-spacing:-2px;position:relative;z-index:1}.family-type em{color:#ac3c77}.story-art>p:last-child{font-size:8px;letter-spacing:1.6px;margin:50px 0 0}.story-star{position:absolute;font-size:190px;right:-28px;bottom:30px;color:#fda86d}.story-copy>p:not(.eyebrow){font-size:15px;color:var(--muted)}.signature{margin:25px 0;line-height:1.7}.signature b{display:block;font-family:Georgia,serif;font-size:25px;color:var(--ink);margin-top:8px}.signature span{font-size:8px;letter-spacing:1.5px}.faq-section{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;border-top:1px solid var(--line);padding-top:70px}details{border-bottom:1px solid var(--line);padding:19px 0}details:first-child{padding-top:0}summary{font-size:15px;font-weight:bold;cursor:pointer;list-style:none;position:relative;padding-right:30px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;font-size:23px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);margin:14px 25px 0 0}.inquire{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding:75px 6%}.inquire-copy{position:relative}.inquire h2{font-size:clamp(40px,4.5vw,65px)}.inquire h2 em{color:#ffd0bd}.inquire-copy>p:not(.eyebrow){max-width:370px;font-size:15px;color:#e0cddd}.contact-email,.contact-phone{display:block;width:fit-content;text-decoration:none;overflow-wrap:anywhere}.contact-email{font-size:15px;border-bottom:1px solid #a18c9c;margin-top:35px}.contact-phone{font-size:24px;margin:10px 0}.inquire-copy .small{font-size:12px!important}.inquire-star{font-size:100px;color:#f8cb54;display:block;line-height:1;margin-top:35px}form{background:#fffdf7;padding:30px;color:var(--ink);border-radius:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{font-size:11px;font-weight:bold;display:block;margin-bottom:17px}input,select,textarea{display:block;width:100%;font:14px Arial,sans-serif;color:var(--ink);background:white;border:1px solid #ccc0cb;border-radius:2px;padding:12px 10px;margin-top:6px;min-width:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #ac3c77;outline-offset:2px}.form-note{font-size:11px;color:var(--muted);line-height:1.6}form .button{width:100%}#form-status{font-size:12px;margin:10px 0 0}#email-fallback{font-size:12px}#copy-button{background:var(--lavender);border:1px solid;padding:8px 14px;cursor:pointer;margin-top:10px}footer{display:flex;align-items:center;justify-content:space-between;padding:38px 6%;gap:24px}footer p{font-size:12px;margin:5px 0}footer small{font-size:10px;color:var(--muted)}footer>a{font-size:11px;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ec9b36;outline-offset:5px}a,button{transition:background .18s,color .18s}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding:55px 8%}.brand-stage{padding:80px 30px}.round-label{right:15px;top:65px;width:85px;height:85px;font-size:11px}.details-band{grid-template-columns:1fr 1fr}.story{gap:6%}.story-art{padding:35px 28px}.inquire{gap:5%}.contact-email{font-size:13px}.stage-bottom span:last-child{display:none}}@media(max-width:720px){header{padding:14px 6%}.wordmark{font-size:26px}#menu{display:flex;gap:12px;align-items:center;background:none;border:0;color:var(--ink);font-size:13px}nav{display:none;position:absolute;top:69px;left:0;right:0;padding:25px 6%;background:var(--cream);border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:start;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}h1{font-size:59px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro{font-size:15px}.brand-stage{min-height:430px;padding:70px 55px}.logo-card{max-width:350px;padding-top:25px}.logo-card p{font-size:20px}.s1{top:25px;font-size:80px}.s2{bottom:50px;font-size:65px}.round-label{right:18px;top:35px}.stage-label{top:22px;font-size:8px}.stage-bottom{font-size:7px;bottom:16px}.ribbon{padding:15px 5%;gap:10px;font-size:8px;letter-spacing:1px;flex-wrap:wrap}.ribbon span:last-of-type,.ribbon i:last-child{display:none}.section{padding:55px 7%}.section-top{display:block}.section-top>p{margin:0;max-width:none}.experiences{grid-template-columns:1fr;gap:25px}.experience-art{height:250px}.experience-text{padding:25px}.details-band{padding:35px 7%;gap:25px}.details-band h2{font-size:29px}.details-band h3{font-size:20px}.details-band p{font-size:12px}.story{grid-template-columns:1fr;gap:40px}.family-type{font-size:59px}.story-art{padding:35px}.story-art>p:last-child{font-size:7px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-section .text-link{font-size:12px}.inquire{padding:50px 7%;grid-template-columns:1fr;gap:30px}.inquire-star{display:none}.inquire h2{font-size:48px}.inquire .eyebrow{font-size:8px}.contact-email{font-size:14px}form{padding:23px}.form-grid{grid-template-columns:1fr}.button{font-size:12px}footer{align-items:start;flex-direction:column;padding:35px 7%;gap:16px}footer .wordmark{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.event-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.event-filters button{border:1px solid var(--line);border-radius:30px;padding:8px 17px;background:transparent;color:var(--ink);cursor:pointer}.event-filters button.active{background:var(--ink);color:white}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{margin:0;min-width:0}.gallery-card button{display:block;border:0;padding:0;width:100%;cursor:zoom-in;background:var(--lavender)}.gallery-card img{width:100%;height:290px;object-fit:cover;display:block}.gallery-card figcaption{padding:12px 0;font-size:13px}.gallery-card figcaption strong{display:block}.gallery-empty{padding:45px 25px;background:var(--lavender);border:1px solid var(--line);text-align:center;grid-column:1/-1}.gallery-empty h3{margin-bottom:10px}.gallery-owner{font-size:11px;margin:25px 0 0;color:var(--muted)}#photo-lightbox{border:0;background:var(--cream);padding:25px;max-width:90vw;max-height:90vh}#photo-lightbox::backdrop{background:#211121da}#lightbox-image{display:block;max-width:80vw;max-height:72vh;object-fit:contain}#close-lightbox{display:block;margin:0 0 12px auto;background:var(--ink);color:white;border:0;border-radius:50%;width:34px;height:34px;font-size:25px;cursor:pointer}#lightbox-caption{margin:12px 0 0;font-size:13px}.admin-main{max-width:1050px;margin:auto;padding:45px 6%}.admin-main h1{font-size:48px}.admin-upload{border:1px solid var(--line);margin:25px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.admin-card{border:1px solid var(--line);padding:15px}.admin-card img{width:100%;height:200px;object-fit:cover}.admin-card p{font-size:13px;overflow-wrap:anywhere}.admin-card button{padding:9px 12px;margin:5px 6px 0 0;cursor:pointer}.admin-badge{display:inline-block;padding:2px 8px;background:var(--lavender);font-size:11px}.admin-status{font-size:14px;color:var(--ink)}@media(max-width:720px){.photo-gallery,.admin-grid{grid-template-columns:1fr 1fr}.gallery-card img{height:200px}.admin-main h1{font-size:38px}nav{gap:17px}.gallery-card figcaption{font-size:12px}}@media(max-width:450px){.photo-gallery,.admin-grid{grid-template-columns:1fr}.gallery-card img{height:300px}}[hidden]{display:none!important}
