:root{
  --content-width:76%;
  --gap:10px;
  --display-font:"Playfair Display",serif;
  --display-letter:-0.020em;
  --collection-extra-letter:0.030em;
  --text-min:16px;
  --dress-title-size:clamp(46px,2.73vw,70px);
  --promo-title-size:clamp(30px,1.8vw,46px);
  --utility-size:16px;
  --collection-title-size:clamp(26px,1.33vw,34px);
  --collection-link-size:clamp(16px,.98vw,25px);
}
[hidden]{display:none!important}
.content-shell{width:var(--content-width)!important;max-width:none!important;transition:width .18s ease}
.design-toolbar{padding:11px clamp(18px,3vw,48px)!important}
.display-font{letter-spacing:var(--display-letter)!important}
#collection-title{letter-spacing:calc(var(--display-letter) + var(--collection-extra-letter))!important}
.collection-links-stack{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.collection-link-wrap{display:flex;align-items:center;gap:10px}
.collection-foot a{font-size:var(--collection-link-size)!important;letter-spacing:.035em!important}
.collection-foot .all-collections-link{font-size:clamp(16px,.78vw,20px)!important;opacity:.66}
.collection-foot .all-collections-link:hover{opacity:1}

/* Product intro: title -> centered useful links -> save/share -> collection */
.intro{
  position:relative;
  min-height:205px!important;
  padding:clamp(20px,2.55vw,38px) 0 clamp(18px,2.1vw,29px)!important;
  display:grid!important;
  grid-template-columns:max-content minmax(250px,1fr) auto auto!important;
  grid-template-rows:auto auto;
  column-gap:clamp(18px,1.55vw,30px)!important;
  row-gap:8px!important;
  align-items:center!important
}
.intro-main,.intro-side{display:contents!important}
.intro .eyebrow{grid-column:1;grid-row:1;align-self:end;margin-bottom:4px!important}
.intro .heading-line{grid-column:1;grid-row:2;min-width:0;align-self:center}
.product-actions{
  position:static!important;
  grid-column:3;
  grid-row:2;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0!important;
  z-index:25;
  justify-self:end;
  align-self:center
}
.quiet-action{
  height:45px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  background:transparent;
  color:rgba(244,241,236,.76);
  border-radius:999px;
  padding:0 16px;
  font:400 var(--text-min) Inter,sans-serif;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease
}
.quiet-action:hover{color:#fff;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.055);transform:translateY(-1px)}
.quiet-action.saved{color:#f4f1ec;border-color:rgba(126,31,39,.48);background:rgba(126,31,39,.16)}
.share-wrap{position:relative;height:45px;display:flex;align-items:center}
.share-wrap>.quiet-action{height:45px}
.share-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:80;min-width:210px;padding:7px;background:#121416;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.34)}
.share-menu button,.share-menu a{display:block;width:100%;border:0;background:transparent;color:rgba(244,241,236,.78);padding:9px 10px;border-radius:8px;text-align:left;font:400 var(--text-min) Inter,sans-serif;cursor:pointer}
.share-menu button:hover,.share-menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.dress-facts{
  grid-column:2;
  grid-row:2;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  justify-self:stretch;
  align-self:center;
  gap:0;
  margin:0!important;
  text-align:center;
  white-space:nowrap;
  color:var(--muted)
}
.dress-facts a,.dress-facts button{
  position:relative;
  border:0;
  background:transparent;
  color:rgba(244,241,236,.72);
  padding:2px 15px;
  margin:0;
  font:400 var(--text-min) Inter,sans-serif;
  line-height:1.25;
  white-space:nowrap;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(244,241,236,.28);
  text-underline-offset:5px;
  transition:color .2s ease,text-decoration-color .2s ease
}
.dress-facts a:first-child,.dress-facts button:first-child{padding-left:0}
.dress-facts a:last-child,.dress-facts button:last-child{padding-right:0}
.dress-facts a:not(:last-child)::after,.dress-facts button:not(:last-child)::after{
  content:"";
  display:block!important;
  position:absolute;
  right:0;
  top:50%;
  width:1px;
  height:15px;
  background:currentColor;
  opacity:.24;
  transform:translateY(-50%);
  pointer-events:none
}
.dress-facts a:hover,.dress-facts button:hover{color:var(--ink);text-decoration-color:currentColor}
.back-btn{
  grid-column:4;
  grid-row:2;
  justify-self:end;
  align-self:center;
  height:45px;
  box-sizing:border-box;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:999px!important;
  white-space:nowrap;
  letter-spacing:.035em!important
}
.visual-action a{border-radius:999px!important}

/* 16 px is the minimum for visitor-facing text. Tuning UI is intentionally excluded. */
.eyebrow,.visual-tile .micro,.visual-tile p,.visual-action a,.collection-head p,.store-address,.store-links,.store-media-note,.footer-story p,.footer-contact h2,.lb-meta,.dress-nav-item span,.proof-kicker,.proof-copy{font-size:var(--text-min)!important}

.theme-toggle{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#14171a;color:#fff;padding:8px 13px;font:10px Inter,sans-serif;letter-spacing:.06em;cursor:pointer}
.theme-toggle:hover{background:#202428}
.design-mode-toggle{position:fixed;right:14px;bottom:14px;z-index:260;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(12,14,16,.88);backdrop-filter:blur(12px);color:#fff;padding:9px 13px;font:10px Inter,sans-serif;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.25)}
body.design-off .design-toolbar,body.design-off .type-tuner,body.design-off .local-tool,body.design-off .font-lab{display:none!important}

/* Main photos breathe rather than showing metadata. */
.tile-meta{display:none!important}
.tile.photo:hover{transform:translate3d(0,-3px,0) scale(1.003)!important}
.tile.photo img{transition:transform 1.35s cubic-bezier(.2,.72,.2,1)!important;transform:scale(1)}
.tile.photo:hover img{transform:scale(1.018)}

/* AI editorial tile */
.visual-tile .micro{opacity:.68}
.visual-tile p{line-height:1.55!important;max-width:560px!important}
.visual-action{align-items:center!important}
.visual-action .free{opacity:.78}

/* Sticky AI conversion */
.sticky-ai-cta{position:fixed;right:22px;bottom:22px;z-index:145;display:flex;align-items:center;gap:18px;padding:13px 16px 13px 18px;border-radius:999px;background:rgba(238,234,227,.96);color:#101214;box-shadow:0 18px 55px rgba(0,0,0,.28);backdrop-filter:blur(14px);font:400 var(--text-min) var(--display-font);letter-spacing:-.01em;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease}
.sticky-ai-cta b{font-weight:400;font-size:22px;line-height:1}
.sticky-ai-cta.visible{opacity:1;transform:none;pointer-events:auto}
.sticky-ai-cta:hover{box-shadow:0 24px 65px rgba(0,0,0,.36);transform:translateY(-2px)}
body.design-off .sticky-ai-cta{bottom:22px}

/* Collection cards are deliberately muted at rest and return to full image on hover. */
.collection-card{border:0!important}
.collection-card img{filter:saturate(.64) brightness(.78) contrast(.94)!important;opacity:.78;transition:transform .6s ease,filter .42s ease,opacity .42s ease!important}
.collection-card:hover img{transform:scale(1.035);filter:saturate(1) brightness(1) contrast(1)!important;opacity:1}
.card-copy small{display:none!important}
.collection-card .card-copy strong,.collection-card .arr{color:#fff!important}
.collection-card .card-copy strong{opacity:.66;text-shadow:0 2px 14px rgba(0,0,0,.48);transition:opacity .30s ease}
.collection-card .arr{opacity:.58;transition:opacity .30s ease}
.collection-card:hover .card-copy strong,.collection-card:hover .arr{opacity:.92}

/* Store editorial tile */
.store-tile{padding:0!important;display:block!important;background:#15181b}
.store-body{height:100%;padding:24px clamp(20px,2vw,32px) 28px;display:flex;flex-direction:column}
.store-tile .city{font-family:var(--display-font)!important;font-size:clamp(20px,1.15vw,28px)!important;line-height:1.08!important;letter-spacing:-.015em!important;text-transform:none!important;color:rgba(244,241,236,.9)!important;margin:0 0 24px!important}
.store-tile h3{margin:0 0 18px!important;line-height:1.02!important}
.store-address{color:rgba(255,255,255,.66);margin:0 0 26px!important;line-height:1.55}
.store-media{position:relative;width:100%;height:150px;margin:0 0 25px!important;overflow:hidden;background:#202327;border-radius:10px}
.store-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.72);transition:transform .55s ease,filter .3s ease}
.store-tile:hover .store-media img{transform:scale(1.025);filter:saturate(.8) brightness(.78)}
.store-media-note{position:absolute;left:10px;bottom:8px;z-index:2;letter-spacing:.08em;text-transform:none;color:rgba(255,255,255,.72);text-shadow:0 2px 12px rgba(0,0,0,.55)}
.fitting-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 0 12px;margin:0 0 25px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font-family:var(--display-font);font-size:clamp(19px,1vw,24px);letter-spacing:-.015em;color:rgba(244,241,236,.9);transition:color .2s ease,padding-left .2s ease}
.fitting-cta:hover{color:#fff;padding-left:5px}
.local-tool{display:inline-flex;align-items:center;gap:5px;margin:0 0 24px!important;padding:4px 5px 4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);width:max-content;max-width:100%}
.local-tool .local-label{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.46);margin-right:2px}
.local-tool button{width:23px;height:23px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;cursor:pointer}
.local-tool output{min-width:35px;text-align:center;font-size:9px;color:rgba(255,255,255,.68);font-variant-numeric:tabular-nums}
.store-links{margin:0!important;display:block!important;line-height:1.55}
.store-group{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.store-group+.store-group{margin-top:26px}
.store-group a{display:block;width:max-content;max-width:100%}

/* Optional proof sections render only when verified data is provided in tuning.js. */
.proof-section{margin:64px 0 0;padding:42px 0;border-top:1px solid var(--line)}
.proof-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.proof-head h2{margin:0;font-family:var(--display-font);font-size:clamp(28px,1.8vw,42px);font-weight:400;line-height:1}
.proof-kicker{color:var(--muted)}
.testimonial-grid,.real-brides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.testimonial-card{min-height:210px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:flex;flex-direction:column;justify-content:space-between}
.testimonial-card blockquote{margin:0;font-family:var(--display-font);font-size:clamp(21px,1.25vw,28px);line-height:1.18;font-weight:400}
.testimonial-card cite{font-style:normal;color:var(--muted);font-size:var(--text-min)}
.real-bride-card{position:relative;overflow:hidden;min-height:340px;border-radius:14px;background:var(--panel)}
.real-bride-card img{width:100%;height:100%;object-fit:cover;display:block}

/* Previous / next dress: a half-height centered divider only. */
.dress-nav{position:relative;display:grid;grid-template-columns:1fr 1fr;border:0;margin:28px 0 18px}
.dress-nav::after{content:"";position:absolute;left:50%;top:25%;width:1px;height:50%;background:var(--line);transform:translateX(-.5px);pointer-events:none}
.dress-nav-item{min-height:132px;padding:24px 0;display:flex;flex-direction:column;justify-content:space-between;gap:22px;color:var(--muted);transition:color .22s ease,background .22s ease,padding .22s ease}
.dress-nav-item:first-child{padding-right:30px;border-right:0!important}
.dress-nav-item:last-child{padding-left:30px;text-align:right;align-items:flex-end}
.dress-nav-item strong{font-size:clamp(25px,1.5vw,36px);font-weight:400;color:var(--ink);line-height:1}
.dress-nav-item:hover{color:var(--ink)}
.dress-nav-item:first-child:hover{padding-left:7px}
.dress-nav-item:last-child:hover{padding-right:7px}

/* Footer */
.site-footer{margin-top:30px;border-top:1px solid rgba(255,255,255,.09);background:#0b0d0f;padding:clamp(54px,6vw,88px) 0 clamp(58px,6vw,92px)}
.footer-grid{width:var(--content-width);margin:0 auto;display:grid;grid-template-columns:1.1fr 1.75fr .9fr;gap:clamp(34px,5vw,88px);align-items:start}
.footer-col{min-width:0}.footer-col p{margin:0}
.footer-lead p{font-family:var(--display-font);font-size:clamp(18px,1.2vw,26px);line-height:1.18;letter-spacing:.005em;text-transform:none}
.footer-story p{line-height:1.72;color:rgba(244,241,236,.66)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.footer-contact h2{margin:0 0 22px;font-family:Inter,sans-serif;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,241,236,.48)}
.footer-contact a{font-family:var(--display-font);font-size:clamp(17px,1.05vw,23px);line-height:1.25;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:2px;margin-bottom:10px;letter-spacing:var(--display-letter)}
.footer-contact a:hover{border-color:#fff}

/* Light inversion */
body.light-theme{--bg:#f5f4f1;--panel:#e9e7e2;--panel2:#efede8;--ink:#111214;--muted:rgba(17,18,20,.56);--line:rgba(17,18,20,.15);background:#f5f4f1;color:#111214}
body.light-theme .site-header{background:linear-gradient(180deg,rgba(250,249,246,.97),rgba(250,249,246,.84));border-bottom-color:rgba(0,0,0,.09)}
body.light-theme .wordmark img{filter:none;opacity:.92}
body.light-theme .main-nav a{color:rgba(15,16,18,.88)}
body.light-theme .main-nav a::after{background:#111214}
body.light-theme .design-toolbar{background:#ebe9e4;border-bottom-color:rgba(0,0,0,.09)}
body.light-theme .tool{background:#f7f6f2;border-color:rgba(0,0,0,.13);color:#111214}
body.light-theme .tool-name,body.light-theme .tool-caption{color:rgba(17,18,20,.56)}
body.light-theme .step-btn{background:rgba(0,0,0,.06);color:#111214}
body.light-theme .type-tuner .tuner-badge,body.light-theme .type-tuner .tuner-panel{background:#f7f6f2;border-color:rgba(0,0,0,.14);color:#111214}
body.light-theme .type-tuner button{background:rgba(0,0,0,.06);color:#111214}
body.light-theme .type-tuner output{color:rgba(17,18,20,.72)}
body.light-theme .quiet-action{border-color:rgba(0,0,0,.16);color:rgba(17,18,20,.72)}
body.light-theme .quiet-action:hover{border-color:rgba(0,0,0,.32);background:rgba(0,0,0,.045);color:#111214}
body.light-theme .quiet-action.saved{border-color:rgba(126,31,39,.34);background:rgba(126,31,39,.09);color:#651920}
body.light-theme .dress-facts a,body.light-theme .dress-facts button{color:rgba(17,18,20,.70);text-decoration-color:rgba(17,18,20,.28)}
body.light-theme .dress-facts a:hover,body.light-theme .dress-facts button:hover{color:#111214;text-decoration-color:#111214}
body.light-theme .share-menu{background:#f7f6f2;border-color:rgba(0,0,0,.15);box-shadow:0 18px 45px rgba(0,0,0,.14)}
body.light-theme .share-menu button,body.light-theme .share-menu a{color:rgba(17,18,20,.75)}
body.light-theme .share-menu button:hover,body.light-theme .share-menu a:hover{background:rgba(0,0,0,.055);color:#111214}
body.light-theme .back-btn{border-color:rgba(0,0,0,.22)}
body.light-theme .back-btn:hover{background:#111214;color:#fff;border-color:#111214}
body.light-theme .visual-tile{background:#d7d1c8;color:#171717}
body.light-theme .visual-tile p{color:rgba(17,17,17,.67)}
body.light-theme .sticky-ai-cta{background:rgba(19,20,22,.94);color:#f5f4f1}
body.light-theme .store-tile{background:#e7e4de;color:#151618;border-color:rgba(0,0,0,.10)}
body.light-theme .store-tile .city{color:rgba(17,18,20,.9)!important}
body.light-theme .store-address{color:rgba(17,18,20,.58)}
body.light-theme .store-links a{color:rgba(17,18,20,.82);border-color:rgba(0,0,0,.18)}
body.light-theme .fitting-cta{color:rgba(17,18,20,.88);border-color:rgba(0,0,0,.18)}
body.light-theme .local-tool{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.035)}
body.light-theme .local-tool .local-label,body.light-theme .local-tool output{color:rgba(17,18,20,.55)}
body.light-theme .local-tool button{background:rgba(0,0,0,.06);color:#111214}
body.light-theme .collection,body.light-theme .font-lab{border-color:rgba(0,0,0,.10)}
body.light-theme .collection-head p,body.light-theme .font-lab p{color:rgba(17,18,20,.56)}
body.light-theme .collection-foot a{border-color:rgba(0,0,0,.22)}
body.light-theme .font-option{background:#ebe9e4;color:#111214;border-color:rgba(0,0,0,.12)}
body.light-theme .font-option:hover,body.light-theme .font-option.active{background:#111214;color:#fff;border-color:#111214}
body.light-theme .theme-toggle,body.light-theme .design-mode-toggle{background:rgba(250,249,246,.92);border-color:rgba(0,0,0,.16);color:#111214}
body.light-theme .site-footer{background:#ebe9e4;border-top-color:rgba(0,0,0,.10)}
body.light-theme .footer-story p{color:rgba(17,18,20,.62)}
body.light-theme .footer-contact h2{color:rgba(17,18,20,.48)}
body.light-theme .footer-contact a{border-color:rgba(0,0,0,.18)}

@media(max-width:1400px){
  .intro{grid-template-columns:minmax(270px,1fr) auto auto!important;grid-template-rows:auto auto auto}
  .intro .eyebrow{grid-column:1;grid-row:1}
  .intro .heading-line{grid-column:1;grid-row:2;align-self:center}
  .dress-facts{grid-column:1/3;grid-row:3;justify-self:start;margin-top:12px!important}
  .product-actions{grid-column:2;grid-row:2;align-self:center}
  .back-btn{grid-column:3;grid-row:2;align-self:center}
}
@media(max-width:980px){
  .footer-grid{grid-template-columns:1fr 1.4fr}.footer-contact{grid-column:1/-1;margin-top:10px}.store-media{height:135px}
  .testimonial-grid,.real-brides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .intro{min-height:0!important;padding:24px 0 24px!important;display:block!important}
  .intro-main,.intro-side{display:block!important}
  .product-actions{position:static!important;display:flex;margin-top:20px!important;transform:none;flex-wrap:wrap;justify-content:flex-start}
  .quiet-action,.share-wrap{height:45px}
  .share-wrap>.quiet-action{height:45px}
  .back-btn{height:45px;margin-top:14px!important}
  .dress-facts{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;text-align:left;margin-top:16px!important;gap:0;overflow-x:auto;max-width:100%;padding-bottom:7px;scrollbar-width:none}
  .dress-facts::-webkit-scrollbar{display:none}
  .dress-facts a,.dress-facts button{margin:0;padding:2px 13px}
  .dress-facts a:first-child,.dress-facts button:first-child{padding-left:0}
  .dress-facts a:last-child,.dress-facts button:last-child{padding-right:0}
  .intro-side{align-items:flex-start!important;margin-top:0!important}
  .sticky-ai-cta{left:4%;right:4%;bottom:12px;justify-content:space-between}
  .store-body{padding:20px 16px 22px}.store-media{height:130px}
  .testimonial-grid,.real-brides-grid{grid-template-columns:1fr}
  .dress-nav{grid-template-columns:1fr}.dress-nav::after{display:none}.dress-nav-item:first-child{border-right:0;padding-right:0}.dress-nav-item:last-child{padding-left:0}
  .footer-grid{grid-template-columns:1fr;gap:28px}.footer-contact{grid-column:auto;margin-top:2px}.site-footer{padding:46px 0 58px}
}
