/*
Theme Name: SPICE Draft
Description: Draft theme for the SPICE™ website demo, built from Neel Sharma's prototype design (assets/css/neel.css) with WordPress templates for pages, products, solutions and industries. Temporary until the block theme (build plan Session 3).
Version: 0.33.0
Author: Treefrog
Requires PHP: 8.0
Text Domain: spice-draft
*/

/* Additions on top of Neel's stylesheet (assets/css/neel.css). */
/* Spice brand font (brand guide, 2026): Google Sans Flex, self-hosted Latin subset (assets/fonts, OFL 1.1). */
@font-face{font-family:'Google Sans Flex';src:url(assets/fonts/google-sans-flex-latin.woff2) format('woff2');font-weight:1 1000;font-style:oblique 0deg 10deg;font-display:swap}
body,button,input,select,textarea{font-family:inherit}
:root{font-family:'Google Sans Flex','Aptos','Inter','Segoe UI',Arial,sans-serif}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.site-header .brand img{background:#000}
.nav-panel .nav-all{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-weight:700;color:#a84b00}

/* Page hero */
.page-hero h1{font-size:clamp(2.4rem,4vw,3.9rem);max-width:980px}
.page-hero .actions{margin-top:30px}
.crumbs{font-size:.875rem;color:#aeb8cf;margin-bottom:18px}
.crumbs a{color:#ffc282}

/* Sectioned content */
.section-split{display:grid;grid-template-columns:minmax(240px,.8fr) 1.6fr;gap:64px;align-items:start}
.section-split>header h2{font-size:clamp(1.7rem,2.4vw,2.35rem);position:sticky;top:120px}
.entry{font-size:1.075rem;color:#28324a}
.entry>*:last-child{margin-bottom:0}
.entry a:not(.button){color:#a84b00;border-bottom:1px solid #e3b68c}
.entry a:not(.button):hover{color:#7a3700}
.entry strong{color:var(--ink)}
.entry ul.feature-list{margin-top:6px}
.entry ul.feature-list li{padding-left:26px}
.entry ol.numbered-flow{margin:10px 0 24px}
.section-full .entry{max-width:none}
.intro-section .entry{max-width:860px}
.intro-section .entry p:first-child{font-size:1.25rem;color:var(--muted)}
.note{color:#593b20}
.grid-3.card-run{margin:8px 0 26px}
.card-run .card p{color:var(--muted);margin:0}
.card-run .card p strong{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:8px}
.link-cards .card h3{font-size:1.25rem;margin-top:4px}
.link-cards .card h3 a{border:0;color:var(--ink)}
.link-cards .card:hover h3 a{color:#a84b00}

/* Cards with images (archives, child pages) */
.card.has-media{padding:0;overflow:hidden}
.card.has-media .card-media img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}
.card.has-media .card-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:5px;flex:1}
.card .card-body h3{margin-top:0}
.card-tag{font-size:.8125rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#a55404}

/* Contact form preview */
.form-preview button[disabled]{opacity:.65;cursor:progress}
.form-preview .form-note{font-size:.875rem;color:var(--muted);margin:14px 0 0}

/* Footer */
.site-footer .footer-brand img{background:#000}

@media(max-width:980px){.section-split{grid-template-columns:1fr;gap:20px}.section-split>header h2{position:static}}

/* ==========================================================================
   0.2 polish: refined type, depth and motion on top of Neel's design.
   ========================================================================== */
:root{--glow:rgba(255,152,46,.16);--shadow-sm:0 1px 2px rgba(17,24,47,.05),0 4px 14px -6px rgba(17,24,47,.10);--shadow-lg:0 2px 4px rgba(17,24,47,.05),0 22px 44px -18px rgba(17,24,47,.28);--ease:cubic-bezier(.2,.7,.2,1);--radius:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{background:#fff}
h1,h2,h3{text-wrap:balance}
h1{letter-spacing:-.035em;line-height:1.06}
h2{letter-spacing:-.03em;line-height:1.1}
h3{letter-spacing:-.015em}
p,li{text-wrap:pretty}
::selection{background:#ffd8ad;color:var(--deep)}

/* Header */
.site-header{border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .3s var(--ease)}
.site-header.is-scrolled{box-shadow:0 10px 30px -12px rgba(0,0,0,.7)}
.primary-nav>a,.primary-nav summary{position:relative;color:#e9edf6}
.primary-nav>a:hover,.primary-nav summary:hover{color:#fff}
.primary-nav>a::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:2px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.primary-nav>a:hover::after,.primary-nav>a[aria-current=page]::after{transform:scaleX(1)}
.header-cta{border-color:rgba(255,152,46,.55);color:#fff;transition:background .2s,border-color .2s,color .2s}
.header-cta:hover{background:var(--orange);border-color:var(--orange);color:var(--deep)}
.nav-panel{border-radius:0 0 14px 14px;border-bottom:0;border-top:3px solid var(--orange);box-shadow:0 24px 48px -16px rgba(0,0,0,.45);padding:20px 22px}
.nav-panel a{border-radius:8px;padding:8px 12px;margin:0 -12px}
.nav-panel a:hover{background:#fff4e8;text-decoration:none}
.primary-nav details[open] .nav-panel{animation:spice-drop .22s var(--ease)}
@keyframes spice-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Buttons and links */
.button{border-radius:8px;gap:10px;letter-spacing:.005em;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 18px -8px rgba(255,152,46,.55);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,border-color .2s}
a.button:hover{filter:none;background:#ffa645;transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 12px 26px -10px rgba(255,152,46,.75)}
a.button:not(.secondary)::after{content:'→';transition:transform .2s var(--ease)}
a.button:hover::after{transform:translateX(3px)}
.button.secondary{box-shadow:none;border-color:rgba(255,255,255,.3)}
a.button.secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);box-shadow:none}
.form-preview .button{box-shadow:none}
.text-link{border-bottom:0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat,linear-gradient(#e9c39d,#e9c39d) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease)}
.text-link::after{content:' →';display:inline-block;transition:transform .2s var(--ease)}
.text-link:hover{background-size:100% 1px,100% 1px}
.text-link:hover::after{transform:translateX(3px)}

/* Heroes: layered navy gradients, a soft orange glow and a faint grid */
.hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(900px 520px at 85% 35%,rgba(255,152,46,.13),transparent 62%),radial-gradient(800px 600px at 0% 0%,#1d2a55 0,transparent 60%),linear-gradient(180deg,#121a35 0%,#0c1228 100%)}
.hero::before,.page-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 10%,transparent 75%)}
.hero-glow{position:absolute;z-index:-1;width:520px;height:520px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(255,152,46,.22),transparent 65%);filter:blur(10px);pointer-events:none}
.hero .eyebrow,.page-hero .eyebrow{display:inline-flex;align-items:center;gap:10px}
.hero .eyebrow::before,.page-hero .eyebrow::before{content:'';flex:0 0 22px;height:2px;border-radius:2px;background:var(--orange)}
.hero h1 em{background:linear-gradient(90deg,#ffb45e,#ff8a1f);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-art img{filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
@media(prefers-reduced-motion:no-preference){.hero-copy>*,.page-hero .inner>*{animation:spice-rise .6s var(--ease) both}.hero-copy>*:nth-child(2),.page-hero .inner>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3),.page-hero .inner>*:nth-child(3){animation-delay:.16s}.page-hero .inner>*:nth-child(4){animation-delay:.24s}.hero-art{animation:spice-fade .7s .05s var(--ease) both}}
@keyframes spice-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes spice-fade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
.page-hero{border-bottom:0;padding:84px 0 80px}
.page-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--orange),#ffc282 45%,rgba(255,152,46,.15))}
.page-hero .lead{font-size:1.3rem;max-width:760px}
.crumbs a{border-bottom:1px solid rgba(255,194,130,.35)}
.crumbs a:hover{border-color:#ffc282}

/* Promise band */
.promise-band{background:linear-gradient(180deg,#080c1c,#0a0f22);border-top:1px solid rgba(255,255,255,.08)}
.promise-band .inner{padding-top:30px;padding-bottom:30px}
.promise-band .inner>div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start}
.promise-band .icon-chip{grid-row:span 2;margin:2px 0 0}
.promise-band span:not(.icon-chip){margin-top:3px}

/* Icon chips */
.icon-chip{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;color:#a84b00;background:linear-gradient(140deg,#fff6ec,#ffe3c4);box-shadow:inset 0 0 0 1px rgba(255,152,46,.25);flex-shrink:0}
.icon-chip svg{width:24px;height:24px}
.dark .icon-chip,.promise-band .icon-chip{color:#ffb36b;background:linear-gradient(140deg,rgba(255,152,46,.18),rgba(255,152,46,.05));box-shadow:inset 0 0 0 1px rgba(255,152,46,.28)}
.promise-band .icon-chip{display:grid;width:42px;height:42px;border-radius:10px;margin-top:2px}
.promise-band .icon-chip svg{width:21px;height:21px}

/* Section rhythm */
.section{padding:104px 0}
.pale{background:linear-gradient(180deg,#f3f5f9,#f7f8fb)}
.section-head h2::before,.section-split>header h2::before{content:'';display:block;width:44px;height:3px;margin-bottom:20px;border-radius:3px;background:linear-gradient(90deg,var(--orange),#ffc282)}
.section-head .eyebrow+h2::before{display:none}
.section-split{gap:80px}
.entry{line-height:1.7}
.intro-section{padding-bottom:48px}
.intro-section .entry p:first-child{font-size:1.35rem;line-height:1.6;color:#3a4560}
.visual-section{padding:56px 0 24px;background:linear-gradient(180deg,#f3f5f9 0,#fff 70%)}
.page-hero+.visual-section{padding-top:56px}
.approved-figure img{border-radius:18px;border:1px solid #e6e9f0;box-shadow:var(--shadow-lg)}
.approved-figure figcaption{text-align:center;padding-top:18px}

/* Cards */
.card{border-radius:var(--radius);border-color:#e3e7ef;box-shadow:var(--shadow-sm);position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.card::before{content:'';position:absolute;left:24px;right:24px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--orange),#ffc282);opacity:0;transition:opacity .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#f2c08e}
.card:hover::before{opacity:1}
.card .icon-chip{margin-bottom:10px}
.card h3{font-size:1.3rem;line-height:1.3}
.card .text-link::before{content:'';position:absolute;inset:0;border-radius:inherit}
.card.has-media .card-media{overflow:hidden;display:block}
.card.has-media .card-media img{transition:transform .6s var(--ease)}
.card.has-media:hover .card-media img{transform:scale(1.04)}
.card.has-media::before{z-index:1}
.link-cards .card h3 a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.link-cards .card h3 a::before{content:'→';position:absolute;right:26px;top:30px;color:#c5ccd9;font-weight:600;transition:transform .25s var(--ease),color .25s}
.link-cards .card:hover h3 a::before{color:var(--orange);transform:translateX(4px)}
.link-cards .card{padding-top:28px}
.card-num{font-size:.8125rem;font-weight:800;letter-spacing:.12em;color:#a55404}
.card-run .card h3{margin:14px 0 10px}
.card-run .card p{line-height:1.65}
.post-grid .card:not(.has-media) .icon-chip{margin-bottom:6px}
.grid-3{gap:24px}
/* A lone last card in a three-up grid spans the row instead of sitting alone. */
@media(min-width:981px){.grid-3>.card:not(.has-media):last-child:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:start}.grid-3>.card:not(.has-media):last-child:nth-child(3n+1)>*:not(.icon-chip){grid-column:2}.grid-3>.card:not(.has-media):last-child:nth-child(3n+1)>.icon-chip{grid-row:1/span 3;margin:0}}
@media(min-width:681px) and (max-width:980px){.grid-3>.card:not(.has-media):last-child:nth-child(2n+1){grid-column:1/-1}}

/* Dark feature band */
.dark.feature-band{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(700px 420px at 100% 0%,rgba(255,152,46,.12),transparent 60%),radial-gradient(700px 500px at 0% 100%,#1d2a55,transparent 60%),linear-gradient(180deg,#141631,#0b1126)}
.dark.feature-band .section-head{display:grid}
.dark .section-head h2{color:#fff}
.dark .entry{color:#cad1e2}
.dark .entry a:not(.button){color:#ffb36b;border-color:rgba(255,179,107,.45)}
.dark .entry a:not(.button):hover{color:#ffd0a1}
.dark .card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-color:rgba(255,255,255,.1);box-shadow:none;backdrop-filter:blur(2px)}
.dark .card:hover{border-color:rgba(255,152,46,.45);box-shadow:0 24px 48px -24px rgba(0,0,0,.6)}
.dark .card-run .card h3{color:#fff}
.dark .card-run .card p{color:#c3cbdc}
.dark .card-num{color:#ffb36b}
.dark.feature-band .card-num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,152,46,.45);background:rgba(255,152,46,.08);letter-spacing:.04em}

/* Term lists and step timelines (from term-led content lists) */
.term-list{list-style:none;padding:0;margin:8px 0 28px;display:grid;gap:12px}
.term-list.two-up{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.term-list li{position:relative;padding:18px 20px 18px 54px;background:#fff;border:1px solid #e3e7ef;border-radius:12px;font-size:1rem;line-height:1.6;color:var(--muted);transition:border-color .25s,box-shadow .25s}
.section:not(.pale) .term-list li{background:#f8f9fc}
.term-list li:hover{border-color:#f2c08e;box-shadow:var(--shadow-sm)}
.term-list li::before{content:'';position:absolute;left:18px;top:20px;width:22px;height:22px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.term-list li b{display:block;color:var(--ink);font-size:1.075rem;margin-bottom:3px}
.term-list li.inline strong{color:var(--ink)}
.step-flow{list-style:none;padding:0;margin:10px 0 28px;counter-reset:step}
.step-flow li{counter-increment:step;position:relative;padding:0 0 26px 68px;color:var(--muted);line-height:1.6}
.step-flow li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-4px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#ffb36b;font-size:.8125rem;font-weight:800;letter-spacing:.04em;box-shadow:0 0 0 5px #fff,0 0 0 6px #e3e7ef}
.pale .step-flow li::before{box-shadow:0 0 0 5px #f4f6f9,0 0 0 6px #e3e7ef}
.step-flow li::after{content:'';position:absolute;left:21px;top:46px;bottom:2px;width:2px;background:linear-gradient(#ffc282,#e3e7ef)}
.step-flow li:last-child{padding-bottom:0}
.step-flow li:last-child::after{display:none}
.step-flow li b{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:4px}
.step-flow li:hover::before{background:var(--orange);color:var(--deep)}
.feature-list li:before{border-radius:50%;width:8px;height:8px}
.numbered-flow li{border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}

/* Notes */
.note{border-radius:12px;border-left-width:3px;background:linear-gradient(90deg,#fff1df,#fff7ee)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:minmax(240px,.75fr) 1.6fr;gap:64px;align-items:start}
.faq-layout .section-head{display:block;margin:0;position:sticky;top:130px}
.faq{margin-top:0;max-width:none;display:grid;gap:12px}
.faq details,.faq details:last-child{border:1px solid #e3e7ef;border-radius:14px;background:#fff;padding:0;transition:border-color .25s,box-shadow .25s}
.faq details:hover{border-color:#f2c08e}
.faq details[open]{border-color:#f2c08e;box-shadow:var(--shadow-sm)}
.faq summary{position:relative;padding:20px 64px 20px 24px;font-size:1.075rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';position:absolute;right:20px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#f3f5f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a84b00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s var(--ease),background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:#ffe6cb}
.faq details p{margin:0;padding:0 64px 22px 24px;line-height:1.7}
@media(prefers-reduced-motion:no-preference){.faq details[open] p{animation:spice-rise .35s var(--ease)}}

/* CTA panel */
.cta-section{padding-top:72px}
.cta-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;padding:64px;background:radial-gradient(600px 360px at 100% 100%,rgba(255,152,46,.26),transparent 62%),radial-gradient(500px 400px at 0% 0%,#22305e,transparent 60%),linear-gradient(135deg,#131b38,#0b1126);box-shadow:0 30px 60px -30px rgba(17,24,47,.6)}
.cta-panel::after{content:'';position:absolute;z-index:-1;right:-140px;top:-140px;width:460px;height:460px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1px 34px);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%)}
.cta-panel h2{font-size:clamp(2rem,3vw,2.7rem);max-width:720px}
.cta-panel .button{min-height:56px;padding:14px 28px;font-size:1.05rem}

/* Forms */
form{border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
input,select,textarea{border-radius:8px;border-color:#c3cbd8;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,152,46,.18)}

/* Footer */
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:76px 48px 28px;background:#000;column-gap:48px}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),#ffc282 40%,rgba(255,152,46,0))}
.footer-glow{position:absolute;z-index:-1;right:-220px;top:-300px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(29,42,85,.75),transparent 65%);pointer-events:none}
.footer-intro p{font-size:1rem!important;line-height:1.6}
.site-footer .footer-cta{display:inline-flex!important;white-space:nowrap;margin-top:8px;padding:10px 18px;min-height:44px;font-size:.925rem!important;color:var(--deep)!important}
.site-footer h2{font-size:.8125rem;text-transform:uppercase;letter-spacing:.12em;color:#ffb873;margin-bottom:14px}
.site-footer a:not(.brand):not(.button){transition:color .2s,transform .2s var(--ease)}
.site-footer a:not(.brand):not(.button):hover{color:#fff;transform:translateX(2px)}
.footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #23262f;padding-top:22px;margin-top:22px}
.footer-legal p{margin:0!important;max-width:none!important;font-size:.875rem!important;color:#8d97ab!important}
.site-footer .to-top{display:inline-flex!important;gap:6px;font-size:.875rem!important;color:#c5ccdc}



@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.card:hover{transform:none}}

@media(max-width:980px){.section{padding:76px 0}.section-split{gap:24px}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-layout .section-head{position:static}.cta-panel{padding:44px}.site-footer{padding:60px 28px 24px}}
@media(max-width:680px){.section{padding:58px 0}.page-hero{padding:56px 0 52px}.page-hero .lead{font-size:1.125rem}.hero-glow{width:360px;height:360px;right:-160px;top:-120px}.hero::before,.page-hero::before{background-size:40px 40px}.intro-section .entry p:first-child{font-size:1.175rem}.visual-section{padding:32px 0 8px}.approved-figure img{border-radius:12px}.card:hover{transform:none}.link-cards .card h3 a::before{top:26px;right:22px}.term-list.two-up{grid-template-columns:1fr}.step-flow li{padding-left:60px}.faq summary{padding:18px 56px 18px 18px;font-size:1rem}.faq summary::after{right:14px}.faq details p{padding:0 18px 20px}.cta-panel{padding:34px 24px;margin:0;border-radius:18px}.cta-section .inner{padding:0 16px}.site-footer{padding:52px 22px 22px}.footer-legal{flex-direction:column;align-items:flex-start}.promise-band .inner{gap:22px}}

/* ==========================================================================
   0.3 SPICE™ heat: the orange-to-pink gradient from Neel's illustrations,
   softer headings, context-bar icons and more motion.
   ========================================================================== */
:root{--spice:linear-gradient(100deg,#ff7b00 0%,#d9584a 52%,#d21459 100%);--spice-deep:linear-gradient(100deg,#e8590c 0%,#e0245e 55%,#c2187a 100%);--heading:#141631}
main{overflow-x:clip}

/* Softer headings: deep navy-blue instead of near-black, SPICE™ in the gradient */
.section:not(.dark) h2,.section:not(.dark) h3,.card h3,.step-flow li b,.term-list li b,.term-list li.inline strong,.faq summary,.link-cards .card h3 a{color:var(--heading)}
.dark .card h3,.section .cta-panel h2{color:#fff}
.brand-word{background:var(--spice-deep);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.dark .brand-word,.page-hero .brand-word,.hero .brand-word,.cta-panel .brand-word{background-image:var(--spice)}
.hero h1 em{background:var(--spice);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Gradient accents */
.section-head h2::before,.section-split>header h2::before{background:var(--spice);width:52px}
.page-hero::after{background:linear-gradient(90deg,#ff7b00,#d9584a 40%,#d21459 75%,rgba(210,20,89,.15))}
.site-footer::before{background:linear-gradient(90deg,#ff7b00,#d9584a 35%,#d21459 65%,rgba(210,20,89,0))}
.site-header{border-bottom:0}
.site-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--spice);opacity:.85}
.card::before{background:var(--spice)}
.step-flow li::after{background:linear-gradient(#ff7b00,#d21459 60%,#e3e7ef)}
.step-flow li:hover::before{background:var(--spice);color:var(--deep)}
.term-list li::before{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E"),var(--spice);background-size:13px,cover;background-position:center;background-repeat:no-repeat}
.dark.feature-band .card-num{border-color:transparent;background:linear-gradient(#151d3a,#151d3a) padding-box,var(--spice) border-box;border:1.5px solid transparent;color:#ffb36b}
.hero-glow{background:radial-gradient(circle,rgba(217,88,74,.2),rgba(210,20,89,.08) 45%,transparent 68%)}
.cta-panel{background:radial-gradient(600px 360px at 100% 100%,rgba(210,20,89,.24),transparent 60%),radial-gradient(520px 340px at 85% 10%,rgba(255,123,0,.2),transparent 60%),radial-gradient(500px 400px at 0% 0%,#22305e,transparent 60%),linear-gradient(135deg,#131b38,#0b1126)}
.icon-chip{background:linear-gradient(140deg,#fff4ea,#ffe1e6);box-shadow:inset 0 0 0 1px rgba(217,88,74,.22);color:#c23a2c}
.card:hover .icon-chip{background:var(--spice);color:var(--deep);box-shadow:none}
.icon-chip{transition:background .3s,color .3s}

/* Primary buttons and Book a consultation in the SPICE™ gradient (dark text: AA on every stop) */
.button:not(.secondary),.header-cta{background:var(--spice);background-size:125% 100%;background-position:0 0;border:0;color:var(--deep);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 22px -10px rgba(245,60,120,.7);transition:background-position .45s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
a.button:not(.secondary):hover,.header-cta:hover{background:var(--spice);background-size:125% 100%;background-position:100% 0;color:var(--deep);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 14px 30px -10px rgba(245,60,120,.85)}
.header-cta{font-weight:700;padding:11px 18px}
.form-preview .button{background:var(--spice)}
.site-footer .footer-cta{background:var(--spice);padding:10px 18px!important;color:var(--deep)!important}

/* Context bar: small icons on each item */
.context-bar{align-items:center}
.ctx-item{display:inline-flex;align-items:center;gap:8px}
.ctx-item svg{width:16px;height:16px;flex-shrink:0;color:#c23a2c}
.ctx-spicy svg{color:#c2187a}
.ctx-spicy{padding:3px 12px 3px 9px;border-radius:999px;background:linear-gradient(#fff,#fff) padding-box,var(--spice-deep) border-box;border:1px solid transparent;color:#8a1d55!important;transition:box-shadow .2s}
.ctx-spicy:hover{box-shadow:0 4px 14px -6px rgba(194,24,122,.5)}
#route-label{font-weight:600;color:var(--heading)}

/* Motion: directional slide-ins and the consultation nudge (site.js; never with reduced motion) */
@keyframes spice-in-l{from{opacity:0;transform:translateX(-56px)}to{opacity:1;transform:none}}
@keyframes spice-in-r{from{opacity:0;transform:translateX(56px)}to{opacity:1;transform:none}}
@keyframes spice-in-z{from{opacity:0;transform:scale(.94) translateY(20px)}to{opacity:1;transform:none}}
.reveal{animation:spice-rise .75s var(--ease) var(--d,0ms) backwards}
.reveal-l{animation-name:spice-in-l}
.reveal-r{animation-name:spice-in-r}
.reveal-z{animation-name:spice-in-z;animation-duration:.9s}
@keyframes spice-nudge{0%,86%,100%{rotate:0deg;scale:1}88%{rotate:-4deg;scale:1.05}90%{rotate:4deg;scale:1.05}92%{rotate:-3deg;scale:1.05}94%{rotate:2deg;scale:1.03}96%{rotate:0deg;scale:1}}
.nudge{animation:spice-nudge 7s ease-in-out 2.5s infinite}
.nudge:not(.header-cta){animation-delay:6s}
.nudge:hover,.nudge:focus-visible{animation-play-state:paused}
@media(max-width:680px){@keyframes spice-in-l{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}@keyframes spice-in-r{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}.ctx-item svg{width:14px;height:14px}.ctx-spicy{padding:2px 10px 2px 8px;white-space:nowrap;max-width:none!important;font-size:.78rem}}

/* ==========================================================================
   0.3.2 Hover heat: on hover, cards, list items and FAQs get a soft
   orange-to-pink wash, a gradient border all the way round, and a gradient title.
   ========================================================================== */
.card,.term-list li,.faq details,.numbered-flow li{isolation:isolate}
/* Gradient ring (replaces the top accent line) */
.card::before,.term-list li::after,.faq details::after,.numbered-flow li::after{content:'';position:absolute;inset:-1px;top:-1px;left:-1px;right:-1px;height:auto;border-radius:inherit;padding:1.5px;background:var(--spice);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;z-index:2}
.faq details,.numbered-flow li{position:relative}
/* Soft wash behind the content */
.card::after,.term-list li .wash,.faq details::before,.numbered-flow li::before{transition:opacity .35s var(--ease)}
.card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(150deg,#fff 10%,#fff4ea 55%,#ffeaf4 100%);opacity:0;z-index:-1;pointer-events:none}
.card:hover::before,.card:focus-within::before,.term-list li:hover::after,.faq details:hover::after,.faq details[open]::after,.numbered-flow li:hover::after{opacity:1}
.card:hover::after,.card:focus-within::after{opacity:1}
.card:hover,.term-list li:hover,.faq details:hover,.faq details[open],.numbered-flow li:hover{border-color:transparent;box-shadow:0 22px 44px -22px rgba(245,60,120,.38),0 2px 6px rgba(17,24,47,.05)}
.term-list li,.faq details{transition:border-color .3s,box-shadow .3s,background-color .3s}
.term-list li:hover,.faq details:hover{background-color:#fff6f3}
.section:not(.pale) .term-list li:hover{background-color:#fff6f3}
.dark .card::after{background:linear-gradient(150deg,rgba(255,123,0,.10),rgba(217,88,74,.08) 50%,rgba(210,20,89,.14))}
.dark .card:hover{box-shadow:0 26px 50px -24px rgba(210,20,89,.45)}
.card.has-media .card-media{position:relative;z-index:0}

/* Titles fade from navy into the SPICE™ gradient */
.card h3,.term-list li b,.faq summary{background:var(--spice-deep);-webkit-background-clip:text;background-clip:text;transition:color .35s var(--ease)}
.link-cards .card h3 a,.link-cards .card:hover h3 a{color:inherit}
.card:hover h3,.card:focus-within h3,.term-list li:hover b,.faq details:hover summary,.faq details[open] summary{color:transparent}
.dark .card h3{background-image:var(--spice)}
.faq summary::after{-webkit-background-clip:border-box;background-clip:border-box}
.card:hover .card-num{color:#c2187a}
.dark .card:hover .card-num{color:#ffb36b}
.card .text-link{transition:color .3s}
.card:hover .text-link{color:#c2187a}
.card h3,.term-list li b{width:fit-content;max-width:100%}
.faq summary{background-image:linear-gradient(100deg,#e8590c 0,#e0245e 28%,#c2187a 52%,#c2187a 100%)}
.dark .card-run .card:hover h3,.dark .card-run .card:focus-within h3{color:transparent}

/* ==========================================================================
   0.4 Depth and motion: step icons, background "targets" (the CTA panel's
   rings) behind sections, a scroll progress line and more scroll animation.
   ========================================================================== */

/* Step timeline icons, after the number and before the step name */
.step-flow li b{display:flex;align-items:center;gap:10px}
.step-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;flex-shrink:0;color:#c23a2c;background:linear-gradient(140deg,#fff4ea,#ffe1e6);box-shadow:inset 0 0 0 1px rgba(217,88,74,.22);transition:background .3s,color .3s}
.step-ico svg{width:17px;height:17px}
.step-flow li:hover .step-ico{background:var(--spice);color:var(--deep);box-shadow:none}
.step-flow li b{background:none}

/* Background targets: concentric rings that fade out, like the CTA panel */
.section{position:relative;isolation:isolate;overflow:clip}
.section::before,.section::after{content:'';position:absolute;z-index:-1;border-radius:50%;pointer-events:none;translate:0 var(--py,0px);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 70%);mask-image:radial-gradient(circle,#000 18%,transparent 70%)}
.section::before{width:720px;height:720px;right:-260px;top:-260px;background:repeating-radial-gradient(circle,rgba(31,43,82,.085) 0 1px,transparent 1px 40px)}
.section-split.inner{position:static}
.section:has(.section-split)::before{right:auto;left:-300px;top:auto;bottom:-320px}
.section:nth-of-type(even)::before{right:auto;left:-280px}
.section:has(.section-split):nth-of-type(even)::before{left:auto;right:-300px;bottom:-300px}
.section::after{width:300px;height:300px;right:7%;bottom:-120px;background:repeating-radial-gradient(circle,rgba(245,60,120,.16) 0 1px,transparent 1px 22px);opacity:0}
.section:nth-of-type(3n)::after,.section.dark::after{opacity:1}
.dark::before{background:repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1px 40px)}
.dark::after{background:repeating-radial-gradient(circle,rgba(255,120,150,.2) 0 1px,transparent 1px 22px);left:4%;right:auto;top:-90px;bottom:auto}
.cta-section::before,.cta-section::after,.intro-section::after{display:none}
/* White sections get a faint dot grid so they don't read as empty */
.section:not(.pale):not(.dark):not(.cta-section){background-color:#fff;background-image:radial-gradient(rgba(31,43,82,.07) 1px,transparent 1.2px);background-size:26px 26px;background-position:center top}
.section:not(.pale):not(.dark):not(.cta-section) .entry{position:relative}
.pale{background:radial-gradient(900px 420px at 0% 0%,rgba(255,123,0,.06),transparent 60%),radial-gradient(900px 480px at 100% 100%,rgba(210,20,89,.05),transparent 60%),linear-gradient(180deg,#f2f4f8,#f7f8fb)}
@media(prefers-reduced-motion:no-preference){.section::before{animation:spice-breathe 14s ease-in-out infinite}.section::after{animation:spice-breathe 10s ease-in-out -4s infinite}}
@keyframes spice-breathe{0%,100%{scale:1}50%{scale:1.07}}

/* Scroll progress: the header's gradient line fills as you read */
.site-header::after{opacity:.22}
.site-header::before{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--spice);transform-origin:left;transform:scaleX(var(--sp,0));z-index:1;box-shadow:0 0 12px rgba(245,60,120,.6)}

/* Hero: the diagram floats gently and the glow drifts */
@media(prefers-reduced-motion:no-preference){
.hero-art picture{display:block;animation:spice-float 9s ease-in-out 1.2s infinite}
.hero-glow{animation:spice-drift 18s ease-in-out infinite alternate}
.promise-band .icon-chip{animation:spice-pulse 4.5s ease-in-out infinite}
.promise-band .inner>div:nth-child(2) .icon-chip{animation-delay:1.5s}
.promise-band .inner>div:nth-child(3) .icon-chip{animation-delay:3s}
}
@keyframes spice-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes spice-drift{from{translate:0 0;scale:1}to{translate:-160px 120px;scale:1.25}}
@keyframes spice-pulse{0%,70%,100%{box-shadow:inset 0 0 0 1px rgba(255,152,46,.28),0 0 0 0 rgba(217,88,74,0)}80%{box-shadow:inset 0 0 0 1px rgba(255,152,46,.5),0 0 0 8px rgba(217,88,74,.12)}}

/* Scroll details: accent bars draw, step lines grow, numbers and icons pop */
@keyframes spice-bar{from{width:0;opacity:0}to{width:52px;opacity:1}}
@keyframes spice-pop{0%{opacity:0;scale:.4}70%{scale:1.12}100%{opacity:1;scale:1}}
@keyframes spice-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.reveal h2::before{animation:spice-bar .8s var(--ease) calc(var(--d,0ms) + .25s) backwards}
.step-flow li.reveal::before{animation:spice-pop .55s var(--ease) calc(var(--d,0ms) + .1s) backwards}
.step-flow li.reveal .step-ico{animation:spice-pop .55s var(--ease) calc(var(--d,0ms) + .25s) backwards}
.step-flow li::after{transform-origin:top}
.step-flow li.reveal::after{animation:spice-grow .7s var(--ease) calc(var(--d,0ms) + .35s) backwards}
.card.reveal .icon-chip,.card.reveal .card-num{animation:spice-pop .6s var(--ease) calc(var(--d,0ms) + .3s) backwards}
.term-list li.reveal::before{animation:spice-pop .5s var(--ease) calc(var(--d,0ms) + .25s) backwards}
.approved-figure.reveal img{animation:spice-unblur 1.1s var(--ease) var(--d,0ms) backwards}
@keyframes spice-unblur{from{filter:blur(8px) saturate(.6)}to{filter:none}}

/* ==========================================================================
   0.5 Step icons in the circles, a flowing gradient on the consultation
   buttons, and the Home illustration on an animated stage.
   ========================================================================== */
:root{--spice-loop:linear-gradient(100deg,#ff7b00 0%,#d9584a 25%,#d21459 50%,#d9584a 75%,#ff7b00 100%)}

/* Timeline: the icon sits in the circle; the title carries the number */
.step-flow li::before{display:none}
.step-flow li .step-ico{position:absolute;left:0;top:-4px;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#ffb36b;box-shadow:0 0 0 5px #fff,0 0 0 6px #e3e7ef;z-index:1}
.pale .step-flow li .step-ico{box-shadow:0 0 0 5px #f4f6f9,0 0 0 6px #e3e7ef}
.step-flow li .step-ico svg{width:20px;height:20px}
.step-flow li:hover .step-ico{background:var(--spice);color:var(--deep);box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(245,60,120,.35),0 10px 22px -8px rgba(245,60,120,.6)}
.step-flow li b{display:block}
.step-flow li b::before{content:counter(step) ". ";color:#c2187a;font-weight:800}

/* Book a consultation (and other primary buttons): the gradient flows slowly through */
.button:not(.secondary),.header-cta,.site-footer .footer-cta{background-image:var(--spice-loop);background-size:200% 100%}
a.button:not(.secondary):hover,.header-cta:hover{background-image:var(--spice-loop);background-size:200% 100%}
@keyframes spice-flow{from{background-position:0% 50%}to{background-position:200% 50%}}
@media(prefers-reduced-motion:no-preference){
a.button:not(.secondary),.header-cta{animation:spice-flow 7s linear infinite}
.nudge{animation:spice-flow 7s linear infinite,spice-nudge 7s ease-in-out 2.5s infinite}
.nudge:not(.header-cta){animation:spice-flow 7s linear infinite,spice-nudge 7s ease-in-out 6s infinite}
a.button:not(.secondary):hover,.header-cta:hover{animation-duration:2.5s,7s}
}
.form-preview .button{animation:none}

/* Home illustration stage: cut-out art over slowly drifting orange/pink light */
.stage-section{position:relative;isolation:isolate;overflow:clip;padding:72px 0 40px;background:radial-gradient(rgba(31,43,82,.06) 1px,transparent 1.2px) 0 0/26px 26px,linear-gradient(180deg,#f2f4f8,#fff 85%)}
.stage-section::after{content:'';position:absolute;z-index:-1;left:50%;top:46%;width:1100px;height:1100px;margin:-550px 0 0 -550px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(31,43,82,.07) 0 1px,transparent 1px 46px);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 68%);mask-image:radial-gradient(circle,#000 20%,transparent 68%);pointer-events:none}
.stage-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;filter:blur(50px);opacity:.75}
.stage-glow span{position:absolute;width:460px;height:300px;border-radius:50%;top:22%}
.stage-glow span:nth-child(1){left:8%;background:radial-gradient(closest-side,rgba(255,123,0,.55),transparent)}
.stage-glow span:nth-child(2){left:38%;background:radial-gradient(closest-side,rgba(217,88,74,.45),transparent)}
.stage-glow span:nth-child(3){left:66%;background:radial-gradient(closest-side,rgba(210,20,89,.42),transparent)}
@media(prefers-reduced-motion:no-preference){
.stage-glow span:nth-child(1){animation:spice-orbit-a 16s ease-in-out infinite alternate}
.stage-glow span:nth-child(2){animation:spice-orbit-b 19s ease-in-out infinite alternate}
.stage-glow span:nth-child(3){animation:spice-orbit-c 14s ease-in-out infinite alternate}
.stage-section .stage-art{animation:spice-float 10s ease-in-out infinite}
}
@keyframes spice-orbit-a{to{translate:120px 70px;scale:1.2}}
@keyframes spice-orbit-b{to{translate:-90px 90px;scale:.85}}
@keyframes spice-orbit-c{to{translate:-140px -40px;scale:1.25}}
.stage-section .approved-figure{max-width:1120px}
.stage-section .approved-figure img{border:0;border-radius:0;box-shadow:none;background:none;filter:drop-shadow(0 26px 28px rgba(17,24,47,.22))}
.stage-section .approved-figure figcaption{color:#56627a;padding-top:22px}
@media(max-width:680px){.stage-section{padding:44px 0 20px}.stage-glow{filter:blur(34px)}.stage-glow span{width:240px;height:180px}}
.nudge:hover,.nudge:focus-visible{animation-play-state:running,paused}
/* The outline "Book a consultation" in the hero gets a flowing gradient border instead of a fill */
.button.secondary.nudge{border:1.5px solid transparent;background:linear-gradient(#131b37,#131b37) padding-box,var(--spice-loop) border-box;background-size:100% 100%,200% 100%}
.button.secondary.nudge:hover{background:linear-gradient(#1b2446,#1b2446) padding-box,var(--spice-loop) border-box;background-size:100% 100%,200% 100%}
@media(prefers-reduced-motion:no-preference){.button.secondary.nudge{animation:spice-flow 7s linear infinite,spice-nudge 7s ease-in-out 6s infinite}}

/* ==========================================================================
   0.6 Living illustration: light circles each pod border and pulses run
   down the pipes into the platform (SVG traced over the image).
   ========================================================================== */
.stage-art{position:relative}
.stage-art picture{display:block}
.stage-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;mix-blend-mode:screen}
.stage-fx rect,.stage-fx path{fill:none;stroke:var(--c);stroke-linecap:round}
.stage-fx .fx-glow{stroke-width:24;filter:url(#spice-fx-glow);opacity:1}
.stage-fx .fx-core{stroke:#fff;stroke-width:5;opacity:1}
.fx-pod .fx-core{stroke-dasharray:13 87}.fx-pod .fx-glow{stroke-dasharray:20 80}
.fx-pipe .fx-core{stroke-dasharray:11 39}.fx-pipe .fx-glow{stroke-dasharray:16 34}
.fx-pipe .fx-glow{stroke-width:34}
.fx-node{fill:none;stroke:#ffd0d4;stroke-width:5;opacity:0;transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:no-preference){
.fx-pod rect{animation:spice-orbit 6s linear infinite}
.fx-pod.fx-1 rect{animation-delay:-2s}
.fx-pod.fx-2 rect{animation-delay:-4s}
.fx-pipe path{animation:spice-pipe 2.4s linear infinite}
.fx-pipe.fx-1 path{animation-delay:-.8s}
.fx-pipe.fx-2 path{animation-delay:-1.6s}
.fx-node{animation:spice-node 1.2s ease-out infinite}
}
@media(prefers-reduced-motion:reduce){.stage-fx{display:none}}
@keyframes spice-orbit{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes spice-pipe{from{stroke-dashoffset:50}to{stroke-dashoffset:0}}
@keyframes spice-node{0%{opacity:.85;scale:.7}100%{opacity:0;scale:1.6}}
/* Between comets, each pod border breathes softly */
@media(prefers-reduced-motion:no-preference){.fx-pod .fx-glow{animation:spice-orbit 6s linear infinite,spice-breath 3s ease-in-out infinite}.fx-pod.fx-1 .fx-glow{animation-delay:-2s,-1s}.fx-pod.fx-2 .fx-glow{animation-delay:-4s,-2s}}
@keyframes spice-breath{0%,100%{opacity:.75}50%{opacity:1}}

/* ==========================================================================
   0.7 Line-art backdrop on the dark feature band ("Three reasons"): Sean's
   network sketches, very faint and drifting slowly behind the cards.
   ========================================================================== */
.feature-band::before,.feature-band::after{display:none}
.band-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.band-art span{position:absolute;background-position:center;background-size:contain;background-repeat:no-repeat}
.art-fan{width:1100px;height:1100px;left:50%;top:52%;margin:-550px 0 0 -550px;background-image:url(assets/img/bg-fan.svg);opacity:.09}
.art-arc{width:760px;height:760px;right:-60px;top:-300px;background-image:url(assets/img/bg-arc.svg);opacity:.22}
.art-net{width:820px;height:820px;left:-470px;bottom:-330px;background-image:url(assets/img/bg-network.svg);opacity:.16}
@media(prefers-reduced-motion:no-preference){
.art-fan{animation:spice-breathe 12s ease-in-out infinite}
.art-arc{animation:spice-drift-arc 22s ease-in-out infinite alternate}
.art-net{animation:spice-drift-net 26s ease-in-out infinite alternate}
}
@keyframes spice-drift-arc{to{translate:-40px 30px;rotate:-4deg}}
@keyframes spice-drift-net{to{translate:30px -20px;rotate:3deg}}
@media(max-width:980px){.art-arc{width:520px;height:520px;top:-200px;right:-120px}.art-net{display:none}.art-fan{width:760px;height:760px;margin:-380px 0 0 -380px}}

/* ==========================================================================
   0.9 Calmer Home. Primary buttons ("Book a consultation" everywhere) stay on the
   SPICE™ gradient in every state, with a solid brand colour underneath so no
   frame of the flowing gradient can ever show the dark header through it.
   ========================================================================== */
.button:not(.secondary),.header-cta,.site-footer .footer-cta,
.button:not(.secondary):hover,.button:not(.secondary):focus,.button:not(.secondary):focus-visible,.button:not(.secondary):active,.button:not(.secondary):visited,
.header-cta:hover,.header-cta:focus,.header-cta:active,.header-cta:visited{background-color:#ff7a50;background-image:var(--spice-loop);background-size:200% 100%;color:var(--deep);border-color:transparent}
.button:not(.secondary):active,.header-cta:active{transform:translateY(0) scale(.98)}
/* Outline buttons are plain outlines (no dark fill), on dark and light grounds */
.button.secondary,.button.secondary:visited{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
.button.secondary:hover,.button.secondary:focus-visible{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.section:not(.dark) .entry .button.secondary,.form-preview .button.secondary{border-color:#76829b;color:var(--ink)}

/* One-line nudge to the /start/ path finder, just above the final CTA */
.start-link{margin:0;padding:8px 20px 0;text-align:center;font-weight:650}
.start-link a{color:#8a1d55;border-bottom:1px solid rgba(194,24,122,.35);padding-bottom:2px}
.start-link a:hover{color:#c2187a;border-color:#c2187a}

/* "Three reasons" cards: each carries one of Sean's line-art sketches, faint and
   anchored to the bottom of the card (1 both sides, 2 customer experience,
   3 orchestration). The band-wide art is retired so the motifs aren't shown twice. */
.feature-band .card-run .card{background-color:transparent;background-repeat:no-repeat,no-repeat;background-size:105% auto,100% 100%;background-position:center bottom -62%,0 0;padding-bottom:84px}
.feature-band .card-run .card:nth-child(3n+1){background-image:url(assets/img/card-both-sides.svg),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))}
.feature-band .card-run .card:nth-child(3n+2){background-image:url(assets/img/card-elevate.svg),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));background-position:left -6% bottom -40%,0 0}
.feature-band .card-run .card:nth-child(3n+3){background-image:url(assets/img/card-orchestration.svg),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));background-size:115% auto,100% 100%;background-position:right -8% bottom -44%,0 0}
.feature-band .band-art{display:none}
@media(max-width:680px){.feature-band .card-run .card{padding-bottom:72px}}

/* Solution cards: the same line-art language on white, navy at low opacity with one
   SPICE™ gradient accent per drawing, sitting in a band under "Learn more". */
.card.has-art{background-repeat:no-repeat;background-size:100% auto;background-position:right bottom;padding-bottom:112px}
.card.art-procure-to-pay{background-image:url(assets/img/sol-procure-to-pay.svg)}
.card.art-order-to-cash{background-image:url(assets/img/sol-order-to-cash.svg)}
.card.art-logistics{background-image:url(assets/img/sol-logistics.svg)}
.card.art-visibility-exception-management{background-image:url(assets/img/sol-visibility-exception-management.svg)}
.card.art-product-data{background-image:url(assets/img/sol-product-data.svg)}
.card.art-edi-certification-compliance{background-image:url(assets/img/sol-edi-certification-compliance.svg)}
@media(max-width:680px){.card.has-art{padding-bottom:96px;background-size:min(100%,420px) auto}}

/* ---------- Header dropdowns: mega panels (Neel's grouped menu) in the current colours ---------- */
.nav-panel{border-top:0}
.nav-panel::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--spice)}
.nav-panel a:hover{background:#fff0f4;color:#8a1d55}
.nav-panel .nav-all{color:#c2187a}
.nav-group-title{font-weight:800!important;font-size:.75rem!important;letter-spacing:.09em;text-transform:uppercase;color:#c2187a;border-bottom:1px solid var(--line);padding:0 0 10px!important;margin:0 0 8px!important;display:block;border-radius:0!important}
a.nav-group-title:hover{background:none!important;color:#8a1d55}
@media(min-width:981px){
  .nav-mega-panel{left:36px;right:36px;width:auto;display:grid;gap:12px 34px;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));padding:26px 30px 24px}
  .nav-mega-panel .nav-group{min-width:0}
  .nav-mega-panel a{font-size:.9rem}
}
@media(max-width:980px){.nav-panel::before{display:none}}

/* ---------- Header menus: icons, featured tile and card dropdowns ---------- */
.nav-panel a{display:flex;align-items:center;gap:10px}
.nav-ic{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f6f1f8;color:#c2187a;transition:background .2s,color .2s}
.nav-ic svg{width:16px;height:16px}
.nav-panel a:hover .nav-ic{background:var(--spice);color:#fff}
.nav-feature{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:6px!important;height:100%;padding:18px!important;margin:0!important;border-radius:14px!important;color:#fff!important;
  background:radial-gradient(260px 160px at 100% 0%,rgba(210,20,89,.35),transparent 60%),linear-gradient(160deg,#141c3a,#0b0b0c)!important;box-shadow:inset 0 0 0 1.5px rgba(255,120,60,.55)}
.nav-feature:hover{box-shadow:inset 0 0 0 1.5px rgba(255,140,60,.9),0 10px 26px -12px rgba(224,36,94,.6)}
.nav-feature-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--spice);color:#fff}
.nav-feature-ic svg{width:20px;height:20px}
.nav-feature b{font-size:1rem}
.nav-feature small{font-size:.82rem;line-height:1.45;color:rgba(255,255,255,.78)}
.nav-feature em{margin-top:auto;font-style:normal;font-weight:700;font-size:.85rem;color:#ffb26b}
.nav-card{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:8px!important;padding:16px!important;margin:0!important;border-radius:14px!important;border:1.5px solid #eceef4;background:#fff}
.nav-card:hover{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--spice) border-box!important;box-shadow:0 12px 26px -16px rgba(224,36,94,.55)}
.nav-card .icon-chip{margin:0}
.nav-card b{font-size:.98rem;color:var(--heading)}
.nav-card small{font-size:.82rem;line-height:1.45;color:var(--muted);font-weight:500}
@media(min-width:981px){
  .nav-mega-panel.has-featured{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) minmax(220px,.9fr)}
  .nav-card-panel{width:min(880px,calc(100vw - 72px));left:calc(50% - min(440px,(100vw - 72px) / 2));right:auto;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:12px;padding:22px}
  .nav-card-panel .nav-all{grid-column:1/-1}
}
@media(max-width:980px){
  .nav-featured{grid-column:1/-1}
  .nav-card-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .nav-card-panel .nav-all{grid-column:1/-1}
}
@media(max-width:680px){.nav-card-panel{grid-template-columns:1fr}}


/* ---------- Header menu fixes (Sean, 2026-10-23) ---------- */
/* Dropdown labels and plain links share one centre line (the "+" no longer pushes the label down). */
.primary-nav summary{display:flex;align-items:center}
.primary-nav summary::after{line-height:1}
/* "Start here": the suggested first stop for browsing, a gradient-outline pill; "Book a consultation" stays the filled CTA. */
.primary-nav>a.nav-start{display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 11px;border-radius:999px;border:1.5px solid transparent;color:#fff;background:linear-gradient(#000,#000) padding-box,var(--spice) border-box;transition:color .2s,box-shadow .2s}
.primary-nav>a.nav-start svg{width:16px;height:16px;color:#ffb36b;transition:color .2s,transform .4s var(--ease)}
.primary-nav>a.nav-start::after{display:none}
.primary-nav>a.nav-start:hover,.primary-nav>a.nav-start[aria-current=page]{background:linear-gradient(rgba(0,0,0,.0),rgba(0,0,0,0)) padding-box,var(--spice) border-box;color:var(--deep);box-shadow:0 8px 22px -10px rgba(245,60,120,.8)}
.primary-nav>a.nav-start:hover svg,.primary-nav>a.nav-start[aria-current=page] svg{color:var(--deep);transform:rotate(90deg)}
@media(max-width:980px){.primary-nav>a.nav-start{align-self:flex-start;margin:8px 0;padding:9px 16px 9px 13px}}

/* "Explore the platform" / "Products": one colour per column so the groups read apart. */
.nav-group{--acc:#c2187a;--acc-bg:#fdecf5;--acc-hover:#fff0f7}
.nav-group.g-1{--acc:#b84300;--acc-bg:#fff0e0;--acc-hover:#fff5ea}
.nav-group.g-2{--acc:#c2187a;--acc-bg:#fdecf5;--acc-hover:#fff0f7}
.nav-group.g-3{--acc:#3446b8;--acc-bg:#eceffd;--acc-hover:#f2f4fe}
.nav-group .nav-group-title{color:var(--acc);border-bottom:2px solid var(--acc-bg)}
.nav-group .nav-group-title::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:2px;background:var(--acc);vertical-align:1px}
a.nav-group-title:hover{color:var(--acc)!important;opacity:.8}
.nav-group .nav-ic{background:var(--acc-bg);color:var(--acc)}
.nav-group a:not(.nav-group-title):hover{background:var(--acc-hover);color:var(--acc)}
.nav-group a:not(.nav-group-title):hover .nav-ic{background:var(--acc);color:#fff}

/* "Industries": cards on a soft tinted panel, each with its buyer's line drawing behind; the drawing lights up and flows on hover. */
.nav-card-panel{background:linear-gradient(180deg,#fff,#f6f7fb)}
.nav-card{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(180px 110px at 100% 100%,rgba(255,123,0,.09),transparent 70%),#fff}
.nav-card.has-art{padding-bottom:74px!important}
.nav-card:hover{background:radial-gradient(200px 120px at 100% 100%,rgba(210,20,89,.10),transparent 70%) padding-box,linear-gradient(#fff,#fff) padding-box,var(--spice) border-box!important}
.nav-card-art{position:absolute;left:12px;right:12px;bottom:12px;z-index:-1;width:calc(100% - 24px);height:auto;opacity:.55;transition:opacity .3s,transform .4s var(--ease)}
.nav-card:hover .nav-card-art{opacity:1;transform:translateY(-2px)}
.nca-w{fill:none;stroke:#f1c6d3;stroke-width:1.4}
.nca-p{fill:none;stroke:url(#nca-g);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:100;opacity:0;transition:opacity .3s}
.nca-d{fill:#fff;stroke:#ff7b00;stroke-width:1.6}
.nca-h{fill:url(#nca-g)}
.nca-b{fill:rgba(52,70,184,.04);stroke:#c9cfe8;stroke-width:1.4;stroke-dasharray:4 4}
.nav-card:hover .nca-p,.nav-card:focus-visible .nca-p{opacity:1;animation:ib-run 2.6s linear infinite;animation-delay:calc(var(--i) * -.4s)}
@keyframes ib-run{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.nav-card:hover .nca-p{animation:none}.nav-card-art{transition:none}}

/* HTML illustrations (fig-*, SpicY): keep the next section close so the visual and its explanation read together */
.fig-section:not(.stage-section),.sys-section{padding-bottom:0}
.fig-section:not(.stage-section)+.section,.sys-section+.section{padding-top:56px}
@media(max-width:680px){.fig-section:not(.stage-section)+.section,.sys-section+.section{padding-top:40px}}

/* ==========================================================================
   0.25 (Spice meeting, 2026-10-27)
   ========================================================================== */
/* "Book a consultation" no longer vibrates; on hover and focus it changes colour instead. */
.header-cta:hover,.header-cta:focus-visible,
a.button:not(.secondary):hover,a.button:not(.secondary):focus-visible,
.site-footer .footer-cta:hover,.site-footer .footer-cta:focus-visible{background-image:none;background-color:#fff;color:var(--deep);box-shadow:inset 0 0 0 2px #ff6a3d,0 10px 24px -12px rgba(245,60,120,.7)}

/* Home: deployment models band (SaaS, BYOC), after the industries band */
.deploy-band{position:relative;isolation:isolate;overflow:clip;padding:104px 0;color:#fff;background:radial-gradient(760px 420px at 100% 0%,rgba(255,152,46,.16),transparent 62%),radial-gradient(720px 480px at 0% 100%,rgba(210,20,89,.13),transparent 62%),linear-gradient(180deg,#141631,#0b1126)!important}
.dm-glow{position:absolute;z-index:-1;left:50%;top:46%;width:620px;height:320px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,110,60,.18),transparent);filter:blur(10px)}
.dm-head{max-width:760px;margin:0 auto 52px;text-align:center}
.dm-head .eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:#ffb36b}
.dm-head .eyebrow::before{content:'';flex:0 0 22px;height:2px;border-radius:2px;background:var(--orange)}
.deploy-band .dm-head h2{margin:0 0 14px;color:#fff;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.035em;line-height:1.08}
.dm-head p:not(.eyebrow){margin:0;font-size:1.15rem;color:#c9d1e3}
.dm-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:0}
.dm-card{display:flex;flex-direction:column;border-radius:22px;padding:26px;border:1.5px solid transparent;background:linear-gradient(#141c39,#111833) padding-box,linear-gradient(160deg,rgba(255,123,0,.55),rgba(255,255,255,.08) 45%,rgba(210,20,89,.5)) border-box;box-shadow:0 30px 60px -36px rgba(0,0,0,.7)}
.dm-same{position:relative;display:grid;place-items:center;align-self:start;width:84px;height:161px;margin-top:28px}
.dm-same::before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,#ff7b00 0 6px,transparent 6px 12px)}
.dm-same span{position:relative;padding:6px 10px;border-radius:99px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;text-align:center;color:#141414;background:var(--spice);box-shadow:0 8px 20px -8px rgba(245,60,120,.7)}
.dm-art{border-radius:16px;background:#0b1024;padding:14px}
.dm-boundary{position:relative;display:grid;grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto;align-items:center;padding:34px 14px 18px;border-radius:14px;border:1.5px solid rgba(255,255,255,.22);background:radial-gradient(circle at 50% 62%,rgba(210,20,89,.16),transparent 62%)}
.dm-byoc .dm-boundary{border:1.5px dashed #ff7b00;background:radial-gradient(circle at 50% 62%,rgba(255,123,0,.16),transparent 62%)}
.dm-where{position:absolute;left:12px;top:9px;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.dm-byoc .dm-where{color:#ffb36b}
.dm-node{display:grid;justify-items:center;gap:4px;width:74px;padding:8px 4px;border-radius:10px;background:#fff;color:#141b33;font-size:.7rem;font-weight:800;line-height:1.15;text-align:center}
.dm-node svg{width:20px;height:20px;fill:none;stroke:#2f5aa8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dm-tp svg{stroke:#ff5a1a}
.dm-wire{height:2px;background:linear-gradient(90deg,#ff9a1a,#ff1f8f)}
.dm-core{display:grid;justify-items:center;gap:6px;width:112px;padding:10px 8px 8px;border-radius:12px;background:linear-gradient(#0b0b0c,#0b0b0c) padding-box,var(--spice) border-box;border:2px solid transparent;box-shadow:0 0 18px rgba(255,110,30,.35)}
.dm-logo{width:78%;height:auto;display:block}
.dm-ai{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;font-size:.6rem;font-weight:800;white-space:nowrap;color:#141414;background:linear-gradient(90deg,#ff9a1a,#ff1f8f)}
.dm-ai svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.4}
.dm-copy{padding:22px 4px 0}
.dm-tag{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffb36b}
.deploy-band .dm-copy h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 12px;font-size:1.7rem;letter-spacing:-.02em;color:#fff;background:none}
.dm-copy h3 small{font-size:.95rem;font-weight:600;letter-spacing:0;color:#c9d1e3}
.dm-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.dm-copy li{position:relative;padding-left:24px;color:#d3d9e8;line-height:1.55}
.dm-copy li::before{content:'';position:absolute;left:2px;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--spice)}
.dm-compare{margin-top:34px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.dm-row{display:grid;grid-template-columns:1.1fr 1.6fr 1.9fr}
.dm-row>span{padding:13px 18px;font-size:.92rem;line-height:1.45;color:#d3d9e8;border-top:1px solid rgba(255,255,255,.08)}
.dm-row>span:first-child{font-weight:700;color:#fff}
.dm-row-head>span{border-top:0;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffb36b!important;background:rgba(255,255,255,.03)}
.dm-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:30px 0 0}
.dm-links a{font-weight:700;color:#ffb36b;text-decoration:none}
.dm-links a:hover,.dm-links a:focus-visible{color:#fff;text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:980px){.dm-pair{grid-template-columns:1fr;max-width:620px;margin:0 auto}.dm-same{align-self:auto;width:auto;height:56px;margin-top:0}.dm-same::before{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,#ff7b00 0 6px,transparent 6px 12px)}}
@media(max-width:680px){.deploy-band{padding:68px 0}.dm-card{padding:16px}.dm-boundary{padding:30px 8px 14px}.dm-node{width:58px;font-size:.62rem}.dm-core{width:88px}
 .dm-row{grid-template-columns:1fr 1fr}.dm-row>span:first-child{grid-column:1/-1;padding-bottom:2px}.dm-row>span:not(:first-child){border-top:0;padding-top:4px}
 .dm-row>span[data-m]::before{content:attr(data-m);display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffb36b}
 .dm-row-head{display:none}}

/* ==========================================================================
   0.27 (Shira, 2026-10-26; Spice meeting 2026-10-27): site search, brand font and colours, form in every CTA
   ========================================================================== */
/* Header search: icon opens a field on desktop; the mobile menu has its own field */
.header-search{position:relative;display:flex;align-items:center}
.search-toggle{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.search-toggle:hover,.search-toggle:focus-visible,.header-search.is-open .search-toggle{background:rgba(255,255,255,.1);border-color:#ff7b00}
.search-panel{display:none;position:absolute;right:0;top:calc(100% + 16px);z-index:60;width:min(380px,80vw);gap:8px;padding:10px;border-radius:16px;background:#fff;box-shadow:0 24px 50px -20px rgba(0,0,0,.55)}
.header-search.is-open .search-panel{display:flex}
.search-panel input,.nav-search input,.search-page-form input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:10px;border:1.5px solid #dce1ea;font:inherit;font-size:1rem;color:#141631;background:#fff}
.search-panel input:focus,.nav-search input:focus,.search-page-form input:focus{outline:none;border-color:#ff7b00;box-shadow:0 0 0 3px rgba(255,123,0,.18)}
.search-panel button,.nav-search button,.search-page-form button{height:44px;padding:0 18px;border:0;border-radius:10px;font:inherit;font-weight:700;color:#141631;background:var(--spice);cursor:pointer}
.nav-search{display:none}
@media(max-width:980px){.header-search{display:none}.primary-nav .nav-search{display:flex;gap:8px;margin:4px 0 14px;order:-1}}
/* Search results */
.search-page-form{display:flex;gap:10px;max-width:640px;margin:0 0 36px}
.search-results{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.search-result{display:grid;gap:4px;padding:20px 22px;border-radius:16px;border:1.5px solid #e3e7ef;background:#fff;color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.search-result:hover,.search-result:focus-visible{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--spice) border-box;box-shadow:0 14px 30px -18px rgba(210,20,89,.5)}
.search-type{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a72c1e}
.search-result b{font-size:1.2rem;color:var(--heading)}
.search-sum{color:var(--muted);line-height:1.55}
.search-url{font-size:.82rem;color:#8a93a6}
.search-empty{max-width:640px;color:var(--muted)}
.search-section .nav-links{display:flex;gap:10px;margin-top:28px}
.search-section .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid #dce1ea;text-decoration:none;color:var(--heading)}
.search-section .page-numbers.current{background:var(--spice);border-color:transparent}
/* Consultation form inside every CTA panel */
.cta-panel.cta-with-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start}
.cta-with-form h2{max-width:none}
.cta-alt{margin:18px 0 0;font-weight:700}
.cta-alt a{color:#ffb36b;text-decoration:none}
.cta-alt a:hover{color:#fff;text-decoration:underline}
.cta-with-form .form-preview{display:grid;gap:12px;padding:22px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.cta-with-form .form-preview .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cta-with-form .form-preview label{display:grid;gap:5px;font-size:.85rem;font-weight:600;color:#d3d9e8}
.cta-with-form .form-preview input,.cta-with-form .form-preview select,.cta-with-form .form-preview textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(8,12,28,.55);color:#fff;font:inherit;font-size:.95rem}
.cta-with-form .form-preview select option{color:#141631}
.cta-with-form .form-preview .button{justify-self:start;min-height:50px}
.cta-with-form .form-preview .form-note{margin:0;color:#9ca5b1}
@media(max-width:980px){.cta-panel.cta-with-form{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.cta-with-form .form-preview{padding:16px}.cta-with-form .form-preview .form-row{grid-template-columns:1fr}.cta-with-form .form-preview .button{justify-self:stretch}}
/* the search icon needs room in the header on small laptops */
@media(min-width:981px) and (max-width:1240px){.site-header{gap:12px;padding-left:20px;padding-right:20px}.primary-nav{gap:10px;font-size:.84rem}.search-toggle{width:36px;height:36px}.header-cta{padding:10px 12px}}

/* ==========================================================================
   0.28 (Sean, 2026-10-27): deployment models move to Deployment options; slim bar on Home; menu cross-link
   ========================================================================== */
.deploy-bar{padding:40px 0}
/* Deployment call to action closing the Home industries band (v0.30): a feature panel, ~300px tall on desktop */
.industries-band .db-panel{margin-top:40px}
.db-panel{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px;min-height:300px;padding:48px 56px;border-radius:24px;color:#fff;background:radial-gradient(560px 300px at 100% 0%,rgba(255,123,0,.24),transparent 65%),radial-gradient(560px 320px at 0% 100%,rgba(210,20,89,.2),transparent 65%),linear-gradient(135deg,#141631,#0b1126);box-shadow:0 36px 70px -40px rgba(20,22,49,.6)}
.db-art{display:flex;align-items:center;justify-content:center;gap:22px}
.db-cloud{position:relative;display:grid;place-items:center;flex:1 1 0;max-width:230px;aspect-ratio:3/2;padding-top:26px;border-radius:18px;border:2px solid rgba(255,255,255,.32);background:radial-gradient(circle at 50% 62%,rgba(210,20,89,.16),transparent 65%)}
.db-byoc{border:2px dashed #ff7b00;background:radial-gradient(circle at 50% 62%,rgba(255,123,0,.16),transparent 65%)}
.db-cloud i{position:absolute;left:14px;top:11px;font-style:normal;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.db-byoc i{color:#ffb36b}
.db-core{display:grid;place-items:center;width:64%;padding:12px 14px;border-radius:12px;background:linear-gradient(#0b0b0c,#0b0b0c) padding-box,var(--spice) border-box;border:2px solid transparent;box-shadow:0 0 22px rgba(255,110,30,.35)}
.db-logo{width:100%;height:auto;display:block}
.db-eq{font-size:2.6rem;font-weight:800;line-height:1;color:#ffb36b}
.db-panel .db-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffb36b}
.db-panel .db-kicker::before{content:'';flex:0 0 22px;height:2px;border-radius:2px;background:var(--orange)}
.db-panel .db-line{margin:0;font-size:clamp(1.8rem,2.8vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#fff}
.db-panel .db-sub{margin:12px 0 0;font-size:1.2rem;color:#c9d1e3}
.db-panel .db-go{margin-top:26px;min-height:58px;padding:16px 32px;font-size:1.1rem}
@media(max-width:980px){.db-panel{grid-template-columns:1fr;gap:32px;padding:40px 36px}}
@media(max-width:560px){.industries-band .db-panel{margin-top:28px}.db-panel{padding:28px 20px;gap:24px;min-height:0}.db-art{gap:10px}.db-cloud{padding-top:22px;border-radius:14px}.db-cloud i{left:9px;top:7px;font-size:.62rem}.db-core{width:72%;padding:8px 9px}.db-eq{font-size:1.8rem}.db-panel .db-go{display:flex;justify-content:center;width:100%}}
/* On Deployment options the band sits straight under the page title */
.page-hero + .deploy-band{padding-top:88px}
/* Industries menu: Deployment options is a cross-link, not an industry */
.nav-card.nav-card-xlink{justify-content:center;border:1.5px dashed #f2b98e;background:#fff8f2;box-shadow:none}
.nav-card.nav-card-xlink:hover,.nav-card.nav-card-xlink:focus-visible{border-style:solid;border-color:#ff7b00;background:#fff3e8}
.nav-xlink-kicker{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a72c1e}
.nav-card.nav-card-xlink b{color:#c4410a}
.nav-card.nav-card-xlink b span{transition:transform .2s}
.nav-card.nav-card-xlink:hover b span{display:inline-block;transform:translateX(3px)}
@media(min-width:981px){.nav-card.nav-card-xlink{position:relative;margin-left:14px!important}.nav-card.nav-card-xlink::before{content:'';position:absolute;left:-14px;top:10%;bottom:10%;border-left:1px solid #e3e7ef}}

/* 0.29 (Sean, 2026-10-27): forms submit for real (inc/forms.php) */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-error{margin:0 0 4px;padding:10px 14px;border-radius:10px;font-weight:600;color:#7a0d2e;background:#ffe6ee;border:1px solid #f5a3bd}
.form-preview label .opt{font-weight:500;opacity:.75}
.form-preview{position:relative}
@media(max-width:560px){.db-panel .db-go{gap:10px;padding:14px 18px;font-size:1rem;white-space:nowrap}}

/* v0.32.0 (Shira, 2026-11-02): emphasise the SPICE™ column of the Why SPICE™ comparison. */
.spice-compare th:last-child{background:var(--orange);color:var(--deep)}
.spice-compare td:last-child{background:#fff4e6!important;font-weight:600;color:var(--ink);box-shadow:inset 3px 0 0 var(--orange)}
.spice-compare tr:nth-child(even) td:last-child{background:#ffead2!important}
.spice-compare td:last-child a{color:#a84b00}
/* Footer contact details, LinkedIn and careers (Shira, 2026-11-02). */
.footer-contact{font-style:normal;margin-top:22px;font-size:.925rem;line-height:1.6;color:#b4bed2}
.site-footer .footer-contact a:not(.brand){padding:2px 0}
.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:16px}
.site-footer .footer-linkedin{display:inline-flex!important;align-items:center;gap:8px;padding:8px 14px!important;border:1px solid #3b3f4b;border-radius:6px;color:#fff!important}
.site-footer .footer-linkedin:hover{border-color:#ff9a3d;transform:none!important}
