/* eDigital OS 2.0 — professional composition layer
   Loaded after the stable component and theme styles. */
:root{
    --v2-section:clamp(88px,10vw,160px);
    --v2-ease:cubic-bezier(.22,1,.36,1);
    --v2-card-shadow:0 28px 75px color-mix(in srgb,var(--ink) 10%,transparent);
}
body.font-modern{--font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-sans)}
body.font-editorial{--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:Iowan Old Style,Baskerville,"Times New Roman",serif}
body.font-technical{--font-sans:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--font-display:var(--font-sans)}
body.font-humanist{--font-sans:"Trebuchet MS",Avenir Next,Avenir,ui-sans-serif,sans-serif;--font-display:var(--font-sans)}
.brand-logo-light-mode{display:none!important}
html[data-mode="light"] .brand-logo-dark-mode{display:none!important}
html[data-mode="light"] .brand-logo-light-mode{display:block!important}
html[data-mode="dark"] .brand-logo-dark-mode{display:block!important}
html[data-mode="dark"] .brand-logo-light-mode{display:none!important}
@media(prefers-color-scheme:light){
    html[data-mode="system"] .brand-logo-dark-mode{display:none!important}
    html[data-mode="system"] .brand-logo-light-mode{display:block!important}
}
@media(prefers-color-scheme:dark){
    html[data-mode="system"] .brand-logo-dark-mode{display:block!important}
    html[data-mode="system"] .brand-logo-light-mode{display:none!important}
}
body .site-footer{background:var(--footer-background,#0b0d12)!important;color:var(--footer-text,#f7f7f2)}
body .site-footer :is(.footer-description,.footer-nav a,.language-select,.footer-bottom){color:var(--footer-muted,#9ca2ad)}
body .site-footer :is(.footer-nav a:hover,.brand-site-name,.language-select select){color:var(--footer-text,#f7f7f2)}
body .site-footer .footer-bottom{border-color:color-mix(in srgb,var(--footer-text,#f7f7f2) 16%,transparent)}
body .site-footer .social-links a,
body .site-footer .language-select select{border-color:color-mix(in srgb,var(--footer-text,#f7f7f2) 22%,transparent)}
body.density-compact{--space-section:clamp(64px,7vw,105px)}
body.density-comfortable{--space-section:var(--v2-section)}
body.density-airy{--space-section:clamp(115px,13vw,205px)}
body.corners-square{--radius:0;--radius-sm:0;--radius-lg:0}
body.corners-soft{--radius:16px;--radius-sm:10px;--radius-lg:28px}
body.corners-rounded{--radius:28px;--radius-sm:16px;--radius-lg:48px}
body.container-narrow{--shell:min(1120px,calc(100vw - 56px))}
body.container-standard{--shell:min(1320px,calc(100vw - 56px))}
body.container-wide{--shell:min(1540px,calc(100vw - 48px))}

.announcement-bar{position:relative;z-index:102;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:750}
.announcement-bar .shell{min-height:38px;display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}
.announcement-bar a{display:inline-flex;gap:7px;align-items:center;border-bottom:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.announcement-bar a span{transition:transform .25s}.announcement-bar a:hover span{transform:translate(3px,-3px)}
.brand:not(.is-system-brand) img{width:min(var(--brand-logo-width),38vw);max-height:64px}

body.header-floating .site-header{width:min(1480px,calc(100% - 32px));margin:14px auto 0;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--bg) 88%,transparent);box-shadow:0 16px 60px rgba(0,0,0,.08);backdrop-filter:blur(20px)}
body.header-floating .site-header.is-sticky-desktop{top:12px}
body.header-floating .header-progress{inset-inline:18px;bottom:0}
body.header-minimal .site-header{border:0;background:transparent}
body.header-minimal .header-inner{min-height:96px}
body.header-minimal .desktop-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.08em}

body.cards-elevated :is(.service-card,.feature-widget-card,.pricing-widget-card,.form-card,.insight-card,.admin-card){border-color:transparent;box-shadow:var(--v2-card-shadow)}
body.cards-flat :is(.service-card,.feature-widget-card,.pricing-widget-card,.form-card){border-color:transparent;background:color-mix(in srgb,var(--surface) 68%,transparent)}
body.cards-flat .service-grid{border-color:transparent;gap:14px}
body.cards-flat .service-card{border:0}

body.hero-center .hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
body.hero-center .hero-copy{display:grid;justify-items:center;max-width:1120px}
body.hero-center .hero-copy .lede{max-width:760px}
body.hero-center .hero-art{width:min(100%,980px);min-height:400px}
body.hero-editorial .hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);align-items:end}
body.hero-editorial .hero-copy h1{font-size:clamp(62px,10vw,158px);line-height:.86}
body.hero-editorial .hero-art{min-height:340px;align-self:end}

/* Instant Pro: original B2B agency direction inspired by editorial technology sites. */
.theme-instant-pro .ambient{display:none}
.theme-instant-pro h1,.theme-instant-pro h2{letter-spacing:-.065em}
.theme-instant-pro .eyebrow{color:var(--muted)}
.theme-instant-pro .eyebrow::before{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.theme-instant-pro .widget-hero{min-height:min(900px,calc(100svh - var(--header-height)));border-bottom:1px solid var(--line)}
.theme-instant-pro .hero-copy h1 em{font-family:inherit;font-style:normal;color:var(--accent)}
.theme-instant-pro .hero-art{background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent-2));
    border:0;border-radius:2px;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}
.theme-instant-pro .hero-art::before{inset:0;background:repeating-linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.14) 14% calc(14% + 1px));filter:none;border-radius:0}
.theme-instant-pro .hero-art p{color:#fff;text-align:left;text-transform:uppercase}
.theme-instant-pro .service-grid{grid-template-columns:repeat(2,1fr);border-inline-start:0}
.theme-instant-pro .service-card{min-height:310px;border-inline-end:0;padding-inline:0;display:grid;grid-template-columns:90px 1fr;gap:28px}
.theme-instant-pro .service-card:nth-child(odd){padding-right:42px;border-right:1px solid var(--line)}
.theme-instant-pro .service-card:nth-child(even){padding-left:42px}
.theme-instant-pro .service-card h3{margin:0 0 14px;font-size:clamp(31px,4vw,58px)}
.theme-instant-pro .service-card p{grid-column:2}.theme-instant-pro .service-icon{border:0;width:auto;height:auto;align-self:start;font:700 12px var(--font-mono)}
.theme-instant-pro .project-showcase{gap:2px;background:var(--line)}
/* Keep both cards in an Instant Pro row visually continuous when their copy
   has different lengths; the shared grid background must not show through. */
.theme-instant-pro .project-card,.theme-instant-pro .project-card:nth-child(n){grid-column:span 6;align-self:stretch;margin:0;padding:clamp(24px,3vw,45px);background:var(--bg)}
.theme-instant-pro .project-media{border-radius:0}.theme-instant-pro .project-meta{display:block}.theme-instant-pro .project-meta h3{margin-top:12px}
.theme-instant-pro .process-list article{grid-template-columns:70px .8fr 1.2fr;padding-block:38px;transition:padding .3s,background .3s}
.theme-instant-pro .process-list article:hover{padding-inline:20px;background:var(--surface)}
.theme-instant-pro .cta-panel{border-radius:0;clip-path:polygon(0 0,96% 0,100% 18%,100% 100%,4% 100%,0 82%)}

.theme-studio-noir{--font-display:Arial Black,Impact,var(--font-sans)}
.theme-studio-noir h1,.theme-studio-noir h2{text-transform:uppercase;line-height:.88}
.theme-studio-noir .widget{border-top:1px solid var(--line)}
.theme-studio-noir .hero-art{border-radius:50%;aspect-ratio:1;min-height:0;transform:rotate(6deg)}
.theme-studio-noir .hero-art p{transform:rotate(-6deg)}
.theme-studio-noir .button{border-radius:2px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.theme-studio-noir .project-media,.theme-studio-noir .insight-image{filter:grayscale(1);border-radius:2px;transition:filter .4s}
.theme-studio-noir .project-media:hover,.theme-studio-noir .insight-image:hover{filter:none}
.theme-studio-noir .service-card{background:transparent}.theme-studio-noir .service-card:hover{background:var(--accent);color:var(--on-accent)}
.theme-studio-noir .service-card:hover p{color:currentColor}

.theme-nordic-calm{--font-display:Iowan Old Style,Baskerville,Georgia,serif}
.theme-nordic-calm h1,.theme-nordic-calm h2,.theme-nordic-calm h3{font-weight:500;letter-spacing:-.045em}
.theme-nordic-calm .site-header{box-shadow:none}.theme-nordic-calm .widget-hero{min-height:760px}
.theme-nordic-calm .hero-art{border-radius:48% 52% 42% 58% / 55% 38% 62% 45%;background:color-mix(in srgb,var(--accent) 13%,var(--surface));transform:rotate(-2deg)}
.theme-nordic-calm .service-grid{gap:18px;border:0}.theme-nordic-calm .service-card{border:0;border-radius:var(--radius-lg);background:var(--surface)}
.theme-nordic-calm .project-media{border-radius:var(--radius-lg)}
.theme-nordic-calm .process-list{border:0}.theme-nordic-calm .process-list article{margin-bottom:12px;padding:28px;border:0;border-radius:var(--radius);background:var(--surface)}

.theme-electric-grid body,.theme-electric-grid{background-image:linear-gradient(color-mix(in srgb,var(--line) 48%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 48%,transparent) 1px,transparent 1px);background-size:42px 42px}
.theme-electric-grid .site-header,.theme-electric-grid .widget{background-color:color-mix(in srgb,var(--bg) 94%,transparent)}
.theme-electric-grid .hero-art{border-radius:4px;background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--accent) 24%,var(--surface)))}
.theme-electric-grid .hero-art::before{border-radius:0;background:conic-gradient(from 90deg,var(--accent),transparent,var(--accent-2),transparent,var(--accent))}
.theme-electric-grid .button,.theme-electric-grid .icon-button,.theme-electric-grid .menu-toggle{border-radius:4px}
.theme-electric-grid .service-card,.theme-electric-grid .feature-widget-card{background:var(--bg);border-color:var(--line)}
.theme-electric-grid .card-number,.theme-electric-grid .eyebrow{font-family:var(--font-mono)}

/* More intentional motion and accessible reduced-motion behavior. */
.project-card,.service-card,.insight-card,.feature-widget-card{transition:transform .45s var(--v2-ease),background .35s,border-color .35s,box-shadow .35s}
.project-card:hover,.insight-card:hover{transform:translateY(-8px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

.header-language-select{display:flex;align-items:center;height:43px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.header-language-select select{min-width:44px;border:0;outline:0;background:transparent;color:var(--ink);font:800 10px/1 var(--font-mono);letter-spacing:.08em;cursor:pointer}
.header-language-select option{color:#111;background:#fff}
.drawer-language-select{display:grid;gap:8px;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:700}
.drawer-language-select select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}

@media(max-width:980px){
    .header-language-select{display:none}
    body.header-floating .site-header{width:calc(100% - 20px);margin-top:10px}.announcement-bar .shell{width:calc(100% - 28px)}
    body.hero-editorial .hero-grid{grid-template-columns:1fr}.theme-instant-pro .service-grid{grid-template-columns:1fr}
    .theme-instant-pro .service-card:nth-child(n){padding-inline:0;border-right:0}.theme-instant-pro .project-card,.theme-instant-pro .project-card:nth-child(n){grid-column:1/-1}
}
@media(max-width:680px){
    body.container-narrow,body.container-standard,body.container-wide{--shell:calc(100vw - 32px)}
    .announcement-bar .shell{justify-content:space-between;text-align:left}.announcement-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    body.header-floating .site-header{border-radius:13px}.theme-instant-pro .service-card{grid-template-columns:48px 1fr;gap:16px;min-height:260px}
    .theme-instant-pro .service-card p{grid-column:2}.theme-instant-pro .process-list article{grid-template-columns:46px 1fr}.theme-instant-pro .process-list article p{grid-column:2}
}
