:root { --jcs-ink:#071526; --jcs-slate:#53647d; --jcs-paper:#f5fbff; --jcs-line:#d9eaf0; --jcs-accent:#31d7d2; --jcs-pink:#ff78ba; }
* { box-sizing:border-box; }
body { background:var(--jcs-paper); color:var(--jcs-ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.jcs-header { position:sticky; top:0; z-index:30; background:rgba(245,251,255,.92); backdrop-filter:blur(16px); border-bottom:1px solid var(--jcs-line); }
.jcs-header-inner { min-height:76px; }
.jcs-header .wp-block-site-title { font-weight:800; letter-spacing:-.04em; }
.jcs-header .wp-block-navigation-item__content { font-weight:700; }
.jcs-shell { overflow:hidden; }
.jcs-hero { background:radial-gradient(circle at 16% 15%,#174f77 0,transparent 31%),radial-gradient(circle at 88% 85%,#65284f 0,transparent 30%),#071526; color:#fff; padding:clamp(5.5rem,12vw,10rem) 1.5rem; }
.jcs-eyebrow { color:#72ebe6; font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.jcs-hero h1 { color:#fff; font-size:clamp(3.35rem,8vw,7.2rem); letter-spacing:-.07em; line-height:.92; margin:1rem 0 1.4rem; max-width:950px; }
.jcs-hero .jcs-lede { color:#dbe4f3; font-size:clamp(1.1rem,2vw,1.38rem); line-height:1.55; max-width:720px; }
.jcs-actions { gap:.75rem; margin-top:2rem; }
.jcs-primary .wp-block-button__link { background:var(--jcs-accent); border:1px solid var(--jcs-accent); color:var(--jcs-ink); padding:.9rem 1.3rem; }
.jcs-secondary .wp-block-button__link { background:transparent; border:1px solid #71809a; color:#fff; padding:.9rem 1.3rem; }
.jcs-section { padding:clamp(4.5rem,9vw,8rem) 1.5rem; }
.jcs-section h2 { font-size:clamp(2.2rem,4.5vw,4.3rem); letter-spacing:-.06em; margin:0 0 1rem; }
.jcs-intro { color:var(--jcs-slate); font-size:1.15rem; max-width:690px; }
.jcs-card-grid { gap:1rem; margin-top:2.5rem; }
.jcs-card-grid > .wp-block-column { background:#fff; border:1px solid var(--jcs-line); border-radius:18px; padding:1.55rem; box-shadow:0 16px 38px rgba(11,16,32,.05); }
.jcs-card-grid h3 { font-size:1.25rem; letter-spacing:-.04em; margin:0 0 .65rem; }
.jcs-card-grid p { color:var(--jcs-slate); margin:0; }
.jcs-offer { background:#101a31; color:#fff; border-radius:28px; padding:clamp(2rem,6vw,4.5rem); margin:0 1.5rem; }
.jcs-offer h2 { color:#fff; font-size:clamp(2rem,4vw,3.7rem); margin:0 0 1rem; }
.jcs-offer p { color:#d6e0ef; font-size:1.12rem; max-width:620px; }
.jcs-work { background:#edf1f6; }
.jcs-case { background:#101a31; border-radius:22px; color:#fff; padding:clamp(2rem,5vw,4rem); margin-top:2rem; }
.jcs-case h3 { color:#fff; font-size:clamp(1.7rem,3vw,3rem); margin:0 0 1rem; }
.jcs-case p,.jcs-case li { color:#dbe4f3; }
.jcs-proof { margin-top:2.25rem; }
.jcs-proof > .wp-block-column { padding:1.1rem 0; }
.jcs-proof h3 { font-size:1.28rem; margin:0 0 .55rem; }
.jcs-proof p { color:var(--jcs-slate); }
.jcs-process { background:#fff; }
.jcs-process .wp-block-column { border-top:2px solid var(--jcs-ink); padding-top:1rem; }
.jcs-process h3 { font-size:1.1rem; margin:.1rem 0 .65rem; }
.jcs-final { background:linear-gradient(120deg,#0b4f72 0%,#0c7777 55%,#7a285f 100%); color:#fff; padding:clamp(4.5rem,9vw,8rem) 1.5rem; }
.jcs-final h2 { color:#fff; font-size:clamp(2.4rem,5vw,4.7rem); letter-spacing:-.065em; max-width:1000px; }
.jcs-final p { color:#fff; font-size:1.15rem; max-width:650px; }
.jcs-final .wp-block-button__link { background:var(--jcs-ink); color:#fff; }
.jcs-footer { background:#071526; color:#d7e0ef; padding:3.5rem 1.5rem 1.75rem; }
.jcs-footer h2,.jcs-footer h3,.jcs-footer a { color:#fff; }
.jcs-footer p { color:#b7c3d5; }
.jcs-links-page { background:radial-gradient(circle at 18% -10%,rgba(24,118,172,.5) 0,transparent 30rem),radial-gradient(circle at 92% 38%,rgba(190,57,137,.16) 0,transparent 27rem),#071526; color:#fff; min-height:calc(100vh - 76px); padding:clamp(2.25rem,5vw,4rem) 1.5rem 5rem; }
.jcs-links-intro { text-align:center; }
.jcs-links-kicker { color:#72ebe6; font-size:.72rem; font-weight:800; letter-spacing:.14em; margin:0 0 1.1rem; }
.jcs-links-intro h1 { color:#fff; font-size:clamp(1.85rem,3.5vw,2.8rem); letter-spacing:-.055em; line-height:1; margin:0 auto .35rem; max-width:640px; }
.jcs-links-intro > p:last-child { color:#c5d1e5; font-size:.98rem; margin:0; }
.jcs-app-links { display:grid; gap:1rem; margin-top:2rem; }
.jcs-app-link { align-items:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:20px; cursor:pointer; gap:1rem; padding:1rem; position:relative; transition:background .2s ease,transform .2s ease,border-color .2s ease; width:100%; }
.jcs-app-link:hover,.jcs-app-link:focus-within { background:rgba(72,213,212,.12); border-color:rgba(114,235,230,.55); transform:translateY(-2px); }
.jcs-app-link .jcs-app-arrow a::after { content:""; cursor:pointer; inset:0; position:absolute; }
.jcs-app-link .jcs-app-arrow a:focus-visible::after { border-radius:20px; outline:3px solid #72ebe6; outline-offset:3px; }
.jcs-app-icon { align-items:center; border-radius:17px; display:flex; flex:0 0 72px; height:72px; justify-content:center; overflow:hidden; width:72px; }
.jcs-app-icon img { display:block; height:100%; object-fit:cover; width:100%; }
.jcs-app-link-pets .jcs-app-icon { background:#3f9d95; }
.jcs-app-link-focus .jcs-app-icon { background:#8a71e5; }
.jcs-app-link-palette .jcs-app-icon { background:linear-gradient(135deg,#52e4df,#e45c9a 48%,#5f78d8); }
.jcs-app-link-photo .jcs-app-icon { background:#4d9da2; }
.jcs-app-link-stock .jcs-app-icon { background:#2b5876; }
.jcs-app-copy { flex:1; min-width:0; }
.jcs-app-copy h2 { color:#fff; font-size:1.15rem; letter-spacing:-.035em; margin:0 0 .15rem; }
.jcs-app-copy p { color:#c5d1e5; font-size:.92rem; line-height:1.4; margin:0; }
.jcs-app-arrow { font-size:1.55rem; line-height:1; margin:0; }
.jcs-app-arrow a { color:#fff; display:block; padding:.65rem; text-decoration:none; }
.jcs-app-arrow a::before { content:""; inset:0; position:absolute; }
.jcs-links-footer { color:#c5d1e5; margin-top:3rem; text-align:center; }
.jcs-links-footer p { margin:.25rem 0; }
.jcs-links-footer a { color:var(--jcs-pink); font-weight:800; text-decoration:none; }
@media (max-width: 700px) { .jcs-header-inner{min-height:64px}.jcs-hero{padding-top:5rem;padding-bottom:5rem}.jcs-hero h1{font-size:3.25rem}.jcs-offer{margin:0;border-radius:0}.jcs-section{padding-left:1.25rem;padding-right:1.25rem} }
