:root{--main:#4a636b;--main-dark:#3f5156;--main-deep:#2f3d41;--accent:#e7c942;--accent-ink:#2f3d41;--paper:#e2e8ea;--paper-2:#f3f6f7;--white:#fff;--text:#2f3d41;--text-sub:#5b7179;--line:#4a636b2e;--radius:14px;--shadow-sm:0 2px 8px #2f3d4114;--shadow-md:0 14px 34px -12px #2f3d4147;--font-display:"Bruno Ace",sans-serif;--font-body:"Inter","Noto Sans JP",system-ui,sans-serif;--header-h:72px;--ease:cubic-bezier(.22,.61,.36,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{font-family:var(--font-body);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;line-height:1.75}body.is-locked{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:min(1200px,92%);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.loading{z-index:2000;background:var(--accent);transition:opacity 1.2s var(--ease), visibility 1.2s;will-change:clip-path;place-items:center;display:grid;position:fixed;inset:0}.loading.is-done{opacity:0;visibility:hidden;pointer-events:none}.loading__title,.loading__bar{transition:opacity .35s}.loading.is-condensing .loading__title,.loading.is-condensing .loading__bar{opacity:0}.loading__title{font-family:var(--font-display);color:var(--accent-ink);letter-spacing:.04em;font-size:clamp(2rem,6vw,3.4rem);display:flex;overflow:hidden}.loading__title span{animation:charUp .6s var(--ease) forwards;display:inline-block;transform:translateY(110%)}.loading__bar{background:var(--main);width:0;height:4px;animation:bar 1.3s var(--ease) forwards;position:absolute;bottom:0;left:0}@keyframes charUp{to{transform:none}}@keyframes bar{to{width:100%}}.progress{z-index:1100;background:var(--accent);transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.header{z-index:1000;height:var(--header-h);-webkit-backdrop-filter:blur(10px);transition:height .3s var(--ease), box-shadow .3s, border-color .3s;background:#ffffffeb;border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;inset:0 0 auto}.header.is-scrolled{--header-h:60px;box-shadow:var(--shadow-sm);border-color:var(--line)}.nav{grid-template-columns:1fr auto 1fr;align-items:center;width:min(1200px,92%);margin-inline:auto;display:grid}.nav__group{gap:4px;display:flex}.nav__group--right{justify-content:flex-end}.nav__link{font-family:var(--font-display);color:var(--main);border-radius:999px;padding:10px 18px;font-size:.9rem;text-decoration:none;transition:color .2s,background .2s;position:relative}.nav__link:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:6px;left:18px;right:18px;transform:scaleX(0)}.nav__link:hover:after,.nav__link.is-active:after{transform:scaleX(1)}.nav__link--cta{background:var(--accent);color:var(--accent-ink)}.nav__link--cta:after{display:none}.nav__link--cta:hover{background:var(--main);color:var(--white)}.nav__logo{font-family:var(--font-display);color:var(--main);letter-spacing:.02em;white-space:nowrap;font-size:clamp(1.3rem,2.4vw,1.9rem);text-decoration:none}.nav__logo b{color:var(--accent);font-weight:400}.menu-btn{z-index:1300;cursor:pointer;background:var(--accent);border:0;border-radius:12px;width:48px;height:48px;transition:background .3s;display:none;position:fixed;top:10px;right:12px}.menu-btn span{background:var(--accent-ink);width:20px;height:2px;transition:transform .4s var(--ease), opacity .3s, top .4s var(--ease);border-radius:2px;position:absolute;left:14px}.menu-btn span:first-child{top:17px}.menu-btn span:nth-child(2){top:23px}.menu-btn span:nth-child(3){top:29px}.menu-btn[aria-expanded=true]{background:var(--white)}.menu-btn[aria-expanded=true] span:first-child{top:23px;transform:rotate(-45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){top:23px;transform:rotate(45deg)}.sp-nav{z-index:1200;pointer-events:none;position:fixed;inset:0}.sp-nav__circle{background:var(--main);width:100px;height:100px;transition:transform .6s var(--ease);border-radius:50%;position:absolute;bottom:-50px;left:calc(50% - 50px);transform:scale(0)}.sp-nav__list{flex-direction:column;justify-content:center;align-items:center;gap:28px;height:100%;list-style:none;display:flex;position:relative}.sp-nav__list a{font-family:var(--font-display);color:var(--paper);opacity:0;transition:opacity .35s, transform .35s var(--ease);font-size:1.6rem;text-decoration:none;transform:translateY(16px)}.sp-nav__list a small{text-align:center;font-family:var(--font-body);letter-spacing:.2em;color:var(--accent);font-size:.7rem;display:block}.sp-nav.is-open{pointer-events:auto}.sp-nav.is-open .sp-nav__circle{transform:scale(30)}.sp-nav.is-open a{opacity:1;transform:none}.sp-nav.is-open li:first-child a{transition-delay:.25s}.sp-nav.is-open li:nth-child(2) a{transition-delay:.31s}.sp-nav.is-open li:nth-child(3) a{transition-delay:.37s}.sp-nav.is-open li:nth-child(4) a{transition-delay:.43s}.hero{min-height:100svh;padding-top:var(--header-h);background:var(--paper-2);place-items:end center;display:grid;position:relative;overflow:hidden}.scene{z-index:0;position:absolute;inset:0;overflow:hidden;container-type:size}.scene:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(#f3f6f700 55%,#e2e8eae6);position:absolute;inset:0}.scene__stage{left:calc(50% + var(--shift));top:var(--top);width:max(var(--minw), var(--hfit) * 2067 / 1044);--shift:17cqw;--minw:134cqw;--hfit:100cqh;--top:50%;aspect-ratio:2067/1044;--ms:8.5cqw;--mx:51.5;--my:38;--rise:2.4cqw;background:#e5e9ec url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAgAEADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD77tyM81oQ4qvHakVaij21uc0VZlqIDFTAYqvH8tSeYKRoPZarzLUvmD1qORgaEBQmTGaz7hQTWnORWbcEZpoxkrM1o2GKl8xQOKqCQCjzaDW6LXmD1ppcetV/Mo8z6UBdE+8Ub/aoPNo82lqF0MnOc1lXcm3NakjA9qzLtA2apGUu5//Z) 50%/100% 100% no-repeat;position:absolute;transform:translate(-50%,-50%);container-type:inline-size}.scene__moonwrap{z-index:1;width:var(--ms);aspect-ratio:1;left:calc(var(--mx) * 1cqw - var(--ms) / 2);top:calc(var(--my) * .5051cqw - var(--ms) / 2);will-change:translate;position:absolute}.scene__orbit{opacity:0;border:1px solid #4a636b42;border-radius:50%;transition:opacity 2s 1.8s;animation:70s linear infinite orbit;position:absolute;inset:-70%}.scene__orbit:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin:-4px 0 0 -4px;position:absolute;top:0;left:50%;box-shadow:0 0 0 4px #e7c9422e}.scene__orbit--outer{border-style:dashed;border-color:#4a636b29;transition-delay:2.2s;animation-duration:160s;animation-direction:reverse;inset:-170%}.scene__orbit--outer:after{background:var(--main);width:4px;height:4px;box-shadow:none;opacity:.6;margin:-2px 0 0 -2px}body.is-moon .scene__orbit{opacity:1}@keyframes orbit{to{transform:rotate(360deg)}}.scene__moon{transform:translateY(var(--rise));box-shadow:0 0 calc(var(--ms) * .5) calc(var(--ms) * .05) #f6eaa680;filter:blur(.6px);opacity:0;will-change:transform, translate;background:radial-gradient(circle at 62% 38%,#c8af501f 0 7%,#0000 9%),radial-gradient(circle at 40% 64%,#c8af501a 0 10%,#0000 12%),radial-gradient(circle at 70% 70%,#c8af5014 0 5%,#0000 7%),radial-gradient(circle at 40% 35%,#fdf8dc,#f6eaa6 55%,#eedc80);border-radius:50%;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 35%,#00000073);mask:linear-gradient(#000 35%,#00000073)}body.is-moon .scene__moon{opacity:.9;transition:opacity 1.2s,transform 3.2s cubic-bezier(.2,.6,.2,1);transform:none}.scene__mountain{z-index:2;object-fit:fill;will-change:translate;width:100%;height:100%;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 2067 1044%22 preserveAspectRatio=%22none%22%3E%3Cfilter id=%22f%22 x=%22-5%25%22 y=%22-5%25%22 width=%22110%25%22 height=%22110%25%22%3E%3CfeGaussianBlur stdDeviation=%225%22/%3E%3C/filter%3E%3Cpath d=%22M0 1044 L0 1000 L8 990 L16 982 L24 974 L32 967 L40 960 L48 952 L56 945 L64 938 L72 931 L80 924 L88 918 L96 911 L104 904 L112 898 L120 891 L128 885 L136 878 L144 872 L152 865 L160 859 L168 853 L176 846 L184 840 L192 834 L200 828 L208 822 L216 815 L224 809 L232 803 L240 797 L248 791 L256 785 L264 779 L272 773 L280 767 L288 761 L296 755 L304 749 L312 743 L320 737 L328 731 L336 725 L344 719 L352 713 L360 708 L368 702 L376 696 L384 690 L392 684 L400 679 L408 673 L416 667 L424 661 L432 656 L440 650 L448 644 L456 638 L464 633 L472 627 L480 621 L488 616 L496 610 L504 604 L512 599 L520 593 L528 587 L536 582 L544 576 L552 570 L560 565 L568 559 L576 554 L584 548 L592 543 L600 534 L608 533 L616 531 L624 529 L632 526 L640 523 L648 520 L656 516 L664 510 L672 503 L680 496 L688 491 L696 488 L704 485 L712 481 L720 475 L728 468 L736 462 L744 457 L752 454 L760 450 L768 447 L776 445 L784 443 L792 441 L800 438 L808 435 L816 433 L824 432 L832 432 L840 433 L848 433 L856 431 L864 427 L872 423 L880 418 L888 414 L896 412 L904 409 L912 407 L920 404 L928 403 L936 403 L944 405 L952 410 L960 416 L968 422 L976 428 L984 437 L992 448 L1000 460 L1008 470 L1016 475 L1024 476 L1032 473 L1040 468 L1048 465 L1056 461 L1064 459 L1072 457 L1080 455 L1088 452 L1096 449 L1104 446 L1112 444 L1120 443 L1128 440 L1136 437 L1144 433 L1152 427 L1160 423 L1168 418 L1176 413 L1184 407 L1192 401 L1200 395 L1208 388 L1216 383 L1224 377 L1232 373 L1240 371 L1248 371 L1256 373 L1264 377 L1272 385 L1280 397 L1288 410 L1296 425 L1304 439 L1312 454 L1320 468 L1328 480 L1336 488 L1344 492 L1352 495 L1360 497 L1368 500 L1376 503 L1384 508 L1392 515 L1400 520 L1408 524 L1416 526 L1424 529 L1432 534 L1440 544 L1448 558 L1456 577 L1464 596 L1472 620 L1480 644 L1488 665 L1496 686 L1504 710 L1512 736 L1520 759 L1528 782 L1536 795 L1544 808 L1552 825 L1560 845 L1568 863 L1576 879 L1584 894 L1592 913 L1600 931 L1608 947 L1616 962 L1624 972 L1632 981 L1640 991 L1648 1001 L1656 1014 L1664 1026 L1672 1036 L1680 1043 L1688 1044 L1696 1044 L1704 1044 L1712 1044 L1720 1044 L1728 1044 L1736 1044 L1744 1044 L1752 1044 L1760 1044 L1768 1044 L1776 1044 L1784 1044 L1792 1044 L1800 1044 L1808 1044 L1816 1044 L1824 1044 L1832 1044 L1840 1044 L1848 1044 L1856 1044 L1864 1044 L1872 1044 L1880 1044 L1888 1044 L1896 1044 L1904 1044 L1912 1044 L1920 1044 L1928 1044 L1936 1044 L1944 1044 L1952 1044 L1960 1044 L1968 1044 L1976 1044 L1984 1044 L1992 1044 L2000 1044 L2008 1044 L2016 1044 L2024 1044 L2032 1044 L2040 1044 L2048 1044 L2056 1044 L2064 1044 L2066 1044 L2067 1044 Z%22 fill=%22%23fff%22 filter=%22url%28%23f%29%22/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 2067 1044%22 preserveAspectRatio=%22none%22%3E%3Cfilter id=%22f%22 x=%22-5%25%22 y=%22-5%25%22 width=%22110%25%22 height=%22110%25%22%3E%3CfeGaussianBlur stdDeviation=%225%22/%3E%3C/filter%3E%3Cpath d=%22M0 1044 L0 1000 L8 990 L16 982 L24 974 L32 967 L40 960 L48 952 L56 945 L64 938 L72 931 L80 924 L88 918 L96 911 L104 904 L112 898 L120 891 L128 885 L136 878 L144 872 L152 865 L160 859 L168 853 L176 846 L184 840 L192 834 L200 828 L208 822 L216 815 L224 809 L232 803 L240 797 L248 791 L256 785 L264 779 L272 773 L280 767 L288 761 L296 755 L304 749 L312 743 L320 737 L328 731 L336 725 L344 719 L352 713 L360 708 L368 702 L376 696 L384 690 L392 684 L400 679 L408 673 L416 667 L424 661 L432 656 L440 650 L448 644 L456 638 L464 633 L472 627 L480 621 L488 616 L496 610 L504 604 L512 599 L520 593 L528 587 L536 582 L544 576 L552 570 L560 565 L568 559 L576 554 L584 548 L592 543 L600 534 L608 533 L616 531 L624 529 L632 526 L640 523 L648 520 L656 516 L664 510 L672 503 L680 496 L688 491 L696 488 L704 485 L712 481 L720 475 L728 468 L736 462 L744 457 L752 454 L760 450 L768 447 L776 445 L784 443 L792 441 L800 438 L808 435 L816 433 L824 432 L832 432 L840 433 L848 433 L856 431 L864 427 L872 423 L880 418 L888 414 L896 412 L904 409 L912 407 L920 404 L928 403 L936 403 L944 405 L952 410 L960 416 L968 422 L976 428 L984 437 L992 448 L1000 460 L1008 470 L1016 475 L1024 476 L1032 473 L1040 468 L1048 465 L1056 461 L1064 459 L1072 457 L1080 455 L1088 452 L1096 449 L1104 446 L1112 444 L1120 443 L1128 440 L1136 437 L1144 433 L1152 427 L1160 423 L1168 418 L1176 413 L1184 407 L1192 401 L1200 395 L1208 388 L1216 383 L1224 377 L1232 373 L1240 371 L1248 371 L1256 373 L1264 377 L1272 385 L1280 397 L1288 410 L1296 425 L1304 439 L1312 454 L1320 468 L1328 480 L1336 488 L1344 492 L1352 495 L1360 497 L1368 500 L1376 503 L1384 508 L1392 515 L1400 520 L1408 524 L1416 526 L1424 529 L1432 534 L1440 544 L1448 558 L1456 577 L1464 596 L1472 620 L1480 644 L1488 665 L1496 686 L1504 710 L1512 736 L1520 759 L1528 782 L1536 795 L1544 808 L1552 825 L1560 845 L1568 863 L1576 879 L1584 894 L1592 913 L1600 931 L1608 947 L1616 962 L1624 972 L1632 981 L1640 991 L1648 1001 L1656 1014 L1664 1026 L1672 1036 L1680 1043 L1688 1044 L1696 1044 L1704 1044 L1712 1044 L1720 1044 L1728 1044 L1736 1044 L1744 1044 L1752 1044 L1760 1044 L1768 1044 L1776 1044 L1784 1044 L1792 1044 L1800 1044 L1808 1044 L1816 1044 L1824 1044 L1832 1044 L1840 1044 L1848 1044 L1856 1044 L1864 1044 L1872 1044 L1880 1044 L1888 1044 L1896 1044 L1904 1044 L1912 1044 L1920 1044 L1928 1044 L1936 1044 L1944 1044 L1952 1044 L1960 1044 L1968 1044 L1976 1044 L1984 1044 L1992 1044 L2000 1044 L2008 1044 L2016 1044 L2024 1044 L2032 1044 L2040 1044 L2048 1044 L2056 1044 L2064 1044 L2066 1044 L2067 1044 Z%22 fill=%22%23fff%22 filter=%22url%28%23f%29%22/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.scene__mist{z-index:3;pointer-events:none;opacity:.55;filter:blur(10px);background:radial-gradient(30% 40% at 25% 70%,#fff,#0000 70%),radial-gradient(35% 45% at 70% 80%,#fff,#0000 70%),radial-gradient(25% 35% at 50% 95%,#fff,#0000 70%);height:45%;animation:28s ease-in-out infinite alternate mist;position:absolute;inset:auto -20% 0}@keyframes mist{to{transform:translate(12%)}}.hero{--strip:58px}.hero__strip{z-index:6;height:var(--strip);background-color:var(--main);border-top:3px solid var(--accent);color:var(--paper);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;background-image:repeating-linear-gradient(90deg,#3f5156d9 0 1px,#0000 1px 64px);align-items:center;font-size:.82rem;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hero__strip ul{flex:none;list-style:none;animation:36s linear infinite strip;display:flex}.hero__strip li{align-items:center;display:flex}.hero__strip li:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin:0 34px}@keyframes strip{to{transform:translate(-100%)}}.hero__rail{top:var(--header-h);bottom:var(--strip);z-index:2;writing-mode:vertical-rl;white-space:nowrap;font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;color:var(--main);justify-content:center;align-items:center;gap:18px;font-size:.7rem;text-decoration:none;display:flex;position:absolute}.hero__rail--right{right:clamp(18px,2.6vw,40px)}.hero__rail:before,.hero__rail:after{content:"";background:var(--main);opacity:.4;width:1px;height:56px}.hero__rail--right:after{opacity:1;transform-origin:top;height:72px;animation:railline 2s var(--ease) infinite}@keyframes railline{0%{transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.hero__inner{z-index:1;width:min(1200px,92%);padding-bottom:var(--strip);text-align:left;align-self:center;position:relative}.hero__head,.hero__foot{max-width:640px}.hero__eyebrow{letter-spacing:.3em;color:var(--main);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:18px;font-size:.8rem;font-weight:600;display:inline-flex}.hero__eyebrow:before{content:"";background:var(--accent);width:44px;height:2px}.hero__title{font-family:var(--font-display);color:var(--main);text-transform:uppercase;text-shadow:3px 5px #fff;font-size:clamp(2rem,4.6vw,4.4rem);font-weight:400;line-height:1.08}.hero__title .line{display:block;overflow:hidden}.hero__title .line span{display:inline-block}.hero__lead{word-break:keep-all;overflow-wrap:normal;color:var(--text-sub);margin-top:22px;font-size:clamp(.95rem,1.4vw,1.1rem)}.hero__actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.btn{font-family:var(--font-display);cursor:pointer;transition:transform .25s var(--ease), background .25s, color .25s, box-shadow .25s, border-color .25s;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:.9rem;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}.btn:hover svg{transform:translate(4px)}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 20px -8px #e7c942cc}.btn--primary:hover{background:#f0d659;transform:translateY(-2px)}.btn--ghost{border-color:var(--main);color:var(--main);background:#fff9}.btn--ghost:hover{background:var(--main);color:var(--white)}.scrolldown{bottom:calc(var(--strip) + 20px);z-index:1;color:var(--main);letter-spacing:.2em;flex-direction:column;align-items:center;gap:8px;font-size:.68rem;text-decoration:none;display:none;position:absolute;left:50%;translate:-50%}.scrolldown__mouse{border:1.5px solid var(--main);border-radius:12px;width:24px;height:38px;position:relative}.scrolldown__mouse:after{content:"";background:var(--main);width:4px;height:7px;animation:wheel 1.6s var(--ease) infinite;border-radius:2px;margin-left:-2px;position:absolute;top:7px;left:50%}@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(12px)}}.section{padding:clamp(80px,11vw,140px) 0;position:relative}.section--light{background:var(--paper)}.section--dark{background-color:var(--main);color:var(--paper);background-image:repeating-linear-gradient(#3f5156d9 0 1px,#0000 1px 64px),repeating-linear-gradient(90deg,#3f5156d9 0 1px,#0000 1px 64px)}.section-head{text-align:center;margin-bottom:clamp(44px,6vw,72px)}.section-head__num{font-family:var(--font-display);color:var(--accent);letter-spacing:.2em;margin-bottom:6px;font-size:.85rem;display:inline-block}.section-head__title{font-family:var(--font-display);color:var(--main);font-size:clamp(2rem,5vw,3.4rem);font-weight:400;line-height:1.1}.section--dark .section-head__title{color:var(--paper)}.section-head__sub{letter-spacing:.2em;color:var(--text-sub);margin-top:12px;font-size:.85rem}.section--dark .section-head__sub{color:#e2e8eab3}.section-head__title:after{content:"";background:var(--accent);border-radius:2px;width:40px;height:3px;margin:18px auto 0;display:block}.about{grid-template-columns:repeat(12,1fr);align-items:center;display:grid}.about__media{grid-area:1/1/auto/9;position:relative}.about__media:before{content:"";border:2px solid var(--accent);border-radius:var(--radius);z-index:0;position:absolute;inset:24px -24px -24px 24px}.about__media img{z-index:1;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);width:100%;box-shadow:var(--shadow-md);position:relative}.about__card{z-index:2;border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fffffff5;grid-area:1/7/auto/13;margin-top:clamp(120px,14vw,200px);padding:clamp(28px,3.4vw,44px);position:relative}.about__label{font-family:var(--font-display);color:var(--text-sub);letter-spacing:.2em;font-size:.75rem}.about__card h3{font-family:var(--font-display);color:var(--main);border-bottom:1px solid var(--line);margin:6px 0 18px;padding-bottom:14px;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:400}.about__card p{color:var(--text-sub);margin-bottom:16px}.about__stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 28px;display:grid}.about__stats div{background:var(--paper-2);text-align:center;border-radius:10px;padding:12px}.about__stats strong{font-family:var(--font-display);color:var(--main);font-size:1.4rem;line-height:1.2;display:block}.about__stats span{color:var(--text-sub);letter-spacing:.06em;font-size:.72rem}.skills__filters{flex-wrap:wrap;justify-content:center;gap:10px;margin:-20px 0 40px;display:flex}.chip{font:500 .82rem var(--font-body);letter-spacing:.06em;cursor:pointer;color:var(--paper);background:0 0;border:1px solid #e2e8ea66;border-radius:999px;padding:8px 18px;transition:background .2s,color .2s,border-color .2s}.chip:hover{border-color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.skills{grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;display:grid}.skill{border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:transform .35s var(--ease), background .35s, border-color .35s, opacity .3s;background:#2f3d418c;border:1px solid #e2e8ea1f;padding:28px 24px;position:relative}.skill:hover{background:#2f3d41cc;border-color:#e7c94299;transform:translateY(-6px)}.skill.is-hidden{display:none}.skill__icon{background:var(--white);width:64px;height:64px;transition:border-radius .4s var(--ease), transform .4s var(--ease);border-radius:16px;margin-bottom:18px;padding:8px}.skill:hover .skill__icon{border-radius:50%;transform:rotate(-6deg)}.skill__icon img{object-fit:contain;border-radius:50%;width:100%;height:100%}.skill__tag{letter-spacing:.1em;color:var(--accent);background:#e7c94226;border-radius:999px;padding:3px 10px;font-size:.68rem;position:absolute;top:20px;right:20px}.skill h3{font-family:var(--font-display);margin-bottom:8px;font-size:1.2rem;font-weight:400}.skill p{color:#e2e8eac7;font-size:.9rem;line-height:1.65}.skill__level{background:#e2e8ea26;border-radius:2px;height:4px;margin-top:18px;overflow:hidden}.skill__level i{background:var(--accent);width:0;height:100%;transition:width 1.2s var(--ease) .2s;border-radius:2px;display:block}.skill.is-in .skill__level i{width:var(--lv)}.blog{padding-bottom:clamp(120px,14vw,190px);overflow:hidden}.blog__watermark{font-family:var(--font-display);color:var(--main);opacity:.12;pointer-events:none;white-space:nowrap;font-size:clamp(3rem,10vw,8rem);line-height:1;position:absolute;bottom:clamp(10px,2vw,30px);left:4%}.posts{z-index:1;grid-template-columns:repeat(3,1fr);gap:28px;display:grid;position:relative}.post{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease), box-shadow .35s;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.post:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.post__thumb{aspect-ratio:3/2;background:var(--main);position:relative;overflow:hidden}.post__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.post:hover .post__thumb img{transform:scale(1.07)}.post__thumb:after{content:"Read more →";font-family:var(--font-display);color:var(--accent-ink);background:var(--accent);transition:transform .35s var(--ease);padding:12px 18px;font-size:.8rem;position:absolute;inset:auto 0 0;transform:translateY(100%)}.post:hover .post__thumb:after{transform:none}.post__body{flex-direction:column;flex:1;gap:12px;padding:20px 22px 24px;display:flex}.post__meta{color:var(--text-sub);align-items:center;gap:12px;font-size:.78rem;display:flex}.post__cat{background:var(--main);color:var(--paper);letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-weight:500}.post__date{align-items:center;gap:5px;display:inline-flex}.post__date svg{width:14px;height:14px}.post__title{color:var(--text);font-size:1.02rem;font-weight:600;line-height:1.55}.blog__more{text-align:center;z-index:1;margin-top:48px;position:relative}.contact__wrap{grid-template-columns:1fr 1.25fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.contact__intro h3{font-family:var(--font-display);margin-bottom:14px;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:400}.contact__intro p{color:#e2e8eacc;margin-bottom:24px}.contact__list{gap:12px;list-style:none;display:grid}.contact__list li{align-items:center;gap:12px;font-size:.92rem;display:flex}.contact__list svg{width:20px;height:20px;color:var(--accent);flex:none}.form{border-radius:var(--radius);background:#2f3d41b3;border:1px solid #e2e8ea1f;padding:clamp(24px,3.4vw,40px)}.field{margin-bottom:22px;position:relative}.field input,.field textarea{background:var(--main-dark);width:100%;color:var(--paper);font:400 1rem var(--font-body);border:1px solid #0000;border-radius:10px;padding:22px 16px 10px;transition:border-color .2s,background .2s}.field textarea{resize:vertical;min-height:160px}.field label{color:#e2e8ea8c;pointer-events:none;transition:all .2s var(--ease);font-size:.95rem;position:absolute;top:16px;left:16px}.field input:focus,.field textarea:focus{border-color:var(--accent);background:#37474b;outline:none}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{letter-spacing:.08em;color:var(--accent);font-size:.7rem;top:6px}.field.is-error input,.field.is-error textarea{border-color:#ff8a7a}.field__error{color:#ffb3a8;margin-top:6px;font-size:.8rem;display:none}.field.is-error .field__error{display:block}.field__count{color:#e2e8ea73;font-size:.7rem;position:absolute;bottom:10px;right:12px}.form__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.form .btn--primary{justify-content:center;min-width:180px}.form .btn[disabled]{opacity:.6;cursor:wait}.recaptcha{color:#e2e8ea99;font-size:.72rem;line-height:1.6}.recaptcha a{color:#e2e8ead9}.form__done{text-align:center;padding:40px 0;display:none}.form__done svg{width:56px;height:56px;color:var(--accent);margin:0 auto 14px}.form.is-sent .form__fields{display:none}.form.is-sent .form__done{display:block}.footer{background:var(--main-deep);color:var(--paper);padding:40px 0 28px}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer__logo{font-family:var(--font-display);font-size:1.3rem;text-decoration:none}.footer__logo b{color:var(--accent);font-weight:400}.footer__nav{flex-wrap:wrap;gap:22px;display:flex}.footer__nav a{opacity:.75;font-size:.85rem;text-decoration:none;transition:opacity .2s}.footer__nav a:hover{opacity:1}.footer small{text-align:center;opacity:.6;border-top:1px solid #e2e8ea1f;margin-top:24px;padding-top:20px;font-size:.78rem;display:block}.to-top{z-index:900;cursor:pointer;background:var(--main);width:48px;height:48px;color:var(--white);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .3s, transform .3s var(--ease), background .2s;border:0;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:20px;right:20px;transform:translateY(16px)}.to-top.is-show{opacity:1;pointer-events:auto;transform:none}.to-top:hover{background:var(--accent);color:var(--accent-ink)}.to-top svg{width:20px;height:20px}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:var(--d,0s);transform:translateY(28px)}.reveal[data-reveal=left]{transform:translate(-36px)}.reveal[data-reveal=right]{transform:translate(36px)}.reveal.is-in{opacity:1;transform:none}.intro{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:var(--d,0s);transform:translateY(20px)}.hero__title .line span.intro{transform:translateY(105%)}body.is-ready .intro,body.is-ready .hero__title .line span.intro{opacity:1;transform:none}@media (width<=1024px){.skills{grid-template-columns:repeat(2,1fr)}.about__media{grid-column:1/11}.about__card{grid-column:4/13}}@media (width<=800px){:root,.header.is-scrolled{--header-h:64px}.nav{grid-template-columns:1fr;justify-items:start}.nav__group{display:none}.scene__stage{--shift:0cqw;--minw:100cqw;--hfit:114cqh;--top:57%;--ms:4.6cqw;--mx:51;--my:39.5;--rise:1.4cqw}.hero{align-items:stretch}.hero__inner{text-align:center;flex-direction:column;justify-content:space-between;align-self:stretch;padding-top:clamp(20px,5svh,44px);display:flex}.hero__head,.hero__foot{max-width:none}.hero__lead{margin-top:14px;font-size:.9rem}.hero__actions{justify-content:center}.hero__rail{display:none}.scrolldown{display:flex}.hero{--strip:48px}.hero__inner{padding-bottom:calc(var(--strip) + 104px)}.hero__strip{font-size:.72rem}.menu-btn{display:block;top:8px}.about{display:block}.about__media:before{inset:14px -10px -14px 14px}.about__card{margin:-40px 4% 0}.posts{grid-template-columns:1fr 1fr}.contact__wrap{grid-template-columns:1fr}}@media (width<=560px){.skills,.posts{grid-template-columns:1fr}.about__stats{grid-template-columns:repeat(3,1fr);gap:8px}.hero__title{text-shadow:2px 3px #fff}.hero__eyebrow{letter-spacing:.16em;font-size:.7rem}.hero__eyebrow:before{display:none}.form__foot{flex-direction:column-reverse;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.grecaptcha-badge{visibility:hidden}.skill__icon--logo{padding:0;overflow:hidden}.skill__icon--logo img{border-radius:inherit}.hero__title{overflow-wrap:normal;word-break:keep-all}.form__error{color:#ffb3a8;margin:0 0 14px;font-size:.85rem}.page{padding:calc(var(--header-h) + clamp(40px, 6vw, 72px)) 0 clamp(80px, 10vw, 120px);min-height:80vh}.article{max-width:860px;margin-inline:auto}.article__back{font-family:var(--font-display);color:var(--main);align-items:center;gap:8px;margin-bottom:28px;font-size:.8rem;text-decoration:none;display:inline-flex}.article__back svg{width:16px;height:16px;transition:transform .25s var(--ease)}.article__back:hover svg{transform:translate(-4px)}.article__meta{color:var(--text-sub);align-items:center;gap:12px;margin-bottom:16px;font-size:.82rem;display:flex}.article__title{color:var(--text);margin-bottom:32px;font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:600;line-height:1.4}.article__eyecatch{border-radius:var(--radius);box-shadow:var(--shadow-md);background:var(--main);margin-bottom:40px;overflow:hidden}.article__eyecatch img{aspect-ratio:16/9;object-fit:cover;width:100%}.article__body{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(24px,5vw,56px);line-height:1.9}.article__body>*+*{margin-top:1.2em}.article__body h2{border-bottom:2px solid var(--line);margin-top:2.2em;padding-bottom:.4em;font-size:1.45rem;line-height:1.45;position:relative}.article__body h2:after{content:"";background:var(--accent);width:48px;height:2px;position:absolute;bottom:-2px;left:0}.article__body h3{border-left:4px solid var(--accent);margin-top:1.8em;padding-left:12px;font-size:1.2rem}.article__body a{color:var(--main);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.article__body ul,.article__body ol{padding-left:1.4em}.article__body img{border-radius:10px}.article__body blockquote{border-left:4px solid var(--main);background:var(--paper-2);color:var(--text-sub);border-radius:0 10px 10px 0;padding:14px 20px}.article__body code{background:var(--paper-2);border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.article__body pre{background:var(--main-deep);color:var(--paper);border-radius:10px;padding:18px 20px;line-height:1.6;overflow-x:auto}.article__body pre code{color:inherit;background:0 0;padding:0}.article__body table{border-collapse:collapse;width:100%}.article__body th,.article__body td{border:1px solid var(--line);text-align:left;padding:8px 12px}.result{text-align:center;place-items:center;min-height:100svh;padding:40px 20px;display:grid}.result svg{width:64px;height:64px;color:var(--accent);margin:0 auto 18px}.result h1{font-family:var(--font-display);color:var(--paper);margin-bottom:12px;font-size:clamp(2rem,6vw,3.4rem);font-weight:400}.result p{color:#e2e8eacc;margin-bottom:32px}
