/* Hybrid editorial layer: PDF typography + portfolio depth */
:root{--ink:#151a22;--muted:#6e7783;--blue:#5a82cb;--blue-dark:#355f9f;--line:#dedfdf;--paper:#f6f5f1;--dark:#101318;--mono:'DM Mono',monospace;--body:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
html{scroll-padding-top:78px}body{background:var(--paper);color:var(--ink)}
.topbar{height:70px;padding-inline:6.5%;background:rgba(246,245,241,.96);border-color:#e7e5df}.brand-mark{border-radius:3px;border-color:#d8d9d8}.brand-mark span,.button-small span,.text-link span:last-child{color:var(--blue)}.nav a:hover{color:var(--blue-dark)}
.hero{min-height:620px;padding:105px 6.5% 54px;background:#111419}.hero:after{background:radial-gradient(circle,rgba(84,126,194,.16),transparent 70%)}.hero-grid{background-size:64px 64px;opacity:.4}.hero-content{width:51%;max-width:640px}.hero h1{font-size:clamp(44px,5.4vw,72px);line-height:1.04;letter-spacing:-.065em}.hero h1 em{color:#91add8}.hero-copy{max-width:480px;font-size:14px}.button-primary{background:#5a82cb}.button-primary:hover{background:#4a70b4}.button-ghost{border-color:#4b515a}.hero-meta{bottom:-128px}.hero-art{right:7%;top:120px;width:39%;height:auto;min-height:350px;display:grid;align-content:center}.hero-art>.orbit,.hero-art>.art-core,.hero-art>.float-card,.hero-art>.art-cross,.hero-art>.art-caption{display:none}.code-window{position:relative;overflow:hidden;border:1px solid #343a43;background:#181c21;box-shadow:0 24px 60px rgba(0,0,0,.34);color:#e7e9eb;border-radius:8px}.code-title{height:43px;border-bottom:1px solid #30343a;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#9299a3;font:9px var(--mono)}.code-lights{display:flex;gap:5px}.code-lights i{width:7px;height:7px;border-radius:50%;background:#51565e}.code-lights i:first-child{background:#d17963}.code-lights i:nth-child(2){background:#c6a75b}.code-lights i:nth-child(3){background:#76a67a}.code-lang{color:#8ba6ce}.code-body{padding:22px 20px 15px;font:clamp(9px,.88vw,12px)/2 var(--mono);white-space:nowrap}.code-body p{margin:0}.code-indent{padding-left:22px}.code-comment{color:#89917c}.code-key{color:#c792ea}.code-fn{color:#82aee0}.code-call{color:#86c7b0}.code-status{border-top:1px solid #30343a;padding:12px 18px;display:flex;gap:8px;color:#aeb7a0;font:9px var(--mono)}.code-status>span:first-child{color:#91bd83}.hero-stamp{display:flex;gap:14px;align-items:center;justify-content:flex-end;margin:17px 4px 0;color:#8792a3;font:8px var(--mono);letter-spacing:.12em}.hero-stamp b{color:#83a3d5;font-size:13px}
.section{padding:100px 8.5%;background:var(--paper)}.services{background:#f0efeb}.work{background:#f8f7f3}.testimonials{background:#f0efeb}.about{background:#f8f7f3}.section-heading{margin-bottom:42px}.section h2{font-size:clamp(32px,3.4vw,43px);letter-spacing:-.055em}.section h2 em{color:var(--blue)}.eyebrow{letter-spacing:.13em}.dark-eyebrow{color:#7e8791}.section-intro{font-size:12px;max-width:390px}.service-grid{border-color:#dedfdf;gap:0}.service-card{background:transparent;padding:28px;min-height:235px;border-color:#dedfdf}.service-card:nth-child(2){background:#171a1e;color:#f3f2ed}.service-card:nth-child(2) h3{color:#f3f2ed}.service-card:nth-child(2) p,.service-card:nth-child(2) .service-tags{color:#b5b9bf}.service-card:nth-child(2) .service-num{color:#9cb1d1}.service-card h3{font-size:16px;letter-spacing:-.035em}.service-card p{font-size:11px;line-height:1.75}.service-icon{border-radius:4px;color:var(--blue);background:#e9edf3}.service-note{background:#e8edf5}.service-note h3{color:var(--ink)}.service-note .text-link{color:#355f9f}
.project{border:1px solid #dedfdf;background:#F7F6F1;border-radius:4px;overflow:hidden}.project-info{background:#F7F6F1}.project-featured .project-info{background:#F7F6F1}.project-visual{border-radius:0}.project-info h3{letter-spacing:-.04em}.project-stack span{border-radius:2px;background:#f0f1f2}.project-category{color:#577bb5}.project-compact{border-radius:4px;background:#F7F6F1}.project-compact:hover{border-color:#9eb2d1}.source-note{color:#7b8188}.direct-projects{border-color:#d9d9d6}.direct-card{border-radius:3px;background:#F7F6F1;border-color:#dedfdf}.status{border-radius:2px}.contact{background:#111419}.contact h2 em{color:#91add8}.contact .button-primary{background:#5a82cb}
.review-grid{gap:14px}.review-card{border:1px solid #dcdedc;background:#f8f7f3;border-radius:3px;min-height:265px;padding:25px 23px 20px}.review-rating{color:#5a82cb}.review-card blockquote{font-size:15px;line-height:1.72;color:#202630;letter-spacing:-.025em}.review-bottom{border-color:#e0e1df}.review-bottom a{color:#5276ad}.review-controls{margin-top:18px}.carousel-arrow{border-radius:2px;background:transparent;border-color:#cdd0d2;color:#466b9f}.carousel-arrow:hover:not(:disabled){background:#e7edf5;border-color:#9eb3d2}.review-dot.is-active{background:#5a82cb}.translation-note{color:#7b8188}
.footer{background:var(--paper);border-color:#e2e1dd}.theme-toggle{border-radius:3px;border-color:#d5d7d8;color:#4b6283}.theme-toggle:hover{background:#e8edf5;border-color:#bdcbe0}
:root[data-theme="dark"] body{background:#101318;color:#e8edf5}:root[data-theme="dark"] .topbar{background:rgba(16,19,24,.96);border-color:#292e35}:root[data-theme="dark"] .services,:root[data-theme="dark"] .about,:root[data-theme="dark"] .testimonials{background:#161a20}:root[data-theme="dark"] .work{background:#101318}:root[data-theme="dark"] .section h2{color:#eef2f8}:root[data-theme="dark"] .service-grid{border-color:#30363f}:root[data-theme="dark"] .service-card{background:#171b21;border-color:#30363f}:root[data-theme="dark"] .service-card:nth-child(2){background:#e9edf3;color:#171b21}:root[data-theme="dark"] .service-card:nth-child(2) h3{color:#171b21}:root[data-theme="dark"] .service-card:nth-child(2) p,:root[data-theme="dark"] .service-card:nth-child(2) .service-tags{color:#515b68}:root[data-theme="dark"] .service-note{background:#202a39}:root[data-theme="dark"] .service-note h3{color:#eef2f8}:root[data-theme="dark"] .project,:root[data-theme="dark"] .project-info,:root[data-theme="dark"] .project-featured .project-info,:root[data-theme="dark"] .project-compact,:root[data-theme="dark"] .direct-card{background:#171b21;border-color:#30363f}:root[data-theme="dark"] .project-stack span{background:#252c36}:root[data-theme="dark"] .review-card{background:#171b21;border-color:#30363f}:root[data-theme="dark"] .review-card blockquote{color:#e6eaf0}:root[data-theme="dark"] .review-bottom{border-color:#30363f}:root[data-theme="dark"] .review-bottom>span{color:#b0bac7}:root[data-theme="dark"] .carousel-arrow{background:#171b21;border-color:#3a424d;color:#a9c5f3}:root[data-theme="dark"] .carousel-arrow:hover:not(:disabled){background:#202b3a;border-color:#5374a5}:root[data-theme="dark"] .footer{background:#101318;border-color:#292e35}:root[data-theme="dark"] .theme-toggle{border-color:#3a424d;color:#bfd0e9}
@media(max-width:1000px){.hero{min-height:590px}.hero-art{right:5%;width:42%;top:148px}.section{padding-inline:6%}.service-card{padding:23px}}
@media(max-width:700px){.topbar{height:64px;padding-inline:5%}.hero{padding:85px 6% 54px;min-height:790px}.hero-content{width:100%}.hero h1{font-size:clamp(42px,11vw,58px)}.hero-meta{bottom:-88px;align-items:flex-start;gap:13px;flex-direction:column}.hero-art{top:auto;left:6%;right:6%;bottom:58px;width:auto;min-height:230px}.code-body{padding:16px 14px 12px;font-size:9px}.section{padding:76px 6%}.section-heading{display:block}.section-intro{margin-top:15px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:220px;padding:20px 17px}.review-carousel .review-card{flex-basis:100%;min-height:225px}.review-card blockquote{font-size:15px}.review-controls{justify-content:flex-end}.project-info{background:#F7F6F1}}
@media(max-width:410px){.service-grid{grid-template-columns:1fr}.service-card{min-height:190px}.hero{min-height:770px}.hero-art{bottom:48px}}
.tech-strip{min-height:72px;display:flex;align-items:center;gap:36px;padding:0 8.5%;background:#e9e9e6;border-top:1px solid #cfd1d1;border-bottom:1px solid #cfd1d1}.tech-label{flex:0 0 auto;color:#637185;font:500 9px var(--mono);letter-spacing:.13em}.tech-items{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;overflow-x:auto;scrollbar-width:none}.tech-items::-webkit-scrollbar{display:none}.tech-items span{flex:0 0 auto;color:#303a47;font:10px var(--mono);white-space:nowrap}.tech-items span:nth-child(3n){color:#5276ad}.review-carousel .review-card{min-height:265px}@media(max-width:700px){.tech-strip{min-height:unset;padding:15px 6%;display:block}.tech-label{display:block;margin-bottom:12px}.tech-items{justify-content:flex-start;gap:18px;padding-bottom:3px}.tech-items span{font-size:9px}}
:root[data-theme="dark"] .tech-strip{background:#181d24;border-color:#30363f}:root[data-theme="dark"] .tech-label{color:#a5b3c7}:root[data-theme="dark"] .tech-items span{color:#d0d7e1}:root[data-theme="dark"] .tech-items span:nth-child(3n){color:#9cb8e4}
/* Continuous technology ticker */
.tech-strip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:38px;min-height:82px;padding:0 8.5%;overflow:hidden;background:#e9e9e6}.tech-strip-heading{display:flex;flex-direction:column;gap:6px;white-space:nowrap}.tech-label{font-size:9px;font-weight:600;letter-spacing:.13em}.tech-count{font:7px var(--mono);letter-spacing:.06em;color:#8a919a}.tech-marquee{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}.tech-marquee:focus-visible{outline:2px solid #5a82cb;outline-offset:-2px}.tech-track{display:flex;width:max-content;will-change:transform;animation:tech-marquee-scroll 52s linear infinite}.tech-group{display:flex;align-items:center;gap:17px;flex:none;padding-right:17px;white-space:nowrap}.tech-item{flex:none;color:#303a47;font:10px var(--mono);white-space:nowrap}.tech-item:nth-of-type(4n+1){color:#5276ad}.tech-separator{flex:none;color:#9aa0a5;font:14px var(--mono)}.tech-marquee:hover .tech-track,.tech-marquee:focus-within .tech-track{animation-play-state:paused}@keyframes tech-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
:root[data-theme="dark"] .tech-strip{background:#181d24;border-color:#30363f}:root[data-theme="dark"] .tech-label{color:#d5deeb}:root[data-theme="dark"] .tech-count{color:#929eaf}:root[data-theme="dark"] .tech-item{color:#d0d7e1}:root[data-theme="dark"] .tech-item:nth-of-type(4n+1){color:#9cb8e4}:root[data-theme="dark"] .tech-separator{color:#687383}
@media(max-width:700px){.tech-strip{grid-template-columns:1fr;gap:10px;min-height:85px;padding:14px 6%}.tech-strip-heading{flex-direction:row;align-items:center;justify-content:space-between}.tech-track{animation-duration:46s}.tech-group{gap:14px;padding-right:14px}.tech-item{font-size:9px}}
@media(prefers-reduced-motion:reduce){.tech-track{animation:none;will-change:auto}.tech-group[aria-hidden="true"]{display:none}.tech-marquee{overflow-x:auto;mask-image:none;scrollbar-width:thin}.tech-marquee::-webkit-scrollbar{height:4px}}
/* One unified project grid: client work, product work, and marketplace cases */
.project-list>.direct-card{grid-column:span 1;display:flex;flex-direction:column;min-height:275px;padding:24px;background:#F7F6F1;border:1px solid #dedfdf;border-radius:4px;overflow:hidden}.project-list>.direct-card .direct-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.project-list>.direct-card h4{margin:24px 0 10px;font:650 17px/1.35 var(--display);letter-spacing:-.035em;color:var(--ink)}.project-list>.direct-card p{font-size:11px;line-height:1.75;color:#737b86;margin:0 0 18px}.project-list>.direct-card .project-stack{margin-top:auto}.project-list>.direct-card .status{font:7px var(--mono);letter-spacing:.04em;white-space:nowrap}
:root[data-theme="dark"] .project-list>.direct-card{background:#171b21;border-color:#30363f}:root[data-theme="dark"] .project-list>.direct-card h4{color:#edf1f7}:root[data-theme="dark"] .project-list>.direct-card p{color:#a3adbb}
@media(max-width:700px){.project-list>.direct-card{min-height:225px;padding:20px}.project-list>.direct-card h4{font-size:15px}}
/* Light palette matched to the warm stone background in the supplied portfolio PDF */
:root:not([data-theme="dark"]){--paper:#ecebe6;--line:#d9d8d2}
:root:not([data-theme="dark"]) body{background:#ecebe6}
:root:not([data-theme="dark"]) .topbar{background:rgba(236,235,230,.96);border-color:#deddd7}
:root:not([data-theme="dark"]) .services,:root:not([data-theme="dark"]) .work,:root:not([data-theme="dark"]) .testimonials,:root:not([data-theme="dark"]) .about,:root:not([data-theme="dark"]) .footer{background:#ecebe6}
:root:not([data-theme="dark"]) .tech-strip{background:#e7e6e0;border-color:#d5d4ce}
:root:not([data-theme="dark"]) .review-card{background:#F7F6F1;border-color:#deded9}

/* ===== правки після рев'ю ===== */
/* 4. заголовок hero не розривається в середині слова */
.hero h1 em{white-space:normal}
/* 2. логотип у підвалі видно на світлому тлі */
.footer-brand,.footer-brand .brand-name{color:var(--ink)}
.footer-brand .brand-name b{color:#5b6370}
:root[data-theme="dark"] .footer-brand,:root[data-theme="dark"] .footer-brand .brand-name{color:#f0f3f8}
/* 5. підпис для умовних схем */
.visual-note{position:absolute;right:16px;top:44px;z-index:2;font:500 10px var(--mono);letter-spacing:.06em;color:rgba(237,242,250,.85);background:rgba(10,14,20,.5);padding:4px 7px;border-radius:4px}
/* 3. мінімальні розміри шрифтів замість 6–9 px і кращий контраст сірого */
.service-tags,.project-stack span,.project-category,.section .eyebrow,.service-num,.principles span,.contact-side-label,.footer-copy,.back-top,.source-note,.project-index,.compact-number,.direct-num,.hero-meta,.direct-card .status,.project-link,.text-link{font-size:11px}
.section .eyebrow,.service-num,.project-index,.compact-number,.direct-num,.principles span{color:#5d6672}
.section-intro,.about-copy,.direct-heading>p:last-child,.project-info p,.project-compact p,.direct-card p{color:#4a5260}
.service-card p,.project-info p,.project-compact p,.direct-card p,.about-copy,.section-intro,.direct-heading>p:last-child{font-size:13px;line-height:1.7}
.hero-copy{font-size:15px}
/* 8. менше порожнього місця в картках проєктів */
.direct-card{min-height:190px}
/* 1. остання картка проєктів займає всю ширину, без порожнього місця */
@media(min-width:701px){.project-list>.project:nth-child(4){grid-column:span 2}}
/* 1. мобільний hero: візуал іде окремим блоком під текстом, а не поверх підписів */
@media(max-width:700px){
 .hero{flex-direction:column;min-height:auto;padding-bottom:40px}
 .hero-art{position:relative;top:auto;right:auto;transform:none;width:100%;height:400px;margin-top:44px}
 .hero-meta{position:relative;bottom:auto;flex-direction:row;flex-wrap:wrap;gap:8px 16px;margin-top:28px}
 .hero h1 em{font-size:.92em}
 .service-card p,.project-info p,.project-compact p,.direct-card p{font-size:12px}
 .project-info h3{font-size:14px}
 .section-intro,.about-copy{font-size:14px}
 .visual-note{font-size:8px;right:10px;bottom:10px}
}

/* ===== другий етап правок ===== */
/* 4. hero у тому ж теплому тоні, що й решта сторінки (темна тема не змінюється) */
:root:not([data-theme="dark"]) .hero{background:#ECEBE5;color:#121411}
:root:not([data-theme="dark"]) .hero-grid{background-image:linear-gradient(rgba(18,20,17,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(18,20,17,.05) 1px,transparent 1px)}
:root:not([data-theme="dark"]) .hero:after{background:radial-gradient(circle,rgba(35,96,220,.08),transparent 68%)}
:root:not([data-theme="dark"]) .hero h1{color:#121411}
:root:not([data-theme="dark"]) .hero h1 em{color:#2360dc}
:root:not([data-theme="dark"]) .hero-copy{color:#33362F}
:root:not([data-theme="dark"]) .hero .eyebrow{color:#55584F}
:root:not([data-theme="dark"]) .hero .button-ghost{border-color:#121411;color:#121411}
:root:not([data-theme="dark"]) .hero .button-ghost span:last-child{color:#2360dc}
:root:not([data-theme="dark"]) .hero-meta{color:#55584F}
:root:not([data-theme="dark"]) .hero-bottomline{background:#c9c8bf}
:root:not([data-theme="dark"]) .orbit{border-color:rgba(18,20,17,.12)}
:root:not([data-theme="dark"]) .art-core{background:radial-gradient(circle at 45% 38%,#F7F6F1,#E2E1DA 68%)}
:root:not([data-theme="dark"]) .core-label{color:#121411}
:root:not([data-theme="dark"]) .core-label span{color:#55584F}
:root:not([data-theme="dark"]) .art-caption,:root:not([data-theme="dark"]) .art-cross{color:#8a8c83}
/* 6. мобільний: hero-мета і кнопки читаються на світлому тлі */
@media(max-width:700px){:root:not([data-theme="dark"]) .hero-meta{color:#55584F}}

.project-proof{margin:0 0 15px;padding:8px 10px;border-left:2px solid #5a82cb;background:rgba(90,130,203,.08);font:500 9px/1.55 var(--mono);color:var(--ink)}.project-compact .project-proof{margin:10px 0 12px;font-size:8px}.direct-card .project-proof{margin:0 0 16px;font-size:8px}

.project-proof,.project-compact .project-proof,.direct-card .project-proof{font-size:10px}
.portfolio-total{display:flex;align-items:center;gap:14px;margin:0 0 17px;padding:13px 15px;border:1px solid var(--line);background:rgba(90,130,203,.07)}
.portfolio-total-number{font:600 34px/1 var(--display);letter-spacing:-.055em;color:#5a82cb}
.portfolio-total-copy strong,.portfolio-total-copy small{display:block}
.portfolio-total-copy strong{font-size:12px;color:var(--ink)}
.portfolio-total-copy small{margin-top:4px;font-size:10px;line-height:1.45;color:var(--muted)}
:root[data-theme="dark"] .portfolio-total{background:rgba(90,130,203,.12)}
@media(max-width:700px){.portfolio-total{margin-top:16px}}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.process-grid article{background:var(--paper);padding:28px;min-width:0}.process-grid article>span{color:#5a82cb;font-size:12px}.process-grid h3{margin:30px 0 10px;font-size:18px}.process-grid p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}@media(max-width:800px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.process-grid{grid-template-columns:1fr}}

/* Projects share one responsive grid and a consistent card layout. */
.project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.more-projects{display:contents}
.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card,.project-list>.project:nth-child(4){grid-column:auto;display:flex;flex-direction:column;min-width:0;min-height:0;padding:24px;border:1px solid var(--line);border-radius:4px;background:#F7F6F1}
.project-list .project-visual{display:none}
.project-list .project-info,.project-list .project-featured .project-info{display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:0;padding:0;background:transparent}
.project-list .project-compact .compact-content{display:flex;flex-direction:column;flex:1}
.project-list .compact-number,.project-list .direct-num{font:500 11px var(--mono);color:#8490a1;padding:0}
.project-list .compact-arrow{align-self:flex-start;margin-top:14px}
.project-list .project-info h3,.project-list .project-featured .project-info h3,.project-list .project-compact h3,.project-list .direct-card h4{font:650 17px/1.35 var(--display);letter-spacing:-.035em;margin:18px 0 10px;max-width:none;color:var(--ink)}
.project-list .project-info p,.project-list .project-featured .project-info p,.project-list .project-compact p,.project-list .direct-card p{font-size:13px;line-height:1.65;max-width:none;margin:0 0 16px}
.project-list .project-stack{margin-top:auto}
:root[data-theme="dark"] .project-list>.project,:root[data-theme="dark"] .project-list .more-projects>.project,:root[data-theme="dark"] .project-list .more-projects>.direct-card{background:#171b21;border-color:#30363f}
:root[data-theme="dark"] .project-list .project-info h3,:root[data-theme="dark"] .project-list .project-compact h3,:root[data-theme="dark"] .project-list .direct-card h4{color:#edf1f7}
@media(max-width:1000px){.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-list{grid-template-columns:minmax(0,1fr);gap:14px}.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{padding:20px}}
/* Compact project widget cards: show a tidy summary and consistent metadata. */
.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{padding:18px 19px;border-radius:8px;box-shadow:0 5px 18px rgba(25,35,50,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.project-list>.project:hover,.project-list .more-projects>.project:hover,.project-list .more-projects>.direct-card:hover{transform:translateY(-3px);border-color:rgba(90,130,203,.55);box-shadow:0 12px 28px rgba(25,35,50,.09)}
.project-list .project-info h3,.project-list .project-featured .project-info h3,.project-list .project-compact h3,.project-list .direct-card h4{font-size:15px;line-height:1.4;margin:12px 0 8px}
.project-list .project-info p,.project-list .project-featured .project-info p,.project-list .project-compact p,.project-list .direct-card p{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.project-list .project-proof,.project-list .project-compact .project-proof,.project-list .direct-card .project-proof{font:10px/1.45 var(--body);padding:6px 8px;margin:0 0 10px}
.project-list .project-stack{gap:5px;margin-top:auto}.project-list .project-stack span{font-size:9px;padding:4px 6px}
.project-list .project-link,.project-list .compact-arrow{font-size:10px;margin-top:10px}
@media(max-width:700px){.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{padding:17px}.project-list .project-info p,.project-list .project-featured .project-info p,.project-list .project-compact p,.project-list .direct-card p{-webkit-line-clamp:2}}
/* Calm horizontal case carousel */
.project-list{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:3px 2px 14px;scrollbar-width:none}
.project-list::-webkit-scrollbar{display:none}.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{scroll-snap-align:start;min-height:260px}
.more-projects{display:contents}
.project-list .project-info p,.project-list .project-featured .project-info p,.project-list .project-compact p,.project-list .direct-card p{-webkit-line-clamp:3}
.project-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px}.project-carousel-controls button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:18px;cursor:pointer;transition:background .2s,color .2s}.project-carousel-controls button:hover{background:#5a82cb;color:#fff}.project-carousel-count{margin-right:auto;color:var(--muted);font:11px var(--mono)}
@media(max-width:1000px){.project-list{grid-auto-columns:calc((100% - 16px)/2)}}
@media(max-width:700px){.project-list{grid-auto-columns:86%;gap:12px}.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{min-height:240px}}
/* Refined blue gradient accents for a warmer, more polished portfolio */
.hero{background:radial-gradient(ellipse at 78% 58%,rgba(62,103,174,.30),transparent 38%),radial-gradient(ellipse at 10% 100%,rgba(35,74,137,.22),transparent 40%),linear-gradient(118deg,#101318 0%,#141a24 58%,#10151d 100%)}
.hero:after{background:radial-gradient(ellipse at 65% 60%,rgba(102,151,229,.16),transparent 58%)}
.work{background:linear-gradient(180deg,#f8f7f3 0%,#f0f2f4 100%)}
.project-list>.project,.project-list .more-projects>.project,.project-list .more-projects>.direct-card{position:relative;isolation:isolate;background:linear-gradient(145deg,#fff 0%,#f8f8f6 72%,#f0f4fa 100%);border-color:#e0e4e9}
.project-list>.project:before,.project-list .more-projects>.project:before,.project-list .more-projects>.direct-card:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:3px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,#5a82cb 0%,#9fc0ee 48%,rgba(159,192,238,0) 100%);opacity:.75}
.project-list>.project:hover,.project-list .more-projects>.project:hover,.project-list .more-projects>.direct-card:hover{background:linear-gradient(145deg,#fff 0%,#f7f9fc 65%,#eaf1fb 100%)}
:root[data-theme="dark"] .work{background:linear-gradient(180deg,#12161c 0%,#171b22 100%)}
:root[data-theme="dark"] .project-list>.project,:root[data-theme="dark"] .project-list .more-projects>.project,:root[data-theme="dark"] .project-list .more-projects>.direct-card{background:linear-gradient(145deg,#1b2028 0%,#171b21 72%,#192230 100%);border-color:#303844}
:root[data-theme="dark"] .project-list>.project:hover,:root[data-theme="dark"] .project-list .more-projects>.project:hover,:root[data-theme="dark"] .project-list .more-projects>.direct-card:hover{background:linear-gradient(145deg,#202732 0%,#1a2029 65%,#1d2a3b 100%)}

/* A few confident accents to break up the text-only carousel */
.button-primary,.button-small{background:linear-gradient(115deg,#5d87d6 0%,#4774c5 52%,#6b91d8 100%);border-color:transparent;box-shadow:0 7px 20px rgba(68,111,190,.22);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.button-primary:hover,.button-small:hover{filter:saturate(1.12) brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 26px rgba(68,111,190,.3)}
.project-glyph{display:grid;place-items:center;width:38px;height:38px;margin:16px 0 3px;border-radius:12px;color:#3f6fb7;background:linear-gradient(145deg,#e8effb,#dce8f8 62%,#eef3fb);font:600 16px var(--mono);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
:root[data-theme="dark"] .project-glyph{color:#a9c6f3;background:linear-gradient(145deg,#263b5b,#202b3b 65%,#29364a);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.project-carousel-controls{display:grid;grid-template-columns:1fr auto auto;gap:10px}.project-carousel-progress{grid-column:1/-1;height:3px;background:rgba(90,130,203,.15);border-radius:9px;overflow:hidden}.project-carousel-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#527ec9,#91b8ef);border-radius:9px;transition:width .2s ease}.project-carousel-controls button{border-radius:12px}

/* Unified service cards: consistent contrast and stronger visual rhythm */
.service-grid{overflow:hidden;border:1px solid #303742;border-radius:14px;background:#303742;gap:1px;box-shadow:0 18px 45px rgba(5,10,18,.14)}
.service-card,.service-card:nth-child(2),.service-note{position:relative;isolation:isolate;min-height:260px;padding:30px 28px 26px;background:linear-gradient(145deg,#171c23 0%,#151a21 72%,#182131 100%);color:#eef2f8;border:0;transition:background .22s ease,transform .22s ease}
.service-card:nth-child(2){color:#eef2f8}.service-card:nth-child(2) h3,.service-note h3{color:#f0f3f8}.service-card p,.service-card:nth-child(2) p,.service-note p{color:#aeb8c7}.service-card .service-tags,.service-card:nth-child(2) .service-tags{color:#91a2ba}.service-card .service-num,.service-card:nth-child(2) .service-num{color:#8398b5}
.service-card:hover,.service-card:nth-child(2):hover,.service-note:hover{z-index:1;background:linear-gradient(145deg,#1d2633 0%,#18202c 62%,#202e42 100%);transform:translateY(-2px)}
.service-icon{width:40px;height:40px;margin-bottom:25px;border-radius:11px;border:1px solid rgba(120,163,231,.28);color:#8eb5f2;background:linear-gradient(145deg,rgba(82,126,199,.20),rgba(40,62,96,.24));font-size:19px}
.service-card h3{font-size:17px;line-height:1.35;margin-bottom:11px}.service-card p{max-width:300px;font-size:13px;line-height:1.7;margin-bottom:22px}.service-tags{letter-spacing:.08em}
.service-note{background:linear-gradient(145deg,#1a2637 0%,#1b2b43 58%,#243d60 100%)}.service-note:hover{background:linear-gradient(145deg,#203149 0%,#213755 58%,#2d4b73 100%)}.service-note .text-link{color:#b9d2f7;border-color:rgba(157,191,242,.42)}.note-symbol{font-size:25px;margin-bottom:22px;color:#91b7f2}
:root:not([data-theme="dark"]) .service-grid{border-color:#d9dfe8;background:#d9dfe8;box-shadow:0 18px 45px rgba(37,58,91,.09)}
:root:not([data-theme="dark"]) .service-card,:root:not([data-theme="dark"]) .service-card:nth-child(2){background:linear-gradient(145deg,#fff 0%,#f8f9fb 70%,#eef3fb 100%);color:#17202b}
:root:not([data-theme="dark"]) .service-card:nth-child(2) h3,:root:not([data-theme="dark"]) .service-note h3{color:#17202b}
:root:not([data-theme="dark"]) .service-card p,:root:not([data-theme="dark"]) .service-card:nth-child(2) p,:root:not([data-theme="dark"]) .service-note p{color:#586577}
:root:not([data-theme="dark"]) .service-card .service-tags,:root:not([data-theme="dark"]) .service-card:nth-child(2) .service-tags{color:#526782}
:root:not([data-theme="dark"]) .service-card .service-num,:root:not([data-theme="dark"]) .service-card:nth-child(2) .service-num{color:#7b8da8}
:root:not([data-theme="dark"]) .service-note{background:linear-gradient(145deg,#e8effa 0%,#e2ebf8 58%,#d7e5f8 100%)}
@media(max-width:1000px){.service-card,.service-card:nth-child(2),.service-note{min-height:245px;padding:24px 21px}}
@media(max-width:410px){.service-card,.service-card:nth-child(2),.service-note{min-height:210px;padding:22px}}

.about-left{position:relative}.about-portrait{width:min(100%,320px);height:370px;margin:0 0 32px;overflow:hidden;border-radius:14px;position:relative;background:#1a2433;box-shadow:0 20px 48px rgba(20,32,52,.16)}.about-portrait:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(13,19,29,.24));pointer-events:none}.about-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 30%;filter:saturate(.9)}:root[data-theme="dark"] .about-portrait{box-shadow:0 20px 54px rgba(0,0,0,.3)}@media(max-width:700px){.about-portrait{width:min(100%,280px);height:340px;margin-bottom:24px}}

.rank-proof{display:block;margin:0 0 16px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(120deg,rgba(90,130,203,.10),rgba(90,130,203,.025));color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}.rank-proof:hover{border-color:#7b9cd2;transform:translateY(-2px)}.rank-proof-label{display:block;font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}.rank-proof-items{display:flex;gap:28px;margin:10px 0 7px}.rank-proof-items>span{display:flex;align-items:baseline;gap:8px}.rank-proof-items b{font:650 23px/1 var(--display);letter-spacing:-.04em;color:#5a82cb}.rank-proof-items small{font-size:11px;color:var(--ink)}.rank-proof-foot{font-size:10px;color:var(--muted)}:root[data-theme="dark"] .rank-proof{background:linear-gradient(120deg,rgba(90,130,203,.17),rgba(90,130,203,.06))}

/* Mobile tap targets and clearer primary action */
@media(max-width:700px){.hero-buttons{gap:10px}.hero-buttons .button{min-height:48px;padding-inline:15px;font-size:12px;gap:12px}.nav-actions .theme-toggle,.nav-actions .lang,.menu-toggle{min-width:42px;min-height:42px}}
@media(max-width:410px){.hero-buttons{display:grid;grid-template-columns:1fr}.hero-buttons .button{width:100%;justify-content:space-between;padding-inline:17px}.hero-buttons .button-primary{box-shadow:0 8px 22px rgba(68,111,190,.28)}}

/* Keep the mobile menu icon visible in both color themes */
.menu-toggle{width:44px;height:44px;display:none;align-items:center;justify-content:center;border:1px solid rgba(128,145,168,.35);border-radius:10px;background:rgba(90,130,203,.08);cursor:pointer}
.menu-toggle i{width:18px;height:2px;margin:3px 0;border-radius:2px;background:#252d39;transition:transform .2s,opacity .2s}
:root[data-theme="dark"] .menu-toggle i{background:#e9eef6}
@media(max-width:700px){.menu-toggle{display:flex;flex-direction:column}}
