/* The painting is the surface. HTML supplies names, focus and interaction. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{background:#eeeadd;color:#303c43;isolation:isolate}
.painted{position:relative;display:block;line-height:0;max-width:100%}
.painted>img{display:block;width:100%;height:auto}
.painted>canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.painted[data-painted="true"]>canvas{opacity:1}
.painted[data-painted="true"]>img{visibility:hidden}
.painted-ground{position:fixed;inset:0;width:100%;height:100lvh;z-index:-1;pointer-events:none}
.painted-ground>img,.painted-ground>canvas{width:100%;height:100%;object-fit:fill}
.masthead{margin:0 5.5vw;min-height:110px;align-items:center;gap:30px}
.wordmark{width:145px;flex-shrink:0;transform:rotate(-2deg)}
.artist{width:186px;margin-right:auto;margin-left:0;transform:rotate(.5deg)}
.gate-nav{gap:30px}
.gate-nav [data-paint="work"]{width:82px}
.gate-nav [data-paint="waitlist"]{width:136px}
.gate-nav [data-paint="watch"]{width:150px}
.text-button{min-height:44px;display:inline-flex;align-items:center;border:0;transition:transform .2s}
.text-button:hover{border:0;transform:rotate(-1.5deg)}
button:focus-visible,a:focus-visible{outline:2px dashed #a25b44;outline-offset:6px}
.arrival{min-height:calc(100svh - 218px);justify-content:center;padding:10px 24px 28px}
.arrival-copy{width:100%;display:flex;align-items:center;flex-direction:column}
.arrival-copy .eyebrow{margin:0 0 14px;width:155px;transform:rotate(1.2deg)}
.arrival-copy h1{width:min(650px,84vw);font-size:inherit;transform:rotate(-.6deg)}
.threshold{width:min(860px,90vw);height:auto;aspect-ratio:1100/610;margin:4px auto 0;flex-shrink:0}
.gate{inset:0;align-items:stretch}
.gate-leaf{height:100%;width:50%}
.gate-leaf>.painted{width:100%;height:100%}
.gate-leaf img{width:100%;height:100%}
.invitation{top:51%;left:50%;width:30%;min-height:0;padding:0;border:0;background:none;box-shadow:none;transform:translate(-50%,-28%) rotate(-5deg);display:block}
.invitation>.painted{width:100%}
.invitation:hover{transform:translate(-50%,-31%) rotate(-2deg)}
.arrival-foot{width:min(750px,88vw);margin:3px auto 0;align-items:center}
.arrival-foot p{margin:0;width:143px;transform:rotate(-1.5deg)}
.arrival-foot [data-paint="note"]{width:203px;transform:rotate(1deg)}
footer{border:0;margin:0 5.5vw;min-height:108px;gap:26px;padding:12px 0 24px}
footer>span{width:106px;transform:rotate(1.5deg)}
footer>p{margin:0;width:365px;max-width:45vw;transform:rotate(-1deg)}
footer [data-paint="journal"]{width:123px;transform:rotate(1deg)}





dialog{background:#eeeadd url('/painting/page.webp') center/100% 100%;outline:1px solid #b5b6a3;outline-offset:-4px}
dialog::backdrop{background:#283b4e66;backdrop-filter:blur(3px)}
.dialog-top{background:#eeeadd;border-bottom:1px solid #b8beac66;margin:7px 9px 0}
article{position:relative}
article .signature{width:150px;margin-top:28px!important}
article p{color:#343e3a}
.record>div,.journal-entry{border-color:#9ca89588}
#close-view{background:#eeeadd url('/painting/page.webp') center/100% 100%}
@media(min-height:950px) and (min-width:700px){.threshold{margin-top:10px}.arrival{padding-top:20px}}
@media(max-width:700px){
 .masthead{margin:0 20px;min-height:95px;gap:15px;flex-wrap:wrap}
 .wordmark{width:114px}.artist{display:none}.gate-nav{margin-left:auto;gap:18px}
 .gate-nav [data-paint="work"]{width:65px}.gate-nav [data-paint="waitlist"]{width:110px}.gate-nav [data-paint="watch"]{width:118px}
 .arrival{min-height:calc(100svh - 211px);padding:25px 15px 35px;justify-content:center}
 .arrival-copy .eyebrow{width:145px;margin-bottom:18px}
 .arrival-copy h1{width:min(580px,91vw)}
 .threshold{width:100%;aspect-ratio:1.57;margin-top:27px;margin-bottom:12px}
 .invitation{width:39%;top:46%}
 .arrival-foot{width:95%;margin-top:14px;gap:15px}
 .arrival-foot p{width:115px;flex-shrink:0}
 .arrival-foot [data-paint="note"]{width:176px}
 footer{margin:0 22px;min-height:116px;gap:10px;flex-wrap:wrap;padding:12px 0 20px}
 footer>span{width:95px}footer>p{order:3;width:305px;max-width:100%;margin:5px auto 0}
 footer .text-button{margin-left:auto}footer [data-paint="journal"]{width:110px}

}
@media(max-width:359px){.masthead{margin:0 14px;gap:9px}.wordmark{width:91px}.gate-nav{gap:10px}.gate-nav [data-paint="work"]{width:57px}.gate-nav [data-paint="waitlist"]{width:95px}.gate-nav [data-paint="watch"]{width:102px}.arrival-foot p{width:99px}.arrival-foot [data-paint="note"]{width:157px}.invitation{width:42%}}
@media(prefers-reduced-motion:reduce){.text-button{transition:none}.opening .gate-leaf{transform:none}}



.paint-film{margin:36px 0 0}.paint-film video{display:block;width:100%;height:auto;aspect-ratio:2/1;background:#dfe5dc}.paint-film figcaption{display:flex;flex-direction:column;gap:4px;font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:12px}.inline-letter{padding:0;border:0;background:none;font:inherit;text-decoration:underline;text-underline-offset:5px}

/* One painting, one caption, one supporting navigation row. */
.invitation-page{min-height:100svh;display:flex;flex-direction:column}
.invitation-page>main{flex:1}
.invitation-page .masthead{min-height:96px;max-width:1320px;width:calc(100% - 88px);margin:0 auto;gap:26px}
.invitation-page .wordmark,.invitation-page .artist{transform:none}
.invitation-page .wordmark{width:128px}
.invitation-page .artist{width:169px}
.invitation-page .gate-nav{gap:27px}
.invitation-page .gate-nav [data-paint="work"]{width:72px}
.invitation-page .gate-nav [data-paint="watch"]{width:132px}
.invitation-page .gate-nav [data-paint="waitlist"]{width:119px}
.invitation-page .text-button:hover{transform:none}
.invitation-page button:focus-visible,.invitation-page a:focus-visible{outline:2px solid #557064;outline-offset:5px}
.invitation-page .arrival{min-height:calc(100svh - 184px);padding-top:4px;padding-bottom:25px}
.invitation-page .arrival-copy h1{width:min(580px,84vw)}
.invitation-page .threshold{width:min(790px,90vw);margin-top:8px}
.invitation-page .arrival-foot{width:min(710px,88vw)}
.invitation-page>.site-footer{width:calc(100% - 88px);max-width:1320px;margin:0 auto;min-height:88px;padding:18px 0 24px;gap:24px}
.invitation-page>.site-footer>span{width:106px;transform:none}
.invitation-page>.site-footer>p{width:282px;max-width:45vw;transform:none}
.invitation-page>.site-footer [data-paint="journal"]{width:108px;transform:none}
.viewing{width:min(984px,calc(100% - 88px));margin:20px auto 0;padding:0 0 35px;min-height:0;text-align:left}
.viewing-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.viewing-head .eyebrow{font:10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.12em;margin:0 0 10px;color:#526257}
.viewing-head h1{width:min(360px,70vw);max-width:none;margin:0;font-size:inherit}
#close-viewing{padding:8px;flex:none;margin-right:-8px}
#close-viewing [data-paint="close"]{width:49px}
.dog-gallery{width:100%;position:relative;margin:0}
.dog-gallery .painting{width:100%;margin:0;padding:0;background:none;transform:none}
.dog-gallery #dog-image{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
/* Native brush contact at the display edge; the closer look keeps the original. */
.dog-gallery #dog-image{-webkit-mask:url('/painting/display-edge.svg?v=20260920-brush1') center/100% 100% no-repeat;mask:url('/painting/display-edge.svg?v=20260920-brush1') center/100% 100% no-repeat}
.dog-gallery .viewer-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:0;padding:20px 0 19px;border-bottom:1px solid #52634b35;color:#303e33;min-height:89px}
.work-caption{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
#dog-name{font:400 23px/1.15 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.work-artist{font:10px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.035em;color:#586752}
.viewer-browse{display:flex;align-items:center;gap:12px;justify-self:end}
.dog-gallery .cycle-dog{width:44px;height:44px;padding:0;justify-content:center;flex:none}
.cycle-dog .painted{width:40px}
#dog-position{font:10px/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;font-variant-numeric:tabular-nums;color:#586752;white-space:nowrap;min-width:39px;text-align:center}
.gallery-status{font:12px/1.6 Arial,Helvetica,sans-serif;color:#475347;text-align:center;margin:12px 0 0}
.gallery-status:not(.has-error){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.viewing-links{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:4px 32px;width:100%;padding:15px 0 0;margin:0}
.viewing-links a,.viewing-links .text-button{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;font:14px/1.4 var(--serif);letter-spacing:0;color:#485941;text-decoration:none}
.viewing-links>:nth-child(2){margin-left:auto}
.viewing-links a:hover,.viewing-links .text-button:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
#close-view{width:min(1440px,calc(100vw - 28px))}
#close-view img{max-height:calc(100svh - 120px);object-fit:contain}
@media(max-width:700px){
 .invitation-page .masthead{width:calc(100% - 40px);min-height:83px;gap:16px;flex-wrap:nowrap}
 .invitation-page .wordmark{width:106px}.invitation-page .gate-nav{gap:18px}
 .invitation-page .gate-nav [data-paint="work"]{width:60px}.invitation-page .gate-nav [data-paint="waitlist"]{width:99px}.invitation-page .gate-nav [data-paint="watch"]{width:110px}
 .invitation-page .arrival{min-height:calc(100svh - 200px);padding:20px 16px 30px}
 .invitation-page .threshold{width:100%;margin-top:24px}
 .invitation-page>.site-footer{width:calc(100% - 40px);min-height:113px;gap:12px;padding:18px 0 23px}
 .invitation-page>.site-footer>span{width:95px}.invitation-page>.site-footer>p{width:250px;max-width:100%;margin:0 auto}
 .viewing{width:calc(100% - 32px);margin-top:22px;padding-bottom:24px}
 .viewing-heading{gap:16px;margin-bottom:23px;padding:0 4px}
 .viewing-head h1{width:min(310px,70vw);max-width:none}
 .viewing-head .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:8px}
 #close-viewing{padding:6px;margin-right:-4px}#close-viewing [data-paint="close"]{width:40px}
 .dog-gallery .viewer-caption{gap:10px;padding:15px 4px 14px;min-height:82px}
 #dog-name{font-size:21px}.work-artist{font-size:9px}
 .viewer-browse{gap:0}.dog-gallery .cycle-dog{width:38px;padding:0}.cycle-dog .painted{width:36px}
 #dog-position{font-size:9px;min-width:35px}
 .viewing-links{display:grid;grid-template-columns:repeat(3,auto);gap:0 16px;justify-content:space-between;padding:12px 4px 0;justify-items:start}.viewing-links>:nth-child(2){margin-left:0}.viewing-links a,.viewing-links .text-button{font-size:13px;min-height:39px}
}
@media(max-width:359px){
 .invitation-page .masthead{width:calc(100% - 32px);gap:10px}.invitation-page .wordmark{width:91px}
 .invitation-page .gate-nav{gap:12px}.invitation-page .gate-nav [data-paint="work"]{width:52px}.invitation-page .gate-nav [data-paint="waitlist"]{width:88px}.invitation-page .gate-nav [data-paint="watch"]{width:95px}
 .viewing-links{column-gap:12px}.viewing-head h1{width:65vw}
}

/* Letters use the same painted identity and quiet controls as the gate. */
.invitation-page #reading .reading-mark{display:block;width:90px;height:auto}
.invitation-page #reading .close-dialog{padding:6px 0 6px 12px}
.invitation-page #reading .close-dialog img{display:block;width:49px;height:auto}
@media(max-width:560px){.invitation-page .masthead,html body .masthead{flex-wrap:wrap;row-gap:0}.invitation-page .gate-nav,html body .gate-nav{order:3;flex-basis:100%;margin-left:0;justify-content:space-between}}
