/*
Theme Name: Sysvix
Theme URI: https://sysvix.com
Author: Sysvix
Description: Lightweight block theme for Sysvix. Dark, fast, editable with the WordPress block editor. No page builder required.
Version: 1.1.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sysvix
*/

/* ---------- Base ---------- */
:root{
	--sx-accent: var(--wp--preset--color--accent, #E07A3F);
	--sx-base: var(--wp--preset--color--base, #0E0E0F);
	--sx-base-2: var(--wp--preset--color--base-2, #121214);
	--sx-surface: var(--wp--preset--color--surface, #17171A);
	--sx-line: var(--wp--preset--color--line, #2A2A2E);
	--sx-line-2: var(--wp--preset--color--line-2, #3A3A3F);
	--sx-text: var(--wp--preset--color--contrast, #F2F0EB);
	--sx-muted: var(--wp--preset--color--muted, #A1A09A);
	--sx-soft: #C9C7C1;
	--sx-ease: cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
:where(.wp-site-blocks) > *{margin-block-start:0}
.wp-site-blocks{padding-top:0;padding-bottom:0}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.sx-display{font-family:var(--wp--preset--font-family--display)}
.sx-muted{color:var(--sx-muted)}
.sx-soft{color:var(--sx-soft)}
.sx-small{font-size:15px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sx-accent);outline-offset:3px;border-radius:6px}
.screen-reader-text:focus{clip:auto!important;height:auto;width:auto;background:var(--sx-text);color:var(--sx-base);padding:12px 16px;z-index:100000}

/* ---------- Shared pieces ---------- */
.sx-section{padding-top:var(--wp--preset--spacing--70)!important;padding-bottom:var(--wp--preset--spacing--70)!important}
.sx-band{background:var(--sx-base-2);border-top:1px solid var(--sx-line);border-bottom:1px solid var(--sx-line)}
.sx-eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sx-accent)}
.sx-lead{font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--sx-soft)}
.sx-section-head{display:flex;flex-direction:column;gap:18px;max-width:820px}
.sx-section-head > *{margin:0!important}
.sx-h2-muted mark,.sx-dim{color:#85847F}

/* Buttons */
.wp-block-button__link{transition:transform .25s var(--sx-ease),filter .25s,background .25s,color .25s;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.wp-block-button__link:hover{transform:translateY(-2px)}
.sx-btn-arrow .wp-block-button__link::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 9h11M10 4.5L14.5 9 10 13.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 9h11M10 4.5L14.5 9 10 13.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.sx-btn-ghost .wp-block-button__link{background:transparent!important;color:var(--sx-text)!important;border:1px solid var(--sx-line-2)}
.sx-btn-ghost .wp-block-button__link:hover{border-color:var(--sx-text)}
.sx-btn-dark .wp-block-button__link{background:var(--sx-base)!important;color:var(--sx-text)!important}
.sx-btn-outline-dark .wp-block-button__link{background:transparent!important;color:var(--sx-base)!important;border:1.5px solid var(--sx-base)}
.sx-btn-sm .wp-block-button__link{padding:11px 20px!important;font-size:15px!important}
.sx-text-link{font-weight:600;color:var(--sx-accent)!important}
.sx-text-link a{color:var(--sx-accent)!important}

/* Photo placeholders / images */
.sx-photo{margin-top:0!important;margin-bottom:0!important;border-radius:var(--wp--custom--radius--card,24px);overflow:hidden;background:var(--sx-surface)}
.sx-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sx-photo.is-tall img{aspect-ratio:4/5}
.sx-photo.is-wide img{aspect-ratio:21/8;min-height:240px}
.sx-photo.is-portrait img{aspect-ratio:4/5;min-height:420px}

/* ---------- Header ---------- */
.sx-header{position:relative;z-index:50;padding-top:18px!important}
.sx-nav-pill{max-width:1200px;margin-inline:auto!important;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 10px 10px 24px!important;border:1px solid var(--sx-line);border-radius:999px;background:#141416}
.sx-nav-pill .wp-block-site-title{margin:0;font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:27px;letter-spacing:-.04em;line-height:1}
.sx-nav-pill .wp-block-site-title a{color:var(--sx-text)}
.sx-nav-pill .wp-block-navigation{font-size:15px;font-weight:500;gap:32px}
.sx-nav-pill .wp-block-navigation-item__content{padding:6px 0}
.sx-nav-pill .wp-block-buttons{margin:0}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--sx-base)!important;color:var(--sx-text)!important;padding:28px!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{font-family:var(--wp--preset--font-family--display);font-size:32px;font-weight:700;gap:18px}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--sx-line)}
@media (max-width:781px){.sx-nav-pill .sx-header-cta{display:none}}

/* ---------- Hero ---------- */
.sx-hero{position:relative;overflow:hidden}
.sx-hero-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:clamp(40px,5vw,72px);align-items:center;max-width:1200px;margin-inline:auto!important;padding-top:clamp(48px,7vw,96px)!important;padding-bottom:clamp(56px,7vw,104px)!important}
.sx-hero-copy{display:flex;flex-direction:column;gap:28px}
.sx-hero-copy > *{margin:0!important}
.sx-pill{display:inline-flex!important;align-items:center;gap:10px;align-self:flex-start;padding:8px 16px 8px 12px;border:1px solid var(--sx-line);border-radius:999px;background:#141416;font-size:14px;font-weight:500;color:var(--sx-soft)}
.sx-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sx-accent);animation:sx-blink 1.6s ease-in-out infinite}
.sx-hero h1 mark{position:relative;display:inline-block;background:none;color:var(--sx-accent)}
.sx-hero h1 mark::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.09em;border-radius:99px;background:var(--sx-accent);transform-origin:left;animation:sx-under .8s .9s var(--sx-ease) both}
.sx-hero-note{font-size:14px;color:var(--sx-muted)}
.sx-hero .sx-hero-copy > *{animation:sx-up .7s var(--sx-ease) both}
.sx-hero .sx-hero-copy > *:nth-child(2){animation-delay:.1s}
.sx-hero .sx-hero-copy > *:nth-child(3){animation-delay:.2s}
.sx-hero .sx-hero-copy > *:nth-child(4){animation-delay:.3s}
.sx-hero .sx-hero-copy > *:nth-child(5){animation-delay:.4s}
.sx-gridbg{position:absolute;inset:-90px 0 0 0;pointer-events:none;background-image:linear-gradient(#1C1C1F 1px,transparent 1px),linear-gradient(90deg,#1C1C1F 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%);animation:sx-pan 6s linear infinite}
.sx-stage{position:relative;min-height:640px;display:flex;align-items:center;justify-content:center}
.sx-orbits{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.sx-pulse{position:absolute;width:300px;aspect-ratio:1;border-radius:50%;border:1px solid var(--sx-line-2);animation:sx-pulse-ring 4.5s ease-out infinite}
.sx-pulse:nth-child(2){animation-delay:1.5s}.sx-pulse:nth-child(3){animation-delay:3s}
.sx-ring{position:absolute;aspect-ratio:1;border-radius:50%}
.sx-ring--a{width:min(430px,92%);border:1px dashed #34343A;animation:sx-spin 70s linear infinite}
.sx-ring--b{width:min(580px,118%);border:1px solid #222226;animation:sx-spin-rev 110s linear infinite}
.sx-ring i{position:absolute;display:block;border-radius:50%}
.sx-orbit-chip{position:absolute;bottom:-6px;left:38%;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--sx-surface);border:1px solid var(--sx-line);font-size:11px;color:var(--sx-soft);white-space:nowrap;animation:sx-spin 110s linear infinite}
.sx-phone{position:relative;z-index:2;width:290px;height:590px;border-radius:46px;padding:10px;background:#1A1A1D;border:1px solid var(--sx-line-2);box-shadow:0 40px 80px rgba(0,0,0,.55);animation:sx-up .9s .2s var(--sx-ease) both}
.sx-phone-screen{height:100%;border-radius:37px;background:var(--sx-base);overflow:hidden;display:flex;flex-direction:column}
.sx-phone-head{padding:22px 18px 14px;border-bottom:1px solid #1F1F22;display:flex;flex-direction:column;align-items:center;gap:6px}
.sx-avatar{width:38px;height:38px;border-radius:50%;background:var(--sx-line);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--sx-soft)}
.sx-chat{flex:1;padding:16px 14px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.4}
.sx-chat p{margin:0;max-width:82%;padding:9px 12px}
.sx-chat .out{align-self:flex-end;border-radius:16px 16px 4px 16px;background:var(--sx-accent);color:var(--sx-base);animation:sx-msg .5s var(--d,1s) ease both}
.sx-chat .in{align-self:flex-start;border-radius:16px 16px 16px 4px;background:#232326;color:var(--sx-text);animation:sx-msg .5s var(--d,1s) ease both}
.sx-chat .meta{margin:0 auto 2px;padding:0;font-size:11px;color:#85847F;max-width:none}
.sx-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;border-radius:16px;background:#232326}
.sx-typing span{width:6px;height:6px;border-radius:50%;background:var(--sx-muted);animation:sx-dot 1.2s infinite}
.sx-typing span:nth-child(2){animation-delay:.2s}.sx-typing span:nth-child(3){animation-delay:.4s}
.sx-float{position:absolute;z-index:3;box-shadow:0 20px 40px rgba(0,0,0,.45);animation:sx-float 6s ease-in-out infinite}
.sx-float--call{top:56px;left:0;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:16px;background:var(--sx-surface);border:1px solid var(--sx-line)}
.sx-float--booked{top:250px;right:-6px;width:200px;padding:16px;border-radius:18px;background:var(--sx-text);color:var(--sx-base);animation-duration:7s;animation-delay:1s}
.sx-float--review{bottom:60px;left:10px;padding:14px 18px;border-radius:16px;background:var(--sx-surface);border:1px solid var(--sx-line);animation-duration:6.5s;animation-delay:.5s}
.sx-ring-icon{width:38px;height:38px;border-radius:12px;background:var(--sx-line);display:flex;align-items:center;justify-content:center;animation:sx-ring 1.8s ease-out infinite}
.sx-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.sx-week span{height:18px;border-radius:5px;background:#E2DFD8}
.sx-week span.on{background:var(--sx-accent)}
@media (max-width:760px){.sx-float{display:none}.sx-stage{min-height:600px}}

/* ---------- Ticker ---------- */
.sx-ticker{border-top:1px solid var(--sx-line);border-bottom:1px solid var(--sx-line);background:var(--sx-base-2);padding:22px 0;overflow:hidden}
.sx-ticker-track{display:flex;width:max-content;animation:sx-marquee 38s linear infinite}
.sx-ticker:hover .sx-ticker-track{animation-play-state:paused}
.sx-ticker-row{display:flex;align-items:center;gap:40px;padding-right:40px;font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:24px;letter-spacing:-.02em;color:#85847F;white-space:nowrap}
.sx-ticker-row b{font-weight:400;color:var(--sx-accent)}

/* ---------- Intro ---------- */
.sx-statement{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:clamp(28px,3.4vw,46px);line-height:1.15;letter-spacing:-.025em;max-width:900px}
.sx-statement mark{background:none;color:var(--sx-accent)}
.sx-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.sx-photos > *{margin:0!important}
@media (min-width:782px){.sx-photos > :nth-child(2){margin-top:64px!important}}

/* ---------- Cards / problem ---------- */
.sx-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.sx-grid-3 > *{margin:0!important}
.sx-card{background:#151517;border:1px solid var(--sx-line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.sx-card > *{margin:0!important}
.sx-card-body{padding:28px 30px 32px!important;display:flex;flex-direction:column;gap:10px}
.sx-card-body > *{margin:0!important}
.sx-card-body p{color:var(--sx-muted)}
.sx-card-ill{height:200px;background:#111113;border-bottom:1px solid var(--sx-line);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:10px;padding:0 32px}
.sx-card-ill.left{align-items:stretch}
.sx-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px}
.sx-bar{display:block;height:8px;border-radius:9px;background:var(--sx-line)}
.sx-lift{transition:transform .35s var(--sx-ease),border-color .35s}
.sx-lift:hover{transform:translateY(-6px);border-color:#4A4A50}

/* ---------- Services bento ---------- */
.sx-services-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px 64px;align-items:end}
.sx-services-head > *{margin:0!important}
.sx-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(400px,auto);gap:16px}
.sx-bento > *{margin:0!important}
.sx-tile{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px!important;border-radius:24px;background:var(--sx-surface);border:1px solid var(--sx-line);overflow:hidden;transition:transform .35s var(--sx-ease),border-color .35s}
.sx-tile:hover{transform:translateY(-6px);border-color:#4A4A50}
.sx-tile::after{content:"";position:absolute;top:28px;right:28px;width:40px;height:40px;border-radius:50%;border:1px solid var(--sx-line-2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12L12 4M6 4h6v6' fill='none' stroke='%23F2F0EB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--sx-ease)}
.sx-tile:hover::after{transform:rotate(45deg)}
.sx-tile-text{display:flex;flex-direction:column;gap:8px}
.sx-tile-text > *{margin:0!important}
.sx-tile-text h3{font-size:26px;line-height:1.1;padding-right:52px}
.sx-tile-text h3 a{color:inherit}
.sx-tile-text h3 a::before{content:"";position:absolute;inset:0;z-index:1}
.sx-tile-text p:not(.sx-tag){font-size:15px;color:var(--sx-muted)}
.sx-tag{align-self:flex-start;margin-bottom:8px!important;padding:6px 12px;border-radius:999px;border:1px solid var(--sx-line-2);font-size:13px;font-weight:500;color:var(--sx-soft)}
.sx-ill{margin-top:auto!important;height:190px;border-radius:16px;background:var(--sx-base);border:1px solid var(--sx-line);position:relative;overflow:hidden;box-sizing:border-box}
.sx-span2{grid-column:span 2;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:24px;align-items:stretch}
.sx-span2 .sx-tile-text h3{font-size:30px}
.sx-span2 .sx-ill{margin-top:0!important;height:auto;min-height:280px}
.sx-tile--accent{background:var(--sx-accent);border-color:var(--sx-accent);color:var(--sx-base)}
.sx-tile--accent .sx-tile-text p:not(.sx-tag){color:var(--wp--preset--color--accent-ink,#2A1A10)}
.sx-tile--accent .sx-tag{border-color:rgba(14,14,15,.35);color:var(--sx-base);font-weight:600}
.sx-tile--accent .sx-tile-text h3{font-weight:800;font-size:34px}
.sx-tile--accent::after{background-color:var(--sx-base);border-color:var(--sx-base)}
.sx-tile--accent .sx-ill{border:0}
@media (max-width:980px){.sx-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sx-bento{grid-template-columns:minmax(0,1fr)}.sx-span2{grid-column:auto}}

/* ---------- Steps ---------- */
.sx-step{display:flex;flex-direction:column;gap:14px;padding:32px!important;border-radius:24px;border:1px solid var(--sx-line);background:#151517}
.sx-step > *{margin:0!important}
.sx-step-num{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:64px;line-height:1;letter-spacing:-.04em;color:var(--sx-accent)}
.sx-step p:not(.sx-step-num){color:var(--sx-muted)}

/* ---------- Why ---------- */
.sx-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:clamp(40px,6vw,80px);align-items:center}
.sx-split > *{margin:0!important}
.sx-photo-wrap{position:relative}
.sx-quote{position:absolute!important;right:-12px;bottom:28px;max-width:260px;padding:18px 20px!important;border-radius:18px;background:var(--sx-accent);color:var(--sx-base);box-shadow:0 20px 40px rgba(0,0,0,.45);animation:sx-float 7s ease-in-out infinite;margin:0!important}
.sx-quote p{margin:0;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:20px;line-height:1.15;letter-spacing:-.02em}
.sx-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
.sx-points > *{margin:0!important}
.sx-point{padding:22px!important;border-radius:18px;border:1px solid var(--sx-line);display:flex;flex-direction:column;gap:6px}
.sx-point > *{margin:0!important}
.sx-point h3{font-family:var(--wp--preset--font-family--body);font-size:18px;font-weight:600;letter-spacing:0}
.sx-point p{font-size:15px;color:var(--sx-muted)}
@media (max-width:600px){.sx-quote{position:relative!important;right:auto;bottom:auto;margin-top:-40px!important;margin-left:16px!important}}

/* ---------- FAQ ---------- */
.sx-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:clamp(32px,6vw,80px);align-items:start}
.sx-faq > *{margin:0!important}
@media (min-width:782px){.sx-faq-aside{position:sticky;top:32px}}
.sx-faq-aside{display:flex;flex-direction:column;gap:18px}
.sx-faq-aside > *{margin:0!important}
.sx-faq-list{display:flex;flex-direction:column;gap:12px;padding-top:40px}
.sx-faq-list > *{margin:0!important}
@media (max-width:781px){.sx-faq-list{padding-top:0}}
.sx-contact-card{margin-top:14px!important;border-radius:24px;border:1px solid var(--sx-line);background:var(--sx-surface);overflow:hidden}
.sx-contact-card > *{margin:0!important}
.sx-contact-card .sx-photo{border-radius:0;position:relative}
.sx-contact-card .sx-photo img{aspect-ratio:16/10}
.sx-contact-body{padding:24px!important;display:flex;flex-direction:column;gap:14px}
.sx-contact-body > *{margin:0!important}
.sx-contact-body h3{font-size:22px}
.sx-live{position:relative}
.sx-live::before{content:"Talk to a real person";position:absolute;left:16px;top:16px;z-index:2;padding:6px 12px 6px 26px;border-radius:999px;background:var(--sx-base);border:1px solid var(--sx-line);font-size:12px;color:var(--sx-soft)}
.sx-live::after{content:"";position:absolute;left:28px;top:28px;z-index:3;width:7px;height:7px;border-radius:50%;background:#7BD389;transform:translate(-50%,-50%);animation:sx-blink 1.6s ease-in-out infinite}
.wp-block-details.sx-faq-item{border:1px solid var(--sx-line);border-radius:18px;padding:24px 26px;background:var(--sx-surface);transition:border-color .3s,background .3s}
.wp-block-details.sx-faq-item[open]{border-color:var(--sx-line-2);background:#1A1A1D}
.wp-block-details.sx-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600;font-size:18px;transition:color .25s}
.wp-block-details.sx-faq-item summary::-webkit-details-marker{display:none}
.wp-block-details.sx-faq-item summary:hover{color:var(--sx-accent)}
.wp-block-details.sx-faq-item summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--sx-line-2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%23F2F0EB' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--sx-ease),background-color .3s,border-color .3s}
.wp-block-details.sx-faq-item[open] summary::after{transform:rotate(45deg);background-color:var(--sx-accent);border-color:var(--sx-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%230E0E0F' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.wp-block-details.sx-faq-item > :not(summary){margin:12px 0 0;color:var(--sx-muted)}
.wp-block-details.sx-faq-item[open] > :not(summary){animation:sx-faq .4s .05s var(--sx-ease) both}
@supports selector(::details-content){
	.wp-block-details.sx-faq-item{interpolate-size:allow-keywords}
	.wp-block-details.sx-faq-item::details-content{block-size:0;overflow:hidden;transition:block-size .4s var(--sx-ease),content-visibility .4s allow-discrete}
	.wp-block-details.sx-faq-item[open]::details-content{block-size:auto}
}

/* ---------- CTA ---------- */
.sx-cta-box{position:relative;overflow:hidden;max-width:1200px;margin-inline:auto!important;border-radius:36px;background:var(--sx-accent);color:var(--sx-base);padding:clamp(36px,6vw,80px)!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:clamp(36px,5vw,64px);align-items:center}
.sx-cta-box > *{margin:0!important;position:relative}
.sx-cta-box::before,.sx-cta-box::after{content:"";position:absolute;border-radius:50%;border:2px dashed rgba(14,14,15,.22);animation:sx-spin 60s linear infinite}
.sx-cta-box::before{right:-120px;top:-120px;width:380px;height:380px}
.sx-cta-box::after{right:-60px;top:-60px;width:260px;height:260px;animation-duration:45s}
.sx-cta-copy{display:flex;flex-direction:column;gap:24px}
.sx-cta-copy > *{margin:0!important}
.sx-cta-copy h2{font-weight:800;font-size:clamp(40px,5.6vw,78px);line-height:.95;letter-spacing:-.045em}
.sx-cta-copy p{font-size:19px;color:var(--wp--preset--color--accent-ink,#2A1A10);max-width:460px}
.sx-cal{border-radius:24px;background:var(--sx-base);color:var(--sx-text);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.sx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center;font-size:12px;color:#85847F}
.sx-cal-grid span{padding:9px 0;border-radius:10px}
.sx-cal-grid .d{background:var(--sx-surface)}
.sx-cal-grid .on{background:var(--sx-accent);color:var(--sx-base);font-weight:700}
.sx-cal-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:13px;text-align:center}
.sx-cal-times span{padding:10px 0;border-radius:10px;border:1px solid var(--sx-line)}
.sx-cal-times .on{border-color:var(--sx-accent);color:var(--sx-accent);font-weight:600}

/* ---------- Footer ---------- */
.sx-footer{border-top:1px solid var(--sx-line);padding-top:64px!important;overflow:hidden}
.sx-footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:40px}
.sx-footer-cols > *{margin:0!important}
.sx-footer h2{font-family:var(--wp--preset--font-family--body);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sx-muted);margin:0 0 12px}
.sx-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.sx-footer-tagline{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.sx-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--sx-line);padding-top:24px!important;margin-top:48px!important;font-size:14px;color:var(--sx-muted)}
.sx-footer-bottom > *{margin:0!important}
.sx-footer-bottom a{color:var(--sx-muted)}
.sx-wordmark{margin:48px 0 -.06em!important;font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:25vw;line-height:.86;letter-spacing:-.06em;text-align:center;color:#1C1C1F;user-select:none}
@media (min-width:1440px){.sx-wordmark{font-size:300px}}

/* ---------- Generic pages & posts ---------- */
.sx-page-head{padding-top:clamp(56px,8vw,112px)!important;padding-bottom:32px!important}
.sx-prose{font-size:18px}
.sx-prose > * + *{margin-top:1.1em}
.sx-prose h2{font-size:clamp(28px,3vw,40px);margin-top:1.6em}
.sx-prose a{color:var(--sx-accent);text-decoration:underline;text-underline-offset:3px}
.sx-post-card{padding:28px!important;border-radius:24px;border:1px solid var(--sx-line);background:var(--sx-surface)}

/* ---------- Motion ---------- */
@keyframes sx-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes sx-msg{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes sx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes sx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes sx-ring{0%{box-shadow:0 0 0 0 rgba(224,122,63,.55)}100%{box-shadow:0 0 0 14px rgba(224,122,63,0)}}
@keyframes sx-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@keyframes sx-draw{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
@keyframes sx-dash{to{stroke-dashoffset:-24}}
@keyframes sx-blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes sx-under{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sx-pulse-ring{0%{transform:scale(.8);opacity:0}15%{opacity:.9}100%{transform:scale(2.1);opacity:0}}
@keyframes sx-spin{to{transform:rotate(360deg)}}
@keyframes sx-spin-rev{to{transform:rotate(-360deg)}}
@keyframes sx-pan{to{background-position:56px 56px}}
@keyframes sx-faq{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}

/* Scroll reveals: only hidden when JS is running, so content is always visible without it */
html.sx-js .sx-reveal,html.sx-js .sx-stagger > *{opacity:0;translate:0 40px;transition:opacity .8s var(--sx-ease),translate .8s var(--sx-ease)}
html.sx-js .sx-wipe{clip-path:inset(0 0 100% 0);translate:0 28px;transition:clip-path .9s var(--sx-ease),translate .9s var(--sx-ease)}
html.sx-js .sx-slide{opacity:0;translate:-28px 0;transition:opacity .7s var(--sx-ease),translate .7s var(--sx-ease)}
html.sx-js .sx-iris{clip-path:inset(14% 10% 14% 10% round 24px);opacity:.25;scale:1.04;transition:clip-path 1.1s var(--sx-ease),opacity 1.1s var(--sx-ease),scale 1.1s var(--sx-ease)}
html.sx-js .sx-stagger > :nth-child(2){transition-delay:.08s}
html.sx-js .sx-stagger > :nth-child(3){transition-delay:.16s}
html.sx-js .sx-stagger > :nth-child(4){transition-delay:.24s}
html.sx-js .sx-stagger > :nth-child(5){transition-delay:.08s}
html.sx-js .sx-stagger > :nth-child(6){transition-delay:.16s}
html.sx-js .sx-stagger > :nth-child(7){transition-delay:.08s}
html.sx-js .sx-stagger > :nth-child(8){transition-delay:.16s}
html.sx-js .is-in.sx-reveal,html.sx-js .sx-stagger > .is-in,html.sx-js .is-in.sx-slide{opacity:1;translate:0 0}
html.sx-js .is-in.sx-wipe{clip-path:inset(-10% -5% -25% -5%);translate:0 0}
html.sx-js .is-in.sx-iris{clip-path:inset(0 round 24px);opacity:1;scale:1}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	html.sx-js .sx-reveal,html.sx-js .sx-stagger > *,html.sx-js .sx-wipe,html.sx-js .sx-slide,html.sx-js .sx-iris{opacity:1!important;translate:none!important;clip-path:none!important;scale:none!important}
}

/* ---------- Layout fixes ---------- */
.sx-section > * + *{margin-block-start:clamp(40px,5vw,56px)!important}
.sx-hero-grid{padding-left:clamp(20px,5vw,48px)!important;padding-right:clamp(20px,5vw,48px)!important}
.sx-header{padding-left:clamp(16px,4vw,40px)!important;padding-right:clamp(16px,4vw,40px)!important}
.sx-section-head .sx-points{margin-top:12px!important}
.sx-contact-body .wp-block-buttons{margin:0}
.is-layout-constrained > .sx-section-head,.is-layout-constrained > .sx-statement{margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}

/* ---------- Inner pages ---------- */
.sx-page-hero{padding-top:clamp(56px,7vw,104px)!important;padding-bottom:clamp(56px,7vw,96px)!important;position:relative;overflow:hidden}
.sx-page-hero .sx-gridbg{inset:-90px 0 0 0}
.sx-page-hero > *{position:relative}
.sx-hero-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:clamp(40px,5vw,72px);align-items:center}
.sx-hero-split > *{margin:0!important}
.sx-hero-copy-2{display:flex;flex-direction:column;gap:24px}
.sx-hero-copy-2 > *{margin:0!important}
.sx-hero-copy-2 h1{font-size:clamp(40px,5.4vw,76px)}
.sx-crumbs{font-size:14px;color:var(--sx-muted)}
.sx-crumbs a{color:var(--sx-muted)}
.sx-crumbs a:hover{color:var(--sx-accent)}
.sx-visual{border-radius:28px;border:1px solid var(--sx-line);background:var(--sx-surface);padding:20px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.sx-visual .sx-ill{height:auto;min-height:340px;margin:0!important}
.sx-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}
.sx-grid-2 > *{margin:0!important}
.sx-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.sx-grid-4 > *{margin:0!important}
.sx-plain-card{padding:28px!important;border-radius:24px;border:1px solid var(--sx-line);background:#151517;display:flex;flex-direction:column;gap:10px}
.sx-plain-card > *{margin:0!important}
.sx-plain-card h3{font-size:22px}
.sx-plain-card p{color:var(--sx-muted)}
.sx-incl{position:relative;padding:26px 26px 26px 72px!important;border-radius:20px;border:1px solid var(--sx-line);background:var(--sx-surface);display:flex;flex-direction:column;gap:6px}
.sx-incl > *{margin:0!important}
.sx-incl::before{content:"";position:absolute;left:24px;top:26px;width:32px;height:32px;border-radius:10px;background:var(--sx-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%230E0E0F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.sx-incl h3{font-family:var(--wp--preset--font-family--body);font-size:18px;font-weight:600;letter-spacing:0;line-height:1.3}
.sx-incl p{font-size:15px;color:var(--sx-muted)}
.sx-step--compact{padding:26px!important}
.sx-step--compact .sx-step-num{font-size:44px}
.sx-step--compact h3{font-size:21px}
.sx-related{position:relative;padding:26px!important;border-radius:20px;border:1px solid var(--sx-line);background:var(--sx-surface);display:flex;flex-direction:column;gap:8px;transition:transform .35s var(--sx-ease),border-color .35s}
.sx-related > *{margin:0!important}
.sx-related:hover{transform:translateY(-4px);border-color:#4A4A50}
.sx-related h3{font-size:22px;padding-right:40px}
.sx-related h3 a{color:inherit}
.sx-related h3 a::before{content:"";position:absolute;inset:0}
.sx-related p{font-size:15px;color:var(--sx-muted)}
.sx-related::after{content:"→";position:absolute;right:24px;top:24px;color:var(--sx-accent);font-size:20px;transition:transform .3s var(--sx-ease)}
.sx-related:hover::after{transform:translateX(4px)}
.sx-form-card{padding:clamp(24px,3vw,36px)!important;border-radius:28px;border:1px solid var(--sx-line);background:var(--sx-surface);display:flex;flex-direction:column;gap:14px}
.sx-form-card > *{margin:0!important}
.sx-form-card h2{font-size:clamp(26px,2.4vw,32px)}
.sx-booking iframe{width:100%;min-height:640px;border:0;border-radius:16px;background:#fff}
.sx-fallback{padding:24px;border-radius:16px;border:1px dashed var(--sx-line-2);background:var(--sx-base);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.sx-fallback p{margin:0;color:var(--sx-muted)}
.sx-fallback a.sx-fallback-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--sx-accent);color:var(--sx-base);font-weight:600}
.sx-checks{list-style:none;padding:0!important;margin:0;display:flex;flex-direction:column;gap:12px}
.sx-checks li{position:relative;padding-left:32px}
.sx-checks li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--sx-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%230E0E0F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.sx-narrow{max-width:760px}
.sx-legal{font-size:17px;color:var(--sx-soft)}
.sx-legal h2{font-size:clamp(24px,2.4vw,30px);margin-top:2em!important;color:var(--sx-text)}
.sx-legal ul{padding-left:1.2em}
.sx-legal a{color:var(--sx-accent);text-decoration:underline}

/* ---------- Fluent Forms, matched to the theme ---------- */
:is(.sx-form-card,.sx-book) .fluentform .ff-el-group{margin-bottom:18px}
:is(.sx-form-card,.sx-book) .fluentform .ff-el-input--label label{color:var(--sx-text);font-weight:500;font-size:15px}
:is(.sx-form-card,.sx-book) .fluentform .ff-el-form-control{background:var(--sx-base)!important;color:var(--sx-text)!important;border:1px solid var(--sx-line-2)!important;border-radius:12px!important;padding:13px 16px!important;font-size:16px!important;font-family:inherit}
:is(.sx-form-card,.sx-book) .fluentform .ff-el-form-control:focus{border-color:var(--sx-accent)!important;box-shadow:0 0 0 3px rgba(224,122,63,.2)!important;outline:none}
:is(.sx-form-card,.sx-book) .fluentform .ff-el-form-control::placeholder{color:#6F6E6A}
:is(.sx-form-card,.sx-book) .fluentform select.ff-el-form-control{appearance:auto}
:is(.sx-form-card,.sx-book) .fluentform .ff-btn-submit{background:var(--sx-accent)!important;color:var(--sx-base)!important;border:0!important;border-radius:999px!important;padding:16px 28px!important;font-weight:600!important;font-size:17px!important;min-height:52px;width:100%;transition:transform .25s,filter .25s}
:is(.sx-form-card,.sx-book) .fluentform .ff-btn-submit:hover{transform:translateY(-2px);filter:brightness(1.08)}
:is(.sx-form-card,.sx-book) .fluentform .error,:is(.sx-form-card,.sx-book) .fluentform .text-danger{color:#F08B6B!important}
:is(.sx-form-card,.sx-book) .ff-message-success{background:var(--sx-base);border:1px solid var(--sx-accent);border-radius:12px;color:var(--sx-text)}
.is-layout-constrained > .sx-narrow:not(.sx-legal){margin-left:max(0px,calc((100% - 1200px) / 2))!important;margin-right:auto!important}


/* ---------- Scroll progress bar ---------- */
.sx-progress{position:fixed;left:0;top:var(--wp-admin--admin-bar--height,0px);width:100%;height:3px;background:var(--sx-accent);transform:scaleX(0);transform-origin:0 50%;z-index:99999;pointer-events:none;will-change:transform}

/* Booking widget: Cal.com calendar + message tabs */
.sx-book{border-radius:28px;background:var(--sx-base);color:var(--sx-text);padding:8px;box-shadow:0 30px 60px rgba(0,0,0,.3);border:1px solid var(--sx-line);min-width:0}
.sx-book-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:20px;background:var(--sx-surface)}
.sx-book-tabs button{appearance:none;border:0;margin:0;background:transparent;color:var(--sx-muted);font:inherit;font-size:15px;font-weight:600;min-height:46px;padding:10px 12px;border-radius:16px;cursor:pointer;transition:background .25s var(--sx-ease),color .25s}
.sx-book-tabs button:hover{color:var(--sx-text)}
.sx-book-tabs button[aria-selected="true"]{background:var(--sx-accent);color:var(--sx-base)}
.sx-book-panel{padding:12px 8px 8px;animation:sx-fade .35s var(--sx-ease) both}
.sx-book-panel[hidden]{display:none}
.sx-book-msg{padding:20px 16px 12px}
.sx-book .fluentform .ff-el-form-control{background:var(--sx-surface)!important}
.sx-cal-embed{position:relative;min-height:440px;width:100%;overflow:hidden;border-radius:18px}
.sx-cal-embed iframe{width:100%!important;display:block}
.sx-cal-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--sx-muted);font-size:14px;transition:opacity .3s}
.sx-cal-embed.is-ready{min-height:0}
.sx-cal-embed.is-ready .sx-cal-wait{opacity:0;pointer-events:none}
.sx-spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--sx-line-2);border-top-color:var(--sx-accent);animation:sx-spin .8s linear infinite}
.sx-cal-embed.is-live + .sx-cal-alt{display:none}
.sx-cal-alt{margin:8px 0 4px!important;text-align:center;font-size:13px}
.sx-cal-alt a{color:var(--sx-muted)}
.sx-cal-alt a:hover{color:var(--sx-accent)}
.sx-book-wrap{max-width:920px;margin-inline:auto!important}
.sx-cta-box{overflow:clip}
.sx-cta-box:has(.sx-book){grid-template-columns:minmax(0,1fr)}
.sx-cta-box .sx-cta-copy{max-width:760px}
@keyframes sx-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sx-book-panel{animation:none}.sx-spin{animation-duration:2s}}

/* Closing CTA: centered, compact; main button opens the Cal.com pop-up */
.sx-cta2{position:relative;overflow:hidden;overflow:clip;text-align:center;padding:clamp(88px,11vw,150px) 24px!important;border-top:1px solid var(--sx-line);background:radial-gradient(55% 65% at 50% 50%,rgba(224,122,63,.09),transparent 72%),var(--sx-base)}
.sx-cta2 > *{position:relative;z-index:1}
.sx-cta2-fx{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;margin:0!important;max-width:none!important}
.sx-cta2-fx svg{width:100%;height:100%;display:block}
.sx-cta2-copy{display:flex;flex-direction:column;align-items:center;gap:22px}
.sx-cta2-copy > *{margin:0!important}
.sx-cta2 h2{font-size:clamp(40px,6.2vw,84px);line-height:1;letter-spacing:-.035em;max-width:19ch}
.sx-accent-text{color:var(--sx-accent)}
.sx-cta2 p{max-width:46ch;font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--sx-soft)}
.sx-cta2 .wp-block-buttons{justify-content:center;gap:12px;margin-top:10px!important}
.sx-arc{stroke-dasharray:640;stroke-dashoffset:640}
.sx-cta2:has(.is-in) .sx-arc{animation:sx-arc-draw 1.6s .3s var(--sx-ease) forwards}
.sx-arc-ring,.sx-arc-dot{opacity:0;transform-box:fill-box;transform-origin:center}
.sx-cta2:has(.is-in) .sx-arc-dot{animation:sx-arc-in .5s 1.5s ease forwards}
.sx-cta2:has(.is-in) .sx-arc-ring{animation:sx-arc-in .5s 1.5s ease forwards,sx-arc-pulse 2.6s 2s ease-in-out infinite}
@keyframes sx-arc-draw{to{stroke-dashoffset:0}}
@keyframes sx-arc-in{to{opacity:1}}
@keyframes sx-arc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@media (max-width:700px){.sx-cta2-fx{opacity:.5}}
@media (prefers-reduced-motion:reduce){.sx-arc{stroke-dashoffset:0}.sx-arc-ring,.sx-arc-dot{opacity:1}.sx-cta2 .sx-arc,.sx-cta2 .sx-arc-ring,.sx-cta2 .sx-arc-dot{animation:none!important}}
/* Cal.com pop-up sits above the sticky header and progress bar */
cal-modal-box{z-index:100000!important}

/* Hero background: orbit lines, travelling dots and a slow warm glow (all pages) */
.sx-herofx{position:absolute!important;inset:0;z-index:0;pointer-events:none;overflow:hidden;margin:0!important;max-width:none!important}
.sx-herofx svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.sx-orb{opacity:.85}
.sx-orb-trail{opacity:0;animation:sx-trail 15s ease-in-out infinite}
.sx-orb-core-ring{transform-box:fill-box;transform-origin:center;animation:sx-arc-pulse 2.8s ease-in-out infinite}
.sx-herofx-glow{position:absolute;right:-12%;top:-45%;width:min(70vw,980px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,rgba(224,122,63,.13),rgba(224,122,63,.04) 40%,transparent 66%);animation:sx-drift 20s ease-in-out infinite alternate;will-change:transform}
.sx-herofx::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,var(--sx-base))}
.sx-hero .sx-gridbg,.sx-page-hero .sx-gridbg{z-index:0}
@keyframes sx-trail{0%,100%{opacity:0}45%{opacity:.6}}
@keyframes sx-drift{to{transform:translate(-9%,8%) scale(1.08)}}
@media (max-width:781px){.sx-herofx{opacity:.45}.sx-orb-core,.sx-orb-core-ring{display:none}.sx-herofx-glow{width:120vw;top:-30%;right:-40%}}
@media (prefers-reduced-motion:reduce){.sx-orb-trail{opacity:.4;animation:none}.sx-orb-core-ring,.sx-herofx-glow{animation:none}}

/* Blog images: keep faces in frame when tall photos are cropped wide */
.wp-block-post-featured-image img[src*="owner-van-call"]{object-position:50% 12%}
.wp-block-post-featured-image img[src*="busy-contractor"]{object-position:50% 28%}

/* Blog index: equal-height cards */
.wp-block-post-template.is-layout-grid{align-items:stretch}
.wp-block-post-template > li{display:flex;margin:0}
.wp-block-post-template > li > .sx-post-card{flex:1;display:flex;flex-direction:column;gap:14px;margin:0!important}
.sx-post-card > *{margin:0!important}
.sx-post-card .wp-block-post-title{font-size:clamp(22px,1.9vw,26px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sx-post-card .wp-block-post-excerpt__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
@media (min-width:782px){.sx-post-card .wp-block-post-title{min-height:3.45em}}

/* Single post: article plus sticky call-to-action sidebar */
.sx-post-cols{gap:clamp(32px,5vw,64px);margin-top:48px!important;align-items:stretch}
.sx-post-cols > .wp-block-column{min-width:0}
.sx-side{position:sticky;top:110px;padding:28px!important;border-radius:24px;border:1px solid var(--sx-line);background:var(--sx-surface);display:flex;flex-direction:column;gap:14px}
.sx-side > *{margin:0!important}
.sx-side h3{font-size:clamp(24px,2vw,28px);line-height:1.15}
.sx-side .wp-block-buttons,.sx-side .wp-block-button,.sx-side .wp-block-button__link{width:100%;justify-content:center}
.sx-side .sx-small{font-size:14px;text-align:center}
.sx-side .sx-small a{color:var(--sx-muted);text-decoration:underline;text-underline-offset:3px}
.sx-side .sx-small a:hover{color:var(--sx-accent)}
@media (max-width:781px){.sx-side{position:static}.sx-post-cols{margin-top:32px!important}}

/* Insights: featured article hero card and lively details */
.sx-insights-feature,.sx-insights-grid{padding-left:clamp(20px,5vw,48px)!important;padding-right:clamp(20px,5vw,48px)!important}
.sx-insights-feature{padding-top:8px!important;padding-bottom:clamp(40px,5vw,64px)!important}
.sx-insights-grid .sx-eyebrow{margin-bottom:24px!important}
.sx-insights-feature .wp-block-post-template{list-style:none;margin:0;padding:0}
.sx-feature{position:relative;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);overflow:hidden;border-radius:32px;border:1px solid var(--sx-line);background:radial-gradient(70% 90% at 100% 0%,rgba(224,122,63,.1),transparent 60%),var(--sx-surface);min-height:440px;transition:transform .5s var(--sx-ease),border-color .4s,box-shadow .5s}
.sx-feature:hover{transform:translateY(-4px);border-color:rgba(224,122,63,.55);box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 0 1px rgba(224,122,63,.18)}
.sx-feature > *{margin:0!important}
.sx-feature-media{position:relative;overflow:hidden;min-height:320px}
.sx-feature-media .wp-block-post-featured-image{position:absolute;inset:0;margin:0!important;height:100%;width:100%}
.sx-feature-media .wp-block-post-featured-image a,.sx-feature-media .wp-block-post-featured-image img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.sx-feature-media img{transform:scale(1.02);transition:transform 1.4s var(--sx-ease)}
.sx-feature:hover .sx-feature-media img{transform:scale(1.07)}
.sx-feature-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 55%,var(--sx-surface) 100%),linear-gradient(0deg,rgba(14,14,15,.35),transparent 40%)}
.sx-feature-ring{position:absolute;z-index:2;left:22px;bottom:22px;width:92px;height:92px;border-radius:50%;border:1.5px dashed rgba(242,240,235,.55);animation:sx-spin 22s linear infinite;pointer-events:none}
.sx-feature-ring::before{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--sx-accent);box-shadow:0 0 0 5px rgba(224,122,63,.25)}
.sx-feature-body{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:clamp(28px,4vw,56px)!important}
.sx-feature-tags{gap:10px!important}
.sx-tag{display:inline-flex!important;align-items:center;margin:0!important;padding:6px 14px;border-radius:999px;border:1px solid var(--sx-line-2);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sx-soft)}
.sx-tag a{color:inherit!important;text-decoration:none}
.sx-tag--on{background:var(--sx-accent);border-color:var(--sx-accent);color:var(--sx-base)}
.sx-feature-body h2{font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.03em}
.sx-feature-body h2 a{color:var(--sx-text);text-decoration:none;background:linear-gradient(var(--sx-accent),var(--sx-accent)) 0 100%/0 3px no-repeat;transition:background-size .5s var(--sx-ease)}
.sx-feature:hover .sx-feature-body h2 a{background-size:100% 3px}
.sx-feature-excerpt,.sx-feature-excerpt p{font-size:17px;line-height:1.6;color:var(--sx-soft);margin:0}
.sx-feature-more{margin-top:8px!important}
.sx-feature-more{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--sx-accent);color:var(--sx-base)!important;font-weight:600;text-decoration:none;transition:transform .25s var(--sx-ease),filter .25s}
.sx-feature-more::after{content:"→";transition:transform .25s var(--sx-ease)}
.sx-feature-more:hover{transform:translateY(-2px);filter:brightness(1.08)}
.sx-feature-more:hover::after{transform:translateX(4px)}
.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))!important}
.sx-post-card{transition:transform .35s var(--sx-ease),border-color .3s}
.sx-post-card:hover{transform:translateY(-4px);border-color:var(--sx-line-2)}
.sx-post-card .wp-block-post-featured-image img{transition:transform .8s var(--sx-ease)}
.sx-post-card .wp-block-post-featured-image{overflow:hidden;border-radius:16px}
.sx-post-card:hover .wp-block-post-featured-image img{transform:scale(1.05)}
@media (max-width:860px){.sx-feature{grid-template-columns:1fr;min-height:0}.sx-feature-media{min-height:0;aspect-ratio:16/10}.sx-feature-media::after{background:linear-gradient(0deg,var(--sx-surface),transparent 45%)}}
@media (prefers-reduced-motion:reduce){.sx-feature-ring{animation:none}.sx-feature,.sx-feature img,.sx-post-card{transition:none}}

/* Hero background runs behind the nav pill (no dark bar above it) */
:root{--sx-header-h:88px}
body:has(.sx-hero,.sx-page-hero) .wp-site-blocks > header{margin-bottom:calc(var(--sx-header-h) * -1)!important;position:relative;z-index:50}
.sx-page-hero{padding-top:calc(var(--sx-header-h) + clamp(56px,7vw,104px))!important}
.sx-hero-grid{padding-top:calc(var(--sx-header-h) + clamp(48px,7vw,96px))!important}
