/*
  Carrus desktop responsive layer.
  Mobile remains owned by each experience. These rules only lift tablet/desktop
  layouts out of the old 430px phone frame.
*/

@media (min-width: 700px) and (max-width: 899px) {
  .ebo-shell {
    width: min(760px, calc(100vw - 40px)) !important;
    height: min(900px, calc(100svh - 32px)) !important;
  }
}

@media (min-width: 900px) {
  .carrus-app,
  #qc-wedding-hl,
  #coco-invite,
  .cd-shell,
  .ebo-shell,
  .studio-app,
  .sergio-frame,
  .carta-app {
    width: min(1180px, calc(100vw - 48px)) !important;
    height: min(900px, calc(100svh - 40px)) !important;
    min-height: min(720px, calc(100svh - 40px)) !important;
    max-height: none !important;
    border-radius: clamp(24px, 2vw, 34px);
  }

  .carrus-app .sheet-inner,
  #qc-wedding-hl .qc-content,
  #qc-wedding-hl .qc-form-wrap,
  #qc-wedding-hl .qc-hero-names,
  #qc-wedding-hl .qc-location-panel,
  #qc-wedding-hl .qc-menu-panel,
  #qc-wedding-hl .qc-timeline-card,
  #qc-wedding-hl .qc-count-wrap,
  #coco-invite .coco-content,
  #coco-invite .coco-info-wrap,
  #coco-invite .coco-party-wrap,
  #coco-invite .coco-form-wrap,
  .cd-shell .cd-sheet-inner,
  .cd-shell .cd-hero,
  .cd-shell .cd-choice-layout,
  .cd-shell .cd-clarity,
  .cd-shell .cd-journey-layout,
  .cd-shell .cd-data-layout,
  .cd-shell .cd-form-layout,
  .cd-shell .cd-pay-layout,
  .ebo-shell .ebo-content,
  .studio-app .sheet-inner,
  .sergio-frame .sheet-inner,
  .carta-app .selector-card,
  .carta-app .rail-shell {
    width: min(100%, 1000px) !important;
    max-width: min(1000px, calc(100% - 84px)) !important;
  }

  .carrus-sheet,
  .cd-sheet,
  .ebo-sheet,
  .studio-sheet,
  .sergio-sheet {
    padding-inline: clamp(44px, 5vw, 86px) !important;
  }

  .carrus-dots,
  .cd-dots,
  .dots,
  .ebo-progress,
  .coco-dots,
  .qc-dots {
    width: min(620px, calc(100% - 180px)) !important;
    max-width: 620px !important;
  }

  .desktop-arrow-prev,
  .qc-desktop-arrow.prev,
  .coco-desktop-arrow.prev,
  .cd-desktop-arrow.prev,
  .arrow.prev,
  .ebo-arrow.prev {
    left: clamp(16px, 2vw, 30px) !important;
  }

  .desktop-arrow-next,
  .qc-desktop-arrow.next,
  .coco-desktop-arrow.next,
  .cd-desktop-arrow.next,
  .arrow.next,
  .ebo-arrow.next {
    right: clamp(16px, 2vw, 30px) !important;
  }

  .desktop-arrow,
  .qc-desktop-arrow,
  .coco-desktop-arrow,
  .cd-desktop-arrow,
  .arrow,
  .ebo-arrow {
    width: 44px !important;
    height: 44px !important;
  }

  /* Desktop welcome gates */
  .carrus-gate,
  .studio-app .start-gate,
  .sergio-app .start-gate,
  .start-modal,
  .cd-shell .cd-welcome,
  #qc-wedding-hl .qc-welcome,
  #coco-invite .coco-welcome {
    padding: clamp(34px, 5vw, 72px) !important;
  }

  .gate-panel,
  .studio-app .start-gate-inner,
  .sergio-app .start-gate-inner,
  .start-modal .start-card,
  .cd-shell .cd-welcome-panel,
  #qc-wedding-hl .qc-welcome-card,
  #coco-invite .coco-welcome-card {
    width: min(100%, 680px) !important;
    max-width: min(680px, calc(100% - 96px)) !important;
    min-height: clamp(310px, 46svh, 430px) !important;
    padding: clamp(28px, 3.6vw, 46px) !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: clamp(12px, 1.6vw, 20px) !important;
  }

  .gate-logo,
  .studio-app .start-gate-logo,
  .sergio-app .start-gate-logo,
  #coco-invite .coco-welcome-logo,
  .start-modal .start-card img {
    width: clamp(120px, 15vw, 176px) !important;
    height: auto !important;
  }

  .gate-title,
  .studio-app .start-gate-title,
  .cd-shell .cd-welcome-title,
  #qc-wedding-hl .qc-welcome-title,
  #coco-invite .coco-welcome-title,
  .start-modal .start-card h2 {
    max-width: 11em !important;
    font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
    line-height: .95 !important;
    text-align: center !important;
  }

  .studio-app .start-gate-copy,
  .sergio-app .start-gate-copy,
  .cd-shell .cd-welcome-text,
  #qc-wedding-hl .qc-welcome-text,
  #coco-invite .coco-welcome-text,
  .start-modal .start-card p {
    max-width: 36em !important;
    font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }

  .gate-panel .carrus-cta,
  .studio-app .start-gate .studio-cta,
  .sergio-app .start-gate .cta,
  .start-modal .start-card .ebo-btn,
  .cd-shell .cd-enter,
  #qc-wedding-hl .qc-enter-btn,
  #coco-invite .coco-enter-btn {
    width: min(100%, 360px) !important;
    justify-self: center !important;
  }

  /* Home Carrus */
  .carrus-slide-1 .sheet-inner,
  .carrus-slide-3 .sheet-inner,
  .carrus-slide-10 .sheet-inner {
    align-content: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .carrus-slide-1 .intro-frame,
  .carrus-slide-3 .wedding-poster {
    width: min(100%, 680px) !important;
    margin-inline: auto !important;
    justify-items: center !important;
  }

  .carrus-slide-1 .intro-type,
  .carrus-slide-3 .wedding-type {
    width: min(100%, 560px) !important;
  }

  .carrus-slide-1 .intro-type .display,
  .carrus-slide-1 .intro-type .copy,
  .carrus-slide-3 .copy,
  .carrus-slide-3 .concept-remate {
    margin-inline: auto !important;
    text-align: center !important;
  }

  .carrus-slide-9 .sheet-inner {
    justify-items: start !important;
    text-align: left !important;
  }

  .carrus-slide-4 .sheet-inner {
    align-content: center !important;
    justify-items: center !important;
  }

  .carrus-slide-4 .route-system {
    width: min(100%, 940px) !important;
    grid-template-rows: auto auto !important;
    align-content: center !important;
    gap: clamp(18px, 3svh, 28px) !important;
    padding-top: clamp(24px, 5svh, 50px) !important;
  }

  .carrus-slide-4 .route-steps {
    width: min(100%, 920px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-content: center !important;
    align-items: stretch !important;
    gap: clamp(12px, 1.8vw, 18px) !important;
  }

  .carrus-slide-4 .route-steps::before,
  .carrus-slide-4 .route-steps::after {
    display: none !important;
  }

  .carrus-slide-4 .route-step {
    min-height: clamp(172px, 26svh, 220px) !important;
    align-content: center !important;
    padding: clamp(14px, 1.8vw, 20px) !important;
  }

  .carrus-slide-4 .route-copy {
    min-height: 0 !important;
  }

  .diagnostic-shell {
    width: min(100%, 780px) !important;
    margin-inline: auto !important;
    justify-items: center !important;
  }

  .diagnostic-footer {
    width: min(100%, 360px) !important;
    justify-self: center !important;
    justify-items: center !important;
  }

  .diagnostic-footer .carrus-cta {
    justify-self: center !important;
  }

  .carrus-slide-11 .sheet-inner {
    width: min(100%, 1060px) !important;
    max-width: min(1060px, calc(100% - 84px)) !important;
    align-content: center !important;
    justify-items: center !important;
    text-align: left !important;
  }

  .carrus-slide-11 .form-shell {
    width: min(100%, 980px) !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(260px, .72fr) minmax(500px, 1fr) !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 54px) !important;
    padding-top: clamp(34px, 5svh, 68px) !important;
  }

  .carrus-slide-11 .form-shell > div:first-child {
    justify-items: start !important;
    text-align: left !important;
  }

  .carrus-slide-11 .form-shell .title,
  .carrus-slide-11 .form-shell .copy {
    margin-inline: 0 !important;
    text-align: left !important;
  }

  .carrus-slide-11 .form-shell .title {
    max-width: 10em !important;
  }

  .carrus-slide-11 .form-shell .copy {
    max-width: 24em !important;
  }

  .carrus-slide-11 .lead-form-panel {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin-top: clamp(150px, 20svh, 180px) !important;
    padding: clamp(16px, 2vw, 22px) !important;
    background: rgba(255, 253, 248, .70);
    border: 1px solid rgba(43, 43, 43, .12);
    box-shadow: 0 22px 60px rgba(43, 43, 43, .10);
  }

  .carrus-slide-11 .lead-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    justify-items: stretch !important;
    gap: 12px !important;
    padding-bottom: 0 !important;
  }

  .carrus-slide-11 .lead-form > :nth-child(5),
  .carrus-slide-11 .lead-form > :nth-child(6),
  .carrus-slide-11 .lead-form > .form-status,
  .carrus-slide-11 .lead-form > .carrus-cta,
  .carrus-slide-11 .lead-form > .know-carrus {
    grid-column: 1 / -1 !important;
  }

  .carrus-slide-11 .field label,
  .carrus-slide-11 .field legend {
    text-align: left !important;
  }

  .carrus-slide-11 .choice-grid.interest {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .carrus-slide-11 .field textarea {
    min-height: 64px !important;
  }

  .carrus-slide-11 .lead-form .carrus-cta {
    width: min(100%, 360px) !important;
    justify-self: center !important;
  }

  .carrus-slide-11 .know-carrus {
    justify-self: center !important;
  }

  .carrus-slide-5 .format-shell,
  .carrus-slide-8 .example-shell,
  .carrus-slide-10 .compare-shell {
    width: min(100%, 1020px) !important;
    padding-top: clamp(20px, 3svh, 40px) !important;
  }

  .format-rail {
    width: min(100%, 1020px) !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.4vw, 18px) !important;
    align-content: center !important;
  }

  .format-card,
  .format-card:nth-child(5) {
    width: auto !important;
    grid-column: auto !important;
    min-height: clamp(164px, 22svh, 230px) !important;
    padding: clamp(16px, 1.7vw, 22px) !important;
  }

  .format-card h3 {
    font-size: clamp(1rem, 1.25vw, 1.28rem) !important;
  }

  .format-card p,
  .format-card small {
    font-size: clamp(.78rem, .88vw, .95rem) !important;
  }

  .example-grid {
    width: min(100%, 980px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.4vw, 18px) !important;
  }

  .example-card {
    min-height: 108px !important;
  }

  .comparison {
    width: min(100%, 820px) !important;
  }

  .compare-panel {
    min-height: clamp(330px, 44svh, 430px) !important;
    padding: clamp(20px, 2vw, 30px) !important;
  }

  /* La Cayetana */
  #qc-wedding-hl .qc-split {
    width: min(100%, 980px) !important;
    display: grid !important;
    grid-template-columns: minmax(320px, .9fr) minmax(420px, 1fr) !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 58px) !important;
    padding-inline: clamp(28px, 4vw, 54px) !important;
  }

  #qc-wedding-hl .qc-split-text,
  #qc-wedding-hl .qc-hero-info,
  #qc-wedding-hl .qc-count-copy {
    justify-items: start !important;
    text-align: left !important;
  }

  #qc-wedding-hl .qc-count-wrap {
    display: grid !important;
    grid-template-columns: minmax(340px, .9fr) minmax(360px, 1fr) !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 54px) !important;
  }

  #qc-wedding-hl .qc-ticket-wrap {
    gap: 8px !important;
    padding-top: clamp(48px, 6svh, 64px) !important;
    padding-bottom: clamp(48px, 6svh, 64px) !important;
  }

  #qc-wedding-hl .qc-mini-photo:nth-child(1),
  #qc-wedding-hl .qc-mini-photo:nth-child(3) {
    height: clamp(74px, 12svh, 92px) !important;
  }

  #qc-wedding-hl .qc-mini-photo:nth-child(2) {
    height: clamp(96px, 15svh, 120px) !important;
  }

  #qc-wedding-hl .qc-ticket-top {
    padding: 16px 18px 11px !important;
  }

  #qc-wedding-hl .qc-ticket-body {
    gap: 8px !important;
    padding: 12px !important;
  }

  #qc-wedding-hl .qc-ticket-actions .qc-btn {
    min-height: 44px !important;
    padding: 10px 12px !important;
  }

  #qc-wedding-hl .qc-count-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  #qc-wedding-hl .qc-form-wrap {
    width: min(100%, 940px) !important;
    max-width: min(940px, calc(100% - 84px)) !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(42px, 6svh, 70px) 0 clamp(54px, 7svh, 76px) !important;
  }

  #qc-wedding-hl .qc-letter {
    width: 100% !important;
  }

  #qc-wedding-hl .qc-letter > .qc-pretitle,
  #qc-wedding-hl .qc-letter > .qc-title,
  #qc-wedding-hl .qc-letter > .qc-text {
    margin-inline: auto !important;
    text-align: center !important;
  }

  #qc-wedding-hl .qc-letter > .qc-title {
    font-size: clamp(38px, 4vw, 56px) !important;
  }

  #qc-wedding-hl .qc-letter > .qc-text {
    max-width: 42em !important;
  }

  #qc-wedding-hl .qc-form {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
  }

  #qc-wedding-hl .qc-form-section {
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  #qc-wedding-hl .qc-form-section:first-of-type,
  #qc-wedding-hl .qc-form-section:nth-of-type(4),
  #qc-wedding-hl .qc-form-section:nth-of-type(6),
  #qc-wedding-hl .qc-inline-error,
  #qc-wedding-hl .qc-form > .qc-btn,
  #qc-wedding-hl .qc-message {
    grid-column: 1 / -1 !important;
  }

  #qc-wedding-hl .qc-form-section:first-of-type,
  #qc-wedding-hl .qc-form-section:nth-of-type(4) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }

  #qc-wedding-hl .qc-form-section:first-of-type .qc-form-section-title,
  #qc-wedding-hl .qc-form-section:nth-of-type(4) .qc-form-section-title,
  #qc-wedding-hl .qc-form-section:nth-of-type(4) .qc-dynamic-list {
    grid-column: 1 / -1 !important;
  }

  #qc-wedding-hl .qc-input,
  #qc-wedding-hl .qc-select,
  #qc-wedding-hl .qc-textarea,
  #qc-wedding-hl .qc-radio span {
    min-height: 40px !important;
    padding: 9px 11px !important;
  }

  #qc-wedding-hl .qc-textarea {
    min-height: 58px !important;
  }

  #qc-wedding-hl .qc-radio-grid,
  #qc-wedding-hl .qc-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #qc-wedding-hl .qc-form > .qc-btn {
    width: min(100%, 340px) !important;
    justify-self: center !important;
  }

  /* Cocoliche */
  #coco-invite .coco-emotion-layout,
  #coco-invite .coco-info-wrap,
  #coco-invite .coco-party-wrap {
    display: grid !important;
    grid-template-columns: minmax(330px, .9fr) minmax(430px, 1fr) !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 56px) !important;
    padding-top: clamp(62px, 8svh, 100px) !important;
  }

  #coco-invite .coco-emotion-layout {
    grid-template-rows: auto auto !important;
    align-content: center !important;
    padding-top: clamp(28px, 4svh, 54px) !important;
  }

  #coco-invite .coco-emotion-layout .coco-photo-card {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    width: min(100%, 390px) !important;
  }

  #coco-invite .coco-emotion-layout .coco-mini-photo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    width: 92px !important;
    margin: 0 0 -6px 0 !important;
  }

  #coco-invite .coco-emotion-layout .coco-card {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: min(100%, 430px) !important;
    padding: clamp(18px, 2vw, 26px) !important;
  }

  #coco-invite .coco-emotion-layout .coco-title {
    font-size: clamp(38px, 4.2vw, 58px) !important;
    line-height: .96 !important;
  }

  #coco-invite .coco-card,
  #coco-invite .coco-info-card {
    text-align: left !important;
  }

  #coco-invite .coco-photo-card {
    width: min(100%, 380px) !important;
  }

  #coco-invite .coco-collage {
    width: min(100%, 460px) !important;
    height: min(410px, 54svh) !important;
  }

  #coco-invite .coco-form-wrap {
    width: min(100%, 940px) !important;
    max-width: min(940px, calc(100% - 84px)) !important;
    align-items: center !important;
    padding: clamp(42px, 6svh, 70px) 0 clamp(54px, 7svh, 76px) !important;
  }

  #coco-invite .coco-form-card {
    width: min(100%, 840px) !important;
    max-height: none !important;
    overflow: visible !important;
    padding: clamp(20px, 2.4vw, 30px) !important;
  }

  #coco-invite .coco-form-card .coco-kicker,
  #coco-invite .coco-form-card .coco-title,
  #coco-invite .coco-form-card .coco-text {
    text-align: center !important;
  }

  #coco-invite .coco-form-card .coco-title {
    font-size: clamp(36px, 4vw, 52px) !important;
  }

  #coco-invite .coco-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
  }

  #coco-invite .coco-field-full,
  #coco-invite .coco-extra-fields,
  #coco-invite .coco-form-error,
  #coco-invite .coco-submit,
  #coco-invite .coco-carrus-link {
    grid-column: 1 / -1 !important;
  }

  #coco-invite .coco-input,
  #coco-invite .coco-select,
  #coco-invite .coco-textarea,
  #coco-invite .coco-radio span {
    min-height: 40px !important;
    padding: 9px 11px !important;
  }

  #coco-invite .coco-textarea {
    min-height: 58px !important;
  }

  #coco-invite .coco-submit {
    width: min(100%, 340px) !important;
    justify-self: center !important;
  }

  /* Conciencia Duo */
  .cd-shell .cd-hero {
    display: grid !important;
    grid-template-columns: minmax(380px, 1fr) minmax(360px, .86fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: clamp(28px, 4vw, 64px) !important;
    text-align: left !important;
  }

  .cd-shell .cd-hero-top {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cd-shell .cd-duo-placeholder {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    width: min(100%, 420px) !important;
    max-height: min(620px, 70svh) !important;
  }

  .cd-shell .cd-hero-copy {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-items: start !important;
    text-align: left !important;
  }

  .cd-shell .cd-clarity,
  .cd-shell .cd-data-layout,
  .cd-shell .cd-pay-layout {
    grid-template-columns: minmax(380px, 1fr) minmax(360px, .9fr) !important;
    gap: clamp(28px, 4vw, 64px) !important;
  }

  .cd-shell .cd-journey-layout .cd-modules,
  .cd-shell .cd-choice-layout .cd-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cd-shell .cd-form-layout {
    width: min(100%, 960px) !important;
    max-height: calc(100% - 88px) !important;
    align-content: start !important;
    overflow-y: auto !important;
    padding: clamp(14px, 2svh, 22px) 4px 28px !important;
    scrollbar-width: none !important;
  }

  .cd-shell .cd-form-layout::-webkit-scrollbar {
    display: none !important;
  }

  .cd-shell .cd-form-layout .cd-title {
    font-size: clamp(34px, 3.4vw, 48px) !important;
  }

  .cd-shell .cd-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px 12px !important;
    padding-bottom: 0 !important;
  }

  .cd-shell .cd-form .cd-field:nth-child(5),
  .cd-shell .cd-form .cd-other-field,
  .cd-shell .cd-form [data-submit-lead],
  .cd-shell .cd-form .cd-error,
  .cd-shell .cd-form .cd-success {
    grid-column: 1 / -1 !important;
  }

  .cd-shell .cd-transform-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  /* Escuela de Bombo */
  .ebo-shell .sheet-1,
  .ebo-shell .sheet-7 {
    display: grid !important;
    grid-template-columns: minmax(360px, .9fr) minmax(420px, 1fr) !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 60px) !important;
  }

  .ebo-shell .sheet-1 .media-bg,
  .ebo-shell .sheet-7 .media-bg {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 460px) !important;
    height: min(620px, calc(100% - 40px)) !important;
    border: 1px solid rgba(244, 230, 194, .20);
    border-radius: 30px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .30);
  }

  .ebo-shell .sheet-1 .ebo-content,
  .ebo-shell .sheet-7 .ebo-content {
    justify-items: start !important;
    text-align: left !important;
  }

  .ebo-shell .sheet-4 .ebo-content {
    display: grid !important;
    grid-template-columns: minmax(340px, .9fr) minmax(420px, 1fr) !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 58px) !important;
    text-align: left !important;
  }

  .ebo-shell .sheet-4 .course-video {
    width: min(100%, 500px) !important;
    aspect-ratio: 16 / 10 !important;
  }

  .ebo-shell .bonus-strip,
  .ebo-shell .testimonial-viewport {
    width: min(100%, 760px) !important;
  }

  /* Studio Be Dancer */
  .studio-app .studio-sheet:first-child {
    display: grid !important;
    grid-template-columns: minmax(320px, 440px) minmax(330px, 440px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 58px) !important;
    background:
      radial-gradient(circle at 18% 18%, rgba(255, 159, 25, .22), transparent 30%),
      radial-gradient(circle at 78% 78%, rgba(36, 215, 255, .14), transparent 28%),
      linear-gradient(135deg, #090909, #1b1010 48%, #050505) !important;
  }

  .studio-app .studio-sheet:first-child .hero-video {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    width: min(100%, 410px) !important;
    height: min(600px, calc(100% - 46px)) !important;
    justify-self: center !important;
    object-fit: cover !important;
    opacity: 1 !important;
    border: 1px solid rgba(255, 248, 239, .18);
    border-radius: 32px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .46);
  }

  .studio-app .studio-sheet:first-child .sheet-inner {
    width: min(100%, 440px) !important;
    align-content: center !important;
    justify-items: start !important;
    text-align: left !important;
    transform: translateY(-24px) !important;
  }

  @media (max-height: 760px) {
    .studio-app .studio-sheet:first-child .hero-video {
      height: min(560px, calc(100% - 72px)) !important;
    }

    .studio-app .studio-sheet:first-child .sheet-inner {
      height: auto !important;
      align-self: center !important;
      gap: 11px !important;
      transform: translateY(-36px) !important;
    }

    .studio-app .studio-sheet:first-child .logo {
      width: min(150px, 18vw) !important;
    }

    .studio-app .studio-sheet:first-child .title {
      font-size: clamp(2.45rem, 5vw, 3.55rem) !important;
    }

    .studio-app .studio-sheet:first-child .copy {
      font-size: .92rem !important;
      line-height: 1.34 !important;
    }

    .studio-app .studio-sheet:first-child .studio-cta,
    .studio-app .studio-sheet:first-child .ghost-cta {
      min-height: 44px !important;
      padding: 10px 13px !important;
    }
  }

  .studio-app .pill-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: min(100%, 920px) !important;
  }

  .studio-app .price-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(100%, 760px) !important;
  }

  .studio-app .discipline-strip {
    width: min(100%, 980px) !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    gap: clamp(10px, 1.2vw, 16px) !important;
  }

  .studio-app .discipline-card {
    min-height: clamp(178px, 25svh, 224px) !important;
    padding: clamp(14px, 1.5vw, 18px) !important;
  }

  .studio-app .discipline-card img {
    opacity: .66 !important;
    object-position: center 42% !important;
  }

  .studio-app .discipline-card::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .82)) !important;
  }

  .studio-app .lead-panel {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .studio-app .studio-track .studio-sheet:nth-child(9) .sheet-inner {
    width: min(100%, 980px) !important;
    max-width: min(980px, calc(100% - 84px)) !important;
    display: grid !important;
    grid-template-columns: minmax(260px, .68fr) minmax(520px, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: clamp(24px, 4vw, 54px) !important;
    text-align: left !important;
  }

  .studio-app .studio-track .studio-sheet:nth-child(9) .sheet-inner > div:first-child {
    justify-items: start !important;
    text-align: left !important;
  }

  .studio-app .studio-track .studio-sheet:nth-child(9) .title,
  .studio-app .studio-track .studio-sheet:nth-child(9) .kicker {
    text-align: left !important;
  }

  .studio-app .lead-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
  }

  .studio-app .lead-form > .field:nth-child(5),
  .studio-app .lead-form > .field:nth-child(6),
  .studio-app .lead-form > .status,
  .studio-app .lead-form > .studio-cta {
    grid-column: 1 / -1 !important;
  }

  .studio-app .lead-form > .field:nth-child(5) {
    width: min(100%, 280px) !important;
    justify-self: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .studio-app .lead-form > .field:nth-child(5) label,
  .studio-app .lead-form > .field:nth-child(5) input {
    text-align: center !important;
  }

  .studio-app .lead-form .field {
    justify-items: stretch !important;
    text-align: left !important;
  }

  .studio-app .lead-form .field label {
    text-align: left !important;
  }

  .studio-app .lead-form .field input,
  .studio-app .lead-form .field select,
  .studio-app .lead-form .field textarea {
    min-height: 40px !important;
    padding: 9px 11px !important;
    text-align: left !important;
  }

  .studio-app .lead-form .field textarea {
    min-height: 58px !important;
  }

  .studio-app .lead-form .studio-cta {
    width: min(100%, 340px) !important;
    justify-self: center !important;
  }

  .studio-app .studio-track .studio-sheet:nth-child(3) .sheet-inner,
  .studio-app .studio-track .studio-sheet:nth-child(7) .sheet-inner,
  .studio-app .studio-track .studio-sheet:nth-child(8) .sheet-inner {
    align-content: center !important;
    justify-items: center !important;
  }

  .studio-app .studio-track .studio-sheet:nth-child(7) .studio-cta {
    justify-self: center !important;
  }

  .studio-app .map-card {
    position: relative !important;
    width: min(100%, 860px) !important;
    min-height: min(450px, calc(100% - 60px)) !important;
    display: grid !important;
    grid-template-columns: minmax(300px, .9fr) minmax(320px, 1fr) !important;
    grid-template-rows: repeat(5, auto) !important;
    align-content: center !important;
    align-items: center !important;
    justify-items: start !important;
    gap: clamp(10px, 1.4vw, 16px) clamp(26px, 4vw, 54px) !important;
    padding: clamp(24px, 3vw, 38px) !important;
    overflow: hidden !important;
    text-align: left !important;
    background:
      radial-gradient(circle at 92% 18%, rgba(36, 215, 255, .18), transparent 30%),
      linear-gradient(135deg, rgba(5, 5, 5, .96), rgba(34, 8, 12, .94) 54%, rgba(5, 5, 5, .96)) !important;
  }

  .studio-app .map-card::before {
    content: "" !important;
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 340px !important;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .24)),
      url("/assets/studiobedancer/backgrounds/viaje.webp") center / cover !important;
    border: 1px solid rgba(255, 248, 239, .16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  }

  .studio-app .map-card > * {
    grid-column: 2 !important;
  }

  .studio-app .map-card .kicker,
  .studio-app .map-card .title,
  .studio-app .map-card .contact-line {
    justify-self: start !important;
    text-align: left !important;
  }

  .studio-app .map-card .title {
    max-width: 8em !important;
  }

  .studio-app .map-card .map-link {
    justify-self: start !important;
  }

  /* Sergio Tolaba */
  .sergio-frame .hero {
    place-items: center start !important;
  }

  .sergio-frame .hero::before {
    background-position: 72% center !important;
  }

  .sergio-frame .hero .sheet-inner,
  .sergio-frame .pattern-grid .sheet-inner,
  .sergio-frame .mission-sheet .sheet-inner,
  .sergio-frame .result-sheet .sheet-inner {
    width: min(560px, 54%) !important;
    justify-items: start !important;
    text-align: left !important;
  }

  .sergio-frame .service-grid,
  .sergio-frame .choice-grid,
  .sergio-frame .process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: min(100%, 960px) !important;
  }

  .sergio-frame .problem-stack,
  .sergio-frame .trust-layout {
    width: min(100%, 900px) !important;
  }

  .sergio-app .music-toggle {
    top: 22px !important;
    right: 24px !important;
  }

  .sergio-frame .form-sheet {
    padding-bottom: clamp(44px, 5vw, 86px) !important;
  }

  .sergio-frame .form-sheet .sheet-inner {
    width: min(100%, 980px) !important;
    max-width: min(980px, calc(100% - 84px)) !important;
    display: grid !important;
    grid-template-columns: minmax(260px, .68fr) minmax(540px, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: clamp(24px, 4vw, 54px) !important;
    text-align: left !important;
  }

  .sergio-frame .form-sheet .sheet-inner > div:first-child {
    justify-items: start !important;
    text-align: left !important;
  }

  .sergio-frame .form-sheet .logo-sergio {
    justify-self: start !important;
  }

  .sergio-frame .form-sheet .title,
  .sergio-frame .form-sheet .copy {
    text-align: left !important;
  }

  .sergio-frame .form-panel {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    padding: clamp(16px, 2vw, 22px) !important;
  }

  .sergio-frame .form-panel > .field:first-child,
  .sergio-frame .form-panel > .field-pair,
  .sergio-frame .form-panel > .field:nth-child(7),
  .sergio-frame .form-panel > .form-status,
  .sergio-frame .form-panel > .cta {
    grid-column: 1 / -1 !important;
  }

  .sergio-frame .form-panel .field {
    justify-items: stretch !important;
    text-align: left !important;
  }

  .sergio-frame .form-panel .field label {
    text-align: left !important;
  }

  .sergio-frame .form-panel .field input,
  .sergio-frame .form-panel .field select,
  .sergio-frame .form-panel .field textarea {
    min-height: 40px !important;
    padding: 9px 11px !important;
    text-align: left !important;
  }

  .sergio-frame .form-panel .field textarea {
    min-height: 58px !important;
  }

  .sergio-frame .form-panel > .cta {
    width: min(100%, 340px) !important;
    justify-self: center !important;
  }

  .sergio-app .dots {
    bottom: 22px !important;
  }

  .sergio-app .carrus-signature {
    right: 24px !important;
    bottom: 22px !important;
  }

  /* Club Montebello carta */
  .carta-app .selector-card {
    width: min(560px, 100%) !important;
  }

  .carta-app .rail-shell {
    justify-self: center !important;
    align-self: stretch !important;
  }

  .carta-app .product-page {
    grid-template-columns: minmax(340px, .85fr) minmax(420px, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: clamp(28px, 4vw, 64px) !important;
    padding: clamp(16px, 2vw, 28px) clamp(28px, 4vw, 54px) !important;
    text-align: left !important;
  }

  .carta-app .page-brand {
    grid-column: 1 / -1 !important;
    justify-items: start !important;
  }

  .carta-app .product-visual {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    width: min(100%, 430px) !important;
    max-height: min(620px, 68svh) !important;
  }

  .carta-app .product-copy {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: min(100%, 520px) !important;
    justify-items: start !important;
    text-align: left !important;
  }

  .carta-app .product-copy h2,
  .carta-app .product-copy p,
  .carta-app .price {
    text-align: left !important;
  }

  .carta-app .product-copy h2 {
    font-size: clamp(40px, 4.5vw, 68px) !important;
  }

  .carta-app .product-copy p {
    font-size: clamp(15px, 1.1vw, 18px) !important;
    -webkit-line-clamp: 5 !important;
  }

  .carta-app .change-button {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-self: start !important;
  }
}

@media (min-width: 1440px) {
  .carrus-app,
  #qc-wedding-hl,
  #coco-invite,
  .cd-shell,
  .ebo-shell,
  .studio-app,
  .sergio-frame,
  .carta-app {
    width: min(1280px, calc(100vw - 64px)) !important;
    height: min(920px, calc(100svh - 48px)) !important;
  }
}
