.icon-btns{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon-btn{-webkit-backdrop-filter:blur(10px);color:var(--fg);letter-spacing:.03em;transition:background .38s var(--ease), color .38s var(--ease), border-color .38s var(--ease);background:#0d0c0a61;border:1px solid #f4efe652;align-items:center;gap:9px;padding:12px 20px 12px 17px;font-size:13.5px;display:inline-flex;position:relative}.icon-btn__icon{width:15px;height:15px;color:var(--accent);transition:color .38s var(--ease), transform .38s var(--ease);place-items:center;display:grid}.icon-btn__icon svg{stroke-width:1.6px;width:100%;height:100%}.icon-btn__label{white-space:nowrap}.icon-btn:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.icon-btn:hover .icon-btn__icon{color:#0d0c0a;transform:translateY(-1px)}.icon-btn:active{transform:translateY(1px)}.icon-btn.is-primary{background:var(--fg);border-color:var(--fg);color:#0d0c0a;font-weight:500}.icon-btn.is-primary .icon-btn__icon{color:#8a5a1e}.icon-btn.is-primary:hover{color:var(--fg);background:0 0}.icon-btn.is-primary:hover .icon-btn__icon{color:var(--accent)}.text-type{white-space:pre-wrap;display:inline-block}.text-type__cursor{opacity:1;margin-left:.16em;display:inline-block}.text-type__cursor--hidden{display:none}.g1-case-page{min-height:100svh;color:var(--fg);background:var(--bg)}.g1-case-nav{z-index:40;min-height:64px;padding:0 var(--gutter);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.05);background:#0d0c0ab8;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:32px;display:grid;position:sticky;top:0}.g1-case-back{color:var(--fg-mid);letter-spacing:.04em;transition:color .3s var(--ease);align-items:center;gap:9px;font-size:12px;display:inline-flex}.g1-case-back:hover{color:var(--fg)}.g1-case-back svg{width:16px;height:16px;transition:transform .3s var(--ease)}.g1-case-back:hover svg{transform:translate(-3px)}.g1-case-nav-links{scrollbar-width:none;justify-content:flex-end;gap:clamp(14px,1.6vw,26px);min-width:0;display:flex;overflow-x:auto}.g1-case-nav-links::-webkit-scrollbar{display:none}.g1-case-nav-links a{color:var(--fg-low);font-family:var(--font-mono);letter-spacing:.1em;transition:color .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #0000;flex:none;padding:21px 0 18px;font-size:10.5px}.g1-case-nav-links a:hover{color:var(--fg-mid)}.g1-case-nav-links a.is-active{color:var(--fg);border-color:var(--accent)}.g1-case-intro{background:var(--bg-sink);min-height:clamp(440px,72vh,660px);scroll-margin-top:64px;position:relative;overflow:hidden}.g1-case-bg{object-fit:cover;object-position:76% center;filter:saturate(.84)contrast(1.03)brightness(.8);width:100%;height:100%;position:absolute;inset:0}.g1-case-intro:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--bg) 0%, #0d0c0af7 30%, #0d0c0ab8 48%, #0d0c0a47 68%, #0d0c0a0f 100%);position:absolute;inset:0}.g1-case-intro:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent, var(--bg));height:140px;position:absolute;inset:auto 0 0}.g1-case-intro-grid{z-index:1;padding:clamp(56px, 8vh, 96px) var(--gutter);display:block;position:relative}.g1-case-copy{max-width:640px}.g1-case-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;font-size:10.5px}.g1-case-copy h1{color:var(--fg);font-family:var(--font-display);letter-spacing:.02em;margin:22px 0 24px;font-size:clamp(2.3rem,5vw,4.4rem);font-weight:400;line-height:1.18}.g1-case-copy>p{max-width:34em;color:var(--fg-mid);font-size:clamp(14px,1.15vw,16.5px);line-height:1.9}.g1-case-actions{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.g1-case-actions a{border:1px solid var(--line-strong);color:var(--fg);letter-spacing:.04em;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:9px;padding:11px 18px;font-size:12.5px;display:inline-flex}.g1-case-actions a:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.g1-case-actions svg{width:15px;height:15px}.g1-case-visual{display:none}.g1-case-footer{min-height:110px;padding:0 var(--gutter);border-top:1px solid var(--line);color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;font-size:10px;display:flex}.g1-case-footer button{color:var(--fg-mid);letter-spacing:.04em;transition:color .3s var(--ease);align-items:center;gap:9px;font-size:12px;display:inline-flex}.g1-case-footer button:hover{color:var(--fg)}.g1-case-footer svg{width:16px;height:16px}@media (width<=900px){.g1-case-nav{gap:18px}.g1-case-nav-links{justify-content:flex-start}.g1-case-bg{object-position:70% center}.g1-case-intro:after{background:linear-gradient(#0d0c0ac7 0%,#0d0c0a85 52%,#0d0c0af0 100%)}.g1-case-copy{max-width:100%}}@media (width<=720px){.g1-case-nav{gap:16px;min-height:56px;padding:0 16px}.g1-case-back{font-size:0}.g1-case-back svg{width:20px;height:20px}.g1-case-nav-links a{padding:18px 0 15px}.g1-case-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}}.dataops-case-page{background:var(--bg)}.dataops-case-hero{background:var(--bg-sink);align-items:center;min-height:clamp(440px,72vh,660px);scroll-margin-top:64px;display:flex;position:relative;overflow:hidden}.dataops-case-hero>img{object-fit:cover;object-position:58% center;filter:saturate(.82)contrast(1.04)brightness(.72);width:100%;height:100%;position:absolute;inset:0}.dataops-case-hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent, var(--bg));height:140px;position:absolute;inset:auto 0 0}.dataops-case-overlay{background:linear-gradient(90deg,#0a0907f2 0%,#0a0907e0 36%,#0a090761 68%,#0a09072e 100%);position:absolute;inset:0}.dataops-case-copy{z-index:2;width:var(--shell);margin:0 auto;padding:clamp(56px,8vh,96px) 0;position:relative}.dataops-case-copy>span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;font-size:10.5px}.dataops-case-copy h1{max-width:17em;color:var(--fg);font-family:var(--font-display);letter-spacing:.02em;margin:22px 0 24px;font-size:clamp(2.3rem,5vw,4.4rem);font-weight:400;line-height:1.2}.dataops-case-copy p{max-width:34em;color:var(--fg-mid);font-size:clamp(14px,1.1vw,16.5px);line-height:1.9}.dataops-case-copy a{border:1px solid var(--line-strong);color:var(--fg);letter-spacing:.04em;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:9px;margin-top:32px;padding:11px 18px;font-size:12.5px;display:inline-flex}.dataops-case-copy a:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.dataops-case-copy a svg{width:15px;height:15px}@media (width<=900px){.dataops-case-hero{min-height:0}.dataops-case-overlay{background:linear-gradient(#0a0907bd 0%,#0a090794 48%,#0a0907f2 100%)}.dataops-case-hero>img{object-position:62% center}}:root{--bg:#0d0c0a;--bg-raise:#141210;--bg-sink:#090807;--fg:#f4efe6;--fg-mid:#f4efe6b8;--fg-low:#f4efe680;--fg-faint:#f4efe64d;--line:#f4efe626;--line-strong:#f4efe64d;--line-soft:#f4efe614;--accent:#e3a45c;--accent-dim:#e3a45c29;--card-inverse:#f2ece1;--card-inverse-ink:#14110d;--card-inverse-mute:#14110dad;--card-inverse-faint:#14110d73;--card-inverse-accent:#a2661f;--font-display:"Noto Serif SC Medium", "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--font-sans:"Noto Sans SC", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif;--font-mono:"Cascadia Mono", "Consolas", ui-monospace, "SFMono-Regular", monospace;--gutter:clamp(20px, 4vw, 72px);--shell:min(1400px, calc(100% - var(--gutter) * 2));--sec-y:clamp(56px, 6.4vw, 104px);--ease:cubic-bezier(.22, .68, .16, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:#f4efe638 #0d0c0a;scrollbar-width:thin}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#0d0c0a}::-webkit-scrollbar-thumb{background:#f4efe638;border:3px solid #0d0c0a}::-webkit-scrollbar-thumb:hover{background:#f4efe657}body{background:var(--bg);min-width:320px;color:var(--fg);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16.5px;line-height:1.72}h1,h2,h3,h4,p,figure,blockquote{margin:0}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:#0d0c0a}body:after{content:"";z-index:80;pointer-events:none;opacity:.045;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px;position:fixed;inset:0}:where(a,button,[role=option]):focus-visible{outline:1px solid var(--accent);outline-offset:4px}.shell{width:var(--shell);margin:0 auto}.section{padding-block:var(--sec-y);border-top:1px solid var(--line);scroll-margin-top:68px;position:relative}.site-main{display:block}.section-head{border-bottom:1px solid var(--line-strong);grid-template-columns:auto minmax(0,1fr) minmax(0,.72fr);align-items:end;gap:clamp(16px,2.6vw,48px);margin-bottom:clamp(30px,3.6vw,50px);padding-bottom:clamp(18px,2vw,26px);display:grid}.section-head__index{font-family:var(--font-display);letter-spacing:-.02em;color:#0000;-webkit-text-stroke:1px #e3a45c8c;align-self:end;font-size:clamp(2.9rem,4.6vw,4.4rem);line-height:.78}.section-head h2{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(2.1rem,4vw,3.6rem);font-weight:400;line-height:1.08}.section-head p{text-wrap:pretty;max-width:34em;color:var(--fg-mid);margin:0 0 6px;font-size:clamp(14.5px,1.05vw,15.5px);line-height:1.8}.link-arrow{border-bottom:1px solid var(--line-strong);letter-spacing:.04em;transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:8px;padding-bottom:4px;font-size:13px;display:inline-flex}.link-arrow svg{width:15px;height:15px;transition:transform .3s var(--ease)}.link-arrow:hover{color:var(--accent);border-color:var(--accent)}.link-arrow:hover svg{transform:translate(2px,-2px)}.site-header{z-index:40;height:68px;padding-inline:var(--gutter);border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px)saturate(1.1);background:#0d0c0a94;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.brand{align-items:baseline;gap:18px;display:flex}.brand>span{letter-spacing:.015em;font-size:1.02rem;font-weight:600}.brand small{border-left:1px solid var(--line);color:var(--fg-low);font-family:var(--font-mono);letter-spacing:.16em;white-space:nowrap;padding-left:18px;font-size:10px}.header-status{color:var(--fg-mid);font-family:var(--font-mono);letter-spacing:.12em;white-space:nowrap;align-items:center;gap:9px;font-size:10.5px;display:inline-flex}.header-status i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 0 3px var(--accent-dim);border-radius:50%}.hero{background:var(--bg-sink);isolation:isolate;align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-media{z-index:0;position:absolute;inset:0}.hero-media video{object-fit:cover;filter:saturate(.9)contrast(1.02)brightness(.9);width:100%;height:100%}.hero-overlay{z-index:1;background:linear-gradient(180deg, #0a0907b8 0%, #0a090714 26%, #0a09072e 52%, #0d0c0ad1 82%, var(--bg) 100%), radial-gradient(120% 90% at 82% 18%, transparent 30%, #0a090761 100%);position:absolute;inset:0}.hero-media:after{content:"";mix-blend-mode:soft-light;pointer-events:none;background:#e3a45c1a;position:absolute;inset:0}.hero-content{z-index:2;width:var(--shell);margin-inline:auto;padding-top:140px;padding-bottom:clamp(40px,6vh,72px);position:relative}.hero-meta{color:var(--fg-low);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #f4efe647;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-bottom:clamp(22px,3.4vh,38px);padding-bottom:14px;font-size:11.5px;display:flex}.hero-meta span{position:relative}.hero-meta span+span:before{content:"";background:var(--line-strong);width:3px;height:1px;position:absolute;top:50%;left:-11px}.hero h1{max-width:15em;font-family:var(--font-display);letter-spacing:.005em;text-wrap:balance;animation:hero-line-in 1.2s var(--ease) 80ms both;font-size:clamp(2.6rem,6.2vw,6rem);font-weight:400;line-height:1.1}@keyframes hero-line-in{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(26px)}to{opacity:1;clip-path:inset(0 0 -10%);transform:translateY(0)}}.hero h1 span{display:block}.hero-lead{text-wrap:pretty;max-width:34em;color:var(--fg-mid);margin-top:clamp(18px,2.4vh,28px);font-size:clamp(14.5px,1.1vw,16.5px);line-height:1.85}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:clamp(26px,4vh,42px);display:flex}.hero-scroll{right:var(--gutter);z-index:2;color:var(--fg-low);font-family:var(--font-mono);letter-spacing:.24em;transition:color .3s var(--ease);align-items:center;gap:10px;font-size:10px;display:inline-flex;position:absolute;bottom:clamp(40px,6vh,76px)}.hero-scroll svg{width:14px;height:14px;transition:transform .4s var(--ease)}.hero-scroll:hover{color:var(--fg)}.hero-scroll:hover svg{transform:translateY(4px)}.about-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch;gap:clamp(28px,4.6vw,80px);display:grid}.exp-list{border-top:1px solid var(--line);flex-direction:column;align-self:start;display:flex}.exp-list:focus-visible{outline-offset:6px}.exp-item{border-bottom:1px solid var(--line);width:100%;color:var(--fg-low);text-align:left;cursor:pointer;transition:color .35s var(--ease);grid-template-columns:2.4em minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.4vw,22px);padding:clamp(16px,1.9vw,24px) 0;display:grid;position:relative}.exp-item:hover{color:var(--fg-mid)}.exp-item.is-active{color:var(--fg);box-shadow:inset 2px 0 0 var(--accent)}.exp-item__index{font-family:var(--font-mono);letter-spacing:.1em;color:#f4efe652;transition:color .35s var(--ease);font-size:10.5px}.exp-item.is-active .exp-item__index{color:var(--accent)}.exp-item__title{font-family:var(--font-display);letter-spacing:.02em;font-size:clamp(16px,1.45vw,22px);line-height:1.45}.exp-item__time{font-family:var(--font-mono);letter-spacing:.06em;color:#f4efe66b;white-space:nowrap;transition:color .35s var(--ease);font-size:10.5px}.exp-item.is-active .exp-item__time{color:#f4efe699}.exp-preview{border-left:1px solid var(--line);min-height:380px;animation:preview-in .55s var(--ease) both;flex-direction:column;padding-left:clamp(24px,3.6vw,64px);display:flex;position:relative}@keyframes preview-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.exp-preview time{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);font-size:10.5px}.exp-preview h3{max-width:20em;font-family:var(--font-display);letter-spacing:.02em;margin:18px 0 20px;font-size:clamp(1.45rem,2vw,1.95rem);font-weight:400;line-height:1.34}.exp-preview__title{display:block}.exp-preview__qualifier{color:var(--fg-mid);letter-spacing:.01em;margin-top:6px;font-size:.68em;line-height:1.5;display:block}.exp-preview>p{max-width:32em;color:var(--fg-mid);font-size:clamp(14.5px,1.05vw,16px);line-height:1.9}.exp-tags{color:var(--fg-low);font-family:var(--font-mono);letter-spacing:.08em;flex-wrap:wrap;gap:6px 0;margin-top:22px;font-size:10.5px;display:flex}.exp-tags span:not(:last-child):after{content:"/";color:var(--fg-faint);margin:0 10px}.exp-links{flex-wrap:wrap;gap:10px 24px;margin-top:20px;display:flex}.exp-links a{border-bottom:1px solid var(--line);color:var(--fg-mid);letter-spacing:.03em;transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:6px;padding-bottom:3px;font-size:12px;display:inline-flex}.exp-links a svg{width:12px;height:12px;transition:transform .3s var(--ease)}.exp-links a:hover{color:var(--accent);border-color:var(--accent)}.exp-links a:hover svg{transform:translate(2px,-2px)}.exp-open{border:1px solid var(--line-strong);color:var(--fg);letter-spacing:.05em;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);align-self:flex-start;align-items:center;gap:10px;margin-top:auto;padding:14px 22px;font-size:13px;display:inline-flex}.exp-open svg{width:15px;height:15px;transition:transform .35s var(--ease)}.exp-open:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.exp-open:hover svg{transform:translate(2px,-2px)}.metrics{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(30px,3.6vw,48px) 0 0;padding:0;list-style:none;display:grid}.metric{border-right:1px solid var(--line-soft);padding:clamp(18px,2vw,26px) clamp(14px,1.8vw,26px) 0}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric strong{font-family:var(--font-display);letter-spacing:0;color:var(--fg);font-size:clamp(2.4rem,3.9vw,3.7rem);font-weight:400;line-height:.95;display:block}.metric__label{color:var(--fg-mid);margin-top:10px;font-size:13px;line-height:1.65;display:block}.metric__unit{color:#f4efe673;font-family:var(--font-mono);letter-spacing:.16em;margin-top:6px;font-size:9.5px;display:block}.project-stack{margin-inline:calc(-1 * var(--gutter));flex-direction:column;gap:clamp(16px,2vw,26px);display:flex}.project-card{border:1px solid var(--line);background:var(--bg-raise);text-align:left;cursor:pointer;isolation:isolate;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);width:100%;height:clamp(340px,52vh,520px);padding:0;display:grid;position:relative;overflow:hidden}.project-card__media{z-index:0;position:relative;overflow:hidden}.project-card__media video{object-fit:cover;filter:saturate(.92)contrast(1.02)brightness(.86);width:100%;height:100%;transition:transform 1.4s var(--ease), filter .8s var(--ease);transform:scale(1.01)}.project-card:hover .project-card__media video,.project-card:focus-visible .project-card__media video{filter:saturate()contrast(1.03)brightness(.95);transform:scale(1.045)}.project-card__media:after{content:"";background:linear-gradient(90deg, #0a09070f 0%, #0a090700 40%, transparent 93%, var(--card-inverse) 100%);position:absolute;inset:0}.project-card__body{z-index:2;background:var(--card-inverse);color:var(--card-inverse-ink);flex-direction:column;justify-content:flex-start;gap:clamp(12px,1.8vw,20px);padding:clamp(22px,2.6vw,40px);display:flex;position:relative}.project-card__num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--card-inverse-accent);font-size:11.5px}.project-card__copy{flex-direction:column;gap:12px;display:flex}.project-card__copy small{font-family:var(--font-mono);letter-spacing:.18em;color:var(--card-inverse-faint);text-transform:uppercase;font-size:10.5px}.project-card__copy h3{color:var(--card-inverse-ink);font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;font-size:clamp(1.4rem,2.3vw,2.1rem);font-weight:400;line-height:1.32}.project-card__copy p{max-width:30em;color:var(--card-inverse-mute);font-size:clamp(13.5px,1.05vw,15px);line-height:1.85}.project-card__cta{color:var(--card-inverse-ink);letter-spacing:.05em;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);border:1px solid #14110d52;align-self:flex-start;align-items:center;gap:9px;margin-top:auto;padding:11px 18px;font-size:12.5px;display:inline-flex}.project-card__cta svg{width:15px;height:15px;transition:transform .35s var(--ease)}.project-card:hover .project-card__cta,.project-card__cta{background:var(--card-inverse-ink);border-color:var(--card-inverse-ink);color:var(--card-inverse)}.project-card:hover .project-card__cta{color:var(--card-inverse-ink);background:0 0}.project-card:hover .project-card__cta svg{transform:translate(2px,-2px)}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .3s var(--ease) both;background:#080706bd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.concept-dialog{border:1px solid var(--line-strong);background:var(--bg-raise);width:min(620px,100%);animation:dialog-in .42s var(--ease) both;padding:clamp(32px,4vw,56px);position:relative}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.concept-dialog>span{font-family:var(--font-mono);letter-spacing:.16em;color:var(--accent);font-size:10.5px}.concept-dialog h3{font-family:var(--font-display);margin:16px 0 18px;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:400;line-height:1.32}.concept-dialog p{color:var(--fg-mid);font-size:15px;line-height:1.9}.concept-dialog .tags{margin-top:26px}.concept-dialog .tags span{border-color:var(--line);color:var(--fg-low);font-family:var(--font-mono);font-size:10.5px}.dialog-close{border:1px solid var(--line);width:34px;height:34px;color:var(--fg-mid);transition:color .3s var(--ease), border-color .3s var(--ease);place-items:center;display:grid;position:absolute;top:16px;right:16px}.dialog-close:hover{color:var(--fg);border-color:var(--line-strong)}.dialog-close svg{width:16px;height:16px}.contact{padding-top:var(--sec-y);border-top:1px solid var(--line);background:linear-gradient(180deg, var(--bg) 0%, #0a0908 62%, #080706 100%);position:relative}.contact h2{max-width:16em;min-height:2.6em;font-family:var(--font-display);letter-spacing:.025em;font-size:clamp(1.9rem,4.4vw,3.9rem);font-weight:400;line-height:1.3}.contact-head{border-bottom:1px solid var(--line);align-items:baseline;gap:18px;margin-bottom:clamp(32px,4.4vw,60px);padding-bottom:14px;display:flex}.contact-label{font-family:var(--font-mono);letter-spacing:.18em;color:var(--fg-low);font-size:10.5px}.contact-cursor{color:var(--accent);font-weight:300}.contact-title-muted,.contact-title-break{display:inline}.contact-title-break{color:var(--accent)}.contact-main{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start;gap:clamp(32px,6vw,96px);padding-bottom:clamp(28px,3.6vw,56px);display:grid}.contact-lead{flex-direction:column;gap:clamp(28px,3.6vw,48px);display:flex}.text-type__cursor{font-weight:300}.contact-note{color:var(--fg-mid);text-wrap:pretty;font-size:clamp(15px,1.15vw,17px);line-height:1.9}.contact-links{border-top:1px solid var(--line);flex-direction:column;margin-top:10px;display:flex}.contact-links a,.contact-links>span{border-bottom:1px solid var(--line);color:var(--fg-mid);letter-spacing:.03em;transition:color .3s var(--ease), padding-left .35s var(--ease);justify-content:space-between;align-items:center;gap:16px;padding:17px 0;font-size:15px;display:flex}.contact-links svg{width:15px;height:15px}.contact-links a:hover{color:var(--fg);padding-left:8px}.contact-links a span{align-items:center;gap:10px;display:inline-flex}.contact-links a span svg{color:var(--fg-low)}.contact-links a:hover svg{color:var(--accent)}.notes{border-top:1px solid var(--line);padding-top:clamp(28px,4vw,44px)}.notes-head{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:20px;display:flex}.notes-head .section-head__index{-webkit-text-stroke-width:.8px;font-size:clamp(1.6rem,2.2vw,2.2rem)}.idea-invite{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 40px;display:flex}.idea-invite p{max-width:36em;color:var(--fg-mid);font-size:14.5px;line-height:1.85}.idea-launch{border:1px solid var(--line-strong);color:var(--fg);font-family:var(--font-mono);letter-spacing:.18em;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);align-items:center;gap:12px;padding:13px 20px;font-size:11px;display:inline-flex}.idea-launch span{color:var(--accent);font-size:14px;line-height:1}.idea-launch:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.idea-workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;gap:clamp(16px,2vw,26px);display:grid}.idea-drop,.idea-reviews{border:1px solid var(--line);background:var(--bg-raise);flex-direction:column;padding:clamp(20px,2.4vw,30px);display:flex;position:relative}.idea-collapse{border:1px solid var(--line);width:28px;height:28px;color:var(--fg-mid);transition:color .3s var(--ease), border-color .3s var(--ease);place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:12px;right:12px}.idea-collapse:hover{color:var(--fg);border-color:var(--line-strong)}.idea-drop-kicker{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);font-size:10px}.idea-drop h3{font-family:var(--font-display);margin:12px 0 6px;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:400;line-height:1.45}.idea-drop-heading p{color:var(--fg-low);font-size:12.5px;line-height:1.7}.idea-drop-form{flex-direction:column;margin-top:20px;display:flex}.idea-drop-form textarea{resize:vertical;border:1px solid var(--line);background:var(--bg-sink);width:100%;min-height:96px;color:var(--fg);font:inherit;transition:border-color .3s var(--ease);padding:12px;font-size:13.5px;line-height:1.7}.idea-drop-form textarea::placeholder,.idea-name::placeholder{color:var(--fg-faint)}.idea-drop-form textarea:focus{border-color:var(--line-strong);outline:none}.idea-text-meta{color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.06em;justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.idea-name{border:1px solid var(--line);background:var(--bg-sink);width:100%;height:38px;color:var(--fg);font:inherit;transition:border-color .3s var(--ease);margin-top:10px;padding:0 12px;font-size:13px}.idea-name:focus{border-color:var(--line-strong);outline:none}.idea-drop-controls{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.idea-emoji-picker{flex-wrap:wrap;gap:2px;display:flex}.idea-emoji-picker button{filter:grayscale(.85);opacity:.6;width:28px;height:28px;transition:opacity .2s var(--ease), filter .2s var(--ease), border-color .2s var(--ease);border:1px solid #0000;border-radius:2px;padding:0;font-size:14px}.idea-emoji-picker button:hover,.idea-emoji-picker button.is-selected{filter:none;opacity:1;border-color:var(--line-strong)}.idea-save{border:1px solid var(--line-strong);min-width:96px;min-height:38px;color:var(--fg);font-family:var(--font-mono);letter-spacing:.18em;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);padding:0 18px;font-size:10.5px}.idea-save:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.idea-reviews>header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:4px 16px;padding-bottom:14px;display:grid}.idea-reviews>header span{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);grid-column:1;font-size:10px}.idea-reviews>header h3{font-family:var(--font-display);grid-column:1;font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:400}.idea-reviews>header em{font-family:var(--font-mono);color:var(--fg-low);grid-area:1/2/3;align-self:center;font-size:11px;font-style:normal}.idea-modal-list{flex-direction:column;flex:1;gap:10px;min-height:0;max-height:340px;margin-top:16px;display:flex;overflow-y:auto}.idea-card{border:1px solid var(--line-soft);background:var(--bg-sink);padding:14px 16px}.idea-card-head{align-items:center;gap:8px;display:flex}.idea-card-head span{font-size:14px}.idea-card strong.tip{color:var(--fg-mid);font-family:var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.idea-card p.second-text{color:var(--fg-mid);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:13px;line-height:1.75}.idea-empty{color:var(--fg-faint);font-size:12.5px}.copyright{border-top:1px solid var(--line-soft);color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:20px 0 clamp(24px,3vw,36px);font-size:10px;display:flex}.copyright a{transition:color .3s var(--ease);align-items:center;gap:8px;display:inline-flex}.copyright a:hover{color:var(--fg)}.copyright svg{width:13px;height:13px;transition:transform .3s var(--ease)}.copyright a:hover svg{transform:translateY(-3px)}.experience-detail{background:var(--bg);min-height:100svh;color:var(--fg);padding-top:68px}.detail-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.detail-nav button,.detail-nav a,.detail-footer button{color:var(--fg-mid);letter-spacing:.04em;transition:color .3s var(--ease);align-items:center;gap:9px;font-size:12px;display:inline-flex}.detail-nav button:hover,.detail-nav a:hover,.detail-footer button:hover{color:var(--fg)}.detail-nav svg,.detail-footer svg{width:15px;height:15px}.detail-nav button:hover svg,.detail-footer button:hover svg{transform:translate(-3px)}.detail-hero{padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px)}.detail-hero time{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);font-size:11px}.detail-hero h1{max-width:16em;font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;margin:24px 0 28px;font-size:clamp(2rem,4vw,3.3rem);font-weight:400;line-height:1.3}.detail-hero>p{max-width:40em;color:var(--fg-mid);font-size:clamp(15px,1.3vw,18px);line-height:1.9}.detail-facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,4vw,56px);display:grid}.detail-facts span{border-right:1px solid var(--line-soft);color:var(--fg-mid);font-family:var(--font-mono);letter-spacing:.08em;padding:20px 20px 18px 0;font-size:11px;line-height:1.6}.detail-facts span:last-child{border-right:0}.detail-story{border-top:1px solid var(--line)}.detail-story section{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(120px,200px) minmax(0,1fr);gap:clamp(16px,2.4vw,40px);padding:clamp(32px,4vw,52px) 0;display:grid}.detail-story section>span{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);font-size:10.5px;line-height:2.4}.detail-story h2{font-family:var(--font-display);font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:400;line-height:1.5}.detail-story p{max-width:40em;color:var(--fg-mid);font-size:15px;line-height:2.05}.detail-footer{border-top:1px solid var(--line);min-height:120px;color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;font-size:10px;display:flex}.certificate-section{border-top:1px solid var(--line);padding:clamp(56px,6vw,96px) 0}.certificate-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:clamp(28px,3vw,44px);display:flex}.certificate-heading>span{font-family:var(--font-mono);letter-spacing:.16em;color:var(--accent);font-size:10.5px}.certificate-heading h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:400}.certificate-heading p{max-width:32em;color:var(--fg-mid);margin-top:10px;font-size:14px;line-height:1.8}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,2.6vw,40px);display:grid}.certificate-card{min-width:0;display:block}.certificate-card--wide{grid-column:1/-1}.certificate-image{border:1px solid var(--line);background:var(--bg-raise);padding:clamp(14px,1.6vw,24px);position:relative;overflow:hidden}.certificate-image img{object-fit:contain;width:100%;max-height:720px;transition:transform .6s var(--ease), opacity .6s var(--ease);opacity:.94;background:#fff}.certificate-card:hover .certificate-image img{opacity:1;transform:translateY(-3px)}.certificate-meta{border-top:1px solid var(--line);justify-content:space-between;gap:24px;padding-top:16px;display:flex}.certificate-meta time{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);font-size:10px}.certificate-meta h3{font-family:var(--font-display);margin:10px 0 6px;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:400;line-height:1.5}.certificate-meta p{color:var(--fg-low);font-size:12px}.certificate-meta>span{color:var(--fg-low);flex:none;align-items:center;gap:6px;font-size:11px;display:inline-flex}.certificate-meta>span svg{width:13px;height:13px}.certificate-card:hover .certificate-meta>span{color:var(--accent)}.paddle-detail{background:var(--bg)}.paddle-nav-mark{color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.16em;font-size:10px}.paddle-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(48px,6vw,88px) 0;display:grid}.paddle-hero-image{border:1px solid var(--line);background-color:#f3efe7;background-image:url(/paddle-logo-transparent.png);background-position:50%;background-repeat:no-repeat;background-size:min(52%,260px);min-height:clamp(240px,28vw,380px)}.paddle-hero-copy time{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);font-size:11px}.paddle-kicker{color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.16em;margin-top:12px;font-size:10px;display:block}.paddle-hero-copy h1{font-family:var(--font-display);letter-spacing:.02em;margin:20px 0 22px;font-size:clamp(1.8rem,3.4vw,2.9rem);font-weight:400;line-height:1.26}.paddle-hero-copy>p{max-width:34em;color:var(--fg-mid);font-size:15px;line-height:1.9}.paddle-links{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.paddle-links a{border:1px solid var(--line-strong);letter-spacing:.04em;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:inline-flex}.paddle-links a svg{width:13px;height:13px}.paddle-links a:hover{background:var(--fg);border-color:var(--fg);color:#0d0c0a}.paddle-intro,.paddle-content{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,760px);justify-content:start;gap:clamp(20px,3.4vw,56px);padding:clamp(48px,6vw,80px) 0;display:grid}.paddle-content--accent{background:linear-gradient(#0000,#f4efe606)}.paddle-section-label{flex-direction:column;align-self:start;gap:8px;display:flex}.paddle-section-label span{font-family:var(--font-display);color:var(--fg-low);font-size:24px}.paddle-section-label small{color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.16em;font-size:9.5px}.paddle-intro h2,.paddle-content h2{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:20px;font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:400;line-height:1.45}.paddle-intro p,.paddle-content p{color:var(--fg-mid);margin-bottom:16px;font-size:15px;line-height:2.05}.paddle-editorial-image{margin:32px 0 0}.paddle-editorial-image img{border:1px solid var(--line);width:100%}.paddle-editorial-image figcaption{color:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.06em;margin-top:10px;font-size:10.5px}.paddle-inline-links{margin-top:8px}.paddle-inline-links a{border-bottom:1px solid var(--line-strong);color:var(--fg-mid);transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:7px;padding-bottom:3px;font-size:13px;display:inline-flex}.paddle-inline-links a:hover{color:var(--accent);border-color:var(--accent)}.paddle-inline-links svg{width:13px;height:13px}@media (width<=1080px){.about-grid{grid-template-columns:1fr;gap:40px}.exp-preview{border-left:0;min-height:0;padding-top:clamp(30px,5vw,44px);padding-left:0}.exp-open{margin-top:30px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding-top:20px}.metric:nth-child(2n){border-right:0}.metric:nth-child(n+3){border-top:1px solid var(--line-soft)}.contact-main{grid-template-columns:1fr;gap:28px}.idea-workspace,.paddle-hero{grid-template-columns:1fr}.paddle-hero-image{min-height:260px}.paddle-intro,.paddle-content{grid-template-columns:1fr;gap:18px}}@media (width<=900px){.hero h1{max-width:12em;font-size:clamp(2rem,7.2vw,2.9rem)}.section-head{grid-template-columns:1fr;align-items:start;gap:10px}.section-head__index{padding-top:0}.section-head p{max-width:100%}.project-card{grid-template-columns:1fr;height:auto}.project-card__media{aspect-ratio:16/10}.project-card__media:after{display:none}.project-card__body{gap:18px;padding:clamp(20px,4vw,26px)}.project-card__cta{margin-top:4px}.detail-story section{grid-template-columns:1fr;gap:10px}.detail-facts{grid-template-columns:1fr 1fr}.certificate-grid{grid-template-columns:1fr}.hero-scroll{display:none}}@media (width<=640px){.site-header{height:58px}.brand{gap:12px}.brand>span{font-size:.95rem}.brand small{display:none}.header-status{letter-spacing:.08em;font-size:9.5px}.hero-content{padding-top:108px}.hero-meta{letter-spacing:.1em;font-size:9.5px}.hero-actions{gap:8px}.hero-actions .icon-btn{flex:calc(50% - 8px);justify-content:center}.hero-actions .icon-btn.is-primary{flex-basis:100%}.section-head{grid-template-columns:1fr;gap:8px}.section-head__index{line-height:1.4}.metrics{grid-template-columns:1fr 1fr}.metric{border-right:0;padding-right:0}.exp-item{grid-template-columns:2em minmax(0,1fr);row-gap:4px}.exp-item__time{grid-column:2;font-size:9.5px}.exp-preview h3{font-size:1.35rem}.project-card__body{padding:20px}.project-card__copy h3{font-size:1.3rem}.contact h2{font-size:1.75rem}.detail-facts{grid-template-columns:1fr}.detail-facts span{border-right:0;border-bottom:1px solid var(--line-soft);padding-right:0}.copyright{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.text-type__cursor{display:none}}
