/* Native editorial layout. DESIGN_VARIANCE:6; MOTION_INTENSITY:4; VISUAL_DENSITY:4.
   Layer scale: header 10, native dialogs in browser top layer. Radius: 8px controls, 12px media.
   System Chinese fonts avoid a blocking font download at a recruitment booth. */
:root{color-scheme:light;--bg:#f2f3ef;--surface:#e8ebe3;--panel:#f8f9f5;--ink:#222720;--muted:#5e675b;--line:#d2d8cd;--accent:#446029;--accent-fill:#c5dc9a;--accent-ink:#25321a;--overlay:rgb(18 23 17 / .82);--radius:8px;--media-radius:12px;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#191c19;--surface:#222722;--panel:#202420;--ink:#edf0e7;--muted:#a5aea0;--line:#384136;--accent:#c5dc9a;--accent-fill:#c5dc9a;--accent-ink:#25321a}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#191c19;--surface:#222722;--panel:#202420;--ink:#edf0e7;--muted:#a5aea0;--line:#384136;--accent:#c5dc9a;--accent-fill:#c5dc9a;--accent-ink:#25321a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.75}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}a,button{touch-action:manipulation}button:active,.button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent-fill);color:var(--accent-ink)}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.35}ul{margin:0;padding:0;list-style:none}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:10px;left:20px;z-index:20;padding:10px 18px;background:var(--accent-fill);color:var(--accent-ink);transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);height:80px}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;line-height:1.4;white-space:nowrap}.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--accent-fill);color:var(--accent-ink);border-radius:8px;font-size:29px;font-weight:750;letter-spacing:-3px;padding-right:3px;line-height:1}.brand-caption{font-size:10px;color:var(--muted);display:block;margin-top:2px;font-weight:400;letter-spacing:.15em}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav a{padding-block:10px}.site-header nav a:hover{color:var(--accent)}.theme-toggle{background:transparent;font-size:12px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 13px;white-space:nowrap}.theme-toggle:hover{background:var(--surface)}
.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);align-items:center;gap:7%;padding-top:58px;padding-bottom:56px}.hero-copy{max-width:700px}.eyebrow{font:11px/1.6 Consolas,"SFMono-Regular",monospace;letter-spacing:.08em;color:var(--accent);margin-bottom:24px}.hero h1{font-size:clamp(36px,4.1vw,58px);font-weight:650;letter-spacing:-.065em;line-height:1.35}.hero h1 span{color:var(--accent)}.hero-description{font-size:15px;line-height:1.95;max-width:440px;color:var(--muted);margin-top:26px}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:11px 22px;border-radius:var(--radius);font-size:13px;font-weight:600;white-space:nowrap;transition:transform .2s,background-color .2s}.primary{background:var(--accent-fill);color:var(--accent-ink);border:1px solid var(--accent-fill)}.primary:hover{background:#d3e5b2}.outline{border:1px solid var(--line);background:transparent;color:var(--ink)}.outline:hover{background:var(--surface)}.portrait{width:100%;max-width:380px;justify-self:end}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--media-radius)}.portrait figcaption{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:13px}.portrait figcaption span:first-child{color:var(--ink)}
.profile-strip{display:grid;grid-template-columns:1fr 1.4fr 1.5fr .6fr;gap:24px;padding:24px 0;border-block:1px solid var(--line);font-size:12px}.profile-strip p span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.projects-section{padding-top:94px;padding-bottom:100px}.section-heading h2{font-size:32px;font-weight:600;letter-spacing:-.04em;display:flex;align-items:start;gap:12px}.count{color:var(--accent);font:12px/1.2 Consolas,monospace;padding-top:5px}.section-heading>p{color:var(--muted);font-size:13px;margin-top:14px}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 34px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filters button{font-size:12px;padding:7px 14px;border-radius:var(--radius);background:transparent;border:1px solid transparent;color:var(--muted)}.filters button[aria-pressed="true"]{background:var(--surface);border-color:var(--line);color:var(--ink)}.filters button:hover{color:var(--ink)}#result-count{font-size:11px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:34px;row-gap:62px;align-items:start}.project{grid-column:span 6;min-width:0}.project-finanalyst{grid-column:span 7}.project-cliprag{grid-column:span 5;margin-top:88px}.project-videoarticle{grid-column:span 5}.project-codepost{grid-column:span 7;margin-top:88px}.project-grid.is-filtered .project{grid-column:span 6;margin-top:0}.project-visual{display:block;width:100%;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--media-radius);position:relative;overflow:hidden;aspect-ratio:1.62}.project-visual img{height:100%;width:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1);border-radius:3px}.project-visual:hover img{transform:scale(1.025)}.project-codepost .project-visual{background:#24252a}.project-cliprag .project-visual{aspect-ratio:1.3;padding:16px}.project-cliprag .project-visual img{object-fit:cover;object-position:48% 0}.project-videoarticle .project-visual{aspect-ratio:1.38;padding:16px}.project-videoarticle .project-visual img{object-fit:cover;object-position:left top}.image-open{position:absolute;right:14px;bottom:14px;width:32px;height:32px;display:grid;place-items:center;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;opacity:0;transition:opacity .2s}.project-visual:hover .image-open,.project-visual:focus-visible .image-open{opacity:1}.project-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin:20px 0 11px}.project-meta span:last-child{font-family:Consolas,monospace;color:var(--accent)}.project h3{font-size:clamp(19px,1.7vw,24px);letter-spacing:-.04em;font-weight:600}.project-summary{font-size:13px;color:var(--muted);margin-top:14px;max-width:46ch;line-height:1.9}.stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.stack li{font:10px/1.6 Consolas,"Microsoft YaHei",monospace;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:3px 8px}.project-actions{display:flex;gap:26px;margin-top:24px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:600;color:var(--accent);background:transparent;padding:0}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.secondary-link{color:var(--muted)}.print-details{display:none}.notice{font-size:13px;color:var(--muted);padding:20px 0}
.approach-section{background:var(--surface);padding:78px 0}.approach-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:14%}.approach-intro h2{font-size:34px;letter-spacing:-.05em;line-height:1.5;font-weight:550}.approach-intro>p{font-size:13px;line-height:1.95;color:var(--muted);margin:22px 0 28px;max-width:320px}.practice-list article{padding:25px 0;border-top:1px solid var(--line)}.practice-list article:first-child{padding-top:0;border:0}.practice-list h3{font-size:17px;font-weight:600}.practice-list p{font-size:13px;color:var(--muted);margin:12px 0}.practice-list span{color:var(--accent);font:10px/1.6 Consolas,monospace}.about-section{display:grid;grid-template-columns:.85fr 1.3fr;gap:14%;padding-block:100px}.about-heading h2{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:24px}.about-heading>p{font-size:32px;line-height:1.5;letter-spacing:-.04em}.about-copy>p{font-size:13px;color:var(--muted);line-height:2}.about-copy .about-lead{font-size:17px;color:var(--ink);margin-bottom:22px;line-height:1.9}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px;padding-top:27px;border-top:1px solid var(--line)}.about-facts span{font-size:10px;color:var(--muted);display:block}.about-facts strong{font-size:13px;font-weight:600;display:block;margin:9px 0}.about-facts p{font-size:11px;color:var(--muted);line-height:1.9}.contact-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:14%;padding-block:70px 54px}.contact-section h2{font-size:38px;font-weight:550;line-height:1.5;letter-spacing:-.05em}.contact-section .eyebrow{margin-bottom:18px}.contact-details>p:first-child{font-size:13px;color:var(--muted)}.contact-email{font-size:clamp(16px,1.8vw,24px);letter-spacing:-.02em;display:block;margin:18px 0 4px;overflow-wrap:anywhere}.contact-email span{color:var(--accent)}.phone-link{font:13px/2 Consolas,monospace;color:var(--muted)}.contact-actions{display:flex;gap:10px;margin-top:24px}.action-status{font-size:12px;color:var(--accent);min-height:24px;margin-top:12px}.site-footer{padding-block:24px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:10px}.site-footer .text-link{font-size:10px}
dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0;overscroll-behavior:contain}dialog::backdrop{background:var(--overlay)}#project-dialog{width:min(1120px,calc(100% - 48px));max-height:92dvh}body:has(dialog[open]){overflow:hidden}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:1}.dialog-bar span{font:12px/1.7 Consolas,monospace;color:var(--muted)}.dialog-close{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:7px 13px;font-size:12px;white-space:nowrap}.dialog-body{padding:34px}.dialog-heading h2{font-size:34px;letter-spacing:-.04em}.dialog-heading>p{font-size:14px;color:var(--muted);margin-top:14px;max-width:700px}.dialog-heading .stack{margin:18px 0 24px}.gallery{margin-top:30px}.gallery-main{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;width:100%;position:relative;cursor:zoom-in}.gallery-main img{width:100%;height:auto;aspect-ratio:1920/910;object-fit:contain}.gallery-main:after{content:'点击查看原图';position:absolute;right:18px;bottom:16px;background:var(--panel);border-radius:5px;border:1px solid var(--line);color:var(--ink);font-size:11px;padding:5px 10px}.gallery-caption{font-size:12px;color:var(--muted);margin-top:12px}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 0}.gallery-thumbs button{flex:0 0 104px;border:2px solid transparent;border-radius:6px;background:var(--surface);padding:4px}.gallery-thumbs button[aria-pressed="true"]{border-color:var(--accent)}.gallery-thumbs img{width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:2px}.case-overview{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}.case-overview h3,.case-heading{font-size:17px;font-weight:550;margin-bottom:12px}.case-overview p,.decision p{font-size:13px;color:var(--muted);line-height:1.95}.flow{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 32px;align-items:center}.flow span{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:8px 12px;border-radius:6px}.flow i{font-style:normal;color:var(--accent)}.decisions{display:grid;grid-template-columns:1fr;gap:24px}.decision{display:grid;grid-template-columns:220px 1fr;gap:24px}.decision h4{font-size:14px;font-weight:550;line-height:1.8;margin:0}.case-section{padding:32px 0;border-bottom:1px solid var(--line)}.boundary{margin-top:28px;padding:20px;background:var(--surface);border-radius:8px;font-size:12px;color:var(--muted);line-height:1.9}.boundary strong{display:block;color:var(--ink);font-size:13px;margin-bottom:6px}.dialog-footer{display:flex;gap:12px;margin-top:28px}#image-dialog{width:min(1600px,96vw);max-height:96dvh;padding:54px 14px 14px;background:var(--bg)}#image-dialog img{width:100%;max-height:80dvh;object-fit:contain}#image-dialog p{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}.viewer-close{position:absolute;top:12px;right:16px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 14px;font-size:12px}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .65s both}.portrait{animation:enter .8s .12s both}.js-reveal [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.js-reveal [data-reveal].is-visible{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
@media(min-width:1440px){.hero{padding-block:64px}.portrait{max-width:410px}}
@media(max-width:1023px){.shell{width:calc(100% - 64px)}.site-header nav{gap:22px}.hero{gap:6%;padding-block:42px}.hero h1{font-size:36px}.hero-description{font-size:14px}.eyebrow{font-size:9px}.profile-strip{grid-template-columns:1fr 1.3fr 1.5fr;gap:16px}.profile-strip p:last-child{display:none}.project-grid{gap:46px 24px}.project-cliprag,.project-codepost{margin-top:56px}.project h3{font-size:20px}.project-meta{flex-direction:column;gap:2px}.approach-layout,.about-section,.contact-section{gap:8%}.approach-intro h2{font-size:28px}.about-heading>p{font-size:28px}.contact-section h2{font-size:32px}}
@media(max-width:767px){html{scroll-padding-top:24px}.shell{width:calc(100% - 40px)}.site-header{height:72px;gap:14px}.brand-caption{display:none}.brand{font-size:13px;gap:8px}.brand-mark{width:30px;height:30px;font-size:25px}.site-header nav{gap:16px;margin-left:auto}.site-header nav a{font-size:11px}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.theme-toggle{font-size:10px;padding:6px 8px}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:32px;gap:30px}.hero .eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.02em}.hero h1{font-size:clamp(29px,7.8vw,44px);letter-spacing:-.055em}.hero-description{margin-top:20px;max-width:350px;font-size:13px}.hero-actions{margin-top:23px}.button{font-size:12px;min-height:44px;padding:10px 18px;gap:18px}.portrait{max-width:none}.portrait img{aspect-ratio:1.7;object-position:50% 38%}.portrait figcaption{font-size:10px}.profile-strip{grid-template-columns:1fr 1.3fr;font-size:11px;row-gap:18px;padding-block:22px}.profile-strip p:nth-child(3){display:none}.profile-strip p:last-child{display:block}.projects-section{padding-block:56px}.section-heading h2{font-size:27px}.section-heading>p{font-size:12px;max-width:260px}.project-toolbar{margin:24px 0;gap:8px}.filters{gap:2px}.filters button{padding:7px 9px;font-size:10px}#result-count{font-size:10px}.project-grid,.project-grid.is-filtered{grid-template-columns:1fr;gap:40px}.project,.project-grid.is-filtered .project{grid-column:1;margin:0}.project-visual,.project-cliprag .project-visual,.project-videoarticle .project-visual{aspect-ratio:1.62;padding:12px}.project-cliprag .project-visual img,.project-videoarticle .project-visual img{object-fit:contain}.project-meta{flex-direction:row;font-size:10px;margin-top:16px}.project h3{font-size:21px}.project-summary{font-size:12px}.project-actions{margin-top:20px}.approach-section{padding-block:48px}.approach-layout{grid-template-columns:1fr;gap:34px}.approach-intro h2{font-size:28px}.approach-intro>p{margin-top:16px;max-width:320px}.practice-list article{padding-block:23px}.practice-list h3{font-size:16px}.about-section{padding-block:56px;grid-template-columns:1fr;gap:28px}.about-heading h2{margin-bottom:14px;font-size:12px}.about-heading>p{font-size:27px}.about-heading>p br{display:none}.about-copy .about-lead{font-size:16px}.about-facts{gap:18px}.contact-section{padding-block:44px 28px;grid-template-columns:1fr;gap:28px}.contact-section h2{font-size:31px}.contact-section .eyebrow{font-size:10px}.contact-email{font-size:20px}.site-footer{flex-wrap:wrap;gap:12px}.site-footer>span:nth-child(2){display:none}#project-dialog{width:calc(100% - 16px);max-height:96dvh}.dialog-bar{padding:13px 18px}.dialog-body{padding:22px 18px}.dialog-heading h2{font-size:27px}.dialog-heading>p{font-size:12px}.case-overview{grid-template-columns:1fr;gap:24px;padding-top:24px}.decision{grid-template-columns:1fr;gap:7px}.gallery{margin-top:22px}.gallery-main{padding:5px}.gallery-main:after{font-size:9px;right:8px;bottom:8px}.gallery-thumbs button{flex-basis:86px}.flow{gap:6px}.flow span{padding:6px 8px;font-size:10px}.flow i{font-size:10px}.contact-actions{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-reveal [data-reveal]{opacity:1;transform:none}}
@media print{:root, :root[data-theme="dark"]{color-scheme:light;--bg:#fff;--surface:#f2f3ee;--panel:#fff;--ink:#20251e;--muted:#4e574a;--line:#ccd2c7;--accent:#36551d;--accent-fill:#d7e5bd;--accent-ink:#23301a}html{scroll-behavior:auto}body{font-size:10pt}.shell{width:100%;max-width:none}.site-header,.profile-strip,.project-toolbar,.hero-actions,.approach-section,.contact-actions,.site-footer button,dialog,.skip-link,.project-actions,.image-open{display:none!important}.hero{padding:0 0 20px;grid-template-columns:1fr 140px;gap:24px}.hero h1{font-size:25pt}.hero-description{font-size:10pt;max-width:100%}.hero .eyebrow{font-size:8pt}.portrait{max-width:140px}.portrait img{aspect-ratio:1}.portrait figcaption{display:none}.projects-section{padding:20px 0}.section-heading h2{font-size:18pt}.project-grid{display:block}.project{margin:25px 0;break-inside:avoid;page-break-inside:avoid}.project-visual,.project-cliprag .project-visual,.project-videoarticle .project-visual{float:right;width:35%;aspect-ratio:1.8;margin:0 0 12px 20px;padding:5px}.project-visual img{object-fit:contain!important}.project h3{font-size:14pt}.project-meta{font-size:8pt;margin-top:0}.project-summary{font-size:9pt;max-width:none}.stack{margin:10px 0}.stack li{font-size:7pt}.print-details{display:block;clear:both;font-size:9pt}.print-details p{margin:5px 0}.about-section{display:block;padding:15px 0}.about-heading>p{display:none}.about-heading h2{margin-bottom:10px}.about-copy>p{font-size:9pt}.about-copy .about-lead{font-size:10pt}.about-facts{margin:12px 0;padding:10px 0}.contact-section{padding:15px 0;gap:20px;grid-template-columns:1fr 1fr}.contact-section .eyebrow{display:none}.contact-section h2{font-size:20pt}.contact-email{font-size:12pt}.site-footer{padding:12px 0}.js-reveal [data-reveal]{opacity:1;transform:none}}
/* Personal homepage: neutral charcoal with photographic ambient color. */
:root[data-theme="dark"]{--bg:#1b1b1e;--surface:#252529;--panel:#222226;--ink:#efeff1;--muted:#b0b0b9;--line:#3d3d45;--overlay:rgb(16 16 20 / .85)}
body{position:relative;isolation:isolate}
body::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:0;right:0;height:1100px;background:radial-gradient(ellipse 55% 60% at 82% 31%,rgb(150 129 93 / .19),transparent 78%),radial-gradient(ellipse 58% 70% at 43% 8%,rgb(107 122 148 / .14),transparent 80%);}
.site-header{border-bottom-color:transparent}
.brand{font-size:17px;font-weight:600;letter-spacing:.035em}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5%;padding-block:42px 56px;position:relative}
.hero-copy{position:relative;z-index:1}
.hero h1{font-size:clamp(35px,3.6vw,52px);letter-spacing:-.055em;line-height:1.5}
.hero h1 span{color:var(--ink)}
.portrait{position:relative;isolation:isolate;width:100%;max-width:560px}
.portrait::before{content:"";position:absolute;inset:-65px -55px -35px;z-index:-1;background:radial-gradient(ellipse at 65% 35%,rgb(176 151 101 / .24),transparent 70%),radial-gradient(ellipse at 15% 65%,rgb(104 133 154 / .2),transparent 72%);filter:blur(42px);pointer-events:none}
.portrait img{border-radius:18px;mask-image:radial-gradient(ellipse 76% 78% at 50% 48%,#000 47%,rgb(0 0 0 / .85) 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 76% 78% at 50% 48%,#000 47%,rgb(0 0 0 / .85) 68%,transparent 100%)}
.portrait figcaption{padding-inline:12px}
@media(min-width:1440px){.hero{padding-block:36px 48px}.portrait{max-width:560px}}
@media(max-width:1023px) and (min-width:768px){.hero{gap:4%;padding-block:42px}.hero h1{font-size:32px}.brand{font-size:15px}.site-header nav{gap:18px}}
@media(max-width:767px){body::before{height:1100px;background:radial-gradient(ellipse 100% 40% at 80% 52%,rgb(160 137 95 / .2),transparent 85%),radial-gradient(ellipse 100% 50% at 10% 18%,rgb(107 122 148 / .16),transparent 90%)}.brand{font-size:14px;letter-spacing:0}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:22px}.hero h1{font-size:clamp(29px,7.4vw,40px);line-height:1.5}.portrait{max-width:520px;justify-self:center}.portrait img{aspect-ratio:1.2;object-position:50% 42%}.portrait::before{inset:-30px -15px;filter:blur(26px)}.portrait figcaption{padding-inline:6px}.site-header nav{gap:12px}.site-header{gap:10px}}
@media(max-width:359px){.brand{font-size:12px}.site-header nav{gap:8px}.site-header nav a{font-size:10px}.theme-toggle{padding:6px;font-size:9px}}
@media print{body::before,.portrait::before{display:none}.hero{grid-template-columns:1fr 140px;padding:0 0 20px;gap:24px}.hero h1{font-size:25pt}.portrait{max-width:140px}.portrait img{mask-image:none;-webkit-mask-image:none}}
.tech-section{padding-block:88px 12px}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 64px;margin-top:36px}
.tech-group{padding-top:24px;border-top:1px solid var(--line);min-width:0}
.tech-group h3{font-size:21px;font-weight:550;letter-spacing:-.025em;margin-bottom:24px}
.tech-group ul{display:grid;gap:20px}
.tech-group li{position:relative;padding-left:17px}
.tech-group li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:1px;background:var(--accent)}
.tech-group strong{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.tech-group li p{font-size:12px;color:var(--muted);line-height:1.95;max-width:56ch}
.tech-group>.text-link{margin-top:25px;font-size:11px}
@media(max-width:767px){.tech-section{padding-top:52px;padding-bottom:0}.tech-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.tech-group{padding-top:22px}.tech-group h3{font-size:19px;margin-bottom:20px}.tech-group ul{gap:18px}}
@media print{.tech-section{padding:20px 0}.tech-grid{gap:20px;margin-top:20px}.tech-group{break-inside:avoid;padding-top:12px}.tech-group h3{font-size:12pt;margin-bottom:12px}.tech-group ul{gap:10px}.tech-group strong{font-size:9pt}.tech-group li p{font-size:8pt}.tech-group>.text-link{display:none}}
