/*
Theme Name: Creative Theme
Version: 3.0
*/

/* === tokens === */
:root {
  --h-bg: #eef0ef;
  --h-dark: #111111;
  --h-text: #000000;
  --h-muted: rgba(0,0,0,0.38);
  --h-subtle: rgba(0,0,0,0.1);
  --h-white: #ffffff;
  --h-font-display: 'Chillax', sans-serif;
  --h-font-body: 'Noto Sans JP', sans-serif;
  --h-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --h-ease-in: cubic-bezier(0.76, 0, 0.24, 1);
  --h-accent: #ea580c;
}

/* === reset === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img, svg, video { display: block; max-width: 100%; }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 { font-weight: inherit; font-size: inherit; }
/* === base === */
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  background: var(--h-bg);
  color: var(--h-text);
  font-family: var(--h-font-body);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background-color 0.9s ease, color 0.8s ease;
  overflow-x: hidden;
}
body.-is-dark { background: #160d06 !important; color: var(--h-white); }
body::before {
  content: '';
  position: fixed; inset: 0; z-index: -1;
  background: linear-gradient(
    130deg,
    #140f08 0%, #201308 10%, #3a2009 22%,
    #281508 36%, #160e08 50%, #2c1a08 63%,
    #3e2209 76%, #1a0e07 88%, #140f08 100%
  );
  background-size: 500% 500%;
  animation: hGradMove 9s ease infinite;
  opacity: 0;
  transition: opacity 0.9s ease;
  pointer-events: none;
}
body.-is-dark::before { opacity: 1; }
a { color: inherit; text-decoration: none; }
.wp-site-blocks { padding: 0 !important; }
.wp-block-group__inner-container { max-width: none !important; }
.entry-content > * + * { margin-top: 0; }
.wp-block-post-content > * { max-width: none !important; padding: 0 !important; }
/* === splash === */
.h-splash {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--h-bg);
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.8s ease 0.3s;
}
.h-splash.is-out { opacity: 0; }
.h-splash-text {
  font-family: var(--h-font-display);
  font-size: clamp(40px, 7vw, 88px);
  font-weight: 700; letter-spacing: 0.14em;
  color: var(--h-text);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.9s var(--h-ease);
}
.h-splash-text.is-in { clip-path: inset(0 0% 0 0); }
/* === header === */
.h-header.wp-block-group {
  position: fixed !important; top: 0; left: 0; right: 0; z-index: 200;
  padding: 28px 56px !important;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  transition: background 0.5s ease, padding 0.4s ease, backdrop-filter 0.5s ease;
}
.h-header.scrolled {
  padding: 18px 56px !important;
  background: rgba(238,240,239,0.9) !important;
  backdrop-filter: blur(12px);
}
body.-is-dark .h-header.scrolled {
  background: rgba(17,17,17,0.9) !important;
}
.h-header .wp-block-site-title {
  font-family: var(--h-font-display) !important;
  font-size: 17px !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important; line-height: 1 !important;
}
.h-header .wp-block-site-title a { color: var(--h-text) !important; text-decoration: none !important; }
body.-is-dark .h-header .wp-block-site-title a { color: var(--h-white) !important; }
.h-header .wp-block-navigation__container {
  display: flex !important; gap: 40px !important; align-items: center !important;
}
.h-header .wp-block-navigation-item__content {
  font-family: var(--h-font-display) !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: 0.07em !important; padding: 0 !important;
  color: var(--h-text) !important;
  position: relative;
}
body.-is-dark .h-header .wp-block-navigation-item__content { color: rgba(255,255,255,0.75) !important; }
.h-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: currentColor;
  transition: width 0.35s var(--h-ease);
}
.h-header .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after { width: 100%; }
/* === hero === */
.h-mv.wp-block-group {
  position: relative !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 64px 88px !important;
  overflow: hidden !important;
}
.h-mv-clips {
  position: absolute; inset: 0;
  display: flex; align-items: center;
  justify-content: flex-end;
  padding-right: 10%;
  gap: 20px; pointer-events: none;
}
.h-mv-clip {
  overflow: hidden; border-radius: 3px;
  flex-shrink: 0;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1.3s var(--h-ease);
}
.h-mv-clip img { width: 100%; height: 100%; object-fit: cover; }
.h-mv-clip-1 { width: 252px; height: 364px; transform: rotate(-3.5deg) translateY(28px); transition-delay: 0.5s; }
.h-mv-clip-2 { width: 288px; height: 440px; transform: rotate(2deg) translateY(-24px); transition-delay: 0.7s; }
.h-mv-clip-3 { width: 232px; height: 336px; transform: rotate(-1.5deg) translateY(12px); transition-delay: 0.6s; }
body.h-loaded .h-mv-clip { clip-path: inset(0 0 0 0); }

.h-mv-text.wp-block-group {
  position: relative; z-index: 2;
  max-width: 900px;
  display: block !important;
}
.h-mv-eyebrow {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  color: var(--h-muted) !important;
  margin-bottom: 28px !important;
  transition: clip-path 1s var(--h-ease) 0.9s;
}
.js-anim .h-mv-eyebrow { clip-path: inset(0 100% 0 0); }
body.h-loaded .h-mv-eyebrow { clip-path: inset(0 0% 0 0); }

/* Hero title: MAKE IT MOVE. */
.h-mv-title.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(72px, 10vw, 148px) !important;
  font-weight: 700 !important; line-height: 0.93 !important;
  letter-spacing: -0.04em !important;
  color: var(--h-text) !important;
  margin-bottom: 28px !important;
}
/* Gradient applied to the JS-created inner span (contains actual text nodes) */
.h-mv-title .h-mv-line-inner {
  background: linear-gradient(
    110deg,
    #1a1008 0%, #c2410c 18%, #f97316 32%,
    #111111 48%, #ea580c 62%, #fb923c 74%,
    #111111 86%, #c2410c 100%
  );
  background-size: 300% 300%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: hTitleGrad 6s ease infinite;
}
@keyframes hTitleGrad {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.h-mv-line-wrap { display: block; }
.h-mv-line-inner {
  display: block;
  transition: clip-path 1.1s var(--h-ease) 0.35s;
}
.js-anim .h-mv-line-inner { clip-path: inset(0 0 100% 0); }
body.h-loaded .h-mv-line-inner { clip-path: inset(0 0 0% 0); }

.h-mv-sub {
  font-size: 14px !important; line-height: 1.9 !important;
  color: var(--h-muted) !important;
  margin-bottom: 40px !important;
  transition: clip-path 0.9s var(--h-ease) 1.1s;
}
.js-anim .h-mv-sub { clip-path: inset(0 100% 0 0); }
body.h-loaded .h-mv-sub { clip-path: inset(0 0% 0 0); }

.h-mv-cta.wp-block-group {
  display: flex !important; gap: 16px !important; align-items: center !important;
  transition: opacity 0.7s ease 1.3s, transform 0.7s var(--h-ease) 1.3s;
}
.js-anim .h-mv-cta.wp-block-group { opacity: 0; transform: translateY(14px); }
body.h-loaded .h-mv-cta.wp-block-group { opacity: 1; transform: translateY(0); }

.h-btn-dark .wp-block-button__link {
  background: var(--h-text) !important;
  color: var(--h-white) !important;
  border: 1px solid var(--h-text) !important;
  border-radius: 0 !important; padding: 16px 48px !important;
  font-family: var(--h-font-display) !important;
  font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: 0.08em !important; text-decoration: none !important;
  transition: background 0.35s ease, color 0.35s ease !important;
}
.h-btn-dark .wp-block-button__link:hover {
  background: transparent !important;
  color: var(--h-text) !important;
}
.h-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--h-text) !important;
  border: 1px solid rgba(0,0,0,0.3) !important;
  border-radius: 0 !important; padding: 15px 48px !important;
  font-family: var(--h-font-display) !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: 0.08em !important; text-decoration: none !important;
  transition: border-color 0.35s ease, color 0.35s ease !important;
}
.h-btn-outline .wp-block-button__link:hover {
  border-color: var(--h-text) !important;
}
.h-btn-white .wp-block-button__link {
  background: var(--h-white) !important;
  color: var(--h-dark) !important;
  border: 1px solid var(--h-white) !important;
  border-radius: 0 !important; padding: 16px 56px !important;
  font-family: var(--h-font-display) !important;
  font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: 0.08em !important; text-decoration: none !important;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease !important;
}
.h-btn-white .wp-block-button__link:hover {
  background: transparent !important;
  color: var(--h-white) !important;
}

.h-mv-scroll {
  position: absolute; bottom: 40px; right: 56px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  font-family: var(--h-font-display);
  font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--h-muted);
}
.h-mv-scroll-line {
  width: 1px; height: 56px; background: var(--h-muted);
  transform-origin: top; transform: scaleY(0);
  animation: hScrollLine 2.4s var(--h-ease) infinite 1.8s;
}
@keyframes hScrollLine {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 1; }
  50%  { transform: scaleY(1); transform-origin: top; opacity: 1; }
  51%  { transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0.2; }
}
/* === concept === */
.h-concept.wp-block-group {
  padding: 160px 64px 120px !important;
}
.h-sec-label.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  color: var(--h-muted) !important;
  margin-bottom: 72px !important;
}
body.-is-dark .h-sec-label.wp-block-heading { color: rgba(255,255,255,0.38) !important; }

.h-concept-lead-outer { overflow: hidden; margin-bottom: 64px; }
.h-concept-lead {
  font-family: var(--h-font-display);
  font-size: clamp(60px, 10vw, 148px);
  font-weight: 700; line-height: 1; letter-spacing: -0.03em;
  background: linear-gradient(
    to right,
    #000 0%, #1a2c45 22%, #3d4a5d 30%,
    #677582 36%, #b2c3cc 41%, #dfeaee 45%,
    #fbfaf8 48%, #fce2d4 51%, #e5b299 55%,
    #a96f57 61%, #1b3847 72%, #000 100%
  );
  background-size: 300% 100%;
  background-position: 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: hGradShift 9s ease-in-out infinite alternate;
  display: block;
}
@keyframes hGradShift {
  from { background-position: 0 0; }
  to   { background-position: 100% 0; }
}
.h-concept-body.wp-block-group {
  max-width: 560px; margin-bottom: 96px !important;
  display: block !important;
}
.h-concept-copy {
  font-size: 15px !important; line-height: 2.1 !important;
  color: var(--h-text) !important;
}
body.-is-dark .h-concept-copy { color: rgba(255,255,255,0.7) !important; }

.h-tickers { overflow: hidden; }
.h-ticker-row {
  overflow: hidden;
  border-top: 1px solid var(--h-subtle);
  padding: 18px 0;
}
body.-is-dark .h-ticker-row { border-color: rgba(255,255,255,0.08); }
.h-ticker-row:last-child { border-bottom: 1px solid var(--h-subtle); }
body.-is-dark .h-ticker-row:last-child { border-color: rgba(255,255,255,0.08); }
.h-ticker-track {
  display: flex; width: max-content;
  animation: hTickL 32s linear infinite;
}
.h-ticker-row.-rev .h-ticker-track { animation: hTickR 28s linear infinite; }
.h-ticker-row:nth-child(3) .h-ticker-track { animation-duration: 36s; }
@keyframes hTickL { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--tick-offset, 50%))); } }
@keyframes hTickR { from { transform: translateX(calc(-1 * var(--tick-offset, 50%))); } to { transform: translateX(0); } }
.h-ticker-item {
  font-family: var(--h-font-display);
  font-size: clamp(12px, 1.1vw, 15px); font-weight: 500; letter-spacing: 0.07em;
  color: var(--h-text); white-space: nowrap; padding: 0 36px;
}
body.-is-dark .h-ticker-item { color: rgba(255,255,255,0.55); }
.h-ticker-sep {
  color: var(--h-subtle); align-self: center; font-size: 7px; padding: 0 4px;
  flex-shrink: 0;
}
/* === service === */
.h-service.wp-block-group {
  padding: 0 !important;
  background: transparent !important;
  color: var(--h-text) !important;
  position: relative !important;
  isolation: isolate;
}
.h-service.wp-block-group::before { content: none; }
.h-svc-label-row.wp-block-group {
  padding: 120px 64px 72px !important;
  display: block !important;
}
.h-service.is-dark-bg .h-sec-label.wp-block-heading { color: rgba(255,255,255,0.38) !important; }
.h-svc-card.wp-block-group {
  padding: 80px 64px !important;
  border-top: 1px solid var(--h-subtle) !important;
  position: relative !important; overflow: hidden !important;
  display: block !important;
  transition: opacity 1s ease, transform 1.1s var(--h-ease), border-color 1.2s ease;
}
.js-anim .h-svc-card.wp-block-group:not(.h-svc-card--split) { opacity: 0; transform: translateY(52px); }
.h-service.is-dark-bg .h-svc-card.wp-block-group {
  border-top-color: rgba(255,255,255,0.055) !important;
}
.h-svc-card.wp-block-group.is-revealed:not(.h-svc-card--split) {
  opacity: 1 !important; transform: translateY(0) !important;
}
.h-svc-card.wp-block-group::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  opacity: 0; transition: opacity 0.7s ease;
}
.h-svc-card:first-of-type.wp-block-group::before {
  background: radial-gradient(ellipse at 10% 60%, rgba(112,96,255,0.055) 0%, transparent 55%);
}
.h-svc-card:last-of-type.wp-block-group::before {
  background: radial-gradient(ellipse at 10% 60%, rgba(0,180,120,0.045) 0%, transparent 55%);
}
.h-svc-card.wp-block-group:hover::before { opacity: 1; }
/* Watermark number */
.h-svc-card.wp-block-group::after {
  position: absolute; right: 56px; bottom: -40px;
  font-family: var(--h-font-display);
  font-size: 260px; font-weight: 700; line-height: 1;
  letter-spacing: -0.05em; pointer-events: none;
  color: rgba(0,0,0,0.04); z-index: 0;
  transition: color 1.2s ease;
}
.h-service.is-dark-bg .h-svc-card.wp-block-group::after { color: rgba(255,255,255,0.02); }
.h-svc-card:first-of-type.wp-block-group::after { content: '01'; }
.h-svc-card:last-of-type.wp-block-group::after { content: '02'; }

/* Inner grid */
.h-svc-inner.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 80px !important;
  align-items: center !important;
  position: relative; z-index: 1;
}
.h-svc-content.wp-block-column { display: block !important; }
.h-svc-type {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: var(--h-muted) !important;
  margin-bottom: 32px !important;
  transition: color 1.2s ease !important;
}
.h-service.is-dark-bg .h-svc-type { color: rgba(255,255,255,0.3) !important; }
.h-svc-head.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(40px, 4.5vw, 72px) !important;
  font-weight: 700 !important; line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  color: var(--h-text) !important; margin-bottom: 24px !important;
  transition: color 1.2s ease !important;
}
.h-service.is-dark-bg .h-svc-head.wp-block-heading { color: var(--h-white) !important; }
.h-svc-text {
  font-size: 14px !important; line-height: 2.05 !important;
  color: rgba(0,0,0,0.55) !important; margin-bottom: 36px !important;
  transition: color 1.2s ease !important;
}
.h-service.is-dark-bg .h-svc-text { color: rgba(255,255,255,0.45) !important; }
.h-svc-tags-wrap.wp-block-group {
  display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
}
.h-svc-tag {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: 0.07em !important; padding: 7px 18px !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  color: rgba(0,0,0,0.45) !important;
  transition: border-color 1.2s ease, color 1.2s ease, background 0.3s ease !important;
}
.h-service.is-dark-bg .h-svc-tag {
  border-color: rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.48) !important;
}
.h-svc-tag:hover {
  border-color: rgba(0,0,0,0.4) !important;
  color: var(--h-text) !important;
}
.h-service.is-dark-bg .h-svc-tag:hover {
  border-color: rgba(255,255,255,0.5) !important;
  color: rgba(255,255,255,0.9) !important;
}
/* Image column */
.h-svc-media.wp-block-column { display: block !important; position: relative; }
.h-svc-media.wp-block-column .wp-block-image {
  margin: 0 !important;
  transition: clip-path 1.3s var(--h-ease) 0.25s;
}
.h-svc-card.is-revealed .h-svc-media.wp-block-column .wp-block-image {
  clip-path: inset(0 0 0 0) !important;
}
.h-svc-media.wp-block-column .wp-block-image img {
  width: 100% !important; aspect-ratio: 4/3 !important;
  object-fit: cover !important; display: block !important;
  filter: brightness(0.82) saturate(0.85);
  transition: filter 0.5s ease !important;
}
.h-svc-card.wp-block-group:hover .h-svc-media.wp-block-column .wp-block-image img {
  filter: brightness(0.92) saturate(1) !important;
}
/* === service split layout === */
@keyframes hSvcFlyLeft {
  from { transform: translateX(-120%) rotate(-10deg) scale(0.72); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
@keyframes hSvcFlyRight {
  from { transform: translateX(120%) rotate(10deg) scale(0.72); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
@keyframes hSvcFlyUp {
  from { transform: translateY(-110%) rotate(-6deg) scale(0.78); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
@keyframes hSvcFlyDown {
  from { transform: translateY(110%) rotate(6deg) scale(0.78); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
.h-svc-split.wp-block-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-top: 1px solid var(--h-subtle) !important;
  overflow: hidden !important;
}
.h-service.is-dark-bg .h-svc-split.wp-block-group { border-top-color: rgba(255,255,255,0.055) !important; }
/* Default: visible — JS adds js-anim to <html> on frontend only */
.h-svc-split .h-svc-card.wp-block-group {
  border-top: none !important;
  border-right: 1px solid var(--h-subtle) !important;
  padding: 100px 72px !important;
  min-height: 680px;
  transition: border-color 1.2s ease !important;
}
/* Frontend only: hide until JS reveals */
.js-anim .h-svc-split .h-svc-card.wp-block-group:not(.is-revealed) { opacity: 0; }
.h-svc-split .h-svc-card.wp-block-group:nth-child(2) { border-right: none !important; }
.h-service.is-dark-bg .h-svc-split .h-svc-card.wp-block-group { border-right-color: rgba(255,255,255,0.055) !important; }
/* Revealed: keyframe fires from off-screen into place with spring overshoot.
   No !important on opacity/transform — !important overrides animation keyframe values in Chrome. */
.h-svc-split .h-svc-card.wp-block-group.is-revealed {
  animation: hSvcFlyLeft 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.h-svc-split .h-svc-card.wp-block-group:nth-child(2).is-revealed {
  animation: hSvcFlyRight 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s both;
}
/* Inner: stacked vertically */
.h-svc-split .h-svc-inner.wp-block-columns { grid-template-columns: 1fr !important; gap: 28px !important; }
/* Text block: slides up with skew */
.h-svc-split .h-svc-content.wp-block-column {
  transition: opacity 0.55s ease 0.35s, transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
}
.js-anim .h-svc-split .h-svc-content.wp-block-column { opacity: 0; transform: translateY(56px) skewY(4deg); }
.h-svc-split .h-svc-card:nth-child(2) .h-svc-content.wp-block-column { transition-delay: 0.45s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-content.wp-block-column { opacity: 1 !important; transform: none !important; }
/* Image: scale burst + slight rotation */
.h-svc-split .h-svc-media.wp-block-column {
  max-width: 340px !important;
  transition: opacity 0.5s ease 0.65s, transform 0.7s cubic-bezier(0.34, 1.4, 0.64, 1) 0.65s;
}
.js-anim .h-svc-split .h-svc-media.wp-block-column { opacity: 0; transform: scale(1.35) rotate(-5deg); }
.h-svc-split .h-svc-card:nth-child(2) .h-svc-media.wp-block-column { transition-delay: 0.75s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-media.wp-block-column { opacity: 1 !important; transform: none !important; }
/* Heading: curtain wipe after card lands */
.h-svc-split .h-svc-head.wp-block-heading {
  font-size: clamp(40px, 4.2vw, 68px) !important;
  transition: clip-path 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.52s;
}
.js-anim .h-svc-split .h-svc-head.wp-block-heading { clip-path: inset(0 100% 0 0); }
.h-svc-split .h-svc-card:nth-child(2) .h-svc-head.wp-block-heading { transition-delay: 0.64s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-head.wp-block-heading { clip-path: inset(0 0% 0 0) !important; }
/* Type badge: scale pop */
.h-svc-split .h-svc-type {
  transition: opacity 0.3s ease 0.44s, transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.44s;
}
.js-anim .h-svc-split .h-svc-type { opacity: 0; transform: scale(0.5); }
.h-svc-split .h-svc-card:nth-child(2) .h-svc-type { transition-delay: 0.54s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-type { opacity: 1 !important; transform: none !important; }
/* Tags: rapid stagger pop */
.h-svc-split .h-svc-tag {
  transition: opacity 0.3s ease, transform 0.38s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.js-anim .h-svc-split .h-svc-tag { opacity: 0; transform: translateY(18px) scale(0.88); }
.h-svc-split .h-svc-card.is-revealed .h-svc-tag:nth-child(1) { opacity:1;transform:none;transition-delay:0.72s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-tag:nth-child(2) { opacity:1;transform:none;transition-delay:0.78s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-tag:nth-child(3) { opacity:1;transform:none;transition-delay:0.84s; }
.h-svc-split .h-svc-card.is-revealed .h-svc-tag:nth-child(4) { opacity:1;transform:none;transition-delay:0.90s; }
.h-svc-split .h-svc-card:nth-child(2).is-revealed .h-svc-tag:nth-child(1) { transition-delay:0.82s; }
.h-svc-split .h-svc-card:nth-child(2).is-revealed .h-svc-tag:nth-child(2) { transition-delay:0.88s; }
.h-svc-split .h-svc-card:nth-child(2).is-revealed .h-svc-tag:nth-child(3) { transition-delay:0.94s; }
.h-svc-split .h-svc-card:nth-child(2).is-revealed .h-svc-tag:nth-child(4) { transition-delay:1.0s; }
/* Mobile: crash in from top/bottom */
@media (max-width: 767px) {
  .h-svc-split.wp-block-group { grid-template-columns: 1fr !important; }
  .h-svc-split .h-svc-card.wp-block-group { border-right: none !important; border-top: 1px solid var(--h-subtle) !important; padding: 56px 24px !important; }
  .h-svc-split .h-svc-card.wp-block-group.is-revealed { animation: hSvcFlyUp 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both !important; }
  .h-svc-split .h-svc-card.wp-block-group:nth-child(2).is-revealed { animation: hSvcFlyDown 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s both !important; }
}
/* === stats === */
.h-stats.wp-block-group {
  padding: 360px 0 0 !important;
  background: transparent !important;
}
.h-stats-header.wp-block-group {
  display: flex !important; align-items: baseline !important;
  justify-content: space-between !important;
  padding: 0 64px 56px !important;
  border-bottom: 1px solid var(--h-subtle) !important;
  margin-bottom: 0 !important;
}
.h-stats-title.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(36px, 4vw, 64px) !important;
  font-weight: 700 !important; line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  color: var(--h-text) !important;
}
.h-stats-note {
  font-size: 13px !important; color: var(--h-muted) !important;
  max-width: 240px !important; text-align: right !important;
  line-height: 1.7 !important;
}
.h-stats-grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  margin: 0 !important;
}
.h-stats-grid > .wp-block-column { padding: 0 !important; }
/* cover item */
.h-stats-item.wp-block-cover {
  min-height: 580px !important;
  overflow: hidden !important;
  position: relative !important;
  align-items: flex-end !important;
}
.h-stats-item.wp-block-cover::before {
  content: ''; position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(to top, #060302 0%, rgba(6,3,2,0.9) 30%, rgba(6,3,2,0.55) 65%, rgba(6,3,2,0.2) 100%);
  pointer-events: none;
}
.h-stats-grid > .wp-block-column:first-child .h-stats-item.wp-block-cover {
  border-right: 1px solid rgba(249,115,22,0.12);
}
.h-stats-item .wp-block-cover__image-background {
  filter: saturate(0.45) brightness(0.65);
  transition: transform 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 1.6s ease;
  will-change: transform;
}
.h-stats-item:hover .wp-block-cover__image-background {
  transform: scale(1.05);
  filter: saturate(0.6) brightness(0.75);
}
.h-stats-item .wp-block-cover__inner-container {
  position: relative; z-index: 3;
  width: 100% !important; max-width: 100% !important;
  padding: 64px 60px !important;
}
/* numbers + text */
.h-stat-num.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(80px, 8.5vw, 130px) !important;
  font-weight: 700 !important; line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: var(--h-white) !important;
  margin-bottom: 14px !important;
  text-shadow: 0 0 80px rgba(249,115,22,0.18);
}
.h-stat-label {
  font-size: 10.5px !important; font-weight: 700 !important;
  letter-spacing: 0.24em !important; text-transform: uppercase !important;
  color: var(--h-orange) !important;
  margin-bottom: 22px !important;
  line-height: 1.5 !important;
}
.h-stat-body {
  font-size: 13.5px !important; line-height: 1.95 !important;
  color: rgba(255,255,255,0.56) !important;
  max-width: 400px !important; margin: 0 !important;
}
/* === pricing bridge === */
.h-pricing-bridge {
  height: 280px;
  background: linear-gradient(to bottom, #eef0ef 0%, #5a2a08 45%, #160800 100%);
  margin: 0;
  padding: 0;
  display: block;
}

/* === pricing === */
.h-pricing.wp-block-group {
  padding: 80px 64px !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(255,140,20,0.72) 0%, rgba(249,115,22,0.32) 28%, transparent 52%),
    radial-gradient(circle at 10% 82%, rgba(220,58,0,0.52) 0%, transparent 44%),
    radial-gradient(circle at 45% 50%, rgba(255,180,60,0.12) 0%, transparent 55%),
    #160800 !important;
  border-top: none !important;
  color: var(--h-white) !important;
  position: relative !important;
  isolation: isolate;
}
.h-pricing-head.wp-block-group {
  display: flex !important; align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 36px !important;
}
.h-pricing-title.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(30px, 3.2vw, 52px) !important;
  font-weight: 700 !important; line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--h-white) !important;
}
.h-pricing-note {
  font-size: 13px !important; color: rgba(255,255,255,0.42) !important;
  max-width: 260px !important; text-align: right !important; line-height: 1.75 !important;
}
/* Card section labels */
.h-pricing-card-label {
  font-family: var(--h-font-display) !important;
  font-size: clamp(20px, 2.2vw, 32px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: var(--h-white) !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.h-pricing-card-label::before {
  content: '' !important;
  display: inline-block !important;
  width: 32px !important;
  height: 2px !important;
  background: rgba(249,115,22,0.8) !important;
  flex-shrink: 0 !important;
}

/* Glass cards */
.h-pricing-video-wrap.wp-block-group {
  background: rgba(255,255,255,0.07) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 20px !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}
.h-pricing-web-card.wp-block-group {
  background: rgba(255,255,255,0.07) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  overflow: hidden !important;
  position: relative !important;
}
.h-pricing-web-card.wp-block-group::after {
  content: '' !important;
  position: absolute !important;
  top: -70px !important; right: -70px !important;
  width: 280px !important; height: 280px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(249,115,22,0.4) 0%, transparent 68%) !important;
  pointer-events: none !important;
}
/* Tab buttons (injected by JS) */
.h-pricing-tabs {
  display: flex !important;
  padding: 20px 32px !important;
  gap: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}
.h-tab-btn {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  padding: 11px 26px !important;
  border-radius: 100px !important;
  color: rgba(255,255,255,0.42) !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  cursor: pointer !important;
  transition: all 0.32s cubic-bezier(0.34,1.56,0.64,1) !important;
}
.h-tab-btn.is-active {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 32px rgba(249,115,22,0.6) !important;
}
.h-tab-btn:hover:not(.is-active) {
  color: rgba(255,255,255,0.78) !important;
  border-color: rgba(255,255,255,0.28) !important;
}
/* Panels */
.h-pricing-panel.wp-block-group {
  padding: 28px 32px 36px !important;
}
.js-anim .h-pricing-panel.wp-block-group { display: none !important; }
.js-anim .h-pricing-panel.is-active.wp-block-group { display: block !important; }
/* Shared text */
.h-pricing-tag {
  font-family: var(--h-font-display) !important;
  font-size: 10px !important; font-weight: 600 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  margin-bottom: 40px !important; display: block;
}
.h-pricing-price.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(40px, 4.2vw, 72px) !important;
  font-weight: 700 !important; line-height: 1 !important;
  letter-spacing: -0.03em !important;
  color: var(--h-white) !important;
  margin-bottom: 10px !important;
}
.h-pricing-period {
  font-size: 12px !important; color: rgba(255,255,255,0.4) !important;
  margin-bottom: 40px !important; display: block; letter-spacing: 0.04em;
}
.h-pricing-divider { height: 1px; background: rgba(255,255,255,0.1); margin-bottom: 36px; }
.h-pricing-list.wp-block-list {
  font-size: 13px !important; line-height: 2 !important;
  color: rgba(255,255,255,0.6) !important; margin-bottom: 48px !important;
}
.h-pricing-list.wp-block-list li { padding-left: 20px !important; position: relative; }
.h-pricing-list.wp-block-list li::before {
  content: '—'; position: absolute; left: 0;
  color: rgba(255,255,255,0.25); font-size: 10px; top: 50%; transform: translateY(-50%);
}
/* === contact === */
.h-contact.wp-block-group {
  padding: 160px 64px !important;
  background: transparent !important;
  color: var(--h-white) !important;
  position: relative !important;
  isolation: isolate;
}
.h-contact.wp-block-group::before { content: none; }
.h-contact-inner.wp-block-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 120px !important;
  align-items: start !important;
}
.h-contact-left.wp-block-group { display: block !important; }
.h-contact-eyebrow {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: 0.18em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  margin-bottom: 40px !important;
}
.h-contact-title.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(24px, 5vw, 88px) !important;
  font-weight: 700 !important; line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: var(--h-white) !important;
  margin-bottom: 40px !important;
  white-space: nowrap !important;
}
.h-contact-copy {
  font-size: 14px !important; line-height: 2.1 !important;
  color: rgba(255,255,255,0.45) !important;
  margin-bottom: 56px !important;
}
.h-contact-right.wp-block-group { display: block !important; padding-top: 4px !important; }
.h-contact-item.wp-block-group {
  display: block !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.h-contact-item:first-child.wp-block-group {
  border-top: 1px solid rgba(255,255,255,0.07) !important;
}
.h-contact-item-label {
  font-family: var(--h-font-display) !important;
  font-size: 10px !important; font-weight: 500 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.3) !important;
  margin-bottom: 8px !important;
}
.h-contact-item-value {
  font-size: 15px !important; color: rgba(255,255,255,0.8) !important; line-height: 1.6 !important;
}
/* === footer === */
.h-footer.wp-block-group,
.wp-block-template-part > .h-footer.wp-block-group {
  background: #0c0c0c !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}
.h-footer-inner.wp-block-group {
  padding: 56px 64px 48px !important;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
}
.h-footer-brand.wp-block-group { display: block !important; }
.h-footer-site-title {
  font-family: var(--h-font-display) !important;
  font-size: 16px !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--h-white) !important;
  margin-bottom: 8px !important;
}
.h-footer-tagline {
  font-size: 11px !important; letter-spacing: 0.09em !important;
  color: rgba(255,255,255,0.3) !important; line-height: 1.6 !important;
}
.h-footer-right.wp-block-group { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 16px !important; }
.h-footer-nav.wp-block-group {
  display: flex !important; gap: 32px !important;
}
.h-footer-nav a {
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; letter-spacing: 0.08em !important;
  color: rgba(255,255,255,0.38) !important;
  transition: color 0.25s ease !important;
}
.h-footer-nav a:hover { color: rgba(255,255,255,0.8) !important; }
.h-footer-copy {
  font-family: var(--h-font-display) !important;
  font-size: 10px !important; letter-spacing: 0.06em !important;
  color: rgba(255,255,255,0.22) !important;
}
/* === reveals === */
.h-reveal {
  opacity: 1; transform: none;
  transition: opacity 0.9s var(--h-ease), transform 0.9s var(--h-ease);
}
.js-anim .h-reveal-up    { opacity: 0; transform: translateY(36px); }
.js-anim .h-reveal-left  { opacity: 0; transform: translateX(-110px) scale(0.86) rotate(-4deg); }
.js-anim .h-reveal-right { opacity: 0; transform: translateX(110px) scale(0.86) rotate(4deg); }
.js-anim .h-reveal-scale { opacity: 0; transform: scale(0.94); }
.h-reveal-up, .h-reveal-left, .h-reveal-right, .h-reveal-scale {
  transition: opacity 1.0s var(--h-ease), transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}
.h-reveal-left, .h-reveal-right {
  transition: opacity 1.0s var(--h-ease), transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}
.h-reveal-up.is-visible, .h-reveal-left.is-visible, .h-reveal-right.is-visible, .h-reveal-scale.is-visible {
  opacity: 1 !important; transform: none !important;
}
.js-anim .h-stagger > * {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.8s var(--h-ease), transform 0.8s var(--h-ease);
}
.h-stagger.is-visible > *:nth-child(1) { transition-delay: 0s; }
.h-stagger.is-visible > *:nth-child(2) { transition-delay: 0.1s; }
.h-stagger.is-visible > *:nth-child(3) { transition-delay: 0.2s; }
.h-stagger.is-visible > *:nth-child(4) { transition-delay: 0.3s; }
.h-stagger.is-visible > * { opacity: 1 !important; transform: none !important; }
/* === submenu dropdown === */
.h-header .wp-block-navigation .menu-item-has-children { position: relative; }

/* chevron on parent items */
.h-sub-chevron {
  display: inline-block; margin-left: 5px; vertical-align: middle;
  width: 5px; height: 5px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.3s var(--h-ease), opacity 0.25s, border-color 0.25s;
  opacity: 0.35; pointer-events: none;
}
.h-header .menu-item-has-children:hover > .wp-block-navigation-item__content .h-sub-chevron {
  transform: rotate(-135deg) translateY(2px);
  opacity: 1; border-color: var(--h-accent);
}

/* card */
.h-header .wp-block-navigation .sub-menu {
  display: block;
  position: absolute; top: 100%; left: 0;
  min-width: 220px; z-index: 400; list-style: none; margin: 0;
  padding: 6px 0;
  background: linear-gradient(150deg,
    rgba(255,255,255,0.94) 0%,
    rgba(255,246,238,0.90) 50%,
    rgba(255,237,222,0.88) 100%);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.85);
  border-bottom-color: rgba(234,88,12,0.12);
  border-right-color: rgba(234,88,12,0.08);
  border-radius: 16px;
  box-shadow:
    0 16px 48px rgba(234,88,12,0.08),
    0 4px 16px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,1);
  opacity: 0; transform: translateY(-10px) scale(0.97);
  transform-origin: top center;
  transition: opacity 0.3s var(--h-ease), transform 0.3s var(--h-ease), visibility 0s linear 0.3s;
  visibility: hidden; pointer-events: none;
}
.h-header .wp-block-navigation .menu-item-has-children:hover > .sub-menu,
.h-header .wp-block-navigation .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1; transform: none;
  visibility: visible; pointer-events: auto;
  transition: opacity 0.3s var(--h-ease), transform 0.3s var(--h-ease), visibility 0s linear 0s;
}

/* stagger: items start hidden, animate in one by one on hover */
.h-header .wp-block-navigation .sub-menu > li {
  display: block; opacity: 0; transform: translateY(-5px);
  transition: opacity 0.08s, transform 0.08s;
}
.h-header .wp-block-navigation .menu-item-has-children:hover > .sub-menu > li {
  opacity: 1; transform: none;
  transition: opacity 0.32s var(--h-ease) calc(var(--sub-i, 0) * 55ms),
              transform 0.32s var(--h-ease) calc(var(--sub-i, 0) * 55ms);
}

/* item links */
.h-header .wp-block-navigation .sub-menu a,
.h-header .wp-block-navigation .sub-menu a:visited {
  position: relative; display: block; padding: 11px 22px 11px 24px !important;
  font-family: var(--h-font-display) !important; font-size: 13px !important;
  font-weight: 500 !important; letter-spacing: 0.06em;
  color: rgba(0,0,0,0.58) !important;
  text-decoration: none !important; background: transparent;
  transition: color 0.18s, padding-left 0.26s var(--h-ease), background 0.18s;
}
.h-header .wp-block-navigation .sub-menu a::before {
  content: ''; position: absolute; left: 0; top: 18%; bottom: 18%;
  width: 2px; background: var(--h-accent); border-radius: 2px;
  transform: scaleY(0); transform-origin: center;
  transition: transform 0.22s var(--h-ease);
}
.h-header .wp-block-navigation .sub-menu a::after { display: none !important; }
.h-header .wp-block-navigation .sub-menu a:hover {
  color: var(--h-accent) !important; padding-left: 32px !important;
  background: rgba(234,88,12,0.07); text-decoration: none !important;
}
.h-header .wp-block-navigation .sub-menu a:hover::before { transform: scaleY(1); }
/* === mobile nav === */
.h-nav-toggle {
  display: none; background: none; border: none;
  cursor: pointer; padding: 8px; z-index: 300;
  flex-direction: column; gap: 6px; position: relative;
}
.h-nav-toggle span {
  display: block; width: 26px; height: 1.5px;
  background: var(--h-text);
  transition: transform 0.4s var(--h-ease), opacity 0.3s ease, background 0.3s ease;
}
body.-is-dark .h-nav-toggle span { background: var(--h-white); }
.h-nav-toggle.is-open span { background: #1e140c; }
.h-nav-toggle.is-open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); width: 22px; }
.h-nav-toggle.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.h-nav-toggle.is-open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); width: 22px; }

html.h-menu-open,
body.h-menu-open {
  overflow: hidden;
}
html.h-menu-open {
  padding-right: var(--h-scrollbar-w, 0px);
  touch-action: none;
}
body.h-menu-open .h-header,
body.-is-dark.h-menu-open .h-header {
  background: #f5f0eb !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.h-menu-open .h-header .wp-block-site-title a,
body.-is-dark.h-menu-open .h-header .wp-block-site-title a {
  color: #1e140c !important;
}
body.h-menu-open .h-nav-toggle span,
body.-is-dark.h-menu-open .h-nav-toggle span {
  background: #1e140c !important;
}
.h-nav-overlay {
  display: none; position: fixed; inset: 0; z-index: 150;
  background: #f5f0eb;
  flex-direction: column; align-items: flex-start; justify-content: center;
  padding: 80px 40px 56px;
  gap: 0; opacity: 0; pointer-events: none;
  overflow-y: auto; overflow-x: hidden;
  touch-action: pan-y;
  overscroll-behavior: contain;
  transition: opacity 0.45s var(--h-ease);
}
.h-nav-overlay::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse 80% 60% at 100% 70%, rgba(234,88,12,0.12) 0%, transparent 65%);
  pointer-events: none;
}
.h-nav-overlay.is-open { opacity: 1; pointer-events: all; }

/* main nav items */
.h-nav-overlay a {
  font-family: var(--h-font-display);
  font-size: 22px; font-weight: 600; font-style: italic; letter-spacing: 0.01em;
  color: rgba(30,20,12,0.82); text-decoration: none;
  margin-bottom: 0; display: flex; align-items: center; gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(30,20,12,0.1);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.5s var(--h-ease), color 0.2s, border-color 0.2s;
  position: relative;
}
.h-nav-overlay a::before {
  content: counter(nav-item, decimal-leading-zero);
  counter-increment: nav-item;
  font-size: 10px; font-weight: 400; font-style: normal; letter-spacing: 0.12em;
  color: rgba(30,20,12,0.3);
  font-family: var(--h-font-body);
  flex-shrink: 0; width: 22px;
}
.h-nav-overlay {
  counter-reset: nav-item;
}
.h-nav-overlay a:hover { color: #ea580c; border-bottom-color: rgba(234,88,12,0.4); }
.h-nav-overlay a:hover::after {
  content: '→';
  position: absolute; right: 0;
  font-size: 13px; color: rgba(234,88,12,0.8); font-style: normal;
}
.h-nav-overlay.is-open a              { clip-path: inset(0 0% 0 0); }
.h-nav-overlay.is-open a:nth-child(1) { transition-delay: 0.04s; }
.h-nav-overlay.is-open a:nth-child(2) { transition-delay: 0.08s; }
.h-nav-overlay.is-open a:nth-child(3) { transition-delay: 0.12s; }
.h-nav-overlay.is-open a:nth-child(4) { transition-delay: 0.16s; }
.h-nav-overlay.is-open a:nth-child(5) { transition-delay: 0.20s; }
.h-nav-overlay.is-open a:nth-child(6) { transition-delay: 0.24s; }
.h-nav-overlay.is-open a:nth-child(7) { transition-delay: 0.28s; }
.h-nav-overlay.is-open a:nth-child(8) { transition-delay: 0.32s; }
.h-nav-overlay.is-open a:nth-child(9) { transition-delay: 0.36s; }
.h-nav-overlay.is-open a:nth-child(10){ transition-delay: 0.40s; }

/* category label */
.h-nav-overlay a.h-mob-label {
  display: flex; align-items: center; gap: 8px;
  font-size: 9px; font-weight: 600; font-style: normal; letter-spacing: 0.25em;
  text-transform: uppercase; color: rgba(234,88,12,0.85);
  margin-top: 24px; margin-bottom: 4px;
  padding: 0; border-bottom: none;
  opacity: 0.9;
  transition: clip-path 0.5s var(--h-ease);
}
.h-nav-overlay a.h-mob-label::before { display: none; }
.h-nav-overlay a.h-mob-label--static {
  cursor: default; pointer-events: none;
}

/* sub-items */
.h-nav-overlay a.h-mob-sub {
  font-size: 15px; font-weight: 500; font-style: italic; letter-spacing: 0.02em;
  color: rgba(30,20,12,0.55);
  padding: 8px 0 8px 36px;
  border-bottom: 1px solid rgba(30,20,12,0.06);
}
.h-nav-overlay a.h-mob-sub::before { display: none; }
.h-nav-overlay a.h-mob-sub:hover { color: #ea580c; opacity: 1; border-bottom-color: rgba(234,88,12,0.25); }
/* === animated gradient keyframe === */
@keyframes hGradMove {
  0%   { background-position: 0% 20%; }
  20%  { background-position: 90% 10%; }
  40%  { background-position: 60% 90%; }
  60%  { background-position: 10% 70%; }
  80%  { background-position: 80% 40%; }
  100% { background-position: 0% 20%; }
}

/* === post-service: dark default → light when reached === */
.h-stats.wp-block-group  { position: relative !important; isolation: isolate; }
.h-pricing.wp-block-group { position: relative !important; isolation: isolate; }

/* Stats/pricing: body handles dark bg — no section overlay needed */
.h-stats.wp-block-group::before,
.h-pricing.wp-block-group::before { content: none; }

/* Stats header follows body dark/light */
.h-stats-title.wp-block-heading,
.h-stats-note,
.h-stats-header.wp-block-group { transition: color 0.8s ease, border-color 0.8s ease !important; }
body.-is-dark .h-stats-title.wp-block-heading { color: var(--h-white) !important; }
body.-is-dark .h-stats-note                   { color: rgba(255,255,255,0.4) !important; }
body.-is-dark .h-stats-header.wp-block-group  { border-bottom-color: rgba(255,255,255,0.08) !important; }

/* Pricing: always dark gradient bg — no body-is-dark overrides needed */

/* Contact text — follows body dark/light */
.h-contact-eyebrow,
.h-contact-title.wp-block-heading,
.h-contact-copy,
.h-contact-item-label,
.h-contact-item-value,
.h-contact-item.wp-block-group { transition: color 0.8s ease, border-color 0.8s ease !important; }
body:not(.-is-dark) .h-contact-eyebrow                   { color: var(--h-muted) !important; }
body:not(.-is-dark) .h-contact-title.wp-block-heading    { color: var(--h-text) !important; }
body:not(.-is-dark) .h-contact-copy                      { color: rgba(0,0,0,0.5) !important; }
body:not(.-is-dark) .h-contact-item-label                { color: var(--h-muted) !important; }
body:not(.-is-dark) .h-contact-item-value                { color: var(--h-text) !important; }
body:not(.-is-dark) .h-contact-item.wp-block-group       { border-bottom-color: var(--h-subtle) !important; }
body:not(.-is-dark) .h-contact-item:first-child.wp-block-group { border-top-color: var(--h-subtle) !important; }

/* === responsive === */
@media (max-width: 1024px) {
  .h-stats-item.wp-block-cover { min-height: 460px !important; }
  .h-stats-item .wp-block-cover__inner-container { padding: 48px 40px !important; }
}
@media (max-width: 900px) {
  .h-header.wp-block-group { padding: 20px 24px !important; }
  .h-header.scrolled { padding: 14px 24px !important; }
  .h-header .wp-block-navigation { display: none !important; }
  .h-nav-toggle { display: flex !important; }
  .h-nav-overlay { display: flex; }

  .h-mv.wp-block-group { padding: 0 24px 44px !important; align-items: flex-end !important; }
  .h-mv-title.wp-block-heading { font-size: clamp(52px, 14vw, 96px) !important; }
  .h-mv-clips { justify-content: center; align-items: flex-start; padding-top: 110px; padding-right: 0; gap: 14px; opacity: 0.92; }
  .h-mv-clip-1 { width: 155px; height: 224px; transform: rotate(-2.5deg) translateY(15px); }
  .h-mv-clip-2 { width: 185px; height: 282px; transform: rotate(1.5deg) translateY(-10px); }
  .h-mv-clip-3 { width: 148px; height: 214px; transform: rotate(-1deg) translateY(8px); }
  .h-mv-scroll { right: 24px; }

  .h-concept.wp-block-group { padding: 96px 24px 80px !important; }
  .h-concept-lead { font-size: clamp(44px, 12vw, 80px); }

  .h-svc-label-row.wp-block-group { padding: 80px 24px 48px !important; }
  .h-svc-card.wp-block-group { padding: 56px 24px !important; }
  .h-svc-inner.wp-block-columns {
    grid-template-columns: 1fr !important; gap: 40px !important;
  }
  .h-svc-media.wp-block-column { order: -1; }
  .h-svc-card.wp-block-group::after { font-size: 140px !important; right: 20px !important; bottom: -10px !important; }
  .h-mv-title.wp-block-heading { font-size: clamp(52px, 13vw, 96px) !important; }

  .h-stats.wp-block-group { padding: 96px 0 0 !important; }
  .h-stats-header.wp-block-group { flex-direction: column !important; gap: 20px !important; padding: 0 24px 48px !important; }
  .h-stats-note { text-align: left !important; }
  .h-stats-grid.wp-block-columns { grid-template-columns: 1fr !important; }
  .h-stats-grid > .wp-block-column:first-child .h-stats-item.wp-block-cover { border-right: none !important; border-bottom: 1px solid rgba(249,115,22,0.12) !important; }
  .h-stats-item.wp-block-cover { min-height: 420px !important; }
  .h-stats-item .wp-block-cover__inner-container { padding: 48px 24px !important; }

  .h-pricing.wp-block-group { padding: 80px 24px !important; }
  .h-pricing-head.wp-block-group { flex-direction: column !important; gap: 16px !important; }
  .h-pricing-note { text-align: left !important; max-width: none !important; }
  .h-pricing-tabs { padding: 16px 20px !important; }
  .h-tab-btn { padding: 9px 18px !important; font-size: 10px !important; }
  .h-pricing-panel.wp-block-group { padding: 32px 24px 40px !important; }
  .h-pricing-web-card.wp-block-group { padding: 36px 24px !important; }

  .h-contact.wp-block-group { padding: 96px 24px !important; }
  .h-contact-inner.wp-block-group { grid-template-columns: 1fr !important; gap: 64px !important; }

  .h-footer-inner.wp-block-group {
    padding: 48px 24px 40px !important;
    flex-direction: column !important; align-items: flex-start !important; gap: 36px !important;
  }
  .h-footer-right.wp-block-group { align-items: flex-start !important; }
}
/* === service card hologram cursor === */
.h-svc-card--video, .h-svc-card--web { cursor: none; }
.h-svc-hologram {
  position: absolute;
  width: 130px; height: 130px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.42s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
  opacity: 0;
  z-index: 20;
  will-change: transform;
}
.h-svc-card:hover .h-svc-hologram {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.h-svc-hologram-ring {
  position: absolute; inset: 0; border-radius: 50%;
  border: 1.5px solid rgba(249,115,22,0.65);
  background: radial-gradient(circle, rgba(249,115,22,0.08) 0%, rgba(249,115,22,0.03) 50%, transparent 75%);
  box-shadow: 0 0 18px rgba(249,115,22,0.35), 0 0 36px rgba(249,115,22,0.14), inset 0 0 18px rgba(249,115,22,0.07);
  animation: hHoloPulse 1.9s ease-in-out infinite;
}
.h-svc-hologram-ring::before {
  content: '';
  position: absolute; inset: 11px; border-radius: 50%;
  border: 1px dashed rgba(249,115,22,0.38);
  animation: hHoloRotate 3.5s linear infinite;
}
.h-svc-hologram-ring::after {
  content: '';
  position: absolute; inset: 0; border-radius: 50%;
  background: repeating-linear-gradient(
    180deg, transparent 0px, transparent 3px,
    rgba(249,115,22,0.045) 3px, rgba(249,115,22,0.045) 4px
  );
  overflow: hidden;
}
.h-svc-hologram-label {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 3px;
  font-family: var(--h-font-display);
  font-size: 8.5px; font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase;
  color: rgba(249,115,22,0.9);
  text-shadow: 0 0 10px rgba(249,115,22,0.7), 0 0 20px rgba(249,115,22,0.3);
  z-index: 2;
}
.h-svc-hologram-arrow {
  display: block; font-size: 20px; letter-spacing: 0;
  animation: hHoloArrow 1.4s ease-in-out infinite;
}
@keyframes hHoloPulse {
  0%,100% { box-shadow: 0 0 18px rgba(249,115,22,0.35), 0 0 36px rgba(249,115,22,0.14), inset 0 0 18px rgba(249,115,22,0.07); }
  50% { box-shadow: 0 0 28px rgba(249,115,22,0.55), 0 0 56px rgba(249,115,22,0.22), inset 0 0 26px rgba(249,115,22,0.12); }
}
@keyframes hHoloRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes hHoloArrow {
  0%,100% { transform: translateY(0); opacity: 0.9; }
  50% { transform: translateY(-3px); opacity: 1; }
}

/* === page transition overlay === */
.h-page-trans {
  position: fixed; inset: 0; z-index: 9999;
  pointer-events: none; overflow: hidden;
}
.h-page-trans-panel {
  position: absolute; left: -2%; right: -2%; top: -2%; bottom: -2%;
  background: linear-gradient(160deg, #0a0603 0%, #140b04 35%, #1e0e05 65%, #0d0602 100%);
  transform: translateY(105%);
  will-change: transform;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.h-page-trans-label {
  font-family: var(--h-font-display);
  font-size: clamp(28px, 5vw, 72px);
  font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase;
  color: rgba(249, 115, 22, 0.22);
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.35s ease 0.22s, transform 0.45s ease 0.22s;
  position: relative; z-index: 1;
}
.h-page-trans-streak {
  position: absolute; top: 0; bottom: 0;
  width: 35%; left: -45%;
  background: linear-gradient(90deg, transparent 0%, rgba(249,115,22,0.2) 30%, rgba(234,88,12,0.45) 50%, rgba(249,115,22,0.2) 70%, transparent 100%);
  transform: skewX(-12deg);
  transition: left 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  pointer-events: none;
}
.h-page-trans.is-active { pointer-events: all; }
.h-page-trans.is-active .h-page-trans-panel {
  transform: translateY(0);
  transition: transform 0.52s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.h-page-trans.is-active .h-page-trans-label { opacity: 1; transform: translateY(0); }
.h-page-trans.is-active .h-page-trans-streak { left: 145%; }
.h-page-trans.is-reveal .h-page-trans-panel { transform: translateY(0); }
.h-page-trans.is-out .h-page-trans-panel {
  transform: translateY(-105%);
  transition: transform 0.68s cubic-bezier(0.02, 0.655, 0.395, 1) 0.06s;
}

/* === contact page === */
.h-cp.wp-block-group {
  min-height: 100vh;
  padding: 160px 80px 140px !important;
  background: var(--h-bg) !important;
  color: var(--h-text) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.h-cp-hero.wp-block-group { max-width: 900px !important; width: 100% !important; margin-bottom: 72px !important; text-align: center !important; }
.h-cp-eyebrow {
  font-family: var(--h-font-display) !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 0.28em !important; text-transform: uppercase !important;
  color: var(--h-muted) !important; margin-bottom: 16px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important;
}
.h-cp-eyebrow::before {
  content: '' !important; display: inline-block !important;
  width: 36px !important; height: 1px !important;
  background: var(--h-subtle) !important; flex-shrink: 0 !important;
}
/* MAKE IT MOVE. style heading — animated orange gradient */
@keyframes cpGradient {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.h-cp-title.wp-block-heading {
  font-family: var(--h-font-display) !important;
  font-size: clamp(72px, 10vw, 140px) !important;
  font-weight: 600 !important; line-height: 0.9 !important;
  letter-spacing: -0.03em !important;
  background: linear-gradient(90deg, #7c2d12, #c2410c, #ea580c, #f97316, #fb923c, #fde68a, #fb923c, #f97316, #ea580c, #c2410c, #7c2d12) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  animation: cpGradient 2.2s linear infinite !important;
  margin-bottom: 28px !important;
  text-align: center !important;
}
.h-cp-sub {
  font-size: 15px !important; line-height: 1.9 !important;
  color: var(--h-muted) !important; margin-bottom: 0 !important;
  text-align: center !important;
}
/* Bright form card */
.h-cp-form-wrap.wp-block-group {
  max-width: 760px !important; width: 100% !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 28px !important;
  padding: 64px 72px !important;
  position: relative !important;
  box-shadow: 0 4px 6px rgba(0,0,0,0.04), 0 20px 60px rgba(0,0,0,0.07) !important;
}
.h-cp-form-wrap.wp-block-group::before {
  content: '' !important; position: absolute !important;
  top: -80px !important; right: -80px !important;
  width: 280px !important; height: 280px !important; border-radius: 50% !important;
  background: radial-gradient(circle, rgba(249,115,22,0.07) 0%, transparent 68%) !important;
  pointer-events: none !important;
}
.h-cp-form-wrap.wp-block-group::after { display: none !important; }
/* CF7 field layout */
.h-cp-form-wrap .wpcf7-form { position: relative !important; z-index: 1 !important; }
.h-cp-form-wrap .wpcf7-form p { margin-bottom: 0 !important; margin-top: 28px !important; }
.h-cp-form-wrap .wpcf7-form p:first-child { margin-top: 0 !important; }
.h-cp-form-wrap .wpcf7-form label {
  font-family: var(--h-font-display) !important;
  font-size: 8px !important; font-weight: 700 !important;
  letter-spacing: 0.25em !important; text-transform: uppercase !important;
  color: rgba(0,0,0,0.35) !important;
  margin-bottom: 10px !important; display: block !important;
  padding-left: 12px !important; position: relative !important;
}
.h-cp-form-wrap .wpcf7-form label::before {
  content: '' !important; position: absolute !important;
  left: 0 !important; top: 4px !important;
  width: 4px !important; height: 4px !important;
  border-radius: 50% !important; background: #ea580c !important;
}
/* Text / email / tel — bottom-line */
.h-cp-form-wrap .wpcf7-text,
.h-cp-form-wrap .wpcf7-email,
.h-cp-form-wrap .wpcf7-tel {
  width: 100% !important; background: transparent !important;
  border: none !important; border-bottom: 1px solid rgba(0,0,0,0.12) !important;
  border-radius: 0 !important; padding: 10px 0 14px !important;
  color: var(--h-text) !important; font-family: var(--h-font-body) !important;
  font-size: 16px !important; outline: none !important; box-shadow: none !important;
  transition: border-color 0.4s cubic-bezier(0.16,1,0.3,1) !important;
}
.h-cp-form-wrap .wpcf7-text:focus,
.h-cp-form-wrap .wpcf7-email:focus,
.h-cp-form-wrap .wpcf7-tel:focus { border-bottom-color: #ea580c !important; }
/* Select */
.h-cp-form-wrap .wpcf7-select {
  width: 100% !important; background: rgba(0,0,0,0.03) !important;
  border: 1px solid rgba(0,0,0,0.1) !important; border-radius: 12px !important;
  padding: 14px 48px 14px 18px !important; color: rgba(0,0,0,0.6) !important;
  font-family: var(--h-font-body) !important; font-size: 15px !important;
  outline: none !important; cursor: pointer !important;
  -webkit-appearance: none !important; appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ea580c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 18px center !important;
  transition: border-color 0.3s ease !important;
}
.h-cp-form-wrap .wpcf7-select:focus { border-color: rgba(234,88,12,0.45) !important; }
/* Textarea */
.h-cp-form-wrap .wpcf7-textarea {
  width: 100% !important; background: rgba(0,0,0,0.02) !important;
  border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 16px !important;
  padding: 18px 20px !important; color: var(--h-text) !important;
  font-family: var(--h-font-body) !important; font-size: 15px !important;
  line-height: 1.75 !important; outline: none !important;
  min-height: 160px !important; resize: vertical !important;
  transition: border-color 0.4s ease, background 0.3s ease !important;
}
.h-cp-form-wrap .wpcf7-textarea:focus {
  border-color: rgba(234,88,12,0.35) !important;
  background: rgba(0,0,0,0.04) !important;
}
/* Placeholders */
.h-cp-form-wrap input::placeholder,
.h-cp-form-wrap textarea::placeholder { color: rgba(0,0,0,0.2) !important; }
/* Submit */
.h-cp-form-wrap .wpcf7-submit {
  width: 100% !important; margin-top: 40px !important;
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  color: #fff !important; border: none !important;
  border-radius: 16px !important; padding: 22px 40px !important;
  font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 6px 28px rgba(249,115,22,0.35) !important;
  transition: box-shadow 0.4s cubic-bezier(0.16,1,0.3,1), transform 0.35s cubic-bezier(0.16,1,0.3,1) !important;
}
.h-cp-form-wrap .wpcf7-submit:hover {
  box-shadow: 0 14px 48px rgba(249,115,22,0.6), 0 4px 16px rgba(249,115,22,0.3) !important;
  transform: translateY(-3px) !important;
}
.h-cp-form-wrap .wpcf7-submit:active { transform: translateY(-1px) !important; }
/* Validation */
.h-cp-form-wrap .wpcf7-not-valid-tip {
  color: #fb923c !important; font-size: 11px !important;
  letter-spacing: 0.04em !important; margin-top: 5px !important; display: block !important;
}
.h-cp-form-wrap .wpcf7-response-output {
  border: 1px solid rgba(249,115,22,0.25) !important;
  background: rgba(249,115,22,0.06) !important;
  border-radius: 12px !important; padding: 16px 22px !important;
  font-size: 13px !important; color: #333 !important;
  margin-top: 24px !important; letter-spacing: 0.02em !important;
}
.h-cp-form-wrap .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(34,197,94,0.4) !important;
  background: rgba(34,197,94,0.08) !important;
  color: #166534 !important;
}
.h-cp-form-wrap .wpcf7 form.failed .wpcf7-response-output,
.h-cp-form-wrap .wpcf7 form.invalid .wpcf7-response-output {
  border-color: rgba(239,68,68,0.4) !important;
  background: rgba(239,68,68,0.06) !important;
  color: #991b1b !important;
}
@media (max-width: 1024px) {
  .h-cp.wp-block-group { padding: 140px 48px 100px !important; }
  .h-cp-form-wrap.wp-block-group { padding: 52px 48px !important; }
}
@media (max-width: 900px) {
  .h-cp.wp-block-group { padding: 120px 24px 80px !important; }
  .h-cp-hero.wp-block-group { margin-bottom: 60px !important; }
  .h-cp-body.wp-block-columns { flex-direction: column !important; gap: 52px !important; }
  .h-cp-info-col.wp-block-column { flex: 1 1 100% !important; max-width: 100% !important; }
  .h-cp-form-wrap.wp-block-group { padding: 40px 28px !important; border-radius: 20px !important; }
}

/* === custom select === */
.h-holo-select-wrap { position: relative; }
.h-holo-select-wrap select { display: none !important; }
.h-holo-trigger-border {
  border-radius: 13px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.1);
  transition: border-color 0.25s, box-shadow 0.25s;
}
.h-holo-trigger-border.is-open {
  border-color: rgba(234,88,12,0.4);
  box-shadow: 0 0 0 3px rgba(234,88,12,0.08);
}
.h-holo-trigger {
  width: 100%; box-sizing: border-box;
  background: transparent;
  border-radius: 12px;
  padding: 14px 44px 14px 18px;
  color: rgba(0,0,0,0.35);
  font-family: var(--h-font-body); font-size: 15px;
  cursor: pointer; position: relative;
  user-select: none; -webkit-user-select: none;
  transition: color 0.2s;
}
.h-holo-trigger.has-value { color: rgba(0,0,0,0.75); }
.h-holo-trigger::after {
  content: ''; position: absolute; right: 16px; top: 50%;
  transform: translateY(-50%);
  width: 12px; height: 7px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ea580c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}
.h-holo-trigger.is-open::after { transform: translateY(-50%) rotate(180deg); }
/* Floating dropdown — position set via JS (fixed, above overflow:hidden parents) */
.h-holo-dd-border {
  z-index: 9999;
  opacity: 0;
  transform: translateY(-10px) scale(0.97);
  transform-origin: top center;
  transition: opacity 0.28s cubic-bezier(0.16,1,0.3,1), transform 0.28s cubic-bezier(0.16,1,0.3,1);
  pointer-events: none;
  filter: drop-shadow(0 8px 32px rgba(0,0,0,0.12)) drop-shadow(0 2px 8px rgba(0,0,0,0.07));
}
.h-holo-dd-border.is-open { opacity: 1; transform: none; pointer-events: auto; }
.h-holo-dd {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
}
.h-holo-option {
  padding: 14px 18px;
  color: rgba(0,0,0,0.6);
  font-family: var(--h-font-body); font-size: 14px;
  cursor: pointer; border-bottom: 1px solid rgba(0,0,0,0.05);
  transition: background 0.15s, color 0.15s, padding-left 0.2s cubic-bezier(0.16,1,0.3,1);
}
.h-holo-option:last-child { border-bottom: none; }
.h-holo-option:hover { background: rgba(234,88,12,0.05); color: #ea580c; padding-left: 26px; }
.h-holo-option.is-selected { color: #ea580c; background: rgba(234,88,12,0.06); font-weight: 500; }

/* === dark-hero pages: header white until scrolled === */
.page-id-1028 .h-header:not(.scrolled) .wp-block-site-title a,
.page-id-964 .h-header:not(.scrolled) .wp-block-site-title a { color: rgba(255,255,255,0.92) !important; }
.page-id-1028 .h-header:not(.scrolled) .wp-block-navigation-item__content,
.page-id-964 .h-header:not(.scrolled) .wp-block-navigation-item__content { color: rgba(255,255,255,0.82) !important; }
.page-id-1028 .h-header:not(.scrolled) .h-nav-toggle span,
.page-id-964 .h-header:not(.scrolled) .h-nav-toggle span { background: rgba(255,255,255,0.9) !important; }
.page-id-1028 .h-header:not(.scrolled) .h-sub-chevron,
.page-id-964 .h-header:not(.scrolled) .h-sub-chevron { border-color: rgba(255,255,255,0.6) !important; }
.page-id-1028 .h-header:not(.scrolled) .sub-menu a,
.page-id-1028 .h-header:not(.scrolled) .sub-menu a:visited,
.page-id-964 .h-header:not(.scrolled) .sub-menu a,
.page-id-964 .h-header:not(.scrolled) .sub-menu a:visited { color: rgba(0,0,0,0.58) !important; }
.page-id-1028 .h-header:not(.scrolled) .sub-menu a:hover,
.page-id-964 .h-header:not(.scrolled) .sub-menu a:hover { color: var(--h-accent) !important; }

/* === service-web page === */
.swb-hero.wp-block-cover { min-height: 30vh !important; }
.swb-hero .wp-block-cover__image-background { filter: brightness(0.3) saturate(0.7) !important; object-position: center center !important; }
.swb-hero .wp-block-cover__inner-container { display: flex !important; align-items: flex-end !important; min-height: 30vh !important; padding: 88px 0 0 !important; }
.swb-hero-inner.wp-block-group {
  max-width: 100% !important; width: 100% !important;
  padding: 0 100px 48px !important;
  display: flex !important; flex-direction: column !important; align-items: flex-start !important;
}
.swb-eyebrow {
  font-family: var(--h-font-display) !important; font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 0.34em !important; text-transform: uppercase !important;
  color: var(--h-accent) !important; margin-bottom: 16px !important;
  display: flex !important; align-items: center !important; gap: 14px !important;
}
.swb-eyebrow::before { content: '' !important; display: inline-block !important; width: 40px !important; height: 1px !important; background: var(--h-accent) !important; flex-shrink: 0 !important; }
.swb-hero-title.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 700 !important; line-height: 0.9 !important; letter-spacing: -0.03em !important;
  color: var(--h-white) !important; margin-bottom: 20px !important; max-width: 100% !important;
}
.swb-hero-sub {
  font-size: 13px !important; line-height: 1.8 !important;
  color: rgba(255,255,255,0.48) !important; max-width: 420px !important; margin-bottom: 28px !important;
}
.swb-hero .wp-block-button__link {
  background: transparent !important; color: var(--h-white) !important;
  border: 1px solid rgba(255,255,255,0.3) !important; border-radius: 50px !important;
  padding: 18px 44px !important; font-family: var(--h-font-display) !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.22em !important;
  text-transform: uppercase !important; text-decoration: none !important;
  transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease !important;
}
.swb-hero .wp-block-button__link:hover {
  background: var(--h-accent) !important; border-color: var(--h-accent) !important;
}

/* Marquee strip */
.swb-marquee-wrap { overflow: hidden; background: var(--h-accent); padding: 13px 0; }
.swb-marquee-track { display: flex; width: max-content; animation: swbMarquee 26s linear infinite; }
.swb-marquee-wrap:hover .swb-marquee-track { animation-play-state: paused; }
.swb-marquee-item {
  font-family: var(--h-font-display); font-size: 11px; font-weight: 700;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: rgba(255,255,255,0.9); white-space: nowrap; padding: 0 40px;
}
.swb-marquee-sep { color: rgba(255,255,255,0.4); font-size: 8px; align-self: center; flex-shrink: 0; }
@keyframes swbMarquee { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--tick-offset, 50%))); } }

/* Lead section */
.swb-lead.wp-block-group { background: var(--h-bg) !important; padding: 140px 100px !important; }
.swb-lead-cols.wp-block-columns { max-width: 1100px !important; margin: 0 auto !important; align-items: center !important; gap: 80px !important; flex-wrap: nowrap !important; }
.swb-lead-left.wp-block-column { flex: 0 0 auto !important; width: 38% !important; min-width: 0 !important; }
.swb-lead-right.wp-block-column { flex: 1 1 0 !important; min-width: 0 !important; }
.swb-section-tag {
  font-family: var(--h-font-display) !important; font-size: 9px !important; font-weight: 700 !important;
  letter-spacing: 0.3em !important; text-transform: uppercase !important;
  color: var(--h-accent) !important; margin-bottom: 20px !important;
  display: flex !important; align-items: center !important; gap: 12px !important;
}
.swb-section-tag::before { content: '' !important; width: 28px !important; height: 1px !important; background: var(--h-accent) !important; flex-shrink: 0 !important; }
.swb-lead-title.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: clamp(24px, 3.6vw, 52px) !important;
  font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.025em !important;
  color: var(--h-text) !important; margin-bottom: 0 !important; white-space: nowrap !important;
}
.swb-lead-body {
  font-size: 14px !important; line-height: 2.1 !important; color: var(--h-muted) !important; margin-bottom: 0 !important;
}

/* Features section */
.swb-feat.wp-block-group {
  background: var(--h-dark) !important;
  padding: 120px 100px !important;
  position: relative !important;
  overflow: hidden !important;
}
.swb-feat.wp-block-group::before,
.swb-feat.wp-block-group::after {
  content: '' !important;
  position: absolute !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.swb-feat.wp-block-group::before {
  width: 900px !important; height: 900px !important;
  background: radial-gradient(ellipse at center, rgba(234,88,12,0.92) 0%, rgba(234,88,12,0.55) 35%, rgba(234,88,12,0.18) 62%, transparent 80%) !important;
  filter: blur(60px) !important;
  animation: swbGlowA 28s linear infinite !important;
}
.swb-feat.wp-block-group::after {
  width: 800px !important; height: 800px !important;
  background: radial-gradient(ellipse at center, rgba(251,146,60,0.88) 0%, rgba(234,88,12,0.50) 35%, rgba(234,88,12,0.16) 62%, transparent 80%) !important;
  filter: blur(55px) !important;
  animation: swbGlowB 38s linear infinite !important;
}
.swb-feat-inner.wp-block-group { position: relative !important; z-index: 1 !important; }
@keyframes swbGlowA {
  0%   { top: 30%;  left: 5%;   transform: translate(-50%,-50%) scale(1.00); opacity: 0.90; }
  14%  { top: 10%;  left: 20%;  transform: translate(-50%,-50%) scale(1.18); opacity: 1.00; }
  28%  { top: 60%;  left: 8%;   transform: translate(-50%,-50%) scale(0.95); opacity: 0.78; }
  42%  { top: 80%;  left: 22%;  transform: translate(-50%,-50%) scale(1.22); opacity: 0.96; }
  57%  { top: 50%;  left: 2%;   transform: translate(-50%,-50%) scale(0.92); opacity: 0.82; }
  71%  { top: 15%;  left: 18%;  transform: translate(-50%,-50%) scale(1.14); opacity: 0.92; }
  85%  { top: 70%;  left: 10%;  transform: translate(-50%,-50%) scale(1.05); opacity: 0.75; }
  100% { top: 30%;  left: 5%;   transform: translate(-50%,-50%) scale(1.00); opacity: 0.90; }
}
@keyframes swbGlowB {
  0%   { top: 50%;  left: 92%;  transform: translate(-50%,-50%) scale(1.00); opacity: 0.85; }
  13%  { top: 20%;  left: 78%;  transform: translate(-50%,-50%) scale(1.20); opacity: 1.00; }
  27%  { top: 70%;  left: 88%;  transform: translate(-50%,-50%) scale(0.90); opacity: 0.72; }
  41%  { top: 10%;  left: 80%;  transform: translate(-50%,-50%) scale(1.16); opacity: 0.96; }
  55%  { top: 80%;  left: 95%;  transform: translate(-50%,-50%) scale(1.24); opacity: 0.86; }
  69%  { top: 35%;  left: 75%;  transform: translate(-50%,-50%) scale(0.88); opacity: 0.74; }
  83%  { top: 60%;  left: 82%;  transform: translate(-50%,-50%) scale(1.10); opacity: 0.90; }
  100% { top: 50%;  left: 92%;  transform: translate(-50%,-50%) scale(1.00); opacity: 0.85; }
}
.swb-feat-inner.wp-block-group { max-width: 1100px !important; margin: 0 auto !important; }
.swb-feat-header.wp-block-group { margin-bottom: 64px !important; }
.swb-dark-title.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 600 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important;
  color: var(--h-white) !important; margin-bottom: 0 !important;
}
.swb-feat-grid.wp-block-columns { gap: 2px !important; flex-wrap: nowrap !important; align-items: stretch !important; }
.swb-feat-card.wp-block-column {
  flex: 1 1 0 !important; min-width: 0 !important;
  background: rgba(255,255,255,0.028) !important; border: 1px solid rgba(255,255,255,0.055) !important;
  padding: 0 0 44px !important; position: relative !important; overflow: hidden !important;
  transition: background 0.45s ease, border-color 0.45s ease !important;
}
.swb-feat-card.wp-block-column:hover { background: rgba(249,115,22,0.04) !important; border-color: rgba(249,115,22,0.18) !important; }
.swb-feat-card.wp-block-column::after {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--h-accent), transparent) !important;
  opacity: 0 !important; transition: opacity 0.4s ease !important;
}
.swb-feat-card.wp-block-column:hover::after { opacity: 1 !important; }
.swb-feat-img.wp-block-image { margin-bottom: 0 !important; overflow: hidden !important; }
.swb-feat-img.wp-block-image img {
  width: 100% !important; height: 200px !important; object-fit: cover !important;
  filter: brightness(0.75) saturate(0.6) !important;
  transition: filter 0.6s ease, transform 0.7s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-feat-card.wp-block-column:hover .swb-feat-img.wp-block-image img { filter: brightness(0.9) saturate(0.9) !important; transform: scale(1.05) !important; }
.swb-feat-body.wp-block-group { padding: 32px 32px 0 !important; }
.swb-feat-num {
  font-family: var(--h-font-display) !important; font-size: 44px !important; font-weight: 700 !important;
  letter-spacing: -0.04em !important; color: rgba(249,115,22,0.12) !important;
  line-height: 1 !important; margin-bottom: 12px !important;
}
.swb-feat-name.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: 20px !important; font-weight: 600 !important;
  letter-spacing: -0.01em !important; color: var(--h-white) !important; margin-bottom: 12px !important;
}
.swb-feat-desc { font-size: 12px !important; line-height: 1.9 !important; color: rgba(255,255,255,0.38) !important; margin-bottom: 0 !important; }

/* Pricing section */
.swb-price.wp-block-group { background: var(--h-bg) !important; padding: 120px 100px !important; }
.swb-price-inner.wp-block-group { max-width: 1100px !important; margin: 0 auto !important; }
.swb-price-header.wp-block-group { margin-bottom: 64px !important; }
.swb-light-title.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 600 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important;
  color: var(--h-text) !important; margin-bottom: 0 !important;
}
/* Single price display */
.swb-price-single.wp-block-group {
  text-align: center !important; margin-bottom: 72px !important;
  padding-bottom: 64px !important; border-bottom: 1px solid var(--h-subtle) !important;
}
.swb-price-big {
  font-family: var(--h-font-display) !important; font-size: clamp(72px, 11vw, 128px) !important;
  font-weight: 700 !important; letter-spacing: -0.05em !important;
  color: var(--h-accent) !important; line-height: 1 !important; margin-bottom: 10px !important;
}
.swb-price-big-unit { font-size: 22px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: rgba(249,115,22,0.5) !important; vertical-align: baseline !important; }
.swb-price-big-note {
  font-size: 12px !important; color: var(--h-muted) !important;
  letter-spacing: 0.06em !important; margin-bottom: 0 !important;
}
/* Template picker label */
.swb-tpl-select-label {
  font-family: var(--h-font-display) !important; font-size: 9px !important; font-weight: 700 !important;
  letter-spacing: 0.3em !important; text-transform: uppercase !important;
  color: var(--h-muted) !important; margin-bottom: 28px !important; text-align: center !important;
}
/* Template picker grid — 2x2 via two rows of core/columns */
.swb-tpl-row.wp-block-columns { gap: 16px !important; margin-bottom: 16px !important; flex-wrap: nowrap !important; }
.swb-tpl-row.wp-block-columns:last-child { margin-bottom: 0 !important; }
.swb-tpl-pick.wp-block-column {
  flex: 1 1 0 !important; min-width: 0 !important;
  border: 1.5px solid var(--h-subtle) !important; border-radius: 16px !important;
  overflow: hidden !important; background: #fff !important; cursor: none !important;
  position: relative !important;
  transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.16,1,0.3,1), border-color 0.3s ease !important;
}
.swb-tpl-pick:hover .h-svc-hologram {
  transform: translate(-50%, -50%) scale(1) !important;
  opacity: 1 !important;
}
.swb-tpl-pick.wp-block-column:hover {
  box-shadow: 0 14px 44px rgba(0,0,0,0.1) !important; transform: translateY(-5px) !important;
  border-color: rgba(249,115,22,0.35) !important;
}
.swb-tpl-pick .wp-block-image {
  margin-bottom: 0 !important; overflow: hidden !important;
  aspect-ratio: 16 / 9 !important; display: block !important;
}
.swb-tpl-pick .wp-block-image img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  display: block !important; transition: transform 0.65s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-tpl-pick:hover .wp-block-image img { transform: scale(1.05) !important; }
.swb-tpl-pick-info.wp-block-group {
  padding: 18px 22px 20px !important;
  border-top: 1px solid var(--h-subtle) !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
}
.swb-tpl-pick-name.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: 14px !important; font-weight: 600 !important;
  color: var(--h-text) !important; margin-bottom: 2px !important;
}
.swb-tpl-pick-tag { font-size: 11px !important; color: var(--h-muted) !important; margin-bottom: 0 !important; }
.swb-tpl-pick-arrow {
  font-size: 18px !important; color: var(--h-accent) !important;
  opacity: 0 !important; transform: translateX(-6px) !important;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-tpl-pick:hover .swb-tpl-pick-arrow { opacity: 1 !important; transform: translateX(0) !important; }

/* Flow section */
.swb-flow.wp-block-group { background: var(--h-bg) !important; padding: 120px 100px !important; }
.swb-flow-inner.wp-block-group { max-width: 1100px !important; margin: 0 auto !important; }
.swb-flow-header.wp-block-group { margin-bottom: 72px !important; }
.swb-flow-grid.wp-block-columns { gap: 0 !important; flex-wrap: nowrap !important; }
.swb-flow-grid-row2.wp-block-columns { border-top: 1px solid var(--h-subtle) !important; }
.swb-flow-step.wp-block-column {
  flex: 1 1 0 !important; min-width: 0 !important; padding: 44px 36px !important;
  border-right: 1px solid rgba(255,255,255,0.055) !important; position: relative !important;
}
.swb-flow-step.wp-block-column:last-child { border-right: none !important; }
.swb-step-num {
  font-family: var(--h-font-display) !important; font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 0.22em !important; color: var(--h-accent) !important; margin-bottom: 20px !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
}
.swb-step-num::after { content: '' !important; flex: 1 !important; height: 1px !important; background: rgba(249,115,22,0.2) !important; }
.swb-step-title.wp-block-heading {
  font-family: var(--h-font-display) !important; font-size: 17px !important; font-weight: 600 !important;
  color: var(--h-white) !important; margin-bottom: 10px !important; letter-spacing: -0.01em !important;
}
.swb-step-desc { font-size: 12px !important; line-height: 1.9 !important; color: rgba(255,255,255,0.38) !important; margin-bottom: 0 !important; }
/* swb-flow on light bg — text & border overrides */
.swb-flow .swb-dark-title.wp-block-heading { color: var(--h-text) !important; }
.swb-flow .swb-step-title.wp-block-heading { color: var(--h-text) !important; }
.swb-flow .swb-step-desc { color: var(--h-muted) !important; }
.swb-flow .swb-flow-step.wp-block-column { border-right-color: var(--h-subtle) !important; }
.swb-flow .swb-step-num::after { background: rgba(234,88,12,0.15) !important; }

/* Templates section */
.swb-tpl.wp-block-group { background: var(--h-bg) !important; padding: 120px 100px !important; }
.swb-tpl-inner.wp-block-group { max-width: 1100px !important; margin: 0 auto !important; }
.swb-tpl-header.wp-block-group { margin-bottom: 56px !important; }
.swb-tpl-sub { font-size: 13px !important; color: var(--h-muted) !important; margin-top: 12px !important; margin-bottom: 0 !important; }
.swb-tpl-grid.wp-block-columns { gap: 20px !important; align-items: stretch !important; }
.swb-tpl-item.wp-block-column {
  border-radius: 18px !important; overflow: hidden !important;
  border: 1px solid var(--h-subtle) !important; background: #f5f4f0 !important;
  transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-tpl-item.wp-block-column:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.1) !important; transform: translateY(-4px) !important; }
.swb-tpl-item .wp-block-image { margin-bottom: 0 !important; overflow: hidden !important; }
.swb-tpl-item .wp-block-image img { width: 100% !important; height: 280px !important; object-fit: cover !important; transition: transform 0.7s cubic-bezier(0.16,1,0.3,1) !important; display: block !important; }
.swb-tpl-item:hover .wp-block-image img { transform: scale(1.04) !important; }
.swb-tpl-caption.wp-block-group { padding: 22px 28px 26px !important; border-top: 1px solid var(--h-subtle) !important; }
.swb-tpl-name.wp-block-heading { font-family: var(--h-font-display) !important; font-size: 17px !important; font-weight: 600 !important; color: var(--h-text) !important; margin-bottom: 4px !important; }
.swb-tpl-tag { font-size: 11px !important; color: var(--h-accent) !important; letter-spacing: 0.1em !important; margin-bottom: 0 !important; }

/* Service inclusion table */
.swb-incl.wp-block-group {
  background: var(--h-dark) !important;
  padding: 120px 100px !important;
  position: relative !important;
  overflow: hidden !important;
}
.swb-incl.wp-block-group::before,
.swb-incl.wp-block-group::after {
  content: '' !important;
  position: absolute !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.swb-incl.wp-block-group::before {
  width: 900px !important; height: 900px !important;
  background: radial-gradient(ellipse at center, rgba(234,88,12,0.92) 0%, rgba(234,88,12,0.55) 35%, rgba(234,88,12,0.18) 62%, transparent 80%) !important;
  filter: blur(60px) !important;
  animation: swbGlowB 34s linear infinite !important;
}
.swb-incl.wp-block-group::after {
  width: 800px !important; height: 800px !important;
  background: radial-gradient(ellipse at center, rgba(251,146,60,0.88) 0%, rgba(234,88,12,0.50) 35%, rgba(234,88,12,0.16) 62%, transparent 80%) !important;
  filter: blur(55px) !important;
  animation: swbGlowA 24s linear infinite !important;
}
.swb-incl-inner.wp-block-group { max-width: 1100px !important; margin: 0 auto !important; position: relative !important; z-index: 1 !important; }
.swb-incl-header.wp-block-group { margin-bottom: 56px !important; }
.swb-incl-sub { font-size: 14px !important; color: var(--h-muted) !important; margin-top: 12px !important; margin-bottom: 0 !important; }
.swb-service-table-wrap.wp-block-group {
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: rgba(60,40,28,0.55) !important;
  backdrop-filter: blur(20px) !important;
}
.swb-service-table.wp-block-table { margin-bottom: 0 !important; }
.swb-service-table table { width: 100% !important; border-collapse: collapse !important; }
.swb-service-table thead th {
  font-family: var(--h-font-display) !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  background: rgba(255,255,255,0.06) !important; color: var(--h-white) !important;
  padding: 22px 40px !important; text-align: left !important; width: 50% !important;
  border-bottom: 3px solid var(--h-accent) !important;
}
.swb-service-table thead th:first-child {
  border-right: 1px solid rgba(255,255,255,0.08) !important;
}
.swb-service-table tbody tr { transition: background 0.25s ease !important; }
.swb-service-table tbody tr:hover { background: rgba(249,115,22,0.08) !important; }
.swb-service-table tbody td {
  padding: 18px 40px !important; font-size: 14px !important; line-height: 1.75 !important;
  color: rgba(255,255,255,0.82) !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  vertical-align: middle !important;
  position: relative !important; padding-left: 52px !important;
}
.swb-service-table tbody td::before {
  content: '' !important; position: absolute !important;
  left: 32px !important; top: 50% !important; transform: translateY(-50%) !important;
  width: 5px !important; height: 5px !important; border-radius: 50% !important;
  background: var(--h-accent) !important;
}
.swb-service-table tbody td:first-child {
  border-right: 1px solid rgba(255,255,255,0.07) !important;
  font-weight: 500 !important;
}
.swb-service-table tbody tr:last-child td { border-bottom: 1px solid rgba(255,255,255,0.07) !important; }
.swb-incl .swb-light-title.wp-block-heading { color: var(--h-white) !important; }
.swb-incl .swb-incl-sub { color: rgba(255,255,255,0.38) !important; }
.swb-works-cta-wrap.wp-block-group { text-align: center !important; margin-top: 16px !important; }
.swb-works-cta-text { color: rgba(255,255,255,0.72) !important; font-size: 15px !important; line-height: 1.9 !important; max-width: 640px !important; margin: 0 auto 40px !important; }
.swb-works-cta-wrap .wp-block-button__link {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  color: #fff !important; border: none !important; border-radius: 50px !important;
  padding: 22px 60px !important; font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.22em !important;
  text-transform: uppercase !important; text-decoration: none !important;
  box-shadow: 0 10px 40px rgba(249,115,22,0.4) !important;
  transition: box-shadow 0.4s ease, transform 0.35s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-works-cta-wrap .wp-block-button__link:hover { box-shadow: 0 20px 60px rgba(249,115,22,0.65) !important; transform: translateY(-4px) !important; }
@media (max-width: 900px) {
  .swb-incl.wp-block-group { padding: 96px 24px !important; }
  .swb-service-table thead th { padding: 16px 14px !important; font-size: 10px !important; }
  .swb-service-table tbody td { padding: 14px 14px 14px 34px !important; font-size: 13px !important; }
  .swb-service-table tbody td::before { left: 14px !important; }
  .swb-service-table tbody td:first-child { padding-left: 34px !important; }
}

/* Video pricing plan cards */
.swb-mv-price-cols.wp-block-columns { gap: 24px !important; align-items: stretch !important; margin-bottom: 32px !important; }
.swb-mv-price-card.wp-block-column {
  border: 1.5px solid var(--h-subtle) !important; border-radius: 20px !important;
  padding: 44px 40px !important; background: #fff !important;
  transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.16,1,0.3,1), border-color 0.3s !important;
}
.swb-mv-price-card.wp-block-column:hover {
  box-shadow: 0 16px 48px rgba(0,0,0,0.09) !important; transform: translateY(-4px) !important;
  border-color: rgba(249,115,22,0.4) !important;
}
.swb-mv-price-card--featured.wp-block-column {
  border-color: rgba(249,115,22,0.5) !important;
  box-shadow: 0 8px 32px rgba(249,115,22,0.12) !important;
}
.swb-mv-price-plan { font-family: var(--h-font-display) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: var(--h-accent) !important; margin-bottom: 6px !important; }
.swb-mv-price-target { font-size: 13px !important; color: var(--h-muted) !important; margin-bottom: 20px !important; letter-spacing: 0.04em !important; }
.swb-mv-price-card .swb-price-big { text-align: left !important; margin-bottom: 28px !important; white-space: nowrap !important; font-size: clamp(28px, 4vw, 48px) !important; }
.swb-mv-price-list.wp-block-list { margin: 0 !important; padding: 0 !important; list-style: none !important; border-top: 1px solid var(--h-subtle) !important; padding-top: 24px !important; }
.swb-mv-price-list.wp-block-list li { font-size: 14px !important; color: var(--h-text) !important; padding: 10px 0 10px 22px !important; border-bottom: 1px solid var(--h-subtle) !important; position: relative !important; }
.swb-mv-price-list.wp-block-list li::before { content: '' !important; position: absolute !important; left: 0 !important; top: 50% !important; transform: translateY(-50%) !important; width: 5px !important; height: 5px !important; border-radius: 50% !important; background: var(--h-accent) !important; }
.swb-mv-price-list.wp-block-list li:last-child { border-bottom: none !important; }
@media (max-width: 900px) {
  .swb-mv-price-cols.wp-block-columns { flex-direction: column !important; }
  .swb-mv-price-card.wp-block-column { padding: 32px 24px !important; }
}

/* CTA section */
.swb-cta.wp-block-cover { min-height: 600px !important; }
.swb-cta .wp-block-cover__image-background { filter: brightness(0.2) saturate(0.5) !important; }
.swb-cta .wp-block-cover__inner-container { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 600px !important; }
.swb-cta-inner.wp-block-group { text-align: center !important; padding: 80px 40px !important; max-width: 800px !important; }
.swb-cta-eyebrow { font-family: var(--h-font-display) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.32em !important; text-transform: uppercase !important; color: var(--h-accent) !important; margin-bottom: 24px !important; }
.swb-cta-title.wp-block-heading { font-family: var(--h-font-display) !important; font-size: clamp(24px, 5vw, 84px) !important; font-weight: 700 !important; line-height: 0.95 !important; letter-spacing: -0.035em !important; color: var(--h-white) !important; margin-bottom: 48px !important; white-space: nowrap !important; }
.swb-cta .wp-block-button__link {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  color: #fff !important; border: none !important; border-radius: 50px !important;
  padding: 22px 60px !important; font-family: var(--h-font-display) !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.22em !important;
  text-transform: uppercase !important; text-decoration: none !important;
  box-shadow: 0 10px 40px rgba(249,115,22,0.4) !important;
  transition: box-shadow 0.4s ease, transform 0.35s cubic-bezier(0.16,1,0.3,1) !important;
}
.swb-cta .wp-block-button__link:hover { box-shadow: 0 20px 60px rgba(249,115,22,0.65) !important; transform: translateY(-4px) !important; }

/* service-web responsive */
@media (max-width: 900px) {
  .swb-hero-inner.wp-block-group { padding: 0 24px 40px !important; }
  .swb-lead.wp-block-group { padding: 96px 24px !important; }
  .swb-lead-cols.wp-block-columns { flex-direction: column !important; gap: 40px !important; }
  .swb-lead-left.wp-block-column, .swb-lead-right.wp-block-column { width: 100% !important; flex: none !important; }
  .swb-feat.wp-block-group { padding: 96px 24px !important; }
  .swb-feat-grid.wp-block-columns { flex-direction: column !important; }
  .swb-price.wp-block-group { padding: 96px 24px !important; }
  .swb-tpl-row.wp-block-columns { flex-direction: column !important; }
  .swb-flow.wp-block-group { padding: 96px 24px !important; }
  .swb-flow-grid.wp-block-columns { flex-wrap: wrap !important; }
  .swb-flow-step.wp-block-column { flex: 0 0 calc(50% - 0px) !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.055) !important; padding: 32px 24px !important; }
  .swb-tpl.wp-block-group { padding: 96px 24px !important; }
  .swb-tpl-grid.wp-block-columns { flex-direction: column !important; }
  .swb-cta-inner.wp-block-group { padding: 60px 24px !important; }
}

/* === reduced-motion === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .h-mv-clip { clip-path: inset(0 0 0 0) !important; }
  .h-mv-line-inner { clip-path: none !important; }
  .h-mv-eyebrow, .h-mv-sub { clip-path: inset(0 0% 0 0) !important; }
  .h-mv-cta.wp-block-group { opacity: 1 !important; transform: none !important; }
  .h-splash-text { clip-path: inset(0 0% 0 0) !important; }
  .h-splash { display: none !important; }
  .h-service-img { clip-path: none !important; }
  .h-reveal-up, .h-reveal-left, .h-reveal-right, .h-reveal-scale { opacity: 1 !important; transform: none !important; }
  .h-stagger > * { opacity: 1 !important; transform: none !important; }
}
