/*
Theme Name: Reference Blocks
Description: Персональный сайт Александра Барышникова.
Version: 0.3.7
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: reference-blocks
*/

:root {
 --ink:#242424; --muted:#686868; --light:#f3f3f3; --white:#fff; --line:#dedede;
 --page-width:1840px; --gutter:clamp(24px,2.5vw,48px); --section-space:clamp(88px,8vw,156px);
 --gap:clamp(24px,2.5vw,48px); --small-gap:20px; --radius:20px; --button-radius:10px;
 --body-size:clamp(16px,1.08vw,20px); --title-size:clamp(42px,4.1vw,78px); --heading-size:clamp(32px,2.65vw,50px);
 --subheading-size:clamp(22px,1.5vw,28px); --statement-size:clamp(27px,2vw,38px); --label-size:16px; --tiny-size:13px;
 --letter-space:-.055em; --body-line:1.45; --heading-line:1.12;
 --hero-top:clamp(100px,10vw,190px); --hero-bottom:56px; --hero-title-width:1480px; --hero-title-gap:28px; --hero-cta-gap:42px; --hero-subtitle-size:clamp(22px,2vw,34px);
 --feature-gap:70px; --plus-size:23px; --plus-gap:24px; --circle-radius:50%;
 --button-height:70px; --button-pad:28px; --arrow-size:32px; --arrow-font:22px; --button-gap:38px; --button-inset:15px;
 --button-arrow-icon:16px; --button-arrow-white:url('assets/arrow-white.svg'); --button-arrow-dark:url('assets/arrow.svg'); --feature-plus-icon:11px; --feature-plus-image:url('assets/plus-white.svg'); --hero-button-width:224px; --hero-button-hover:#383838;
 --button-lift:3px; --button-arrow-shift:2px; --button-motion:320ms cubic-bezier(.22,1,.36,1); --button-hover-shadow:0 12px 28px rgba(36,36,36,.12);
 --hero-background:none; --hero-fade-start:58%;
 --hero-shapes-width:40%; --hero-shapes-height:clamp(400px,32vw,570px); --hero-shapes-top:20px;
 --hero-shape-drift:24px; --hero-shape-float:19s; --hero-shape-spin:90s;
 --hero-shape-opacity:.94; --hero-shape-blur:0px;
 --hero-edge-fade:clamp(32px,6vw,128px); --education-card-height:240px; --education-card-pad:clamp(26px,2vw,36px);
 --popup-width:940px; --popup-pad:32px; --popup-gap:24px; --popup-close:44px; --popup-title-size:32px; --popup-card-height:160px; --popup-motion:240ms;
 --stroke:1px; --focus-stroke:3px; --focus-offset:5px; --photo-ratio:2.55; --split-columns:38% 1fr;
 --portrait-size:clamp(150px,14vw,270px); --about-gap:52px; --about-bottom-gap:60px; --row-space:34px;
 --logo-width:190px; --job-columns:190px 1fr; --card-pad:clamp(26px,2.4vw,46px); --card-height:290px; --card-top-gap:42px;
 --number-size:clamp(76px,7vw,132px); --number-unit:clamp(23px,2.4vw,44px); --stat-offset:200px; --stat-gap:30px; --stat-pad:24px;
 --competency-height:690px; --skill-height:215px; --problem-columns:56px 1fr; --problem-copy-gap:18px;
 --note-ratio:1.65; --note-copy-pad:28px; --note-meta-gap:35px; --note-meta-inline-gap:12px; --note-filter-motion:600ms ease; --note-meta-weight:600;
 --note-meta-icon-size:16px; --note-meta-icon-gap:7px; --note-calendar:url('assets/calendar.svg'); --note-clock:url('assets/clock.svg');
 --contact-pad:clamp(64px,7vw,128px); --contact-width:1080px; --contact-cta-gap:56px; --contact-button-height:64px; --contact-note-gap:32px;
 --contact-buttons-width:720px; --contact-button-font:18px; --contact-arrow-size:26px; --contact-arrow-icon:12px;
 --contact-gradient:linear-gradient(125deg,#454545 0%,#2d2d2d 45%,#171717 100%);
 --contact-glass:rgba(255,255,255,.10); --contact-glass-hover:rgba(255,255,255,.19); --contact-glass-border:rgba(255,255,255,.22);
 --reveal-distance:24px; --reveal-duration:800ms; --reveal-stagger:70ms; --counter-duration:1500ms;
 --contact-card-height:210px; --contact-card-pad:28px; --contact-name-size:22px; --contact-detail-size:18px; --contact-detail-color:rgba(255,255,255,.65);
 --marquee-size:clamp(76px,10vw,190px); --marquee-gap:64px; --marquee-top:64px; --marquee-duration:28s; --marquee-color:rgba(36,36,36,.08); --marquee-letter-space:.01em;
 --article-width:840px; --article-space:80px; --transition:200ms ease; --unit-gap:6px; --letter-secondary:-.035em; --dot-size:12px;
 --footer-pad:24px; --footer-gap:32px; --footer-logo:68px; --footer-height:108px; --footer-font:14px; --footer-text:rgba(255,255,255,.72); --footer-credit-pad:14px; --footer-credit-logo:48px;
}
html {scroll-behavior:smooth}
body {font-family:var(--wp--preset--font-family--body)}
body,.editor-styles-wrapper {color:var(--ink);background:var(--white)}
*,*::before,*::after {box-sizing:border-box}
.wp-site-blocks {padding:0}
:root .wp-site-blocks>*, :root .wp-site-blocks main>* {margin-block:0}
:root .site-page {max-width:var(--page-width);margin-inline:auto;padding-inline:var(--gutter);font-size:var(--body-size);line-height:var(--body-line)}
:root .site-page :where(p,h1,h2,h3,h4,figure,.wp-block-group,.wp-block-buttons) {margin:0}
.site-page h1,.site-page h2,.site-page .section-lead,.site-page .item-title,.article-shell h1,.article-shell h2 {font-family:var(--wp--preset--font-family--heading);font-weight:500;letter-spacing:var(--letter-space);line-height:var(--heading-line);text-wrap:balance;color:var(--ink)}
.site-page h2 {font-size:var(--heading-size)}
.site-page .item-title {font-size:var(--subheading-size);letter-spacing:var(--letter-secondary)}
.site-page .section-lead {font-size:var(--heading-size);letter-spacing:var(--letter-space)}
.site-page p {color:var(--muted)}
.site-page .section {margin-block-start:var(--section-space)}
.site-page .section-label {color:var(--muted);font-size:var(--label-size);line-height:var(--body-line);font-family:var(--wp--preset--font-family--body);font-weight:400;letter-spacing:normal;text-wrap:initial}
.site-page .section-grid {display:grid;grid-template-columns:var(--split-columns);gap:var(--gap)}
.site-page .section-body {min-width:0}
.site-page .section-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap);margin-block-end:var(--card-top-gap)}
.site-page .section-heading .section-lead {width:62%}
.site-page .overline {font-size:var(--label-size)}
.site-page .demo-note {font-size:var(--tiny-size);margin-block-start:var(--small-gap)}
.site-page .hero {position:relative;isolation:isolate;margin-block-start:0;padding-block:var(--hero-top) var(--hero-bottom)}
.site-page .hero > :not(.hero-shapes) {position:relative;z-index:1}
:root .site-page .hero .hero-shapes {position:absolute;z-index:0;top:var(--hero-shapes-top);right:0;width:var(--hero-shapes-width);height:var(--hero-shapes-height);container-type:size;pointer-events:none;filter:blur(var(--hero-shape-blur));opacity:var(--hero-shape-opacity)}
:root .site-page .hero-shapes .hero-shape {position:absolute;width:min(var(--shape-size),var(--shape-height-limit));top:0;left:0;transform:translate(calc(var(--shape-x1) - 50%),calc(var(--shape-y1) - 50%));animation:hero-shape-float var(--hero-shape-float) ease-in-out infinite;animation-delay:var(--shape-delay);will-change:transform}
.site-page .hero-shape img {display:block;width:100%;height:auto;animation:hero-shape-spin var(--hero-shape-spin) linear infinite;animation-direction:var(--shape-spin-direction);animation-delay:var(--shape-delay);will-change:transform}
.hero-shape-1 {--shape-size:32cqw;--shape-height-limit:36cqh;--shape-delay:-8s;--hero-shape-float:38s;--shape-spin-direction:normal;--shape-tilt-x:14deg;--shape-tilt-y:9deg;--shape-x1:28cqw;--shape-y1:33cqh;--shape-x2:62cqw;--shape-y2:36cqh;--shape-x3:48cqw;--shape-y3:66cqh;--shape-x4:32cqw;--shape-y4:57cqh}
.hero-shape-2 {--shape-size:22cqw;--shape-height-limit:28cqh;--shape-delay:-31s;--hero-shape-spin:110s;--hero-shape-float:43s;--shape-spin-direction:reverse;--shape-tilt-x:22deg;--shape-tilt-y:16deg;--shape-x1:73cqw;--shape-y1:30cqh;--shape-x2:56cqw;--shape-y2:63cqh;--shape-x3:30cqw;--shape-y3:42cqh;--shape-x4:54cqw;--shape-y4:32cqh}
.hero-shape-3 {--shape-size:34cqw;--shape-height-limit:36cqh;--shape-delay:-53s;--hero-shape-spin:130s;--hero-shape-float:49s;--shape-spin-direction:normal;--shape-tilt-x:10deg;--shape-tilt-y:20deg;--shape-x1:69cqw;--shape-y1:65cqh;--shape-x2:39cqw;--shape-y2:54cqh;--shape-x3:63cqw;--shape-y3:33cqh;--shape-x4:72cqw;--shape-y4:51cqh}
.hero-shape-4 {--shape-size:25cqw;--shape-height-limit:30cqh;--shape-delay:-18s;--hero-shape-spin:100s;--hero-shape-float:35s;--shape-spin-direction:reverse;--shape-tilt-x:18deg;--shape-tilt-y:12deg;--shape-x1:30cqw;--shape-y1:68cqh;--shape-x2:61cqw;--shape-y2:52cqh;--shape-x3:37cqw;--shape-y3:33cqh;--shape-x4:28cqw;--shape-y4:50cqh}
@keyframes hero-shape-float {
 0%,100% {transform:translate(calc(var(--shape-x1) - 50%),calc(var(--shape-y1) - 50%))}
 25% {transform:translate(calc(var(--shape-x2) - 50%),calc(var(--shape-y2) - 50%))}
 50% {transform:translate(calc(var(--shape-x3) - 50%),calc(var(--shape-y3) - 50%))}
 75% {transform:translate(calc(var(--shape-x4) - 50%),calc(var(--shape-y4) - 50%))}
}
@keyframes hero-shape-spin {
 0% {transform:rotateX(var(--shape-tilt-x)) rotateY(calc(-1 * var(--shape-tilt-y))) rotateZ(0deg)}
 25% {transform:rotateX(calc(-1 * var(--shape-tilt-x))) rotateY(var(--shape-tilt-y)) rotateZ(90deg)}
 50% {transform:rotateX(var(--shape-tilt-x)) rotateY(var(--shape-tilt-y)) rotateZ(180deg)}
 75% {transform:rotateX(calc(-1 * var(--shape-tilt-x))) rotateY(calc(-1 * var(--shape-tilt-y))) rotateZ(270deg)}
 100% {transform:rotateX(var(--shape-tilt-x)) rotateY(calc(-1 * var(--shape-tilt-y))) rotateZ(360deg)}
}
@media(max-width:1100px) {
 .site-page .hero {--hero-shapes-width:100%;--hero-shapes-height:360px;--hero-shapes-top:24px;--hero-shape-opacity:.35;--hero-shape-blur:3px}
}
@media(prefers-reduced-motion:reduce) {.site-page .hero-shape,.site-page .hero-shape img {animation:none!important;will-change:auto}}
.editor-styles-wrapper .hero-shape,.editor-styles-wrapper .hero-shape img {animation:none!important;will-change:auto}
.site-page .hero::before {content:"";position:absolute;z-index:-1;inset:calc(-1 * var(--header-height,112px)) calc(-1 * var(--gutter)) 0;background-image:linear-gradient(to bottom,rgba(255,255,255,0) var(--hero-fade-start),var(--white) 100%),var(--hero-background);background-size:cover;background-position:center top;background-repeat:no-repeat;mask-image:linear-gradient(to right,transparent,#000 var(--hero-edge-fade),#000 calc(100% - var(--hero-edge-fade)),transparent);pointer-events:none}
@media(max-width:781px) {
 .site-page .hero::before {mask-image:none}
}
.site-page .eyebrow {font-size:var(--label-size);margin-block-end:var(--hero-title-gap)}
.site-page .hero-title {font-size:var(--title-size);max-width:var(--hero-title-width)}
.site-page .hero-subtitle {font-size:var(--hero-subtitle-size);margin-block-start:var(--hero-title-gap);color:var(--ink)}
.site-page .muted-heading {color:var(--muted)}
.site-page .hero>.wp-block-buttons {margin-block-start:var(--hero-cta-gap)}
.site-page .hero-features {display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-block-start:var(--feature-gap)}
.site-page .feature::before {content:'';display:block;width:var(--plus-size);height:var(--plus-size);border-radius:var(--circle-radius);background:var(--feature-plus-image) center/var(--feature-plus-icon) no-repeat var(--ink);margin-block-end:var(--plus-gap)}
.site-page .action .wp-block-button__link,.article-body .action .wp-block-button__link {display:flex;align-items:center;justify-content:space-between;gap:var(--button-gap);min-height:var(--button-height);padding:var(--button-inset) var(--button-inset) var(--button-inset) var(--button-pad);border-radius:var(--button-radius);font-size:var(--label-size);font-weight:400;text-decoration:none;background:var(--light);color:var(--ink);transition:background var(--transition),color var(--transition)}
.site-page .action .wp-block-button__link::after,.article-body .action .wp-block-button__link::after {content:'';display:block;flex:0 0 var(--arrow-size);width:var(--arrow-size);height:var(--arrow-size);border-radius:var(--circle-radius);background:var(--button-arrow-white) center/var(--button-arrow-icon) no-repeat var(--ink);transform:rotate(45deg)}
.site-page .wp-block-button,.article-body .wp-block-button {max-width:100%}
.site-page .action .wp-block-button__link,.article-body .action .wp-block-button__link {max-width:100%;overflow-wrap:anywhere;transition:background var(--button-motion),color var(--button-motion),transform var(--button-motion),box-shadow var(--button-motion)}
.site-page .action .wp-block-button__link::after,.article-body .action .wp-block-button__link::after {transition:transform var(--button-motion),background var(--button-motion),color var(--button-motion)}
.site-page .action:not(.contact-button) .wp-block-button__link:focus-visible,.article-body .action .wp-block-button__link:focus-visible {background:var(--ink);color:var(--white)}
.site-page .action:not(.contact-button) .wp-block-button__link:focus-visible::after,.article-body .action .wp-block-button__link:focus-visible::after {background-color:var(--white);background-image:var(--button-arrow-dark)}
@media(hover:hover) {
 .site-page .action .wp-block-button__link:hover,.article-body .action .wp-block-button__link:hover {transform:translateY(calc(-1 * var(--button-lift)));box-shadow:var(--button-hover-shadow)}
 .site-page .action:not(.contact-button) .wp-block-button__link:hover,.article-body .action .wp-block-button__link:hover {background:var(--ink);color:var(--white)}
 .site-page .action:not(.contact-button) .wp-block-button__link:hover::after,.article-body .action .wp-block-button__link:hover::after {background-color:var(--white);background-image:var(--button-arrow-dark)}
 .site-page .action .wp-block-button__link:hover::after,.article-body .action .wp-block-button__link:hover::after {transform:translate(var(--button-arrow-shift),calc(-1 * var(--button-arrow-shift))) rotate(0deg)}
}
.site-page .hero .action,.site-page .blog-actions .action {width:var(--hero-button-width);max-width:100%}
.site-page .hero .action .wp-block-button__link,.site-page .blog-actions .action .wp-block-button__link {background:var(--ink);color:var(--white)}
.site-page .hero .action .wp-block-button__link::after,.site-page .blog-actions .action .wp-block-button__link::after {background-color:var(--white);background-image:var(--button-arrow-dark)}
@media(hover:hover) {.site-page .hero .action .wp-block-button__link:hover,.site-page .blog-actions .action .wp-block-button__link:hover {background:var(--hero-button-hover)}}
a:focus-visible {outline:var(--focus-stroke) solid currentColor;outline-offset:var(--focus-offset)}
:root {--error-code-size:clamp(128px,min(24vw,40svh),440px);--error-message-size:clamp(20px,2vw,30px);--error-page-pad:40px;--error-content-gap:32px}
:root .site-page.error-page {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - var(--header-height,112px));padding-block:var(--error-page-pad);text-align:center}
.site-page.error-page .error-code {font-size:var(--error-code-size);line-height:.9;letter-spacing:-.065em;color:var(--ink)}
@supports (background-clip:text) {
 .site-page.error-page .error-code {background-image:var(--contact-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
}
.site-page.error-page .error-message {margin-block-start:var(--error-content-gap);font-size:var(--error-message-size);color:#000}
:root .site-page.error-page .error-actions {margin-block-start:var(--error-content-gap)}
@media(max-width:781px) {.site-page.error-page {--error-code-size:44vw}}
.site-page .landscape-section {margin-block-start:0}
.site-page .landscape-wide {width:100%}
.site-page .landscape-wide img {display:block;width:100%;aspect-ratio:var(--photo-ratio);object-fit:cover;object-position:center 25%;border-radius:var(--radius)}
.site-page .about-statement {font-size:var(--statement-size)}
.site-page .about-bottom {display:grid;grid-template-columns:var(--portrait-size) 1fr;gap:var(--about-gap);align-items:center;margin-block-start:var(--about-bottom-gap)}
.site-page .portrait img {display:block;width:var(--portrait-size);height:var(--portrait-size);object-fit:cover;border-radius:var(--circle-radius)}
.site-page .about-copy>.wp-block-buttons {margin-block-start:var(--small-gap)}
.site-page .blog-actions {display:flex;justify-content:center;margin-block-start:var(--gap)}
.site-page .experience-list {margin-block-start:var(--card-top-gap)}
.site-page .experience-row {display:grid;grid-template-columns:var(--job-columns);gap:var(--gap);align-items:center;padding-block:var(--row-space);border-block-start:var(--stroke) solid var(--line)}
.site-page .company-mark img {display:block;width:var(--logo-width);max-width:100%;height:auto}
.site-page .job-copy .item-title {margin-block:var(--small-gap)}
.site-page .education {--card-height:var(--education-card-height);--card-pad:var(--education-card-pad)}
.site-page .education-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap)}
.site-page .education-grid .education-card:first-child {grid-column:span 4}
.site-page .education-grid .education-card:nth-child(n+2) {grid-column:span 2}
.site-page .education-card {background:var(--light);border-radius:var(--radius);min-height:var(--card-height);height:auto;min-width:0;padding:var(--card-pad);overflow-wrap:anywhere}
.site-page .card-number {color:var(--ink);margin-block-end:var(--card-top-gap);font-size:var(--subheading-size)}
.site-page .education-card .item-title {margin-block:var(--small-gap)}
.site-page .card-caption {font-size:var(--label-size)}
.site-page .stats-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:var(--stat-gap);margin-block-start:var(--card-top-gap)}
.site-page .stat {border-block-start:var(--stroke) solid var(--line);padding-block-start:var(--stat-pad)}
.site-page .stat:nth-child(even) {margin-block-start:var(--stat-offset)}
.site-page .stat-value {font-family:var(--wp--preset--font-family--heading);font-size:var(--number-size);color:var(--ink);line-height:1;letter-spacing:var(--letter-space);white-space:nowrap}
.site-page .stat-value > span:not(.stat-number) {font-size:var(--number-unit);letter-spacing:var(--letter-secondary);margin-inline-start:var(--unit-gap)}
.site-page .stat-number {display:inline-block;font-variant-numeric:tabular-nums}
.site-page .stat-value:has(.stat-plus) {display:flex;align-items:center}
.site-page .stat-value .stat-plus {display:inline-block;margin-block:0}
.counter-accessible {position:absolute;width:var(--stroke);height:var(--stroke);padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-page .stat-label {color:var(--ink);margin-block-start:var(--small-gap)}
.site-page .competencies-grid {display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.site-page .competencies-intro {padding:var(--card-pad);border-radius:var(--radius);background:var(--light);min-height:var(--competency-height)}
.site-page .competencies-intro .section-lead {margin-block:var(--small-gap) var(--card-top-gap)}
.site-page .competencies-intro .action .wp-block-button__link {background:var(--white)}
.site-page .skill-stack {display:grid;gap:var(--small-gap)}
.site-page .skill-card {padding:var(--card-pad);border-radius:var(--radius);background:var(--light);min-height:var(--skill-height);display:flex;flex-direction:column;justify-content:space-between;gap:var(--small-gap)}
.site-page .skill-card .item-title::after {content:'';float:right;width:var(--dot-size);height:var(--dot-size);border-radius:var(--circle-radius);background:#d6d6d6;margin-block-start:var(--unit-gap)}
.site-page .problem-list {margin-block-start:var(--card-top-gap)}
.site-page .problem-row {display:grid;grid-template-columns:var(--problem-columns);gap:var(--small-gap);border-block-start:var(--stroke) solid var(--line);padding-block:var(--row-space)}
.site-page .problem-index {color:var(--muted);font-size:var(--label-size)}
.site-page .problem-copy p {margin-block-start:var(--problem-copy-gap)}
.site-page .notes-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.site-page .note-card {background:var(--light);border-radius:var(--radius);overflow:hidden}
.site-page .note-image img {display:block;width:100%;aspect-ratio:var(--note-ratio);object-fit:cover;filter:grayscale(1);transition:filter var(--note-filter-motion)}
@media(hover:hover) {.site-page .notes-grid > li:hover .note-image img {filter:grayscale(0)}}
.site-page .notes-grid > li:focus-within .note-image img {filter:grayscale(0)}
.site-page .crop-1 img {object-position:20% center}
.site-page .crop-2 img {object-position:90% center}
.site-page .note-copy {padding:var(--note-copy-pad);display:flex;flex-direction:column;flex:1}
.site-page .note-copy .item-title {margin-block-start:var(--small-gap)}
.site-page .note-copy .item-title a {color:var(--ink);text-decoration:none}
.site-page .note-copy .item-title a:hover {text-decoration:underline;text-underline-offset:var(--focus-offset)}
.site-page .note-copy .note-meta {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--note-meta-inline-gap);margin-block-start:auto;padding-block-start:var(--note-meta-gap);font-size:var(--tiny-size);font-weight:var(--note-meta-weight);color:var(--ink)}
.site-page .note-meta p {color:var(--ink)}
.site-page .note-meta .note-date {flex-shrink:0}
.site-page .note-meta .note-reading-time {min-width:0;text-align:right}
.site-page .note-meta :is(.note-date,.note-reading-time) {display:flex;align-items:center;gap:var(--note-meta-icon-gap);white-space:nowrap}
.site-page .note-meta :is(.note-date,.note-reading-time)::before {content:'';display:block;flex:0 0 var(--note-meta-icon-size);width:var(--note-meta-icon-size);height:var(--note-meta-icon-size);background:var(--note-calendar) center/contain no-repeat}
.site-page .note-meta .note-reading-time::before {background-image:var(--note-clock)}
.site-page .notes-grid {list-style:none;padding:0}
.site-page .notes-grid > li {position:relative;display:flex;flex-direction:column;min-width:0;margin:0;background:var(--light);border-radius:var(--radius);overflow:hidden}
.site-page .note-copy .item-title a::after {content:'';position:absolute;inset:0;z-index:1}
.site-page .notes-grid > li:has(a:focus-visible) {outline:var(--focus-stroke) solid var(--ink);outline-offset:var(--focus-offset)}
.editor-styles-wrapper .site-page .note-copy .item-title a::after {display:none}
.site-page .note-image {margin:0}
.site-page .note-excerpt {margin-top:var(--small-gap);font-size:var(--label-size);color:var(--muted)}
.site-page .note-excerpt p {margin:0}
.site-page .note-excerpt .wp-block-post-excerpt__more-text {display:none}
.site-page .note-copy .item-title {margin-top:0;text-wrap:pretty;line-height:var(--heading-line)}
.blog-page {padding-block:var(--row-space) var(--article-space)}
:root .site-page.blog-page h1 {font-size:var(--title-size);margin-block:var(--row-space)}
.blog-page .breadcrumbs {font-size:var(--label-size);color:var(--muted)}
.blog-page .breadcrumbs a {color:inherit;text-decoration:none}
.blog-page .blog-load-more {display:none}
.blog-page.blog-enhanced .blog-load-more {display:flex}
:root .site-page.blog-page .blog-load-more {margin-block-start:var(--card-top-gap)}
.blog-page .blog-load-more[hidden] {display:none}
.blog-page.blog-enhanced .blog-pagination {display:none}
.blog-page .blog-pagination {justify-content:center;margin-top:var(--gap)}
.blog-page .blog-load-status {text-align:center;font-size:var(--label-size);margin-top:var(--small-gap)}
.blog-page .blog-load-status:empty {display:none}
.site-page .contacts {background:var(--contact-gradient);color:var(--white);border-radius:var(--radius);padding:var(--contact-pad) var(--card-pad);text-align:center;margin-block-end:var(--gutter)}
.site-page .contacts .section-label {color:#bdbdbd}
.site-page .contacts h2 {max-width:var(--contact-width);margin:var(--small-gap) auto 0}
.site-page .contact-intro {color:#ddd;margin-block-start:var(--small-gap)}
.site-page .contact-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:var(--small-gap);max-width:var(--contact-buttons-width);margin:var(--contact-cta-gap) auto 0}
.site-page .contact-grid .wp-block-button {width:100%}
.site-page .contact-grid .action .wp-block-button__link {min-height:var(--contact-button-height);font-size:var(--contact-button-font);background:var(--contact-glass);border:var(--stroke) solid var(--contact-glass-border);color:var(--white);--arrow-size:var(--contact-arrow-size)}
.site-page .contact-grid .action .wp-block-button__link:hover {background:var(--contact-glass-hover)}
.site-page .contact-grid .action .wp-block-button__link::after {background-color:var(--contact-glass);background-image:var(--button-arrow-white);background-size:var(--contact-arrow-icon,14px)}
.motion-ready .site-page .reveal-pending {opacity:0;transform:translateY(calc(-1 * var(--reveal-distance)))}
.site-page .contact-note {color:#bdbdbd;margin-block-start:var(--contact-note-gap);font-size:var(--tiny-size)}
.site-page .contact-cards {padding:var(--card-pad);overflow:hidden;text-align:left}
.site-page .contact-cards .contacts-title {max-width:none;font-size:var(--label-size);font-family:var(--wp--preset--font-family--body);font-weight:400;line-height:var(--body-line);color:var(--contact-detail-color);margin:0 0 var(--row-space)}
.site-page .contact-cards .contact-grid {max-width:none;margin:0;gap:var(--gap)}
.site-page .contact-cards .action .wp-block-button__link {position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:var(--contact-card-height);padding:var(--contact-card-pad);border-radius:var(--radius);box-sizing:border-box;text-align:left;gap:var(--row-space)}
.site-page .contact-cards .contact-name {font-size:var(--contact-name-size);font-weight:500;line-height:var(--body-line)}
.site-page .contact-cards .contact-detail {font-size:var(--contact-detail-size);color:var(--contact-detail-color);line-height:var(--body-line);overflow-wrap:anywhere;padding-inline-end:calc(var(--contact-arrow-size) + var(--small-gap))}
.site-page .contact-cards .action .wp-block-button__link::after {position:absolute;right:var(--contact-card-pad);bottom:var(--contact-card-pad)}
.site-page .contact-cards .contact-button .wp-block-button__link::after {background-color:transparent;background-image:none;border-radius:0;transform:none;mask:var(--contact-icon) center/contain no-repeat;background:var(--contact-detail-color)}
.site-page .contact-cards .contact-button .wp-block-button__link[href^="https://t.me/"] {--contact-icon:url('assets/telegram.svg')}
.site-page .contact-cards .contact-button .wp-block-button__link[href^="https://vk."] {--contact-icon:url('assets/vk.svg')}
.site-page .contact-cards .contact-button .wp-block-button__link[href^="mailto:"] {--contact-icon:url('assets/at.svg')}
.site-page .contact-marquee {position:relative;overflow:hidden;background:var(--white);margin:var(--marquee-top) calc(-1 * var(--gutter)) var(--gutter)}
.site-page .marquee-track {display:flex;width:max-content;max-width:none;gap:0}
.site-page .marquee-copy {flex:none;font-family:var(--wp--preset--font-family--heading);font-size:var(--marquee-size);line-height:var(--heading-line);letter-spacing:var(--marquee-letter-space);white-space:nowrap;color:var(--marquee-color);padding-inline-end:var(--marquee-gap);margin:0}
.marquee-running .marquee-track {animation:contact-marquee var(--marquee-duration) linear infinite}
.contact-marquee:hover .marquee-track {animation-play-state:paused}
.marquee-reduced .marquee-track {animation:none}
.marquee-reduced .marquee-copy[aria-hidden] {display:none}
@keyframes contact-marquee {to {transform:translateX(-50%)}}
.article-shell {max-width:var(--article-width);margin:var(--article-space) auto;padding-inline:var(--gutter)}
.article-shell h1 {font-size:var(--heading-size)}
.article-shell .article-body>* {margin-block-start:var(--row-space)}
.article-shell .article-body {font-size:var(--body-size);line-height:var(--body-line)}
.article-shell .demo-note {color:var(--muted);font-size:var(--label-size)}
@media(max-width:1100px) {
 :root {--split-columns:28% 1fr;--about-gap:24px;--job-columns:150px 1fr;--logo-width:150px;--stat-offset:130px;--number-unit:27px}
 .site-page .stat-value {font-size:clamp(62px,7vw,90px)}
}
@media(min-width:782px) and (max-width:1100px) {
 .site-page .education-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-page .education-grid .education-card:first-child {grid-column:1 / -1}
 .site-page .education-grid .education-card:nth-child(n+2) {grid-column:auto}
}
@media(max-width:781px) {
 :root {
  --m-gutter:20px;--m-section-space:80px;--m-gap:24px;--m-title-size:clamp(36px,8.3vw,56px);--m-heading-size:32px;
  --m-hero-top:72px;--m-hero-title-size:clamp(20px,calc(8.2vw - 4.5px),60px);--m-photo-ratio:1.35;--m-card-pad:26px;--m-portrait-size:130px;--m-number-size:clamp(52px,16vw,78px);--m-contact-pad:58px;
  --m-contact-card-height:120px;--m-contact-card-pad:20px;--m-contact-card-gap:12px;--m-contact-grid-gap:16px;--m-contact-name-size:20px;--m-contact-detail-size:16px;
 --m-problem-columns:32px 1fr;--m-unit-gap:8px;--m-button-gap:24px;--m-button-pad:22px;--m-arrow-size:28px;
  --gutter:var(--m-gutter);--section-space:var(--m-section-space);--gap:var(--m-gap);--title-size:var(--m-title-size);
  --heading-size:var(--m-heading-size);--hero-top:var(--m-hero-top);--photo-ratio:var(--m-photo-ratio);--card-pad:var(--m-card-pad);
  --portrait-size:var(--m-portrait-size);--number-size:var(--m-number-size);--contact-pad:var(--m-contact-pad);
  --stat-offset:0px;--competency-height:0px;--contact-button-height:64px;--contact-card-height:var(--m-contact-card-height);--contact-card-pad:var(--m-contact-card-pad);--contact-name-size:var(--m-contact-name-size);--contact-detail-size:var(--m-contact-detail-size);--marquee-top:64px;
  --button-gap:var(--m-button-gap);--button-pad:var(--m-button-pad);--arrow-size:var(--m-arrow-size);
 }
 .site-page .hero-title br {display:none}
 .site-page .hero-title {font-size:var(--m-hero-title-size);white-space:nowrap}
 .site-page .hero-title .muted-heading {display:block;white-space:normal}
 .site-page .hero-features {grid-template-columns:repeat(2,1fr);row-gap:var(--row-space)}
 .site-page .feature br {display:none}
 .site-page .section-grid {grid-template-columns:1fr}
 .site-page .section-heading {display:grid}
 .site-page .section-heading .section-lead {width:100%}
 .site-page .about-bottom {grid-template-columns:1fr;margin-block-start:var(--row-space)}
 .site-page .experience-row {grid-template-columns:1fr}
 .site-page .education-grid,.site-page .notes-grid,.site-page .competencies-grid,.site-page .contact-grid {grid-template-columns:1fr}
 .site-page .education-card {min-height:0}
 .site-page .education-grid .education-card:nth-child(n) {grid-column:auto}
 .site-page .stats-grid {grid-template-columns:repeat(2,1fr);row-gap:var(--card-top-gap)}
 .site-page .stat-value {font-size:var(--number-size)}
 .site-page .stat-value > span:not(.stat-number) {display:block;font-size:var(--number-unit);margin:var(--m-unit-gap) 0 0}
 .site-page .stat-value:has(.stat-plus) {display:block}
 .site-page .stat-label {font-size:var(--label-size)}
 .site-page .skill-card {min-height:0;gap:var(--card-top-gap)}
 .site-page .problem-row {grid-template-columns:var(--m-problem-columns)}
 .site-page .contacts h2 br {display:none}
 .site-page .contact-grid .wp-block-buttons {display:block}
 .site-page .contact-cards .action .wp-block-button__link {gap:var(--m-contact-card-gap)}
 .site-page .contact-cards .contact-grid {gap:var(--m-contact-grid-gap)}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto} * {transition:none!important} .motion-ready .site-page .reveal-pending {opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce) {.marquee-running .marquee-track {animation:none}.marquee-copy[aria-hidden] {display:none}}
@media(prefers-reduced-motion:reduce) {.site-page .action .wp-block-button__link,.article-body .action .wp-block-button__link,.site-page .action .wp-block-button__link::after,.article-body .action .wp-block-button__link::after {transform:none!important}}

.contact-popup {width:min(var(--popup-width),calc(100% - 2 * var(--popup-gap)));max-width:none;max-height:calc(100dvh - 2 * var(--popup-gap));padding:0;border:0;border-radius:var(--radius);background:var(--ink);color:var(--white);overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.2)}
.contact-popup::backdrop {background:var(--drawer-backdrop,rgba(36,36,36,.16));backdrop-filter:blur(var(--header-blur,16px));-webkit-backdrop-filter:blur(var(--header-blur,16px))}
.contact-popup[open] {animation:popup-enter var(--popup-motion) ease-out}
.contact-popup-close {position:absolute;z-index:1;top:var(--popup-pad);right:var(--popup-pad);display:grid;place-items:center;width:var(--popup-close);height:var(--popup-close);padding:0;border:var(--stroke) solid var(--contact-glass-border);border-radius:var(--circle-radius);background:var(--contact-glass);color:var(--white);font:28px/1 var(--wp--preset--font-family--body);cursor:pointer;transition:background var(--transition)}
.contact-popup-close:hover {background:var(--contact-glass-hover)}
.contact-popup-close:focus-visible {outline:var(--focus-stroke) solid var(--white);outline-offset:var(--focus-offset)}
:root .contact-popup-content {padding:0;margin:0;--contact-card-height:var(--popup-card-height);--contact-card-pad:24px;--contact-name-size:20px;--contact-detail-size:16px}
:root .contact-popup-content .contact-cards {padding:var(--popup-pad);margin:0}
:root .contact-popup-content .contacts-title {font-size:var(--popup-title-size);color:var(--white);padding-inline-end:calc(var(--popup-close) + var(--popup-gap));min-height:var(--popup-close);margin:0 0 var(--popup-gap)}
:root .contact-popup-content .contact-grid {gap:var(--popup-gap)}
@keyframes popup-enter {from {opacity:0;transform:translateY(-16px)} to {opacity:1;transform:translateY(0)}}
@media(max-width:781px) {
 :root {--m-popup-pad:24px;--m-popup-gap:16px;--m-popup-card-height:120px;--m-popup-title-size:26px;--popup-pad:var(--m-popup-pad);--popup-gap:var(--m-popup-gap);--popup-card-height:var(--m-popup-card-height);--popup-title-size:var(--m-popup-title-size)}
 :root .contact-popup-content {--contact-card-pad:20px}
}
@media(prefers-reduced-motion:reduce) {.contact-popup[open] {animation:none}}

/* Shared editable brand caption in header and footer. */
:root {--brand-font:14px;--brand-gap:14px;--footer-brand-width:310px;--footer-brand-pad:12px;--brand-surface:rgba(255,255,255,.92)}
.site-brand {position:relative;display:flex;align-items:center;gap:var(--brand-gap);min-width:0}
.site-brand figure {flex-shrink:0}
.site-brand .brand-caption {font-size:var(--brand-font);line-height:var(--body-line);min-width:0}
.site-brand .brand-caption a {color:var(--ink);text-decoration:none}
.site-brand .brand-caption a::after {content:'';position:absolute;inset:0}
.site-brand .brand-caption span {display:block}
.site-brand .brand-caption .brand-name {color:var(--ink);font-weight:500}
.site-brand .brand-caption .brand-role {color:var(--muted)}
.site-brand a:focus-visible {outline:var(--focus-stroke) solid var(--ink);outline-offset:var(--focus-offset)}
.site-footer .footer-brand .brand-caption :is(a,.brand-name,.brand-role) {color:var(--white)}
/* Shared native footer, with the same styling in the editor. */
:root .site-footer {display:grid;grid-template-columns:var(--footer-brand-width) minmax(0,1fr) auto;align-items:center;gap:var(--footer-gap);width:calc(100% - 2 * var(--gutter));max-width:calc(var(--page-width) - 2 * var(--gutter));min-height:var(--footer-height);margin:var(--small-gap) auto var(--gutter);padding:var(--footer-pad);border-radius:var(--radius);background:var(--contact-gradient);color:var(--footer-text);font-size:var(--footer-font)}
.site-footer p,.site-footer figure {margin:0}
.site-footer .footer-logo img {display:block;width:var(--footer-logo);height:auto}
.site-footer .footer-nav {width:100%;font-size:var(--footer-font)}
.site-footer .footer-nav .wp-block-navigation__container {width:100%;gap:var(--footer-gap);justify-content:space-evenly;align-items:center}
.site-footer .footer-nav a {color:var(--footer-text);text-decoration:none;line-height:var(--body-line);transition:color var(--transition)}
.site-footer .footer-nav a:hover {color:var(--white);text-decoration:underline;text-underline-offset:var(--unit-gap)}
.site-footer .footer-nav .wp-block-navigation-item:last-child {max-width:260px}
:root .site-footer .footer-credit {position:relative;display:flex;align-items:center;gap:var(--small-gap);padding:var(--footer-credit-pad);border:var(--stroke) solid var(--contact-glass-border);border-radius:var(--button-radius);background:var(--contact-glass);transition:background var(--transition),border-color var(--transition)}
.site-footer .footer-credit a {color:var(--footer-text);text-decoration:none}
.site-footer .footer-credit a::after {content:"";position:absolute;inset:0;border-radius:var(--button-radius)}
.site-footer .footer-credit:hover,.site-footer .footer-credit:focus-within {background:var(--contact-glass-hover);border-color:var(--white)}
.site-footer .footer-credit:hover a,.site-footer .footer-credit:focus-within a {color:var(--white)}
.site-footer .footer-credit p {white-space:nowrap}
.site-footer .footer-credit-logo img {display:block;width:var(--footer-credit-logo);height:auto}
.site-footer a:focus-visible {outline:var(--focus-stroke) solid var(--white);outline-offset:var(--focus-offset);border-radius:var(--unit-gap)}
@media(max-width:1100px) {
 :root .site-footer {grid-template-columns:minmax(0,1fr) auto}
 :root .site-footer .footer-credit {grid-column:2;grid-row:1;justify-self:end}
 .site-footer .footer-nav {grid-column:1 / -1;grid-row:2}
 .site-footer .footer-nav .wp-block-navigation__container {justify-content:space-between}
}
@media(max-width:781px) {
 :root {--m-footer-pad:20px;--m-footer-gap:24px;--m-footer-logo:52px;--m-footer-credit-logo:36px;--m-footer-credit-pad:12px;--m-footer-font:13px;--footer-pad:var(--m-footer-pad);--footer-gap:var(--m-footer-gap);--footer-logo:var(--m-footer-logo);--footer-credit-logo:var(--m-footer-credit-logo);--footer-credit-pad:var(--m-footer-credit-pad);--footer-font:var(--m-footer-font)}
 :root .site-footer {grid-template-columns:minmax(0,1fr)}
 :root .site-footer .footer-brand {--brand-font:13px;--brand-gap:12px}
 :root .site-footer .footer-credit {grid-column:1;grid-row:3;justify-self:start}
 :root .site-footer .footer-credit {gap:var(--unit-gap)}
 .site-footer .footer-nav .wp-block-navigation__container {flex-direction:column;align-items:flex-start;gap:var(--small-gap)}
 .site-footer .footer-nav .wp-block-navigation-item:last-child {max-width:none}
}
