@charset "UTF-8";
:root{--bg:#f6f6f0;--ink:#20251e;--muted:#696e65;--line:#daddd1;--accent:#d4f45b;--panel:#e9eddf;--dark:#232d23;--radius:3px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #8eaa29;outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.nav{height:106px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:34px}.wordmark{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:.06em}.mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:24px;font-weight:800;letter-spacing:-3px;padding-right:3px}.nav nav{margin-left:auto;display:flex;gap:36px;font-size:13px}.nav nav a:hover,.text-link:hover{color:#759327}.theme{background:transparent;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;color:var(--ink);cursor:pointer;font-size:20px}.hero{padding-block:80px 70px;display:grid;grid-template-columns:1.2fr 1fr;gap:68px;align-items:center}.eyebrow,.section-label>span{font-size:10px;letter-spacing:.15em;font-weight:600}.eyebrow{display:flex;gap:9px;align-items:center}.dot{height:7px;width:7px;border-radius:50%;background:#7c972e}h1{font-size:clamp(46px,5.2vw,72px);line-height:1.3;font-weight:650;letter-spacing:-.055em;margin:28px 0 22px;overflow-wrap:anywhere}.period{color:#819b39}.intro{font-size:15px;line-height:1.9;color:var(--muted);max-width:440px;white-space:pre-line}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;padding:16px 23px;border-radius:var(--radius);background:var(--ink);color:var(--bg);font-size:13px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.text-link{font-size:12px}.hero-caption{display:flex;gap:21px;margin-top:51px;font:10px monospace;letter-spacing:.15em;color:var(--muted)}.art{min-height:425px;position:relative;background:var(--panel);border-radius:180px 180px 5px 5px;overflow:hidden;isolation:isolate}.art-label{position:absolute;top:38px;left:0;right:0;text-align:center;font:9px monospace;letter-spacing:.16em;color:#57614c}.planet{position:absolute;width:210px;height:210px;border-radius:50%;background:var(--accent);top:109px;left:50%;transform:translateX(-50%) rotate(-13deg);display:grid;place-items:center;box-shadow:inset -16px -12px 30px #a5c63b40}.planet>span{font-size:43px;font-weight:700;line-height:1;letter-spacing:-.07em;color:#27341b}.small-star{position:absolute;font-size:31px;right:40px;bottom:35px}.orbit{width:340px;height:145px;border:1px solid #7c866a;position:absolute;top:143px;left:50%;border-radius:50%;z-index:2;pointer-events:none}.orbit-one{transform:translateX(-50%) rotate(-30deg)}.orbit-two{transform:translateX(-50%) rotate(40deg)}.orbit-three{transform:translateX(-50%) rotate(85deg);width:310px;height:155px}.satellite{position:absolute;border-radius:50%;z-index:3}.satellite-one{height:27px;width:27px;background:#354830;top:124px;right:64px}.satellite-two{height:14px;width:14px;background:#fff;bottom:126px;left:55px}.art-star{position:absolute;bottom:83px;right:50px;font-size:30px;color:#4c5a3b}.art-bottom{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:11px;color:#57614c}.section{border-top:1px solid var(--line);padding-block:51px 60px}.about{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.section-label>span{color:var(--muted);font-size:10px}h2{font-size:29px;letter-spacing:-.04em;font-weight:600;margin:15px 0 0}h3{font-size:29px;line-height:1.6;letter-spacing:-.04em;font-weight:500;margin:0 0 20px}.about-copy>p{font-size:14px;line-height:2;color:var(--muted);max-width:580px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.tags span,.tag{border:1px solid var(--line);border-radius:4px;padding:7px 11px;font-size:10px;color:var(--muted)}.section-top{display:flex;justify-content:space-between;align-items:flex-end}.section-description{color:var(--muted);font-size:13px;margin:21px 0 29px}.empty-project{display:flex;gap:23px;align-items:center;border-block:1px solid var(--line);padding:30px 0}.empty-icon{font-size:35px;background:var(--panel);width:75px;height:75px;display:grid;place-items:center;border-radius:5px}.empty-project h3{font-size:18px;margin:0 0 8px}.empty-project p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.empty-project>.tag{margin-left:auto;white-space:nowrap}.project{display:grid;grid-template-columns:45px 1fr auto;gap:20px;padding:25px 0;border-top:1px solid var(--line);align-items:center}.project:last-child{border-bottom:1px solid var(--line)}.project-index{font:11px monospace;color:var(--muted)}.project h3{font-size:20px;margin:0 0 6px;overflow-wrap:anywhere}.project p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.project .project-arrow{font-size:25px}.project:hover .project-arrow{transform:translate(3px,-3px)}.project-meta{display:flex;gap:15px;margin-top:10px;font-size:10px;color:var(--muted)}.contact{background:var(--dark);color:#f5f6ef;padding:42px 48px 47px;margin-block:12px 45px;position:relative;border-radius:5px}.contact .eyebrow{color:#bdc7b3}.contact h2{font-size:43px;line-height:1.5;margin-top:20px}.contact .period{color:var(--accent);display:inline-block;margin-left:15px}.contact>p:not(.eyebrow){font-size:13px;color:#b8c2af;line-height:1.8}.contact .button{background:var(--accent);color:#27341b;margin-top:10px;margin-right:12px}.contact-placeholder{margin-bottom:0}footer{display:flex;justify-content:space-between;padding-block:0 30px;font-size:10px;color:var(--muted)}footer>span:last-child{display:flex;gap:28px}footer a{font-size:18px}.skip{position:fixed;top:-80px;left:20px;z-index:10;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:12px}
html[data-theme="dark"]{--bg:#181d18;--ink:#edf0e4;--muted:#abb3a4;--line:#374032;--panel:#dce3ce;color-scheme:dark}html[data-theme="dark"] .period{color:#bcdb63}html[data-theme="dark"] .contact{background:#263024}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){--bg:#181d18;--ink:#edf0e4;--muted:#abb3a4;--line:#374032;--panel:#dce3ce;color-scheme:dark}}
@media(min-width:1400px){.hero{padding-block:95px 85px}}@media(max-width:800px){.wrap{width:calc(100% - 48px)}.hero{gap:25px;padding-block:52px}.art{min-height:355px}.planet{width:170px;height:170px;top:98px}.planet>span{font-size:37px}.orbit{width:275px;height:120px;top:123px}.orbit-three{width:265px;height:120px}.satellite-one{right:25px;top:105px}.about{gap:30px;grid-template-columns:1fr 1.5fr}.hero-actions{gap:18px}.eyebrow{font-size:8px}.contact{padding:32px}.art-label{font-size:8px}}
@media(max-width:580px){.wrap{width:calc(100% - 40px)}.nav{height:80px;gap:18px}.nav nav{gap:18px;font-size:12px}.wordmark>span:last-child{display:none}.hero{grid-template-columns:1fr;padding-block:40px;gap:36px}h1{font-size:54px;margin-top:23px}.intro{font-size:14px}.hero-caption{margin-top:30px}.art{min-height:350px;max-width:420px;width:100%;justify-self:center;border-radius:170px 170px 5px 5px}.planet{width:190px;height:190px;top:88px}.orbit{width:300px;top:120px}.orbit-three{width:285px}.about{grid-template-columns:1fr;gap:24px}.section{padding-block:34px 40px}.about-copy h3{font-size:25px}.empty-project{align-items:flex-start;gap:14px}.empty-project>.tag{display:none}.empty-icon{width:48px;height:48px;min-width:48px;font-size:26px}.empty-project h3{font-size:16px}.section-top{gap:14px}.section-top .text-link{white-space:nowrap;font-size:10px}.contact{padding:30px 25px}.contact h2{font-size:34px}footer{flex-direction:column;gap:16px}.project{grid-template-columns:25px 1fr 20px;gap:12px}.project h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
