/* Shared layout for maternity and baby pages */
.crumbs{font-size:14px;color:var(--muted);padding-top:18px}
.crumbs a{border-bottom:1px solid var(--rose2)}

/* hero: triptych of three styles */
.m-hero{padding:24px 0 72px}
.m-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.4vw,84px);line-height:1;color:var(--plum);letter-spacing:-.015em;max-width:15ch}
.m-hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:end}
.m-hero p{font-size:19px;color:var(--muted);margin:20px 0 28px;max-width:30em}
.m-hero .btns{display:flex;flex-wrap:wrap;gap:12px}
.m-hero .btn-ghost{color:var(--plum)}
.trip{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;align-items:end}
.trip img{width:100%;object-fit:cover;border-radius:120px 120px 12px 12px}
.trip img:nth-child(1),.trip img:nth-child(3){aspect-ratio:3/4.4}
.trip img:nth-child(2){aspect-ratio:3/4.9}
.facts{display:flex;gap:28px;margin-top:30px;flex-wrap:wrap}
.facts div{border-left:3px solid var(--turmeric);padding-left:12px}
.facts b{display:block;font-family:var(--serif);font-weight:400;font-size:28px;color:var(--plum);line-height:1.1}
.facts span{font-size:15px;color:var(--muted)}

/* builder */
.bld{background:var(--plum);color:#fff;padding:88px 0 96px}
.bld .lede{color:#e6cfdc}
.bgrid{display:grid;grid-template-columns:1.35fr .85fr;gap:36px;margin-top:40px;align-items:start}
.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.st{position:relative;background:var(--plum2);border-radius:16px;overflow:hidden;color:#fff;display:flex;flex-direction:column;transition:box-shadow .2s}
.st.on{box-shadow:0 0 0 3px var(--turmeric)}
.st-media{position:relative}
.st-pics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:3/3.6;background:var(--plum)}
.st-pics::-webkit-scrollbar{display:none}
.st-pics button{flex:0 0 100%;scroll-snap-align:start;border:0;padding:0;background:none;cursor:zoom-in}
.st-pics img{width:100%;height:100%;object-fit:cover}
.st .tick{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(30,17,24,.5);box-shadow:inset 0 0 0 2px #fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.st .tick svg{width:16px;height:16px;fill:none;stroke:var(--plum);stroke-width:3;opacity:0}
.st.on .tick{background:var(--turmeric);box-shadow:none}
.st.on .tick svg{opacity:1}
.st .badge{position:absolute;top:10px;left:10px;background:var(--turmeric);color:var(--plum);font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px}
.st .badge:empty{display:none}
.st-count{position:absolute;right:10px;bottom:10px;background:rgba(30,17,24,.6);color:#fff;font-size:12px;padding:2px 9px;border-radius:999px;pointer-events:none}
.st-arw{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(246,240,237,.85);color:var(--plum);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.st-prev{left:8px}.st-next{right:8px}
.st-media:hover .st-arw,.st-arw:focus-visible{opacity:1}
@media (hover:none){.st-arw{display:none}}
.st-body{padding:12px 14px 4px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.st h3{font-size:17px;font-weight:600;line-height:1.25}
.st p{font-size:14px;color:#d9bfcf;margin-top:2px}
.st-add{flex:none;border:0;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;background:var(--turmeric);color:var(--plum)}
.st.on .st-add{background:#fff}
.st-all{align-self:flex-start;background:none;border:0;color:#e6cfdc;font-size:14px;padding:6px 14px 14px;text-decoration:underline;text-underline-offset:3px}
.lb .lb-add{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis;font:600 16px var(--sans);background:var(--turmeric);color:var(--plum);border:0;border-radius:999px;padding:12px 26px;line-height:1.2;display:none}
.lb .lb-add.show{display:block}
.lb .lb-add[aria-pressed=true]{background:#fff}
@media (max-width:600px){.st-body{flex-direction:column;align-items:flex-start;gap:8px}.st-add{width:100%}}
.addh{font-family:var(--serif);font-weight:400;font-size:26px;margin:36px 0 6px}
.add{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:start;width:100%;text-align:left;border:0;background:transparent;color:#fff;padding:16px 2px;border-top:1px solid rgba(255,255,255,.14)}
.add:last-of-type{border-bottom:1px solid rgba(255,255,255,.14)}
.add .box{width:26px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 2px var(--turmeric);display:flex;align-items:center;justify-content:center;margin-top:2px}
.add .box svg{width:15px;height:15px;fill:none;stroke:var(--plum);stroke-width:3;opacity:0}
.add[aria-pressed=true] .box{background:var(--turmeric)}
.add[aria-pressed=true] .box svg{opacity:1}
.add h4{font-size:17px;font-weight:600}
.add p{font-size:14px;color:#d9bfcf}
.add strong{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--turmeric);white-space:nowrap}
.free{margin-top:16px;color:#e6cfdc;font-size:15px}
.free b{color:var(--turmeric);font-weight:600}
.bill{position:sticky;top:88px;background:var(--rose);color:var(--ink);border-radius:22px;padding:28px 26px}
.bill h3{font-family:var(--serif);font-weight:400;font-size:28px}
.bill ul{list-style:none;margin:14px 0;border-top:2px dashed var(--rose2)}
.bill li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:2px dashed var(--rose2);font-size:16px}
.bill li.none{color:var(--muted)}
.bill .tot{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 4px}
.bill .tot span{font-weight:600}
.bill .tot b{font-family:var(--serif);font-weight:400;font-size:40px;color:var(--plum);line-height:1}
.bill .imgs{font-size:15px;color:var(--muted);margin-bottom:18px}
.bill .btn{width:100%}
.bill small{display:block;font-size:14px;color:var(--muted);margin-top:12px;line-height:1.5}

/* gallery */
.gal-sec{padding:92px 0}
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:26px 0 22px;padding-bottom:4px}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:0;background:var(--rose2);color:var(--plum);font-weight:600;font-size:16px;padding:10px 18px;border-radius:999px;white-space:nowrap}
.tab[aria-selected=true]{background:var(--plum);color:#fff}
.tabdesc{color:var(--muted);max-width:40em;margin-bottom:22px}
.gal{columns:4 200px;column-gap:12px}
.gal button{display:block;width:100%;border:0;padding:0;margin:0 0 12px;break-inside:avoid;border-radius:10px;overflow:hidden;background:var(--rose2);cursor:zoom-in}
.gal img{width:100%;height:auto}

/* studio */
.studio{padding:0 0 92px}
.studio .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.studio-ph{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.studio-ph img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}
.studio-ph img:first-child{border-radius:120px 120px 12px 12px}
.points{list-style:none;margin-top:22px}
.points li{padding:14px 0;border-top:1px solid var(--rose2)}
.points b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--plum);line-height:1.2}
.points span{color:var(--muted)}

/* know before */
.know{padding:0 0 92px}
.know .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.check{list-style:none;columns:2 260px;column-gap:28px}
.check li{break-inside:avoid;padding:12px 0 12px 34px;border-top:1px solid var(--rose2);position:relative}
.check li:before{content:"";position:absolute;left:0;top:14px;width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--leaf)}
.check li:after{content:"";position:absolute;left:6px;top:17px;width:6px;height:11px;border:solid var(--leaf);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}

.faq{padding:0 0 96px}
.faq details{border-top:1px solid var(--rose2);max-width:820px}
.faq details:last-child{border-bottom:1px solid var(--rose2)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-size:19px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:12px;font-size:30px;color:var(--plum);font-weight:400}
.faq details[open] summary:after{content:"−"}
.faq details p{padding:0 0 20px;color:var(--muted);max-width:40em}
.faq h2{margin-bottom:24px}

.final{background:var(--plum);color:#fff}
.final .wrap{padding-top:64px;padding-bottom:84px}
.final h2{font-size:clamp(38px,7vw,72px)!important;max-width:14ch}
.final p{color:#e6cfdc;margin:16px 0 28px;font-size:18px;max-width:32em}
.final .btns{display:flex;flex-wrap:wrap;gap:12px}
.final .btn-ghost{color:#fff}

.lb{position:fixed;inset:0;z-index:100;background:rgba(36,16,30,.97);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:80vh;border-radius:8px}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;padding:8px 16px;line-height:1}
.lb .x{top:8px;right:8px}.lb .p{left:4px;top:50%;transform:translateY(-50%)}.lb .n{right:4px;top:50%;transform:translateY(-50%)}
.lb .c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#e6cfdc;font-size:15px}

@media (max-width:1000px){.bgrid{grid-template-columns:1fr}.bill{position:static}}
@media (max-width:900px){
  .m-hero-grid,.studio .wrap,.know .wrap{grid-template-columns:1fr;gap:28px}
  .trip{order:-1}
}
@media (max-width:600px){
  .styles{grid-template-columns:1fr 1fr;gap:10px}
  .st h3{font-size:15px}.st p{font-size:13px}
  .m-hero .btn{flex:1 1 100%}
  .gal{columns:2;column-gap:8px}.gal button{margin-bottom:8px}
  .lb .p,.lb .n{display:none}
}
.costumes{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.costumes span{background:#fff;border-radius:999px;padding:6px 14px;font-size:15px;color:var(--plum)}

/* gallery view: one tile per style/theme, opens the full-screen viewer */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px 16px;margin-top:34px}
.tile{display:flex;flex-direction:column;align-self:start;border:0;padding:0;background:none;text-align:left;color:inherit;cursor:pointer}
.tile-ph{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--rose2)}
.tile-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile:hover .tile-ph img{transform:scale(1.04)}
.tile-n{position:absolute;right:10px;bottom:10px;background:rgba(30,17,24,.62);color:#fff;font-size:12px;padding:3px 10px;border-radius:999px}
.tile h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.15;color:var(--plum);margin-top:10px}
.tile p{font-size:14px;color:var(--muted);margin-top:2px;line-height:1.45}
@media (max-width:600px){.tiles{grid-template-columns:1fr 1fr;gap:18px 10px}.tile h3{font-size:19px}.tile p{display:none}}
