.phase1-subtitle{display:block}.hp{position:absolute!important;left:-10000px!important}.error-page{min-height:55vh;padding:80px max(20px,8vw);background:#fae9d9}.error-page h1{font-size:clamp(42px,7vw,80px)}
.form-modal[open] {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: min(560px, calc(100% - 30px)) !important;
  max-width: 560px !important;
  max-height: calc(100dvh - 30px) !important;
  margin: auto !important;
  padding: 0 !important;
  border: 1px solid rgba(17,17,17,.18) !important;
  border-radius: 0 !important;
  background: var(--ohnice-canvas, #fae9d9) !important;
  color: var(--ohnice-ink, #111) !important;
  box-shadow: 12px 12px 0 rgba(237,28,36,.28), 0 24px 80px rgba(0,0,0,.28) !important;
  overflow: auto !important;
}
.form-modal::backdrop { background: rgba(17,13,11,.68); backdrop-filter: blur(2px); }
.form-modal form { display: block !important; margin: 0 !important; padding: 42px 42px 36px !important; font-family: var(--ohnice-body-font, Tinos, Arial, sans-serif) !important; }
.form-modal form::before { content: "OH! NICE"; display: block; margin: 0 52px 12px 0; color: var(--ohnice-accent, #ed1c24); font: italic 700 13px/1.2 var(--ohnice-display-font, Georgia, serif); letter-spacing: .14em; }
.form-modal h2 { margin: 0 52px 28px 0 !important; color: var(--ohnice-ink, #111) !important; font: italic 700 clamp(34px, 7vw, 48px)/.98 var(--ohnice-display-font, Georgia, serif) !important; letter-spacing: -.025em !important; text-transform: none !important; }
.form-modal label { display: block !important; margin: 0 0 18px !important; color: var(--ohnice-ink, #111) !important; font-size: 17px !important; font-style: italic !important; font-weight: 600 !important; line-height: 1.25 !important; }
.form-modal input:not(.hp), .form-modal textarea { display: block !important; width: 100% !important; min-height: 54px !important; margin: 7px 0 0 !important; padding: 12px 15px !important; box-sizing: border-box !important; border: 1px solid rgba(17,17,17,.3) !important; border-radius: 0 !important; outline: 0 !important; background: #fff !important; color: #111 !important; font: 400 18px/1.2 var(--ohnice-body-font, Tinos, Arial, sans-serif) !important; box-shadow: none !important; appearance: none !important; }
.form-modal input:not(.hp):focus, .form-modal textarea:focus { border-color: var(--ohnice-accent, #ed1c24) !important; box-shadow: inset 4px 0 0 var(--ohnice-accent, #ed1c24) !important; }
.form-modal form > p:not([data-form-status]) { margin: 8px 0 22px !important; color: #333 !important; font-size: 13px !important; font-style: normal !important; font-weight: 400 !important; line-height: 1.45 !important; }
.form-modal form > p a { color: inherit !important; font-weight: 700 !important; text-decoration: underline !important; text-decoration-color: var(--ohnice-accent, #ed1c24) !important; text-underline-offset: 3px !important; }
.form-modal button[type="submit"] { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 56px !important; margin: 0 !important; padding: 13px 20px !important; border: 1px solid var(--ohnice-accent, #ed1c24) !important; border-radius: var(--ohnice-cta-radius, 2px) !important; background: var(--ohnice-accent, #ed1c24) !important; color: #fff !important; font: italic 700 17px/1.1 var(--ohnice-display-font, Georgia, serif) !important; letter-spacing: .035em !important; text-transform: uppercase !important; box-shadow: none !important; cursor: pointer !important; }
.form-modal button[type="submit"]:hover, .form-modal button[type="submit"]:focus-visible { background: #111 !important; border-color: #111 !important; }
.form-modal [data-close-modal] { position: absolute !important; top: 16px !important; right: 16px !important; z-index: 2 !important; display: grid !important; place-items: center !important; width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 0 3px !important; border: 1px solid #111 !important; border-radius: 50% !important; outline: 0 !important; background: transparent !important; color: #111 !important; font: 300 31px/1 Arial, sans-serif !important; box-shadow: none !important; cursor: pointer !important; }
.form-modal [data-close-modal]:hover, .form-modal [data-close-modal]:focus-visible { border-color: var(--ohnice-accent, #ed1c24) !important; background: var(--ohnice-accent, #ed1c24) !important; color: #fff !important; }
.form-modal [data-form-status] { min-height: 1.4em !important; margin: 12px 0 0 !important; color: #111 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; }
.menu-item-has-children.phase2-submenu-open > .sub-menu { display: block !important; visibility: visible !important; opacity: 1 !important; }
.elementor-tab-content[hidden], .eael-accordion-content[hidden], .wc-tab[hidden], .swiper-slide[hidden] { display: none !important; }
.elementor-gallery-item[hidden] { display: none !important; }
.phase2-image-compare { position: relative !important; display: block; width: 100%; overflow: hidden; background: #eee; }
.phase2-image-compare > img, .phase2-image-compare .phase2-compare-after > img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.phase2-compare-after { position: absolute; inset: 0; }
.phase2-compare-divider { position: absolute; top: 0; bottom: 0; z-index: 3; width: 3px; transform: translateX(-50%); background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.45); pointer-events: none; }
.phase2-compare-divider::after { content: '\2194'; position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 42px; height: 42px; transform: translate(-50%,-50%); border: 3px solid #fff; border-radius: 50%; background: rgba(0,0,0,.35); color: #fff; font: 24px/1 Arial,sans-serif; }
.phase2-compare-range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.phase2-compare-label { position: absolute; top: 14px; z-index: 4; padding: 5px 10px; background: rgba(0,0,0,.48); color: #fff; font-weight: 600; line-height: 1; pointer-events: none; }
.phase2-compare-label-before { left: 14px; }
.phase2-compare-label-after { right: 14px; }
.phase2-contract-dialog { width: min(1100px, calc(100% - 24px)); height: min(880px, calc(100vh - 24px)); padding: 0; border: 0; background: #777; }
.phase2-contract-dialog::backdrop { background: rgba(0,0,0,.72); }
.phase2-contract-toolbar { display: flex; align-items: center; gap: 18px; height: 54px; padding: 0 14px 0 20px; background: #fff; box-sizing: border-box; }
.phase2-contract-toolbar strong { margin-right: auto; }
.phase2-contract-toolbar a { color: inherit; text-decoration: underline; }
.phase2-contract-toolbar button { width: 40px; height: 40px; border: 0; background: transparent; font-size: 32px; line-height: 1; cursor: pointer; }
.phase2-contract-dialog iframe { display: block; width: 100%; height: calc(100% - 54px); border: 0; background: #777; }
.site-footer-container { position: static !important; inset: auto !important; }
.js-omnivideo-embed[role="button"] { cursor: pointer; }
.js-omnivideo-embed iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: inherit; }
.phase2-yandex-reviews { display: block; width: 800px; max-width: 100%; height: 400px; border: 0; }
.phase2-related-links { width: min(1120px, calc(100% - 40px)); margin: 48px auto; padding: 30px; box-sizing: border-box; background: #fff; }
.phase2-related-links h2 { margin: 0 0 20px; }
.phase2-related-links ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.phase2-related-links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.phase2-map { width: 100%; min-height: 420px; overflow: hidden; background: #f3f3f3; }
.phase2-map iframe { display: block; width: 100%; height: 502px; border: 0; }
.phase2-page-contacts .phase2-contacts-details { display: block !important; }
.phase2-page-contacts .phase2-contacts-details > .wp-block-column { width: 100% !important; flex-basis: 100% !important; }
.phase2-contacts-map-section { width: min(1120px, 100%); margin: 46px auto 60px; padding: clamp(26px, 4vw, 48px); box-sizing: border-box; border: 1px solid rgba(17,17,17,.16); border-left: 5px solid #ed1c24; background: #fff; color: #171717; }
.phase2-contacts-map__header { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); align-items: end; gap: 28px; margin-bottom: 30px; }
.phase2-contacts-map__eyebrow { display: block; margin-bottom: 10px; color: #ed1c24; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.phase2-contacts-map__header h2 { margin: 0 !important; color: #171717 !important; font: italic 700 clamp(36px,5vw,56px)/1 var(--ohnice-display-font, Georgia, serif) !important; letter-spacing: -.025em !important; }
.phase2-contacts-map__header p { max-width: 470px; margin: 0; color: #555; font-size: 16px; line-height: 1.5; }
.phase2-contacts-map__body { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: 22px; }
.phase2-contacts-map__addresses { display: grid; align-content: start; gap: 10px; }
.phase2-contacts-map__address { display: grid; width: 100%; padding: 17px 18px; box-sizing: border-box; border: 1px solid rgba(17,17,17,.18); border-radius: 0; background: #fae9d9; color: #171717; text-align: left; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.phase2-contacts-map__address span { margin-bottom: 5px; color: #ed1c24; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.phase2-contacts-map__address strong { margin-bottom: 4px; font: italic 700 21px/1.1 var(--ohnice-display-font, Georgia, serif); }
.phase2-contacts-map__address small { color: inherit; font-size: 13px; line-height: 1.35; opacity: .72; }
.phase2-contacts-map__address:hover, .phase2-contacts-map__address:focus-visible { border-color: #ed1c24; outline: 0; }
.phase2-contacts-map__address.is-active { border-color: #171717; background: #171717; color: #fff; }
.phase2-contacts-map__address.is-active span { color: #ff4b51; }
.phase2-contacts-map__canvas { min-width: 0; }
.phase2-contacts-map__canvas iframe { display: block; width: 100%; height: 480px; border: 0; background: #f3f3f3; }
.phase2-contacts-map__canvas a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px 18px; box-sizing: border-box; background: #ed1c24; color: #fff; font: italic 700 16px/1.2 var(--ohnice-display-font, Georgia, serif); letter-spacing: .025em; text-decoration: none; text-transform: uppercase; }
.phase2-contacts-map__canvas a:hover, .phase2-contacts-map__canvas a:focus-visible { background: #171717; }
.phase2-page-reviews .omnivideo-block { margin: 0; padding: 0; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.09); overflow: hidden; }
.phase2-page-reviews .omnivideo-embed-container { display: block; }
.phase2-page-reviews .omnivideo-embed { width: 100%; max-height: none; aspect-ratio: 16 / 9 !important; border-radius: 12px; overflow: hidden !important; background: #171717; }
.phase2-page-reviews .omnivideo-poster { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.phase2-page-reviews .omnivideo-icon { width: 58px; height: 58px; padding: 11px; border-radius: 50%; background: rgba(237,28,36,.92); box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.phase2-page-reviews .elementor-section:has(.js-omnivideo-embed) > .elementor-container { align-items: stretch; gap: 22px; }
.phase2-page-reviews .elementor-section:has(.js-omnivideo-embed) > .elementor-container > .elementor-column { width: calc((100% - 44px) / 3) !important; }
.phase2-page-reviews .elementor-widget-shortcode,
.phase2-page-reviews .elementor-widget-shortcode > .elementor-widget-container,
.phase2-page-reviews .elementor-shortcode { height: 100%; }
.gs_team_area.gs-team--fixed-height .gs_team_image__wrapper { width: 100%; aspect-ratio: 2 / 3; height: auto !important; overflow: hidden; }
.gs_team_area.gs-team--fixed-height .gs_team_image__wrapper > .gs_team_member--image { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.phase2-slider-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; }
.swiper[data-phase2-ready="true"], .swiper-container[data-phase2-ready="true"] { display: block !important; width: 100% !important; height: auto !important; overflow: visible !important; }
.swiper[data-phase2-ready="true"] > .swiper-wrapper, .swiper-container[data-phase2-ready="true"] > .swiper-wrapper { display: block !important; width: 100% !important; height: auto !important; transform: none !important; }
.swiper[data-phase2-ready="true"] .swiper-slide:not([hidden]), .swiper-container[data-phase2-ready="true"] .swiper-slide:not([hidden]) { display: block !important; position: relative !important; width: 100% !important; height: auto !important; inset: auto !important; transform: none !important; }
.phase2-slider-controls button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: #ed1c24; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.phase2-accessible-red-button { background-color: #d71920 !important; border-color: #d71920 !important; }
.phase2-contrast-red { color: #d71920 !important; }
.phase2-consent-link { text-decoration: underline !important; text-underline-offset: .16em; }
.single-product .woocommerce-product-gallery,
.woocommerce .woocommerce-product-gallery {
  opacity: 1 !important;
  visibility: visible !important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a {
  display: block;
  width: 100%;
}
.single-product .woocommerce-product-gallery__image img.wp-post-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}
.pum.phase2-popup-open { display: flex !important; visibility: visible !important; opacity: 1 !important; align-items: center; justify-content: center; position: fixed !important; inset: 0 !important; z-index: 1999999999 !important; background: rgba(0,0,0,.55); }
.pum.phase2-popup-open .pum-container { display: block !important; opacity: 1 !important; position: relative !important; inset: auto !important; margin: 20px; }
.phase2-modal-open { overflow: hidden; }
.phase2-lightbox { width: min(1000px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 10px; border: 0; background: #111; }
.phase2-lightbox::backdrop { background: rgba(0,0,0,.8); }
.phase2-lightbox img { display: block; max-width: 100%; max-height: calc(100vh - 72px); margin: auto; object-fit: contain; }
.phase2-lightbox button { position: absolute; top: 8px; right: 8px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; font-size: 28px; cursor: pointer; }
.phase2-static-gallery.elementor-gallery__container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  height: auto !important;
  padding-bottom: 0 !important;
}
.phase2-static-gallery .phase2-static-gallery-item {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}
.phase2-static-gallery .phase2-static-gallery-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 120px;
  background-position: center !important;
  background-size: cover !important;
  opacity: 1 !important;
}
.phase2-static-gallery .phase2-static-gallery-item[hidden] { display: none !important; }
.phase2-course-photo-gallery .elementor-image-carousel-wrapper.swiper,
.phase2-course-photo-gallery .elementor-image-carousel-wrapper.swiper-container {
  display: block !important;
  width: min(1180px, calc(100% - 32px)) !important;
  height: auto !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
.phase2-course-photo-gallery .elementor-image-carousel.swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
}
.phase2-course-photo-gallery .swiper-slide,
.phase2-course-photo-gallery .swiper-slide[hidden] {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  background: #f3dfcf;
  box-shadow: 0 8px 24px rgba(37, 23, 17, .12);
  transform: none !important;
}
.phase2-course-photo-gallery .swiper-slide-inner {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.phase2-course-photo-gallery .swiper-slide-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
}
.phase2-course-photo-gallery .elementor-swiper-button,
.phase2-course-photo-gallery .swiper-pagination,
.phase2-course-photo-gallery .phase2-slider-controls { display: none !important; }
@media (max-width: 900px) {
  .phase2-course-photo-gallery .elementor-image-carousel.swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
@media (max-width: 560px) {
  .phase2-course-photo-gallery .elementor-image-carousel-wrapper.swiper,
  .phase2-course-photo-gallery .elementor-image-carousel-wrapper.swiper-container {
    width: calc(100% - 24px) !important;
  }
  .phase2-course-photo-gallery .elementor-image-carousel.swiper-wrapper { gap: 8px !important; }
  .phase2-course-photo-gallery .swiper-slide { border-radius: 10px; box-shadow: 0 5px 16px rgba(37, 23, 17, .1); }
  .phase2-course-photo-gallery .swiper-slide:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 8px) / 2) !important;
    justify-self: center;
  }
}
.phase2-author-page .site-content { background: #fae9d9; padding-top: 30px; }
.phase2-author-page .site-content-inner { display: block; }
.phase2-author-profile { width: min(1120px, 100%); margin: 0 auto; color: #171717; }
.phase2-author-hero { display: grid; grid-template-columns: minmax(280px, 420px) 1fr; align-items: center; gap: clamp(32px, 6vw, 80px); padding: clamp(28px, 6vw, 76px); background: #fff; }
.phase2-author-portrait { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.phase2-author-eyebrow { margin: 0 0 14px; color: #ed1c24; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.phase2-author-intro h1 { margin: 0 0 14px; font-size: clamp(42px, 6vw, 76px); line-height: .98; letter-spacing: -.035em; }
.phase2-author-role { margin: 0 0 28px; font-size: clamp(19px, 2vw, 25px); font-weight: 600; }
.phase2-author-lead { max-width: 650px; margin: 0; font-size: 18px; line-height: 1.65; }
.phase2-author-about, .phase2-author-trust, .phase2-author-publications { padding: clamp(36px, 6vw, 72px); }
.phase2-author-about { background: #ed1c24; color: #fff; }
.phase2-author-about h2, .phase2-author-publications h2 { margin: 0 0 22px; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; }
.phase2-author-about p { max-width: 850px; margin: 0; font-size: 19px; line-height: 1.7; }
.phase2-author-trust { background: #fff; }
.phase2-author-trust h2 { margin: 0 0 26px; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; }
.phase2-author-trust h3 { margin: 34px 0 16px; font-size: 24px; }
.phase2-author-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; padding: 0; list-style: none; }
.phase2-author-facts li { padding: 20px; border: 1px solid #ed1c24; font-weight: 600; }
.phase2-author-links, .phase2-author-certificates { display: flex; flex-wrap: wrap; gap: 12px; }
.phase2-author-links a, .phase2-author-certificates a { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 18px; border: 1px solid #171717; color: #171717; font-weight: 700; text-decoration: none; }
.phase2-author-links a { background: #171717; color: #fff; }
.phase2-article-byline { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; padding: 14px 18px; border-left: 3px solid #ed1c24; background: rgba(255,255,255,.72); font-size: 16px; }
.phase2-article-byline span { color: #646464; }
.phase2-article-byline a { color: #171717; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.phase2-key-factors { margin: 0 0 32px; padding: 26px 28px 24px; border: 1px solid rgba(17,17,17,.16); border-left: 5px solid #ed1c24; background: #fff; color: #171717; }
.phase2-key-factors__label { display: inline-block; margin-bottom: 8px; color: #ed1c24; font: 700 12px/1 var(--ohnice-body-font, Tinos, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; }
.phase2-key-factors h2 { margin: 0 0 16px !important; color: #171717 !important; font: italic 700 clamp(28px,4vw,38px)/1.05 var(--ohnice-display-font, Georgia, serif) !important; letter-spacing: -.015em !important; }
.phase2-key-factors ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.phase2-key-factors li { position: relative; margin: 0; padding-left: 22px; color: #171717; font-size: 17px; line-height: 1.5; }
.phase2-key-factors li::before { content: ""; position: absolute; left: 0; top: .68em; width: 8px; height: 8px; border-radius: 50%; background: #ed1c24; }
.phase2-author-certificates a:has(img) { display: flex; width: min(240px, 100%); padding: 0; flex-direction: column; align-items: stretch; }
.phase2-author-certificates img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.phase2-author-certificates span { padding: 12px 14px; }
.phase2-author-publications { background: #fae9d9; }
.phase2-author-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.phase2-author-card { display: flex; min-width: 0; flex-direction: column; background: #fff; color: #171717; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.phase2-author-card:hover { transform: translateY(-4px); box-shadow: 0 16px 35px rgba(0,0,0,.1); }
.phase2-author-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.phase2-author-card h3 { margin: 0; padding: 22px 22px 12px; font-size: 21px; line-height: 1.25; }
.phase2-author-card time { padding: 0 22px 10px; color: #777; font-size: 13px; }
.phase2-author-card span { margin-top: auto; padding: 0 22px 22px; color: #ed1c24; font-weight: 700; }
@media (max-width: 1024px) {
  .main-navigation { display: none !important; }
  .main-navigation.phase2-mobile-open { display: block !important; }
  .main-navigation.phase2-mobile-open .main-navigation-inner { height: auto !important; max-height: none !important; }
  .main-navigation .menu > li { display: block !important; width: 100%; }
  .main-navigation .sub-menu { position: static !important; width: 100% !important; }
}
@media (max-width: 767px) {
  .form-modal[open] { width: calc(100% - 20px) !important; max-height: calc(100dvh - 20px) !important; box-shadow: 7px 7px 0 rgba(237,28,36,.28), 0 18px 55px rgba(0,0,0,.3) !important; }
  .form-modal form { padding: 34px 22px 24px !important; }
  .form-modal form::before { margin-bottom: 10px; font-size: 12px; }
  .form-modal h2 { margin-bottom: 24px !important; font-size: 36px !important; }
  .form-modal label { margin-bottom: 15px !important; font-size: 16px !important; }
  .form-modal input:not(.hp), .form-modal textarea { min-height: 50px !important; font-size: 17px !important; }
  .form-modal form > p:not([data-form-status]) { margin-bottom: 18px !important; font-size: 12px !important; line-height: 1.42 !important; }
  .form-modal button[type="submit"] { min-height: 52px !important; font-size: 16px !important; }
  .form-modal [data-close-modal] { top: 12px !important; right: 12px !important; width: 38px !important; height: 38px !important; min-width: 38px !important; }
  .main-navigation { display: none !important; }
  .main-navigation.phase2-mobile-open { display: block !important; }
  .main-navigation.phase2-mobile-open .main-navigation-inner { height: auto !important; max-height: none !important; }
  .main-navigation .menu > li { display: block !important; width: 100%; }
  .main-navigation .sub-menu { position: static !important; width: 100% !important; }
  .phase2-static-gallery.elementor-gallery__container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .phase2-yandex-reviews { width: 100%; }
  .phase2-related-links { width: calc(100% - 30px); margin: 30px auto; padding: 22px 18px; }
  .phase2-related-links ul { grid-template-columns: 1fr; }
  .phase2-map { min-height: 340px; margin-inline: 0; }
  .phase2-map iframe { height: 380px; }
  .phase2-contacts-map-section { width: 100%; margin: 34px 0 44px; padding: 24px 16px 18px; border-left-width: 4px; }
  .phase2-contacts-map__header { grid-template-columns: 1fr; gap: 14px; margin-bottom: 22px; }
  .phase2-contacts-map__header h2 { font-size: 39px !important; }
  .phase2-contacts-map__header p { font-size: 14px; }
  .phase2-contacts-map__body { grid-template-columns: 1fr; gap: 16px; }
  .phase2-contacts-map__addresses { grid-template-columns: 1fr; }
  .phase2-contacts-map__address { padding: 14px 15px; }
  .phase2-contacts-map__address strong { font-size: 20px; }
  .phase2-contacts-map__canvas iframe { height: 380px; }
  .phase2-contacts-map__canvas a { min-height: 50px; font-size: 14px; }
  .phase2-page-reviews .elementor-section:has(.js-omnivideo-embed) > .elementor-container { display: grid !important; grid-template-columns: 1fr; gap: 18px; }
  .phase2-page-reviews .elementor-section:has(.js-omnivideo-embed) > .elementor-container > .elementor-column { width: 100% !important; min-width: 0 !important; }
  .phase2-author-page .site-content { padding-top: 0; }
  .phase2-author-page .site-content-inner { margin: 0 -15px; }
  .phase2-author-hero { grid-template-columns: 1fr; gap: 28px; padding: 24px 20px 38px; }
  .phase2-author-portrait { aspect-ratio: 4 / 4.6; }
  .phase2-author-intro h1 { font-size: 43px; }
  .phase2-author-lead { font-size: 16px; line-height: 1.55; }
  .phase2-author-about, .phase2-author-trust, .phase2-author-publications { padding: 38px 20px; }
  .phase2-author-about p { font-size: 17px; line-height: 1.6; }
  .phase2-author-grid { grid-template-columns: 1fr; gap: 16px; }
  .phase2-author-facts { grid-template-columns: 1fr; }
  .phase2-key-factors { margin-bottom: 26px; padding: 21px 18px 20px; }
  .phase2-key-factors h2 { font-size: 30px !important; }
  .phase2-key-factors li { font-size: 15px; line-height: 1.45; }
  .phase2-author-links a, .phase2-author-certificates a { width: 100%; box-sizing: border-box; }
}

/* Store: catalog, cart and checkout */
.woocommerce-shop .shop-grid { margin-right: -10px; margin-left: -10px; }
.woocommerce-shop .shop-grid--columns-4 .shop-item { width: 100%; }
.woocommerce-shop .shop-item { padding-right: 10px; padding-left: 10px; margin-bottom: 20px; }
@media (min-width: 576px) {
  .woocommerce-shop .shop-grid { margin-right: -15px; margin-left: -15px; }
  .woocommerce-shop .shop-grid--columns-4 .shop-item { width: 33.333%; }
}
@media (min-width: 768px) {
  .woocommerce-shop .shop-grid { margin-right: -20px; margin-left: -20px; }
  .woocommerce-shop .shop-item { padding-right: 20px; padding-left: 20px; }
  .woocommerce-shop .shop-item--type-standard .shop-item-inner { padding: 15px; }
}
@media (min-width: 992px) {
  .woocommerce-shop .shop-grid--columns-4 .shop-item { width: 25%; }
  .woocommerce-shop .shop-item { margin-bottom: 30px; }
}
body:not(.is-mobile).woocommerce-shop .shop-item--type-standard .shop-item__buttons {
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  transform: translate3d(0, 100px, 0);
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  body:not(.is-mobile).woocommerce-shop .shop-item-inner:hover .shop-item__buttons {
    transform: translate3d(0, 0, 0);
  }
}
.phase2-store-page{max-width:1180px;margin:0 auto;padding:54px 24px 90px}.phase2-store-page>h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,72px);font-style:italic;line-height:1;margin:28px 0 42px;color:#151515}.phase2-store-page .woocommerce-breadcrumb{font-size:14px;color:#796b62}.phase2-store-page .woocommerce-breadcrumb a{color:#ba173f;text-decoration:none}.phase2-cart>[data-cart-content],.phase2-checkout__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px;align-items:start}.phase2-cart__items{display:grid;gap:18px}.phase2-cart-item{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px;background:#fff;border:1px solid #eadbd0;box-shadow:0 14px 34px rgba(70,36,20,.06)}.phase2-cart-item__media{display:block;width:128px;height:110px;background:#f7eee7;overflow:hidden}.phase2-cart-item__media img{width:100%;height:100%;object-fit:cover}.phase2-cart-item__info h2{font:700 21px/1.25 Arial,sans-serif;margin:0 0 10px}.phase2-cart-item__info h2 a{color:#151515;text-decoration:none}.phase2-cart-item__info p{margin:0 0 14px;color:#6e625b}.phase2-cart-item__quantity{display:flex;align-items:center;width:max-content;border:1px solid #dccdc3}.phase2-cart-item__quantity button{width:38px;height:38px;border:0;background:#f9f2ed;color:#191919;font-size:22px;cursor:pointer}.phase2-cart-item__quantity span{min-width:42px;text-align:center;font:600 16px Arial,sans-serif}.phase2-cart-item__end{display:flex;min-width:115px;min-height:92px;flex-direction:column;align-items:flex-end;justify-content:space-between}.phase2-cart-item__end strong{font:700 19px Arial,sans-serif;white-space:nowrap}.phase2-cart-item__end button{border:0;background:transparent;padding:0;color:#a7193c;text-decoration:underline;cursor:pointer}.phase2-cart__summary,.phase2-order-summary{position:sticky;top:24px;padding:28px;background:#fff;border:1px solid #eadbd0;box-shadow:0 18px 44px rgba(70,36,20,.08)}.phase2-cart__summary>span,.phase2-cart__summary>strong{display:block}.phase2-cart__summary>span{font:500 15px Arial,sans-serif;color:#766860}.phase2-cart__summary>strong{font:700 32px/1.1 Arial,sans-serif;margin:8px 0 24px}.phase2-cart__summary .button,.phase2-order-form>.button,.phase2-order-success .button{display:block;width:100%;box-sizing:border-box;padding:16px 20px;border:0;border-radius:0;background:#e21d35;color:#fff!important;text-align:center;text-decoration:none;text-transform:uppercase;font:700 15px/1.2 Arial,sans-serif;cursor:pointer}.phase2-cart__summary>a:last-child{display:block;margin-top:16px;text-align:center;color:#6c2135}.phase2-store-empty,.phase2-store-error,.phase2-order-success{max-width:720px;padding:44px;background:#fff;border:1px solid #eadbd0}.phase2-store-empty h2,.phase2-store-error h2,.phase2-order-success h2{font:700 32px/1.1 Arial,sans-serif;margin:0 0 14px}.phase2-store-empty p,.phase2-store-error p,.phase2-order-success p{font:18px/1.55 Arial,sans-serif}.phase2-store-empty .button{display:inline-block;margin-top:12px;padding:15px 24px;background:#e21d35;color:#fff;text-decoration:none}.phase2-checkout__layout{grid-template-columns:minmax(0,1fr) 390px}.phase2-order-form{padding:34px;background:#fff;border:1px solid #eadbd0}.phase2-order-form h2,.phase2-order-summary h2{font:700 29px/1.2 Arial,sans-serif;margin:0 0 12px}.phase2-order-form>p{margin:0 0 26px;color:#675c56}.phase2-order-form>label:not(.phase2-order-form__consent){display:grid;gap:8px;margin:0 0 20px;font:600 16px Arial,sans-serif}.phase2-order-form input,.phase2-order-form textarea{box-sizing:border-box;width:100%;border:1px solid #cdbdb3;border-radius:0;background:#fff;padding:13px 14px;color:#151515;font:17px/1.4 Arial,sans-serif}.phase2-order-form input:focus,.phase2-order-form textarea:focus{outline:2px solid #e21d35;outline-offset:1px}.phase2-order-form__consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:6px 0 24px;font:14px/1.45 Arial,sans-serif}.phase2-order-form__consent input{width:19px;height:19px;margin:1px 0 0;accent-color:#e21d35}.phase2-order-form__consent a{color:#a7193c}.phase2-order-form button[disabled]{opacity:.55;cursor:wait}.phase2-order-form [data-order-status]{min-height:24px;margin:14px 0 0;color:#a7193c}.phase2-order-summary__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:15px 0;border-bottom:1px solid #eadbd0;font:15px/1.35 Arial,sans-serif}.phase2-order-summary__item strong{white-space:nowrap}.phase2-order-summary__total{display:flex;justify-content:space-between;gap:20px;padding:24px 0;font:700 24px/1.2 Arial,sans-serif}.phase2-order-summary>a{color:#8c1737}.phase2-order-success>span{display:inline-block;margin-bottom:16px;padding:7px 11px;background:#f7dbe1;color:#981b39;font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.phase2-cart-toast{position:fixed;z-index:100000;right:24px;bottom:24px;max-width:min(390px,calc(100vw - 32px));transform:translateY(24px);opacity:0;padding:15px 18px;background:#171717;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.25);font:15px/1.4 Arial,sans-serif;pointer-events:none;transition:.2s ease}.phase2-cart-toast.is-visible{transform:none;opacity:1}.shop-item__buttons-cart.is-added,.single_add_to_cart_button.is-added{background:#222!important}.header-cart__link [data-cart-count]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:50%;background:#e21d35!important;color:#fff!important;font:700 12px/1 Arial,sans-serif}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:767px){.phase2-store-page{padding:34px 16px 70px}.phase2-store-page>h1{font-size:42px;margin:22px 0 30px}.phase2-cart>[data-cart-content],.phase2-checkout__layout{grid-template-columns:1fr;gap:26px}.phase2-cart-item{grid-template-columns:86px minmax(0,1fr);gap:15px;padding:14px}.phase2-cart-item__media{width:86px;height:86px}.phase2-cart-item__info h2{font-size:17px}.phase2-cart-item__end{grid-column:1/-1;min-height:0;min-width:0;flex-direction:row;align-items:center}.phase2-cart__summary,.phase2-order-summary{position:static;padding:22px}.phase2-order-form{padding:22px}.phase2-order-form h2,.phase2-order-summary h2{font-size:25px}.phase2-store-empty,.phase2-store-error,.phase2-order-success{padding:28px 22px}.phase2-cart-toast{right:16px;bottom:18px}.phase2-checkout__layout .phase2-order-summary{order:-1}}
@media (max-width: 767px) {
  /* Elementor relies on its live runtime to collapse intrinsically wide page
     roots. The static build has no Elementor JS, so preserve the live mobile
     geometry explicitly. */
  .site-content-inner > .elementor {
    flex: 0 0 100vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
  }
  .site-content-inner > .elementor > .elementor-section.elementor-section-stretched {
    left: -15px !important;
  }
}

/* Store payment UX */
.phase2-order-form label small { color: #796d66; font: 13px/1.35 Arial, sans-serif; }
.phase2-order-form input:user-invalid { border-color: #bd173d; background: #fff7f8; }
.phase2-payment-notice { display: grid; gap: 4px; margin: 4px 0 20px; padding: 16px 18px; border-left: 4px solid #e21d35; background: #f9eee8; color: #332b27; font: 14px/1.45 Arial, sans-serif; }
.phase2-payment-notice strong { font-size: 16px; }
.phase2-cart-dialog { width: min(560px, calc(100vw - 32px)); max-height: min(720px, calc(100dvh - 32px)); box-sizing: border-box; margin: auto; padding: 38px; border: 0; border-top: 7px solid #e21d35; border-radius: 0; background: #fff; color: #171717; box-shadow: 12px 12px 0 rgba(226,29,53,.22), 0 24px 70px rgba(0,0,0,.28); font-family: Arial, sans-serif; overflow: auto; }
.phase2-cart-dialog::backdrop { background: rgba(35,24,20,.68); }
.phase2-cart-dialog__close { position: absolute; top: 12px; right: 14px; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: #171717; font-size: 32px; line-height: 1; cursor: pointer; }
.phase2-cart-dialog__eyebrow { display: block; margin-bottom: 8px; color: #e21d35; font: 700 12px/1 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.phase2-cart-dialog h2 { margin: 0 0 24px; color: #171717; font: italic 700 44px/1 Georgia, "Times New Roman", serif; }
.phase2-cart-dialog__items { display: grid; max-height: 250px; overflow: auto; border-block: 1px solid #eadbd0; }
.phase2-cart-dialog__items > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; padding: 14px 0; font: 15px/1.35 Arial, sans-serif; }
.phase2-cart-dialog__items > div + div { border-top: 1px solid #eadbd0; }
.phase2-cart-dialog__items strong { white-space: nowrap; }
.phase2-cart-dialog__total { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 20px 0 24px; color: #685d57; }
.phase2-cart-dialog__total strong { color: #171717; font-size: 27px; }
.phase2-cart-dialog__actions { display: grid; gap: 12px; }
.phase2-cart-dialog__actions .button { display: block; box-sizing: border-box; width: 100%; padding: 16px 20px; border: 0; border-radius: 0; background: #e21d35; color: #fff !important; text-align: center; text-decoration: none; text-transform: uppercase; font: 700 15px/1.2 Arial, sans-serif; }
.phase2-cart-dialog__actions button { padding: 12px; border: 0; background: transparent; color: #781731; text-decoration: underline; font: 15px/1.3 Arial, sans-serif; cursor: pointer; }
@media (max-width: 767px) {
  .phase2-cart-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 32px 22px 24px; box-shadow: 7px 7px 0 rgba(226,29,53,.22), 0 18px 55px rgba(0,0,0,.3); }
  .phase2-cart-dialog h2 { font-size: 36px; }
  .phase2-cart-dialog__items > div { grid-template-columns: 1fr; gap: 4px; }
  .phase2-cart-dialog__total { padding-bottom: 20px; }
}
