/* fse-headstartwp-theme compiled stylesheet.
   Base = the legacy standalone theme's BUILT frontend.css (postcss output,
   custom media + vars resolved) carried over verbatim for design fidelity.
   Everything after the FUELED ADDITIONS marker mirrors src/modules/fueled.css
   — keep both in sync and bump the version in functions.php. */

html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted currentColor;text-decoration:underline dotted currentColor}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation-name:fadeIn}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-out{animation-name:fadeOut}@media (prefers-reduced-motion:reduce){.fade-in,.fade-out{animation-duration:1ms!important}}@keyframes rotate90{to{transform:rotate(90deg)}}.rotate-90{animation-name:rotate90}@keyframes rotate180{to{transform:rotate(180deg)}}.rotate-180{animation-name:rotate180}@keyframes rotate270{to{transform:rotate(270deg)}}.rotate-270{animation-name:rotate270}@keyframes rotate360{to{transform:rotate(1turn)}}.rotate-360{animation-name:rotate360}@media (prefers-reduced-motion:reduce){.rotate-180,.rotate-270,.rotate-360,.rotate-90{animation-duration:1ms!important}}@keyframes scaleDownLarge{0%{transform:scale(1)}to{transform:scale(.5)}}.scale-down-large{animation-name:scaleDownLarge}@keyframes scaleDownSmall{0%{transform:scale(1)}to{transform:scale(.9)}}.scale-down-small{animation-name:scaleDownSmall}@keyframes scaleDown{0%{transform:scale(1)}to{transform:scale(.75)}}.scale-down{animation-name:scaleDown}@keyframes scaleUpLarge{0%{transform:scale(1)}to{transform:scale(1.5)}}.scale-up-large{animation-name:scaleUpLarge}@keyframes scaleUpSmall{0%{transform:scale(1)}to{transform:scale(1.1)}}.scale-up-small{animation-name:scaleUpSmall}@keyframes scaleUp{0%{transform:scale(1)}to{transform:scale(1.25)}}.scale-up{animation-name:scaleUp}@media (prefers-reduced-motion:reduce){.scale-down,.scale-down-large,.scale-down-small,.scale-up,.scale-up-large,.scale-up-small{animation-duration:1ms!important}}@keyframes shakeHorizontal{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(-10px,0,0)}30%,60%,90%{transform:translate3d(10px,0,0)}}.shake-horizontal{animation-name:shakeHorizontal}@keyframes shakeHorizontalLarge{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(-15px,0,0)}30%,60%,90%{transform:translate3d(15px,0,0)}}.shake-horizontal-large{animation-name:shakeHorizontalLarge}@keyframes shakeHorizontalSmall{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(-5px,0,0)}30%,60%,90%{transform:translate3d(5px,0,0)}}.shake-horizontal-small{animation-name:shakeHorizontalSmall}@keyframes shakeVertical{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(0,-10px,0)}30%,60%,90%{transform:translate3d(0,10px,0)}}.shake-vertical{animation-name:shakeVertical}@keyframes shakeVerticalLarge{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(0,-15px,0)}30%,60%,90%{transform:translate3d(0,15px,0)}}.shake-vertical-large{animation-name:shakeVerticalLarge}@keyframes shakeVerticalSmall{0%,to{transform:translateZ(0)}15%,45%,75%{transform:translate3d(0,-5px,0)}30%,60%,90%{transform:translate3d(0,5px,0)}}.shake-vertical-small{animation-name:shakeVerticalSmall}@media (prefers-reduced-motion:reduce){.shake-horizontal,.shake-horizontal-large,.shake-horizontal-small,.shake-vertical,.shake-vertical-large,.shake-vertical-small{animation-duration:1ms!important}}@keyframes slideInDown{0%{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translateZ(0)}}.slide-in-down{animation-name:slideInDown}@keyframes slideInLeft{0%{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translateZ(0)}}.slide-in-left{animation-name:slideInLeft}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);visibility:visible}to{transform:translateZ(0)}}.slide-in-right{animation-name:slideInRight}@keyframes slideInUp{0%{transform:translate3d(0,100%,0);visibility:visible}to{transform:translateZ(0)}}.slide-in-up{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0);visibility:hidden}}.slide-out-down{animation-name:slideOutDown}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0);visibility:hidden}}.slide-out-left{animation-name:slideOutLeft}@keyframes slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0);visibility:hidden}}.slide-out-right{animation-name:slideOutRight}@keyframes slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-100%,0);visibility:hidden}}.slide-out-up{animation-name:slideOutUp}@media (prefers-reduced-motion:reduce){.slide-in-down,.slide-in-left,.slide-in-right,.slide-in-up,.slide-out-down,.slide-out-left,.slide-out-right,.slide-out-up{animation-duration:1ms!important}}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-250{animation-delay:.25s}.delay-300{animation-delay:.3s}.delay-350{animation-delay:.35s}.delay-400{animation-delay:.4s}.delay-450{animation-delay:.45s}.delay-500{animation-delay:.5s}.delay-550{animation-delay:.55s}.delay-600{animation-delay:.6s}.delay-650{animation-delay:.65s}.delay-700{animation-delay:.7s}.delay-750{animation-delay:.75s}.delay-800{animation-delay:.8s}.delay-850{animation-delay:.85s}.delay-900{animation-delay:.9s}.delay-950{animation-delay:.95s}.delay-1000{animation-delay:1s}.duration-150{animation-duration:.15s;animation-fill-mode:both}.duration-200{animation-duration:.2s;animation-fill-mode:both}.duration-250{animation-duration:.25s;animation-fill-mode:both}.duration-300{animation-duration:.3s;animation-fill-mode:both}.duration-350{animation-duration:.35s;animation-fill-mode:both}.duration-400{animation-duration:.4s;animation-fill-mode:both}.duration-450{animation-duration:.45s;animation-fill-mode:both}.duration-500{animation-duration:.5s;animation-fill-mode:both}.duration-550{animation-duration:.55s;animation-fill-mode:both}.duration-600{animation-duration:.6s;animation-fill-mode:both}.duration-650{animation-duration:.65s;animation-fill-mode:both}.duration-700{animation-duration:.7s;animation-fill-mode:both}.duration-750{animation-duration:.75s;animation-fill-mode:both}.duration-800{animation-duration:.8s;animation-fill-mode:both}.duration-850{animation-duration:.85s;animation-fill-mode:both}.duration-900{animation-duration:.9s;animation-fill-mode:both}.duration-950{animation-duration:.95s;animation-fill-mode:both}.duration-1000{animation-duration:1s;animation-fill-mode:both}.timing-ease-in-out{animation-timing-function:ease-in-out}.timing-ease-in{animation-timing-function:ease-in}.timing-ease-out{animation-timing-function:ease-out}.timing-ease{animation-timing-function:ease}.timing-linear{animation-timing-function:linear}:root{--c-black:#000;--c-white:#fff;--c-light-gray:#ddd;--c-greyish-blue:#323f60;--c-light-blue:#4ba0c4;--c-dark-blue:#1c1f37;--c-xdark-gray:#1c1d36;--c-light-red:#ff4c4c;--spacing:3px}@media (min-width:48em){:root{--spacing:5px}}:root{--spacing-2x:calc(var(--spacing)*2);--spacing-3x:calc(var(--spacing)*3);--spacing-4x:calc(var(--spacing)*4);--spacing-5x:calc(var(--spacing)*5);--spacing-6x:calc(var(--spacing)*6);--spacing-7x:calc(var(--spacing)*7);--spacing-8x:calc(var(--spacing)*8);--spacing-9x:calc(var(--spacing)*9);--spacing-10x:calc(var(--spacing)*10);--spacing-11x:calc(var(--spacing)*12);--spacing-12x:calc(var(--spacing)*14);--spacing-13x:calc(var(--spacing)*16);--spacing-14x:calc(var(--spacing)*18);--f-size-base:15px}@media (min-width:48em){:root{--f-size-base:18px}}:root{--f-size-sm:calc(var(--f-size-base)*0.8);--f-size-md:calc(var(--f-size-base)*1.3);--f-size-lg:calc(var(--f-size-base)*1.7);--f-size-xl:calc(var(--f-size-base)*2.1);--f-size-2xl:calc(var(--f-size-base)*2.8);--f-primary:"IBM Plex Sans",sans-serif;--f-secondary:"IBM Plex Sans Condensed",sans-serif}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;transition-duration:1ms!important}}.alignleft{float:left;margin-right:1rem;text-align:left}.alignright{float:right;margin-left:1rem;text-align:right}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto;text-align:center}.wp-caption{max-width:100%}.wp-caption.aligncenter{text-align:center}.wp-caption.alignright{text-align:right}.wp-caption-text{margin:0}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:active){word-wrap:normal!important;clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.button{border-bottom:3px solid var(--c-light-blue);color:var(--c-light-blue);display:inline-block;font-family:var(--f-secondary);font-weight:600;padding-bottom:2px;text-decoration:none}.button:hover{border-bottom-color:var(--c-dark-blue);color:var(--c-dark-blue)}.button:after{content:">";display:inline-block;font-weight:700;margin-left:8px}.button.white{border-bottom:3px solid var(--c-white);color:var(--c-white)}.button.white:hover{border-bottom-color:var(--c-light-gray);color:var(--c-light-gray)}button.button,input.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border-left:0;border-right:0;border-top:0;cursor:pointer;padding-left:0;padding-right:0;padding-top:0}a{color:inherit;text-decoration:underline}a:focus,a:hover{color:var(--c-light-blue)}body{color:var(--c-xdark-gray);font-family:var(--f-primary);font-size:var(--f-size-base);overflow-x:hidden}*{box-sizing:border-box}h1,h2,h3,h4{color:var(--c-xdark-gray);font-family:var(--f-secondary);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-6x);margin-top:0}.h1,h1{font-size:var(--f-size-2xl)}.h2,h2{font-size:var(--f-size-xl)}.h3,h3{font-size:var(--f-size-lg)}p{line-height:1.6;margin-top:0}img{height:auto;width:100%}input[type=email],input[type=text]{background-color:var(--c-greyish-blue);border:0;color:var(--c-white);padding:var(--spacing-3x);width:100%}input[type=email]::-moz-placeholder,input[type=text]::-moz-placeholder{color:var(--c-light-gray)}input[type=email]::placeholder,input[type=text]::placeholder{color:var(--c-light-gray)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;color:var(--c-light-gray);padding:var(--spacing-3x);position:relative;width:100%;z-index:2}select.has-value{color:var(--c-white)}select:focus{outline:none}.select-wrap{background-color:var(--c-greyish-blue);border:0;position:relative;width:100%}.select-wrap:after{color:var(--c-white);content:">";display:block;font-size:var(--f-size-base);position:absolute;right:var(--spacing-3x);top:calc(var(--spacing)*3.2);transform:rotate(90deg) scaleY(1.3);z-index:1}a,button,svg{transition:all .4s}label{line-height:1.6}.panel{padding-bottom:var(--spacing-14x);padding-top:var(--spacing-14x);position:relative}.panel.blue:before{background:radial-gradient(100% 526.31% at 100% -1.54%,rgba(0,235,255,.12) 0,rgba(0,235,255,0) 100%);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.panel.blue>*{position:relative;z-index:1}.panel.blue{background-color:var(--c-dark-blue)}.panel.blue,.panel.blue a,.panel.blue h1,.panel.blue h2,.panel.blue h3{color:var(--c-white)}.panel.blue a:hover{color:var(--c-light-gray)}.panel p{margin-bottom:var(--spacing-6x)}.panel p:last-child{margin-bottom:0}.narrow-align,.wide-align{padding-left:var(--spacing-5x);padding-right:var(--spacing-5x);width:100%}.wide-align{max-width:750pt}.narrow-align,.wide-align{margin-left:auto;margin-right:auto}.narrow-align{max-width:810px}.horizontal-stack>:first-child{margin-bottom:var(--spacing-6x)}@media (min-width:48em){.horizontal-stack{display:flex}.horizontal-stack>:first-child{margin-bottom:0}.horizontal-stack>*{flex:1;max-width:50%;width:50%}.horizontal-stack>.large-screen-order-one{order:1;padding-right:var(--spacing-6x)}.horizontal-stack>.large-screen-order-two{order:2;padding-left:var(--spacing-6x)}}.main-footer{background-color:var(--c-greyish-blue);font-size:var(--f-size-sm);font-weight:300;padding-bottom:var(--spacing-12x);padding-top:var(--spacing-12x);text-align:center}.main-footer,.main-footer a{color:var(--c-white)}.main-footer a:hover{color:var(--c-light-gray)}@media (min-width:48em){.main-footer>*{display:grid;grid-template-columns:1fr 90pt 1fr}.main-footer>*>*{align-items:center;display:flex}.main-footer>* .social{justify-content:flex-end}.main-footer>* .menu{text-align:left}}.main-footer .logo{justify-content:center}.main-footer .logo svg{display:block;height:auto;margin-bottom:var(--spacing-10x);margin-left:auto;margin-right:auto;margin-top:var(--spacing-10x);width:70px}@media (min-width:48em){.main-footer .logo svg{margin-bottom:0;margin-top:0}}.main-footer .logo svg path{fill:var(--c-white)}.main-footer p{margin-bottom:var(--spacing);margin-top:0}@media (min-width:48em){.main-footer p{text-align:left}}.main-footer .social ul{list-style-type:none;margin:0;padding:0}.main-footer .social ul li{display:inline-block;margin-left:var(--spacing)}.main-footer .social ul li:first-child{margin-left:0}.main-footer .social ul svg{fill:var(--c-white);display:inline-block}.main-footer .social ul svg:hover{fill:var(--c-light-gray)}.main-footer .menu{list-style-type:none;margin:0;padding:0}.main-footer .menu li{display:inline-block;margin-right:2px}.main-footer .menu li:before{content:"|";display:inline-block;margin-right:5px}.main-footer .menu li:first-child:before{display:none}.hero-wrapper{background:radial-gradient(153.4% 328.78% at 88.61% -33.98%,rgba(163,107,163,.24) 0,rgba(163,107,163,0) 53.12%)}.hero{padding-bottom:170px}.hero .text{position:relative;z-index:3}.hero .visual{bottom:-3rem;left:0;max-height:300px;opacity:.7;overflow:hidden;position:absolute;right:0}.hero .visual svg{display:block;margin:0 auto;max-width:625px;min-width:511px;opacity:.7;position:relative;top:-50px}.hero .visual .small-screen svg{left:50%;transform:translateX(-50%)}.hero .visual .large-screen{display:none}@media (min-width:550px){.hero{padding-bottom:250px}.hero .visual{bottom:0}.hero .visual .small-screen svg{left:0;transform:none}}@media (min-width:48em){.hero{overflow-x:visible;overflow-x:initial;padding-bottom:var(--spacing-14x)}.hero>*{padding-bottom:50px;padding-top:50px}.hero>* .text{max-width:60%;width:60%}.hero>* .visual{max-height:none;max-width:40%;opacity:1;padding-left:var(--spacing-3x);position:static;transform:none;width:40%}.hero>* .visual .small-screen{display:none}.hero>* .visual .large-screen{display:block}.hero>* .visual svg{max-width:none;min-width:none;position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:2}}@media (min-width:64em){.hero>* .visual{padding-left:0}}@media (min-width:1800px){.hero>* .visual svg{margin-left:20px;max-width:1750px;right:auto}}.hero .logo,.hero p{margin-bottom:var(--spacing-6x)}.hero .logo{align-items:center;display:flex;font-family:var(--f-secondary);font-size:var(--f-size-lg);font-weight:700}@media (min-width:48em){.hero .logo{font-size:var(--f-size-xl)}}.hero .logo svg{margin-right:var(--spacing-2x);width:45px}@media (min-width:48em){.hero .logo svg{width:55px}}.visual svg [data-name="Layer 1"] path:nth-child(2){animation:draw-bg 3s ease alternate}.visual svg [data-name="Layer 1"] path:first-child{animation:draw-fg 6s ease alternate}.visual svg [data-name="Layer 4"] path,.visual svg [data-name="Layer 6"] path,.visual svg [data-name="Layer 8"] path{animation:draw-fg 3s ease alternate}@keyframes draw-bg{0%{opacity:0}to{opacity:.14}}@keyframes draw-fg{0%{opacity:0}to{opacity:1}}.features .performance{padding-bottom:var(--spacing-11x);padding-top:var(--spacing-11x);position:relative}.features .performance .visual{align-items:center;display:flex;justify-content:center}.features .performance .visual .wrapper{align-items:center;display:flex;margin-bottom:-3rem;margin-top:-3rem;max-height:266px;overflow:hidden;width:100%}.features .performance .visual .wrapper svg{display:block;margin:0 auto;max-width:340px;width:100%}@media (min-width:48em){.features .performance .visual{justify-content:flex-start;margin-bottom:0;margin-top:0}.features .performance .visual .wrapper svg{max-width:none}}@media (min-width:68em){.features .performance .visual{display:block}.features .performance .visual .wrapper{align-items:center;bottom:0;display:flex;max-height:none;overflow:visible;position:absolute;right:55%;top:0}.features .performance .visual .wrapper svg{max-height:700px;max-width:none;width:45vw}}.features img{display:block;margin:0 auto;max-width:25pc}@media (min-width:48em){.features img{max-width:none}}.features .multilingual{align-items:center}.features .multilingual img{max-width:300px}@media (min-width:48em){.features .multilingual img{max-width:300px}}@media (min-width:68em){.features .multilingual .text{padding-left:50px}}.features .features-four{padding-top:var(--spacing-12x)}.form.panel{overflow:hidden}.form.panel>svg{bottom:0;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;right:0;top:0;width:100%}.form.panel .input-wrap{margin-bottom:var(--spacing-5x)}.form.panel .text-field label{display:none}.form.panel h2,.form.panel p{text-align:center}.email-confirm{display:none}.submit,.submit-row{margin-bottom:0;text-align:center}.form.panel .input-wrap .checkbox-wrap{display:flex}.form.panel .input-wrap .checkbox-wrap span{line-height:1.75}.form.panel .input-wrap .checkbox-wrap input{flex:15px 0 0;height:15px;margin-right:var(--spacing-3x);width:15px}@media (min-width:48em){.form.panel .input-wrap .checkbox-wrap input{flex:17px 0 0;height:17px;margin-right:var(--spacing-3x);width:17px}}.form.panel .privacy_policy.input-wrap,.privacy_policy .checkbox-wrap{margin-bottom:var(--spacing-2x)}.form.panel .subscribe.input-wrap,.form.panel .use_case.input-wrap,.subscribe .checkbox-wrap{margin-bottom:var(--spacing-8x)}.form input[type=submit]{background-color:var(--c-white);border-bottom:0;border-radius:1px;color:var(--c-dark-blue);padding:var(--spacing-3x)}.form input[type=submit]:hover{background-color:var(--c-light-gray)}.form.panel .error-list{font-size:var(--f-size-sm);margin:var(--spacing-3x) 0 0 0;padding:0}.form.panel .error-list li{color:var(--c-light-red);list-style-type:none}.form.panel .privacy_policy .error-list{margin:var(--spacing-2x) 0 0 22px}@media (min-width:48em){.form.panel .privacy_policy .error-list{margin:var(--spacing-2x) 0 0 28px}}.form.panel .error{color:var(--c-light-red);font-size:var(--f-size-sm);margin-bottom:var(--spacing-3x)}.form .success{font-weight:700}


/* ===== FUELED ADDITIONS (src/modules/fueled.css) ===== */
/* --- Fueled-era additions on top of the mirrored legacy frontend.css. ---
   CONVENTION NOTE: unlike the sibling themes, the bulk of this theme's
   compiled headstartwp.css is the RESOLVED build output carried over from the
   legacy standalone theme (its postcss source needed a build we don't run).
   New rules live here as source AND get appended to the compiled file —
   edit both, then bump the enqueue version in functions.php. */

/* Self-hosted IBM Plex (Google Fonts latin/latin-ext subsets, Sans is the
   variable wght file). Same-origin cuts the two font-CDN connections out of
   the text-render critical path; the three latin files are preloaded in
   functions.php. Paths are relative to assets/css/. */
@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-var-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-var-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'IBM Plex Sans Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-condensed-600-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Sans Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-condensed-600-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'IBM Plex Sans Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-condensed-700-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Sans Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-condensed-700-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Footer: the legacy footer styled a wp_nav_menu ul; our static links list
   takes the same treatment. */
.main-footer .footer-links {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	margin: 6px 0 0;
	padding: 0;
}

.main-footer .footer-links a {
	color: inherit;
	opacity: 0.75;
}

.main-footer .footer-links a:hover {
	opacity: 1;
}

/* Fueled lockup replaces the inline 10up SVG mark (that rule targeted
   `.logo svg`); the img needs its own constraint. Vertical spacing lives on
   .col.logo (see the site-footer section). */
.main-footer .logo img {
	width: 120px;
	height: auto;
	display: block;
}

/* Signup form slot in the blue panel — width alignment with .narrow-align;
   detailed form styling lands with the form wiring. */
.form-slot {
	position: relative;
	z-index: 1;
}


/* --- Signup form (fueled-signup-form) — HeadstartWP skin. ---
   Maps the plugin markup onto the legacy form look: greyish-blue fills
   (#323F60) with white text on the dark-blue panel, white submit.
   Labels stay VISIBLE (white) — the plugin's placeholders are examples,
   so the field name needs to show (same reasoning as the Distributor skin). */

.form-slot .fueled-signup-form {
	width: 100%;
	margin: 2.2rem 0 0;
	text-align: left;
}

.form-slot .fueled-signup-form__row,
.form-slot .fueled-signup-form__row--split {
	display: block;
}

.form-slot .fueled-signup-form__field {
	display: block;
	margin-bottom: 18px;
}

.form-slot .fueled-signup-form__label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.form-slot .fueled-signup-form__req {
	color: #ff4c4c;
	font-weight: 400;
}

.form-slot .fueled-signup-form__optional {
	color: #ddd;
	font-weight: 400;
}

.form-slot .fueled-signup-form__field input,
.form-slot .fueled-signup-form__field select,
.form-slot .fueled-signup-form__field textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background-color: #323F60;
	color: #fff;
	border: 0;
	border-radius: 1px;
	padding: 14px 15px;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
}

.form-slot .fueled-signup-form__field input::placeholder,
.form-slot .fueled-signup-form__field textarea::placeholder {
	color: #ddd;
	opacity: 0.75;
}

.form-slot .fueled-signup-form__field textarea {
	resize: vertical;
	min-height: 110px;
}

.form-slot .fueled-signup-form__field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	padding-right: 38px;
}

.form-slot .fueled-signup-form__field input:focus,
.form-slot .fueled-signup-form__field select:focus,
.form-slot .fueled-signup-form__field textarea:focus {
	outline: 2px solid #4BA0C4;
	outline-offset: 1px;
}

/* Consents: centered as a GROUP (fit-content block), rows left-aligned
   within it — checkboxes keep a shared left anchor while the block sits
   balanced over the centered submit. */
.form-slot .fueled-signup-form__consents {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.form-slot .fueled-signup-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	color: #fff;
	font-size: 15px;
	line-height: 1.6;
}

.form-slot .fueled-signup-form__consent input {
	flex: 17px 0 0;
	width: 17px;
	height: 17px;
	margin-top: 5px;
	accent-color: #4BA0C4;
}

.form-slot .fueled-signup-form__consent a {
	color: #fff;
}

.form-slot .fueled-signup-form__submit-row {
	display: flex;
	justify-content: center;
	margin-top: 26px;
}

.form-slot .fueled-signup-form__helper {
	display: none;
}

.form-slot .fueled-signup-form__submit {
	background-color: #fff;
	color: #1C1F37;
	border: 0;
	border-radius: 1px;
	padding: 14px 26px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.form-slot .fueled-signup-form__submit:hover {
	background-color: #ddd;
}

.form-slot .fueled-signup-form__helper {
	color: #ddd;
	font-size: 14px;
}

.form-slot .fueled-signup-form__finecutter {
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
	line-height: 1.6;
}

.form-slot .fueled-signup-form__status {
	color: #ff4c4c;
	margin-top: 12px;
}

.form-slot .fueled-signup-form__honeypot {
	display: none;
}

/* The asterisk convention already marks required fields — "(Optional)" is
   redundant in this skin. */
.form-slot .fueled-signup-form__optional {
	display: none;
}

/* Success state — takes over the whole section (Distributor pattern,
   JS-free via :has()): the theme's own heading + intro hide, and the thanks
   title/message render at their scale in their slots. */
.form.panel:has(.fueled-signup-form__thanks) .narrow-align:not(.form-slot) h2,
.form.panel:has(.fueled-signup-form__thanks) .narrow-align:not(.form-slot) p {
	display: none;
}

.form-slot .fueled-signup-form__thanks {
	color: #fff;
	text-align: center;
	margin: 0 auto;
}

.form-slot .fueled-signup-form__thanks-title {
	font-family: "IBM Plex Sans Condensed", sans-serif;
	font-weight: 600;
	font-size: var(--f-size-xl);
	margin: 0 0 var(--spacing-6x);
}

.form-slot .fueled-signup-form__thanks-message {
	max-width: 620px;
	margin: 0 auto;
	line-height: 1.6;
}

.form-slot .fueled-signup-form__thanks-message strong {
	color: #fff;
}

/* --- News single / generic page --- */
.news-single {
	padding: 80px 0 60px;
}

.news-single .wp-block-post-date {
	color: #5b5e70;
	font-size: 0.85em;
	margin-bottom: 6px;
}

.news-single h1 {
	margin-top: 0;
}

/* Bare-URL links in generated release posts / privacy copy must be allowed
   to break, or they overflow narrow phones (≤375px). */
.news-single .wp-block-post-content {
	overflow-wrap: break-word;
}

.news-single .wp-block-post-content pre,
.news-single .wp-block-post-content code {
	background-color: #f2f2f5;
	border-radius: 4px;
	font-size: 0.9em;
}

.news-single .wp-block-post-content pre {
	padding: 14px 16px;
	overflow-x: auto;
}

.news-single .wp-block-post-content code {
	padding: 1px 6px;
}

.news-single .wp-block-post-content pre code {
	padding: 0;
	background: none;
}

/* The legacy site had no content lists: li inherits line-height 1.15 from
   normalize and items sit flush. Match the paragraph rhythm. No vertical
   margins here — WP's block-gap layout styles space direct children (24px),
   and out-specificizing them detaches lists from their headings. */
.news-single .wp-block-post-content ul,
.news-single .wp-block-post-content ol {
	line-height: 1.6;
	padding-left: 1.4em;
}

.news-single .wp-block-post-content li + li {
	margin-top: 0.45em;
}

.news-single .wp-block-post-content li > ul,
.news-single .wp-block-post-content li > ol {
	margin: 0.45em 0 0;
}

/* --- Fun 404 --- */
.error-404 {
	position: relative;
	/* No bottom padding: the signup section below brings its own top padding,
	   which alone mirrors the header-to-404 gap above. */
	padding: 90px 0 0;
	text-align: center;
}

.error-404__code {
	font-family: "IBM Plex Sans Condensed", sans-serif;
	font-weight: 700;
	font-size: clamp(90px, 16vw, 170px);
	line-height: 1;
	color: rgba(255, 255, 255, 0.14);
	letter-spacing: 0.04em;
}

.error-404 h1 {
	margin: -0.55em 0 0.4em;
}

.error-404 p {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

/* Mobile footer: the stacked columns inherit mixed alignments — center the
   whole footer once it stacks. */
@media (max-width: 767px) {
	.main-footer .wide-align {
		text-align: center;
	}

	.main-footer .footer-links {
		justify-content: center;
	}

	.main-footer .col.logo img {
		margin: 0 auto;
	}
}

/* Kill core's default block-gap between top-level template blocks — the blue
   panels and footer should touch, as on the legacy site. */
.wp-site-blocks > * {
	margin-block-start: 0;
}

.main-footer .col.logo {
	margin: 14px 0 10px;
}

/* Once the footer stacks, the lockup needs real breathing room between the
   links row and the social icons (the legacy svg carried ~30px itself). */
@media (max-width: 767px) {
	.main-footer .col.logo {
		margin: 30px 0 26px;
	}
}

/* --- Site header --- */
.site-header {
	background: #fff;
	border-bottom: 1px solid #e5e5ea;
	position: relative;
	z-index: 5;
}

.site-header .wide-align {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-top: 13px;
	padding-bottom: 13px;
}

.site-header a {
	border-bottom: 0;
	text-decoration: none;
}

.site-header__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 19px;
	color: #1C1F37;
}

.site-header__brand:hover,
.site-header__brand:focus {
	color: #1C1F37;
}

.site-header__brand svg {
	width: 27px;
	height: auto;
	display: block;
}

.site-header__nav {
	display: flex;
	align-items: center;
	gap: 26px;
}

.site-header__nav a {
	color: #1C1F37;
	font-weight: 600;
	font-size: 15px;
}

.site-header__nav a:hover {
	color: #33647E;
}

/* Menu items are a wp:navigation block (the menu itself lives in Appearance →
   Editor → Navigation — editable without deploys; the ref-less block resolves
   to the site's single navigation menu). The .site-header__nav a rules above
   style its links; this aligns the block's list with the old inline layout. */
.site-header__nav .wp-block-navigation__container {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__cta {
	background: #1C1F37;
	color: #fff !important;
	padding: 9px 18px;
	border-radius: 2px;
}

.site-header__cta:hover {
	background: #323F60;
	color: #fff;
}

@media (max-width: 560px) {
	.site-header__brand span {
		display: none;
	}

	.site-header__nav,
	.site-header__nav .wp-block-navigation__container {
		gap: 16px;
	}

	.site-header__nav a {
		font-size: 14px;
	}

	.site-header__cta {
		padding: 8px 13px;
	}
}


/* --- News single refinements --- */
.news-back {
	margin-bottom: 26px;
}

.news-back a {
	font-size: 0.9em;
	color: #5b5e70;
	border-bottom: 0;
}

.news-back a:hover {
	color: #33647E;
}

.news-single .wp-block-post-date {
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-size: 0.78em;
}

/* Home page: the hero carries the big lockup, so the header slims to just
   the nav floating top-right over the hero (Distributor pattern). Absolute
   positioning keeps the hero exactly where the mirrored design puts it. */
.home .site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: transparent;
	border-bottom: 0;
}

/* Logged-in views: the absolute home nav positions against the viewport, so
   the admin bar overlaps it. Anonymous visitors never see this. */
body.admin-bar.home .site-header {
	top: 32px;
}

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

.home .site-header__brand {
	display: none;
}

.home .site-header .wide-align {
	justify-content: flex-end;
	padding-top: 20px;
}

/* Stacked widths: right-aligned nav floats loose against the left-aligned
   hero, and the lockup rides up under it (the legacy hero has no mobile top
   padding — nothing ever sat above it). Left-align the nav onto the hero's
   own edge and push the hero clear of the overlay. Home only. */
@media (max-width: 767px) {
	.home .site-header .wide-align {
		justify-content: flex-start;
	}

	/* No admin-bar variant: WP's html margin already displaces in-flow
	   content — only the absolute nav needs the manual offset above. */
	.home .hero .horizontal-stack {
		padding-top: 40px;
	}
}


/* Desktop: labels sit left of their fields (right-aligned against the input
   column) to use the full 810px row; consents indent to the input column.
   Mobile keeps labels stacked above. */
@media (min-width: 768px) {
	.form-slot .fueled-signup-form__field {
		display: flex;
		align-items: center;
	}

	.form-slot .fueled-signup-form__field:has(textarea) {
		align-items: flex-start;
	}

	.form-slot .fueled-signup-form__field:has(textarea) .fueled-signup-form__label {
		padding-top: 14px;
	}

	.form-slot .fueled-signup-form__label {
		flex: 0 0 128px;
		margin: 0;
		padding-right: 16px;
		text-align: right;
	}

	.form-slot .fueled-signup-form__field input,
	.form-slot .fueled-signup-form__field select,
	.form-slot .fueled-signup-form__field textarea {
		flex: 1;
		width: auto;
	}

	/* Field rows wrap so inline validation errors drop below the input,
	   aligned to the input column. */
	.form-slot .fueled-signup-form__field {
		flex-wrap: wrap;
	}

	.form-slot .fueled-signup-form__field-error {
		flex-basis: 100%;
		padding-left: 128px;
	}
}


/* Smooth-scroll anchor jumps (the Get Started CTAs target #download-form),
   honoring reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Bolt icon inside the header CTA. */
.site-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.site-header__cta-bolt {
	display: block;
}

/* Home: soft fade behind the floating nav so it stays legible where the
   hero's hex pattern reaches the top of the viewport. */
.home .site-header {
	background: linear-gradient(180deg, rgba(250, 248, 251, 0.94) 0%, rgba(250, 248, 251, 0.72) 55%, rgba(250, 248, 251, 0) 100%);
	padding-bottom: 30px;
}


/* --- News & Releases: 2-up card grid (Distributor pattern, HeadstartWP
   palette). Soft band, white cards, whole-card click via stretched title
   link (keyboard focus rings the card). --- */
.news-index {
	background: #f5f6fa;
	padding: 56px 0 72px;
}

.news-index__head h1 {
	margin: 0 0 6px;
}

.news-index__intro {
	margin: 0 0 34px;
	color: #5b5e70;
	font-size: 0.95em;
}

.news-index__grid .wp-block-post-template,
.recent-news__grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 2.2rem;
	row-gap: 2.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-index__grid .wp-block-post,
.recent-news__grid .wp-block-post {
	margin: 0;
}

@media (max-width: 700px) {
	.news-index__grid .wp-block-post-template,
.recent-news__grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

.news-card {
	position: relative;
	background-color: #fff;
	border: 1px solid #e0e2ea;
	border-radius: 4px;
	padding: 1.5rem 1.5rem 1.6rem;
	height: 100%;
	box-sizing: border-box;
	margin: 0;
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.news-card:hover {
	border-color: #4BA0C4;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(28, 31, 55, 0.07);
}

.news-card__date {
	margin: 0 0 0.6rem;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5b5e70;
}

.news-card__title {
	margin: 0 0 0.8rem;
	font-size: 1.25rem;
	line-height: 1.3;
}

.news-card__title a {
	color: #1C1F37;
	text-decoration: none;
	border-bottom: 0;
}

.news-card__title a:hover {
	text-decoration: underline;
}

/* Whole card clickable; the title stays the real focusable link. */
.news-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.news-card__title a:focus-visible {
	outline: none;
}

.news-card__title a:focus-visible::after {
	outline: 3px solid #1C1F37;
	outline-offset: 3px;
	border-radius: 4px;
}

.news-card__excerpt {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	line-height: 1.6;
	color: #3c3f52;
}

.news-card__excerpt p {
	margin: 0;
}

.news-card__more {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: #33647E;
}

.news-index__pagination {
	margin: 2.4rem 0 0;
	gap: 1.2rem;
}

.news-index__pagination a {
	border-bottom: 0;
	font-weight: 600;
}

.wp-block-query-pagination-numbers {
	display: flex;
	gap: 0.7rem;
}

.news-empty {
	text-align: center;
	color: #5b5e70;
}

/* --- Sticky footer: short pages (news with few posts, privacy, 404) must
   still push the footer to the viewport bottom. The FSE root becomes a flex
   column; main content (and the 404 panel) grows to fill. svh handles mobile
   URL-bar chrome; the admin-bar var keeps logged-in views from overflowing. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
}

.wp-site-blocks > main,
.wp-site-blocks > .error-404 {
	flex: 1 0 auto;
}


/* --- Homepage "Recent news" band (shares the index's card language). --- */
.recent-news {
	background: #f5f6fa;
	padding: 60px 0 72px;
}

.recent-news__head h2 {
	margin: 0 0 30px;
}

.recent-news__all {
	margin: 38px 0 0;
	text-align: center;
}


/* Button variant: GitHub mark replaces the standard ">" arrow. */
.button--github {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.button--github::after {
	content: none;
}

.button--github svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
	display: block;
}

/* Decorative hero/feature SVGs: their element boxes overhang the adjacent
   text columns (legacy layout), and an SVG captures pointer events across
   its whole rect — which silently killed links under the overhang. They're
   pure decoration; let clicks pass through. */
.hero .visual svg,
.features .visual svg {
	pointer-events: none;
}


/* --- Single post: light head band (Distributor pattern) --- */
.single-post__head {
	background: #f5f6fa;
	padding: 42px 0 46px;
}

.single-post__crumb {
	margin: 0 0 22px;
	font-size: 0.9em;
}

.single-post__crumb a {
	color: #5b5e70;
	border-bottom: 0;
}

.single-post__crumb a:hover {
	color: #33647E;
}

.single-post__date {
	margin: 0 0 4px;
	font-size: 0.78em;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #5b5e70;
}

.single-post__title {
	margin: 0 0 22px;
}

.single-post__cta {
	margin: 0;
}

.single-post__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #1C1F37;
	color: #fff !important;
	border-bottom: 0;
	text-decoration: none;
	padding: 11px 20px;
	border-radius: 2px;
	font-weight: 600;
	font-size: 15px;
}

.single-post__btn:hover {
	background: #323F60;
	color: #fff;
}

.single-post__body {
	padding: 54px 0 64px;
}
