.footer-container{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:var(--paper);border-top:1px solid var(--ink);min-height:64px;position:relative;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.footer-container:before{display:none}.footer-icons{display:flex;gap:24px;align-items:center}.footer-icons img{width:22px;height:22px;object-fit:contain;opacity:.85;transition:all .25s ease;cursor:pointer;filter:brightness(0)}.footer-icons img[alt=Mail]{width:24px;height:24px}.footer-icons img:hover{opacity:1;transform:translateY(-2px);filter:brightness(0) saturate(100%) invert(26%) sepia(75%) saturate(3200%) hue-rotate(355deg) brightness(85%) contrast(95%)}.dark-mode .footer-icons img{filter:brightness(0) invert(1)}.dark-mode .footer-icons img:hover{filter:brightness(0) saturate(100%) invert(75%) sepia(40%) saturate(600%) hue-rotate(10deg)}.footer-text{color:var(--ink-muted);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:color .3s ease}@media (max-width: 768px){.footer-container{flex-direction:column;align-items:center;gap:16px;padding:24px 20px}.footer-icons{order:1}.footer-text{order:2;text-align:center}}.header-container{position:fixed;top:0;left:0;right:0;width:100vw;max-width:100vw;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;background:var(--paper);border-bottom:1px solid var(--ink);box-shadow:none;transition:background-color .3s ease,border-color .3s ease;overflow:visible}.header-container:after{display:none}.header-name{position:static;font-family:var(--serif);font-weight:500;font-size:1.25rem;letter-spacing:-.01em;color:var(--ink);margin:0;white-space:nowrap}.header-name:before{content:"※ ";color:var(--accent);font-family:var(--serif)}.navbar{display:flex;gap:4px}.navbar button{color:var(--ink);background:none;border:none;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px;border-radius:0;cursor:pointer;position:relative;transition:color .25s ease}.navbar button:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.navbar button:hover,.navbar button:focus,.navbar button.active{color:var(--accent);background:transparent;outline:none}.navbar button:hover:after,.navbar button.active:after{transform:scaleX(1)}.darkmode-logo{position:static;font-size:1.25rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s ease;display:flex;align-items:center}.darkmode-logo:hover{opacity:.6}.darkmode-logo img{width:22px;height:22px;display:block;filter:none}.darkmode-logo img{filter:brightness(0) saturate(100%)}.dark-mode .darkmode-logo img{filter:brightness(0) saturate(100%) invert(1)}.hamburger-button{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:4px;z-index:1001}.hamburger-line{width:22px;height:1.5px;background-color:var(--ink);margin:3px 0;transition:.3s}.hamburger-line.open:nth-child(1){transform:rotate(-45deg) translate(-5px,5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(45deg) translate(-5px,-5px)}.menu-overlay{position:fixed;inset:0;background:#1a1a1a80;z-index:999}.mobile-menu{position:fixed;top:0;right:0;height:100vh;width:300px;background:var(--paper);border-left:1px solid var(--ink);box-shadow:-10px 0 40px #00000014;z-index:1000;animation:slideInRight .3s ease-out;display:flex;flex-direction:column;padding-top:100px}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu .navbar{flex-direction:column;gap:0;padding:20px}.mobile-menu .navbar button{padding:16px 20px;text-align:left;font-size:12px;border-radius:0;margin:0;border-bottom:1px solid rgba(26,26,26,.15);background:transparent;color:var(--ink);letter-spacing:.18em}.mobile-menu .navbar button:after{display:none}.mobile-menu .navbar button:hover,.mobile-menu .navbar button.active{background:transparent;color:var(--accent);transform:none}.dark-mode .mobile-menu .navbar button{border-bottom-color:#efe9dc26}.mobile-menu-footer{margin-top:auto;padding:20px;border-top:1px solid var(--ink)}.mobile-darkmode-toggle{display:flex;align-items:center;gap:12px;padding:14px 18px;width:100%;background:transparent;border:1px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .25s ease}.mobile-darkmode-toggle:hover{background:var(--ink);color:var(--paper);transform:none}.mobile-darkmode-toggle img{width:18px;height:18px;filter:brightness(0)}.dark-mode .mobile-darkmode-toggle img{filter:brightness(0) invert(1)}@media (max-width: 1000px){.header-container{padding:18px 20px}.header-name{font-size:1.1rem}.navbar-desktop{display:none}.hamburger-button{display:flex}.darkmode-logo{display:none}}.home-container{position:relative;min-height:calc(100vh - 72px);padding:48px 6vw 80px;background:var(--paper);overflow:hidden}.folio{position:absolute;top:36px;right:6vw;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.folio-issue{border-bottom:1px solid var(--ink);padding-bottom:2px}.masthead{margin-top:4vh;padding-left:2vw;animation:inkRise .9s ease-out both}.masthead-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}.kicker-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block}.masthead-title{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:.88;letter-spacing:-.035em;font-size:clamp(72px,16vw,260px);display:flex;flex-direction:column}.masthead-line--one{font-style:normal;font-weight:300}.masthead-line--two{align-self:flex-end;margin-right:4vw;font-weight:700;font-style:italic;color:var(--ink)}.masthead-line--two em{color:var(--accent);font-style:italic}.masthead-rule{height:1px;background:var(--ink);width:70%;margin-top:40px;margin-left:auto;opacity:.9}.home-grid{display:grid;grid-template-columns:1fr 340px;gap:80px;margin-top:72px;padding:0 2vw;animation:inkRise 1s ease-out .2s both}.home-aside{max-width:520px;margin-left:8vw}.home-aside .mono-label{display:block;margin-bottom:16px;position:relative;padding-left:28px}.home-aside .mono-label:before{content:"";position:absolute;left:0;top:50%;width:18px;height:1px;background:var(--ink)}.home-aside-body{font-family:var(--serif);font-size:clamp(20px,1.6vw,26px);line-height:1.45;color:var(--ink);font-weight:400}.home-highlight{color:var(--accent);font-style:italic;font-weight:500;white-space:nowrap}.home-cursor{display:inline-block;color:var(--accent);animation:blink 1s steps(2,end) infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.home-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}.editorial-btn{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:14px 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .25s ease,color .25s ease,transform .2s ease;border-radius:0}.editorial-btn--primary{background:var(--ink);color:var(--paper)}.editorial-btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.editorial-btn--ghost:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}.editorial-arrow{transition:transform .3s ease}.editorial-btn:hover .editorial-arrow{transform:translate(4px)}.home-index{border-left:1px solid var(--ink);padding-left:28px;align-self:end}.home-index .mono-label{margin-bottom:18px;display:block}.toc{list-style:none;font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink)}.toc li{display:grid;grid-template-columns:36px 1fr;align-items:baseline;padding:4px 0;border-bottom:1px dotted rgba(26,26,26,.25)}.dark-mode .toc li{border-bottom-color:#efe9dc40}.toc li span{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}.vertical-stamp{position:absolute;left:24px;bottom:80px;transform:rotate(-90deg);transform-origin:left bottom;font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}@media (max-width: 900px){.home-grid{grid-template-columns:1fr;gap:48px;margin-top:48px}.home-aside{margin-left:0}.home-index{border-left:none;padding-left:0;border-top:1px solid var(--ink);padding-top:24px}.masthead-line--two{margin-right:0}.masthead-rule{width:100%}.vertical-stamp{display:none}.folio{top:16px;right:20px}}@media (max-width: 520px){.home-container{padding:40px 20px 60px}.masthead{margin-top:24px;padding-left:0}.home-ctas{flex-direction:column;align-items:flex-start}.editorial-btn{width:100%;justify-content:space-between}}.about-container{background:var(--paper);padding:120px 6vw;position:relative;overflow:hidden}.about-content{max-width:1200px;margin:0 auto;display:grid;gap:100px}.about-text{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:64px;align-items:start;animation:inkRise .8s ease-out both}.about-text h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,4vw,58px);padding-right:16px;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;line-height:.95;color:var(--ink);letter-spacing:-.02em;text-align:left;margin:0;position:sticky;top:120px}.about-text h2:before{content:"02";display:block;font-family:var(--mono);font-size:11px;font-style:normal;font-weight:500;letter-spacing:.2em;color:var(--accent);margin-bottom:12px}.about-description{font-family:var(--serif);font-size:20px;line-height:1.6;color:var(--ink);max-width:62ch}.about-description p{margin-bottom:1.2em}.about-description p:first-of-type:first-letter{font-family:var(--serif);font-weight:700;font-size:5em;float:left;line-height:.85;padding-right:12px;padding-top:6px;color:var(--accent)}.about-description .highlight{color:var(--ink);font-weight:600;background-image:linear-gradient(transparent 65%,#c8341e47 65%);padding:0 2px}.dark-mode .about-description .highlight{background-image:linear-gradient(transparent 65%,#e8b04b4d 65%)}.skills-section h3,.specialties h3{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(32px,4vw,56px);color:var(--ink);margin-bottom:40px;letter-spacing:-.02em}.skills-section h3:before,.specialties h3:before{content:"";display:inline-block;width:40px;height:1px;background:var(--accent);vertical-align:middle;margin-right:16px}.skills-categories{display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink)}.skill-category{padding:28px 0;border-bottom:1px solid rgba(26,26,26,.18);display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;background:transparent;border-radius:0;animation:inkRise .6s ease-out both}.dark-mode .skill-category{border-bottom-color:#efe9dc2e}.skill-category:hover{transform:none;box-shadow:none}.category-title{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink);display:flex;align-items:center;gap:12px;margin:0}.category-icon{color:var(--accent);display:inline-flex}.skill-tags{display:flex;flex-wrap:wrap;gap:6px 0;font-family:var(--mono);font-size:13px;line-height:1.8;color:var(--ink)}.skill-tag,.skill-tag.frontend,.skill-tag.backend,.skill-tag.cloud,.skill-tag.database{background:transparent;border:none;padding:0 12px 0 0;color:var(--ink);font-weight:400;white-space:nowrap;position:relative;border-radius:0}.skill-tag:after{content:"/";color:var(--accent);margin-left:12px;opacity:.6}.skill-tag:last-child:after{content:""}.skill-tag:hover{transform:none;box-shadow:none;color:var(--accent)}.specialties-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.specialty-card{background:transparent;border:none;border-right:1px solid rgba(26,26,26,.18);border-radius:0;padding:36px 28px;text-align:left;animation:inkRise .8s ease-out both;transition:background .3s ease}.dark-mode .specialty-card{border-right-color:#efe9dc2e}.specialty-card:last-child{border-right:none}.specialty-card:hover{transform:none;box-shadow:none;background:var(--paper-deep)}.specialty-card:nth-child(2){transform:translateY(32px)}.specialty-icon{color:var(--accent);margin-bottom:20px;justify-content:flex-start}.specialty-card h4{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--ink);margin-bottom:14px;text-align:left}.specialty-card p{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--ink-muted);text-align:left}@media (max-width: 900px){.about-text{grid-template-columns:1fr;gap:24px}.about-text h2{position:static}.skill-category{grid-template-columns:1fr;gap:16px}.specialties-grid{grid-template-columns:1fr}.specialty-card{border-right:none;border-bottom:1px solid rgba(26,26,26,.18);transform:none}.specialty-card:nth-child(2){transform:none}}@media (max-width: 520px){.about-container{padding:80px 20px}.about-description{font-size:17px}}.education-container{background:var(--paper);padding:120px 6vw}.education-content{max-width:1100px;margin:0 auto}.education-content>h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,4.5vw,64px);line-height:.95;color:var(--ink);letter-spacing:-.02em;margin-bottom:64px;text-align:left;max-width:18ch;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.education-content>h2:before{content:"03 / Education";display:block;font-family:var(--mono);font-size:11px;font-style:normal;font-weight:500;letter-spacing:.2em;color:var(--accent);margin-bottom:12px;text-transform:uppercase}.education-section{margin-bottom:80px;animation:inkRise .8s ease-out both}.section-header{margin-bottom:32px;border-bottom:1px solid var(--ink);padding-bottom:14px}.section-header h3{font-family:var(--serif);font-weight:500;font-style:italic;font-size:28px;color:var(--ink);display:flex;align-items:center;gap:12px}.section-icon{color:var(--accent)}.education-timeline{position:relative}.education-item{display:flex;margin-bottom:24px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:28px;padding-top:14px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.education-item.current .timeline-dot{animation:dotPulse 2s ease-in-out infinite}.timeline-line{width:1px;flex-grow:1;background:var(--ink);opacity:.3;margin-top:6px}.education-card{flex:1;background:transparent;border:none;border-top:1px solid var(--ink);border-radius:0;padding:14px 0 24px;box-shadow:none}.education-card:hover{transform:none;box-shadow:none}.education-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;flex-wrap:wrap}.education-card .card-header h4{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,30px);color:var(--ink);letter-spacing:-.01em;margin:0;max-width:36ch}.period{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--ink);padding:6px 10px;border-radius:0;display:inline-flex;align-items:center;gap:10px}.period.in-progress{color:var(--accent);border-color:var(--accent)}.period-label{white-space:nowrap}.mini-loader{position:relative;width:28px;height:2px;background:#c8341e33;overflow:hidden}.mini-loader:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:var(--accent);animation:miniProgress 1.4s ease-in-out infinite}@keyframes miniProgress{0%{transform:translate(0)}to{transform:translate(200%)}}.description{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink);margin:14px 0 20px;max-width:62ch}.skills-list{margin-top:16px}.skills-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:8px}.skills-tags{display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--ink)}.skills-tags .skill-tag{background:transparent;border:none;color:var(--ink);padding:0 10px 0 0;border-radius:0;font-weight:400}.skills-tags .skill-tag:after{content:"/";color:var(--accent);margin-left:10px;opacity:.6}.skills-tags .skill-tag:last-child:after{content:""}.education-card .current-status{border-top:none;margin-top:14px;padding-top:0}.education-card .status-indicator{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px}.certificates-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.certificate-card{position:relative;background:transparent;border:none;border-right:1px solid rgba(26,26,26,.18);border-radius:0;padding:72px 28px 32px;display:flex;flex-direction:column;gap:8px;transition:background .3s ease}.dark-mode .certificate-card{border-right-color:#efe9dc2e}.certificate-card:last-child{border-right:none}.certificate-card:hover{transform:none;box-shadow:none;background:var(--paper-deep)}.certificate-card h4{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink);margin:0;letter-spacing:-.01em}.certificate-issuer{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.certificate-date{font-family:var(--mono);font-size:12px;color:var(--ink-muted)}.certificate-status-badge{position:absolute;top:20px;right:20px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:0;display:inline-flex;align-items:center;gap:8px;border:1px solid}.completed-badge{color:var(--ink);border-color:var(--ink)}.in-progress-badge{color:var(--accent);border-color:var(--accent)}.coming-soon{text-align:left;padding:40px 0 0;background:transparent;border:none;border-top:1px solid var(--ink);border-radius:0;margin-top:40px}.coming-soon-content{display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:start}.coming-soon-icon{color:var(--accent);margin:0;justify-content:flex-start;display:flex}.coming-soon-content h4{font-family:var(--serif);font-style:italic;font-weight:500;font-size:28px;color:var(--ink);margin-bottom:10px}.coming-soon-content p{font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--ink-muted);max-width:58ch;margin:0 0 20px}.planned-certs{margin-top:16px}.planned-items{display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--ink)}.planned-item{background:transparent;border:none;color:var(--ink);padding:0 10px 0 0;border-radius:0;font-weight:400}.planned-item:after{content:"·";color:var(--accent);margin-left:10px;font-weight:700}.planned-item:last-child:after{content:""}.learning-journey{margin-top:60px;padding:48px 0 0;border-top:1px solid var(--ink);text-align:left;max-width:680px}.learning-journey h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(28px,3.2vw,44px);color:var(--ink);margin-bottom:14px}.learning-journey p{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--ink)}@media (max-width: 860px){.education-container{padding:80px 20px}.certificates-grid{grid-template-columns:1fr}.certificate-card{border-right:none;border-bottom:1px solid rgba(26,26,26,.18)}.coming-soon-content{grid-template-columns:1fr;gap:16px}.education-item{flex-direction:row}}.experience-container{background:var(--paper);padding:120px 6vw}.experience-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:72px;animation:inkRise .8s ease-out both}.experience-content>h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,4vw,58px);padding-right:16px;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;line-height:.95;color:var(--ink);letter-spacing:-.02em;text-align:left;position:sticky;top:120px;margin:0}.experience-content>h2:before{content:"03";display:block;font-family:var(--mono);font-size:11px;font-style:normal;font-weight:500;letter-spacing:.2em;color:var(--accent);margin-bottom:12px}.experience-section{grid-column:2}.experience-timeline{position:relative}.experience-item{display:flex;margin-bottom:0;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:28px;position:relative;flex-shrink:0;padding-top:14px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);z-index:2}.experience-item.current .timeline-dot{animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 1px var(--ink),0 0 #c8341e80}50%{box-shadow:0 0 0 1px var(--ink),0 0 0 8px #c8341e00}}.timeline-line{width:1px;flex-grow:1;background:var(--ink);opacity:.35;margin-top:6px}.experience-card{flex:1;background:transparent;border:none;border-top:1px solid var(--ink);padding:14px 0 48px;border-radius:0;box-shadow:none}.experience-card:hover{transform:none;box-shadow:none}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:1rem;flex-wrap:wrap}.title-section{display:flex;flex-direction:column;gap:6px}.title-section h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,36px);color:var(--ink);letter-spacing:-.01em;margin:0}.company{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.period{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--ink);padding:6px 12px;border-radius:0;white-space:nowrap;font-weight:500}.description{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--ink);margin-bottom:28px;max-width:62ch}.technologies-section{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.tech-category{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline}.tech-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}.tech-tags{display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--ink);gap:0}.tech-tag,.tech-tag.frontend,.tech-tag.backend,.tech-tag.testing{background:transparent;color:var(--ink);padding:0 10px 0 0;border-radius:0;font-weight:400}.tech-tag:after{content:"/";color:var(--accent);margin-left:10px;opacity:.6}.tech-tag:last-child:after{content:""}.tech-tag:hover{transform:none;box-shadow:none;color:var(--accent)}.current-status{margin-top:16px;padding-top:0;border-top:none}.status-indicator{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--accent);padding:0;border-radius:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulseDot 1.6s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}@media (max-width: 900px){.experience-content{grid-template-columns:1fr;gap:32px}.experience-content>h2{position:static}.experience-section{grid-column:1}}@media (max-width: 520px){.experience-container{padding:80px 20px}.card-header{flex-direction:column;gap:10px}.tech-category{grid-template-columns:1fr;gap:6px}}.projects-container{background:var(--paper);padding:120px 6vw;position:relative;overflow:hidden}.work-header{max-width:920px;margin:0 auto 96px;padding-left:4vw;animation:inkRise .8s ease-out both}.work-header .mono-label{display:block;margin-bottom:20px}.work-title{font-family:var(--serif);font-weight:300;font-size:clamp(56px,9vw,140px);line-height:.95;letter-spacing:-.03em;color:var(--ink)}.work-title em{font-style:italic;font-weight:700;color:var(--accent)}.spread{position:relative;max-width:1280px;margin:0 auto 140px;display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:40px 56px;align-items:start}.spread-marker{grid-column:1 / 2;grid-row:1 / 3;position:sticky;top:120px;display:flex;flex-direction:column;gap:12px;padding-top:8px}.spread-number{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(44px,5vw,72px);line-height:.9;color:var(--accent);letter-spacing:-.02em}.spread-rule{display:block;width:100%;height:1px;background:var(--ink);margin:6px 0 4px}.spread-category,.spread-date{display:block}.spread--right .spread-media{grid-column:2 / 3;grid-row:1 / 3}.spread--right .spread-body,.spread--left .spread-media{grid-column:3 / 4;grid-row:1 / 3}.spread--left .spread-body{grid-column:2 / 3;grid-row:1 / 3}.spread-media{position:relative;background:var(--paper-deep);border:1px solid var(--ink);padding:18px;min-width:0}.spread-media img{width:100%;height:auto;display:block;filter:saturate(.92) contrast(1.02);transition:filter .4s ease,transform .6s ease}.spread-media:hover img{filter:saturate(1.05);transform:scale(1.015)}.spread-media figcaption{margin-top:12px;display:block}.spread-body{padding-top:8px;min-width:0}.spread-title{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.6vw,52px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);margin-bottom:24px;text-wrap:balance;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.spread-description{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--ink);margin-bottom:32px;max-width:58ch}.spread-tech{margin-bottom:32px}.spread-tech .mono-label{display:block;margin-bottom:10px}.tech-line{font-family:var(--mono);font-size:13px;line-height:1.9;color:var(--ink);word-break:break-word}.tech-line .sep{color:var(--accent);margin:0 2px}.spread-features{margin-bottom:36px}.spread-features .mono-label{display:block;margin-bottom:12px}.spread-features ul{list-style:none;border-top:1px solid var(--ink)}.spread-features li{display:grid;grid-template-columns:40px 1fr;align-items:baseline;gap:6px;padding:12px 0;border-bottom:1px solid rgba(26,26,26,.18);font-family:var(--serif);font-size:16px;color:var(--ink)}.dark-mode .spread-features li{border-bottom-color:#efe9dc2e}.feat-idx{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}.work-endnote{text-align:center;margin-top:80px;padding-top:40px;border-top:1px solid var(--ink);max-width:400px;margin-left:auto;margin-right:auto;opacity:.7}@media (max-width: 1100px){.spread{grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:32px 40px}.spread-number{font-size:clamp(36px,5vw,56px)}}@media (max-width: 860px){.projects-container{padding:80px 24px}.work-header{padding-left:0;margin-bottom:64px}.spread{grid-template-columns:1fr;gap:24px;margin-bottom:100px}.spread-marker{grid-column:1 / -1!important;grid-row:auto!important;position:static;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:16px;padding-top:0;padding-bottom:8px;border-bottom:1px solid var(--ink)}.spread-rule{display:none}.spread-number{font-size:clamp(36px,10vw,56px);margin-right:auto}.spread--right .spread-media,.spread--left .spread-media,.spread--right .spread-body,.spread--left .spread-body{grid-column:1 / -1!important;grid-row:auto!important}.spread-title{font-size:clamp(28px,6vw,40px)}}@media (max-width: 480px){.projects-container{padding:64px 16px}.spread-marker{gap:10px}.spread-category,.spread-date{font-size:10px}}.contact-container{background:var(--paper);padding:120px 6vw 160px;display:flex;justify-content:center;align-items:flex-start}.contact-content{max-width:760px;width:100%;background:transparent;border:none;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);border-radius:0;box-shadow:none;padding:60px 0;position:relative;animation:inkRise .8s ease-out both}.contact-content:before{content:"05 — Correspondence";position:absolute;top:-13px;left:0;background:var(--paper);padding-right:16px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.contact-content h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(48px,7vw,96px);line-height:.95;color:var(--ink);letter-spacing:-.02em;text-align:left;margin-bottom:16px}.contact-content>p{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--ink);margin-bottom:48px;text-align:left;max-width:52ch}.contact-form{display:flex;flex-direction:column;gap:28px}.form-group{display:flex;flex-direction:column;gap:8px;position:relative}.form-group label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;margin-bottom:0}.form-group input,.form-group textarea{padding:10px 0;border:none;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-family:var(--serif);font-size:19px;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-bottom-color:var(--accent);transform:none;box-shadow:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-muted);opacity:.5;font-style:italic}.dark-mode .form-group input,.dark-mode .form-group textarea{background:transparent;color:var(--ink);border-bottom-color:var(--ink)}.form-group textarea{resize:vertical;min-height:140px;line-height:1.5}.submit-button{align-self:flex-start;margin-top:16px;padding:14px 28px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;box-shadow:none;transition:transform .2s ease,background .25s ease,box-shadow .25s ease;overflow:visible}.submit-button:before{display:none}.submit-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.submit-button:disabled{background:transparent;color:var(--ink-muted);border-color:var(--ink-muted);cursor:not-allowed}.dark-mode .submit-button{background:var(--ink);color:var(--paper)}.status-message{padding:14px 18px;border-radius:0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-top:20px;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid;text-align:left;animation:inkRise .5s ease-out}.status-message.success{background:transparent;color:var(--ink);border-color:var(--ink)}.status-message.error{background:transparent;color:var(--accent);border-color:var(--accent)}@media (max-width: 520px){.contact-container{padding:80px 20px 100px}.contact-content{padding:48px 0}}.kennel-project-container{min-height:100vh;background:var(--paper);color:var(--ink)}.project-header-bar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:18px 40px;background:var(--paper);border-bottom:1px solid var(--ink)}.back-button-header{background:transparent;border:1px solid var(--ink);color:var(--ink);padding:8px 16px;border-radius:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .25s ease,color .25s ease,transform .2s ease}.back-button-header:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}.dark-mode .back-button-header:hover{box-shadow:4px 4px 0 var(--accent)}.project-darkmode-toggle{width:40px;height:40px;border-radius:0;background:transparent;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease}.project-darkmode-toggle:hover{background:var(--ink);transform:none}.project-darkmode-toggle:hover img{filter:brightness(0) invert(1)}.dark-mode .project-darkmode-toggle:hover{background:var(--paper)}.dark-mode .project-darkmode-toggle:hover img{filter:brightness(0)}.project-darkmode-toggle img{width:18px;height:18px;filter:brightness(0);transition:filter .25s ease}.dark-mode .project-darkmode-toggle img{filter:brightness(0) invert(1)}.kennel-project-content{padding:80px 6vw 120px;max-width:1280px;margin:0 auto}.project-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:120px;background:transparent;border:none;border-radius:0;padding:0;position:relative;animation:inkRise .8s ease-out both}.project-hero:before{content:"Case study";position:absolute;top:-32px;left:0;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.project-hero-content{padding-top:20px;min-width:0}.project-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(44px,7vw,110px);line-height:.95;letter-spacing:-.03em;color:var(--ink);margin-bottom:28px;text-wrap:balance;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.dark-mode .project-hero h1{color:var(--ink)}.project-hero h1:first-line{font-style:italic;font-weight:400}.project-meta{display:flex;gap:14px;margin-bottom:32px;flex-wrap:wrap;align-items:center}.category-badge{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:6px 12px;border-radius:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.dark-mode .category-badge{background:transparent;color:var(--ink);border-color:var(--ink)}.completion-date{color:var(--ink-muted);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-style:normal}.project-intro{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:var(--ink);max-width:58ch}.dark-mode .project-intro{color:var(--ink)}.project-hero-image{border-radius:0;overflow:hidden;background:var(--paper-deep);border:1px solid var(--ink);padding:16px;box-shadow:none;display:flex;align-items:flex-start;justify-content:center;min-width:0}.project-hero-image img{width:100%;height:auto;object-fit:contain;border-radius:0;display:block;filter:saturate(.95) contrast(1.02)}.dark-mode .project-hero-image{background:var(--paper-deep);box-shadow:none}.tech-section,.overview-section,.features-section,.challenges-solutions-section,.outcome-section,.cta-section,.gallery-section{background:transparent;border:none;border-top:1px solid var(--ink);border-radius:0;padding:56px 0 72px;margin-bottom:0;position:relative}.dark-mode .tech-section,.dark-mode .overview-section,.dark-mode .features-section,.dark-mode .challenges-solutions-section,.dark-mode .outcome-section,.dark-mode .cta-section,.dark-mode .gallery-section{background:transparent;border-color:var(--ink)}.tech-section h2,.overview-section h2,.features-section h2,.outcome-section h2,.cta-section h2,.gallery-section h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(32px,4.5vw,64px);line-height:.98;letter-spacing:-.02em;color:var(--ink);margin-bottom:32px;max-width:14ch}.dark-mode .tech-section h2,.dark-mode .overview-section h2,.dark-mode .features-section h2,.dark-mode .outcome-section h2,.dark-mode .cta-section h2,.dark-mode .gallery-section h2{color:var(--ink)}.tech-section:before,.overview-section:before,.features-section:before,.challenges-solutions-section:before,.outcome-section:before,.gallery-section:before,.cta-section:before{position:absolute;top:-1px;left:0;background:var(--paper);padding-right:16px;transform:translateY(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.tech-section:before{content:"§ 01 / Stack"}.overview-section:before{content:"§ 02 / Overview"}.features-section:before{content:"§ 03 / Features"}.challenges-solutions-section:before{content:"§ 04 / Process"}.outcome-section:before{content:"§ 05 / Outcome"}.gallery-section:before{content:"§ 06 / Gallery"}.cta-section:before{content:"§ 07 / Next"}.tech-grid{display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:15px;line-height:2;color:var(--ink);border-top:1px solid rgba(26,26,26,.18)}.dark-mode .tech-grid{border-top-color:#efe9dc2e}.tech-item{background:transparent;border:none;border-bottom:1px solid rgba(26,26,26,.18);padding:10px 24px 10px 0;border-radius:0;text-align:left;transition:color .25s ease;flex:0 0 auto}.dark-mode .tech-item{border-bottom-color:#efe9dc2e}.tech-item:hover{transform:none;color:var(--accent)}.tech-item:hover .tech-name{color:var(--accent)}.tech-name{font-family:var(--mono);font-weight:400;color:var(--ink);font-size:13px}.tech-name:after{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);margin-left:12px;vertical-align:middle;transform:rotate(45deg)}.overview-section p,.outcome-section p{font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.6;color:var(--ink);max-width:68ch}.dark-mode .overview-section p,.dark-mode .outcome-section p{color:var(--ink)}.overview-section p:first-letter{font-family:var(--serif);font-weight:700;font-size:4em;float:left;line-height:.85;padding-right:14px;padding-top:6px;color:var(--accent)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--ink)}.feature-item{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:baseline;padding:14px 24px 14px 0;background:transparent;border:none;border-bottom:1px solid rgba(26,26,26,.18);border-radius:0;counter-increment:feat}.dark-mode .feature-item{border-bottom-color:#efe9dc2e}.features-grid{counter-reset:feat}.feature-item:nth-child(odd){border-right:1px solid rgba(26,26,26,.18);padding-right:24px}.dark-mode .feature-item:nth-child(odd){border-right-color:#efe9dc2e}.features-grid .feature-item:nth-last-child(-n+2):not(:nth-child(odd):last-child){border-bottom:none}.feature-icon{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}.feature-icon:before{content:counter(feat,decimal-leading-zero)}.feature-icon{font-size:0}.feature-icon:before{font-size:11px}.feature-text{font-family:var(--serif);font-size:17px;line-height:1.5;color:var(--ink);font-weight:400}.dark-mode .feature-text{color:var(--ink)}.challenges-solutions-section{display:block;padding:56px 0 72px}.challenges-solutions-section:after{content:"";display:block;clear:both}.challenges,.solutions{padding:0}.challenges{position:relative}.challenges h2,.solutions h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(28px,3.4vw,44px);color:var(--ink);margin-bottom:20px;letter-spacing:-.01em}.challenges-solutions-section{display:grid;grid-template-columns:1fr 1fr;gap:64px}.challenges ul,.solutions ul{list-style:none;padding:0;border-top:1px solid var(--ink)}.challenges li,.solutions li{padding:16px 0 16px 48px;border-bottom:1px solid rgba(26,26,26,.18);color:var(--ink);line-height:1.55;position:relative;font-family:var(--serif);font-size:17px;counter-increment:item}.dark-mode .challenges li,.dark-mode .solutions li{border-bottom-color:#efe9dc2e;color:var(--ink)}.challenges ul,.solutions ul{counter-reset:item}.challenges li:before,.solutions li:before{content:"";position:absolute;background:none;left:0;top:18px;width:auto;height:auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent)}.challenges li:before{content:"C·" counter(item,decimal-leading-zero)}.solutions li:before{content:"S·" counter(item,decimal-leading-zero)}.dark-mode .solutions li:before{background:none}.challenges li:last-child,.solutions li:last-child{border-bottom:none}.gallery-section>p{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--ink);margin-bottom:40px;max-width:62ch}.dark-mode .gallery-section>p{color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:40px 32px}.gallery-item{background:transparent;border-radius:0;overflow:visible;border:none;transition:transform .3s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:none}.dark-mode .gallery-item{background:transparent;border:none}.gallery-item:nth-child(6n+1){grid-column:span 8}.gallery-item:nth-child(6n+2){grid-column:span 4;margin-top:40px}.gallery-item:nth-child(6n+3){grid-column:span 5}.gallery-item:nth-child(6n+4){grid-column:span 7;margin-top:24px}.gallery-item:nth-child(6n+5){grid-column:span 6}.gallery-item:nth-child(6n){grid-column:span 6;margin-top:32px}.gallery-image{width:100%;height:auto;overflow:hidden;background:var(--paper-deep);border:1px solid var(--ink);padding:12px;display:flex;align-items:center;justify-content:center}.dark-mode .gallery-image{background:var(--paper-deep)}.gallery-image img{width:100%;height:auto;object-fit:contain;transition:filter .3s ease,transform .6s ease;display:block;filter:saturate(.92) contrast(1.02)}.gallery-item:hover .gallery-image img{transform:scale(1.015);filter:saturate(1.05)}.gallery-info{padding:14px 0 0}.gallery-info h3{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}.dark-mode .gallery-info h3{color:var(--ink)}.gallery-info p{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-muted);line-height:1.55;margin:0;text-transform:none}.dark-mode .gallery-info p{color:var(--ink-muted)}.gallery-info h3:before{content:"Fig. ";font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-right:6px;vertical-align:middle}.cta-section{text-align:left;padding:72px 0 40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.cta-section h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,5vw,72px);line-height:.98;letter-spacing:-.02em;color:var(--ink);margin:0;max-width:18ch}.cta-section p{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--ink);margin:20px 0 0;max-width:58ch;grid-column:1 / -1;order:2}.dark-mode .cta-section p{color:var(--ink)}.contact-cta{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:14px 28px;border-radius:0;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,transform .2s ease,box-shadow .25s ease;box-shadow:none;white-space:nowrap;align-self:center}.contact-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.dark-mode .contact-cta{background:var(--ink);color:var(--paper)}.dark-mode .contact-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}@media (max-width: 1000px){.project-hero{grid-template-columns:1fr;gap:40px}.challenges-solutions-section{grid-template-columns:1fr;gap:48px}.gallery-grid{grid-template-columns:repeat(6,1fr);gap:32px 24px}.gallery-item:nth-child(n){grid-column:span 6;margin-top:0}.cta-section{grid-template-columns:1fr}.contact-cta{justify-self:start}}@media (max-width: 720px){.project-header-bar{padding:14px 20px}.back-button-header{padding:7px 12px;font-size:10px}.project-darkmode-toggle{width:36px;height:36px}.project-darkmode-toggle img{width:16px;height:16px}.kennel-project-content{padding:48px 20px 80px}.project-hero{margin-bottom:80px}.project-hero:before{top:-20px}.tech-section,.overview-section,.features-section,.challenges-solutions-section,.outcome-section,.cta-section,.gallery-section{padding:44px 0 56px}.features-grid{grid-template-columns:1fr}.feature-item:nth-child(odd){border-right:none;padding-right:0}.feature-item{border-bottom:1px solid rgba(26,26,26,.18)}.gallery-info h3{font-size:18px}}@media (max-width: 420px){.project-hero h1{font-size:40px}.project-meta{gap:8px}.category-badge,.completion-date{font-size:10px;padding:5px 10px}}:root{--paper: #F4F1EA;--paper-deep: #EDE6D6;--ink: #1A1A1A;--ink-muted: #54524E;--rule: #1A1A1A;--accent: #C8341E;--accent-soft: #E86A4F;--serif: "Fraunces", "GT Sectra", Georgia, serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--grain-url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.1 0 0 0 0 0.1 0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>")}.dark-mode{--paper: #14130F;--paper-deep: #0E0D0A;--ink: #EFE9DC;--ink-muted: #A59F92;--rule: #EFE9DC;--accent: #E8B04B;--accent-soft: #F0C979}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--paper);transition:background-color .4s ease}body{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s ease,color .4s ease;min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background-image:var(--grain-url);opacity:.35;pointer-events:none;z-index:9999;mix-blend-mode:multiply}.dark-mode body:before{opacity:.25;mix-blend-mode:screen}main{padding-top:72px;background:var(--paper);min-height:100vh}section{scroll-margin-top:72px;background:transparent}::selection{background:var(--accent);color:var(--paper)}html{scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--paper);border-left:1px solid var(--ink)}::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-corner{background:var(--paper)}.mono-label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.editorial-rule{display:block;height:1px;background:var(--rule);opacity:.85;width:100%}@keyframes inkRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
