:root {
  --btn-tracking: .12em;
  --btn-case: uppercase;
  --bg: #f4f1ea;
  --panel: #ffffff;
  --ink: #1c1a17;
  --sub: rgba(28,26,23,.6);
  --line: rgba(28,26,23,.14);
  --accent: #1c1a17;
  --accent-ink: #f3f0ea;
  --accent-hover: #3d3830;
  --btn2-bg: transparent;
  --btn2-ink: #1c1a17;
  --btn2-border: rgba(28,26,23,.3);
  --btn2-hover: rgba(28,26,23,.06);
  --radius: 0px;
  --media-radius: 0px;
  --media-border: 1px solid rgba(28,26,23,.12);
  --shadow: 0 16px 36px rgba(28,26,23,.12);
  --rule: 1px solid rgba(28,26,23,.3);
  --font-head: 'Bodoni Moda',serif;
  --font-body: Archivo,sans-serif;
  --head-weight: 500;
  --head-tracking: -.005em;
  --brand-tracking: .26em;
  --brand-ink: #1c1a17;
  --header-bg: rgba(244,241,234,.92);
  --hero-bg: transparent;
  --nav-active: #1c1a17;
  --price-ink: #1c1a17;
  --ok: #2c5a2e;
  --warn: #7a5c14;
  --info: #3c3c58;
  --bad: #7a3a30;
  --cta-bg: linear-gradient(170deg,#241b30,#14101c);
  --cta-ink: #f2eee9;
  --footer-bg: #1c1a17;
  --footer-ink: #f3f0ea;
  --footer-accent: #f3f0ea;
  --footer-line: rgba(243,240,234,.18);
}

/* ============ Base ============ */
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-body); line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: var(--accent); }
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: var(--head-weight); line-height: 1.1; margin: 0; }
.theme-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.theme-section { padding: 52px 0; }
.theme-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--accent); margin: 0 0 10px; }
.theme-section-title { font-size: clamp(26px, 3.2vw, 38px); margin-bottom: 12px; }
.theme-section-subtitle { color: var(--sub); margin: 0 0 24px; }
.theme-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.theme-text { color: var(--sub); max-width: 460px; }
.theme-link { white-space: nowrap; background: none; border: none; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; padding: 0; }

/* ============ Buttons ============ */
.theme-btn { display: inline-block; white-space: nowrap; padding: 14px 26px; border: 1px solid transparent; border-radius: var(--radius); font-family: var(--font-body); font-size: 12.5px; font-weight: 700; letter-spacing: var(--btn-tracking); text-transform: var(--btn-case); text-decoration: none; text-align: center; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.theme-btn--primary { background: var(--accent); color: var(--accent-ink); }
.theme-btn--primary:hover { background: var(--accent-hover); color: var(--accent-ink); }
.theme-btn--secondary { background: var(--btn2-bg); color: var(--btn2-ink); border-color: var(--btn2-border); }
.theme-btn--secondary:hover { background: var(--btn2-hover); color: var(--btn2-ink); }
.theme-btn--inverse { background: var(--bg); color: var(--accent); }

/* ============ Header ============ */
.theme-header { position: sticky; top: 0; z-index: 50; background: var(--header-bg); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.theme-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; }
.theme-brand { font-family: var(--font-head); font-size: 20px; letter-spacing: var(--brand-tracking); color: var(--brand-ink); text-decoration: none; font-weight: var(--head-weight); }
.theme-nav { display: flex; gap: 24px; flex-wrap: wrap; }
.theme-nav-link { white-space: nowrap; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; color: var(--sub); padding: 4px 0; border-bottom: 2px solid transparent; }
.theme-nav-link:hover, .theme-nav-link.is-active { color: var(--nav-active); border-bottom-color: var(--nav-active); }
.theme-header__actions { display: flex; align-items: center; gap: 12px; }
.theme-nav-toggle { display: none; background: none; border: 1px solid var(--line); border-radius: var(--radius); padding: 9px 10px; cursor: pointer; }
.theme-nav-toggle span { display: block; width: 18px; height: 2px; background: var(--ink); margin: 3px 0; }

/* ============ Hero ============ */
.hero-section { padding: 56px 0 20px; background: var(--hero-bg); }
.hero-section__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 44px; align-items: center; }
.theme-hero-title { font-size: clamp(38px, 5vw, 66px); letter-spacing: var(--head-tracking); text-wrap: balance; margin-bottom: 16px; }
.theme-hero-description { font-size: 15.5px; color: var(--sub); max-width: 460px; margin: 0 0 24px; }
.hero-section__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-section__points { display: flex; gap: 24px; flex-wrap: wrap; list-style: none; padding: 0; margin: 26px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--sub); }
.hero-section__media img, .subhero-section__media img { width: 100%; height: 440px; object-fit: cover; border: var(--media-border); border-radius: var(--media-radius); }
.subhero-section { padding: 56px 0 8px; }
.subhero-section__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 44px; align-items: center; }

/* ============ Collections ============ */
.collections-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.collection-card { display: block; text-decoration: none; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); overflow: hidden; transition: transform .35s, box-shadow .35s, border-color .35s; }
.collection-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--accent); }
.collection-card__media img { width: 100%; height: 300px; object-fit: cover; }
.collection-card__body { padding: 20px 24px 24px; }
.collection-card__label { font-size: 10.5px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--accent); margin: 0 0 8px; }
.collection-card__title { font-size: 26px; margin-bottom: 10px; }
.collection-card__link { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }

/* ============ Dress cards ============ */
.dress-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-top: 22px; }
.dress-grid--featured { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.dress-card { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); overflow: hidden; transition: transform .35s, box-shadow .35s, border-color .35s; }
.dress-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.dress-card__media { display: block; position: relative; height: 300px; overflow: hidden; }
.dress-card__image { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform .8s cubic-bezier(.2,.6,.2,1); }
.dress-card:hover .dress-card__image { transform: scale(1.05); }
.dress-card__status { position: absolute; top: 12px; left: 12px; padding: 6px 11px; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: var(--radius); background: var(--panel); }
.dress-card__status--available { color: var(--ok); }
.dress-card__status--limited { color: var(--warn); }
.dress-card__status--after { color: var(--info); }
.dress-card__status--reserved { color: var(--bad); }
.dress-card__body { padding: 15px 18px 18px; }
.dress-card__meta { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.dress-card__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.dress-card__name { font-size: 22px; }
.dress-card__name a { color: var(--ink); text-decoration: none; }
.dress-card__price { font-family: var(--font-head); font-size: 16px; color: var(--price-ink); white-space: nowrap; }
.dress-card__details { font-size: 12px; color: var(--sub); margin: 6px 0 12px; }
.dress-card__actions { display: flex; gap: 8px; }
.dress-card__actions .theme-btn { flex: 1; padding: 12px 8px; font-size: 11.5px; }

/* ============ Process / journey ============ */
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-top: 26px; }
.process-step { border-top: var(--rule); padding-top: 12px; }
.process-step__number { font-family: var(--font-head); font-size: 26px; color: var(--accent); }
.process-step__title { font-size: 14px; font-family: var(--font-body); font-weight: 700; margin: 8px 0 4px; }
.process-step__text { font-size: 12.5px; color: var(--sub); margin: 0; }
.journey-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 14px; margin-top: 20px; }
.journey-step { border-top: var(--rule); padding-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.journey-step__number { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.journey-step__title { font-size: 13px; font-weight: 700; }

/* ============ Testimonials ============ */
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 22px; }
.testimonial-card { margin: 0; background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); overflow: hidden; }
.testimonial-card__media img { width: 100%; height: 240px; object-fit: cover; object-position: center 20%; }
.testimonial-card__quote { margin: 0; padding: 18px 20px 6px; font-family: var(--font-head); font-size: 19px; line-height: 1.4; }
.testimonial-card__who { padding: 0 20px 20px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }

/* ============ Atelier / stats ============ */
.atelier-section__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 44px; align-items: center; }
.atelier-section__media img { width: 100%; height: 420px; object-fit: cover; border: var(--media-border); border-radius: var(--media-radius); }
.stats-row { display: flex; gap: 32px; flex-wrap: wrap; margin: 24px 0 26px; }
.stat__value { display: block; font-family: var(--font-head); font-size: 32px; color: var(--accent); }
.stat__label { font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--sub); }

/* ============ Branches ============ */
.branches-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 22px; }
.branch-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); overflow: hidden; }
.branch-card__media img { width: 100%; height: 190px; object-fit: cover; }
.branch-card__body { padding: 18px 22px 22px; }
.branch-card__name { font-size: 22px; margin-bottom: 6px; }
.branch-card__address { font-size: 13px; color: var(--sub); margin: 0 0 14px; }
.branch-card__actions { display: flex; gap: 8px; }
.branch-card__actions .theme-btn { flex: 1; padding: 12px 8px; font-size: 11.5px; }

/* ============ FAQ ============ */
.faq-list { max-width: 780px; margin-top: 12px; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item__question { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: none; border: none; cursor: pointer; padding: 17px 0; font-family: var(--font-body); font-size: 15px; font-weight: 700; text-align: left; color: var(--ink); }
.faq-item__glyph { font-size: 20px; color: var(--accent); }
.faq-item__answer { display: none; padding: 0 0 17px; color: var(--sub); font-size: 14px; max-width: 640px; }
.faq-item__answer p { margin: 0; }
.faq-item.is-open .faq-item__answer { display: block; }

/* ============ CTA ============ */
.cta-section__inner { background: var(--cta-bg); color: var(--cta-ink); border-radius: var(--media-radius); padding: 40px 44px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-section__title { font-size: clamp(24px, 3vw, 34px); color: var(--cta-ink); }
.cta-section__text { margin: 10px 0 0; opacity: .75; font-size: 14px; }

/* ============ Catalog ============ */
.catalog-filters { background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); padding: 18px 20px; display: flex; flex-direction: column; gap: 13px; margin-top: 22px; }
.catalog-filters__row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.catalog-filters__row--footer { justify-content: space-between; border-top: 1px solid var(--line); padding-top: 12px; }
.catalog-filters__search { flex: 1; min-width: 220px; border: 1px solid var(--line); border-radius: var(--radius); padding: 11px 14px; font: inherit; font-size: 13.5px; background: var(--bg); color: var(--ink); }
.catalog-filters__label { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; color: var(--sub); width: 70px; text-transform: uppercase; }
.catalog-filters__group { display: flex; gap: 6px; flex-wrap: wrap; }
.catalog-filters__count { white-space: nowrap; font-size: 13px; color: var(--sub); }
.filter-chip { white-space: nowrap; border: 1px solid var(--line); background: transparent; color: var(--ink); border-radius: var(--radius); cursor: pointer; padding: 8px 16px; font-family: var(--font-body); font-size: 12px; font-weight: 600; transition: background .25s, color .25s, border-color .25s; }
.filter-chip.is-active { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.catalog-empty { text-align: center; color: var(--sub); padding: 50px 0; }

/* ============ Dress detail ============ */
.dress-detail__back { display: inline-block; margin-bottom: 18px; }
.dress-detail__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: start; }
.dress-detail__stage img { width: 100%; height: 560px; object-fit: cover; object-position: center 15%; border: var(--media-border); border-radius: var(--media-radius); }
.dress-detail__views { display: flex; gap: 8px; margin-top: 10px; }
.dress-detail__views .filter-chip { flex: 1; }
.theme-dress-name { font-size: clamp(34px, 4vw, 46px); margin: 6px 0 8px; }
.dress-detail__price { margin: 0 0 12px; } .dress-detail__price strong { font-size: 19px; color: var(--price-ink); } .dress-detail__price span { font-size: 12.5px; color: var(--sub); }
.dress-detail__info > .dress-card__status { position: static; display: inline-block; border: 1px solid var(--line); margin-bottom: 14px; }
.dress-detail__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--media-radius); padding: 16px 18px; font-size: 13px; margin: 0 0 16px; }
.dress-detail__specs div { display: flex; gap: 6px; } .dress-detail__specs dt { color: var(--sub); } .dress-detail__specs dt::after { content: ' —'; } .dress-detail__specs dd { margin: 0; }
.dress-detail__whatsapp { display: block; margin-top: 12px; }
.dress-detail__similar-title { margin-top: 50px; }

/* ============ Forms ============ */
.booking-form, .contact-form { background: var(--panel); border: 1px solid var(--accent); border-radius: var(--media-radius); padding: 22px 24px; }
.booking-form__title, .contact-form__title { font-size: 23px; margin-bottom: 16px; }
.booking-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field { margin-bottom: 14px; }
.form-field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sub); margin-bottom: 7px; }
.form-field input, .form-field textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: var(--radius); padding: 11px 12px; font: inherit; font-size: 13.5px; background: var(--bg); color: var(--ink); }
.form-field input:focus, .form-field textarea:focus { outline: 2px solid var(--accent); outline-offset: 0; }
.booking-form__note { font-size: 13px; color: var(--sub); background: var(--bg); border-radius: var(--radius); padding: 10px 14px; margin: 0 0 14px; }
.booking-form__submit { width: 100%; padding: 16px; }
.booking-form__hint { font-size: 12px; color: var(--sub); text-align: center; margin: 10px 0 0; }

/* ============ Contact ============ */
.contact-section__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; margin-top: 26px; }
.whatsapp-banner { display: block; background: var(--accent); color: var(--accent-ink); border-radius: var(--media-radius); padding: 22px 26px; text-decoration: none; margin-bottom: 16px; }
.whatsapp-banner__title { display: block; font-family: var(--font-head); font-size: 23px; }
.whatsapp-banner__text { font-size: 13px; opacity: .8; }
.contact-section__channels { color: var(--sub); font-size: 13.5px; }
.branches-grid--compact .branch-card__media img { height: 150px; }

/* ============ Values ============ */
.values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.value-card { border-top: var(--rule); padding-top: 14px; }
.value-card__title { font-size: 23px; color: var(--accent); margin-bottom: 8px; }
.value-card__text { font-size: 13.5px; color: var(--sub); margin: 0; }

/* ============ Footer ============ */
.theme-footer { background: var(--footer-bg); color: var(--footer-ink); margin-top: 20px; padding: 48px 0 36px; }
.theme-footer__slogan { font-family: var(--font-head); font-style: italic; font-size: clamp(36px, 5vw, 70px); color: var(--footer-accent); border-bottom: 1px solid var(--footer-line); padding-bottom: 32px; }
.theme-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; padding: 32px 0; }
.theme-footer__brand { font-family: var(--font-head); font-size: 18px; letter-spacing: var(--brand-tracking); }
.theme-footer__heading { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--footer-accent); font-family: var(--font-body); margin-bottom: 8px; }
.theme-footer__text { font-size: 13px; opacity: .75; line-height: 2; margin: 0; }
.theme-footer__text a { color: inherit; }
.theme-footer__bottom { display: flex; justify-content: space-between; border-top: 1px solid var(--footer-line); padding-top: 12px; font-size: 12px; opacity: .6; }

/* ============ Responsive ============ */
@media (max-width: 960px) {
  .hero-section__inner, .subhero-section__inner, .dress-detail__grid, .contact-section__grid { grid-template-columns: 1fr; }
  .collections-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .theme-container { padding: 0 20px; }
  .theme-nav { display: none; width: 100%; order: 3; flex-direction: column; gap: 4px; padding: 10px 0; }
  .theme-nav.is-open { display: flex; }
  .theme-nav-toggle { display: block; }
  .booking-form__row { grid-template-columns: 1fr; }
  .dress-detail__stage img { height: 420px; }
  .catalog-filters__label { width: 100%; }
}
/* ============ Layout variants ============ */
.theme-header--masthead .masthead__meta{display:flex;justify-content:space-between;padding:12px 0 0;font-size:12px;color:var(--sub)}
.masthead__brand{display:block;text-align:center;font-size:clamp(40px,7vw,92px);line-height:1.05;padding:4px 0 10px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--brand-ink)}
.masthead__navrow{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 0}
.theme-header--centered .theme-header__inner{flex-direction:column;gap:8px;padding-top:14px;padding-bottom:12px}
.theme-header--darkbar{background:var(--footer-bg);border-bottom:none;backdrop-filter:none}
.theme-header--darkbar .theme-brand{color:var(--footer-ink)}
.theme-header--darkbar .theme-nav-link{color:var(--footer-ink);opacity:.75}
.theme-header--darkbar .theme-nav-link.is-active,.theme-header--darkbar .theme-nav-link:hover{opacity:1;border-bottom-color:var(--accent);color:var(--footer-ink)}
.theme-header--darkbar .theme-nav-toggle span{background:var(--footer-ink)}
.theme-utilitybar{background:var(--accent);color:var(--accent-ink);font-size:11.5px;font-weight:600}
.theme-utilitybar__inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;padding:8px 32px;flex-wrap:wrap}
body.has-sidebar{display:grid;grid-template-columns:260px 1fr}
body.has-sidebar .theme-sidebar{grid-row:1/3;border-right:1px solid var(--line);padding:36px 26px;position:sticky;top:0;height:100vh;box-sizing:border-box;overflow:auto;display:flex;flex-direction:column;gap:26px}
body.has-sidebar main{min-width:0}
.theme-sidebar__brand{font-family:var(--font-head);font-size:26px;letter-spacing:var(--brand-tracking);line-height:1.3;color:var(--brand-ink);text-decoration:none}
.theme-sidebar__tagline{font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--sub);margin:-14px 0 0}
.theme-sidebar .theme-nav{flex-direction:column;gap:0}
.theme-sidebar .theme-nav-link{border-bottom:1px solid var(--line);padding:10px 0}
.theme-sidebar__info{margin-top:auto;font-size:12px;color:var(--sub);line-height:1.9}
@media (max-width:960px){body.has-sidebar{display:block}body.has-sidebar .theme-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}}
/* Hero variants */
.hero-section--fullbleed{position:relative;min-height:620px;display:flex;align-items:flex-end;padding:0}
.hero-section__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.hero-section__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,9,.35),rgba(8,7,9,.15) 40%,rgba(8,7,9,.92) 92%)}
.hero-section--fullbleed .hero-section__center{position:relative;width:100%;padding-top:90px;padding-bottom:56px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-section--fullbleed .theme-hero-description{margin-left:auto;margin-right:auto}
.hero-section--fullbleed .hero-section__points{justify-content:center}
.hero-section--split-reverse .hero-section__content{order:2}
.hero-section--arch .theme-container{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-section--arch .theme-hero-image{width:min(420px,80vw);height:460px;object-fit:cover;object-position:center 25%;border-radius:210px 210px 0 0;margin-top:36px;box-shadow:var(--shadow)}
.hero-section--arch .hero-section__points{justify-content:center}
.hero-section--typographic{padding-bottom:0}
.hero-section--typographic .hero-section__inner{gap:0;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-section--typographic .hero-section__content{padding:44px 40px 44px 0;border-right:1px solid var(--line)}
.typographic__media{display:grid;grid-template-rows:1fr 1fr}
.typographic__media a{position:relative;min-height:220px;display:block}
.typographic__media a:first-child{border-bottom:1px solid var(--line)}
.typographic__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.typographic__label{position:absolute;bottom:0;left:0;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px}
.hero-section--index{padding:0}
.index-hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.index-hero__panel{padding:36px 32px 36px 0;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:18px;transition:background .3s}
.index-hero__panel+.index-hero__panel{border-left:1px solid var(--line);padding-left:32px;padding-right:0}
.index-hero__panel:hover{background:var(--btn2-hover)}
.index-hero__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--sub)}
.index-hero__title{font-size:clamp(28px,3.4vw,46px);letter-spacing:-.02em}
.index-hero__panel img{width:100%;height:260px;object-fit:cover;object-position:center 22%}
/* Collections rows */
.collections-grid--rows{grid-template-columns:1fr}
.collections-grid--rows .collection-card{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.collections-grid--rows .collection-card__media img{height:280px}
.collections-grid--rows .collection-card--flip .collection-card__media{order:2}
/* Card variants */
.dress-card--overlay .dress-card__media{height:460px}
.dress-card--overlay .dress-card__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,9,.15),rgba(8,7,9,0) 40%,rgba(8,7,9,.9) 90%)}
.dress-card--overlay .dress-card__overlay{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:var(--ink)}
.dress-card--overlay .dress-card__status{z-index:2}
.dress-card--overlay .dress-card__name{font-size:30px}
.dress-card--overlay .dress-card__links{display:flex;gap:18px;margin-top:10px;border-top:1px solid var(--accent);padding-top:10px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.dress-card--overlay .dress-card__details{color:var(--sub)}
.dress-card--index{background:transparent;border:none;border-radius:0;overflow:visible;border-top:2px solid var(--line);padding-top:10px}
.dress-card--index:hover{transform:none;box-shadow:none}
.dress-card__indexrow{display:flex;justify-content:space-between;font-size:11.5px;color:var(--sub);margin-bottom:10px}
.dress-card--index .dress-card__indexrow .dress-card__status{position:static;padding:0;background:transparent}
.dress-card--index .dress-card__body{padding:12px 0 0}
.dress-card--index .dress-card__links{display:flex;gap:16px;margin-top:8px}
.dress-card--framed{padding:10px 10px 0;overflow:visible}
.dress-card--framed .dress-card__media{height:300px;border:1px solid var(--line)}
.dress-card--framed .dress-card__body{text-align:center;padding:14px 8px 16px}
.dress-card--framed .dress-card__statusline .dress-card__status{position:static;padding:0 0 6px;background:transparent;display:inline-block}
.dress-card--framed .dress-card__links{display:flex;justify-content:center;gap:20px;margin-top:10px;border-top:1px solid var(--line);padding-top:11px}
.dress-card--framed .dress-card__price{display:block;margin-top:4px}
.dress-card--bar .dress-card__topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.dress-card--bar .dress-card__topbar .dress-card__status{position:static;padding:0;background:transparent}
.dress-card--bar .dress-card__topbar>span:first-child{color:var(--accent)}
.dress-card--spec{display:grid;grid-template-columns:150px 1fr;overflow:hidden}
.dress-card--spec .dress-card__status{position:static;padding:0;background:transparent}
.dress-card--spec .dress-card__media{height:auto;min-height:210px}
.dress-card--spec .dress-card__spectable{margin:8px 0 12px;font-size:12px}
.dress-card--spec .dress-card__spectable div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0}
.dress-card--spec .dress-card__spectable dt{color:var(--sub)}
.dress-card--spec .dress-card__spectable dd{margin:0}
.dress-card--arch{text-align:center}
.dress-card--arch .dress-card__media{border-radius:170px 170px 0 0;height:320px}
.dress-card--arch .dress-card__row{justify-content:center;gap:14px}
.dress-card--arch .dress-card__status{left:50%;transform:translateX(-50%);top:auto;bottom:12px}
/* Process variants */
.process-grid--list{grid-template-columns:1fr;gap:0}
.process-grid--list .process-step{display:grid;grid-template-columns:56px 190px 1fr;gap:14px;align-items:baseline;border-top:none;border-bottom:1px solid var(--line);padding:13px 4px}
.process-grid--list .process-step__number{font-size:19px}
.process-grid--list .process-step__title{margin:0}
.process-grid--list .process-step__text{margin:0}
.process-grid--boxes{gap:1px;background:var(--line);border:1px solid var(--line)}
.process-grid--boxes .process-step{background:var(--panel);border-top:none;padding:16px 14px 20px}
.process-grid--circles{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 34px}
.process-grid--circles .process-step{border-top:none;width:150px;display:flex;flex-direction:column;align-items:center;text-align:center}
.process-grid--circles .process-step__number{width:52px;height:52px;border-radius:999px;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--panel)}
.process-section--circles .theme-container{text-align:center}
/* Testimonial variants */
.testimonials-grid--rows{grid-template-columns:1fr;gap:0}
.testimonials-grid--rows .testimonial-card{display:grid;grid-template-columns:120px 1fr 220px;gap:24px;align-items:center;background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;padding:16px 0}
.testimonials-grid--rows .testimonial-card__media img{height:120px}
.testimonials-grid--rows .testimonial-card__quote{padding:0;font-size:22px}
.testimonials-grid--rows .testimonial-card__who{padding:0;text-align:right}
.testimonials-grid--bars .testimonial-card{background:transparent;border:none;border-left:4px solid var(--accent);border-radius:0;padding:4px 0 4px 20px}
.testimonials-grid--bars .testimonial-card__quote{padding:0 0 10px;font-size:19px}
.testimonials-grid--bars .testimonial-card__who{padding:0}
.testimonials-grid--stack{grid-template-columns:1fr;justify-items:center;gap:34px}
.testimonials-grid--stack .testimonial-card{background:transparent;border:none;text-align:center;max-width:640px}
.testimonials-grid--stack .testimonial-card__media img{width:90px;height:110px;border-radius:45px 45px 0 0;object-fit:cover;margin:0 auto}
.testimonials-grid--stack .testimonial-card__quote{font-style:italic}
.testimonials-section--stack .theme-container{text-align:center}
.testimonials-section--band{background:var(--cta-bg);color:var(--cta-ink)}
.testimonials-section--band .theme-section-title{color:var(--cta-ink)}
.testimonial-card__stars{color:#f0b429;letter-spacing:2px;padding:16px 20px 0}
@media (max-width:960px){.index-hero{grid-template-columns:1fr}.index-hero__panel{padding:28px 0}.index-hero__panel+.index-hero__panel{border-left:none;border-top:1px solid var(--line);padding-left:0}.collections-grid--rows .collection-card{grid-template-columns:1fr}.testimonials-grid--rows .testimonial-card{grid-template-columns:1fr}.testimonials-grid--rows .testimonial-card__who{text-align:left}.dress-card--spec{grid-template-columns:1fr}.hero-section--typographic .hero-section__content{border-right:none;padding-right:0}}

/* ============ Theme-specific ============ */
