.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:0;transform:scale(1.015);transition:opacity 1s ease,transform 6.5s ease}
.hero-slide:first-child{object-position:center}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-carousel-controls{position:absolute;left:clamp(1.25rem,8vw,9rem);bottom:1.5rem;display:flex;align-items:center;gap:.8rem;color:white;z-index:3}
.hero-carousel-controls button{width:38px;height:38px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(17,28,52,.4);color:white;font-size:1.6rem;line-height:1}
.hero-carousel-controls button:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.hero-carousel-controls p{margin:0;min-width:250px;text-align:center;font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;text-shadow:0 2px 8px rgba(0,0,0,.5)}
@media(max-width:720px){.hero-slide{object-position:center 30%}.hero-slide:first-child{object-position:61% center}.hero-carousel-controls{bottom:.7rem;left:1.25rem;right:1.25rem;justify-content:center}.hero-carousel-controls p{min-width:0;flex:1;max-width:240px}}
.official-logo{display:block;width:76px;height:76px;object-fit:contain}.footer-logo{width:190px;height:190px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.32))}
.header-wordmark{display:block;width:190px;height:70px;object-fit:contain}
@media(max-width:720px){.official-logo{width:62px;height:62px}.footer-logo{width:150px;height:150px}}
@media(max-width:720px){.header-wordmark{width:138px;height:54px}}

/* Keep every bride and full gown visible at all screen sizes. */
.hero{background:var(--navy)}
.hero-slides{display:grid;place-items:center;background:linear-gradient(135deg,#f7e8e8,#d9c4bf)}
.hero-slide{object-fit:contain;object-position:center}
.hero-slide:first-child{object-position:center}

@media(max-width:720px){
  .hero{height:760px;min-height:760px;background:var(--navy)}
  .hero-slides{height:310px;bottom:auto;background:#eadbd8}
  .hero-slide,.hero-slide:first-child{object-fit:contain;object-position:center}
  .hero-overlay{background:linear-gradient(180deg,rgba(17,28,52,0) 0,rgba(17,28,52,.08) 310px,var(--navy) 310px,var(--navy) 100%)}
  .hero-copy{top:auto;bottom:82px;left:1.25rem;right:1.25rem;transform:none}
  .hero-copy .eyebrow{margin-bottom:.55rem}
  .hero h1{font-size:3.15rem}
  .hero-copy>p:not(.eyebrow){font-size:1.05rem}
  .hero-actions{margin-top:1rem}
  .hero-carousel-controls{bottom:18px}
}

@media(min-width:721px) and (max-width:1100px){
  .hero{min-height:590px}
  .hero-slide{object-fit:contain;object-position:center}
}

/* Sisters in Service portrait */
.story-photo{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--blush);box-shadow:0 20px 50px rgba(17,28,52,.14)}
.story-photo::after{content:"";position:absolute;inset:14px;border:1px solid rgba(191,155,73,.65);pointer-events:none}
.story-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:720px){.story-photo{width:min(100%,430px);margin:0 auto}.story-photo::after{inset:10px}}

/* Boutique contact details */
.header-phone{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .25rem;background:transparent;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:#111;text-decoration:none;white-space:nowrap;box-shadow:none}
.header-phone:hover,.header-phone:focus-visible,.header-phone:active{background:transparent;color:var(--pink);transform:none}
.location-line{display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap;margin:1rem auto 1.4rem!important;font-size:.95rem}
.location-line a,footer a[href^="tel"],footer a[href*="google.com/maps"]{color:inherit;text-decoration:none}
.location-line a:hover,.location-line a:focus-visible,footer a[href^="tel"]:hover,footer a[href^="tel"]:focus-visible,footer a[href*="google.com/maps"]:hover,footer a[href*="google.com/maps"]:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.header-phone{min-height:38px;padding:.55rem .15rem;font-size:.69rem;letter-spacing:.02em}.header-actions{gap:.45rem}}
@media(max-width:520px){.header-phone{font-size:.64rem;padding:.5rem 0}.location-line{display:grid;gap:.35rem}.location-line span{display:none}}

/* Unified pink appointment actions */
.button.book-trigger,.appointment-list .book-trigger{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 8px 22px rgba(196,127,140,.2)}
.button.book-trigger:hover,.button.book-trigger:focus-visible,.appointment-list .book-trigger:hover,.appointment-list .book-trigger:focus-visible{background:#9e2e56;color:#fff;border-color:#9e2e56;transform:translateY(-1px)}
.appointment-list .book-trigger{padding-left:1rem;padding-right:1rem;border-bottom-color:rgba(255,255,255,.35)}
.appointment-list .book-trigger span,.appointment-list .book-trigger strong,.appointment-list .book-trigger b{color:#fff}
.appointment-list .book-trigger:hover{padding-left:1.2rem}

/* Social channels */
.social-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.social-links a{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.04em}
.social-links a span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--pink);border-radius:50%;color:var(--pink);font:700 1rem/1 Arial,sans-serif}
.social-links a:hover,.social-links a:focus-visible{color:var(--pink)}
.social-links a:hover span,.social-links a:focus-visible span{background:var(--pink);color:#fff}

/* Larger, easier-to-read footer columns */
footer>div>strong{display:block;margin-bottom:.8rem;font:700 1.35rem/1.2 'Cormorant Garamond',serif;letter-spacing:.04em}
footer>div>p,footer>div>a:not(.brand),footer .link-button{font-size:1rem;line-height:1.8}
footer>div:nth-of-type(3)>a{display:block;margin:.15rem 0}
footer>div:nth-of-type(2)>p,footer>div:nth-of-type(2)>p a{font-family:Montserrat,Arial,sans-serif;font-size:1rem;font-weight:400;letter-spacing:normal;line-height:1.8}
.join-list-link{display:inline-block;margin-top:.35rem;color:var(--pink);font-weight:700;text-decoration:none}
.join-list-link:hover,.join-list-link:focus-visible{text-decoration:underline;text-underline-offset:4px}

/* Live designer gown cards */
.designer-feature{width:100%;display:flex;align-items:center;gap:1.2rem;margin:-1rem 0 2rem;padding:1.1rem 1.35rem;border:1px solid rgba(200,155,83,.55);background:var(--navy);color:#fff;text-align:left}
.designer-feature span{color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.designer-feature strong{font:600 1.65rem 'Cormorant Garamond',serif}
.designer-feature strong{opacity:1;transition:opacity .25s ease}.designer-feature strong.changing{opacity:0}
.designer-feature b{margin-left:auto;color:#f4d9dc;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.designer-feature:hover,.designer-feature:focus-visible{background:#1b2945;transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,28,52,.16)}
@media(max-width:720px){.designer-feature{display:grid;gap:.2rem}.designer-feature b{margin-left:0}.designer-feature strong{font-size:1.4rem}}
.designer-heading{grid-column:1/-1;display:flex;align-items:end;gap:1rem;margin:1.7rem 0 .2rem;padding-bottom:.8rem;border-bottom:1px solid rgba(200,155,83,.55)}
.designer-heading:first-child{margin-top:0}
.designer-heading p{margin:0;color:var(--pink);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.designer-heading h3{margin:0;color:var(--navy);font:600 2.3rem/1 'Cormorant Garamond',serif}
.designer-heading span{margin-left:auto;color:#756c68;font-size:.76rem}
@media(max-width:720px){.designer-heading{align-items:start;display:grid;gap:.2rem}.designer-heading h3{font-size:2rem}.designer-heading span{margin-left:0}}
.product-card .product-visual:has(img,.photo-coming,video)::before{display:none}
.product-visual img,.product-visual video{display:block;width:100%;height:100%;object-fit:contain;background:#f8f1ef}
.product-visual .product-alt{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
.product-card:hover .product-alt,.product-card:focus-within .product-alt{opacity:1}
.photo-coming{color:var(--navy);font:600 1.35rem 'Cormorant Garamond',serif;text-align:center;padding:1rem}
.product-card.sold-out .product-visual img,.product-card.sold-out .product-visual video{filter:grayscale(.65);opacity:.72}
.product-card.sold-out .product-badge{background:var(--navy);color:#fff}
.product-meta{margin:.15rem 0 .5rem;color:#655f5a;font-size:.74rem;line-height:1.45}
.product-description{display:block;overflow:visible;margin:.45rem 0;color:#6b6460;font-size:.76rem;line-height:1.5}
.product-card{display:flex;flex-direction:column}.product-info{display:flex;flex:1;flex-direction:column}.product-info-row{margin-top:auto;padding-top:1rem}
.designer-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:-.6rem 0 2rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line)}
.designer-filters[hidden]{display:none}.designer-filters span{margin-right:.35rem;color:var(--navy);font-family:'Cormorant Garamond';font-size:1.15rem;font-weight:600}.designer-filters button{border:1px solid #d7c3c2;background:transparent;padding:.5rem .8rem;color:var(--navy);font-size:.75rem}.designer-filters button:hover,.designer-filters button.active{background:var(--pink);border-color:var(--pink);color:#fff}.empty-designer{grid-column:1/-1;text-align:center;padding:3rem 1rem;color:#6b6460}
.product-detail{display:inline-block;margin:.15rem 0 .8rem;color:var(--pink);font-size:.72rem;font-weight:700;text-decoration:none}
.product-detail:hover,.product-detail:focus-visible{text-decoration:underline;text-underline-offset:3px}
.price-stack{display:flex;align-items:baseline;gap:.5rem}.price-stack del{color:#8e817c;font-size:.74rem}.price-stack strong{color:#9e2e56}
.unavailable{color:#756c68;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.call-pricing{color:#9e2e56;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-decoration:none}
.call-pricing:hover,.call-pricing:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* Our Sister Bond family slideshow */
.sister-bond-carousel{position:relative;align-self:start;overflow:hidden;background:#f7efec;box-shadow:0 20px 50px rgba(17,28,52,.14)}
.sister-bond-slides{position:relative;aspect-ratio:var(--sister-photo-ratio,4/5);background:linear-gradient(145deg,#f8eeee,#eadad6);transition:aspect-ratio .45s ease}
.sister-bond-slide{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.sister-bond-slide.active{opacity:1;visibility:visible}
.sister-bond-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.sister-bond-slide figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sister-bond-controls{position:absolute;z-index:3;left:0;right:0;bottom:29px;display:flex;align-items:center;justify-content:center;gap:.8rem}
.sister-bond-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:rgba(17,28,52,.72);color:#fff;font:400 1.45rem/1 Arial,sans-serif;cursor:pointer}
.sister-bond-controls button:hover,.sister-bond-controls button:focus-visible{background:var(--pink);border-color:var(--pink)}
.sister-bond-dots{display:flex;align-items:center;gap:.42rem}
.sister-bond-dots button{width:9px;height:9px;border:1px solid #fff;background:rgba(17,28,52,.55)}
.sister-bond-dots button.active{background:var(--pink);border-color:#fff;transform:scale(1.25)}
.sister-bond-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;margin:0;padding:.38rem .85rem;background:rgba(17,28,52,.92);color:#fff!important;text-align:center;font-size:.75rem;font-weight:500;line-height:1.25;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.65);text-transform:uppercase}
@media(max-width:720px){.sister-bond-carousel{width:min(100%,430px);margin:0 auto}}
@media(prefers-reduced-motion:reduce){.sister-bond-slide,.sister-bond-slides{transition:none}}
.catalog-book-link{border:0;background:transparent;padding:0;color:var(--pink);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.catalog-book-link:hover,.catalog-book-link:focus-visible{color:#9e2e56}
.final-cta{padding:3.5rem 1rem}
.final-cta-wordmark{display:block;width:min(360px,82vw);height:auto;margin:0 auto 1rem;object-fit:contain}
.final-cta .final-cta-values{margin:0 0 1.4rem;font:600 clamp(1.35rem,2.4vw,2rem)/1.2 'Cormorant Garamond',serif;letter-spacing:.16em;text-align:center}
.category-grid h3{margin:.2rem 0 .5rem}
.site-footer{display:block;padding:3.5rem clamp(1.25rem,6vw,6rem) 2rem;text-align:center}
.site-footer-brand{max-width:760px;margin:0 auto 2.4rem}
.site-footer-grid{display:grid;grid-template-columns:1.15fr .8fr 1.35fr;gap:clamp(2rem,5vw,5rem);max-width:1120px;margin:0 auto;text-align:left}
.site-footer-grid>div{min-width:0}
.site-footer-grid strong{display:block;margin-bottom:.65rem;font-size:1.4rem}
.site-footer-grid p,.site-footer-grid a{font-size:.9rem;line-height:1.7}
.site-footer-grid .button{margin-top:.9rem}
.site-footer-grid .footer-hours{margin-top:1rem}
.site-footer-grid .footer-hours span{display:block;font-size:.9rem;font-weight:700}
.site-footer-grid .footer-hours p{margin:.25rem 0 0}
.site-footer-grid .join-list-link{font-size:1.05rem}
.site-footer .copyright{max-width:1120px;margin:2.5rem auto 0!important;text-align:center}
@media(max-width:780px){.site-footer-grid{grid-template-columns:1fr 1fr}.site-footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:520px){.site-footer-grid{grid-template-columns:1fr;text-align:center}.site-footer-grid>div:last-child{grid-column:auto}.site-footer .social-links{justify-content:center}}

.dgl-home .appointment-list a.book-trigger{display:flex;align-items:center;justify-content:space-between;text-decoration:none}.dgl-home .catalog-book-link{display:inline}.dgl-home .shop-link{white-space:nowrap}.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:720px){.dgl-home .site-header{gap:.5rem;padding-inline:.7rem}.dgl-home .site-header .brand{flex:0 0 116px;width:116px}.dgl-home .site-header .header-wordmark{width:116px;height:50px}.dgl-home .site-header .menu-button{margin-left:auto;min-width:32px;width:32px;padding:0;font-size:1.35rem}.dgl-home .site-header .header-actions{flex:0 0 auto;gap:0}.dgl-home .site-header .shop-link{display:none}.dgl-home .site-header .header-phone{font-size:.65rem;letter-spacing:0}}

/* Keep the rotating gown name with its photo on phones. Let the message size naturally. */
@media(max-width:720px){
  .dgl-home .hero{display:flex;flex-direction:column;height:auto;min-height:0;overflow:hidden}
  .dgl-home .hero-slides{position:relative;inset:auto;flex:none;width:100%;height:310px}
  .dgl-home .hero-overlay{display:none}
  .dgl-home .hero-carousel-controls{position:relative;inset:auto;order:1;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;flex:none;width:100%;min-height:58px;margin:0;padding:.35rem .7rem;background:var(--navy);gap:.25rem}
  .dgl-home .hero-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#f3d9df;font-family:Arial,sans-serif;font-size:2rem;font-weight:300;line-height:1;box-shadow:none;touch-action:manipulation}
  .dgl-home .hero-carousel-controls button:hover,.dgl-home .hero-carousel-controls button:active{background:rgba(255,255,255,.1);color:#fff;border:0}
  .dgl-home .hero-carousel-controls button:focus-visible{outline:2px solid #f3d9df;outline-offset:-3px}
  .dgl-home .hero-carousel-controls p{min-width:0;max-width:none;width:100%;flex:none;font-size:.63rem;letter-spacing:.08em;line-height:1.35;text-wrap:balance}
  .dgl-home .hero-copy{position:relative;inset:auto;order:2;max-width:none;width:100%;padding:1rem 1.25rem 2rem;transform:none}
}
/* Grid's automatic row height followed tall source photos and clipped the gown. */
.dgl-home .product-card .product-visual:has(img,video) > img,
.dgl-home .product-card .product-visual:has(img,video) > video{
  position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;
}
.dgl-home .designer-feature[hidden]{display:none}
.dgl-home .catalog-note[hidden]{display:none}
.dgl-home .search-result-summary{margin:1rem 0 .7rem;color:var(--navy);font-size:.86rem;font-weight:600}
.dgl-home .search-result-summary[hidden]{display:none}
.dgl-home .search input{color:#111;-webkit-text-fill-color:#111;caret-color:#111}
.dgl-home .search input::placeholder{color:#666;opacity:1}
.dgl-home #shop{scroll-margin-top:88px}
@media(max-width:720px){.dgl-home #shop{scroll-margin-top:72px}.dgl-home .designer-filters,.dgl-home .accessory-filters{scroll-margin-top:82px}}
