/*
Theme Name: Call Your Support
Theme URI: https://www.callyoursupport.com/
Author: Call Your Support LLC
Author URI: https://www.callyoursupport.com/
Description: Modern block theme for Call Your Support — AI-powered BPO and digital growth. Every section is an editable block pattern, with built-in 3D animated blocks (orbit cube, globe, channel ring, layer stack, meters), a theme options page, and a quote form that saves leads in the dashboard.
Requires at least: 6.6
Requires PHP: 7.4
Version: 0.3.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: callyoursupport
Tags: full-site-editing, block-patterns, custom-colors, editor-style, one-column, wide-blocks
*/

/* ==========================================================================
   Base
   ========================================================================== */
html { scroll-behavior: smooth; overflow-x: clip; }
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
.cys-globe-wrap, .cys-stack-wrap, .cys-ring-wrap { overflow: clip; overflow-clip-margin: 40px; }
@media (max-width: 600px) { .cys-globe-wrap, .cys-stack-wrap, .cys-ring-wrap, .cys-orbit-cube { overflow: clip; overflow-clip-margin: 0; } }
*, *::before, *::after { box-sizing: border-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; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; display: block; padding: 12px 20px; background: #fff; color: var(--wp--preset--color--ink); z-index: 100000; left: 8px; top: 8px; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ==========================================================================
   Sections (add the class in Block > Advanced > Additional CSS class)
   cys-section            : standard vertical padding
   cys-section--surface   : light grey band
   cys-section--dark      : dark navy band
   cys-section--dots      : dotted grid background (hero)
   ========================================================================== */
.cys-section { padding-top: clamp(64px, 9vw, 120px); padding-bottom: clamp(64px, 9vw, 120px); padding-left: 24px; padding-right: 24px; }
.cys-section--tight { padding-top: clamp(40px, 5vw, 56px); padding-bottom: clamp(40px, 5vw, 56px); }
.cys-section--surface { background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.cys-section--dark { background: var(--wp--preset--color--ink); color: #fff; }
.cys-section--dark :is(h1, h2, h3, h4) { color: #fff; }
.cys-section--dark p { color: #C3C9D8; }
.cys-section--dots { background-image: radial-gradient(var(--wp--preset--color--line) 1px, transparent 1px); background-size: 28px 28px; }
.cys-split.wp-block-columns { align-items: center; gap: clamp(32px, 5vw, 64px); }
.cys-head-row { align-items: flex-end !important; }

/* Eyebrow label (paragraph style) */
.is-style-cys-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent) !important;
	margin-bottom: 12px;
}
.cys-section--dark .is-style-cys-eyebrow { color: var(--wp--preset--color--lime) !important; }

/* Hero */
.cys-badge {
	display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px;
	border: 1px solid #FAD9B5; background: #fff; border-radius: 999px;
	font-family: var(--wp--preset--font-family--mono); font-size: 13px !important; color: var(--wp--preset--color--accent);
	width: fit-content;
}
.cys-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: cysPulse 2s ease-in-out infinite; }
.cys-hero-title { font-size: clamp(44px, 6.2vw, 84px) !important; line-height: 1 !important; letter-spacing: -0.035em; }
.cys-hero-title mark, .cys-hl { background: none !important; color: var(--wp--preset--color--accent); }
.cys-section--dark .cys-hl, .cys-panel-dark .cys-hl { color: var(--wp--preset--color--lime); }
.cys-lead { font-size: 19px !important; line-height: 1.6; color: var(--wp--preset--color--body); max-width: 560px; }

/* ==========================================================================
   Cards (Group block styles)
   ========================================================================== */
.is-style-cys-card,
.is-style-cys-card-dark,
.is-style-cys-panel {
	border-radius: 22px;
	padding: 30px;
	transition: transform .5s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .5s;
	transform: perspective(900px) rotateX(0) rotateY(0);
}
.is-style-cys-card { background: #fff; border: 1px solid var(--wp--preset--color--line); }
.is-style-cys-card-dark { background: var(--wp--preset--color--ink-2); border: 1px solid rgba(255,255,255,.1); color: #fff; }
.is-style-cys-card-dark p { color: #C3C9D8; }
.is-style-cys-panel { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); padding: clamp(28px, 4vw, 48px); border-radius: 28px; }
.is-style-cys-card:hover,
.is-style-cys-card-dark:hover {
	transform: perspective(900px) rotateX(7deg) rotateY(-9deg) translateZ(18px);
	border-color: var(--wp--preset--color--accent);
	box-shadow: -20px 28px 50px -18px rgba(11,16,32,.25);
}
.is-style-cys-card > *, .is-style-cys-card-dark > * { margin-block: 0; }
.is-style-cys-card > * + *, .is-style-cys-card-dark > * + * { margin-top: 14px; }
.is-style-cys-card h3, .is-style-cys-card-dark h3 { font-size: 21px !important; line-height: 1.25; }
.is-style-cys-card p, .is-style-cys-card-dark p { font-size: 15px; line-height: 1.6; }

.cys-panel-dark { background: var(--wp--preset--color--ink); color: #fff; border-radius: 32px; padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 56px); overflow: hidden; }
.cys-panel-dark :is(h1,h2,h3) { color: #fff; }
.cys-panel-dark p { color: #C3C9D8; }
.cys-panel-blue { background: var(--wp--preset--color--accent); color: #fff; border-radius: 22px; padding: 32px 36px; }
.cys-panel-blue :is(h2,h3,p) { color: #fff; margin: 0; }

/* Number badge inside service cards */
.cys-num {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 14px;
	background: var(--wp--preset--color--accent); color: #fff !important;
	font-family: var(--wp--preset--font-family--mono); font-size: 15px !important;
}
.cys-num--lime { background: var(--wp--preset--color--lime); color: var(--wp--preset--color--ink) !important; }
.cys-pill {
	display: inline-block !important; width: fit-content; padding: 6px 12px; border-radius: 99px;
	background: var(--wp--preset--color--lime); color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--mono); font-size: 13px !important;
}
.cys-outline-num { font-family: var(--wp--preset--font-family--heading); font-size: 44px !important; font-weight: 800; line-height: 1 !important; color: transparent !important; -webkit-text-stroke: 1.5px #F5A35B; }
.cys-stat { font-family: var(--wp--preset--font-family--heading); font-size: 56px !important; font-weight: 800; letter-spacing: -0.03em; line-height: 1 !important; color: var(--wp--preset--color--accent); }
.cys-stat--ink { color: var(--wp--preset--color--ink); }
.cys-group-title { display: flex; align-items: center; gap: 14px; font-family: var(--wp--preset--font-family--heading); font-size: 20px !important; font-weight: 700; margin-top: 32px; }
.cys-group-title::after { content: ""; flex: 1; height: 1px; background: #EFE6DB; }

/* Checklist (List block style) */
.is-style-cys-checklist { list-style: none; padding-left: 0; display: grid; gap: 14px; }
.is-style-cys-checklist li { position: relative; padding-left: 40px; font-size: 17px; line-height: 1.5; }
.is-style-cys-checklist li::before {
	content: ""; position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 8px;
	background: var(--wp--preset--color--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1020' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat;
}

/* FAQ (Details block style) */
.is-style-cys-faq { border: 1px solid var(--wp--preset--color--line); border-radius: 18px; background: #fff; padding: 0 24px; margin-bottom: 12px; }
.is-style-cys-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 68px; font-size: 17px; font-weight: 600; }
.is-style-cys-faq summary::-webkit-details-marker { display: none; }
.is-style-cys-faq summary::after { content: "+"; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: #FFF1E0; color: var(--wp--preset--color--accent); display: flex; align-items: center; justify-content: center; font-size: 20px; transition: transform .25s; }
.is-style-cys-faq[open] summary::after { transform: rotate(45deg); }
.is-style-cys-faq > :not(summary) { color: var(--wp--preset--color--muted); font-size: 15px; line-height: 1.65; margin: 0 0 22px; }

/* Testimonial (Quote block style) */
.wp-block-quote.is-style-cys-testimonial {
	border: 1px solid var(--wp--preset--color--line); border-radius: 22px; background: #fff; padding: 28px; margin: 0;
	display: flex; flex-direction: column; gap: 16px; height: 100%;
	transition: transform .5s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .5s;
}
.wp-block-quote.is-style-cys-testimonial::before { content: "\201C"; font-family: var(--wp--preset--font-family--heading); font-size: 64px; line-height: .6; color: var(--wp--preset--color--accent); height: 28px; }
.wp-block-quote.is-style-cys-testimonial p { font-size: 16px; line-height: 1.6; flex-grow: 1; margin: 0; font-style: normal; }
.wp-block-quote.is-style-cys-testimonial cite { font-style: normal; font-size: 14px; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--line); padding-top: 16px; line-height: 1.6; }
.wp-block-quote.is-style-cys-testimonial cite strong { color: var(--wp--preset--color--ink); font-size: 16px; }
.wp-block-quote.is-style-cys-testimonial:hover { transform: perspective(900px) rotateX(7deg) rotateY(-9deg) translateZ(18px); border-color: var(--wp--preset--color--accent); box-shadow: -20px 28px 50px -18px rgba(11,16,32,.25); }

/* Buttons */
.wp-block-button .wp-block-button__link { transition: transform .2s, box-shadow .2s; min-height: 52px; display: inline-flex; align-items: center; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -8px rgba(245,124,0,.5); }
.is-style-cys-lime .wp-block-button__link { background: var(--wp--preset--color--lime) !important; color: var(--wp--preset--color--ink) !important; }
.is-style-cys-dark .wp-block-button__link { background: var(--wp--preset--color--ink) !important; color: #fff !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; color: var(--wp--preset--color--ink); }
.cys-section--dark .wp-block-button.is-style-outline .wp-block-button__link,
.cys-panel-dark .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }

/* Header */
.cys-header { border-bottom: 1px solid var(--wp--preset--color--line); background: rgba(255,255,255,.92); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 50; padding: 14px 24px; }
.admin-bar .cys-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cys-header { top: 46px; } }
.cys-header .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.cys-brand { display: flex; align-items: center; gap: 12px; }
.cys-brand::before { content: ""; width: 26px; height: 26px; border: 1.5px solid var(--wp--preset--color--accent); border-radius: 7px; transform: rotate(45deg); background: radial-gradient(circle, var(--wp--preset--color--lime) 0 5px, transparent 6px); flex-shrink: 0; margin: 0 6px; }
.cys-header .wp-block-site-logo + .wp-block-site-title { display: none; }
.cys-header .wp-block-navigation a { color: #3D4257; text-decoration: none; }
.cys-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }

/* Footer */
.cys-footer { border-top: 1px solid var(--wp--preset--color--line); padding: 56px 24px 32px; font-size: 15px; }
.cys-footer a { color: #3D4257; text-decoration: none; }
.cys-footer a:hover { color: var(--wp--preset--color--accent); }
.cys-footer .cys-foot-label { font-family: var(--wp--preset--font-family--mono); font-size: 12px !important; letter-spacing: .08em; color: var(--wp--preset--color--muted); margin-bottom: 4px; }
.cys-footer p { margin: 6px 0; }
.cys-copy { font-size: 13px !important; color: var(--wp--preset--color--muted); margin-top: 32px !important; }

/* ==========================================================================
   3D blocks (cys/*)
   ========================================================================== */
.cys-scene { position: relative; perspective: 1100px; perspective-origin: 50% 40%; }
.cys-p3d { position: absolute; inset: 0; transform-style: preserve-3d; }

/* Orbit cube */
.cys-orbit-cube { height: 560px; width: 100%; }
.cys-orbit-cube.is-small { height: 320px; }
.cys-cube { position: absolute; left: 50%; top: 50%; width: 180px; height: 180px; margin: -90px 0 0 -90px; transform-style: preserve-3d; animation: cysSpin 22s linear infinite; }
.is-small .cys-cube { width: 140px; height: 140px; margin: -70px 0 0 -70px; }
.cys-face { position: absolute; inset: 0; border: 1.5px solid var(--wp--preset--color--accent); background: rgba(245,124,0,.04); }
.cys-cube > .f1 { transform: translateZ(90px); } .cys-cube > .f2 { transform: rotateY(180deg) translateZ(90px); }
.cys-cube > .f3 { transform: rotateY(90deg) translateZ(90px); } .cys-cube > .f4 { transform: rotateY(-90deg) translateZ(90px); }
.cys-cube > .f5 { transform: rotateX(90deg) translateZ(90px); } .cys-cube > .f6 { transform: rotateX(-90deg) translateZ(90px); }
.is-small .cys-cube > .f1 { transform: translateZ(70px); } .is-small .cys-cube > .f2 { transform: rotateY(180deg) translateZ(70px); }
.is-small .cys-cube > .f3 { transform: rotateY(90deg) translateZ(70px); } .is-small .cys-cube > .f4 { transform: rotateY(-90deg) translateZ(70px); }
.is-small .cys-cube > .f5 { transform: rotateX(90deg) translateZ(70px); } .is-small .cys-cube > .f6 { transform: rotateX(-90deg) translateZ(70px); }
.cys-core { position: absolute; left: 50%; top: 50%; width: 70px; height: 70px; margin: -35px 0 0 -35px; transform-style: preserve-3d; animation: cysSpinR 9s linear infinite; }
.cys-core .cys-face { border-color: var(--wp--preset--color--ink); background: rgba(255,166,43,.85); }
.cys-core > .f1 { transform: translateZ(35px); } .cys-core > .f2 { transform: rotateY(180deg) translateZ(35px); }
.cys-core > .f3 { transform: rotateY(90deg) translateZ(35px); } .cys-core > .f4 { transform: rotateY(-90deg) translateZ(35px); }
.cys-core > .f5 { transform: rotateX(90deg) translateZ(35px); } .cys-core > .f6 { transform: rotateX(-90deg) translateZ(35px); }
.cys-orbit { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid rgba(11,16,32,.18); transform-style: preserve-3d; }
.cys-orbit.o1 { width: 420px; height: 420px; margin: -210px 0 0 -210px; animation: cysOrbitA 16s linear infinite; }
.cys-orbit.o2 { width: 340px; height: 340px; margin: -170px 0 0 -170px; animation: cysOrbitB 12s linear infinite; border-color: rgba(245,124,0,.35); }
.cys-orbit.o3 { width: 500px; height: 500px; margin: -250px 0 0 -250px; animation: cysOrbitC 26s linear infinite; border-style: dashed; }
.is-small .cys-orbit.o1 { width: 300px; height: 300px; margin: -150px 0 0 -150px; }
.is-small .cys-orbit.o2 { width: 240px; height: 240px; margin: -120px 0 0 -120px; }
.cys-sat { position: absolute; top: -8px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--wp--preset--color--lime); border: 2px solid var(--wp--preset--color--ink); }
.o2 .cys-sat { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
/* dark variant */
.cys-orbit-cube.is-dark .cys-face { border-color: var(--wp--preset--color--lime); background: rgba(255,166,43,.06); }
.cys-orbit-cube.is-dark .cys-orbit.o1 { border-color: rgba(255,255,255,.25); }
.cys-orbit-cube.is-dark .cys-orbit.o2 { border-color: rgba(140,155,255,.6); }
@media (max-width: 600px) {
	.cys-orbit-cube { height: 420px; }
	.cys-orbit.o3 { display: none; }
	.cys-orbit.o1 { width: 300px; height: 300px; margin: -150px 0 0 -150px; }
}

/* Floating cards */
.cys-float {
	position: absolute; padding: 14px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 18px 40px -16px rgba(11,16,32,.25); display: flex; align-items: center; gap: 12px; z-index: 2;
	animation: cysFloat 6s ease-in-out infinite; color: var(--wp--preset--color--ink);
}
.cys-float strong { display: block; font-size: 14px; }
.cys-float small { display: block; font-size: 12px; color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--mono); }
.cys-float .cys-ico { width: 38px; height: 38px; border-radius: 10px; background: #FFF1E0; color: var(--wp--preset--color--accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cys-float.c1 { left: 0; top: 60px; }
.cys-float.c2 { right: 0; top: 220px; animation-duration: 7s; animation-delay: -2s; }
.cys-float.c2 .cys-ico { background: #F3EEFF; color: #6D28D9; }
.cys-float.c3 { left: 40px; bottom: 40px; animation-duration: 8s; animation-delay: -4s; background: var(--wp--preset--color--ink); color: #fff; border-color: var(--wp--preset--color--ink); }
.cys-float.c3 small { color: #C3C9D8; }
.cys-float.c3 .cys-ico { background: var(--wp--preset--color--lime); color: var(--wp--preset--color--ink); }

/* Globe */
.cys-globe-wrap { height: 440px; display: flex; align-items: center; justify-content: center; }
.cys-globe { position: relative; width: 320px; height: 320px; transform-style: preserve-3d; animation: cysGlobe 20s linear infinite; }
.cys-mer { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(245,124,0,.45); }
.cys-lat { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid rgba(11,16,32,.22); }
.cys-pin { position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px; border-radius: 50%; background: var(--wp--preset--color--lime); border: 2px solid var(--wp--preset--color--ink); }
.cys-pin.p2 { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); width: 14px; height: 14px; margin: -7px; }
@media (max-width: 600px) { .cys-globe-wrap { height: 340px; } .cys-globe { transform: scale(.8); } }

/* Channel ring */
.cys-ring-wrap { height: 440px; }
.cys-hub { position: absolute; left: 50%; top: 50%; width: 150px; height: 150px; margin: -75px 0 0 -75px; border-radius: 50%; background: var(--wp--preset--color--ink); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 15px; line-height: 1.3; padding: 16px; box-shadow: 0 0 0 10px #FFF1E0, 0 0 0 11px #FAD9B5; }
.cys-ring { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform-style: preserve-3d; animation: cysRing 28s linear infinite; }
.cys-chip { position: absolute; left: -70px; top: -26px; width: 140px; height: 52px; border-radius: 14px; background: #fff; border: 1px solid #EFE6DB; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 15px; color: var(--wp--preset--color--ink); box-shadow: 0 10px 24px -12px rgba(11,16,32,.25); backface-visibility: hidden; }
@media (max-width: 600px) { .cys-ring { transform: scale(.7); animation: none; } }

/* Layer stack */
.cys-stack-wrap { height: 480px; }
.cys-stack { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(58deg) rotateZ(-40deg); }
.cys-plate { position: absolute; left: 50%; top: 50%; width: 260px; height: 260px; margin: -130px 0 0 -130px; border-radius: 28px; display: flex; align-items: flex-end; padding: 22px; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 17px; }
.cys-plate.l1 { background: var(--wp--preset--color--ink); color: #fff; }
.cys-plate.l2 { background: var(--wp--preset--color--accent); color: #fff; animation: cysLift2 6s ease-in-out infinite; }
.cys-plate.l3 { background: var(--wp--preset--color--lime); color: var(--wp--preset--color--ink); border: 1.5px solid var(--wp--preset--color--ink); animation: cysLift3 6s ease-in-out infinite; }
@media (max-width: 600px) { .cys-stack-wrap { height: 380px; } .cys-plate { width: 200px; height: 200px; margin: -100px 0 0 -100px; } }

/* Meter */
.cys-meter { margin: 0 0 18px; }
.cys-meter__top { display: flex; justify-content: space-between; font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.cys-meter__val { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--accent); }
.cys-meter__track { height: 10px; border-radius: 99px; background: #F5EEE6; overflow: hidden; }
.cys-meter__bar { height: 100%; border-radius: 99px; transform-origin: left; background: var(--wp--preset--color--accent); animation: cysGrow 2.4s cubic-bezier(.2,.8,.2,1) both; }
.cys-meter.is-lime .cys-meter__bar { background: var(--wp--preset--color--lime); }

/* Logo strip */
.cys-logos { overflow: hidden; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); padding: 22px 0; }
.cys-logos__track { display: flex; gap: 24px; width: max-content; animation: cysMarq 30s linear infinite; align-items: center; }
.cys-logos:hover .cys-logos__track { animation-play-state: paused; }
.cys-logos__item { width: 180px; height: 56px; display: flex; align-items: center; justify-content: center; }
.cys-logos__item img { max-width: 100%; max-height: 48px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s, opacity .3s; }
.cys-logos__item img:hover { filter: none; opacity: 1; }
.cys-logos__ph { border: 1px dashed #C3C9D8; border-radius: 12px; color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--mono); font-size: 14px; }

/* Shield icon */
.cys-shield { width: 88px; height: 88px; flex-shrink: 0; border-radius: 24px; background: var(--wp--preset--color--accent); color: #fff; display: flex; align-items: center; justify-content: center; transform: perspective(400px) rotateY(-18deg) rotateX(10deg); box-shadow: 14px 14px 0 var(--wp--preset--color--lime); }

/* Call button */
.cys-call-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--wp--preset--color--ink); color: #fff !important; font-weight: 600; font-size: 15px; text-decoration: none !important; transition: transform .2s, box-shadow .2s; white-space: nowrap; }
.cys-call-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -8px rgba(11,16,32,.45); }
.cys-call-btn.is-blue { background: var(--wp--preset--color--accent); }
.cys-call-btn.is-lime { background: var(--wp--preset--color--lime); color: var(--wp--preset--color--ink) !important; }
.cys-call-btn.is-large { min-height: 52px; padding: 0 26px; font-size: 16px; }

/* Contact info */
.cys-contact p { margin: 6px 0; }
.cys-contact a { color: var(--wp--preset--color--ink); text-decoration: none; }
.cys-social { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; }
.cys-social a { color: var(--wp--preset--color--accent); }

/* Quote form */
.cys-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; text-align: left; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 24px; padding: clamp(20px, 4vw, 36px); box-shadow: 0 30px 60px -30px rgba(11,16,32,.2); }
.cys-form .cys-field { display: flex; flex-direction: column; gap: 6px; }
.cys-form .cys-field--full { grid-column: 1 / -1; }
.cys-form label { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--ink); }
.cys-form input, .cys-form select, .cys-form textarea { font: inherit; font-size: 16px; min-height: 48px; padding: 10px 14px; border: 1px solid #C9CFDC; border-radius: 12px; background: #fff; color: var(--wp--preset--color--ink); width: 100%; }
.cys-form textarea { min-height: 120px; resize: vertical; }
.cys-form input:focus, .cys-form select:focus, .cys-form textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.cys-form .cys-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cys-form button { grid-column: 1 / -1; min-height: 56px; border: 0; border-radius: 999px; background: var(--wp--preset--color--accent); color: #fff; font: inherit; font-weight: 600; font-size: 17px; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.cys-form button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -8px rgba(245,124,0,.5); }
.cys-notice { grid-column: 1 / -1; padding: 14px 18px; border-radius: 12px; font-weight: 500; }
.cys-notice.is-ok { background: #F3EEFF; color: #5B2A00; border: 1px solid #C8F04A; }
.cys-notice.is-err { background: #FFF0F0; color: #8A1C1C; border: 1px solid #F3B4B4; }

/* ==========================================================================
   Advanced layer (motion.js + webgl.js)
   ========================================================================== */

/* Preloader */
.cys-loader { position: fixed; inset: 0; z-index: 100000; pointer-events: none; animation: cysLoaderFailsafe .01s 5s forwards; }
.cys-seen .cys-loader { display: none; }
.cys-loader__panel { position: absolute; inset: 0; background: var(--wp--preset--color--ink); }
.cys-loader__panel.is-lime { background: var(--wp--preset--color--lime); z-index: -1; }
.cys-loader__inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; color: #fff; }
.cys-loader__brand { font-family: var(--wp--preset--font-family--mono); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #C3C9D8; }
.cys-loader__count { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: clamp(80px, 16vw, 220px); line-height: .9; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.cys-loader__count::after { content: "%"; font-size: .3em; color: var(--wp--preset--color--lime); margin-left: .1em; vertical-align: top; }
.cys-loader__bar { width: min(320px, 60vw); height: 2px; background: rgba(255,255,255,.15); overflow: hidden; }
.cys-loader__bar i { display: block; height: 100%; background: var(--wp--preset--color--lime); transform: scaleX(0); transform-origin: left; }
@keyframes cysLoaderFailsafe { to { opacity: 0; visibility: hidden; } }

/* Hidden-until-animated states (only when JS is running; failsafe after 4s) */
.cys-js:not(.cys-ready) .cys-hero-title,
.cys-js:not(.cys-ready) .cys-section--dots .cys-badge,
.cys-js:not(.cys-ready) .cys-section--dots .cys-lead,
.cys-js:not(.cys-ready) .cys-section--dots .wp-block-buttons,
.cys-js:not(.cys-ready) .cys-section--dots .cys-call-btn,
.cys-js:not(.cys-ready) .cys-float { visibility: hidden; animation: cysShow .01s 4s forwards; }
@keyframes cysShow { to { visibility: visible; } }

/* Split words */
.cys-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.cys-wi { display: inline-block; will-change: transform; }
.cys-scrub .cys-w { overflow: visible; }

/* Scroll progress + header states */
.cys-progress { position: fixed; left: 0; top: 0; height: 3px; width: 100%; background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--lime)); transform: scaleX(0); transform-origin: left; z-index: 9999; pointer-events: none; }
.admin-bar .cys-progress { top: 32px; }
.cys-header { transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background-color .3s; }
.cys-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(11,16,32,.35); }
.cys-header.is-hidden { transform: translateY(-110%); }

/* Custom cursor */
.cys-has-cursor, .cys-has-cursor * { cursor: none !important; }
.cys-has-cursor input, .cys-has-cursor textarea, .cys-has-cursor select { cursor: auto !important; }
.cys-cursor-dot, .cys-cursor-ring { position: fixed; left: 0; top: 0; pointer-events: none; z-index: 100001; opacity: 0; transition: opacity .3s; }
.cys-cursor-on .cys-cursor-dot, .cys-cursor-on .cys-cursor-ring { opacity: 1; }
.cys-cursor-dot { width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.cys-cursor-ring { width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; border: 1.5px solid rgba(245,124,0,.55); display: flex; align-items: center; justify-content: center; transition: opacity .3s, width .35s cubic-bezier(.2,.8,.2,1), height .35s cubic-bezier(.2,.8,.2,1), margin .35s cubic-bezier(.2,.8,.2,1), background-color .3s, border-color .3s; }
.cys-cursor-ring span { font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--ink); opacity: 0; transition: opacity .2s; }
.cys-cursor-ring.is-link { width: 70px; height: 70px; margin: -35px 0 0 -35px; background: rgba(255,166,43,.35); border-color: transparent; }
.cys-cursor-ring.is-label { width: 92px; height: 92px; margin: -46px 0 0 -46px; background: var(--wp--preset--color--lime); border-color: transparent; }
.cys-cursor-ring.is-label span { opacity: 1; }
.cys-cursor-ring.is-down { width: 34px; height: 34px; margin: -17px 0 0 -17px; }
.cys-cursor-dark .cys-cursor-dot { background: var(--wp--preset--color--lime); }
.cys-cursor-dark .cys-cursor-ring { border-color: rgba(255,166,43,.6); }

/* Pointer tilt glare */
.cys-tilt-js { position: relative; transform-style: preserve-3d; will-change: transform; }
.cys-tilt-js:hover { transform: none; }
.cys-glare { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,166,43,.28), transparent 45%); }
.cys-tilt-js:hover .cys-glare { opacity: 1; }

/* WebGL object */
.cys-webgl { position: relative; width: 100%; height: var(--cys-h, 600px); }
.cys-webgl canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; outline: none; }
.cys-webgl__fallback { position: absolute; inset: 0; transition: opacity .6s; }
.cys-webgl.is-webgl-ready .cys-webgl__fallback { opacity: 0; visibility: hidden; }
.cys-webgl.is-dark .cys-face { border-color: var(--wp--preset--color--lime); }
.cys-webgl .cys-float { z-index: 3; }
@media (max-width: 781px) { .cys-webgl { height: min(var(--cys-h, 600px), 440px); } }

/* Hero (advanced) */
.cys-hero { position: relative; min-height: calc(100vh - 72px); display: flex; flex-direction: column; justify-content: center; }
.cys-hero .cys-hero-title { font-size: clamp(48px, 7.4vw, 112px) !important; }
.cys-hero-art { pointer-events: auto; }
.cys-scroll-cue { display: inline-flex !important; align-items: center; gap: 12px; font-family: var(--wp--preset--font-family--mono); font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted) !important; }
.cys-scroll-cue::before { content: ""; width: 22px; height: 36px; border: 1.5px solid currentColor; border-radius: 12px; background: radial-gradient(circle, currentColor 0 2px, transparent 3px) center 8px / 6px 6px no-repeat; animation: cysCue 1.8s ease-in-out infinite; }
@keyframes cysCue { 0%, 100% { background-position: center 8px; } 50% { background-position: center 20px; } }

/* Giant marquee */
.cys-bigmarquee { overflow: hidden; padding: clamp(28px, 4vw, 56px) 0; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.cys-bigmarquee p { margin: 0; white-space: nowrap; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: clamp(56px, 10vw, 160px) !important; line-height: 1; letter-spacing: -0.04em; color: var(--wp--preset--color--ink) !important; padding-right: .4em; }
.cys-bigmarquee p mark { -webkit-text-stroke: 2px var(--wp--preset--color--ink); color: transparent !important; background: none !important; }
.cys-bigmarquee__row { display: flex; width: max-content; will-change: transform; }
.cys-bigmarquee__track { display: flex; flex-shrink: 0; }
:not(.cys-js) .cys-bigmarquee p, .cys-bigmarquee:not([data-cys-mq]) p { white-space: normal; }

/* Services: interactive rows */
.cys-rows { border-top: 1px solid var(--wp--preset--color--line); }
.cys-row { position: relative; display: grid !important; grid-template-columns: 72px minmax(0, 1.1fr) minmax(0, 1fr) 56px; align-items: center; gap: 24px; padding: 30px 8px; border-bottom: 1px solid var(--wp--preset--color--line); overflow: hidden; isolation: isolate; }
.cys-row > * { margin: 0 !important; }
.cys-row::before { content: ""; position: absolute; inset: 0; background: var(--wp--preset--color--ink); transform: scaleY(0); transform-origin: bottom; transition: transform .55s cubic-bezier(.7,0,.2,1); z-index: -1; }
.cys-row:hover::before { transform: scaleY(1); transform-origin: top; }
.cys-row__num { font-family: var(--wp--preset--font-family--mono); font-size: 14px !important; color: var(--wp--preset--color--accent) !important; transition: color .4s; }
.cys-row h3 { font-size: clamp(22px, 2.6vw, 38px) !important; letter-spacing: -0.025em; transition: transform .55s cubic-bezier(.2,.8,.2,1), color .4s; }
.cys-row p:not(.cys-row__num):not(.cys-row__arrow) { font-size: 15px; line-height: 1.6; transition: color .4s; }
.cys-row__arrow { width: 56px; height: 56px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--line); display: flex !important; align-items: center; justify-content: center; font-size: 22px !important; color: var(--wp--preset--color--ink) !important; transition: transform .55s cubic-bezier(.2,.8,.2,1), background-color .4s, border-color .4s, color .4s; }
.cys-row:hover h3 { color: #fff; transform: translateX(14px); }
.cys-row:hover p:not(.cys-row__arrow) { color: #C3C9D8 !important; }
.cys-row:hover .cys-row__num { color: var(--wp--preset--color--lime) !important; }
.cys-row:hover .cys-row__arrow { background: var(--wp--preset--color--lime); border-color: var(--wp--preset--color--lime); transform: rotate(-45deg); color: var(--wp--preset--color--ink) !important; }
@media (max-width: 781px) {
	.cys-row { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 14px; padding: 22px 4px; }
	.cys-row p:not(.cys-row__num):not(.cys-row__arrow) { grid-column: 2 / 4; }
	.cys-row__arrow { width: 44px; height: 44px; grid-row: 1; grid-column: 3; }
}

/* Pinned horizontal timeline */
.cys-hscroll.is-pinned { display: flex !important; flex-wrap: nowrap; gap: 24px; width: max-content; perspective: 1200px; padding-right: 10vw; }
.cys-hscroll.is-pinned > * { width: clamp(300px, 30vw, 420px); min-height: 360px; flex-shrink: 0; }
.cys-hscroll.is-pinned .cys-outline-num { font-size: 96px !important; }
.cys-section--dark:has(.cys-hscroll.is-pinned) { overflow: hidden; }

/* Stacked sticky cards */
.cys-stack-cards { display: flex; flex-direction: column; gap: 28px; }
@media (min-width: 782px) {
	.cys-stack-cards > * { position: sticky; top: calc(110px + var(--i, 0) * 18px); transform-origin: center top; box-shadow: 0 -20px 50px -30px rgba(11,16,32,.25); min-height: 260px; }
	.cys-sticky-col { position: sticky; top: 120px; align-self: flex-start; }
}
.cys-stack-cards .is-style-cys-card { padding: clamp(28px, 3vw, 44px); }
.cys-stack-cards .is-style-cys-card h3 { font-size: clamp(24px, 2.4vw, 32px) !important; }
.cys-stack-cards .is-style-cys-card p { font-size: 17px; }
.cys-stack-cards .is-style-cys-card:hover { transform: none; }

/* Draggable slider */
.cys-slider { display: flex !important; flex-wrap: nowrap !important; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 24px 30px 0; scrollbar-width: none; overscroll-behavior-x: contain; }
.cys-slider::-webkit-scrollbar { display: none; }
.cys-slider > * { flex: 0 0 clamp(290px, 34vw, 440px); scroll-snap-align: start; }
.cys-slider.is-dragging { scroll-snap-type: none; user-select: none; }
.cys-slider .wp-block-quote.is-style-cys-testimonial p { font-size: 18px; }

/* ==========================================================================
   Motion
   ========================================================================== */
@keyframes cysSpin { from { transform: rotateX(-24deg) rotateY(0); } to { transform: rotateX(-24deg) rotateY(360deg); } }
@keyframes cysSpinR { from { transform: rotateX(30deg) rotateY(360deg) rotateZ(0); } to { transform: rotateX(30deg) rotateY(0) rotateZ(360deg); } }
@keyframes cysOrbitA { from { transform: rotateX(72deg) rotateY(10deg) rotateZ(0); } to { transform: rotateX(72deg) rotateY(10deg) rotateZ(360deg); } }
@keyframes cysOrbitB { from { transform: rotateX(60deg) rotateY(-40deg) rotateZ(360deg); } to { transform: rotateX(60deg) rotateY(-40deg) rotateZ(0); } }
@keyframes cysOrbitC { from { transform: rotateX(80deg) rotateY(25deg) rotateZ(0); } to { transform: rotateX(80deg) rotateY(25deg) rotateZ(360deg); } }
@keyframes cysFloat { 0%, 100% { transform: translate3d(0,0,0) rotateY(-12deg); } 50% { transform: translate3d(0,-14px,30px) rotateY(-4deg); } }
@keyframes cysGlobe { from { transform: rotateX(-18deg) rotateY(0); } to { transform: rotateX(-18deg) rotateY(360deg); } }
@keyframes cysRing { from { transform: rotateX(-12deg) rotateY(0); } to { transform: rotateX(-12deg) rotateY(-360deg); } }
@keyframes cysLift2 { 0%, 100% { transform: translateZ(60px); } 50% { transform: translateZ(90px); } }
@keyframes cysLift3 { 0%, 100% { transform: translateZ(120px); } 50% { transform: translateZ(180px); } }
@keyframes cysGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes cysMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes cysPulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* Static plates when motion is off */
.cys-plate.l2 { transform: translateZ(60px); }
.cys-plate.l3 { transform: translateZ(120px); }

/* Animations switched off in Appearance > Theme Options, or by the visitor's OS setting */
/* ==========================================================================
   Light corporate skin — warm glow, frosted glass, sunrise accents
   ========================================================================== */
:root {
	--cys-sunrise: linear-gradient(135deg, #FFB547 0%, #F57C00 100%);
	--cys-dusk: linear-gradient(135deg, #A78BFA 0%, #EC4899 100%);
	--cys-glass: rgba(255, 255, 255, .7);
	--cys-glass-line: rgba(255, 255, 255, .95);
	--cys-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 24px 60px -32px rgba(17, 19, 34, .22), 0 2px 6px -2px rgba(17, 19, 34, .06);
}

/* Drifting ambient glow behind the whole site */
body::before {
	content: ""; position: fixed; inset: -25vmax; z-index: -1; pointer-events: none;
	background:
		radial-gradient(38vmax 38vmax at 78% 18%, rgba(255, 214, 140, .45), transparent 70%),
		radial-gradient(34vmax 34vmax at 12% 72%, rgba(196, 181, 253, .32), transparent 70%),
		radial-gradient(30vmax 30vmax at 55% 55%, rgba(255, 196, 160, .22), transparent 70%);
	animation: cysAura 38s ease-in-out infinite alternate;
}
@keyframes cysAura {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(-4vmax, 3vmax, 0) rotate(8deg) scale(1.06); }
	100% { transform: translate3d(3vmax, -2vmax, 0) rotate(-6deg) scale(.98); }
}

/* Sections become translucent so the glow shows through */
.cys-section--surface { background: rgba(255, 248, 241, .62); border-color: rgba(240, 232, 223, .8); }
.cys-section--dots { background-image: radial-gradient(rgba(194, 65, 12, .09) 1px, transparent 1px); }
.cys-section--tint { background: linear-gradient(135deg, rgba(255, 241, 224, .85) 0%, rgba(241, 238, 255, .85) 100%); border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.cys-section--tint .cys-outline-num { -webkit-text-stroke: 1.5px #E8590C; }

/* Frosted glass cards */
.is-style-cys-card,
.wp-block-quote.is-style-cys-testimonial,
.is-style-cys-faq,
.cys-form,
.cys-float {
	background: var(--cys-glass) !important;
	-webkit-backdrop-filter: blur(16px) saturate(150%);
	backdrop-filter: blur(16px) saturate(150%);
	border: 1px solid var(--cys-glass-line) !important;
	box-shadow: var(--cys-shadow);
}
.is-style-cys-card:hover, .wp-block-quote.is-style-cys-testimonial:hover { border-color: rgba(245, 124, 0, .45) !important; }
.is-style-cys-panel { background: rgba(255, 255, 255, .6); border: 1px solid var(--cys-glass-line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: var(--cys-shadow); }
.cys-float.c3 { background: rgba(17, 19, 34, .88) !important; border-color: rgba(17, 19, 34, .9) !important; }
.cys-float .cys-ico { background: #FFF1E0; color: #C2410C; }
.cys-float.c2 .cys-ico { background: #F3EEFF; color: #6D28D9; }
.cys-float.c3 .cys-ico { background: var(--cys-sunrise); color: #111322; }

/* Header: glass bar + sunrise brand tile */
.cys-header { background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); border-bottom-color: rgba(240, 232, 223, .7); }
.cys-brand::before { width: 34px; height: 34px; border: 0; border-radius: 10px; transform: none; margin: 0 4px 0 0; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.65), transparent 45%), var(--cys-sunrise); box-shadow: 0 8px 18px -8px rgba(245, 124, 0, .8); }
.cys-call-btn { background: #fff; color: var(--wp--preset--color--ink) !important; border: 1px solid var(--wp--preset--color--line); box-shadow: 0 6px 18px -10px rgba(17,19,34,.25); }
.cys-call-btn:hover { box-shadow: 0 12px 28px -12px rgba(17,19,34,.35); }
.cys-call-btn.is-blue, .cys-call-btn.is-lime { background: var(--cys-sunrise); border-color: transparent; color: var(--wp--preset--color--ink) !important; }

/* Buttons */
.wp-block-button .wp-block-button__link { box-shadow: 0 10px 24px -12px rgba(245, 124, 0, .9), inset 0 1px 0 rgba(255,255,255,.45); }
.wp-block-button .wp-block-button__link:hover { box-shadow: 0 16px 32px -12px rgba(245, 124, 0, .9), inset 0 1px 0 rgba(255,255,255,.45); }
.wp-block-button.is-style-outline .wp-block-button__link { background: rgba(255,255,255,.8) !important; border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--ink); box-shadow: 0 6px 18px -10px rgba(17,19,34,.2); }
.is-style-cys-lime .wp-block-button__link { background: var(--cys-sunrise) !important; }
.is-style-cys-dark .wp-block-button__link { box-shadow: 0 10px 24px -12px rgba(17,19,34,.6); }

/* Hero */
.cys-hero { overflow: visible; }
.cys-hero-title mark, .cys-hl, .cys-hero-title mark .cys-wi { background: linear-gradient(110deg, #E8590C 0%, #C2410C 55%, #7C3AED 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; }
.cys-hero-title mark:has(.cys-wi) { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; }
.cys-hero-title mark .cys-w + .cys-w .cys-wi { background-position: 100% 0 !important; }
.cys-badge { background: #FFF7E9; border-color: #FBD9A6; color: #9A3412; box-shadow: 0 4px 14px -8px rgba(245,124,0,.6); }
.cys-badge::before { background: var(--wp--preset--color--orange); box-shadow: 0 0 0 4px rgba(245,124,0,.18); }
.cys-trust { display: flex !important; align-items: center; gap: 14px; font-size: 14px !important; color: var(--wp--preset--color--muted) !important; }
.cys-trust::before { content: ""; width: 106px; height: 34px; flex-shrink: 0; background:
	radial-gradient(circle at 17px 17px, #FFE2BD 0 15px, #fff 15px 17px, transparent 17.5px),
	radial-gradient(circle at 41px 17px, #E9E3FF 0 15px, #fff 15px 17px, transparent 17.5px),
	radial-gradient(circle at 65px 17px, #FFD3C2 0 15px, #fff 15px 17px, transparent 17.5px),
	radial-gradient(circle at 89px 17px, #DCEBFF 0 15px, #fff 15px 17px, transparent 17.5px); }

/* Meters, stats, numbers */
.cys-meter__bar { background: var(--cys-sunrise); }
.cys-meter.is-lime .cys-meter__bar { background: var(--cys-dusk); }
.cys-meter__val { color: #C2410C; }
.cys-stat { background: linear-gradient(120deg, #E8590C, #C2410C); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.cys-stat--ink { background: linear-gradient(120deg, #6D28D9, #DB2777); -webkit-background-clip: text; background-clip: text; }
.cys-num { background: var(--cys-sunrise); color: var(--wp--preset--color--ink) !important; box-shadow: 0 8px 18px -10px rgba(245,124,0,.9); }
.cys-num--lime { background: var(--cys-dusk); color: #fff !important; box-shadow: 0 8px 18px -10px rgba(139,92,246,.9); }
.cys-pill { background: var(--cys-sunrise); }

/* Services rows: sunrise sweep instead of dark */
.cys-row::before { background: var(--cys-sunrise); }
.cys-row:hover h3 { color: var(--wp--preset--color--ink); }
.cys-row:hover p:not(.cys-row__arrow) { color: #3B2A1A !important; }
.cys-row:hover .cys-row__num { color: var(--wp--preset--color--ink) !important; }
.cys-row:hover .cys-row__arrow { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: #fff !important; }

/* Panels */
.cys-panel-blue { background: var(--wp--preset--color--ink); box-shadow: 0 30px 60px -30px rgba(17,19,34,.6); }
.cys-panel-sunrise { position: relative; overflow: hidden; border-radius: 32px; padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 56px); background: radial-gradient(60% 90% at 85% 20%, rgba(255,255,255,.55), transparent 60%), linear-gradient(135deg, #FFC56B 0%, #FF9A1F 45%, #F57C00 100%); color: var(--wp--preset--color--ink); box-shadow: 0 40px 80px -40px rgba(245,124,0,.8); }
.cys-panel-sunrise :is(h1,h2,h3) { color: var(--wp--preset--color--ink); }
.cys-panel-sunrise p { color: #3B2A1A; }
.cys-panel-sunrise .cys-hl, .cys-panel-sunrise mark, .cys-panel-sunrise mark .cys-wi { background: none !important; -webkit-background-clip: border-box; background-clip: border-box; color: #4C1D95 !important; -webkit-text-stroke: 0; }
.cys-panel-sunrise .wp-block-button.is-style-outline .wp-block-button__link { background: rgba(255,255,255,.35) !important; border-color: rgba(17,19,34,.25); color: var(--wp--preset--color--ink); }
.cys-panel-sunrise .cys-call-btn { background: var(--wp--preset--color--ink); color: #fff !important; border-color: transparent; }

/* Layer stack plates */
.cys-plate.l2 { background: var(--cys-dusk); }
.cys-plate.l3 { background: var(--cys-sunrise); border-color: rgba(17,19,34,.15); }

/* Live US time zones */
.cys-tz { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .cys-tz { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cys-tz__card { position: relative; padding: 22px 22px 20px; border-radius: 20px; background: var(--cys-glass); border: 1px solid var(--cys-glass-line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: var(--cys-shadow); overflow: hidden; }
.cys-tz__card::after { content: ""; position: absolute; right: -30px; top: -30px; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, rgba(255,181,71,.35), transparent 70%); }
.cys-tz__zone { display: flex; justify-content: space-between; align-items: center; font-family: var(--wp--preset--font-family--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.cys-tz__time { display: block; margin-top: 10px; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: clamp(30px, 3.2vw, 44px); letter-spacing: -0.03em; line-height: 1; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums; }
.cys-tz__time small { font-size: .42em; font-weight: 700; margin-left: 6px; color: var(--wp--preset--color--accent); letter-spacing: 0; }
.cys-tz__city { display: block; margin-top: 8px; font-size: 14px; color: var(--wp--preset--color--body); }
.cys-tz__live { display: inline-flex; align-items: center; gap: 6px; color: #15803D; font-weight: 600; letter-spacing: .04em; }
.cys-tz__live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: cysPing 2s ease-out infinite; }
@keyframes cysPing { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); } 100% { box-shadow: 0 0 0 9px rgba(34,197,94,0); } }

/* Cursor + progress in the new palette */
.cys-cursor-dot { background: var(--wp--preset--color--orange); }
.cys-cursor-ring { border-color: rgba(245,124,0,.55); }
.cys-cursor-ring.is-link { background: rgba(255,181,71,.3); }
.cys-cursor-ring.is-label { background: var(--cys-sunrise); }
.cys-progress { background: linear-gradient(90deg, #FFB547, #F57C00, #8B5CF6); }
.cys-loader__panel { background: #FFF8F1; }
.cys-loader__panel.is-lime { background: var(--cys-sunrise); }
.cys-loader__inner { color: var(--wp--preset--color--ink); }
.cys-loader__brand { color: var(--wp--preset--color--muted); }
.cys-loader__count::after { color: var(--wp--preset--color--orange); }
.cys-loader__bar { background: rgba(17,19,34,.08); }
.cys-loader__bar i { background: var(--cys-sunrise); }
.cys-glare { background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.7), transparent 45%); mix-blend-mode: soft-light; }

/* Our Expertise tiles */
.cys-expertise { position: relative; }
.cys-xtile { position: relative; overflow: hidden; padding: 28px !important; }
.cys-xtile::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(255,181,71,.28), transparent 70%); transition: transform .6s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.cys-xtile:hover::after { transform: scale(1.8); }
.cys-xicon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: var(--cys-sunrise); color: var(--wp--preset--color--ink); box-shadow: 0 10px 22px -10px rgba(245,124,0,.9), inset 0 1px 0 rgba(255,255,255,.5); transform: perspective(300px) rotateY(-14deg) rotateX(8deg); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.cys-xicon.is-violet { background: var(--cys-dusk); color: #fff; box-shadow: 0 10px 22px -10px rgba(139,92,246,.9), inset 0 1px 0 rgba(255,255,255,.4); }
.cys-xicon svg { width: 24px; height: 24px; }
.cys-xtile:hover .cys-xicon { transform: perspective(300px) rotateY(14deg) rotateX(-6deg) translateZ(10px) scale(1.06); }
.cys-xtile h3 { margin-top: 18px !important; }

/* Header quote pill */
.cys-btn-sm .wp-block-button__link { min-height: 44px; padding: 0 20px; font-size: 15px; }
@media (max-width: 600px) {
	.cys-header .cys-btn-sm { display: none; }
	.cys-header > .wp-block-group { flex-wrap: nowrap !important; gap: 10px; }
	.cys-header .cys-call-btn { width: 44px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
	.cys-header .cys-call-btn svg { width: 18px; height: 18px; }
	.cys-header .wp-block-site-title { font-size: 16px; }
}

/* Footer */
.cys-footer { background: rgba(255, 248, 241, .7); }

body.cys-no-motion *, body.cys-no-motion *::before { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
	*, *::before { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto; }
}
