/*
Theme Name: Suleman Shabir
Theme URI: https://sulemanshabir.com/
Author: Suleman Shabir
Author URI: https://sulemanshabir.com/
Description: Lightweight block theme for SulemanShabir.com — WordPress websites and practical automation for hypnotherapists. No page builder or plugins required. Colours, fonts and spacing are global presets you can change in Appearance → Editor → Styles.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 0.9.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: suleman-shabir
*/

/* ==================================================================
   Design language "Calm modern": airy canvas, soft aurora light,
   glass surfaces, italic-serif accents, gentle motion.
   Tip for editors: make any word in a heading *italic* and it turns
   into the coloured accent style automatically.
   ================================================================== */

:root {
	--ss-r-sm: 12px;
	--ss-r: 20px;
	--ss-r-lg: 32px;
	--ss-shadow: 0 1px 2px rgba(11,31,51,0.02), 0 12px 32px rgba(11,31,51,0.032);
	--ss-shadow-lg: 0 2px 8px rgba(11,31,51,0.023), 0 32px 70px rgba(11,31,51,0.063);
	--ss-glass: rgba(255,255,255,.62);
	--ss-glass-border: rgba(255,255,255,.75);
	--ss-grad: linear-gradient(120deg, var(--wp--preset--color--primary) 0%, #5FB8E8 50%, var(--wp--preset--color--lilac) 100%);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
h1, h2, h3 { text-wrap: balance; overflow-wrap: normal; word-break: normal; }
p { text-wrap: pretty; }

/* Italic words in headings become the serif accent */
:where(h1, h2, h3) em {
	font-family: var(--wp--preset--font-family--accent);
	font-style: italic; font-synthesis: none; font-weight: inherit; letter-spacing: -.01em;
	color: var(--wp--preset--color--primary-deep);
	padding-right: .04em;
}
h1 em {
	background: var(--ss-grad); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
}
.is-dark :where(h1, h2, h3) em { color: var(--wp--preset--color--primary); }

:where(a, button, summary, video, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: 8px;
}

/* ---------- Header (frosted, without trapping the mobile menu) ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: transparent; }
.site-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255,255,255,.78);
	-webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(11,31,51,.06);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.site-header .wp-block-site-logo img { display: block; height: auto; }
.site-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--primary-deep); }
.site-header .wp-block-button__link { padding: .7rem 1.25rem; font-size: .9375rem; background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff; }
.site-header .wp-block-button__link:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--contrast); }
@media (max-width: 1099px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.site-header .wp-block-navigation { order: 2; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; background: var(--wp--preset--color--base); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: flex-start !important; gap: 1.1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.5rem; font-family: var(--wp--preset--font-family--heading); }
@media (max-width: 420px) { .site-header .wp-block-button__link { padding: .55rem .9rem; font-size: .875rem; } }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; text-decoration: none; }
.wp-block-button:not(.is-style-outline):not(.is-style-text) > .wp-block-button__link { box-shadow: 0 8px 22px rgba(39,208,191,0.126); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: rgba(255,255,255,.6); color: var(--wp--preset--color--contrast); border: 1.5px solid rgba(11,31,51,.14); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff; }
.wp-block-button.is-style-navy > .wp-block-button__link { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: #fff; box-shadow: 0 8px 22px rgba(11,31,51,0.09) !important; }
.wp-block-button.is-style-navy > .wp-block-button__link:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--contrast); }
.wp-block-button.is-style-text > .wp-block-button__link { background: none; border: 0; padding-left: 0; padding-right: 0; color: var(--wp--preset--color--primary-deep); }
.wp-block-button.is-style-text > .wp-block-button__link::after { content: " →"; }

/* Dark bands */
.is-dark { color: rgba(255,255,255,.82); }
.is-dark :where(h1,h2,h3,h4,strong) { color: #fff; }
.is-dark a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--primary); }
.is-dark .wp-block-button.is-style-outline > .wp-block-button__link { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.3); }
.is-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

/* Section label */
.is-style-eyebrow {
	display: inline-flex !important; width: fit-content; align-items: center; gap: .55rem;
	padding: .4rem .85rem; border-radius: 999px;
	background: var(--ss-glass); border: 1px solid rgba(11,31,51,.08);
	font-size: .78rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}
.is-style-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ss-grad); }
.is-dark .is-style-eyebrow { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.14); color: var(--wp--preset--color--primary); }
.has-text-align-center.is-style-eyebrow { margin-inline: auto !important; display: flex !important; }

/* ---------- Aurora light (soft moving gradients) ---------- */
.ss-aurora { position: relative; isolation: isolate; overflow: hidden; }
.ss-aurora::before, .ss-aurora::after {
	content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); opacity: .7; pointer-events: none;
	animation: ss-drift 22s ease-in-out infinite alternate;
}
.ss-aurora::before { width: 620px; height: 620px; left: -160px; top: -200px; background: radial-gradient(circle, rgba(39,208,191,.42), rgba(39,208,191,0) 70%); }
.ss-aurora::after { width: 680px; height: 680px; right: -200px; top: 10%; background: radial-gradient(circle, rgba(110,91,196,.30), rgba(110,91,196,0) 70%); animation-duration: 28s; animation-direction: alternate-reverse; }
.ss-aurora.is-dark::before { opacity: .55; }
.ss-aurora.is-dark::after { opacity: .5; }
@keyframes ss-drift { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(60px,40px) scale(1.08); } 100% { transform: translate(-40px,80px) scale(.96); } }

/* ---------- Hero ---------- */
.ss-hero h1 { font-size: clamp(2.6rem, 5.8vw, 4.9rem) !important; line-height: 1.04 !important; letter-spacing: -.03em !important; }
.ss-hero-visual { position: relative; max-width: 500px; margin-inline: auto; width: 100%; aspect-ratio: 5 / 6; }
.ss-orb {
	position: absolute; inset: 6% 2% 4% 6%; margin: 0 !important; border-radius: 50%;
	background: conic-gradient(from 210deg, #27D0BF, #7CC8F0, #A99BEA, #27D0BF);
	filter: blur(2px); opacity: .9; animation: ss-breathe 9s ease-in-out infinite;
}
@keyframes ss-breathe { 0%,100% { transform: scale(.94); } 50% { transform: scale(1.02); } }
.ss-photo-blob {
	position: absolute !important; inset: 0; margin: 0 !important; display: flex; align-items: flex-end; justify-content: center;
	border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; overflow: hidden;
	animation: ss-morph 14s ease-in-out infinite;
}
.ss-photo-blob img { width: 88%; height: auto; display: block; }
@keyframes ss-morph {
	0%,100% { border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; }
	50% { border-radius: 56% 44% 52% 48% / 44% 56% 44% 56%; }
}
.ss-glass {
	background: var(--ss-glass); border: 1px solid var(--ss-glass-border);
	-webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
	box-shadow: var(--ss-shadow);
}
.ss-float { position: absolute !important; z-index: 3; margin: 0 !important; border-radius: 18px; padding: .75rem 1rem !important; font-size: .875rem !important; line-height: 1.35; color: var(--wp--preset--color--contrast); animation: ss-float 7s ease-in-out infinite; }
.ss-float strong { display: block; font-size: .95rem; }
.ss-float a { color: var(--wp--preset--color--primary-deep); font-weight: 700; text-decoration: none; }
.ss-float-a { left: -6%; bottom: 14%; animation-delay: -2s; }
.ss-float-b { right: -6%; top: 12%; }
.ss-float-c { right: 2%; bottom: -2%; animation-delay: -4s; }
@keyframes ss-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (max-width: 781px) {
	.ss-hero-visual { max-width: 340px; }
	.ss-float-a { left: -2%; } .ss-float-b { right: -2%; } .ss-float-c { display: none; }
}
.ss-proof { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding: 0; margin: 0; list-style: none; font-size: .9rem; color: var(--wp--preset--color--muted); }
.ss-proof li { display: inline-flex; align-items: center; gap: .45rem; }
.ss-proof li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--wp--preset--color--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%231B6F80' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat; }
.ss-proof strong { color: var(--wp--preset--color--contrast); }
.ss-proof a { color: inherit; }
.ss-hero-columns { }
@media (max-width: 1023px) {
	.ss-hero-columns { flex-wrap: wrap !important; }
	.ss-hero-columns > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- Marquee of practice names ---------- */
.ss-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ss-marquee .wp-block-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 3rem; width: max-content; }
.ss-marquee.is-running .wp-block-list { animation: ss-marquee 38s linear infinite; }
.ss-marquee:hover .wp-block-list { animation-play-state: paused; }
.ss-marquee li { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.25rem; letter-spacing: -.02em; white-space: nowrap; display: flex; align-items: center; gap: 3rem; }
.ss-marquee li::after { content: "✦"; color: var(--wp--preset--color--primary); font-size: .9rem; }
.ss-marquee a { color: var(--wp--preset--color--contrast); text-decoration: none; opacity: .75; }
.ss-marquee a:hover { opacity: 1; color: var(--wp--preset--color--primary-deep); }
@keyframes ss-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Cards ---------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--ss-r-lg); padding: clamp(1.5rem, 3vw, 2.25rem); box-shadow: var(--ss-shadow);
}
.wp-block-group.is-style-card.is-layout-flex { gap: .9rem; }
.wp-block-group.is-style-card.is-layout-flow > * + * { margin-block-start: .9rem; }
.wp-block-group.is-style-panel { border-radius: var(--ss-r-lg); padding: clamp(1.5rem, 3.5vw, 2.75rem); }
.wp-block-group.is-style-panel.is-layout-flow > * + * { margin-block-start: 1rem; }
.ss-lift { transition: transform .35s ease, box-shadow .35s ease; }
.ss-lift:hover { transform: translateY(-4px); box-shadow: var(--ss-shadow-lg); }

/* Icon chips (benefits) */
.ss-icon { width: 52px; height: 52px; border-radius: 16px; margin: 0 0 .4rem !important; position: relative; font-size: 0 !important; background: var(--wp--preset--color--teal-soft); }
.ss-icon::after { content: ""; position: absolute; inset: 13px; background: var(--wp--preset--color--primary-deep); -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.ss-icon.is-lilac { background: var(--wp--preset--color--lilac-soft); }
.ss-icon.is-lilac::after { background: var(--wp--preset--color--lilac); }
.ss-ico-heart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E"); }
.ss-ico-calendar { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M9 16l2 2 4-4'/%3E%3C/svg%3E"); }
.ss-ico-search { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.ss-ico-spark { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8'/%3E%3C/svg%3E"); }
.ss-ico-user { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }

/* ---------- Automation flow ---------- */
.ss-flow { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ss-flow li { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .45rem .9rem; font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--contrast); box-shadow: 0 2px 8px rgba(11,31,51,0.023); }
.ss-flow li + li::before { content: "→"; margin-right: .5rem; color: var(--wp--preset--color--primary-deep); }
.ss-when { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.ss-when li { padding: .9rem 1rem; border-radius: 14px; background: rgba(255,255,255,.7); font-size: .9375rem; }
.ss-when li strong { display: block; color: var(--wp--preset--color--contrast); }

/* ---------- Check list ---------- */
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks li { position: relative; padding-left: 1.9rem; margin-block: .6rem; }
ul.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230B1F33' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 72% no-repeat;
}

/* ---------- Carousel ---------- */
.ss-carousel { position: relative; }
.ss-track {
	display: flex !important; flex-wrap: nowrap !important; gap: 1.25rem !important;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0;
	padding-bottom: 1rem !important; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.ss-track::-webkit-scrollbar { display: none; }
.ss-track > * { flex: 0 0 auto; scroll-snap-align: start; margin: 0 !important; }
.ss-track:focus-visible { outline-offset: 6px; }
.ss-slide-quote { width: min(400px, 84vw); }
.ss-slide-video { width: min(300px, 72vw); }
.ss-slide-work { width: min(620px, 88vw); }
.ss-controls { display: flex; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.ss-nav {
	width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(11,31,51,.14); background: #fff; cursor: pointer;
	display: grid; place-items: center; color: var(--wp--preset--color--contrast); transition: background .2s, color .2s, transform .2s;
}
.ss-nav:hover { background: var(--wp--preset--color--contrast); color: #fff; transform: translateY(-1px); }
.ss-nav::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.ss-prev { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E"); }
.ss-next { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E"); }
.ss-toggle { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Crect x='6' y='5' width='4' height='14' rx='1'/%3E%3Crect x='14' y='5' width='4' height='14' rx='1'/%3E%3C/svg%3E"); margin-left: auto; }
.ss-toggle.is-paused { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 5v14l12-7z'/%3E%3C/svg%3E"); }
.ss-dots { display: flex; gap: 0; flex-wrap: wrap; }
.ss-dot { width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.ss-dot::before { content: ""; width: 9px; height: 9px; border-radius: 99px; background: rgba(11,31,51,.22); transition: width .3s, background .3s; }
.ss-dot[aria-current="true"]::before { width: 26px; background: var(--wp--preset--color--primary-deep); }
.ss-dot[aria-current="true"] { width: 34px; }
.is-dark .ss-nav { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.22); color: #fff; }
.is-dark .ss-nav:hover { background: #fff; color: var(--wp--preset--color--contrast); }
.is-dark .ss-dot::before { background: rgba(255,255,255,.3); }
.is-dark .ss-dot[aria-current="true"]::before { background: var(--wp--preset--color--primary); }

/* Testimonial slides */
.ss-quote-card {
	border-radius: var(--ss-r-lg); padding: 2rem !important; position: relative;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ss-quote-card::before { content: "“"; position: absolute; top: .4rem; right: 1.4rem; font-family: var(--wp--preset--font-family--accent); font-size: 6rem; line-height: 1; color: var(--wp--preset--color--primary); opacity: .55; }
.ss-quote-card .ss-stars { color: #F4B860; letter-spacing: .18em; font-size: 1rem; margin: 0 !important; }
.ss-quote-card blockquote { margin: 1rem 0 0; padding: 0; border: 0; }
.ss-quote-card blockquote p { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; line-height: 1.45; letter-spacing: -.005em; color: #fff; font-weight: 500; }
.ss-quote-card cite { display: flex; align-items: center; gap: .7rem; margin-top: 1.4rem; font-style: normal; font-size: .875rem; color: rgba(255,255,255,.7); }
.ss-quote-card cite strong { color: #fff; display: block; }
.ss-avatar-letter { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--ss-grad); color: var(--wp--preset--color--contrast); font-weight: 700; font-style: normal; }
.ss-video-card { border-radius: var(--ss-r-lg); padding: .6rem !important; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.wp-block-video.is-style-phone { margin: 0; border-radius: 24px; overflow: hidden; background: #000; aspect-ratio: 9 / 16; }
.wp-block-video.is-style-phone video { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp-block-video.is-style-phone figcaption { display: none; }
.ss-video-card p { margin: .8rem .6rem .4rem !important; font-size: .875rem; }
.ss-rating { display: flex; align-items: baseline; gap: .6rem; }
.ss-score { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(3.5rem, 7vw, 5rem); line-height: .9; letter-spacing: -.04em; color: #fff; margin: 0 !important; }

/* ---------- Portfolio ---------- */
.wp-block-image.is-style-browser {
	margin: 0; border-radius: 16px; overflow: hidden; position: relative;
	background: #fff; padding-top: 30px; border: 1px solid var(--wp--preset--color--line); box-shadow: var(--ss-shadow);
}
.wp-block-image.is-style-browser::before { content: ""; position: absolute; top: 11px; left: 14px; width: 8px; height: 8px; border-radius: 50%; background: #E5A397; box-shadow: 14px 0 0 #E9CF8E, 28px 0 0 #9ED2B3; }
.wp-block-image.is-style-browser img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; }
.wp-block-image.is-style-phone { margin: 0; border-radius: 22px; overflow: hidden; border: 5px solid var(--wp--preset--color--contrast); background: var(--wp--preset--color--contrast); box-shadow: var(--ss-shadow-lg); }
.wp-block-image.is-style-phone img { display: block; width: 100%; height: auto; aspect-ratio: 390 / 844; object-fit: cover; object-position: top center; }
.ss-device { position: relative; padding: 1.4rem 14% 7% 1.4rem; border-radius: var(--ss-r-lg); background: linear-gradient(140deg, var(--wp--preset--color--teal-soft), var(--wp--preset--color--lilac-soft)); }
.ss-device .is-style-phone { position: absolute; right: 4%; bottom: 6%; width: 22%; min-width: 80px; }
.ss-work-card .ss-device { transition: transform .4s ease; }
.ss-work-card:hover .ss-device { transform: translateY(-4px); }
.ss-tag { display: inline-block; width: fit-content; padding: .25rem .7rem; border-radius: 999px; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--primary-deep) !important; font-size: .75rem !important; font-weight: 700; }

/* ---------- Process ---------- */
.ss-step { border-radius: var(--ss-r-lg); padding: 1.6rem !important; background: var(--ss-glass); border: 1px solid rgba(11,31,51,.06); }
.ss-step-num { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: 3.2rem !important; line-height: 1; margin: 0 !important; background: var(--ss-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* ---------- Pricing ---------- */
.ss-plan-featured { position: relative; border: 0 !important; background:
	linear-gradient(var(--wp--preset--color--navy-deep), var(--wp--preset--color--navy-deep)) padding-box,
	var(--ss-grad) border-box !important; border: 2px solid transparent !important; box-shadow: 0 30px 60px rgba(12,31,64,0.113) !important; }
.ss-plan-featured, .ss-plan-featured p, .ss-plan-featured li { color: rgba(255,255,255,.82) !important; }
.ss-plan-featured h3, .ss-plan-featured .ss-price { color: #fff !important; }
.ss-plan-featured .ss-tag { background: var(--ss-grad) !important; color: var(--wp--preset--color--contrast) !important; border: 0; }
.ss-price { font-family: var(--wp--preset--font-family--heading); font-weight: 600; letter-spacing: -.03em; font-size: clamp(1.9rem, 3vw, 2.4rem) !important; line-height: 1.1; }

/* ---------- Free review ---------- */
.ss-gradient-panel { background: linear-gradient(130deg, var(--wp--preset--color--teal-soft) 0%, #E8F1FB 50%, var(--wp--preset--color--lilac-soft) 100%); }
.ss-review-visual { position: relative; }
.ss-review-visual .wp-block-image img { border-radius: 18px; box-shadow: var(--ss-shadow-lg); }
.ss-play { position: absolute; left: 52%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 50%; background: var(--wp--preset--color--contrast); box-shadow: 0 0 0 12px rgba(255,255,255,.55); display: grid; place-items: center; margin: 0 !important; font-size: 0 !important; animation: ss-breathe 4s ease-in-out infinite; }
.ss-play::after { content: ""; border-left: 20px solid #fff; border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 5px; }

/* ---------- About ---------- */
.ss-about-visual { position: relative; max-width: 440px; margin-inline: auto; aspect-ratio: 4 / 5; }
.ss-about-visual .ss-orb { inset: 8% 4% 0 4%; }
.ss-pullquote { font-family: var(--wp--preset--font-family--accent) !important; font-style: italic; font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important; line-height: 1.25; color: var(--wp--preset--color--contrast); border-left: 3px solid var(--wp--preset--color--primary); padding-left: 1.1rem !important; }

/* ---------- FAQ ---------- */
.wp-block-details { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--ss-r); padding: 1.15rem 1.4rem; transition: box-shadow .25s; }
.wp-block-details[open] { box-shadow: var(--ss-shadow); }
.wp-block-details + .wp-block-details { margin-top: .75rem; }
.wp-block-details summary { cursor: pointer; list-style: none; font-weight: 700; font-size: 1.0625rem; color: var(--wp--preset--color--contrast); padding-right: 2.4rem; position: relative; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1.85rem; height: 1.85rem; line-height: 1.75rem; text-align: center; border-radius: 50%; background: var(--wp--preset--color--teal-soft); color: var(--wp--preset--color--primary-deep); font-weight: 600; transition: transform .25s; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { margin-top: .7rem; color: var(--wp--preset--color--muted); }

/* ---------- Final CTA ---------- */
.ss-cta-card { border-radius: 40px; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4rem) !important; position: relative; isolation: isolate; overflow: hidden; }
.ss-avatar { margin: 0 auto !important; width: 84px; height: 84px; border-radius: 50%; overflow: hidden; background: var(--wp--preset--color--teal-soft); border: 3px solid #fff; box-shadow: var(--ss-shadow); }
.ss-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; display: block; }

/* ---------- Footer ---------- */
footer .wp-block-list { list-style: none; padding-left: 0; margin-top: .5rem; }
footer .wp-block-list a, footer p a { color: var(--wp--preset--color--contrast); text-decoration: none; }
footer .wp-block-list a:hover, footer p a:hover { color: var(--wp--preset--color--primary-deep); text-decoration: underline; }

/* ---------- Scroll reveal (modern browsers; content is always visible without it) ---------- */
@supports (animation-timeline: view()) {
	.ss-reveal > .alignwide, .ss-reveal > .wp-block-columns, .ss-reveal > .wp-block-group:not(.alignfull) {
		animation: ss-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 30%;
	}
}
@keyframes ss-rise { from { opacity: .25; transform: translateY(36px); } to { opacity: 1; transform: none; } }

/* ---------- Placeholder notes ---------- */
.is-style-placeholder { background: #FFF6D6; color: #5C4500 !important; border: 1px dashed #C9A227; border-radius: 8px; padding: .35rem .7rem; font-size: var(--wp--preset--font-size--x-small); display: block; width: fit-content; max-width: 100%; box-sizing: border-box; }
.has-text-align-center.is-style-placeholder { margin-inline: auto !important; }

@media (max-width: 781px) { .wp-block-columns { gap: var(--wp--preset--spacing--50) !important; } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (min-width: 782px) { .ss-sticky { position: sticky; top: 110px; } }
.ss-track { align-items: stretch !important; }
.ss-quote-card { display: flex !important; flex-direction: column; }
.ss-quote-card blockquote { flex: 1; display: flex; flex-direction: column; }
.ss-quote-card blockquote cite { margin-top: auto; padding-top: 1.4rem; }
.ss-video-card { display: flex !important; flex-direction: column; }

/* ---------- v0.4 additions ---------- */
/* Video testimonial cards */
.ss-vt-card { border-radius: var(--ss-r-lg); padding: clamp(1rem, 2.4vw, 1.6rem) !important; background: linear-gradient(140deg, var(--wp--preset--color--teal-soft), var(--wp--preset--color--lilac-soft)); border: 1px solid rgba(255,255,255,0.36); box-shadow: var(--ss-shadow); }
.ss-vt-card .wp-block-video.is-style-phone { border: 5px solid var(--wp--preset--color--contrast); box-shadow: var(--ss-shadow-lg); max-width: 260px; }
.ss-vt-card h3 { margin-top: .6rem !important; }

/* Portfolio: hover a card and the full page scrolls inside the browser frame */
.wp-block-image.is-style-browser.ss-scrollshot img { object-position: 50% 0; transition: object-position 8s ease-in-out; }
.ss-work-card:hover .ss-scrollshot img, .ss-scrollshot a:focus-visible img { object-position: 50% 100%; }

/* Blog cards */
.ss-post-card { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--ss-r-lg); padding: .7rem !important; box-shadow: var(--ss-shadow); height: 100%; box-sizing: border-box; }
.ss-post-card .wp-block-post-featured-image { margin: 0; overflow: hidden; border-radius: 20px; }
.ss-post-card .wp-block-post-featured-image img { transition: transform .5s ease; }
.ss-post-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.ss-post-body { padding: 1rem .9rem 1rem !important; }
.ss-post-body > * + * { margin-block-start: .6rem !important; }
.ss-post-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.ss-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary-deep); }
.wp-block-post-terms.ss-tag a { text-decoration: none; color: inherit; }
.ss-author-avatar img { border-radius: 50%; }
.ss-author-box { border-radius: var(--ss-r-lg); padding: clamp(1.25rem, 3vw, 2rem) !important; background: linear-gradient(140deg, var(--wp--preset--color--teal-soft), var(--wp--preset--color--lilac-soft)); }
.ss-author-box .ss-avatar { width: 110px; height: 110px; margin: 0 !important; }

/* Article typography */
.ss-prose { font-size: 1.125rem; line-height: 1.75; }
.ss-prose > * + * { margin-block-start: 1.2em; }
.ss-prose h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-block-start: 2em !important; }
.ss-prose a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--primary-deep); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ss-prose ul:not(.is-style-checks) li { margin-block: .4rem; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); gap: .5rem; }

.ss-author-avatar img { object-position: 50% 8%; }
.ss-prose { margin-top: var(--wp--preset--spacing--50) !important; }

/* ==========================================================================
   v0.5 – anchors, contact line, WhatsApp chat box
   ========================================================================== */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
main [id], .wp-site-blocks section[id] { scroll-margin-top: 96px; }

.site-header .wp-block-site-logo img { width: 160px; max-width: 100%; }
@media (max-width: 600px) { .site-header .wp-block-site-logo img { width: 138px; } }

.ss-contact-line a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ss-contact-line { opacity: .92; }

.wp-block-button.is-style-whatsapp > .wp-block-button__link { background: #15803D; border-color: #15803D; color: #fff; }
.wp-block-button.is-style-whatsapp > .wp-block-button__link:hover,
.wp-block-button.is-style-whatsapp > .wp-block-button__link:focus-visible { background: #106B32; border-color: #106B32; color: #fff; }

/* Chat box (compact) */
.ss-wa { position: fixed; right: 18px; bottom: 18px; z-index: 90; font-family: var(--wp--preset--font-family--body); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ss-wa-toggle { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #15803D; color: #fff; text-decoration: none; box-shadow: 0 8px 20px rgba(12,31,64,0.099), 0 0 0 4px rgba(255,255,255,0.405); transition: transform .2s ease, background-color .2s ease; }
.ss-wa-toggle::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid rgba(21,128,61,.45); animation: ss-wa-ring 2.6s ease-out 1.5s 3; pointer-events: none; }
@keyframes ss-wa-ring { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.45); opacity: 0; } }
.ss-wa-toggle:hover { background: #106B32; color: #fff; transform: translateY(-2px); }
.ss-wa-toggle:focus-visible, .ss-wa button:focus-visible, .ss-wa textarea:focus-visible { outline: 3px solid var(--wp--preset--color--secondary); outline-offset: 3px; }
.ss-wa.is-open .ss-wa-toggle { background: var(--wp--preset--color--secondary); }
.ss-wa.is-open .ss-wa-toggle::after { display: none; }
.ss-wa-panel { width: min(310px, calc(100vw - 28px)); background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 44px rgba(12,31,64,0.099), 0 3px 10px rgba(12,31,64,0.036); border: 1px solid var(--wp--preset--color--line); transform-origin: bottom right; animation: ss-wa-in .2s ease-out; }
.ss-wa-panel[hidden] { display: none; }
@keyframes ss-wa-in { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }
.ss-wa-head { display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 12px; background: linear-gradient(135deg, var(--wp--preset--color--secondary), var(--wp--preset--color--brand-teal)); color: #fff; }
.ss-wa-head img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.7); background: #fff; }
.ss-wa-head > div { flex: 1; min-width: 0; }
.ss-wa-title { margin: 0; font-weight: 700; font-size: 14px; line-height: 1.2; font-family: var(--wp--preset--font-family--heading); }
.ss-wa-sub { margin: 1px 0 0; font-size: 12px; opacity: .9; }
.ss-wa-close { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; }
.ss-wa-close svg { width: 16px; height: 16px; }
.ss-wa-close:hover { background: rgba(255,255,255,.26); }
.ss-wa-body { padding: 12px 12px 6px; background: #F1F5F3; background-image: radial-gradient(rgba(12,31,64,.04) 1px, transparent 1px); background-size: 14px 14px; }
.ss-wa-bubble { margin: 0; max-width: 94%; padding: 9px 11px; background: #fff; border-radius: 4px 12px 12px 12px; color: var(--wp--preset--color--contrast); font-size: 13.5px; line-height: 1.45; box-shadow: 0 1px 2px rgba(12,31,64,0.036); }
.ss-wa-form { display: flex; align-items: flex-end; gap: 6px; padding: 8px 10px 4px; background: #F1F5F3; }
.ss-wa-form textarea { flex: 1; min-height: 40px; max-height: 110px; resize: none; padding: 9px 12px; border: 1px solid var(--wp--preset--color--line); border-radius: 20px; font: inherit; font-size: 14px; line-height: 1.4; color: var(--wp--preset--color--contrast); background: #fff; }
.ss-wa-form textarea::placeholder { color: #5E6E7E; }
.ss-wa-send { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #15803D; color: #fff; cursor: pointer; transition: background-color .2s ease; }
.ss-wa-send svg { width: 18px; height: 18px; }
.ss-wa-send:hover { background: #106B32; }
.ss-wa-note { margin: 0; padding: 4px 12px 10px; background: #F1F5F3; font-size: 11px; line-height: 1.4; color: var(--wp--preset--color--muted); }
@media (max-width: 600px) { .ss-wa { right: 14px; bottom: 14px; } .ss-wa-toggle { width: 50px; height: 50px; } }
@media (prefers-reduced-motion: reduce) { .ss-wa-panel, .ss-wa-toggle::after { animation: none; } .ss-wa-toggle { transition: none; } }
@media print { .ss-wa { display: none; } }
.ss-contact-line a[href^="tel:"], footer a[href^="tel:"] { white-space: nowrap; }
/* Keep the footer's last line clear of the floating chat button */


/* ==========================================================================
   v0.6 – inner pages, breadcrumbs, forms, case studies
   ========================================================================== */
/* Navigation submenu */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 14px; padding: .5rem !important; box-shadow: 0 18px 40px rgba(12,31,64,0.054); background: #fff; min-width: 230px !important; }
.site-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: .55rem .8rem !important; border-radius: 9px; }
.site-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--teal-soft); }
.site-header .wp-block-navigation .current-menu-item > a, .site-header .wp-block-navigation a[aria-current="page"] { color: var(--wp--preset--color--primary-deep); }
@media (min-width: 600px) and (max-width: 1100px) { .site-header .wp-block-navigation { font-size: .9rem; --wp--style--block-gap: .9rem; } .site-header .wp-block-navigation .wp-block-navigation__container { gap: .9rem !important; } }

/* Breadcrumbs */
.ss-breadcrumbs ol { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; font-size: .875rem; color: var(--wp--preset--color--muted); }
.ss-breadcrumbs li + li::before { content: "/"; margin-right: .35rem; opacity: .6; }
.ss-breadcrumbs a { color: var(--wp--preset--color--muted); text-decoration: none; }
.ss-breadcrumbs a:hover { color: var(--wp--preset--color--primary-deep); text-decoration: underline; }
.ss-breadcrumbs [aria-current] { color: var(--wp--preset--color--contrast); }
.ss-breadcrumbs.is-center ol { justify-content: center; }

/* Page hero */
.ss-page-hero h1 { margin-top: .5rem; }
.ss-page-hero .wp-block-image.is-style-browser { box-shadow: var(--ss-shadow-lg, 0 30px 60px rgba(12,31,64,0.072)); }
.ss-about-photo img { border-radius: 28px; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; height: auto; box-shadow: 0 30px 60px rgba(12,31,64,0.072); }
.ss-rounded img { border-radius: 24px; }
.ss-per { font-size: .45em; font-weight: 500; color: var(--wp--preset--color--muted); }

/* Case studies */
.ss-case-card .wp-block-image { margin-bottom: .4rem; }
.ss-case-card h3 a, .ss-case-nav h3 a { color: inherit; text-decoration: none; }
.ss-case-card h3 a:hover, .ss-case-nav h3 a:hover { color: var(--wp--preset--color--primary-deep); }
.ss-case-card h3 a::after { content: ""; }
.ss-facts { list-style: none; padding: 0; margin: 0; }
.ss-facts li { padding: .65rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.ss-facts li:last-child { border-bottom: 0; }
.ss-facts a { color: var(--wp--preset--color--primary-deep); }
.ss-scrollshot .wp-block-image.is-style-browser img { transition: object-position 8s ease-in-out; object-position: 50% 0; }
.ss-scrollshot:hover .wp-block-image.is-style-browser img { object-position: 50% 100%; }
.ss-case-nav .wp-block-columns { margin-bottom: 0; }

/* Use cases + jump links */
.ss-jumplinks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ss-jumplinks a { display: inline-block; padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--line); background: #fff; text-decoration: none; color: var(--wp--preset--color--contrast); }
.ss-jumplinks a:hover { border-color: var(--wp--preset--color--primary-deep); color: var(--wp--preset--color--primary-deep); }
.ss-usecase h3 { scroll-margin-top: 110px; }

/* Tables */
.wp-block-table.ss-table { margin: 0; }
.wp-block-table.ss-table table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; overflow: hidden; font-size: .95rem; }
.wp-block-table.ss-table th, .wp-block-table.ss-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: .85rem 1rem; text-align: left; vertical-align: top; }
.wp-block-table.ss-table thead th { background: var(--wp--preset--color--mist); font-family: var(--wp--preset--font-family--heading); font-weight: 600; }
.wp-block-table.ss-table tr:last-child td { border-bottom: 0; }
@media (max-width: 600px) { .wp-block-table.ss-table { overflow-x: auto; } .wp-block-table.ss-table table { min-width: 520px; } }

/* Legal / prose pages */
.ss-legal h2 { margin-top: 2.2rem; }
.ss-legal ul { padding-left: 1.2rem; }

/* Forms */
.ss-form-card { background: #fff; }
.ss-form { display: grid; gap: 1.1rem; }
.ss-form .ss-fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ss-form fieldset.ss-fieldset { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.4rem; }
.ss-form fieldset.ss-fieldset:first-of-type { border-top: 0; padding-top: 0; }
.ss-form fieldset.ss-fieldset > legend { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.25rem; padding: 0; margin-bottom: .6rem; float: left; width: 100%; }
.ss-form fieldset.ss-fieldset > legend + * { clear: both; }
.ss-form [hidden] { display: none !important; }
.ss-field { margin: 0; display: grid; gap: .35rem; }
.ss-field > label, .ss-field > legend { font-weight: 600; font-size: .95rem; color: var(--wp--preset--color--contrast); }
fieldset.ss-field { border: 0; padding: 0; margin: 0; }
fieldset.ss-field > legend { margin-bottom: .45rem; padding: 0; }
.ss-req { color: #B42318; }
.ss-opt { font-weight: 400; color: var(--wp--preset--color--muted); font-size: .85em; }
.ss-form input[type="text"], .ss-form input[type="email"], .ss-form input[type="url"], .ss-form select, .ss-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--contrast); background: #fff;
	border: 1px solid #C9D4DB; border-radius: 12px; padding: .75rem .9rem; min-height: 48px; transition: border-color .15s ease, box-shadow .15s ease; }
.ss-form textarea { resize: vertical; min-height: 110px; }
.ss-form input:focus-visible, .ss-form select:focus-visible, .ss-form textarea:focus-visible { outline: none; border-color: var(--wp--preset--color--primary-deep); box-shadow: 0 0 0 3px rgba(27,111,128,0.113); }
.ss-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.ss-options label { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .85rem; border: 1px solid #C9D4DB; border-radius: 999px; background: #fff; cursor: pointer; font-size: .95rem; }
.ss-options label:has(input:checked) { border-color: var(--wp--preset--color--primary-deep); background: var(--wp--preset--color--teal-soft); }
.ss-options input { accent-color: var(--wp--preset--color--primary-deep); width: 18px; height: 18px; margin: 0; }
.ss-options label:focus-within { box-shadow: 0 0 0 3px rgba(27,111,128,0.135); }
.ss-check { display: flex; align-items: flex-start; gap: .6rem; font-size: .95rem; }
.ss-check input { accent-color: var(--wp--preset--color--primary-deep); width: 20px; height: 20px; margin-top: .15rem; flex: none; }
.ss-check label { font-weight: 400; }
.ss-check a { color: var(--wp--preset--color--primary-deep); }
.ss-field.has-error input, .ss-field.has-error select, .ss-field.has-error textarea { border-color: #B42318; }
.ss-err { color: #B42318; font-size: .875rem; }
.ss-check .ss-err { display: block; width: 100%; }
.ss-check.has-error { flex-wrap: wrap; }
.ss-form-errors { border: 1px solid #F3B7B0; background: #FEF3F2; color: #7A271A; border-radius: 12px; padding: .9rem 1.1rem; }
.ss-form-errors ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.ss-form-errors a { color: inherit; }
.ss-form-note { margin: 0; font-size: .85rem; color: var(--wp--preset--color--muted); }
.ss-form-submit { margin: 0; }
.ss-form-submit button { cursor: pointer; }
.ss-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ss-form-done { border: 1px solid #A6E3C9; background: #ECFDF5; border-radius: 16px; padding: 1.4rem 1.5rem; }
.ss-form-done-title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.35rem; margin: 0 0 .4rem; color: #05603A; }
.ss-form-done:focus, .ss-form-errors:focus { outline: 3px solid var(--wp--preset--color--secondary); outline-offset: 3px; }

/* Calendly */
.ss-calendly { margin-top: 1rem; }
.ss-calendly-note { color: var(--wp--preset--color--muted); font-size: .95rem; }
.ss-calendly-load { cursor: pointer; border: 0; }
.ss-calendly-direct { margin-left: .5rem; font-size: .9rem; color: var(--wp--preset--color--primary-deep); }
.ss-calendly-frame { width: 100%; min-height: 700px; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(12,31,64,0.036); }
/* Submenu inside the mobile overlay: plain indented list */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: .2rem 0 .4rem 1rem !important; min-width: 0 !important; align-items: flex-start !important; gap: .6rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { font-size: 1.1rem; font-family: var(--wp--preset--font-family--body); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { padding: 0 !important; color: var(--wp--preset--color--muted) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }

/* ==========================================================================
   v0.7 – fixes from review
   ========================================================================== */
/* 4. Sliders show whole cards only (no cut-off card at the edge) */
.ss-track > .ss-slide-quote { width: 100%; }
@media (min-width: 640px) { .ss-track > .ss-slide-quote { width: calc((100% - 1.25rem) / 2); } }
@media (min-width: 1024px) { .ss-track > .ss-slide-quote { width: calc((100% - 2.5rem) / 3); } }
.ss-track > .ss-slide-work { width: 100%; }
@media (min-width: 900px) { .ss-track > .ss-slide-work { width: calc((100% - 1.25rem) / 2); } }
.ss-track { scroll-padding-inline: 0; }

/* 5. Free-review illustration: play badge centred on the image */
.ss-review-visual { position: relative; }
.ss-review-visual > .wp-block-image { margin: 0; }
.ss-play { left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; display: grid !important; place-items: center; margin: 0 !important; font-size: 0 !important; color: transparent !important; }

/* 7. Featured (dark) price cards: light price text */
.ss-plan-featured :where(h2, h3, .ss-price, strong) { color: #fff; }
.ss-plan-featured h2 { background: linear-gradient(120deg, #fff 0%, var(--wp--preset--color--primary) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ss-plan-featured .ss-per { color: rgba(255,255,255,.7); -webkit-text-fill-color: rgba(255,255,255,.7); }
.ss-plan-featured p.has-muted-color { color: rgba(255,255,255,.75) !important; }

/* 8. About photo – same cut-out + gradient orb style as the homepage, nothing cropped */
.ss-about-hero-visual { position: relative; max-width: 460px; margin-inline: auto; width: 100%; aspect-ratio: 5 / 6; }
.ss-about-hero-visual .ss-orb { position: absolute; inset: 14% 4% 0 4%; }
.ss-about-hero-visual .ss-photo-blob { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; margin: 0; }
.ss-about-hero-visual .ss-photo-blob img { width: 88%; height: auto; max-height: 100%; object-fit: contain; object-position: bottom center; display: block; box-shadow: none; border-radius: 0; }

/* 9. Homepage automation panel: crisp, high-contrast text */
.ss-when li { background: #fff; color: #33475B; box-shadow: 0 1px 2px rgba(12,31,64,0.023); }
.ss-when li strong { color: var(--wp--preset--color--contrast); }
.ss-gradient-panel { -webkit-font-smoothing: antialiased; }
.ss-gradient-panel .has-muted-color { color: #3D5063 !important; }
@supports (animation-timeline: view()) { @keyframes ss-rise { from { opacity: .6; transform: translateY(24px); } to { opacity: 1; transform: none; } } }

/* 10. Case study screens: phone mock-up is exactly as tall as the desktop frame */
.ss-screens { align-items: stretch !important; flex-wrap: nowrap !important; }
.ss-screens > .wp-block-column:first-child { flex: 1 1 0 !important; min-width: 0; }
.ss-screens > .wp-block-column:last-child { flex: 0 0 auto !important; display: flex; justify-content: center; }
.ss-screens .wp-block-image.is-style-phone { height: 100%; width: auto; aspect-ratio: 390 / 844; margin: 0; }
.ss-screens .wp-block-image.is-style-phone img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: top center; }
@media (max-width: 781px) {
	.ss-screens { flex-wrap: wrap !important; }
	.ss-screens > .wp-block-column { flex-basis: 100% !important; }
	.ss-screens .wp-block-image.is-style-phone { height: auto; width: 56%; margin-inline: auto; }
}

/* 11. Video testimonials – modern gradient frame */
.ss-vt-card .wp-block-video.is-style-phone {
	border: 0 !important; padding: 6px; border-radius: 30px; max-width: 250px;
	background: linear-gradient(150deg, var(--wp--preset--color--primary), var(--wp--preset--color--brand-teal) 45%, var(--wp--preset--color--lilac));
	box-shadow: 0 24px 50px rgba(32,127,146,0.126), 0 6px 16px rgba(12,31,64,0.054); position: relative; overflow: visible;
}
.ss-vt-card .wp-block-video.is-style-phone video { border-radius: 24px; background: #0C1F40; }
.ss-vt-card .wp-block-video.is-style-phone::after { content: ""; position: absolute; inset: -14px; border-radius: 40px; background: radial-gradient(closest-side, rgba(39,208,191,.22), transparent); z-index: -1; }
.ss-vt-card { background: #fff !important; border: 1px solid var(--wp--preset--color--line) !important; box-shadow: 0 18px 40px rgba(12,31,64,0.036); }
.ss-vt-card .ss-tag { background: var(--wp--preset--color--teal-soft); border-color: transparent; color: var(--wp--preset--color--primary-deep); }

/* 12. Footer – bigger links + icons for contact details */
footer .wp-block-list.has-small-font-size { font-size: 1rem !important; line-height: 2.1 !important; }
footer .wp-block-list a[href^="mailto:"], footer .wp-block-list a[href^="tel:"], footer .wp-block-list a[href*="wa.me"], footer .wp-block-list a[href*="calendly.com"], footer .wp-block-list a[href="/contact/"] { display: inline-flex; align-items: center; gap: .55rem; }
footer .wp-block-list a[href^="mailto:"]::before, footer .wp-block-list a[href^="tel:"]::before, footer .wp-block-list a[href*="wa.me"]::before, footer .wp-block-list a[href*="calendly.com"]::before, footer .wp-block-list a[href="/contact/"]::before {
	content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; background-color: var(--wp--preset--color--teal-soft);
	background-repeat: no-repeat; background-position: center; background-size: 16px;
}
footer .wp-block-list a[href^="mailto:"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6F80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
footer .wp-block-list a[href^="tel:"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6F80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E"); }
footer .wp-block-list a[href*="wa.me"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3.2C9 3.2 3.3 8.8 3.3 15.7c0 2.4.7 4.7 1.9 6.7L3.2 28.8l6.6-2c1.9 1 4 1.6 6.2 1.6 7 0 12.7-5.6 12.7-12.6S23 3.2 16 3.2z' fill='none' stroke='%231B6F80' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M12.1 9.6c-.3-.6-.6-.6-.9-.6h-.8c-.3 0-.7.1-1 .5-.4.4-1.3 1.3-1.3 3.1s1.3 3.6 1.5 3.9c.2.3 2.6 4.1 6.4 5.6 3.1 1.2 3.8 1 4.5.9.7-.1 2.2-.9 2.5-1.8.3-.9.3-1.6.2-1.8-.1-.2-.3-.3-.7-.5l-2.4-1.2c-.3-.1-.6-.2-.8.2-.2.4-.9 1.2-1.1 1.4-.2.2-.4.3-.8.1-.4-.2-1.6-.6-3-1.9-1.1-1-1.9-2.2-2.1-2.6-.2-.4 0-.6.2-.8l.6-.7c.2-.2.3-.4.4-.7.1-.3.1-.5 0-.7l-1.1-2.4z' fill='%231B6F80'/%3E%3C/svg%3E"); }
footer .wp-block-list a[href*="calendly.com"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6F80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
footer .wp-block-list a[href="/contact/"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6F80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
footer .wp-block-list li { margin: .15rem 0; }

/* 1. 404 page */
.ss-404-code { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(6rem, 18vw, 11rem); line-height: .9; letter-spacing: -.04em; margin: 0 !important;
	background: linear-gradient(120deg, var(--wp--preset--color--primary), var(--wp--preset--color--brand-teal) 50%, var(--wp--preset--color--lilac)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ss-404-links a { font-weight: 600; color: var(--wp--preset--color--contrast); text-decoration: none; }
.ss-404-links a:hover { color: var(--wp--preset--color--primary-deep); }
.ss-404-links .wp-block-group.is-style-card p:last-child { margin-bottom: 0; }
.ss-screens .wp-block-image.is-style-phone { box-sizing: border-box; }
@media (max-width: 781px) {
	.ss-screens > .wp-block-column:first-child, .ss-screens > .wp-block-column:last-child { flex: 0 0 100% !important; max-width: 100%; }
	.ss-screens .wp-block-image.is-style-phone { width: 56% !important; height: auto !important; }
}
footer .wp-block-list a[href^="mailto:"] { white-space: nowrap; }
footer .wp-block-list a::before { align-self: flex-start; }
.ss-plan-featured .wp-block-button.is-style-navy > .wp-block-button__link { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--contrast); }
ul.is-style-checks.ss-crosses li::before { background: #FDECEA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 6l8 8M14 6l-8 8' fill='none' stroke='%23B42318' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/70% no-repeat !important; }

/* ==========================================================================
   v0.8 – review round 3
   ========================================================================== */
/* No white strip between the page hero and the next section */
.ss-designed .wp-block-post-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Header + footer links a little larger */
@media (min-width: 1101px) { .site-header .wp-block-navigation { font-size: 1.0625rem; } .site-header .wp-block-button__link { font-size: 1rem; } }
footer .wp-block-list.has-small-font-size { font-size: 1.0625rem !important; }
footer .has-x-small-font-size { font-size: .9375rem !important; }
footer p.has-small-font-size { font-size: 1rem !important; }

/* Footer contact icons – larger */
footer .wp-block-list a[href^="mailto:"]::before, footer .wp-block-list a[href^="tel:"]::before, footer .wp-block-list a[href*="wa.me"]::before, footer .wp-block-list a[href*="calendly.com"]::before, footer .wp-block-list a[href="/contact/"]::before { width: 40px; height: 40px; background-size: 20px; }
footer .wp-block-list a::before { align-self: center !important; }
footer .wp-block-list a[href^="mailto:"], footer .wp-block-list a[href^="tel:"], footer .wp-block-list a[href*="wa.me"], footer .wp-block-list a[href*="calendly.com"], footer .wp-block-list a[href="/contact/"] { gap: .75rem; margin-block: .2rem; }

/* Footer: no extra space below */
footer.wp-block-template-part > .alignfull:last-child { padding-bottom: var(--wp--preset--spacing--40) !important; }

/* Dropdowns styled to the theme */
.ss-form select {
	appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 2.8rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6F80' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1rem center / 18px;
}
.ss-form select:hover { border-color: var(--wp--preset--color--primary-deep); }
@supports (appearance: base-select) {
	.ss-form select, .ss-form select::picker(select) { appearance: base-select; }
	.ss-form select { background-image: none; display: flex; align-items: center; justify-content: space-between; }
	.ss-form select::picker-icon { color: var(--wp--preset--color--primary-deep); transition: transform .2s ease; }
	.ss-form select:open::picker-icon { transform: rotate(180deg); }
	.ss-form select::picker(select) { border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: .4rem; margin-top: .35rem; background: #fff; box-shadow: 0 12px 30px rgba(12,31,64,.08); }
	.ss-form select option { padding: .6rem .8rem; border-radius: 9px; color: var(--wp--preset--color--contrast); font-size: 1rem; }
	.ss-form select option:hover, .ss-form select option:focus-visible { background: var(--wp--preset--color--teal-soft); color: var(--wp--preset--color--contrast); outline: none; }
	.ss-form select option:checked { background: var(--wp--preset--color--teal-soft); font-weight: 600; }
	.ss-form select option::checkmark { color: var(--wp--preset--color--primary-deep); }
}

/* International phone field */
.ss-form .iti { width: 100%; display: block; }
.ss-form .iti input.ss-phone { width: 100%; }
.ss-form .iti__selected-country { border-radius: 12px 0 0 12px; }
.ss-form .iti__selected-country-primary { padding: 0 .6rem 0 .9rem; }
.ss-form .iti__selected-dial-code { color: var(--wp--preset--color--contrast); font-weight: 600; }
.iti__dropdown-content { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 14px !important; box-shadow: 0 12px 30px rgba(12,31,64,.08) !important; overflow: hidden; }
.iti__search-input { padding: .7rem .9rem !important; border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--line) !important; font: inherit; }
.iti__country { padding: .55rem .8rem !important; }
.iti__country.iti__highlight { background: var(--wp--preset--color--teal-soft) !important; }
.iti__dial-code { color: var(--wp--preset--color--muted) !important; }
.ss-captcha { margin-top: .25rem; }

/* Thank-you page */
.ss-thanks { text-align: center; }
.ss-thanks-title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.35rem; color: var(--wp--preset--color--primary-deep); margin-bottom: .4rem; }
.ss-thanks p { font-size: 1.15rem; color: var(--wp--preset--color--muted); }

/* Floating buttons: back-to-top above WhatsApp */
.ss-top {
	position: fixed; right: 22px; bottom: 84px; z-index: 89; width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
	display: grid; place-items: center; color: var(--wp--preset--color--secondary);
	background: conic-gradient(var(--wp--preset--color--primary) calc(var(--ss-progress, 0) * 1%), rgba(18,47,80,.12) 0);
	opacity: 0; transform: translateY(12px) scale(.9); pointer-events: none; transition: opacity .25s ease, transform .25s ease;
}
.ss-top::before { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #fff; }
.ss-top svg { position: relative; width: 20px; height: 20px; transition: transform .2s ease; }
.ss-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ss-top:hover svg { transform: translateY(-2px); }
.ss-top:focus-visible { outline: 3px solid var(--wp--preset--color--secondary); outline-offset: 3px; }
.ss-wa.is-open ~ .ss-top { opacity: 0; pointer-events: none; }
@media (max-width: 600px) { .ss-top { right: 16px; bottom: 76px; width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .ss-top { transition: none; } }
@media print { .ss-top { display: none; } }
/* WhatsApp button floats gently */
@keyframes ss-wa-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.ss-wa:not(.is-open) .ss-wa-toggle { animation: ss-wa-float 3.2s ease-in-out infinite; }
.ss-wa:not(.is-open) .ss-wa-toggle:hover { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .ss-wa-toggle { animation: none !important; } }
.ss-form input[type="tel"] {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--contrast); background: #fff;
	border: 1px solid #C9D4DB; border-radius: 12px; padding: .75rem .9rem; min-height: 48px; transition: border-color .15s ease, box-shadow .15s ease; }
.ss-form input[type="tel"]:focus-visible { outline: none; border-color: var(--wp--preset--color--primary-deep); box-shadow: 0 0 0 3px rgba(27,111,128,.25); }
.ss-field.has-error input[type="tel"] { border-color: #B42318; }
.ss-form .iti__selected-country { height: 100%; }
.ss-form .iti__country-container { padding: 1px; }
.ss-form .iti__selected-country:hover { background: var(--wp--preset--color--mist); }
/* Scroll reveal: slide only, no fade (text keeps full contrast at all times) */
@supports (animation-timeline: view()) { @keyframes ss-rise { from { opacity: 1; transform: translateY(24px); } to { opacity: 1; transform: none; } } }

/* =========================================================
   v0.9 fixes
   ========================================================= */
/* 1. Crisp text everywhere: no scroll-driven transforms or drifting blurred layers
      (they put sections on GPU layers, which makes text render soft on Windows). */
.ss-reveal > .alignwide, .ss-reveal > .wp-block-columns, .ss-reveal > .wp-block-group:not(.alignfull) { animation: none !important; transform: none !important; }
.ss-aurora::before, .ss-aurora::after { animation: none !important; }
.ss-gradient-panel { -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; background: #EAF6F5; }
.ss-gradient-panel .ss-when li { background: #fff; border: 1px solid #DCE7EC; box-shadow: none; color: #22364A; font-size: 1rem; line-height: 1.55; }
.ss-gradient-panel .ss-when li strong { color: #0C1F40; font-weight: 700; }
.ss-gradient-panel .ss-flow li { box-shadow: none; color: #0C1F40; }
.ss-gradient-panel .has-muted-color { color: #2E4256 !important; }

/* 2. WhatsApp chat: one-line message box lined up with the send button */
.ss-wa-form { align-items: center; padding: 10px 10px 6px; }
.ss-wa-form textarea { height: 40px; min-height: 40px; max-height: 40px; padding: 9px 14px; line-height: 20px; border-radius: 999px; overflow-y: auto; box-sizing: border-box; }
.ss-wa-form textarea:focus, .ss-wa-form textarea:focus-visible { outline: none; border-color: #15803D; box-shadow: 0 0 0 3px rgba(21,128,61,.18); }
.ss-wa-send { width: 40px; height: 40px; }
.ss-wa-note { padding: 2px 12px 10px; }

/* 3. Case-study phone screenshots: sharp 2x image, never upscaled */
.ss-screens .wp-block-image.is-style-phone img { image-rendering: auto; }

/* 4. Homepage: no double gap under the video testimonials */
#client-videos { padding-bottom: var(--wp--preset--spacing--60) !important; }
#client-videos + section { padding-top: var(--wp--preset--spacing--60) !important; }
