:root{
  --lav:#efe6f8; --lav-d:#ddd0ee; --plum:#3a2a50; --green:#2e4a1f; --green-d:#223815;
  --yellow:#ffffff; --rose:#8a7aa6; --pink:#6b4590; --cream:#fffdf8; --muted:#65577a;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
html{background:#6b4590}
body{min-height:100vh;display:flex;flex-direction:column;font-family:'DM Sans',system-ui,'Segoe UI',sans-serif;color:var(--plum);background:var(--lav);line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.1}
h1 em,h2 em{font-style:italic;color:var(--pink)}

.frame{flex:1;display:flex;flex-direction:column;max-width:none;margin:0;border:0;background:var(--lav);position:relative}



.site-header{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px max(36px,calc((100% - 1180px)/2));gap:20px;color:#3a2a50;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='90' viewBox='0 0 160 90'%3E%3Cg stroke-linecap='round' stroke-width='3' opacity='.55'%3E%3Cpath d='M12 14l5-2' stroke='%23cdb8ee'/%3E%3Cpath d='M46 60l4 3' stroke='%23cdb8ee'/%3E%3Cpath d='M78 22l1 5' stroke='%23e6c25a'/%3E%3Cpath d='M112 70l5-2' stroke='%23cdb8ee'/%3E%3Cpath d='M140 20l4 3' stroke='%23cdb8ee'/%3E%3Cpath d='M30 38l-3 4' stroke='%23e6c25a'/%3E%3Cpath d='M96 46l4-3' stroke='%23cdb8ee'/%3E%3Cpath d='M148 62l2 5' stroke='%23e6c25a'/%3E%3C/g%3E%3Ccircle cx='62' cy='12' r='2' fill='%23cdb8ee' opacity='.6'/%3E%3Ccircle cx='128' cy='46' r='2' fill='%23e6c25a' opacity='.7'/%3E%3Ccircle cx='20' cy='72' r='2' fill='%23cdb8ee' opacity='.7'/%3E%3Ccircle cx='86' cy='80' r='2' fill='%23cdb8ee' opacity='.6'/%3E%3C/svg%3E"),linear-gradient(180deg,#ffffff 0%,#f8f4ff 100%);box-shadow:0 1px 0 rgba(255,255,255,.9)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:15px;background:linear-gradient(180deg,#f8f4ff,#fff);-webkit-mask:radial-gradient(circle at 15px 0,#000 14px,#0000 15px) 0 0/30px 100%;mask:radial-gradient(circle at 15px 0,#000 14px,#0000 15px) 0 0/30px 100%;pointer-events:none}
.brand{font-family:'Playfair Display',Georgia,serif;font-size:2.295rem;font-weight:500;color:var(--pink);text-decoration:none;display:flex;align-items:center;gap:10px;line-height:1}
.brand .cup{width:62px;height:67px;flex:none}
.brand>span{text-align:center}
.brand .pidi{color:#111;font-weight:800}
.brand .sprinkles{display:none}

.brand i{font-style:italic;color:var(--pink)}
.brand .dot{width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-size:1rem;font-style:normal}
.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:.7rem;letter-spacing:.262em;text-transform:uppercase;color:var(--pink);font-weight:700;margin-top:4px;white-space:nowrap;margin-right:-.262em}
.site-nav{display:flex;gap:28px;font-size:.92rem}
.site-nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;color:#3a2a50}
.site-nav a:hover,.site-nav a[aria-current]{border-bottom-color:#6b4590;color:#1a1320}


.btn{display:inline-block;background:#6b4590;color:#ffffff;font-weight:700;font-size:.95rem;text-decoration:none;padding:15px 32px;border-radius:4px;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#54347a;color:#fff}
.link{color:var(--pink);font-weight:700;text-decoration:none}
.link:hover{text-decoration:underline}


.hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:stretch;padding:48px 36px 60px}
.hero>div:first-child{display:flex;flex-direction:column;justify-content:flex-end}
.eyebrow{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#6b4590;font-weight:700;margin-bottom:14px}
.hero h1{font-size:4.2rem;margin-bottom:18px}
.hero .sub{font-size:1.1rem;color:var(--muted);max-width:27em;margin-bottom:26px}
.hero .row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero .small{font-size:.88rem;color:var(--muted)}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;max-width:520px;align-self:flex-start;width:100%}
.thumbs img{width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:6px}
.arch{position:relative;justify-self:end;align-self:end;width:100%;max-width:420px;border:3px solid var(--pink);border-bottom:0;border-radius:240px 240px 0 0;padding:12px 12px 0}

.arch video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:226px 226px 0 0;background:#d9c8ee}
.arch img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:226px 226px 0 0}
.badge{position:absolute;left:-52px;top:60px;width:118px;height:118px;border-radius:50%;background:var(--cream);box-shadow:0 8px 20px rgba(58,42,80,.2);display:grid;place-items:center;z-index:2}
.badge svg{width:104px;height:104px}


.wave{height:22px;background:var(--yellow);-webkit-mask:radial-gradient(circle at 11px 0,#0000 10px,#000 11px) 0 0/22px 100%;mask:radial-gradient(circle at 11px 0,#0000 10px,#000 11px) 0 0/22px 100%}
.yellow{position:relative;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='90' viewBox='0 0 260 90'%3E%3Cg stroke-linecap='round' stroke-width='3.4'%3E%3Cpath d='M10 12l6-2' stroke='%23cdb8ee'/%3E%3Cpath d='M44 50l4 4' stroke='%23b99be6'/%3E%3Cpath d='M70 18l1 6' stroke='%23e6c25a'/%3E%3Cpath d='M104 66l6-2' stroke='%23cdb8ee'/%3E%3Cpath d='M132 24l5 3' stroke='%23b99be6'/%3E%3Cpath d='M160 70l-2 6' stroke='%23e6c25a'/%3E%3Cpath d='M188 14l6 2' stroke='%23ffffff'/%3E%3Cpath d='M214 54l5-3' stroke='%23cdb8ee'/%3E%3Cpath d='M238 22l2 6' stroke='%23b99be6'/%3E%3Cpath d='M26 78l6 1' stroke='%23ffffff'/%3E%3Cpath d='M90 40l5 -3' stroke='%23e6c25a'/%3E%3C/g%3E%3Ccircle cx='58' cy='10' r='2.4' fill='%23e6c25a'/%3E%3Ccircle cx='120' cy='46' r='2.4' fill='%23cdb8ee'/%3E%3Ccircle cx='176' cy='42' r='2.4' fill='%23b99be6'/%3E%3Ccircle cx='226' cy='84' r='2.4' fill='%23e6c25a'/%3E%3Ccircle cx='6' cy='56' r='2.4' fill='%23ffffff'/%3E%3C/svg%3E") repeat-x top left/260px 90px}
.yellow::before{content:"";position:absolute;left:0;right:0;top:-44px;height:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='90' viewBox='0 0 260 90'%3E%3Cg stroke-linecap='round' stroke-width='3.4'%3E%3Cpath d='M10 12l6-2' stroke='%23cdb8ee'/%3E%3Cpath d='M44 50l4 4' stroke='%23b99be6'/%3E%3Cpath d='M70 18l1 6' stroke='%23e6c25a'/%3E%3Cpath d='M104 66l6-2' stroke='%23cdb8ee'/%3E%3Cpath d='M132 24l5 3' stroke='%23b99be6'/%3E%3Cpath d='M160 70l-2 6' stroke='%23e6c25a'/%3E%3Cpath d='M188 14l6 2' stroke='%23ffffff'/%3E%3Cpath d='M214 54l5-3' stroke='%23cdb8ee'/%3E%3Cpath d='M238 22l2 6' stroke='%23b99be6'/%3E%3Cpath d='M26 78l6 1' stroke='%23ffffff'/%3E%3Cpath d='M90 40l5 -3' stroke='%23e6c25a'/%3E%3C/g%3E%3Ccircle cx='58' cy='10' r='2.4' fill='%23e6c25a'/%3E%3Ccircle cx='120' cy='46' r='2.4' fill='%23cdb8ee'/%3E%3Ccircle cx='176' cy='42' r='2.4' fill='%23b99be6'/%3E%3Ccircle cx='226' cy='84' r='2.4' fill='%23e6c25a'/%3E%3Ccircle cx='6' cy='56' r='2.4' fill='%23ffffff'/%3E%3C/svg%3E") repeat-x 0 0/260px 90px;pointer-events:none}
.yellow::after{content:"";position:absolute;left:0;right:0;bottom:-45px;height:46px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='46' viewBox='0 0 180 46'%3E%3Cpath d='M0 0H180V12C171 12 168 16 166 24C164 40 154 40 152 24C150 15 146 13 136 13C124 13 122 17 120 26C118 44 108 44 106 26C104 16 100 13 90 13C79 13 76 16 74 23C72 34 64 34 62 23C60 15 56 12 46 12C34 12 31 16 29 21C27 30 19 30 17 21C15 14 10 12 0 12Z' fill='%23ffffff'/%3E%3C/svg%3E") repeat-x top left/180px 46px;pointer-events:none;z-index:2}
.cta-wrap{position:relative}
.section{max-width:1100px;margin:0 auto;padding:56px 36px}
.section h2{font-size:2.6rem;margin-bottom:10px}
.lead{color:var(--muted);margin-bottom:26px;max-width:38em;font-size:1.1rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.card{text-decoration:none;display:block}
.card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.card h3{font-size:1.35rem;margin:12px 0 2px;color:var(--green)}
.card p{font-size:.9rem;color:var(--muted)}
.slider-head{display:flex;justify-content:space-between;align-items:center;margin:44px 0 14px}
.slider-head h3{font-size:1.6rem}
.arrows{display:flex;gap:10px}
.arrows button{width:44px;height:44px;border-radius:50%;border:1.5px solid #3a2a50;background:transparent;color:#3a2a50;display:grid;place-items:center;padding:0;line-height:1;cursor:pointer}
.arrows button:hover{background:#6b4590;color:#ffffff}
.slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--rose) transparent}
.slider figure{flex:0 0 280px;scroll-snap-align:start;margin:0}
.slider video{width:100%;height:340px;object-fit:cover;border-radius:6px;display:block;background:#2b2230}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.vids video{width:100%;border-radius:6px;background:#2b2230;max-height:520px}
.slider img{width:100%;height:340px;object-fit:cover;border-radius:6px}
.slider figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}
@media(max-width:860px){.slider figure{flex-basis:70%}.slider video{width:100%;height:340px;object-fit:cover;border-radius:6px;display:block;background:#2b2230}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.vids video{width:100%;border-radius:6px;background:#2b2230;max-height:520px}
.slider img{height:300px}}
.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta h2{font-size:2.3rem;margin-bottom:6px}
.cta p{max-width:34em;color:var(--muted)}

.promise{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.9rem;line-height:1.35;text-align:center;max-width:820px;margin:0 auto;color:var(--plum)}
.lead.oneline{max-width:none;white-space:nowrap}
@media(max-width:860px){.lead.oneline{white-space:normal}}
.page-title{max-width:1100px;margin:0 auto;padding:30px 36px 0}
.page-title h1{font-size:3.2rem}


.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.gallery button{border:0;padding:0;background:none;cursor:zoom-in;border-radius:6px;overflow:hidden}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .3s}
.gallery button:hover img{transform:scale(1.04)}
.cat{margin-bottom:44px}
.cat h2{font-size:2rem;border-bottom:1px solid var(--rose);padding-bottom:8px;margin-bottom:14px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.tabs a{text-decoration:none;font-size:.85rem;padding:9px 18px;border:1px solid var(--rose);border-radius:999px;color:var(--plum)}
.tabs a:hover{background:var(--yellow)}
.lightbox{position:fixed;inset:0;background:rgba(30,20,45,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-height:92vh;max-width:96vw;object-fit:contain;border-radius:6px}
.lightbox button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}


form{display:grid;gap:16px;max-width:620px}
label{display:grid;gap:6px;font-size:.9rem;font-weight:700}
input,select,textarea{font:inherit;font-weight:400;padding:13px 14px;border:1px solid #bfaed6;border-radius:6px;background:var(--cream);width:100%;color:var(--plum)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pink);border-color:var(--pink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute;left:-9999px}
.note{font-size:.85rem;color:var(--muted);font-weight:400}
.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:stretch}
.contact-photo{margin:0;display:flex;flex-direction:column}
.contact-photo .collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:520px}.contact-photo .collage img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:12px;display:block}
.contact-photo figcaption{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--pink);text-align:center;margin-top:10px;font-size:1.1rem}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:28px}.contact-photo .collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:520px}.contact-photo .collage img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:12px;display:block}}
.menu{display:grid;background:#fffdf8;border:1px solid #e0d3ef;border-radius:12px;padding:6px 26px}
.menu div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid #eadff5}.menu div:last-child{border-bottom:0}
.menu span:first-child{white-space:nowrap;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7a6a8c}.menu span:last-child{color:#2a1f3a;text-align:right;font-size:1.05rem}.menu .areas{align-items:flex-start}
.menu .areas span:last-child{line-height:1.9;font-size:1rem}
.menu .areas b{font-weight:600;color:var(--pink)}
.menu a{color:var(--pink);font-weight:600;text-decoration:none}.menu a:hover{text-decoration:underline}
.soon{background:var(--yellow);border-radius:8px;padding:14px 16px;color:var(--plum);font-size:.95rem;max-width:640px}
.hope{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.35rem;color:var(--pink)}
.bio{max-width:640px}.bio p{margin-bottom:16px}.bio .lead{font-size:1.25rem}

.menu-list{list-style:none;margin:20px 0 0;padding:0;columns:2;column-gap:56px}
.menu-list li{break-inside:avoid;padding:12px 0;border-bottom:1px solid #d9cdea;display:flex;gap:16px;align-items:center}
.menu-list .sl{flex:none;width:96px;height:auto}
.menu-list .it{min-width:0}
.menu-list strong{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.2rem;color:#2a1f3a}
.menu-list .tagline{font-size:.8rem;color:var(--pink);font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-left:6px}
.menu-list span{display:block;font-size:.93rem;color:var(--muted);margin-top:2px}
@media(max-width:760px){.menu-list{columns:1}}
.allergy-link{display:block;margin:18px 0 4px;padding:11px 18px;background:#6b4590;border-radius:10px;color:#fff;text-decoration:none;font-size:.98rem}
.allergy-link strong{color:#fff}
.allergy-link:hover{background:#54347a}
.diet.diet-top{max-width:none;margin:34px 0 0;background:#6b4590;border:0;border-radius:10px;padding:18px 24px}
.ftabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin-top:20px;padding-bottom:16px;border-bottom:1px solid #cdbde3}
.ftabs a{text-decoration:none;font-size:.95rem;padding:4px 0;color:#3a2a50;border-bottom:2px solid transparent}
.ftabs a:hover{border-bottom-color:var(--pink);color:#1a1320}



.tabpanel{margin-bottom:48px;scroll-margin-top:20px}
.tabpanel>h2,.tabpanel>.lead{text-align:center;margin-left:auto;margin-right:auto}
.tabpanel>h2{margin-top:30px}
.flavors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.flavor{position:relative;background:#fffdf8;border:1px solid #e2d6f0;border-radius:10px;padding:14px 14px 18px;text-align:center}
.flavor.star{grid-column:span 2;border-color:var(--pink);background:#fff7fa}
.slice svg{width:100%;max-width:210px;height:auto;margin:0 auto;display:block}
.flavor h3{font-size:1.25rem;margin:6px 0 4px}
.flavor p{font-size:.88rem;color:var(--muted)}
.diet.diet-top{max-width:none;margin:34px 0 0;background:#6b4590;border:0;border-radius:10px;padding:18px 24px}
.diet.diet-top h3{font-size:1.35rem;margin-bottom:4px;color:#fff}
.diet.diet-top p{font-size:1rem;color:#fff}
.diet.diet-top strong{color:#fff}
.diet{margin-top:22px;background:#fffdf8;border:1px solid #e2d6f0;border-radius:10px;padding:16px 20px;max-width:760px}
.diet h3{font-size:1.25rem;margin-bottom:4px;color:var(--pink)}
.diet p{font-size:.95rem;color:var(--muted)}
.badge-tag{position:absolute;top:10px;left:10px;background:#6b4590;color:#3a2a50;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
@media(max-width:860px){.menu-list{list-style:none;margin:20px 0 0;padding:0;columns:2;column-gap:56px}
.menu-list li{break-inside:avoid;padding:12px 0;border-bottom:1px solid #d9cdea;display:flex;gap:16px;align-items:center}
.menu-list .sl{flex:none;width:96px;height:auto}
.menu-list .it{min-width:0}
.menu-list strong{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.2rem;color:#2a1f3a}
.menu-list .tagline{font-size:.8rem;color:var(--pink);font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-left:6px}
.menu-list span{display:block;font-size:.93rem;color:var(--muted);margin-top:2px}
@media(max-width:760px){.menu-list{columns:1}}
.allergy-link{display:block;margin:18px 0 4px;padding:11px 18px;background:#6b4590;border-radius:10px;color:#fff;text-decoration:none;font-size:.98rem}
.allergy-link strong{color:#fff}
.allergy-link:hover{background:#54347a}
.diet.diet-top{max-width:none;margin:34px 0 0;background:#6b4590;border:0;border-radius:10px;padding:18px 24px}
.ftabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin-top:20px;padding-bottom:16px;border-bottom:1px solid #cdbde3}
.ftabs a{text-decoration:none;font-size:.95rem;padding:4px 0;color:#3a2a50;border-bottom:2px solid transparent}
.ftabs a:hover{border-bottom-color:var(--pink);color:#1a1320}



.tabpanel{margin-bottom:48px;scroll-margin-top:20px}
.tabpanel>h2,.tabpanel>.lead{text-align:center;margin-left:auto;margin-right:auto}
.tabpanel>h2{margin-top:30px}
.flavors{grid-template-columns:repeat(2,1fr)}.flavor.star{grid-column:span 2}}
main{flex:1}
.agree-note{background:#f3ecfa;border-left:4px solid var(--pink);border-radius:6px;padding:12px 14px;font-size:.95rem;line-height:1.5;color:#3a2a50;margin-top:6px}
.agree-note a{color:var(--pink);font-weight:700;text-decoration:underline}
.small-agree{background:none;border:0;padding:0;margin:14px 0 0;font-size:.85rem;color:var(--muted);max-width:30em}
.legal>*{max-width:760px}.legal h2{font-size:1.5rem;margin:28px 0 6px}.legal p{margin-bottom:10px}.legal ul{margin:0 0 12px 22px}.legal li{margin-bottom:6px}
.legal a{color:var(--pink);font-weight:600}
.brandnote{max-width:760px;margin:6px 0 22px}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.dream{display:block;text-align:center;text-decoration:none;color:inherit}
.dream-circle{width:100%;max-width:250px;margin:0 auto;border-radius:50%;box-shadow:0 18px 40px -16px rgba(58,42,80,.45);transition:transform .25s}
.dream:hover .dream-circle{transform:translateY(-4px) rotate(-1.5deg)}
.dream-circle svg{display:block;width:100%;height:auto}
.side{display:flex;flex-direction:column;gap:22px;align-items:center}
.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:380px}
.feature-pair figure{margin:0}
.feature-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;box-shadow:0 10px 24px -14px rgba(58,42,80,.5)}
.feature-pair figcaption{text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--pink);margin-top:6px;font-size:1.05rem}
.ideas{width:100%;max-width:380px;background:#fffdf8;border:1px solid #e2d6f0;border-radius:12px;padding:16px 18px}
.ideas h3{font-size:1.2rem;color:var(--pink);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{background:#f3ecfa;border:1px solid #e0d3ef;border-radius:999px;padding:5px 12px;font-size:.88rem;color:#3a2a50}
.mini-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.mini-steps li{display:flex;gap:12px;align-items:center;font-size:.93rem;color:#3a2a50}
.mini-steps b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:.9rem}
.dream-cap{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.45rem;color:#000;margin:0 auto 16px;line-height:1.25;max-width:14em}
.pidi-quote{margin:22px 0;padding-left:18px;border-left:3px solid var(--pink)}
.pidi-quote p{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--pink);margin-bottom:6px}
.pidi-quote .sig{font-size:1.15rem;font-style:normal;font-weight:600;margin:6px 0 0;color:#000}
.dream-cap em{color:var(--pink);font-style:italic;text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:2px;text-underline-offset:5px}
.dream-sub{display:inline-block;margin-top:6px;font-size:.9rem;color:var(--muted);border-bottom:2px solid var(--pink)}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:36px}.dream-circle{max-width:210px}}
.mag{max-width:1100px;margin:0 auto;padding:10px 36px 60px}
.mag-row{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;margin:34px 0}
.mag-row.flip{grid-template-columns:.85fr 1.15fr}
.mag-text .lead{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;color:#2a1f3a;line-height:1.3;margin-bottom:16px;max-width:none}
.mag-text h2{font-size:2.2rem;margin-bottom:14px}
.mag-text p{margin-bottom:14px;font-size:1.05rem;line-height:1.7;color:#2a1f3a}
.doodle{display:block;height:auto}
.doodle-top{width:min(100%,420px);margin:0 auto 14px}
.doodle-bottom{width:min(78%,300px);margin:6px auto 0}
.mag-photo{margin:0}
.mag-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 18px 34px -18px rgba(58,42,80,.55)}
.mag-photo figcaption{text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--pink);margin-top:10px;font-size:1.1rem}
.mag-quote{margin:52px 0;padding:44px 8%;background:#fff;border-top:3px solid #6b4590;border-bottom:3px solid #6b4590;text-align:center}
.mag-quote p{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.9rem;line-height:1.45;color:#5b3a8c;max-width:30em;margin:0 auto 18px}
.mag-quote .sig{font-weight:700;color:#000;font-size:1.1rem;letter-spacing:.02em}
.chips.big span{font-size:.95rem;padding:7px 16px}
.dreamrow{grid-template-columns:.9fr 1.1fr;margin-top:52px}
.steps3{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.steps3 li{display:flex;gap:16px;align-items:flex-start}
.steps3 b{flex:none;width:42px;height:42px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.1rem}
.steps3 strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;color:#2a1f3a}
.steps3 span{display:block;color:var(--muted);font-size:1rem;line-height:1.55;margin-top:2px}
.mag-close{text-align:center;margin-top:48px}
.mag-close .hope{font-size:1.7rem;margin-bottom:18px}
@media(max-width:860px){.mag{padding:10px 18px 40px}.mag-row,.mag-row.flip,.dreamrow{grid-template-columns:1fr;gap:26px}.mag-row.flip .doodle{display:block;height:auto}
.doodle-top{width:min(100%,420px);margin:0 auto 14px}
.doodle-bottom{width:min(78%,300px);margin:6px auto 0}
.mag-photo{order:-1}.mag-quote p{font-size:1.4rem}.mag-text .lead{font-size:1.4rem}}
footer{position:relative;margin-top:auto;background:#6b4590;color:#f3ecfa;text-align:center;padding:32px 20px;font-size:.92rem}
footer a{color:#ffffff;font-weight:600}
footer::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:#6b4590;-webkit-mask:radial-gradient(circle at 15px 14px,#000 14px,#0000 15px) 0 0/30px 100%;mask:radial-gradient(circle at 15px 14px,#000 14px,#0000 15px) 0 0/30px 100%;pointer-events:none}
.site-header .brand .pidi{color:#1a1320}
.site-header .brand i{color:#6b4590}
.site-header .brand small{color:#3a2a50}
.foot-brand{justify-content:center;margin:0 auto 14px;width:max-content;max-width:100%;font-size:2.1rem}
.foot-brand .pidi{color:#ffffff}
.foot-brand i{color:#dccbf3}
.foot-brand small{color:#ffffff}

.foot-brand .cup{width:56px;height:60px;background:#ffffff;border-radius:50%;padding:7px 5px 3px;box-sizing:border-box}

footer .copy{margin-top:10px;font-size:.8rem;color:#d6c6ee}
footer .tag{font-family:'Playfair Display',serif;font-style:italic;font-size:1.3rem;color:#efe6f8;margin-bottom:8px}

@media(max-width:860px){
  .site-header{flex-direction:column;gap:10px;padding:14px 16px}
  .site-nav{gap:16px;font-size:.85rem;flex-wrap:wrap;justify-content:center}
  .hero{grid-template-columns:1fr;padding:10px 18px 40px;gap:30px}
  .hero h1{font-size:2.8rem}
  .arch{position:relative;justify-self:end;align-self:end;width:100%;max-width:420px;border:3px solid var(--pink);border-bottom:0;border-radius:240px 240px 0 0;padding:12px 12px 0}
  .badge{left:-14px;top:30px;width:92px;height:92px}.badge svg{width:82px;height:82px}
  .thumbs img{width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:6px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .section{padding:40px 18px}.page-title{padding:20px 18px 0}.page-title h1{font-size:2.3rem}
  .two{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
}

.to-top{position:fixed;right:20px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;padding:0;text-decoration:none;box-shadow:0 8px 20px -6px rgba(58,42,80,.55);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:40}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:#54347a}
.nav-toggle{display:none;width:46px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.nav-toggle span{display:block;width:26px;height:3px;border-radius:2px;background:#3a2a50;transition:transform .25s,opacity .2s}
.site-header.open .nav-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.site-header.open .nav-toggle span:nth-child(2){opacity:0}
.site-header.open .nav-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media(max-width:860px){
  .site-header{flex-direction:row!important;justify-content:space-between;align-items:center;padding:10px 16px!important;gap:10px}
  .brand{font-size:1.75rem}
  .brand .cup{width:44px;height:48px}
  .brand small{font-size:.58rem;letter-spacing:.17em}
  .nav-toggle{display:flex}
  .site-nav{display:none!important;position:absolute;left:0;right:0;top:100%;margin-top:14px;flex-direction:column;gap:0;background:#fff;padding:6px 20px 14px;box-shadow:0 18px 30px -16px rgba(58,42,80,.4);z-index:30;border-radius:0 0 16px 16px}
  .site-header.open .site-nav{display:flex!important}
  .site-nav a{padding:14px 2px;font-size:1.02rem;border-bottom:1px solid #eee5f5;text-align:left}
  .site-nav a:last-child{border-bottom:0}
  .to-top{right:14px;bottom:16px}
}

.btn-right{text-align:right}
@media(max-width:860px){.btn-right{text-align:right}}


.contact-grid>*{min-width:0}
@media(max-width:860px){.menu{padding:4px 18px}.menu div{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 0}.menu span:first-child{white-space:normal}.menu span:last-child{text-align:left}.menu .areas span:last-child{text-align:left}}
