body.reading-layout{animation:none}
.article-page{--article-muted:#62675c;--article-line:#d9ded1}
.article-shell{width:min(calc(100% - 64px),1200px);margin-inline:auto;padding:32px 0 80px}
.blog-article .article-shell{width:min(calc(100% - 40px),760px)}
.article-back{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--article-muted)}
.article-back:hover{text-decoration:underline;text-underline-offset:4px}
.article-page :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.article-category{font-size:12px;font-weight:550;letter-spacing:.06em;margin:0 0 28px;color:var(--article-muted)}
.article-summary{font-size:18px;line-height:1.65;color:var(--article-muted);margin:24px 0 0;text-wrap:pretty}
.research-head{text-align:center;max-width:1000px;margin:40px auto 48px}
.research-head h1{font-size:clamp(40px,5vw,70px);font-weight:600;line-height:1.08;letter-spacing:-.055em;margin:0;overflow-wrap:anywhere;text-wrap:balance}
.research-head .article-summary{max-width:660px;margin-inline:auto}
.research-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:28px;font-size:13px;line-height:1.6;color:var(--article-muted)}
.research-meta time{color:var(--ink)}
.article-pdf{display:inline-flex;align-items:center;gap:24px;min-height:48px;background:var(--ink);color:var(--paper);border-radius:6px;padding:12px 22px;margin-top:26px;font-size:14px}
.article-pdf:hover{text-decoration:underline;text-underline-offset:4px}
.article-visual{margin:0}
.article-visual .notes-preview-art{position:relative;overflow:hidden;isolation:isolate;background:#dce2cf;border-radius:12px}
.article-visual .art-gurindergrewal-com{background:#e8dfc7}
.article-visual .art-crop-simulator{background:#eee5d4}
.article-visual .art-college-hub{background:#d5e1db}
.article-visual .art-file-send{background:#e7e4ef}
.article-visual :is(.project-visual-media,.notes-preview-cover){position:absolute;inset:0;display:block;width:100%;height:100%;opacity:1;z-index:0;color:inherit}
.article-visual :is(svg,img){display:block;width:100%;height:100%;object-fit:contain;opacity:1;transform:none;transition:none}
.research-visual{max-width:1000px;margin:0 auto 64px}
.research-visual .notes-preview-art{height:clamp(220px,28vw,360px)}
.research-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:64px;align-items:start;justify-content:start}
.research-layout.without-contents{display:block;max-width:760px;margin-inline:auto}
.article-contents{position:sticky;top:112px;min-width:0;font-size:13px;line-height:1.5}
.article-contents summary{font-weight:550;margin-bottom:14px;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer}
.article-contents summary:after{content:'+';font-size:20px;font-weight:400}
.article-contents details[open] summary:after{content:'−'}
.article-contents summary::-webkit-details-marker{display:none}
.article-contents nav{display:flex;flex-direction:column}
.article-contents a{border-top:1px solid var(--article-line);padding:12px 0;color:var(--article-muted)}
.article-contents a:last-child{border-bottom:1px solid var(--article-line)}
.article-contents a:hover,.article-contents a[aria-current="location"]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.article-contents .contents-subsection{padding-left:14px;font-size:12px}
.article-text-column,.blog-text-column{min-width:0}
.blog-head{margin:36px 0 40px}
.blog-visual{width:156px;margin-bottom:32px}
.blog-visual .notes-preview-art{aspect-ratio:1}
.blog-head .article-category{margin-bottom:20px}
.blog-head h1{font:400 clamp(40px,4.6vw,64px)/1.07 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere;text-wrap:pretty}
.blog-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--article-line);font-size:15px;line-height:1.5}
.blog-meta dt{font-size:12px;color:var(--article-muted);margin-bottom:7px}
.blog-meta dd{margin:0;overflow-wrap:anywhere}
.blog-text-column{max-width:760px;margin-inline:auto}
.article-body{font:20px/1.8 Georgia,'Times New Roman',serif;color:var(--ink-2);overflow-wrap:anywhere}
.article-body> :first-child{margin-top:0}
.article-body p{margin:0 0 1.3em}
.article-body :is(h1,h2,h3,h4,h5,h6){font-family:ui-sans-serif,system-ui,sans-serif;color:var(--ink);font-weight:550;letter-spacing:-.035em;line-height:1.3;margin:1.8em 0 .7em;scroll-margin-top:112px}
.article-body h1{font-size:38px}.article-body h2{font-size:32px}.article-body h3{font-size:25px}.article-body :is(h4,h5,h6){font-size:21px}
.article-body :is(ul,ol){padding-inline-start:1.35em;margin:0 0 1.3em}
.article-body li{padding-inline-start:.15em;margin:.35em 0}
.article-body li>p{margin-bottom:.6em}
.article-body li :is(ul,ol){margin:.5em 0}
.article-body blockquote{border-inline-start:3px solid #c6ab51;margin:36px 0;padding:4px 0;padding-inline-start:24px;font-style:italic;color:var(--ink)}
.article-body blockquote> :last-child{margin-bottom:0}
.article-body a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.article-body a:hover{text-decoration-thickness:2px}
.article-body img{display:block;max-width:100%;height:auto;border-radius:8px;margin:24px 0}
.article-body code{font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;background:#e9ecdf;border-radius:3px;padding:2px 5px;overflow-wrap:anywhere}
.article-body pre{max-width:100%;overflow:auto;padding:20px;background:#e9ecdf;border:1px solid var(--article-line);border-radius:6px;margin:28px 0;tab-size:4;direction:ltr;text-align:left}
.article-body pre code{padding:0;background:none;white-space:pre;overflow-wrap:normal}
.article-table{max-width:100%;overflow-x:auto;margin:28px 0}
.article-body table{width:100%;border-collapse:collapse;font:15px/1.6 ui-sans-serif,system-ui,sans-serif}
.article-body :is(th,td){padding:12px 16px;border:1px solid var(--article-line);min-width:120px;text-align:left}
.article-body th{background:#e9ecdf;font-weight:550}
.article-body hr{border:0;border-top:1px solid var(--article-line);margin:40px 0}
.article-body .footnotes{font-size:15px;line-height:1.7;margin-top:40px}
.article-body .footnotes :is(li,p){scroll-margin-top:112px}
.article-body .task-list-item{list-style:none}
.article-body .task-list-item input{margin-right:8px}
.article-end{border-top:1px solid var(--article-line);margin-top:40px;padding-top:24px;font-size:13px;line-height:1.7;color:var(--article-muted)}
.article-end p{margin:0 0 8px}
.article-end p>span{color:var(--ink);margin-right:12px}
.article-end .link-row{margin-top:16px;gap:18px}
.article-end .link-chip{padding:8px 0;min-height:44px;border-radius:0;background:transparent;color:var(--ink);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:5px}
.article-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--article-line);margin-top:64px;padding-top:28px}
.article-neighbors a{min-width:0;max-width:450px}
.article-neighbors span{display:block;font-size:12px;color:var(--article-muted);margin-bottom:12px}
.article-neighbors strong{font:400 24px/1.35 Georgia,'Times New Roman',serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.article-neighbors a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.article-next{text-align:right;grid-column:2;justify-self:end}
@media(max-width:1100px){.research-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}}
@media(max-width:900px){
  .research-layout{display:block;max-width:760px;margin-inline:auto}
  .article-contents{position:static;margin-bottom:36px}
  .article-contents details{border-top:1px solid var(--article-line);border-bottom:1px solid var(--article-line)}
  .article-contents summary{cursor:pointer;pointer-events:auto;min-height:48px;display:flex;align-items:center;justify-content:space-between;margin:0}
  .article-contents summary:after{content:'+';font-size:20px;font-weight:400}
  .article-contents details[open] summary:after{content:'−'}
  .article-contents a:last-child{border-bottom:0}
  .blog-head{display:block;max-width:760px}
  .blog-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--article-line)}
  .blog-meta>div+div{margin:0}
}
@media(max-width:600px){
  .article-shell{width:calc(100% - 40px);padding:20px 0 48px}
  .research-head{margin:28px auto 32px}
  .article-category{margin-bottom:22px;font-size:11px}
  .research-head h1{font-size:38px;letter-spacing:-.045em}
  .article-summary{font-size:16px;margin-top:20px}
  .research-meta{gap:7px 16px;margin-top:22px;font-size:12px}
  .research-meta>span:nth-child(2){flex-basis:100%;order:2}
  .research-visual{margin-bottom:32px}
  .research-visual .notes-preview-art{height:210px;border-radius:8px}
  .blog-head{margin:28px 0 36px}
  .blog-visual{width:116px;margin-bottom:24px}
  .blog-head h1{font-size:40px;line-height:1.12}
  .blog-meta{grid-template-columns:1fr 1fr;gap:20px;font-size:14px}
  .blog-meta>div:last-child{grid-column:1/-1}
  .article-body{font-size:18px;line-height:1.8}
  .article-body h1{font-size:32px}.article-body h2{font-size:27px}.article-body h3{font-size:23px}
  .article-body blockquote{padding-inline-start:18px;margin:28px 0}
  .article-body pre{padding:16px}
  .article-neighbors{grid-template-columns:1fr;gap:28px;margin-top:40px}
  .article-next{grid-column:auto;text-align:left;justify-self:start}
  .article-neighbors strong{font-size:22px}
}
@media print{
  @page{margin:18mm}
  body.reading-layout{background:white;color:black;transition:none}
  .reading-layout :is(.floating-header,.skip-link,.site-footer,.article-back,.article-neighbors,.article-contents,.article-visual,.article-pdf){display:none!important}
  .article-shell,.blog-article .article-shell{width:100%;max-width:none;padding:0;margin:0}
  .blog-head,.research-head{margin:0 0 24px;text-align:left}
  .blog-head h1,.research-head h1{font-size:26pt;line-height:1.15}
  .article-summary{font-size:12pt}
  .research-layout,.research-layout.without-contents{display:block;max-width:none;margin:0}
  .blog-text-column{max-width:none}
  .article-body{color:black;font-size:11pt;line-height:1.6}
  .article-body :is(h1,h2,h3,h4,h5,h6){break-after:avoid}
  .article-body :is(p,li){orphans:3;widows:3}
  .article-body img{max-width:100%;break-inside:avoid}
  .article-body pre{white-space:pre-wrap;overflow:visible;background:white;padding:12px}
  .article-body pre code{white-space:pre-wrap;overflow-wrap:anywhere}
  .article-table{overflow:visible}
  .article-body table{font-size:9pt;table-layout:fixed;overflow-wrap:anywhere}
  .article-body :is(th,td){min-width:0;padding:6px}
  .article-body thead{display:table-header-group}
  .article-body tr{break-inside:avoid}
  .article-body a[href^="http"]::after{content:' (' attr(href) ')';font-size:.85em;overflow-wrap:anywhere}
}
