:root{--bg:#f2efe6;--surface:#e7e3d8;--ink:#171717;--muted:#68675f;--lime:#9bbf3b;--line:#d3cec1;--portrait-shadow:#17171733;--heading:"Space Grotesk", sans-serif;--body:"Manrope", sans-serif;--mono:"DM Mono", monospace;--ease:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);color:var(--ink);background:var(--bg);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--bg:#191a16;--surface:#252620;--ink:#f2efe6;--muted:#aaa99c;--lime:#a6c94a;--line:#3d3e35;--portrait-shadow:#00000094}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;min-width:320px;margin:0;overflow-x:hidden}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.splash-screen{z-index:300;background:var(--bg);color:var(--ink);animation:splash-exit .55s var(--ease) 1.35s forwards;place-items:center;display:grid;position:fixed;inset:0}.splash-content{text-align:center;width:min(90vw,900px)}.splash-kicker{color:var(--muted);font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;animation:splash-rise .7s var(--ease) both}.splash-content h1{font:600 clamp(38px, 9vw, 112px) / .9 var(--heading);letter-spacing:-.07em;white-space:nowrap;justify-content:center;margin:24px 0 30px;display:flex}.splash-content h1 span{color:var(--ink);animation:splash-wave 1s var(--ease-bounce) var(--letter-delay) both;display:inline-block}.splash-content h1 .splash-space{width:.28em}.splash-line{background:var(--lime);transform-origin:0;width:min(180px,35vw);height:2px;animation:splash-line 1s var(--ease) .35s both;margin:0 auto;display:block}@keyframes splash-wave{0%{opacity:0;transform:translateY(34px)rotate(4deg)}55%{opacity:1;transform:translateY(-18px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-line{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes splash-exit{to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-reduced-motion:reduce){.splash-screen,.splash-content h1 span,.splash-kicker,.splash-line{animation-duration:.01ms;animation-delay:0s}}::selection{background:var(--lime);color:var(--bg)}a{color:inherit;text-decoration:none}button,a{font:inherit}button{cursor:pointer}.app{max-width:1440px;margin:auto;overflow:hidden}em{color:var(--lime);font-style:normal}.section-pad{border-bottom:1px solid var(--line);padding:110px 8vw;position:relative}.section-kicker{color:var(--muted);font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:18px;display:flex}.section-kicker span:first-child{color:var(--lime)}.section-heading{max-width:860px}.section-heading.split-heading{width:100%;max-width:none}.section-heading h2,.section-heading h3{text-wrap:balance}.section-heading>p,.split-heading>p{text-align:justify;text-justify:inter-word}.split-heading>p{text-align:left;text-justify:auto;justify-self:start;width:min(100%,720px)}h1,h2,h3,p{margin-top:0}h1,h2{font:600 clamp(52px, 7vw, 112px) / .94 var(--heading);letter-spacing:-.065em;text-transform:uppercase;text-wrap:balance}h2{margin:24px 0 30px;font-size:clamp(44px,6vw,86px)}h3{font:600 24px / 1.1 var(--heading);text-transform:uppercase}p{color:var(--muted);line-height:1.7}.eyebrow{color:var(--muted);font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.button{text-transform:uppercase;letter-spacing:.06em;transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);border-radius:2px;align-items:center;gap:8px;padding:16px 24px;font-size:12px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";background:linear-gradient(135deg, transparent 40%, color-mix(in srgb, var(--lime) 15%, transparent));opacity:0;transition:opacity .3s var(--ease);position:absolute;inset:0}.button:hover:before{opacity:1}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(-1px)scale(.98)}.button-dark{color:var(--bg);background:var(--ink);box-shadow:0 4px 20px color-mix(in srgb, var(--ink) 25%, transparent)}.button-dark:hover{box-shadow:0 8px 32px color-mix(in srgb, var(--ink) 35%, transparent)}.button-light{color:var(--ink);background:var(--bg);border:1px solid var(--line)}.button-light:hover{border-color:var(--lime)}.text-link{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;transition:border-color .3s var(--ease), color .3s var(--ease);padding-bottom:7px;font-size:12px;font-weight:700}.text-link:hover{border-color:var(--lime)}.theme-toggle span,.button span,.text-link span{color:var(--lime);margin-left:8px}.stack-line,.tech-line{color:var(--ink);font:12px var(--mono)}.stack-line b,.tech-line b{color:var(--lime);margin:0 8px}.split-heading{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;display:grid}.split-heading>p{margin:0 0 8px}.tag-list{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.tag-list span{border:1px solid var(--line);color:var(--muted);font:11px var(--mono);transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);border-radius:2px;padding:7px 12px}.tag-list span:hover{border-color:var(--lime);color:var(--lime);background:color-mix(in srgb, var(--lime) 6%, transparent)}.tech-line{margin-top:28px}.footer{font:11px var(--mono);color:var(--muted);justify-content:space-between;gap:20px;padding:24px 8vw;display:flex}.footer strong{color:var(--ink)}.footer strong span{color:var(--muted);font-weight:400}@media (width<=760px){.section-pad{padding:75px 6vw}.footer{flex-direction:column;gap:10px;padding:24px 6vw}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}body{overflow-wrap:break-word;min-height:100dvh}img{max-width:100%}.section-pad{padding:clamp(72px,9vw,120px) clamp(20px,7vw,112px)}h1{letter-spacing:-.055em;font-size:clamp(38px,7vw,104px);line-height:.98}h2{letter-spacing:-.05em;margin:20px 0 26px;font-size:clamp(32px,5.6vw,80px);line-height:1}h3{font-size:clamp(17px,1.8vw,24px)}p{line-height:1.75}.section-heading>p,.split-heading>p{text-align:left}.eyebrow,.section-kicker{font-size:12px}.tag-list span{padding:8px 13px;font-size:12px}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.button{justify-content:center;min-height:48px}.text-link{align-items:center;min-height:44px;padding-bottom:0;display:inline-flex}.footer{padding-bottom:max(24px, env(safe-area-inset-bottom));padding-left:max(clamp(20px, 7vw, 112px), env(safe-area-inset-left));padding-right:max(clamp(20px, 7vw, 112px), env(safe-area-inset-right))}@media (hover:none){.button:hover,.certificate-grid article:hover,.skill-groups article:hover{transform:none}}@media (width<=900px){.section-heading{max-width:100%}}@media (width<=380px){.section-kicker{gap:12px}.button{padding:14px 18px}}@keyframes reveal-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.section-heading,.stats,.feature-project,.skill-map,.contacts-list,.tools-list{animation:linear both reveal-up;animation-timeline:view();animation-range:entry entry 30%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.navbar{z-index:100;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);width:min(100%,1440px);max-width:1440px;height:86px;color:var(--ink);transition:top .5s var(--ease), width .5s var(--ease), max-width .5s var(--ease), border-radius .5s var(--ease), padding .5s var(--ease), background .5s var(--ease), box-shadow .5s var(--ease), color .5s var(--ease), backdrop-filter .5s var(--ease);will-change:top, width, max-width, border-radius, padding, background, box-shadow, backdrop-filter;border-radius:0;justify-content:space-between;align-items:center;margin:0 auto;padding:0 5vw;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:color-mix(in srgb, var(--bg) 28%, transparent);width:calc(100% - 32px);max-width:1200px;box-shadow:0 1px 28px color-mix(in srgb, var(--ink) 8%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);border-radius:999px;padding-left:clamp(20px,3vw,42px);padding-right:clamp(20px,3vw,42px);top:14px}.navbar.nav-on-dark,.navbar.nav-on-dark .brand,.navbar.nav-on-dark .nav-links,.navbar.nav-on-dark .theme-toggle,.navbar.nav-on-dark .menu-toggle{color:#fff}.navbar.nav-on-dark .brand-mark,.navbar.nav-on-dark .theme-toggle span{color:var(--lime)}.navbar.nav-on-dark .nav-links a:hover,.navbar.nav-on-dark .text-link:hover,.navbar.nav-on-dark .theme-toggle:hover,.navbar.nav-on-dark .menu-toggle:hover{color:#fff}.brand{font:700 18px var(--heading);letter-spacing:.04em;align-items:center;gap:4px;display:flex}.brand-name{display:inline-flex}.brand-letter{animation:navbar-name-wave 4.8s var(--ease-bounce) var(--letter-delay) infinite both;display:inline-block}.brand-mark{color:var(--lime);font-style:normal}@keyframes navbar-name-wave{0%{opacity:0;transform:translateY(10px)rotate(3deg)}16%{opacity:1;transform:translateY(-4px)rotate(-1deg)}24%,to{opacity:1;transform:translateY(0)rotate(0)}}.nav-links{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:clamp(16px,2.5vw,38px);font-size:13px;font-weight:700;display:flex}.nav-links a{transition:color .25s var(--ease);position:relative}.nav-links a:after{content:"";background:var(--lime);width:0;height:2px;transition:width .3s var(--ease);border-radius:1px;position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.nav-links a:hover,.navbar .text-link:hover{color:var(--ink)}.theme-toggle,.menu-toggle{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;transition:color .2s var(--ease);background:0 0;border:0;font-size:12px}.navbar.nav-on-dark .nav-links.is-open{background:color-mix(in srgb, var(--ink) 96%, transparent)}.theme-toggle:hover,.menu-toggle:hover{color:var(--ink)}.menu-toggle{display:none}@media (prefers-reduced-motion:reduce){.brand-letter{animation:none}}@media (width<=900px){.navbar{height:72px;padding:0 max(6vw, env(safe-area-inset-left))}.menu-toggle{min-height:44px;padding:0 6px}.nav-links a{width:100%;padding:10px 0;display:block}.theme-toggle{min-height:44px}.navbar.scrolled{width:calc(100% - 20px);padding-left:5vw;padding-right:5vw;top:10px}.menu-toggle{display:block}.nav-links{background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;align-items:flex-start;gap:20px;padding:25px 6vw;display:none;position:absolute;top:72px;left:0;right:0}.navbar.scrolled .nav-links{top:72px}.nav-links.is-open{animation:slide-down .35s var(--ease);display:flex}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}.hero-section{min-height:calc(100svh - 86px);padding-top:136px;overflow:hidden}.hero-grid{align-items:center;min-height:calc(100svh - 226px);display:flex}.hero-copy{z-index:2;width:54%;position:relative}.hero-copy h1{max-width:700px;margin:30px 0}.hero-intro{max-width:430px;font-size:15px}.hero-actions{align-items:center;gap:28px;margin:30px 0 50px;display:flex}.stack-line{color:var(--ink);font:12px var(--mono)}.portrait-wrap{justify-content:flex-end;align-items:flex-end;width:52%;height:calc(100% - 50px);display:flex;position:absolute;bottom:0;right:0}.portrait-wrap img{object-fit:contain;object-position:bottom;width:auto;max-width:100%;height:100%;filter:saturate(.85) drop-shadow(18px 18px 24px var(--portrait-shadow));z-index:2;transition:transform .6s var(--ease), filter .6s var(--ease);display:block;position:relative}.portrait-wrap:hover img{filter:saturate(.95) drop-shadow(18px 18px 28px var(--portrait-shadow));transform:scale(1.02)}.portrait-note{color:var(--muted);font:11px var(--mono);letter-spacing:.06em;position:absolute;top:20%;right:4%;transform:rotate(90deg)}.portrait-mark{color:var(--lime);animation:pulse-mark 3s var(--ease) infinite;font-size:32px;position:absolute;top:22%;left:10%}.portrait-line{border:1px solid var(--line);width:78%;height:80%;transition:transform 1.2s var(--ease);border-radius:50%;position:absolute;transform:rotate(-13deg)}.portrait-wrap:hover .portrait-line{transform:rotate(-8deg)scale(1.03)}@keyframes pulse-mark{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.hero-section:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--lime) 15%, transparent), transparent 65%);pointer-events:none;z-index:0;width:min(62vw,780px);position:absolute;top:8%;right:-12%}@media (width<=900px){.hero-section{min-height:auto;padding-top:107px}.hero-grid{min-height:0;display:grid}.hero-copy{width:100%}.hero-copy h1{margin:24px 0;font-size:clamp(38px,11vw,72px)}.hero-intro{max-width:560px}.portrait-wrap{order:2;justify-content:center;width:100%;height:auto;min-height:0;margin-top:28px;position:relative;bottom:auto;right:auto}.portrait-wrap img{width:min(88vw,420px);height:auto}.portrait-note{right:2%}}@media (width<=400px){.hero-actions{gap:14px 22px;margin:24px 0 36px}.hero-actions .button{padding:14px 18px}.portrait-note{display:none}}.projects-section .stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:65px 0 70px;display:grid}.stats div{border-right:1px solid var(--line);transition:background .3s var(--ease);flex-direction:column;gap:6px;padding:24px 0;display:flex}.stats div:not(:first-child){padding-left:24px}.stats div:last-child{border:0}.stats div:hover{background:color-mix(in srgb, var(--lime) 4%, transparent)}.stats strong{font:600 48px var(--heading);transition:transform .4s var(--ease-bounce);display:inline-block}.stats div:hover strong{transform:scale(1.06)}.stats sup{color:var(--lime);font-size:20px}.stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.feature-project{grid-template-columns:1.3fr .7fr;align-items:center;gap:6vw;display:grid}.project-image{background:0 0;border-radius:3px;position:relative;overflow:hidden}.project-image:after{content:"";background:linear-gradient(135deg, transparent 50%, color-mix(in srgb, var(--lime) 8%, transparent));opacity:0;transition:opacity .5s var(--ease);pointer-events:none;position:absolute;inset:0}.project-image:hover:after{opacity:1}.project-image img{aspect-ratio:1.45;object-fit:cover;width:100%;height:auto;transition:transform .6s var(--ease);display:block}.project-image:hover img{transform:scale(1.04)}.project-copy h3{margin:20px 0;font-size:clamp(30px,4.4vw,42px)}.project-copy p+p{margin-top:14px}.project-copy .project-motto{color:var(--ink);font:600 13px var(--mono);letter-spacing:.04em}@media (width<=900px){.feature-project{grid-template-columns:1fr;gap:35px}}@media (width<=760px){.stats{margin:45px 0}.stats strong{font-size:35px}.stats span{font-size:12px}}@media (width<=480px){.stats strong{font-size:30px}.stats div{padding:18px 0}.stats div:not(:first-child){padding-left:12px}}.timeline-section{background:var(--surface)}.timeline-list{border-top:1px solid var(--line);margin-top:80px}.timeline-list article{border-bottom:1px solid var(--line);transition:background .3s var(--ease);grid-template-columns:1fr 35px 1fr;align-items:start;gap:20px;padding:28px 0;display:grid}.timeline-year{font:600 clamp(30px, 5vw, 74px) var(--heading);letter-spacing:-.06em;transition:color .3s var(--ease);grid-column:1}.timeline-list article>div{grid-column:3}.timeline-list article:nth-child(2n) .timeline-year{text-align:right;grid-column:3}.timeline-list article:nth-child(2n)>div{text-align:right;grid-area:1/1}.timeline-list article:nth-child(2n) p{margin-left:auto}.timeline-list article:hover{background:color-mix(in srgb, var(--lime) 3%, transparent)}.timeline-list article:hover .timeline-year{color:var(--lime)}.timeline-index{color:var(--lime);font:12px var(--mono)}.timeline-list h3{margin:0 0 12px;font-size:18px}.timeline-list p{max-width:340px;margin:0;font-size:13px}@media (width<=760px){.timeline-list article{grid-template-columns:1fr 35px;gap:10px}.timeline-year,.timeline-list article:nth-child(2n) .timeline-year{text-align:left;grid-column:1}.timeline-list article>div,.timeline-list article:nth-child(2n)>div{text-align:left;grid-area:auto/1/auto/-1}.timeline-list article:nth-child(2n) p{margin-left:0}.timeline-list article div{grid-column:1/-1}.timeline-year{font-size:42px}}.build-section .steps-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:75px;display:grid}.steps-grid article{border-right:1px solid var(--line);min-height:250px;transition:background .3s var(--ease);margin-right:24px;padding:22px 24px 24px 0}.steps-grid article:last-child{border:0}.steps-grid article:hover{background:color-mix(in srgb, var(--lime) 4%, transparent)}.steps-grid span{color:var(--lime);font:12px var(--mono)}.steps-grid h3{margin-top:55px;font-size:17px}.steps-grid p{font-size:13px}.build-tech-line{border-top:1px solid var(--line);text-align:center;width:calc(100% + 8vw);margin-top:0;margin-left:-4vw;padding:24px 4vw 0}@media (width<=1024px) and (width>=761px){.build-section .steps-grid{grid-template-columns:repeat(2,1fr)}.steps-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:0;margin-right:0;padding-right:24px}.steps-grid article:nth-child(odd){border-right:1px solid var(--line)}.steps-grid article:nth-last-child(-n+2){border-bottom:0}.steps-grid article:nth-child(2n){padding-left:24px}.steps-grid h3{margin-top:36px}}@media (width<=760px){.steps-grid{grid-template-columns:1fr}.steps-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:auto;margin:0;padding:22px 0}.steps-grid h3{margin-top:30px}.build-tech-line{width:calc(100% + 4vw);margin-left:-2vw;padding:20px 2vw 0;line-height:2.2}}.skill-section{background:var(--surface)}.group-number{color:var(--lime);font:12px var(--mono)}.skill-map{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;margin:70px 0;display:grid}.skill-root{font:600 25px var(--heading);border-right:1px solid var(--line);padding:42px 0}.skill-root span{color:var(--lime);font:11px var(--mono);margin-top:15px;display:block}.skill-branches{grid-template-columns:repeat(3,1fr);display:grid}.skill-branches div{border-right:1px solid var(--line);transition:background .3s var(--ease);flex-direction:column;gap:12px;padding:38px 20px;display:flex}.skill-branches div:last-child{border:0}.skill-branches div:hover{background:color-mix(in srgb, var(--lime) 4%, transparent)}.skill-branches span{color:var(--lime);font:12px var(--mono)}.skill-branches b{transition:color .2s var(--ease);font-size:13px}.skill-branches div:hover b{color:var(--lime)}.skill-groups{grid-template-columns:repeat(3,1fr);gap:4vw;display:grid}.skill-groups article{transition:background .3s var(--ease), transform .3s var(--ease);border-radius:3px;grid-template-columns:38px 1fr;gap:15px;padding:24px;display:grid}.skill-groups article:hover{background:color-mix(in srgb, var(--lime) 4%, transparent);transform:translateY(-2px)}.skill-groups h3{margin:13px 0;font-size:17px}.skill-groups p:not(.eyebrow){font-size:13px}.skill-groups .tag-list{margin-top:20px}@media (width<=900px){.skill-groups{grid-template-columns:1fr;gap:12px}}@media (width<=760px){.skill-map{grid-template-columns:1fr}.skill-root{border-right:0;border-bottom:1px solid var(--line)}.skill-branches{grid-template-columns:1fr}.skill-branches div{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.skill-groups article{padding:20px 0}}.tools-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.tools-track{flex-shrink:0;width:max-content;animation:42s linear infinite tools-marquee;display:flex}.tools-list:hover .tools-track,.tools-list:focus-within .tools-track{animation-play-state:paused}@keyframes tools-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.tools-items{flex-shrink:0;display:flex}.tools-items article{border-right:1px solid var(--line);width:clamp(245px,25vw,330px);min-height:145px;transition:background .3s var(--ease), color .3s var(--ease);grid-template-columns:36px 1fr;gap:6px 10px;padding:20px;display:grid}.tools-track article:hover,.tools-track article:focus-visible{background:color-mix(in srgb, var(--lime) 4%, transparent);outline:none}.tools-items span,.tools-items small{color:var(--lime);font:11px var(--mono)}.tools-items h3{transition:color .2s var(--ease);margin:0;font-size:18px}.tools-items article:hover h3,.tools-items article:focus-visible h3{color:var(--lime)}.tools-items p{grid-column:2;margin:0;font-size:12px}.tools-items small{color:var(--muted);grid-column:2}@media (prefers-reduced-motion:reduce){.tools-track{animation:none}}@media (width<=760px){.tools-list{margin-top:50px}.tools-list article:nth-child(3n+2),.tools-list article:nth-child(3n+3){border-left:0;padding-left:0}}.about-content{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:center;gap:clamp(45px,6vw,100px);margin-top:50px;padding-top:50px;display:grid}.about-text-content{flex-direction:column;gap:30px;display:flex}.about-image-wrapper{aspect-ratio:4/5;background:var(--surface);width:100%;max-width:420px;box-shadow:0 10px 40px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:4px;margin:0 auto;position:relative;overflow:hidden}.about-image-btn{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;position:relative}.about-image-btn img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .7s var(--ease), border-radius .7s var(--ease)}.about-image-btn:hover img,.about-image-btn:focus-visible img{border-radius:6px;transform:scale(.92)}.about-image-overlay{background:color-mix(in srgb, var(--ink) 25%, transparent);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.about-image-btn:hover .about-image-overlay,.about-image-btn:focus-visible .about-image-overlay{opacity:1}.about-image-overlay span{background:color-mix(in srgb, var(--bg) 95%, transparent);color:var(--ink);font:12px var(--mono);text-transform:uppercase;letter-spacing:.06em;transition:transform .4s var(--ease);border-radius:30px;padding:10px 18px;transform:translateY(10px)}.about-image-btn:hover .about-image-overlay span,.about-image-btn:focus-visible .about-image-overlay span{transform:translateY(0)}.about-facts div{border-bottom:1px solid var(--line);transition:background .2s var(--ease), padding-left .3s var(--ease);justify-content:space-between;gap:16px;padding:11px 0;font-size:12px;display:flex}.about-facts div:hover{background:color-mix(in srgb, var(--lime) 3%, transparent);padding-left:8px}.about-facts span{color:var(--muted);font:11px var(--mono);text-transform:uppercase;flex:none}.about-facts b{text-align:right;font-size:12px;font-weight:700}.about-text-content>p{text-align:justify;font-size:14px;line-height:1.8}.motto{font:italic 20px var(--heading);margin-top:10px;padding-left:30px;display:inline-block;position:relative}.motto:before{content:"";background:var(--lime);width:20px;height:2px;position:absolute;top:50%;left:0}@media (width<=900px){.about-content{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:32px}.about-image-wrapper{order:-1;max-width:380px}}@media (width<=760px){.about-content{gap:28px;padding-top:28px}.about-text-content>p{font-size:14px}.motto{font-size:18px}}@media (hover:none){.about-image-overlay{opacity:1;background:0 0;align-items:flex-end;padding-bottom:14px}.about-image-overlay span{transform:none}}.certificate-section{background:var(--surface)}.certificate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 20px;margin-top:75px;display:grid}.certificate-grid article{transition:transform .4s var(--ease)}.certificate-grid article:hover{transform:translateY(-4px)}.certificate-image{background:var(--bg);border:1px solid var(--line);aspect-ratio:1.45;box-shadow:inset 0 0 0 6px color-mix(in srgb, var(--surface) 55%, transparent), 0 10px 26px color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink);cursor:zoom-in;font:inherit;transition:border-color .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);border-radius:3px;justify-content:center;align-items:center;padding:14px;display:flex;position:relative;overflow:hidden}.certificate-image img{object-fit:contain;background:var(--surface);width:100%;height:100%;transition:transform .5s var(--ease)}.certificate-grid article:hover img{transform:scale(1.04)}.certificate-grid article:hover .certificate-image{border-color:var(--lime);box-shadow:inset 0 0 0 6px color-mix(in srgb, var(--lime) 13%, transparent), 0 14px 30px color-mix(in srgb, var(--ink) 12%, transparent)}.certificate-meta{grid-template-columns:30px 1fr;gap:12px;margin-top:14px;display:grid}.certificate-preview-label{background:color-mix(in srgb, var(--bg) 88%, transparent);color:var(--ink);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity .25s var(--ease), transform .25s var(--ease);padding:6px 8px;position:absolute;bottom:10px;right:12px;transform:translateY(4px)}.certificate-grid article:hover .certificate-preview-label,.certificate-image:focus-visible .certificate-preview-label{opacity:1;transform:translateY(0)}.certificate-meta>span{color:var(--lime);font:11px var(--mono)}.certificate-meta h3{transition:color .2s var(--ease);margin:0 0 8px;font-size:14px}.certificate-grid article:hover .certificate-meta h3{color:var(--lime)}.certificate-meta p{font:11px var(--mono);margin:0}.certificate-meta small{color:var(--muted);text-align:justify;margin-top:10px;font-size:12px;line-height:1.6;display:block}.certificate-modal{z-index:200;background:color-mix(in srgb, var(--ink) 72%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:certificate-fade-in .25s var(--ease);place-items:center;padding:30px;display:grid;position:fixed;inset:0}@keyframes certificate-fade-in{0%{opacity:0}to{opacity:1}}.certificate-modal-content{background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(220px,.6fr);gap:28px;width:min(100%,1120px);max-height:min(90vh,820px);padding:26px;display:grid;position:relative;overflow:auto;box-shadow:0 20px 80px #00000059}.certificate-modal-content>img{object-fit:contain;background:var(--bg);width:100%;max-height:78vh}.certificate-modal-content>div{align-self:end}.certificate-modal-content h3{margin:12px 0;font-size:clamp(22px,3vw,34px)}.certificate-modal-content p:last-child{text-align:justify}.certificate-modal-close{z-index:1;border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);font-size:24px;line-height:1;position:absolute;top:10px;right:12px}@media (width<=1100px) and (width>=761px){.certificate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 18px}}@media (width<=760px) and (width>=520px){.certificate-section .certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}}@media (width<=760px){.certificate-grid{grid-template-columns:1fr;gap:35px}.certificate-modal{padding:16px}.certificate-modal-content{grid-template-columns:1fr;gap:18px;max-height:92vh;padding:16px}.certificate-modal-content>img{max-height:58vh}}.cta-section{background:var(--ink);color:var(--bg);text-align:center;padding-top:150px;padding-bottom:150px;position:relative;overflow:hidden}.cta-section:before{content:"";background:radial-gradient(ellipse at center, color-mix(in srgb, var(--lime) 6%, transparent) 0%, transparent 60%);width:200%;height:200%;animation:cta-glow 8s var(--ease) infinite alternate;pointer-events:none;position:absolute;top:-50%;left:-50%}@keyframes cta-glow{0%{transform:translate(-5%,-5%)scale(1)}to{transform:translate(5%,5%)scale(1.1)}}.cta-section .section-kicker{justify-content:center;position:relative}.cta-section h2,.cta-section p,.cta-section .button{position:relative}.cta-section h2{font-size:clamp(54px,8vw,120px)}.cta-section p{text-align:center;max-width:480px;margin:0 auto 36px}@media (width<=760px){.cta-section{padding-top:100px;padding-bottom:100px}}.contact-section{background:var(--bg)}.contacts-list{border-top:1px solid var(--line);margin-top:70px}.contacts-list a{border-bottom:1px solid var(--line);transition:background .25s var(--ease), padding-left .3s var(--ease);grid-template-columns:.5fr 1fr 30px;align-items:center;padding:23px 0;display:grid}.contacts-list a:hover{background:color-mix(in srgb, var(--lime) 4%, transparent);padding-left:10px}.contacts-list span{color:var(--muted);font:11px var(--mono);text-transform:uppercase}.contacts-list strong{font:600 19px var(--heading);transition:color .2s var(--ease)}.contacts-list a:hover strong{color:var(--lime)}.contacts-list b{color:var(--lime);text-align:right;transition:transform .3s var(--ease)}.contacts-list a:hover b{transform:translate(4px)}@media (width<=760px){.contacts-list a{grid-template-columns:1fr 30px;gap:7px}.contacts-list strong{grid-column:1;font-size:16px}.contacts-list span{grid-column:1}.contacts-list b{grid-area:1/2/span 2}}
