:root {--shop-green:#14573d;--shop-hover-surface:#e1eee3;--shop-on-dark:#a5dfb8;--mb-brand:#0fa6ab;--mb-forest:#006968;--mb-night:#111915;--mb-nav-height:64px}
html {scroll-padding-top:calc(var(--mb-nav-height) + 12px)}
body {background:#fff;color:#161a17}
/* Match the bridal WhatsApp button across all green navigation bars. */
body .house-header {position:sticky;top:0;z-index:40;background:#243f30;border:0;mix-blend-mode:normal;color:white}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body:not(.home) .house-header {
    background:#243f30;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
@media (prefers-reduced-transparency:reduce) {
  body:not(.home) .house-header {background:#243f30;-webkit-backdrop-filter:none;backdrop-filter:none}
}
.bridal-house {margin-top:calc(0px - var(--mb-nav-height))}
body .house-header .nav {max-width:none;height:var(--mb-nav-height);padding-inline:clamp(18px,3vw,56px)}
body .house-header .logo img {display:block;width:41px;height:43px;object-fit:contain}
body .house-header .logo {min-width:44px;min-height:48px}
body .house-header :is(a,a:visited,button),body.home .house-header .nav-end .nav-booking {font-size:12px;text-transform:uppercase;color:white;text-decoration:none!important}
body .house-header :is(a,button):is(:hover,:focus-visible),body.home .house-header .nav-end .nav-booking:is(:hover,:focus-visible) {color:var(--mb-brand)}
body .house-header .bag {color:white}
@media(min-width:801px) {
 body .house-header .main-nav {position:absolute;left:50%;transform:translateX(-50%);gap:27px}
 body .main-nav :is(.nav-bridal,.nav-contact) {display:none}
}
@media(max-width:800px) {
 body .house-header .nav-booking {display:none}
 body .house-header .main-nav {display:none}
}
.studio .studio-cover {position:relative;top:auto;height:auto;overflow:visible;background:#302016}
.cover-screen {position:relative;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.studio .studio-cover.scrubbing {height:215vh;height:215svh}
.scrubbing .cover-screen {position:sticky;top:0}
.gown-stage,.gown-stage picture,.gown-stage img,.gown-stage video {position:absolute;inset:0;display:block;width:100%;height:100%}
.gown-stage img,.gown-stage video {object-fit:cover;object-position:center}
.gown-stage .gown-last {opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.gown-stage .gown-last {opacity:1}}
.scrubbing .gown-last {opacity:var(--finish,0)}
.scrubbing.film-ready .gown-last {opacity:var(--finish,0)}
.scrubbing.film-ready video {opacity:1;transition:none}
@media(min-aspect-ratio:2.32){.gown-stage img,.gown-stage video {object-fit:contain}.gown-stage {background:radial-gradient(ellipse at center,#523725,#26170f)}}
.studio a.chapter-card:is(:hover,:focus-visible),.studio a.chapter-card:is(:hover,:focus-visible) span {color:var(--shop-green)}
.orbit-title nav {display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:12px}
.orbit-title nav a {font-size:14px;letter-spacing:0;min-height:30px;color:#fff}.orbit-title a:hover {color:var(--shop-on-dark)}
.orbit-title {z-index:9}.portal-door {z-index:10}.portal-screen:has(.portal-door[style*="opacity: 0;"]) .portal-door {pointer-events:none}
/* Each photograph sits at the same optical centre as it comes forward. */
.bridal-edit {background:radial-gradient(ellipse at 50% 42%,#1a221d,#101612 64%,#0c120f);color:white;padding:clamp(34px,5.8vw,94px) 0}
.bridal-track {
  --print-width:clamp(205px,min(29vw,46svh),450px);
  position:relative;display:flex;align-items:center;gap:12px;min-height:calc(var(--print-width) * 1.34 + 30px);
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;user-select:none;cursor:grab;
}
.bridal-track::-webkit-scrollbar {display:none}
.bridal-track img {display:block;flex:none;width:var(--print-width);height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;border-radius:clamp(6px,.65vw,11px)}
.bridal-track.is-reel {display:block;overflow:clip;touch-action:pan-y pinch-zoom;isolation:isolate}
.bridal-track.is-reel img {position:absolute;top:50%;left:50%;backface-visibility:hidden;box-shadow:0 12px 30px #06090745}
.bridal-track.dragging {cursor:grabbing}
.bridal-track:focus-visible,.bridal-action:focus-visible {outline:2px solid #9de6d6;outline-offset:-2px}
.rail-bar {display:flex;justify-content:center;padding:clamp(18px,2.4vw,38px) 18px 0}
.bridal-action {
  --thumb:42px;--slide-x:0px;
  display:inline-flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;
  min-height:52px;border-radius:100px;background:#f7f5ee;padding:10px 25px;
  font-size:14px;font-weight:500;letter-spacing:-.02em;text-decoration:none;
}
.studio a.bridal-action,.studio a.bridal-action:is(:visited,:hover,:focus-visible) {color:#142019}
.bridal-action.can-slide {width:min(294px,100%);padding-left:calc(var(--thumb) + 16px);padding-right:16px;user-select:none;touch-action:pan-y pinch-zoom}
.booking-thumb,.booking-fill {display:none}
.can-slide .booking-thumb {
  position:absolute;inset:5px auto 5px 5px;display:grid;place-items:center;width:var(--thumb);
  color:#f7f5ee;background:linear-gradient(125deg,var(--mb-forest),#13453b);border-radius:100px;
  transform:translateX(var(--slide-x));cursor:grab;
}
.booking-thumb i {width:12px;height:17px;background:radial-gradient(circle,currentColor 1.2px,transparent 1.5px) 0 0/6px 6px;opacity:.95}
.can-slide .booking-fill {display:block;position:absolute;inset:0;background:#dae6dd;z-index:-1;transform:translateX(calc(-100% + var(--slide-x) + 26px))}
.can-slide .booking-thumb,.can-slide .booking-fill {transition:transform .28s var(--menu-ease)}
.can-slide.sliding :is(.booking-thumb,.booking-fill) {transition:none;cursor:grabbing}
.booking-label {position:relative;z-index:0}
.booking-thumb {z-index:1}
.bridal-action:focus-visible {outline-offset:4px}
@media(hover:hover){.can-slide:not(.sliding):not(.committed):hover .booking-thumb {transform:translateX(3px)}}
@media(max-width:600px){.bridal-track {--print-width:clamp(160px,min(53vw,45svh),285px)}}
@media(prefers-reduced-motion:reduce){.can-slide .booking-thumb,.can-slide .booking-fill {transition:none}}
body .studio-end a,body .studio-end a:visited {color:white}body .studio-end nav a:is(:hover,:focus-visible) {color:var(--mb-brand)}.studio-end .studio-pill:hover {background:var(--shop-green)}
.studio-end .footer-socials {gap:4px;margin-top:14px}
.footer-socials a {display:grid;place-items:center;width:44px;height:44px}
.footer-socials svg {display:block;width:24px;height:24px;fill:currentColor}
.footer-socials a[data-service="tiktok"] svg {width:20px;height:20px}
.studio-end .footer-socials + small {margin-top:12px}
/* Carry the same photographic scale, black type and square-edged prints through the store. */
body:not(.home) main {color:#191b18}
body:not(.home) :is(.headrow h1,.inner-page>h1,.item-details h1,.story h1,.feature-copy h1) {font-family:'Helvetica Neue',Arial,sans-serif;font-weight:450;letter-spacing:-.025em;line-height:1.01}
body:not(.home) .inner-page > h1.collections-title,
#wardrobe .shop-heading h1 {font-family:Cardo,Georgia,serif;font-weight:400;letter-spacing:normal}
body:not(.home) :is(.feature-copy h1,.story h1) em {font:inherit}
body:not(.home) :is(.photo,.item-image,.book img,.story>img,.gallery img,.home-products img){border-radius:0;clip-path:none}
body:not(.home) .tools {padding-block:16px;border-block:1px solid #dddcd7}
body:not(.home) .bridal-opening {background:#111915;color:#fff}
body:not(.home) .bridal-opening :is(p,.eyebrow) {color:#e0e5df}
body:not(.home) .bridal-opening a {color:white}
body:not(.home) .inner-page .eyebrow,body:not(.home) .item-details .eyebrow {color:#435249}
body:not(.home) .house-facts {margin-top:clamp(42px,8vw,110px);border-top:1px solid var(--rule);padding-top:42px}
body:not(.home) .inner-page .book:hover span {color:var(--shop-green)}
.woocommerce-page #wardrobe .intro,.inner-page>:is(h1,.section-title){margin-bottom:clamp(16px,2vw,32px)}
body.woocommerce-cart,body.woocommerce-checkout {background:#faf9f5}
.wardrobe-cover {position:relative;display:grid;align-items:end;min-height:clamp(260px,48svh,585px);overflow:hidden;background:#232a26;color:white;margin-top:20px}
.wardrobe-cover>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.wardrobe-cover>div {position:relative;background:linear-gradient(transparent,#0a1515bb);padding:45px clamp(22px,4vw,72px) 28px}
.wardrobe-cover h1 {font-size:clamp(45px,6vw,100px);font-weight:450;line-height:1;letter-spacing:-.025em}
.wardrobe-cover .eyebrow {display:block;margin-bottom:10px;color:#fff}
.inner-page .story:not(.contact){background:var(--mb-night);color:#fff}
.inner-page .story:not(.contact)>div {padding:clamp(20px,4vw,72px)}
.inner-page .story:not(.contact) :is(p,.eyebrow) {color:#dce3de}
.inner-page .story:not(.contact) a {color:white}
.studio-end {color:white}
body.home .house-header .logo img {display:block;width:41px;height:43px}
body.home .house-header .nav {height:var(--mb-nav-height);padding-inline:clamp(18px,3vw,56px)}
body .house-header .nav :is(a,button):is(:hover,:focus-visible),
body.home .house-header .nav :is(a,button):is(:hover,:focus-visible) {color:var(--mb-brand);text-decoration:none}

body.home .house-header {position:absolute;inset:0 0 auto;background:transparent;color:white;mix-blend-mode:normal}
.house-header .bag {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.cover-lockup {pointer-events:none}
.cover-lockup h1 img {filter:brightness(0) invert(1) drop-shadow(0 1px 6px #24130870)}

.house-header .bag {gap:4px}
.bag-count {font-size:12px;font-variant-numeric:tabular-nums;line-height:1}

.studio-cover .cover-lockup {
  inset:50% 0 auto;
  transform:translateY(-50%);
  padding:0 16px;
}
.cover-lockup h1,.cover-lockup .intro-phrase {grid-area:1/1}
.cover-lockup h1 {line-height:0;opacity:0;visibility:hidden}
.cover-lockup h1 img {display:block;width:clamp(88px,10vw,148px)}
.cover-lockup .intro-phrase {display:grid;place-items:center;font-size:clamp(28px,3.6vw,64px);text-shadow:0 1px 12px #28140788}
.intro-phrase span {grid-area:1/1;opacity:0}
@media(prefers-reduced-motion:no-preference) {
  .cover-lockup .intro-phrase span {animation:welcome-line 1.8s ease-in-out both}
  .cover-lockup .intro-phrase span:first-child {animation-name:welcome-first}
  .cover-lockup .intro-phrase span:nth-child(2) {animation-delay:1.8s}
  .cover-lockup .intro-phrase span:nth-child(3) {animation-delay:3.6s}
  /* One opacity timeline avoids competing delayed animations in Safari. */
  .cover-lockup h1 {animation:welcome-mark 4.1s 5.4s linear both}
}
@keyframes welcome-first {0%,76% {opacity:1} 100% {opacity:0}}
@keyframes welcome-line {0%,100% {opacity:0} 20%,76% {opacity:1}}
@keyframes welcome-mark {
  0% {opacity:0;visibility:visible;animation-timing-function:ease-out}
  15.85366% {opacity:1}
  89.02439% {opacity:1;visibility:visible;animation-timing-function:ease-in}
  100% {opacity:0;visibility:hidden}
}
@keyframes welcome-mark-exit {from {opacity:1} to {opacity:0}}
@media(prefers-reduced-motion:reduce){
  .cover-lockup h1 {opacity:1;visibility:visible;animation:welcome-mark-exit 0s 3s forwards}
}
.cover-screen:before {content:'';position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at center,#24120750,transparent 62%);pointer-events:none}
.gown-stage {z-index:-1}
.cover-scroll-cue {display:none}
.scrubbing .cover-scroll-cue {display:flex;align-items:center;gap:10px;position:absolute;bottom:clamp(24px,4svh,46px);left:50%;transform:translateX(-50%);color:white;opacity:var(--cue,1);font-size:10px;text-transform:uppercase;letter-spacing:.19em}
.cover-scroll-cue:before {content:'';width:1px;height:22px;background:currentColor}
.rtw-feature {
  display:grid;place-items:center;isolation:isolate;overflow:hidden;color:white;background:#252e27;
  /* An explicit width prevents Chrome from shrinking the aspect-ratio box
     when max-height limits it on wide screens. */
  width:100%;min-width:0;aspect-ratio:8/5;max-height:100svh;
}
.rtw-feature picture,.rtw-feature img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%}
.rtw-feature:after {content:'';position:absolute;inset:0;background:linear-gradient(110deg,#151c181a,#111b1a59 50%,#141d1729);pointer-events:none}
.rtw-caption {position:relative;z-index:1;display:grid;justify-items:center;gap:16px;padding:16px;text-align:center}
.rtw-caption h2 {font-size:clamp(42px,6vw,96px);color:white;text-shadow:0 1px 16px #0d171c55}
.rtw-caption .rtw-shop {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 26px;border-radius:99px;background:#fcfaf4;color:#152019;font-size:14px;font-weight:500}
.rtw-caption .rtw-shop:is(:hover,:focus-visible),
.studio a.bridal-action:not(.can-slide):is(:hover,:focus-visible) {color:white;background:var(--shop-green)}
@media(max-aspect-ratio:4/5){
  .rtw-feature {aspect-ratio:3/4}
  .rtw-feature img {object-position:35% center}
}
.service-summary {display:none}
@media(max-width:800px) {
  .service-section {padding:18px clamp(24px,7.5vw,48px)}
  .service-summary {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;cursor:pointer;list-style:none}
  .service-summary::-webkit-details-marker {display:none}
  .service-summary h2 {font-size:clamp(27px,5vw,34px)}
  .service-summary:after {content:'+';font-size:20px;margin-right:5px}
  .service-disclosure[open]>.service-summary:after {content:'−'}
  .service-section .studio-faq {padding:4px 0 20px;gap:14px}
  .service-section .studio-faq h2 {display:none}
  .service-section .studio-faq p {margin-top:0}
}

/* The menu trigger floats over the page; glass is reserved for the open panel. */
:root {
  --menu-edge:clamp(16px,3vw,56px);
  --menu-top:max(10px,env(safe-area-inset-top));
  --menu-ease:cubic-bezier(.22,.74,.22,1);
}
html {scrollbar-gutter:stable}
html.house-home-page {scrollbar-gutter:auto;scrollbar-width:none}
html.house-home-page::-webkit-scrollbar {display:none}
html.glass-menu-open {overflow:hidden}
.glass-key,.glass-close {
  display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;
  border-radius:50%;color:white;cursor:pointer;
}
.glass-key svg,.glass-close svg {
  width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;
}
.glass-menu {
  background-color:#34332f;color:#fff;
  background-image:linear-gradient(135deg,#ffffff1d 0%,transparent 34%,transparent 72%,#ebf5f712 100%);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .glass-menu {
    background-color:rgb(25 27 24 / 56%);
    -webkit-backdrop-filter:blur(16px) saturate(135%);
    backdrop-filter:blur(16px) saturate(135%);
  }
}
.glass-key {
  transition:opacity .24s,transform .32s var(--menu-ease),color .2s;
}
@media(min-width:801px) {
  body:not(.home) .house-header .glass-key {display:none}
  body.home .nav-away .glass-key {
    position:fixed;top:var(--menu-top);right:var(--menu-edge);
    visibility:visible;opacity:1;pointer-events:auto;transform:none;
  }
  body .house-header .main-nav {display:flex}
  body.home .glass-key {
    position:fixed;top:var(--menu-top);right:var(--menu-edge);opacity:0;
    visibility:hidden;pointer-events:none;transform:translateY(-6px) scale(.92);
  }
}
.house-header .glass-key {background:transparent;border:0;border-radius:0;box-shadow:none}
.house-header .glass-key svg {filter:drop-shadow(0 1px 1.4px #10130fd9)}
.house-header .glass-key:focus-visible {outline:2px solid currentColor;outline-offset:-4px}
.glass-menu {
  border:0;box-shadow:0 8px 30px #100e0b25;
  box-sizing:border-box;position:fixed;inset:var(--menu-top) var(--menu-edge) auto auto;
  width:min(340px,calc(100vw - 2 * var(--menu-edge)));max-width:none;
  max-height:calc(100dvh - var(--menu-top) - 18px);overflow:auto;overscroll-behavior:contain;
  margin:0;padding:12px 24px 12px;border-radius:28px;
  font-family:'Helvetica Neue',Arial,sans-serif;
  transform-origin:calc(100% - 23px) 23px;
}
html.glass-menu-open .house-header .glass-key {opacity:0;pointer-events:none}
.glass-menu[open] {animation:glass-menu-in .34s var(--menu-ease) both}
.glass-menu[open].leaving {animation:glass-menu-out .18s ease-in both}
.glass-menu::backdrop {background:rgb(18 16 13 / 12%);animation:glass-veil-in .28s ease-out both}
.glass-menu.leaving::backdrop {animation:glass-veil-out .18s ease-in both}
@keyframes glass-menu-in {from{opacity:0;transform:translate(3px,-3px) scale(.91)} to{opacity:1;transform:none}}
@keyframes glass-menu-out {to{opacity:0;transform:translate(2px,-2px) scale(.95)}}
@keyframes glass-veil-in {from{opacity:0} to{opacity:1}}
@keyframes glass-veil-out {to{opacity:0}}
.glass-menu-foot,.glass-menu-foot nav {display:flex;align-items:center}
.glass-menu-foot {justify-content:space-between}
.glass-close {position:absolute;z-index:1;top:9px;right:10px;width:44px;height:44px;border:0;background:transparent}
.glass-menu a,.glass-menu a:visited,.glass-close {color:#fff;text-decoration:none}
.glass-menu :is(a,button):is(:hover,:focus-visible) {color:var(--mb-brand)}
.glass-menu :focus-visible {outline:2px solid #9de6d6;outline-offset:2px;border-radius:5px}
.glass-menu .glass-close:focus-visible {border-radius:50%}
.glass-chapters {display:grid;margin:5px 0 14px}
.glass-chapters a:first-child {margin-right:34px}
.glass-chapters a {
  display:flex;align-items:center;min-height:50px;font-size:clamp(25px,2.4vw,32px);
  line-height:1.14;font-weight:450;letter-spacing:-.025em;transition:color .16s,transform .2s;
}
@media(hover:hover){.glass-chapters a:hover {transform:translateX(3px)}}
.glass-menu-foot {gap:14px;border-top:1px solid #ffffff38;padding-top:8px;font-size:13px}
.glass-menu-foot nav {gap:20px}
.glass-menu-foot a {min-height:44px;display:inline-flex;align-items:center}
.glass-menu-foot .bag {gap:5px;justify-content:center;min-width:44px}
.glass-menu-foot .icon {width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.4}
@media(prefers-reduced-motion:reduce){
  .glass-menu[open],.glass-menu[open].leaving,.glass-menu::backdrop,.glass-menu.leaving::backdrop {animation:none}
  .glass-key,.glass-chapters a {transition:none}
}

@media(max-width:800px) {
  body.home .house-header {position:sticky;margin-bottom:calc(0px - var(--mb-nav-height))}
  body.home .house-header {pointer-events:none}
  .house-header :is(a,button) {pointer-events:auto}
  .house-header .nav-end {gap:4px}
  body.home .house-header .nav-end {filter:drop-shadow(0 1px 2px #101310)}
  .house-header .glass-key svg {filter:none}
}
body :is(button,input[type=button],input[type=submit],a.button,.studio-pill,.bag-shop,.frost-button,.primary,.quick,.rtw-shop,.bridal-action) {border:0!important}
body :is(button,input[type=button],input[type=submit],a.button,.studio-pill,.bag-shop,.frost-button,.primary,.quick,.rtw-shop,.bridal-action):focus-visible,
body .house-header .glass-key:focus-visible,body .glass-menu button:focus-visible {
  outline:0!important;box-shadow:inset 0 -3px currentColor!important
}
.studio-faq summary:after {border:0;background:#f2f3ef}
body .size-options button {background:#f1f2ed}
body .size-options button[aria-pressed=true] {background:var(--shop-green);color:white}
body .item-thumbs button[aria-pressed=true] {background:var(--shop-green);color:white}
@media(forced-colors:active){body :is(button,a,summary,input):focus-visible {outline:2px solid Highlight!important}}

/* Product photographs stay in the browser, so the selected view survives closing. */
.item-image {position:relative;display:block;cursor:zoom-in}
.photo-expand,.photo-viewer button {display:grid;place-items:center;border:0;border-radius:50%;background:#fafaf5;color:#1e3025}
.photo-expand {position:absolute;bottom:16px;right:16px;width:40px;height:40px;pointer-events:none}
.photo-expand svg,.photo-viewer svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.item-image:focus-visible {outline:3px solid var(--shop-green);outline-offset:2px}
html.viewing-photo {overflow:hidden}
.photo-viewer {box-sizing:border-box;position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;overflow:hidden;background:#101410;color:#fff}
.photo-viewer::backdrop {background:#101410}
.photo-viewer[open] {display:grid}
.viewer-stage {display:grid;place-items:center;min-width:0;min-height:0}
.viewer-frame {width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.viewer-frame img {display:block;width:100%;height:100%;object-fit:contain}
.viewer-frame.is-detail {max-width:92vh;max-width:92dvh}
.viewer-frame.is-detail img {object-fit:cover;transform:scale(1.9);transform-origin:50% 28%}
.photo-viewer button {width:44px;height:44px;padding:0;cursor:pointer}
.viewer-close {position:absolute;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
.viewer-nav {position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:2px;border-radius:25px;padding:2px;background:#fafaf5;color:#213127}
.viewer-nav span {min-width:44px;text-align:center;font:500 12px/1.2 Arial,sans-serif;letter-spacing:.08em;font-variant-numeric:tabular-nums}
@media(hover:hover){
  body :is(.size-options,.item-thumbs) button:not(:disabled,[aria-pressed=true]):hover,
  .photo-viewer button:hover {color:var(--shop-green);background:var(--shop-hover-surface)}
  .item-image:hover .photo-expand {background:var(--shop-green);color:white}
  body .item-related a:hover :is(span,small),body .item-details summary:hover {color:var(--shop-green)}
  body:not(.home) .bridal-opening a:hover,.inner-page .story:not(.contact) a:hover {color:var(--shop-on-dark)}
}
body :is(.size-options,.item-thumbs) button:not(:disabled,[aria-pressed=true]):focus-visible,
.photo-viewer button:focus-visible {color:var(--shop-green);background:var(--shop-hover-surface)}
.chapter-portrait img {height:auto;aspect-ratio:1;object-fit:cover;filter:brightness(1.09) saturate(1.13)}
.staged .chapter-portrait img {grid-column:2}

.woocommerce-cart .content .bag-empty a.bag-shop {
  background:#243f30; color:#fff; text-decoration:none; border-radius:99px;
  font-size:14px; padding:14px 24px; transition:background-color .2s;
}
.woocommerce-cart .content .bag-empty a.bag-shop:is(:hover,:focus-visible) {background:var(--shop-green);color:#fff}
.price-group {border-top:1px solid #cbcfc4}
.fitting-summary {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  min-height:48px; padding:12px 0; list-style:none; cursor:pointer; font-weight:550;
}
.fitting-summary::-webkit-details-marker {display:none}
.fitting-summary::after {
  content:''; width:12px; height:12px; flex:none; margin-inline:6px;
  color:var(--shop-green);
  background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat,
             linear-gradient(currentColor,currentColor) center/2px 12px no-repeat;
}
details[open]>.fitting-summary::after {background-size:12px 2px,0 0}
.fitting-summary:is(:hover,:focus-visible) {color:var(--shop-green)}
.fitting-summary:focus-visible {outline:2px solid currentColor;outline-offset:2px}
.price-group>.fitting-summary {font-size:15px;font-weight:500}
.house-prices dt {min-width:0;}
.house-prices dd {flex-shrink:0; font-variant-numeric:tabular-nums;}

.item-page .woocommerce-message {border-top-color:var(--shop-green)}
.item-page .woocommerce-message::before {color:var(--shop-green)}
.purchase .variations_button:not(.woocommerce-variation-add-to-cart-enabled) .buy-now {display:none}
:root {--shop-green-hover:#103e2e;--field-fill:#f1f3ee}
.item-details .purchase {container:purchase / inline-size}
.item-details .purchase .single_add_to_cart_button,
.woocommerce-cart .bag-summary .wc-proceed-to-checkout a.checkout-button,
.bag-summary .promo button,.pay-demo .pay-trigger {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  padding:12px 18px;border-radius:999px;background:var(--shop-green)!important;color:white;
  font-size:15px;font-weight:500;line-height:1.2;transition:background-color .18s;
}
.woocommerce-cart .bag-summary .wc-proceed-to-checkout a.checkout-button {display:flex}
body .item-details .purchase .single_add_to_cart_button:not(:disabled,.disabled):is(:hover,:focus-visible),
body.woocommerce-cart .bag-summary .wc-proceed-to-checkout a.checkout-button:is(:hover,:focus-visible),
body .bag-summary .promo button:not(:disabled):is(:hover,:focus-visible),
.pay-demo .pay-trigger:not([aria-disabled=true]):is(:hover,:focus-visible) {background:var(--shop-green-hover)!important;color:white}
.item-details .purchase .single_add_to_cart_button::before,.pay-demo .pay-trigger::before {
  content:"";display:block;width:18px;height:18px;flex:none;background:currentColor;
  mask:url('assets/shopping-bag.svg') center/contain no-repeat;
}
.item-details .purchase .buy-now::before,.pay-demo .pay-trigger::before {mask-image:url('assets/payment-card.svg')}
.purchase .quantity.product-stepper {display:inline-flex;align-items:center;flex:none;border-radius:999px;background:var(--field-fill)}
.purchase .product-stepper .quantity-step {
  min-width:34px;min-height:44px;padding:0;border-radius:22px;background:transparent;color:var(--shop-green);
  font-size:20px;font-weight:400;line-height:1;
}
.purchase .product-stepper .quantity-step:disabled {color:#798379;opacity:.55;cursor:default}
.purchase .product-stepper .quantity-step:not(:disabled):is(:hover,:focus-visible) {background:var(--shop-hover-surface)}
.purchase .quantity.product-stepper input.qty {appearance:textfield;background:transparent;padding:0;width:3ch;min-height:44px;font-variant-numeric:tabular-nums}
.product-stepper input::-webkit-inner-spin-button,.product-stepper input::-webkit-outer-spin-button {appearance:none;margin:0}
@container purchase (max-width:400px) {
  .purchase .woocommerce-variation-add-to-cart,.purchase form.cart:not(.variations_form) {flex-wrap:wrap;gap:8px}
  .purchase .single_add_to_cart_button {padding-inline:9px}
  .purchase :is(.variations_button.woocommerce-variation-add-to-cart-enabled,form.cart:not(.variations_form)):has(.product-stepper) {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .purchase .product-stepper {grid-column:1/-1;justify-self:start}
}
/* Filled fields remain easy to identify without a border or highlighted stroke. */
body :is(main,.select2-search) :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=url],input[type=password],textarea),
body main select:not(.select2-hidden-accessible),body .select2-container--default .select2-selection--single {
  border:0!important;background-color:#e4eadc!important;color:#202720;border-radius:6px;box-shadow:none;
}
body :is(.pay-fields,.pay-live,.promo,.fitting-fields) :is(input:not([type]),input[type=text],input[type=email],input[type=tel],textarea) {
  padding-inline:14px;min-height:48px;
}
body :is(main,.select2-search) :is(input,textarea,select):focus,
body .select2-selection--single:focus-visible {
  outline:0!important;background-color:#d4e0ca!important;box-shadow:none;
}
body :is(main,.select2-search) :is(input,textarea)::placeholder {color:#606b5d;opacity:1}
body main :is(input[type=checkbox],input[type=radio]) {accent-color:#14573d}
body main select:not(.select2-hidden-accessible) {appearance:none;background-image:none!important}
body .select2-container--default .select2-selection--single .select2-selection__arrow {display:none}
body main .woocommerce-invalid :is(input,textarea,select) {background-color:#f4e1dc!important}
body main input[type=number] {appearance:textfield}
body main input::-webkit-inner-spin-button,body main input::-webkit-outer-spin-button {appearance:none;margin:0}
body .purchase .quantity.product-stepper input.qty {border:0!important;background:transparent}
@media(forced-colors:active) {
  body :is(main, .select2-search) :is(input,textarea,select):focus-visible {outline:2px solid Highlight!important}
}
@media(min-width:801px) {
  .care #pricing {padding-top:0;border-top:0}
  .care aside a:first-child {padding-top:0}
}

/* Keep the full garment visible as customers move between studio and campaign views. */
.item-page .item-gallery { min-width: 0; }
.item-page .item-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.item-page .item-image #item-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.item-page .item-thumbs {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: .45rem;
  overflow-x: auto;
}
.item-page .item-thumbs button { flex: 0 0 auto; }
@media (min-width: 900px) {
  .item-page .item-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    align-items: start;
    gap: .7rem;
  }
  .item-page .item-thumbs {
    margin: 0;
    padding: 0 2px 0 0;
    height: 0;
    min-height: 100%;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
  }
}
.rtw-feature .campaign-film {
  display: block;
  opacity: 0;
  transition: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #171a17;
}

/* Keep the close icon clean; its old inset focus shadow formed a crescent. */
body .glass-menu button.glass-close:focus-visible {box-shadow:none!important;outline:1px solid currentColor!important;outline-offset:2px;border-radius:3px}
@media (hover:none) {body .glass-menu button.glass-close:focus-visible {outline:none!important}}

.rtw-feature .campaign-film.played {opacity:1}
.rtw-feature .campaign-still {object-position:50% 28%}
@media(max-aspect-ratio:4/5){.rtw-feature .campaign-still {object-position:center}}

.house-header .account-link {display:grid;place-items:center;width:36px;height:44px}
.house-header .account-link svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
@media(max-width:800px){.house-header .account-link {width:32px}}

/* Text controls keep gallery navigation clear without arrows. */
.photo-expand {width:auto;min-height:40px;padding:0 15px;border-radius:22px;font-size:12px;font-weight:500}
.photo-viewer .viewer-nav button {width:auto;min-width:76px;padding:0 15px;border-radius:22px;font-size:13px}
.studio-end .footer-policies {font-size:12px;gap:20px;margin-top:24px}
.delivery-note {padding:16px 18px;border:1px solid #bac6b4;border-radius:6px;background:#f1f5ed;color:#243f30;font-size:14px;line-height:1.6}
.delivery-note strong {display:block;margin-bottom:4px}
.policy-shell {max-width:1200px;margin:auto;padding:clamp(36px,5vw,70px) clamp(22px,5vw,60px) 90px;color:#202720}
body:not(.home) .policy-shell h1 {font:400 clamp(44px,5vw,68px)/1.1 Cardo,Georgia,serif;letter-spacing:-.025em;margin:0 0 40px}
.policy-layout {border-top:1px solid #d5ddce;padding-top:34px}
.policy-layout article {max-width:700px;font-size:15px;line-height:1.85}
.policy-layout article p {margin:0 0 18px}
.policy-layout article .policy-lede {font:400 27px/1.4 Cardo,Georgia,serif;margin-bottom:34px}
.policy-layout article h2 {font:400 29px/1.3 Cardo,Georgia,serif;letter-spacing:-.02em;margin:32px 0 14px}
.policy-layout article a {text-decoration:underline;text-underline-offset:4px;color:#14573d}
@media(max-width:800px){.policy-layout{padding-top:20px}}


/* Keep the bridal portrait clear of the fixed navigation; all film layers share one frame. */
.studio .cover-screen {--gown-headroom:var(--mb-nav-height);background:#381f13}
.studio .gown-stage {top:var(--gown-headroom);height:calc(100% - var(--gown-headroom))}

/* A warm brown from the bridal backdrop, with room for the full signature. */
body.home {--mb-nav-height:80px}
body.home .house-header {background:#381f13}

/* The homepage navigation belongs to the opening film, including its menu trigger. */
body.home .cover-screen > .house-header {position:absolute;inset:0 0 auto;margin:0;pointer-events:auto}
@media(min-width:801px) {
  body.home .house-header .glass-key {display:none;position:static}
}
@media(max-width:800px) {
  body.home .house-header .glass-key {position:static;opacity:1;visibility:visible;transform:none}
  body.home .house-header .nav-end {filter:none}
}

/* Match the homepage's normal viewport and solid top-edge colour sampling. */
html.house-inner-page,body:not(.home) {background-color:#243f30}
:where(body:not(.home) > main) {background-color:#fff}
@media(max-width:1024px){
 body:not(.home) .house-header {background:#243f30;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Product names need room between letters and wrapped lines. */
body:not(.home) .item-details h1 {letter-spacing:-.025em;line-height:1.14}
.item-details .item-colour {display:flex;gap:12px;align-items:baseline;margin:12px 0 20px;font-size:15px;line-height:1.5;color:#243f30}
.item-info-actions {display:flex;flex-wrap:wrap;gap:8px}
.item-info-toggle,.item-info-heading button {
  min-height:44px;padding:0 16px;border-radius:999px;background:var(--field-fill);color:#243f30;font-size:14px;
}
.item-info-toggle:is(:hover,:focus-visible),.item-info-heading button:is(:hover,:focus-visible) {background:var(--shop-hover-surface)}
html:has(.item-info-dialog[open]) {overflow:hidden}
.item-info-dialog {
  width:min(520px,calc(100% - 32px));max-height:85svh;margin:auto;padding:clamp(20px,5vw,32px);
  border:0;border-radius:18px;background:#faf9f5;color:#243f30;overscroll-behavior:contain;
}
.item-info-dialog::backdrop {background:#101b14a6}
.item-info-dialog[open] {display:flex;flex-direction:column;overflow:hidden}
.item-info-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.item-info-heading h2 {font:400 clamp(24px,5vw,32px)/1.15 Georgia,serif;letter-spacing:-.015em}
.item-info-body {overflow:auto;overscroll-behavior:contain;color:#435249;font-size:15px;line-height:1.55}
.item-info-body h3 {margin:16px 0 4px;color:#243f30;font-size:15px;font-weight:600}
.item-info-body p+p,.item-info-body li+li {margin-top:8px}
.item-info-body ul {margin:6px 0 0;padding-inline-start:20px}
.item-info-body ul+p {margin-top:12px}
.item-size-chart {width:100%;margin:16px 0;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.item-size-chart:first-child {margin-top:0}
.item-size-chart :is(th,td) {padding:9px 4px;border-bottom:1px solid #dadbd2;text-align:center}
.item-size-chart th {font-weight:600}
.item-size-chart tr>:first-child {text-align:left}
.item-size-chart small {display:block;font-size:.9em;font-weight:400}
@media(max-width:400px) {
  .item-size-chart {font-size:12px}
  .item-size-chart :is(th,td) {padding-inline:2px}
}
.item-colour>span {color:#536059;font-size:13px}

/* Solid, image-derived opening colour; the browser edge follows the visible section. */
html.house-home-page,body.home{background-color:var(--home-edge-colour,#381f13)}
body.home .house-header{background:var(--opening-colour,#381f13);backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transition:none}

/* Paint the phone's top inset with the same solid colour as the homepage bar. */
body.home::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--home-edge-colour,#381f13);z-index:100;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.home .house-header .nav{height:calc(var(--mb-nav-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(clamp(18px,3vw,56px),env(safe-area-inset-left,0px));padding-right:max(clamp(18px,3vw,56px),env(safe-area-inset-right,0px))}
body.home .studio .cover-screen{--gown-headroom:calc(var(--mb-nav-height) + env(safe-area-inset-top,0px))}
body.home .studio-end{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}

html.house-home-page{--opening-colour:#381f13;--home-edge-colour:#381f13}

/* Lock document-level sideways panning without disabling nested galleries or pinch zoom. */
html,body {max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
body>main,body>.house-header {min-width:0;max-width:100%}
.consultation-next {margin:20px 0 28px;padding:clamp(20px,3vw,32px);background:#edf0e7;border-radius:10px;color:#243f30}
.consultation-next h2 {font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;line-height:1.2;margin:0 0 12px}
.consultation-next p {max-width:60ch;line-height:1.6;margin:0 0 16px}
.consultation-next .button {display:inline-flex;justify-content:center;align-items:center;min-height:48px;background:#243f30!important;color:#fff!important;border-radius:28px;padding:12px 24px!important;text-decoration:none}
.woocommerce-order-pay #order_review {max-width:880px;margin:auto}
.woocommerce-order-pay #payment {background:#f7f5ef!important;padding:20px;border-radius:10px}
.woocommerce-order-pay #payment .payment_box {display:none!important}
.woocommerce-order-pay #place_order {background:#243f30!important;color:#fff!important;border-radius:28px;padding:14px 26px}
.woocommerce-order-pay table.shop_table {border-collapse:collapse;border:0}
.woocommerce-order-pay table.shop_table th,.woocommerce-order-pay table.shop_table td {padding:16px 10px;border-bottom:1px solid #d7dcd2}

/* A clear, quiet invitation over the opening film. The outer cue follows scrub progress. */
.scrubbing .cover-scroll-cue {
  z-index:3;border:0;background:none;padding:0;min-height:44px;cursor:pointer;
  bottom:max(22px,env(safe-area-inset-bottom));font:500 11px/1.2 'Helvetica Neue',Arial,sans-serif;
}
.cover-scroll-cue::before {display:none}
.cover-scroll-pulse {
  display:flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;
  color:#fff;background:none;border:0;border-radius:0;text-shadow:0 1px 6px #0008;
  letter-spacing:.16em;text-transform:uppercase;animation:bridal-scroll-breathe 4s ease-in-out infinite;
}
.cover-scroll-pulse::before {display:none}
.cover-scroll-pulse > span {font-size:16px;line-height:1;letter-spacing:0}
.cover-scroll-cue:focus-visible .cover-scroll-pulse {animation:none;opacity:1}
.cover-scroll-cue:focus-visible {outline:2px solid #fff;outline-offset:5px;border-radius:999px}
@keyframes bridal-scroll-breathe {0%,25%,100%{opacity:1}37.5%,75%{opacity:0}}
/* Two original bridal photographs, contained in one stable portrait frame. */
.staged .chapter-portrait {grid-template-columns:1fr min(41vw,52svh,440px) 1fr}
.chapter-portrait .bridal-portrait-media {position:relative;isolation:isolate;overflow:hidden;width:min(41vw,52svh,440px);aspect-ratio:4/5;background:#30271e;flex:none}
.staged .chapter-portrait .bridal-portrait-media {grid-column:2;width:100%}
.chapter-portrait .bridal-portrait-link {position:absolute;inset:0;display:block}
.chapter-portrait .bridal-portrait-link img {position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;filter:none;opacity:0;transition:opacity 900ms cubic-bezier(.4,0,.2,1)}
.chapter-portrait .bridal-portrait-link img.is-current {opacity:1}
.chapter-portrait .bridal-portrait-link:focus-visible {outline:3px solid #fff;outline-offset:-4px}
@media(max-width:660px) {
  .chapter-portrait .bridal-portrait-media,.staged .chapter-portrait .bridal-portrait-media {width:min(78vw,48svh)}
}
@media(prefers-reduced-motion:reduce) {
  .cover-scroll-pulse {animation:none;opacity:1}
  .chapter-portrait .bridal-portrait-link img {transition:none}
}

/* Clip the stage without creating a focus-scrollable inner container. */
@supports (overflow:clip) { .staged #categories .chapter-screen {overflow:clip} }

/* Bring the ready-to-wear labels closer to the model on wider screens. */
@media(min-width:661px) {
 .staged .chapter-card.chapter-3d {width:100%;max-width:1200px;margin-inline:auto;grid-template-columns:minmax(0,1fr) min(41vw,68svh,520px) minmax(0,1fr);gap:3.4vw;padding-inline:3vw}
 .staged .chapter-card.chapter-3d > .chapter-label {font-size:clamp(24px,3.7vw,56px)}
 .staged .chapter-3d > .chapter-label:first-child {transform:translateX(clamp(24px,5vw,70px))}
 .staged .chapter-3d > .chapter-label:last-child {transform:translateX(clamp(-70px,-5vw,-24px))}
}

/* Draw the FAQ symbol geometrically so font baselines cannot offset it. */
.studio-faq summary::after,.studio-faq details[open] summary::after {content:"";background-color:#f2f3ef;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:center;background-repeat:no-repeat;background-size:10px 1.5px,1.5px 10px}
.studio-faq details[open] summary::after {background-size:10px 1.5px,0 0}

/* Align order metadata with its product and keep wrapped values on the same baseline. */
.woocommerce .shop_table .wc-item-meta {list-style:none;padding:0;margin:12px 0 0;text-align:left}
.woocommerce .shop_table .wc-item-meta li {padding:0;margin:0 0 6px;line-height:1.5}
.woocommerce .shop_table .wc-item-meta .wc-item-meta-label {float:none;margin:0 5px 0 0}
.woocommerce .shop_table .wc-item-meta p {display:inline;margin:0;padding:0}
body:not(.home) main.content>h1 {line-height:1.15}

/* Category surfaces follow the existing scroll choreography. */
.staged #categories .chapter-screen {isolation:isolate;background:#fff}
.staged #categories .chapter-screen::before,.staged #categories .chapter-screen::after {content:'';position:absolute;inset:0;pointer-events:none}
.staged #categories .chapter-screen::before {z-index:-2;background:#fff url('assets/bridal-paisley.jpg') repeat center/620px;opacity:calc(var(--bridal-surface,0) * .42)}
.staged #categories .chapter-screen::after {z-index:-1;background:#243f30;opacity:var(--rtw-surface,0)}
#categories .chapter-3d,#categories .chapter-3d :is(.chapter-label,.dress-viewer,.dress-mobile-title,.dress-view-more,.dress-viewer-hint) {color:#faf8ef}
#categories .chapter-3d .dress-viewer-controls button {color:#faf8ef;background:transparent}
#categories .chapter-3d .dress-viewer-controls button[aria-pressed=true] {background:#f3f5ef;color:#243f30}
#categories .chapter-3d .dress-viewer-controls button:hover {background:#ffffff24;color:#fff}
#categories .chapter-3d a:hover {color:#d5e7ce}
#categories .chapter-3d .dress-stage:focus-visible,#categories .chapter-3d .dress-viewer-controls button:focus-visible {outline-color:#faf8ef}
@media(prefers-reduced-motion:reduce){
 #categories .chapter-portrait {background:linear-gradient(#ffffff99,#ffffff99),url('assets/bridal-paisley.jpg') repeat center/620px}
 #categories .chapter-3d {background:#243f30;padding-block:36px}
}

.home-pause-menu {position:fixed;z-index:45;top:calc(env(safe-area-inset-top,0px) + 16px);right:max(18px,env(safe-area-inset-right,0px));display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#243f30;color:#fff;box-shadow:0 2px 12px #0002;cursor:pointer;animation:pause-menu-in .18s ease-out}
.home-pause-menu[hidden] {display:none}
.home-pause-menu svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.home-pause-menu:focus-visible {outline:2px solid #fff;outline-offset:3px}
.glass-menu-icons {display:flex;align-items:center;gap:8px}
.glass-menu-icons .account-link {display:none}
@keyframes pause-menu-in {from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:800px){
 body .house-header .nav-end .account-link {display:none}
 .glass-menu-icons .account-link {display:grid;place-items:center;width:36px;min-height:44px}
 .glass-menu-icons .account-link svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
}
@media(prefers-reduced-motion:reduce){.home-pause-menu{animation:none}}

.staged #categories .chapter-card.chapter-3d {background:transparent}
@media(min-width:661px){#categories .chapter-3d>.chapter-label{white-space:nowrap}}

/* Arched bridal frames with botanical corners, kept outside the photo crop. */
#categories .chapter-portrait .bridal-portrait-media,.portrait-frame {position:relative;isolation:isolate;overflow:visible;border-radius:48% 48% 4px 4px;background:linear-gradient(135deg,#e6d9b9,#b99d64 48%,#eadfc6);box-shadow:0 2px 14px #34281616}
#categories .chapter-portrait .bridal-portrait-link {inset:8px;overflow:hidden;border-radius:inherit}
#categories .chapter-portrait .bridal-portrait-media::after,.portrait-frame::after {content:'';position:absolute;inset:-5% -8%;z-index:3;background:url('assets/bridal-floral-frame.png') center/100% 100% no-repeat;pointer-events:none}
.portrait-frame {padding:9px}
.portrait-frame img {border-radius:inherit}

/* Gold dust on the bridal green, with botanicals nestled against the arch. */
.staged #categories .chapter-screen::before {background:#243f30 url('assets/bridal-gold-dust.svg') center/cover no-repeat;opacity:var(--bridal-surface,0)}
#categories .chapter-portrait>span {color:#faf8ef}
#categories .chapter-portrait>span a:hover {color:#e8d6a8}
#categories .chapter-portrait .bridal-portrait-media::after,.portrait-frame::after {clip-path:inset(50% 0 0 0)}
#categories .chapter-portrait .bridal-portrait-media::before,.portrait-frame::before {content:'';position:absolute;inset:-5% -8%;z-index:3;background:url('assets/bridal-floral-frame.png') center/100% 100% no-repeat;clip-path:inset(0 0 50% 0);transform:translate(-10%,12%);pointer-events:none}
@media(prefers-reduced-motion:reduce){#categories .chapter-portrait{background:#243f30 url('assets/bridal-gold-dust.svg') center/cover no-repeat}}

#categories .chapter-portrait .bridal-portrait-media {background:transparent;box-shadow:none}
#categories .chapter-portrait .bridal-portrait-link {inset:0}

/* Empty mobile cart stays available in the menu and on the shop archive. */
@media(max-width:800px){
 body:not(.post-type-archive-product):not(.woocommerce-shop) .house-header .bag[data-cart-count="0"]{display:none}
}

.bridal-mobile-title{display:none}
@media(max-width:660px){
 #categories .chapter-portrait>.bridal-label-left,#categories .chapter-portrait>.bridal-label-right{display:none}
 #categories .chapter-portrait .bridal-mobile-title{display:block;order:2;margin:24px 0 0;text-align:center;font-size:clamp(23px,5.6vw,34px);font-weight:500;line-height:1.1;letter-spacing:-.025em;color:#faf8ef}
 #categories .chapter-portrait .bridal-portrait-media{order:1}
 body.home::after{content:'';position:fixed;inset:auto 0 0;height:env(safe-area-inset-bottom,0px);background:var(--home-edge-colour,#381f13);z-index:100;pointer-events:none}
}

@media(max-width:660px){
 #categories .chapter-3d .dress-mobile-title{margin:24px 0 4px}
 #categories .chapter-3d .dress-view-more{margin:0 auto;min-width:44px}
}

/* Plain white category scenes, with the full portrait photographs. */
.staged #categories .chapter-screen,#categories .chapter-card,#categories .chapter-3d{background:#fff}
.staged #categories .chapter-screen::before,.staged #categories .chapter-screen::after{display:none}
#categories .chapter-portrait .bridal-portrait-media{aspect-ratio:4/5;border-radius:0;background:transparent;box-shadow:none}
#categories .chapter-portrait .bridal-portrait-media::before,#categories .chapter-portrait .bridal-portrait-media::after{display:none}
#categories .chapter-portrait .bridal-portrait-link{inset:0;border-radius:0}
#categories .chapter-portrait .bridal-portrait-link img{aspect-ratio:4/5;object-fit:contain;object-position:center}
#categories .chapter-portrait>span,#categories .chapter-portrait .bridal-mobile-title,#categories .chapter-3d,#categories .chapter-3d :is(.chapter-label,.dress-viewer,.dress-mobile-title,.dress-view-more,.dress-viewer-hint){color:#161a17}
#categories .chapter-portrait>span a:hover,#categories .chapter-portrait .bridal-mobile-title a:hover,#categories .chapter-3d a:hover{color:#243f30}
#categories .chapter-3d .dress-stage:focus-visible{outline-color:#243f30}
