/* Each page belongs to a colour family; the navigation ribbon carries it. */
body[data-theme]{--ribbon-home:#a8c8f7;--ribbon-start:#f1cc54;--ribbon-services:#c8b7e7;--ribbon-process:#8dc8b0;--ribbon-contact:#e9b4a4}
.sidebar nav{gap:12px}.sidebar .nav-link{height:43px;min-height:43px;margin-left:-22px;padding:8px 15px 8px 35px;border:0;border-radius:0 3px 3px 0;box-shadow:none;isolation:isolate;transition:background .2s,color .2s}.nav-link:nth-child(1){--ribbon:var(--ribbon-home)}.nav-link:nth-child(2){--ribbon:var(--ribbon-start)}.nav-link:nth-child(3){--ribbon:var(--ribbon-services)}.nav-link:nth-child(4){--ribbon:var(--ribbon-process)}.nav-link:nth-child(5){--ribbon:var(--ribbon-contact)}.sidebar .nav-link:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--ribbon);transition:width .25s;z-index:-1}.sidebar .nav-link.active{background:var(--ribbon);color:#182e43;box-shadow:none}.sidebar .nav-link.active .nav-icon,.sidebar .nav-link.active .nav-number{color:#253d52}.sidebar .nav-link:hover{translate:0;background:color-mix(in srgb,var(--ribbon) 25%,transparent)}.sidebar .nav-link.active:hover{background:var(--ribbon)}.nav-number{display:none}
body[data-theme='start']{--page:#493b1d;--page-end:#19170e;--accent:#edcc78;--ink:#fff4d7;--muted:#cbbb96}
body[data-theme='services']{--page:#30284e;--page-end:#141024;--accent:#c3adf1;--ink:#f4efff;--muted:#bdb0d3}
body[data-theme='process']{--page:#1a4238;--page-end:#0b201c;--accent:#97d6b8;--ink:#e6f7ee;--muted:#a9c9bb}
body[data-theme='contact']{--page:#482b36;--page-end:#21121c;--accent:#edb5b0;--ink:#ffedf0;--muted:#d1aeb7}
body[data-theme]:not([data-theme='home']) .app-shell{background:radial-gradient(ellipse at 100% 100%,#ffffff06,transparent 60%),linear-gradient(145deg,var(--page),var(--page-end));color:var(--ink)}
body[data-theme]:not([data-theme='home']) :is(.sidebar,.workspace){background:transparent;color:var(--ink)}
body[data-theme]:not([data-theme='home']) :is(h1,h2,h3,.nav-link,.top-contact,.page-footer a,.contact-email,.contact-form legend,.contact-form label,.card-action,.inline-link,.need-card h2,.service-copy h1,.deliverables h2,.pagination b){color:var(--ink)}
body[data-theme]:not([data-theme='home']) :is(p,.eyebrow,.breadcrumb,.breadcrumb b,.side-caption,.sidebar-bottom p,.sidebar-bottom small,.footer-note,.service-toolbar,.service-toolbar>span,.back-catalogue,.service-description,.deliverables li,.service-cta>span,.pagination,.page-next small,.home-bottom>span,.process-bottom>span,.form-top,.review-note,.field-hint,.email-hint,.contact-alternative,.process-navigation){color:var(--muted)}
body[data-theme]:not([data-theme='home']) :is(h1 em,.sidebar-bottom>a,.plain-button,#form-status,.contact-alternative button){color:var(--accent)}
body[data-theme]:not([data-theme='home']) :is(.topbar,.page-footer,.card-action,.process-steps article,.process-navigation,.form-top){border-color:color-mix(in srgb,var(--ink) 17%,transparent)}
body[data-theme]:not([data-theme='home']) :is(.need-card,.contact-form){background:#ffffff05;border-color:#ffffff20;box-shadow:none}
body[data-theme]:not([data-theme='home']) :is(input,textarea,select,.service-search){background:#080c1655;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 22%,transparent)}
body[data-theme]:not([data-theme='home']) input::placeholder,body[data-theme]:not([data-theme='home']) textarea::placeholder{color:var(--muted)}
body[data-theme]:not([data-theme='home']) :is(.primary,.button.primary){background:var(--accent);color:#191a25}
body[data-theme]:not([data-theme='home']) :is(.tech-tags>span,.service-tabs button,.category-filters button,.square-button,.paper-demo){background:#ffffff07;border-color:#c8b8e738;color:var(--ink)}
body[data-theme]:not([data-theme='home']) :is(.service-tabs button.selected,.category-filters button.selected){background:var(--accent);color:#191a25}
body[data-theme]:not([data-theme='home']) .tile-icon{background:#ffffff0c;color:var(--accent)}
body[data-theme]:not([data-theme='home']) #brief-summary :is(p,b){color:var(--ink)}
.art-web{--card:#203f63;--card-end:#162b46;--category:#9ec8f4}.art-software{--card:#3c315f;--card-end:#251e3e;--category:#c9b4f0}.art-ai{--card:#543829;--card-end:#332219;--category:#efb791}.art-data{--card:#214a40;--card-end:#132f2a;--category:#96d3ba}.art-support{--card:#4b4023;--card-end:#2d2616;--category:#dfc783}
body[data-theme] .directory-card{background:linear-gradient(120deg,var(--card),var(--card-end));border:1px solid color-mix(in srgb,var(--category) 24%,transparent);border-left:4px solid var(--category);box-shadow:0 4px 18px #f4efff05}
body[data-theme] .directory-card:hover{box-shadow:0 9px 26px #f4efff15;border-color:var(--category)}
body[data-theme] .card-copy :is(h2,p,small){color:#eeeaf7}body[data-theme] .card-copy small{color:var(--category)}body[data-theme] .card-open{color:var(--category);border-color:color-mix(in srgb,var(--category) 25%,transparent)}
.service-workflow{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:clamp(22px,2.5vw,40px);height:auto;min-height:440px;background:linear-gradient(145deg,var(--card-end),var(--card));border:1px solid color-mix(in srgb,var(--category) 20%,transparent);border-radius:4px 30px 4px 4px;box-shadow:12px 15px 0 #00000018;gap:27px;text-align:left}
.workflow-heading>span,.workflow-result>span{font-size:10px;letter-spacing:1.5px;color:var(--category)}.workflow-heading h2{font-size:clamp(22px,2vw,30px);line-height:1.2;margin-top:10px;letter-spacing:-.7px}.workflow-path{list-style:none;padding:0;margin:0;display:grid;gap:24px}.workflow-path li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:15px}.workflow-path li:not(:last-child):after{content:'';position:absolute;left:17px;top:38px;width:2px;height:calc(100% - 15px);background:linear-gradient(180deg,var(--category),transparent);background-size:100% 200%;animation:workflow-flow 3.6s linear infinite}.workflow-node{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--category);border-radius:50%;font-size:12px;color:var(--category);background:#ffffff0c;animation:workflow-pulse 5.4s infinite;animation-delay:calc(var(--step)*1.8s)}.workflow-path h3{font-size:18px;line-height:1.3;margin:0 0 6px;font-weight:600}.workflow-path p{font-size:15px;line-height:1.45}.workflow-result{border-top:1px solid #ffffff24;padding-top:18px}.workflow-result p{font-size:16px;line-height:1.4;margin-top:7px}.service-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}
@keyframes workflow-flow{to{background-position:0 200%}}@keyframes workflow-pulse{0%,30%,100%{box-shadow:0 0 0 0 transparent;background:#ffffff0a}12%{box-shadow:0 0 0 7px color-mix(in srgb,var(--category) 12%,transparent);background:var(--card)}}
@media(max-width:1250px){.sidebar .nav-link{margin-left:-16px;padding-left:26px}.service-layout{gap:26px}.service-workflow{padding:23px;gap:22px}.workflow-path{gap:18px}.workflow-path p{font-size:14px}}
@media(max-width:1000px){.sidebar .nav-link{margin-left:-12px;padding:8px 12px;height:43px;min-height:43px}.service-layout{grid-template-columns:1.15fr 1fr}.service-workflow{padding:18px;box-shadow:none}.workflow-path li{grid-template-columns:28px 1fr;gap:10px}.workflow-node{width:28px;height:28px}.workflow-path li:not(:last-child):after{left:13px;top:32px}.workflow-path h3{font-size:16px}}
@media(max-height:760px),(max-width:700px){.service-layout{grid-template-columns:1fr}.service-workflow{display:none}}
@media(prefers-reduced-motion:reduce){.workflow-node,.workflow-path li:after{animation:none}}
body[data-theme]:not([data-theme='home']) :is(.need-top small,#results-count){color:var(--muted)}
@media(max-height:760px),(max-width:700px){
.service-layout.show-workflow{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:16px}
.show-workflow .service-copy>:not(.service-tabs){display:none}
.show-workflow .service-tabs{margin:0;display:flex}
.show-workflow .service-workflow{display:flex;min-height:0;padding:20px;gap:16px;box-shadow:none}
.show-workflow .workflow-heading h2{font-size:24px;margin-top:6px}.show-workflow .workflow-path{gap:14px}.show-workflow .workflow-result{display:none}.show-workflow .workflow-path p{font-size:14px}.show-workflow .workflow-path h3{font-size:16px}
}
@media(max-width:700px){.show-workflow .workflow-heading>span{display:none}.show-workflow .service-workflow{padding:15px}.show-workflow .workflow-heading h2{font-size:22px}.show-workflow .workflow-path{gap:12px}.show-workflow .workflow-path p{font-size:13px}.show-workflow .workflow-path h3{font-size:15px;margin-bottom:4px}}
@media(max-height:480px){.show-workflow .workflow-path{grid-template-columns:repeat(3,1fr);gap:16px}.show-workflow .workflow-path li{display:block}.show-workflow .workflow-node{display:none}.show-workflow .workflow-path li:after{display:none}.show-workflow .workflow-path p{font-size:12px}.show-workflow .service-workflow{gap:8px;padding:12px}}
body[data-theme]:not([data-theme='home']) :is(.deliverables li svg,.page-next small){color:var(--accent)}
@media(max-width:360px){.service-tabs button{font-size:12px!important;padding:8px!important}.show-workflow .service-workflow{padding:12px;gap:10px;flex-shrink:0}.show-workflow .workflow-heading h2{font-size:20px;margin:0}.show-workflow .workflow-path{gap:10px}.show-workflow .workflow-path p{font-size:12px;line-height:1.4}.show-workflow .workflow-path h3{font-size:14px}.show-workflow .workflow-node{width:24px;height:24px;font-size:10px}.show-workflow .workflow-path li{grid-template-columns:24px 1fr;gap:8px}.show-workflow .workflow-path li:not(:last-child):after{left:11px;top:28px}.service-layout.show-workflow{gap:12px}}

/* Dark surfaces retain the section hue and consistent readable controls. */
body[data-theme]:not([data-theme="home"]) select option{background:var(--page-end);color:var(--ink)}
body[data-theme]:not([data-theme="home"]) .process-steps article>span{color:var(--accent)}
body[data-theme]:not([data-theme="home"]) .nav-link.active{color:#182e43}
.workflow-node{background:#ffffff08}@keyframes workflow-pulse{0%,30%,100%{box-shadow:0 0 0 0 transparent;background:#ffffff08}12%{box-shadow:0 0 0 7px color-mix(in srgb,var(--category) 12%,transparent);background:var(--card)}}
/* Warm amber light over charcoal, without an olive cast. */
body[data-theme='start']{--page:#30202b;--page-end:#151321;--accent:#ffc779;--ink:#fff3e7;--muted:#cdbdb7}
body[data-theme='start']:not([data-theme='home']) .app-shell{background:radial-gradient(ellipse at 92% 8%,#a85b2838,transparent 56%),radial-gradient(ellipse at 12% 90%,#56365225,transparent 65%),linear-gradient(135deg,#30202b,#171521 80%)}
body[data-theme='start']:not([data-theme='home']) .need-card{background:linear-gradient(135deg,#ffffff06,#ffffff02);border-color:#f4c9a322}
body[data-theme='start']:not([data-theme='home']) .need-card:hover{background:#e4a5630c;border-color:#e4a56366}
/* The catalogue shares one quiet surface; colour identifies the category. */
body[data-theme='services'] .directory-card{position:relative;background:radial-gradient(ellipse at 0 100%,color-mix(in srgb,var(--category) 7%,transparent),transparent 65%),linear-gradient(125deg,#272239,#1c192b);border:1px solid #bdaedb24;border-left:1px solid #bdaedb24;border-radius:10px;box-shadow:0 8px 22px #0b07161a;transition:border-color .2s,background .2s,box-shadow .2s}
body[data-theme='services'] .directory-card:after{content:'';position:absolute;left:24px;top:0;width:48px;height:2px;background:var(--category);opacity:.7}
body[data-theme='services'] .directory-card:hover{background:radial-gradient(ellipse at 0 100%,color-mix(in srgb,var(--category) 12%,transparent),transparent 65%),linear-gradient(125deg,#30293f,#221d31);border-color:color-mix(in srgb,var(--category) 45%,transparent);box-shadow:0 12px 28px #0b071630}
body[data-theme='services'] .directory-card .card-copy h2{color:#f5f0fc}
body[data-theme='services'] .directory-card .card-copy p{color:#bdb2ce}
body[data-theme='services'] .directory-card .card-copy small{color:var(--category);letter-spacing:.6px}
body[data-theme='services'] .directory-card .card-open{border-color:#c8b7e726;background:#ffffff03;color:#dbd1ed}
