/* Hallmark · P5 H5 E4 S5 R5 V5 · quiet watercolours / nocturnal journal · Interval motif */
@import url('tokens.css');
:root{--color-reading-paper:#fff;--color-reading-ink:#292929;--color-reading-selection:#b9d7f4;--page-width:1280px;--page-gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:auto}body{background:var(--color-paper);color:var(--color-ink);font:400 16px/1.6 var(--font-sans)}
body[data-theme="studio"]{--color-paper:var(--color-lab-paper);--color-ink:var(--color-lab-ink);--color-muted:var(--color-lab-muted);--color-rule:var(--color-lab-rule);--color-soft:var(--color-lab-soft);--color-accent:var(--color-lime);--color-focus:var(--color-lime)}
[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px}img{display:block;max-width:100%;height:auto}button{background:none;border:1px solid var(--color-rule)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:24px;padding:12px;background:var(--color-paper);z-index:50}.skip:focus{top:12px}
.site-header{max-width:var(--page-width);margin:auto;padding:40px var(--page-gutter) 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-identity{font-size:15px;letter-spacing:.02em;white-space:nowrap}.site-identity .identity-role{color:var(--color-muted);font-size:13px;margin-left:12px}.primary-nav{display:flex;gap:32px;font-size:14px}.primary-nav a{padding:9px 0;white-space:nowrap;border-bottom:1px solid transparent}.primary-nav a[aria-current]{border-bottom-color:currentColor}.primary-nav a:hover{color:var(--color-accent)}
.site-main{max-width:var(--page-width);margin:0 auto;padding:0 var(--page-gutter)}.site-footer{max-width:var(--page-width);margin:0 auto;padding:48px var(--page-gutter);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--color-muted);font-size:13px}.site-links{display:flex;gap:24px;flex-wrap:wrap}.site-footer a{white-space:nowrap}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.catalogue-note{font-size:12px}
.watercolour-sequence{padding:84px 0 60px}.watercolour-work{width:70%;max-width:740px;margin:0 0 168px 2%;}.watercolour-work:nth-child(even){margin-left:auto;margin-right:3%}.watercolour-work:nth-child(3n){margin-bottom:210px}.watercolour-work.portrait{width:49%;max-width:475px}.painting-link{display:block}.painting-link img{width:100%;height:auto;max-height:660px;object-fit:contain;object-position:left center}.watercolour-work:nth-child(even) img{object-position:right center}.watercolour-work figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:18px;font-size:13px;line-height:1.5;color:var(--color-muted)}.watercolour-work figcaption span{color:var(--color-ink)}.watercolour-work time{white-space:nowrap;font-size:12px}
.studio-heading{padding:56px 0 48px;position:relative}.eyebrow{font:13px/1.5 var(--font-mono);color:var(--color-muted);margin-bottom:20px}.studio-heading h1{font-size:clamp(64px,9vw,112px);line-height:1;letter-spacing:-.07em}.studio-heading:after{content:'';display:block;width:48px;height:3px;background:var(--color-pink);margin-top:32px}.category-filters{display:flex;gap:10px 24px;flex-wrap:wrap;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:20px 0;font-size:14px}.category-filters a{white-space:nowrap;padding:4px 0;color:var(--color-muted)}.category-filters a[aria-current],.category-filters a:hover{color:var(--color-lime)}.category-filters a[aria-current]:before{content:'•';margin-right:7px}.journal-count{font:12px/1.5 var(--font-mono);color:var(--color-muted);padding:24px 0}.month-heading{font:14px/1.5 var(--font-mono);color:var(--color-muted);padding:16px 0 20px}.journal-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;padding:24px 0;border-top:1px solid var(--color-rule);max-width:1000px}.journal-thumb{align-self:start;background:var(--color-soft);height:138px;display:flex;align-items:center;justify-content:center;overflow:hidden}.journal-thumb img{width:100%;height:100%;object-fit:contain}.journal-row h3{font-size:clamp(20px,2.4vw,28px);line-height:1.2;margin:6px 0 10px;letter-spacing:-.025em}.journal-row h3 a:hover{color:var(--color-lime)}.journal-summary{max-width:680px;color:var(--color-muted);font-size:15px;line-height:1.6}.post-date{font:12px/1.6 var(--font-mono);color:var(--color-muted)}.post-tags{display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:12px}.post-tag{font:12px/1.6 var(--font-mono);color:var(--color-pink);white-space:nowrap}.post-tag:hover{text-decoration:underline;text-underline-offset:4px}.load-more{display:block;margin:40px 0 60px;padding:14px 24px;min-height:48px;font-size:14px}.load-more:hover{border-color:var(--color-lime)}
.post-back{display:inline-block;font-size:14px;color:var(--color-muted);margin:40px 0 36px;white-space:nowrap}.post-back:hover{color:var(--color-ink)}.post-heading{max-width:860px;margin-bottom:48px}.post-meta{display:flex;gap:12px 22px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.post-heading h1{font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-.04em}.post-summary{font-size:18px;line-height:1.7;color:var(--color-muted);margin-top:24px;max-width:720px}.post-status{font:13px/1.6 var(--font-mono);color:var(--color-pink);margin-top:16px}.post-body{max-width:720px;font-size:17px;margin-bottom:48px}.post-body p+p{margin-top:20px}.post-image{margin-bottom:72px}.post-image img{max-width:100%;max-height:85vh;width:auto;margin:0 auto;object-fit:contain}.post-image figcaption{font-size:13px;color:var(--color-muted);margin-top:16px;text-align:center}.post-av{margin:32px 0 64px}.post-av video{display:block;max-width:100%;max-height:80vh}.post-av audio{width:min(100%,700px)}.media-download{display:block;margin-top:12px;font-size:14px;text-decoration:underline}.post-links{display:flex;flex-wrap:wrap;gap:24px;margin:40px 0}.post-links a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.post-end{display:inline-block;margin:32px 0 64px;font-size:14px;white-space:nowrap}.empty-state{padding:40px 0;color:var(--color-muted)}.missing-title{font-size:36px}.media-unavailable{min-height:160px;display:grid;place-items:center;background:var(--color-soft);color:var(--color-muted);font-size:14px;width:100%}.media-symbol{font:48px var(--font-serif);color:var(--color-pink)}
/* Each paper is a continuous white reading surface. */
.paper-reader{background:var(--color-reading-paper);color:var(--color-reading-ink);margin:0;padding:0;}.paper-actions{display:flex;align-items:center;justify-content:center;gap:16px 28px;flex-wrap:wrap;padding:24px;font-size:14px;border-bottom:1px solid var(--color-rule)}.paper-actions a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.paper-actions label{display:flex;align-items:center;gap:10px}.paper-actions select{background:var(--color-reading-paper);padding:8px;border:1px solid var(--color-rule)}#reader-status{padding:24px}#reader-scroll{width:100%;overflow-x:auto;background:var(--color-reading-paper)}#pdf-pages{margin:0 auto;min-height:160px}.pdf-page{position:relative;margin:0;border:0;box-shadow:none;background:var(--color-reading-paper);overflow:hidden;--user-unit:1;--scale-round-x:1px;--scale-round-y:1px}.pdf-page canvas{display:block;width:100%;height:100%}.pdf-page .textLayer{position:absolute;inset:0;z-index:2}.pdf-page .textLayer ::selection{background:var(--color-reading-selection)}.page-loading{position:absolute;inset:32px 16px auto;font-size:14px;text-align:center}.page-links{position:absolute;inset:0;z-index:3;pointer-events:none}.page-links a{position:absolute;display:block;pointer-events:auto}.page-links a:hover{outline:1px solid var(--color-rule)}
/* Live surfaces only exist inside their own posts. */
.experiment{margin:0 0 48px}.experiment-top{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:3px solid var(--color-lime);border-bottom:1px solid var(--color-rule);padding:16px 0}.experiment-title{font:14px/1.5 var(--font-mono)}.experiment-mode{font:12px/1.5 var(--font-mono);color:var(--color-lime);white-space:nowrap}.canvas-wrap{height:clamp(320px,40vw,520px);background:var(--color-soft);position:relative}.canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.canvas-caption{position:absolute;inset:auto 20px 20px;display:flex;justify-content:space-between;pointer-events:none;font:12px/1.5 var(--font-mono)}.simulation-caption{position:absolute;left:16px;bottom:16px;background:var(--color-paper);padding:4px 8px;font:12px/1.5 var(--font-mono);pointer-events:none}.field-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:32px;padding:24px 0;border-bottom:1px solid var(--color-rule)}.field-controls label{display:grid;grid-template-columns:minmax(0,1fr) auto;font-size:14px;gap:12px}.field-controls input{grid-column:1/-1;width:100%;min-height:32px;accent-color:var(--color-lime)}.field-controls output{font:13px/1.5 var(--font-mono);color:var(--color-muted)}.field-controls button{padding:12px 18px;font-size:14px;white-space:nowrap;align-self:center;min-height:44px}.simulation-description{display:none}.simulation-number{color:var(--color-muted)}.simulation-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;padding-top:16px;font:13px/1.5 var(--font-mono);color:var(--color-muted)}.simulation-actions{display:flex;gap:16px}.simulation-actions button{min-height:44px;padding:8px 20px;font-size:14px;white-space:nowrap}.simulation-actions button:disabled{opacity:.4;cursor:default}.simulation-actions button:hover,.field-controls button:hover{border-color:var(--color-lime)}.simulation-footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:768px){.site-header{padding-top:28px;flex-wrap:wrap;gap:14px}.site-identity .identity-role{margin-left:8px}.primary-nav{gap:24px}.watercolour-sequence{padding-top:64px}.watercolour-work{width:85%;margin-left:0;margin-bottom:120px}.watercolour-work.portrait{width:66%}.watercolour-work:nth-child(3n){margin-bottom:150px}.journal-row{grid-template-columns:140px minmax(0,1fr);gap:24px}.journal-thumb{height:110px}.field-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field-controls button{grid-column:1/-1;justify-self:start}.post-summary{font-size:17px}}
@media(max-width:480px){.site-header{display:block;padding-bottom:16px}.site-identity{font-size:14px}.site-identity .identity-role{font-size:12px;margin-left:7px}.primary-nav{margin-top:18px;gap:28px;font-size:13px}.watercolour-sequence{padding:44px 0 0}.watercolour-work,.watercolour-work.portrait,.watercolour-work:nth-child(even),.watercolour-work:nth-child(3n){width:100%;margin:0 auto 112px;max-width:100%}.painting-link img{max-height:65vh;object-position:center}.watercolour-work figcaption{gap:12px;font-size:12px;margin-top:16px}.watercolour-work time{font-size:11px}.studio-heading{padding:36px 0}.studio-heading h1{font-size:72px}.category-filters{gap:8px 20px;font-size:13px;padding:16px 0}.journal-row{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:22px 0}.journal-thumb{height:88px}.journal-row h3{font-size:20px}.journal-summary{font-size:14px}.post-tags{gap:6px 12px}.post-date,.post-tag{font-size:11px}.post-heading h1{font-size:36px}.post-back{margin:28px 0}.post-meta{gap:10px 16px}.post-image{margin-bottom:40px}.post-heading{margin-bottom:32px}.field-controls{grid-template-columns:minmax(0,1fr);gap:20px}.experiment-top{gap:16px;align-items:flex-start}.experiment-title{font-size:13px}.canvas-wrap{height:320px}.canvas-caption{font-size:11px;inset:auto 12px 14px}.field-counter{display:none}.simulation-caption{left:8px;bottom:8px;font-size:11px}.paper-actions{padding:20px 16px;font-size:13px;gap:14px 20px}.site-footer{display:block}.site-links{margin-bottom:20px}.catalogue-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Tighten the journal opening so the work arrives sooner. */
.studio-heading{padding:36px 0 32px}.studio-heading h1{font-size:clamp(64px,7vw,88px)}.studio-heading .eyebrow{margin-bottom:14px}.studio-heading:after{margin-top:24px}.journal-count{padding:18px 0}.month-heading{padding:12px 0 16px}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 · shared white / navy */
:root{--site-white:#fff;--site-black:#111;--site-navy:#142c49;--site-muted:#535353;--site-rule:#ddd;--site-soft:#f5f5f5}
body,body[data-theme="studio"],body[data-page="lab"]{--color-paper:var(--site-white);--color-ink:var(--site-black);--color-muted:var(--site-muted);--color-rule:var(--site-rule);--color-soft:var(--site-soft);--color-accent:var(--site-navy);--color-focus:var(--site-navy)}
.site-identity{color:var(--site-navy)}
.site-footer{max-width:none;background:var(--site-navy);color:var(--site-white);padding-left:max(var(--page-gutter),calc((100vw - var(--page-width))/2 + var(--page-gutter)));padding-right:max(var(--page-gutter),calc((100vw - var(--page-width))/2 + var(--page-gutter)))}
.studio-heading:after{background:var(--site-navy)}
.category-filters a[aria-current],.category-filters a:hover,.journal-row h3 a:hover,.post-tag,.post-status,.media-symbol{color:var(--site-black)}
.load-more:hover{border-color:var(--site-navy)}
.post-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;margin:32px 0 48px;padding:16px 0;border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);font-size:14px}
.post-navigation a,.post-navigation span{white-space:nowrap;padding:8px 0;min-height:40px}.post-navigation :last-child{text-align:right}.post-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.post-navigation [aria-disabled]{color:var(--site-muted);opacity:.55}
.post-experiment .canvas-wrap{background:var(--color-lab-paper);color:var(--color-lab-ink)}
.experiment-mode{color:var(--site-navy)}.experiment-top{border-top-color:var(--site-navy)}.field-controls input{accent-color:var(--site-navy)}
.simulation-actions button:hover,.field-controls button:hover{border-color:var(--site-navy)}
@media(max-width:480px){.post-navigation{gap:12px;font-size:13px}.watercolour-work:nth-child(even) img{object-position:center}}

/* A quiet contact line closes every page. */
.site-footer{background:var(--site-white);color:var(--site-black);justify-content:center;text-align:center}.site-footer .site-links{justify-content:center;margin:0 auto}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 * An open gallery; a precise, expressive journal; edge-to-edge reading surfaces.
 * Content and navigation stay still. The journal rule moves once, with reduced motion respected.
 */
:root{--page-width:1400px;--viewer-gutter:clamp(16px,2.5vw,48px);--studio-width:1440px;--reading-width:760px}
.site-header{padding-top:32px;padding-bottom:24px}.site-identity{letter-spacing:.025em}.primary-nav a{min-height:44px}.site-footer{padding-top:64px;padding-bottom:48px}
/* Watercolours: measured asymmetry and complete, unframed paintings. */
.watercolour-sequence{padding-top:88px}.watercolour-work{max-width:800px;margin-bottom:clamp(136px,13vw,204px)}.watercolour-work.portrait{max-width:510px}.watercolour-work:nth-child(3n){margin-bottom:clamp(168px,16vw,248px)}.painting-link img{max-height:720px}.watercolour-work figcaption{align-items:baseline;font-size:15px;margin-top:20px}.watercolour-work figcaption span{font-family:var(--font-serif);font-size:17px}.watercolour-work time{font-family:var(--font-mono);font-size:11px}
/* Studio: a larger editorial index with quiet, still media. */
body[data-view="studio"] .site-main{max-width:var(--studio-width)}
.studio-heading{padding:48px 0 36px}.studio-heading h1{font-size:clamp(72px,8vw,116px);letter-spacing:-.065em;font-weight:500}.studio-heading .eyebrow{font-size:12px;margin-bottom:18px}.studio-heading:after{width:88px;height:3px;transform-origin:left;background:linear-gradient(to right,var(--site-navy) 0 54%,var(--site-white) 54% 67%,var(--site-navy) 67%)}
.category-filters{padding:16px 0;gap:6px 26px}.category-filters a{min-height:36px;display:inline-flex;align-items:center}.category-filters a[aria-current]{font-weight:600;color:var(--site-navy)}.category-filters a[aria-current]:before{content:'';width:6px;height:6px;background:var(--site-navy);margin-right:9px}.month-heading{padding:18px 0 22px;letter-spacing:.035em;color:var(--site-black)}
.journal-row{max-width:none;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding:30px 0;align-items:center}.journal-thumb{height:210px;background:transparent;align-self:center}.journal-thumb img{object-position:left center}.journal-copy{padding:8px 0}.journal-row h3{font-size:clamp(24px,2.8vw,36px);letter-spacing:-.035em;line-height:1.2;margin:10px 0 14px;font-weight:500}.journal-summary{max-width:650px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-tags{margin-top:16px}.journal-row h3 a:hover{color:var(--site-navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
/* Opened work takes the available width. The prose keeps a readable measure. */
body[data-view="post"] .site-main{max-width:none;padding:0 var(--viewer-gutter)}
.post-navigation{margin:12px 0 32px;padding:8px 0;background:var(--site-white)}
.post-heading{max-width:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(32px,6vw,112px);align-items:end;margin:0 0 40px;padding-top:8px}.post-meta{grid-column:1/-1;margin-bottom:20px;gap:12px 20px}.post-heading h1{font-size:clamp(34px,4vw,64px);line-height:1.12;letter-spacing:-.04em;max-width:920px}.post-summary{margin:0;max-width:650px;font-size:16px;line-height:1.7}.post-status{grid-column:1/-1;margin-top:16px}.post-body{max-width:var(--reading-width);margin-bottom:40px}
body[data-content="artwork"] .post-heading h1{font-family:var(--font-serif);font-weight:400;letter-spacing:-.025em}
.post-media{width:100%;min-width:0}.post-image{margin:0 0 56px}.post-image img{width:100%;height:calc(100svh - 80px);max-height:none;max-width:100%;object-fit:contain}.post-image figcaption{max-width:var(--reading-width);margin:16px auto 0}.post-av{margin:0 0 56px}.post-av video{width:100%;height:calc(100svh - 80px);max-height:none;object-fit:contain}.post-av audio{width:100%}
.paper-reader{width:100%;margin:0;padding:0}.paper-actions{position:sticky;top:0;z-index:5;background:var(--site-white);justify-content:space-between;padding:14px 0;min-height:64px;gap:12px 24px}.paper-actions label{margin-right:auto}.paper-actions a{display:inline-flex;align-items:center;min-height:40px}.paper-actions select{min-height:40px}#reader-scroll{overflow-x:auto;overflow-y:hidden;height:auto;max-height:none}#pdf-pages{margin:0 auto}#reader-status{padding:24px 0}.pdf-page{scroll-margin-top:80px}
.post-experiment .canvas-wrap{height:clamp(360px,70svh,920px)}.post-experiment .experiment{margin-bottom:32px}.post-experiment .experiment-top{border-top-width:2px}.post-experiment .field-controls{padding:20px 0}.simulation-caption{background:var(--color-lab-paper);color:var(--color-lab-ink)}
@media(prefers-reduced-motion:no-preference){
 .studio-heading:after{animation:studio-interval 5s steps(1,end) 1}
 .category-filters a{transition:color 140ms ease}
 @keyframes studio-interval{0%,69%,76%,100%{transform:translateX(0);clip-path:inset(0)}70%{transform:translateX(5px);clip-path:inset(0 16% 0 0)}72%{transform:translateX(-3px);clip-path:inset(0 0 0 12%)}74%{transform:translateX(2px);clip-path:inset(0)}}
}
@media(min-width:1600px){.post-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.post-heading h1{font-size:64px}.post-summary{font-size:18px}}
@media(max-width:900px){.journal-row{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:30px}.journal-thumb{height:170px}.post-heading{grid-template-columns:minmax(0,1fr);gap:0}.post-heading h1{max-width:800px}.post-summary{margin-top:20px;max-width:720px}.post-heading{margin-bottom:32px}}
@media(max-width:768px){.watercolour-sequence{padding-top:64px}.watercolour-work{margin-bottom:136px}.watercolour-work:nth-child(3n){margin-bottom:168px}.studio-heading{padding:36px 0 28px}.journal-row{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:26px}.journal-thumb{height:150px}.journal-row h3{font-size:26px}.paper-actions{gap:8px 18px;padding:12px 0}.paper-actions label{margin-right:0}.paper-actions a{font-size:13px}.post-image img,.post-av video{height:auto;max-height:calc(100svh - 64px);width:auto;max-width:100%;margin:auto}.post-av video{width:100%}}
@media(max-width:480px){.watercolour-sequence{padding-top:44px}.watercolour-work,.watercolour-work.portrait,.watercolour-work:nth-child(even),.watercolour-work:nth-child(3n){margin:0 auto 120px}.painting-link img{max-height:70svh}.watercolour-work figcaption{font-size:12px;gap:14px;align-items:start}.watercolour-work figcaption span{font-size:15px;line-height:1.5}.watercolour-work time{font-size:10px;padding-top:3px}.studio-heading h1{font-size:76px}.category-filters{gap:4px 20px}.journal-row{grid-template-columns:minmax(0,104px) minmax(0,1fr);gap:20px;padding:24px 0;align-items:start}.journal-thumb{height:126px;align-self:start}.journal-copy{padding:0}.journal-row h3{font-size:21px;margin:8px 0 12px}.journal-summary{font-size:13px}.post-tags{gap:4px 12px;margin-top:12px}.post-heading h1{font-size:36px}.post-meta{gap:8px 14px;margin-bottom:18px}.post-summary{font-size:15px;margin-top:18px}.post-navigation{font-size:12px;gap:14px;margin:8px 0 24px}.paper-actions{font-size:12px;gap:8px 16px}.paper-actions label{flex:1 0 100%;justify-content:space-between}.paper-actions a{font-size:12px}.post-experiment .canvas-wrap{height:60svh;min-height:340px}.post-image{margin-bottom:40px}.site-footer{padding-top:48px}}

/* Fit the complete work to both dimensions, including landscape phones. */
.post-image img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 88px);margin:0 auto;object-fit:contain}
body[data-view="post"] .post-navigation:first-child{position:sticky;top:0;z-index:10}
body[data-content="paper"] .post-navigation:first-child{position:static}
@media(max-height:500px) and (orientation:landscape){.post-image img,.post-av video{max-height:calc(100svh - 64px)}.post-navigation{margin-bottom:16px}.post-experiment .canvas-wrap{height:75svh;min-height:220px}}

/* Title and context form one balanced reading block above the work. */
.post-heading{display:block;max-width:1000px;margin:0 auto 36px;padding-top:8px}.post-heading h1{font-size:clamp(32px,3.5vw,52px);max-width:32ch;text-wrap:balance;line-height:1.14}.post-heading .post-summary{font-size:16px;line-height:1.65;max-width:66ch;margin-top:16px;text-wrap:pretty}.post-heading .post-meta{margin-bottom:16px}.post-body{margin-left:auto;margin-right:auto}.post-image{scroll-margin-top:72px}
@media(max-width:768px){.post-heading{margin-bottom:28px}.post-heading h1{font-size:38px}.post-heading .post-summary{font-size:15px;margin-top:14px}}
@media(max-width:480px){.post-heading h1{font-size:32px;letter-spacing:-.03em}.post-heading .post-meta{margin-bottom:14px;gap:8px 16px}.post-heading .post-summary{font-size:14px;line-height:1.65}.post-heading{margin-bottom:24px}}

.post-image img{width:min(100%,calc((100svh - 88px) * var(--image-ratio,1)));height:auto}
@media(max-height:500px) and (orientation:landscape){.post-image img{width:min(100%,calc((100svh - 64px) * var(--image-ratio,1)));max-height:calc(100svh - 64px)}}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 · a quiet introduction and contact page */
.watercolour-intro{max-width:650px;margin:56px 0 0 2%;font:400 clamp(18px,1.5vw,21px)/1.7 var(--font-serif);text-wrap:pretty;color:var(--site-black)}
body[data-view="home"] .watercolour-sequence{padding-top:72px}
.contact-main{max-width:1060px;padding-top:52px;padding-bottom:32px}.contact-heading{max-width:600px;margin-bottom:44px}.contact-heading h1{font:400 clamp(42px,5vw,64px)/1.15 var(--font-serif);letter-spacing:-.03em;margin-bottom:18px}.contact-heading p{font-size:16px;color:var(--site-muted);line-height:1.7}.contact-email{display:inline-block;margin-top:18px;color:var(--site-navy);text-decoration:underline;text-underline-offset:5px}
.contact-form{max-width:760px}.contact-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.contact-field{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;min-width:0}.contact-field label{font-size:14px;font-weight:500}.contact-field label span{font-weight:400;color:var(--site-muted);margin-left:6px}.contact-field input:not([type="file"]),.contact-field textarea{display:block;width:100%;min-width:0;background:var(--site-white);border:1px solid var(--site-rule);border-radius:0;padding:12px 14px;color:var(--site-black);font:inherit;min-height:48px}.contact-field textarea{resize:vertical;min-height:160px;line-height:1.6}.contact-field input:hover,.contact-field textarea:hover{border-color:var(--site-muted)}.contact-field :user-invalid,.contact-field [aria-invalid="true"]{border-color:var(--site-navy);outline:1px solid var(--site-navy)}
.field-hint{font-size:13px;color:var(--site-muted);line-height:1.7}.field-hint:empty{display:none}.field-hint a{color:var(--site-navy);text-decoration:underline;text-underline-offset:3px}.attachment-field{border-top:1px solid var(--site-rule);padding-top:24px;margin-top:8px}.attachment-field input{max-width:100%;font-size:13px;min-height:44px}.attachment-field input::file-selector-button{font:inherit;padding:10px 16px;margin-right:14px;background:var(--site-white);border:1px solid var(--site-rule);color:var(--site-black);cursor:pointer}.attachment-field input::file-selector-button:hover{border-color:var(--site-navy)}.attachment-preview{display:flex;gap:20px;align-items:center;margin-top:8px}.attachment-preview img{width:112px;height:112px;object-fit:contain;background:var(--site-soft)}.attachment-preview>div{min-width:0}.attachment-preview p{font-size:13px;overflow-wrap:anywhere}.attachment-preview button{padding:8px 0;border:0;text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px}.contact-submit{display:flex;align-items:flex-start;gap:24px;padding-top:8px}.send-message{min-height:48px;padding:12px 24px;white-space:nowrap;background:var(--site-navy);color:var(--site-white);border:1px solid var(--site-navy);font-size:14px}.send-message:disabled{background:var(--site-soft);color:var(--site-muted);border-color:var(--site-rule);cursor:not-allowed}.contact-submit .field-hint{max-width:430px}#contact-status{font-size:14px;margin-top:20px}.site-footer .site-links{align-items:center}.site-footer .site-links a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:768px){.watercolour-intro{max-width:570px;margin-top:40px}.contact-main{padding-top:36px}}
@media(max-width:480px){.watercolour-intro{margin:32px 0 0;font-size:18px;line-height:1.65}body[data-view="home"] .watercolour-sequence{padding-top:48px}.contact-heading{margin-bottom:32px}.contact-heading p{font-size:15px}.contact-fields{grid-template-columns:minmax(0,1fr);gap:0}.contact-field{margin-bottom:24px}.contact-submit{flex-direction:column;gap:16px}.attachment-preview{gap:16px}.attachment-preview img{width:88px;height:88px}.site-footer .site-links{gap:4px 24px}}

/* Companion essays sit quietly between the introduction and the paintings. */
.home-essays{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 28px;margin:16px 0 0 2%;padding:0;max-width:650px;font-size:13px;line-height:1.7;}
.home-essays a{color:var(--site-navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;}
.home-essays a:hover{text-decoration-thickness:2px;}
.home-essays a:focus-visible{outline:2px solid currentColor;outline-offset:5px;}
@media(max-width:480px){.home-essays{gap:0 20px;margin-left:0;}}

.home-essays-label{margin:28px 0 0 2%;font-size:13px;line-height:1.6;color:var(--site-muted);}
.home-essays{margin-top:6px;}
.home-artworks-heading{margin:64px 0 0 2%;font:400 21px/1.4 var(--font-serif);letter-spacing:0;color:var(--site-black);}
body[data-view="home"] .watercolour-sequence{padding-top:28px;}
@media(max-width:480px){.home-essays-label{margin-left:0;}.home-artworks-heading{margin:44px 0 0;font-size:19px;}body[data-view="home"] .watercolour-sequence{padding-top:24px;}}

.photography-heading{margin:56px 0 64px}.photography-heading h1{font:400 clamp(32px,4vw,48px)/1.2 var(--font-serif);letter-spacing:-.025em}
.photography-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:88px 64px;align-items:start;padding-bottom:72px}.photograph{margin:0;min-width:0}.photograph-link{display:flex;justify-content:center;align-items:center;min-height:240px}.photograph img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}.photograph.portrait{width:min(100%,390px);justify-self:center}.photograph:nth-child(even){padding-top:72px}.photograph figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-top:18px;font-size:14px;line-height:1.5}.photograph figcaption a{font-family:var(--font-serif);font-size:17px}.photograph time{font-size:12px;color:var(--site-muted);white-space:nowrap}.photograph a:focus-visible{outline:2px solid var(--site-navy);outline-offset:6px}
@media(max-width:768px){.photography-grid{gap:64px 32px}.photograph:nth-child(even){padding-top:48px}.photograph-link{min-height:0}.photography-heading{margin:40px 0 48px}}
@media(max-width:640px){.photography-grid{grid-template-columns:minmax(0,1fr);gap:64px}.photograph:nth-child(even){padding-top:0}.photograph.portrait{width:min(90%,390px)}.photograph img{max-height:72svh}.photograph figcaption a{font-size:16px}}
@media(max-width:375px){.primary-nav{gap:18px;font-size:12px}}
