:root {
  --sdw-teal: #0A98AC;
  --sdw-cyan: #31ACD9;
  --sdw-blue: #0986C0;
  --sdw-navy: #071821;
  --sdw-charcoal: #0B1115;
  --sdw-card: #10252D;
  --sdw-white: #FFFFFF;
  --sdw-text: #17252B;
  --sdw-muted: #66767D;
  --sdw-text-on-dark: #E8F1F3;
  --sdw-muted-on-dark: #C6D5D9;
  --sdw-soft: #F4F8F9;
  --sdw-soft-2: #EAF2F4;
  --sdw-border: rgba(7, 24, 33, 0.12);
  --sdw-border-dark: rgba(255, 255, 255, 0.09);
  --sdw-shadow: 0 24px 70px rgba(7, 24, 33, 0.12);
  --sdw-radius-sm: 8px;
  --sdw-radius-md: 14px;
  --sdw-radius-lg: 22px;
  --sdw-radius-xl: 28px;
  --sdw-radius-pill: 999px;
  --sdw-container: 1320px;
  --sdw-content: 760px;
  --sdw-section-xl: 140px;
  --sdw-section-lg: 110px;
  --sdw-section-md: 80px;
  --sdw-section-sm: 56px;
  --sdw-gutter: clamp(20px, 4vw, 56px);
  --sdw-font: "Montserrat", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sdw-ease: cubic-bezier(.22,.61,.36,1);
  --sdw-transition: 320ms var(--sdw-ease);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--sdw-text); background: var(--sdw-white); font-family: var(--sdw-font); font-size: clamp(16px, 1.1vw, 18px); line-height: 1.65; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
body.sdw-nav-open { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--sdw-teal); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--sdw-blue); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(49,172,217,.25); color: var(--sdw-navy); }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .55em; color: var(--sdw-navy); font-family: var(--sdw-font); font-weight: 750; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(3rem, 5vw, 5.5rem); }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
h3 { font-size: clamp(1.4rem, 2vw, 2rem); }
p { margin: 0 0 1.25em; }
ul, ol { margin: 0 0 1.5em; }

.sdw-container { width: min(calc(100% - (2 * var(--sdw-gutter))), var(--sdw-container)); margin-inline: auto; }
.sdw-content-width { width: min(calc(100% - (2 * var(--sdw-gutter))), var(--sdw-content)); }
.sdw-main { min-height: 55vh; }
.sdw-main:not(.sdw-main--front):not(.sdw-main--elementor) { padding-block: var(--sdw-section-md); }
.sdw-section { padding-block: var(--sdw-section-lg); }
.sdw-section--dark { background: linear-gradient(135deg, var(--sdw-navy) 0%, var(--sdw-card) 100%); }
:is(.sdw-section--dark, .sdw-card--dark, .sdw-dark, .has-sdw-navy-background-color, .has-sdw-charcoal-background-color, .has-sdw-card-background-color) { --sdw-muted: var(--sdw-muted-on-dark); color: var(--sdw-text-on-dark); }
:is(.sdw-section--dark, .sdw-card--dark, .sdw-dark, .has-sdw-navy-background-color, .has-sdw-charcoal-background-color, .has-sdw-card-background-color) :is(p, li, dd, figcaption, blockquote, .elementor-widget-text-editor, .elementor-icon-list-text) { color: var(--sdw-text-on-dark); }
:is(.sdw-section--dark, .sdw-card--dark, .sdw-dark, .has-sdw-navy-background-color, .has-sdw-charcoal-background-color, .has-sdw-card-background-color) :is(h1, h2, h3, h4, h5, h6, strong, .elementor-heading-title) { color: var(--sdw-white); }
:is(.sdw-section--dark, .sdw-card--dark, .sdw-dark, .has-sdw-navy-background-color, .has-sdw-charcoal-background-color, .has-sdw-card-background-color) a:not(.sdw-button) { color: var(--sdw-cyan); }
.sdw-dark-muted { color: var(--sdw-muted-on-dark) !important; }
.sdw-section--soft { background: var(--sdw-soft); }
.sdw-prose { max-width: var(--sdw-content); }
.sdw-prose > :last-child { margin-bottom: 0; }
.sdw-eyebrow { margin: 0 0 18px; color: var(--sdw-teal); font-size: .78rem; font-weight: 750; line-height: 1.2; letter-spacing: .15em; text-transform: uppercase; }
.sdw-section--dark .sdw-eyebrow, .sdw-hero .sdw-eyebrow { color: var(--sdw-cyan); }

.sdw-skip-link { position: fixed; z-index: 99999; top: 12px; left: 12px; padding: 10px 14px; border-radius: var(--sdw-radius-sm); color: var(--sdw-white); background: var(--sdw-navy); transform: translateY(-150%); transition: transform .2s; }
.sdw-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--sdw-cyan); outline-offset: 3px; }

/* Header */
.sdw-header { position: sticky; z-index: 1000; top: 0; width: 100%; min-height: 100px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(7,24,33,.97); box-shadow: 0 10px 40px rgba(0,0,0,.12); transition: background var(--sdw-transition), border-color var(--sdw-transition), box-shadow var(--sdw-transition), min-height var(--sdw-transition); }
.sdw-header::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; opacity: .72; background: linear-gradient(90deg, transparent 5%, rgba(10,152,172,.58) 38%, rgba(49,172,217,.72) 55%, transparent 95%); pointer-events: none; }
.sdw-header.is-scrolled { min-height: 88px; border-color: rgba(255,255,255,.08); background: rgba(7,24,33,.90); box-shadow: 0 16px 44px rgba(0,0,0,.20); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.admin-bar .sdw-header { top: 32px; }
.sdw-header__inner { min-height: inherit; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.sdw-brand { display: flex; align-items: center; min-width: 190px; }
.sdw-brand :where(.custom-logo-link, .sdw-brand__fallback) { display: inline-flex; align-items: center; text-decoration: none; }
.sdw-brand :where(.custom-logo, .sdw-brand__fallback img) { width: auto; max-width: 190px; max-height: 78px; object-fit: contain; }
.sdw-brand__text { color: var(--sdw-white); font-size: 1.05rem; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.sdw-nav { justify-self: end; }
.sdw-nav__menu { display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); margin: 0; padding: 0; list-style: none; }
.sdw-nav__menu a { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: rgba(255,255,255,.86); font-size: .88rem; font-weight: 650; text-decoration: none; }
.sdw-nav__menu > li > a:hover, .sdw-nav__menu > li.current-menu-item > a, .sdw-nav__menu > li.current-menu-ancestor > a { color: var(--sdw-white); }
.sdw-nav__menu > li > a::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: linear-gradient(90deg,var(--sdw-teal),var(--sdw-cyan)); transform: scaleX(0); transform-origin: right; transition: transform var(--sdw-transition); }
.sdw-nav__menu > li:hover > a::after, .sdw-nav__menu > li.current-menu-item > a::after, .sdw-nav__menu > li.current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }
.sdw-nav__menu .menu-item-has-children { position: relative; }
.sdw-nav__menu .sub-menu { position: absolute; top: calc(100% + 8px); left: -18px; width: min(320px, 80vw); margin: 0; padding: 12px; visibility: hidden; opacity: 0; list-style: none; border: 1px solid rgba(255,255,255,.10); border-radius: var(--sdw-radius-md); background: rgba(11,17,21,.98); box-shadow: 0 24px 70px rgba(0,0,0,.30); transform: translateY(8px); transition: opacity var(--sdw-transition), transform var(--sdw-transition), visibility var(--sdw-transition); }
.sdw-nav__menu .sub-menu a { display: block; min-height: 0; padding: 11px 12px; border-radius: 9px; }
.sdw-nav__menu .sub-menu a:hover { color: var(--sdw-white); background: rgba(49,172,217,.10); }
.sdw-nav__menu li:hover > .sub-menu, .sdw-nav__menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.sdw-header__actions { display: flex; align-items: center; gap: 12px; }
.sdw-nav-toggle { display: none; width: 48px; height: 48px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: rgba(255,255,255,.06); }
.sdw-nav-toggle span { display: block; width: 20px; height: 2px; background: var(--sdw-white); transition: transform var(--sdw-transition), opacity var(--sdw-transition); }
.sdw-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sdw-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sdw-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.sdw-nav__mobile-cta { display: none !important; }

/* Buttons */
.sdw-button, .elementor a.elementor-button, .elementor .elementor-button, .forminator-ui .forminator-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--sdw-radius-pill); font-family: var(--sdw-font); font-size: .9rem; font-weight: 700; line-height: 1.1; text-decoration: none; transition: transform var(--sdw-transition), box-shadow var(--sdw-transition), background var(--sdw-transition), border-color var(--sdw-transition), color var(--sdw-transition), filter var(--sdw-transition); }
.sdw-button:hover, .elementor a.elementor-button:hover, .elementor .elementor-button:hover, .forminator-ui .forminator-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); }
.sdw-button--primary, .elementor .elementor-button, .forminator-ui .forminator-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { color: var(--sdw-white); background: linear-gradient(135deg, var(--sdw-teal), var(--sdw-blue)); box-shadow: 0 12px 30px rgba(10,152,172,.22); }
.sdw-button--primary:hover, .elementor .elementor-button:hover, .forminator-ui .forminator-button:hover { color: var(--sdw-white); filter: brightness(1.05); box-shadow: 0 16px 34px rgba(10,152,172,.28); }
.sdw-button--secondary { color: var(--sdw-navy); border-color: rgba(7,24,33,.22); background: transparent; }
.sdw-button--secondary:hover { color: var(--sdw-navy); border-color: var(--sdw-teal); background: rgba(10,152,172,.05); }
.sdw-button--on-dark { color: var(--sdw-white); border-color: rgba(255,255,255,.34); }
.sdw-button--on-dark:hover { color: var(--sdw-white); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.65); }
.sdw-button--dark { color: var(--sdw-white); background: var(--sdw-navy); }
.sdw-button--dark:hover { color: var(--sdw-white); background: var(--sdw-card); }
.sdw-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.sdw-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--sdw-navy); font-size: .9rem; font-weight: 750; text-decoration: none; }
.sdw-text-link span { transition: transform var(--sdw-transition); }
.sdw-text-link:hover span { transform: translateX(4px); }

/* Hero */
.sdw-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(84px, 10vw, 150px); }
.sdw-hero::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; top: -220px; right: -140px; border-radius: 50%; background: radial-gradient(circle,rgba(49,172,217,.16),transparent 68%); pointer-events: none; }
.sdw-hero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); align-items: center; gap: clamp(42px,7vw,96px); }
.sdw-hero h1 { max-width: 980px; color: var(--sdw-white); font-size: clamp(3.5rem, 7vw, 7rem); line-height: .98; letter-spacing: -.055em; }
.sdw-hero__content .sdw-prose { max-width: 690px; font-size: clamp(1.02rem,1.5vw,1.22rem); }
.sdw-hero__media { position: relative; min-height: 360px; border: 1px solid var(--sdw-border-dark); border-radius: var(--sdw-radius-xl); overflow: hidden; box-shadow: 0 35px 100px rgba(0,0,0,.28); }
.sdw-hero__media img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.sdw-page-hero { padding-block: clamp(72px, 9vw, 120px); background: var(--sdw-soft); }
.sdw-page-hero--compact { padding-block: clamp(58px, 7vw, 90px); }
.sdw-page-hero h1 { max-width: 1000px; }

/* Cards and grids */
.sdw-grid { display: grid; gap: 24px; }
.sdw-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sdw-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sdw-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.sdw-card { position: relative; padding: clamp(24px,3vw,36px); border: 1px solid var(--sdw-border); border-radius: var(--sdw-radius-lg); background: var(--sdw-white); box-shadow: 0 8px 30px rgba(7,24,33,.035); transition: transform var(--sdw-transition), border-color var(--sdw-transition), box-shadow var(--sdw-transition); }
.sdw-card:hover { transform: translateY(-5px); border-color: rgba(10,152,172,.36); box-shadow: var(--sdw-shadow); }
.sdw-card--dark { color: var(--sdw-text-on-dark); border-color: var(--sdw-border-dark); background: var(--sdw-card); }
.sdw-card--dark h3 { color: var(--sdw-white); }
.sdw-service-card { min-height: 290px; display: flex; flex-direction: column; }
.sdw-service-card__number, .sdw-package-card__number { display: inline-block; margin-bottom: 48px; color: var(--sdw-teal); font-size: .8rem; font-weight: 750; letter-spacing: .12em; }
.sdw-service-card p { color: var(--sdw-muted); }
.sdw-service-card .sdw-text-link { margin-top: auto; padding-top: 26px; }
.sdw-package-card { min-height: 100%; }
.sdw-package-card--featured { border-color: rgba(10,152,172,.48); box-shadow: 0 20px 60px rgba(10,152,172,.12); }
.sdw-package-card__badge { position: absolute; top: 18px; right: 18px; padding: 7px 11px; border-radius: var(--sdw-radius-pill); color: var(--sdw-white); background: var(--sdw-navy); font-size: .68rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.sdw-package-card__subtitle { color: var(--sdw-muted); }
.sdw-package-card__price { margin: 24px 0; color: var(--sdw-navy); font-size: clamp(1.6rem,3vw,2.4rem); font-weight: 800; letter-spacing: -.04em; }
.sdw-package-card ul { padding-left: 1.15em; color: var(--sdw-muted); }
.sdw-package-card .sdw-button { margin-top: 18px; }

.sdw-project-card { overflow: hidden; border: 1px solid var(--sdw-border); border-radius: var(--sdw-radius-xl); background: var(--sdw-white); }
.sdw-project-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--sdw-soft); }
.sdw-project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--sdw-ease); }
.sdw-project-card:hover .sdw-project-card__media img { transform: scale(1.045); }
.sdw-project-card__body { padding: clamp(24px,3vw,34px); }
.sdw-project-card__body p:not(.sdw-eyebrow) { color: var(--sdw-muted); }

/* Stats / process / testimonials */
.sdw-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--sdw-border); border-bottom: 1px solid var(--sdw-border); }
.sdw-stat { padding: clamp(24px,4vw,48px); border-right: 1px solid var(--sdw-border); }
.sdw-stat:last-child { border-right: 0; }
.sdw-stat__value { display: block; color: var(--sdw-navy); font-size: clamp(2.7rem,5vw,5rem); font-weight: 800; line-height: 1; letter-spacing: -.055em; }
.sdw-stat__label { display: block; margin-top: 12px; color: var(--sdw-muted); font-size: .88rem; }
.sdw-process { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 0; counter-reset: sdw-process; }
.sdw-process__item { position: relative; padding: 28px 24px 28px 0; border-top: 1px solid var(--sdw-border); counter-increment: sdw-process; }
.sdw-process__item::before { content: "0" counter(sdw-process); display: block; margin-bottom: 34px; color: var(--sdw-teal); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.sdw-testimonial { position: relative; margin: 0; padding: clamp(30px,5vw,64px); border: 1px solid var(--sdw-border); border-radius: var(--sdw-radius-xl); background: var(--sdw-white); }
.sdw-testimonial__mark { display: block; height: 48px; color: var(--sdw-cyan); font-size: 5rem; line-height: .9; }
.sdw-testimonial blockquote { margin: 18px 0 32px; color: var(--sdw-navy); font-size: clamp(1.3rem,2.3vw,2.15rem); font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }
.sdw-testimonial figcaption { display: flex; align-items: center; gap: 14px; }
.sdw-testimonial figcaption small { display: block; color: var(--sdw-muted); }
.sdw-testimonial__logo img { width: 46px; height: 46px; object-fit: contain; }

/* Content / archive */
.sdw-entry__header { margin-bottom: 40px; }
.sdw-entry__media { margin-bottom: 42px; overflow: hidden; border-radius: var(--sdw-radius-xl); }
.sdw-entry__content > * { max-width: 100%; }
.sdw-entry__content > .alignwide { width: min(1100px, calc(100vw - 2 * var(--sdw-gutter))); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sdw-entry__content > .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sdw-archive-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.sdw-post-card { padding: 0; overflow: hidden; }
.sdw-post-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--sdw-soft); }
.sdw-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sdw-post-card__body { padding: 28px; }
.sdw-post-card__body h2 { font-size: 1.5rem; }
.sdw-post-card__body h2 a { color: inherit; text-decoration: none; }
.sdw-post-card__excerpt { color: var(--sdw-muted); font-size: .94rem; }
.sdw-error-page { display: grid; min-height: 65vh; align-items: center; padding-block: var(--sdw-section-lg); text-align: center; }
.sdw-error-page .sdw-content-width { margin-inline: auto; }
.sdw-error-page .sdw-button-row { justify-content: center; }

/* Forms */
.sdw-theme :where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],input[type="number"],input[type="password"],select,textarea),
.sdw-theme .forminator-ui.forminator-custom-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea),
.sdw-theme .elementor-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) {
  width: 100%; min-height: 54px; padding: 13px 16px; color: var(--sdw-text); border: 1px solid rgba(7,24,33,.18); border-radius: var(--sdw-radius-md); background: var(--sdw-white); box-shadow: none; transition: border-color var(--sdw-transition), box-shadow var(--sdw-transition), background var(--sdw-transition);
}
.sdw-theme textarea, .sdw-theme .forminator-ui textarea, .sdw-theme .elementor-form textarea { min-height: 150px; resize: vertical; }
.sdw-theme :where(input,select,textarea):focus, .sdw-theme .forminator-ui :where(input,select,textarea):focus, .sdw-theme .elementor-form :where(input,select,textarea):focus { outline: none; border-color: var(--sdw-teal); box-shadow: 0 0 0 4px rgba(10,152,172,.12); }
.sdw-theme label, .sdw-theme .forminator-label { color: var(--sdw-navy); font-size: .86rem; font-weight: 650; }
.sdw-theme input[type="checkbox"], .sdw-theme input[type="radio"] { accent-color: var(--sdw-teal); }
.sdw-theme .forminator-error-message, .sdw-theme .elementor-message-danger { color: #8a2630; font-size: .82rem; }
.sdw-theme .forminator-response-message, .sdw-theme .elementor-message { border-radius: var(--sdw-radius-md); }
.search-form { display: flex; gap: 10px; max-width: 650px; margin-top: 28px; }
.search-form label { flex: 1; }
.search-form .search-submit { min-height: 54px; padding: 0 20px; border: 0; border-radius: var(--sdw-radius-pill); color: var(--sdw-white); background: var(--sdw-navy); font-weight: 700; }

/* Elementor integration: restrained global styling, no forced layout. */
.sdw-theme .elementor-widget-text-editor { color: inherit; }
.sdw-theme .elementor-widget-heading .elementor-heading-title { font-family: var(--sdw-font); letter-spacing: -.035em; }
.sdw-theme .elementor-widget-button .elementor-button { border-radius: var(--sdw-radius-pill); }
.sdw-theme .elementor-widget-accordion .elementor-accordion-item, .sdw-theme .elementor-widget-toggle .elementor-toggle-item { overflow: hidden; border: 1px solid var(--sdw-border); border-radius: var(--sdw-radius-md); margin-bottom: 12px; }
.sdw-theme .elementor-accordion .elementor-tab-title, .sdw-theme .elementor-toggle .elementor-tab-title { padding: 20px 22px; font-weight: 700; }
.sdw-theme .elementor-accordion .elementor-tab-content, .sdw-theme .elementor-toggle .elementor-tab-content { padding: 0 22px 22px; border-top: 0; color: var(--sdw-muted); }
.sdw-theme .elementor-widget-icon-list .elementor-icon-list-text { line-height: 1.5; }
.sdw-theme .elementor-widget-image.sdw-rounded-media img, .sdw-theme .sdw-rounded-media img { border-radius: var(--sdw-radius-xl); }
.sdw-theme .sdw-card-elementor > .elementor-widget-container, .sdw-theme .e-con.sdw-card-elementor { border: 1px solid var(--sdw-border); border-radius: var(--sdw-radius-lg); background: var(--sdw-white); box-shadow: 0 8px 30px rgba(7,24,33,.035); }

/* WooCommerce */
.sdw-woocommerce { padding-block: var(--sdw-section-md); }
.woocommerce ul.products li.product, .woocommerce div.product div.images img { border-radius: var(--sdw-radius-lg); }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 7px 11px; line-height: 1; border-radius: var(--sdw-radius-pill); background: var(--sdw-teal); }

/* Final CTA */
.sdw-final-cta { padding-block: var(--sdw-section-lg); }
.sdw-final-cta__inner { padding: clamp(34px,6vw,76px); border: 1px solid var(--sdw-border-dark); border-radius: var(--sdw-radius-xl); background: radial-gradient(circle at 90% 15%,rgba(49,172,217,.14),transparent 30%); }
.sdw-final-cta h2 { max-width: 900px; }
.sdw-final-cta p:not(.sdw-eyebrow) { max-width: 700px; }

/* Footer */
.sdw-footer { padding: 78px 0 26px; color: var(--sdw-muted-on-dark); background: var(--sdw-charcoal); }
.sdw-footer p, .sdw-footer li { color: var(--sdw-muted-on-dark); }
.sdw-footer a { color: var(--sdw-text-on-dark); text-decoration: none; }
.sdw-footer a:hover { color: var(--sdw-cyan); }
.sdw-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: clamp(32px,5vw,72px); padding-bottom: 58px; }
.sdw-brand--footer :where(.custom-logo, .sdw-brand__fallback img) { filter: none; }
.sdw-brand--footer .sdw-brand__text { color: var(--sdw-white); }
.sdw-footer__brand p { max-width: 390px; margin-top: 20px; }
.sdw-footer__title { margin: 0 0 18px; color: var(--sdw-white); font-size: .76rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.sdw-footer__menu, .sdw-footer__contact, .sdw-footer__legal { margin: 0; padding: 0; list-style: none; }
.sdw-footer__menu li, .sdw-footer__contact li { margin-bottom: 10px; }
.sdw-footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 24px; border-top: 1px solid var(--sdw-border-dark); font-size: .78rem; }
.sdw-footer__bottom p { margin: 0; }
.sdw-footer__legal { display: flex; flex-wrap: wrap; gap: 18px; }
.sdw-floating-contact { position: fixed; z-index: 999; right: clamp(16px,3vw,30px); bottom: clamp(16px,3vw,28px); display: inline-flex; min-height: 48px; align-items: center; gap: 8px; padding: 11px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--sdw-radius-pill); color: var(--sdw-white); background: rgba(7,24,33,.93); box-shadow: 0 14px 34px rgba(0,0,0,.18); backdrop-filter: blur(12px); text-decoration: none; font-size: .8rem; font-weight: 700; }
.sdw-floating-contact:hover { color: var(--sdw-white); transform: translateY(-2px); }

/* Reveal utility: opt-in only so Elementor content never waits unexpectedly. */
.sdw-reveal { opacity: 0; transform: translateY(24px); transition: opacity 650ms var(--sdw-ease), transform 650ms var(--sdw-ease); }
.sdw-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  :root { --sdw-section-xl: 115px; --sdw-section-lg: 92px; --sdw-section-md: 70px; }
  .sdw-header__cta { display: none; }
  .sdw-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sdw-process { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .sdw-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1023px) {
  .sdw-nav-toggle { display: inline-flex; }
  .sdw-nav { position: fixed; z-index: 999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 96px var(--sdw-gutter) 36px; visibility: hidden; opacity: 0; background: rgba(7,24,33,.985); transform: translateY(-16px); transition: opacity var(--sdw-transition), transform var(--sdw-transition), visibility var(--sdw-transition); }
  .sdw-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
  .sdw-nav__menu { width: min(620px,100%); display: block; }
  .sdw-nav__menu > li { border-bottom: 1px solid rgba(255,255,255,.10); }
  .sdw-nav__menu a { width: 100%; min-height: 0; padding: 15px 4px; color: var(--sdw-white); font-size: clamp(1.4rem,4vw,2.1rem); }
  .sdw-nav__menu > li > a::after { display: none; }
  .sdw-nav__menu .sub-menu { position: static; width: 100%; padding: 0 0 12px 18px; visibility: visible; opacity: 1; border: 0; background: transparent; box-shadow: none; transform: none; }
  .sdw-nav__menu .sub-menu a { padding: 8px 4px; color: rgba(255,255,255,.66); font-size: 1rem; }
  .sdw-nav__mobile-cta { display: inline-flex !important; width: min(620px,100%); margin-top: 28px; }
  .sdw-header__actions { z-index: 1001; }
  .sdw-nav-toggle[aria-expanded="true"] { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); }
  .sdw-nav-toggle[aria-expanded="true"] span { background: var(--sdw-white); }
  .sdw-hero__grid { grid-template-columns: 1fr; }
  .sdw-hero__media { min-height: 420px; }
  .sdw-footer__grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .sdw-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
  .admin-bar .sdw-header { top: 46px; }
}

@media (max-width: 767px) {
  :root { --sdw-section-xl: 90px; --sdw-section-lg: 76px; --sdw-section-md: 60px; --sdw-section-sm: 48px; }
  body { font-size: 16px; }
  h1 { font-size: clamp(2.55rem,12vw,4.1rem); }
  h2 { font-size: clamp(2rem,9vw,3.1rem); }
  .sdw-header, .sdw-header.is-scrolled { min-height: 76px; }
  .sdw-brand { min-width: 142px; }
  .sdw-brand :where(.custom-logo, .sdw-brand__fallback img) { max-height: 58px; max-width: 150px; }
  .sdw-hero { padding-block: 72px; }
  .sdw-hero h1 { font-size: clamp(3rem,14vw,5rem); }
  .sdw-hero__media { min-height: 290px; }
  .sdw-hero__media img { min-height: 290px; }
  .sdw-grid--2, .sdw-grid--3, .sdw-grid--4, .sdw-archive-grid { grid-template-columns: 1fr; }
  .sdw-service-card { min-height: 0; }
  .sdw-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sdw-stat { border-bottom: 1px solid var(--sdw-border); }
  .sdw-stat:nth-child(2n) { border-right: 0; }
  .sdw-stat:nth-last-child(-n+2) { border-bottom: 0; }
  .sdw-process { grid-template-columns: 1fr; gap: 0; }
  .sdw-process__item { padding: 22px 0; }
  .sdw-process__item::before { margin-bottom: 14px; }
  .sdw-footer { padding-top: 60px; }
  .sdw-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .sdw-footer__brand { grid-column: 1 / -1; }
  .sdw-footer__bottom { flex-direction: column; gap: 16px; }
  .search-form { flex-direction: column; }
  .search-form .search-submit { width: 100%; }
}

@media (max-width: 430px) {
  .sdw-button-row { flex-direction: column; }
  .sdw-button-row .sdw-button { width: 100%; }
  .sdw-footer__grid { grid-template-columns: 1fr; }
  .sdw-floating-contact span:last-child { display: none; }
  .sdw-floating-contact { width: 48px; height: 48px; justify-content: center; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .sdw-reveal { opacity: 1; transform: none; }
}
