:root{color-scheme:light;--ink:#173f86;--deep:#17366c;--paper:#fffdf7;--shift:0px;--line-shift:0px;font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;color:var(--deep);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#e7ead2;line-height:1.6}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:7px}::selection{background:#244c95;color:white}[hidden]{display:none!important}
.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.rainbow{position:absolute;inset:-80px;background:linear-gradient(118deg,#f4b6b1 0%,#f1c5a1 16%,#f3e5ad 32%,#cee3bf 49%,#bcdfdf 64%,#becfec 80%,#d1c2e5 100%);transform:translate3d(0,var(--shift),0)}.contours{position:absolute;inset:-100px;background:url("contours.svg") center top/1400px 1200px repeat;transform:translate3d(0,var(--line-shift),0);opacity:.65}.paper-grain{position:absolute;inset:0;background-image:radial-gradient(#17366c 0.5px,transparent .8px),repeating-linear-gradient(0deg,transparent 0 3px,#fff 3px 4px);background-size:4px 4px,100% 4px;opacity:.06}
.site-header,.site-footer,main{width:min(1140px,100% - 96px);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;border-bottom:1px solid #173f8626}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:17px;font-weight:750;letter-spacing:-.5px}.brand svg{width:40px;height:36px;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-8deg)}nav{display:flex;gap:28px}nav a{font-size:14px;font-weight:650;text-decoration:none}nav a span{margin-left:9px}nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{text-align:center;position:relative;padding:72px 0 80px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:10px;font-weight:750;margin:0 0 22px}.hero .eyebrow span{font-size:19px;vertical-align:middle;padding-right:9px}h1{position:relative;width:fit-content;margin:0 auto 28px;font-size:clamp(48px,6vw,78px);line-height:1.07;letter-spacing:-3.8px;font-weight:780;color:var(--ink)}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.22em;letter-spacing:-4px}.spark{position:absolute;width:44px;height:50px;right:9%;bottom:18px;transform:translateX(90px);stroke:#ad5d32;stroke-width:3;stroke-linecap:round;fill:none}.hero-copy{font-size:16px;line-height:1.9;margin:0 auto 25px;max-width:560px}.discover{display:inline-flex;gap:21px;align-items:center;min-height:46px;padding:7px 0;border-bottom:1px solid #173f8670;text-decoration:none;font-size:13px;font-weight:650}.discover span{font-size:21px}.hero-note{position:absolute;right:9px;top:178px;font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.4;transform:rotate(9deg);opacity:.8}.hero-note:after{content:"↙";display:block;font-size:35px;margin-right:46px}
.gallery-section{padding:5px 20px 0;scroll-margin-top:25px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:54px;border-top:1px solid #173f862b;padding-top:31px}.gallery-heading .eyebrow{margin-bottom:6px;font-size:9px}.gallery-heading h2{font-size:26px;letter-spacing:-1px;line-height:1.25;margin:0;font-weight:700}.photo-count{display:flex;align-items:center;gap:10px;font-size:31px;line-height:1;margin:0 0 2px;font-family:Georgia,serif}.photo-count span{font-family:ui-rounded,system-ui,sans-serif;font-size:10px;line-height:1.4;max-width:95px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:39px;row-gap:53px;padding:0 3px 20px;align-items:start}.polaroid{position:relative;margin:0;transform:rotate(-3deg);transition:transform .25s ease,filter .25s ease}.polaroid:nth-child(6n+2){transform:translateY(18px) rotate(2deg)}.polaroid:nth-child(6n+3){transform:rotate(-1.5deg)}.polaroid:nth-child(6n+4){transform:rotate(2deg)}.polaroid:nth-child(6n+5){transform:translateY(12px) rotate(-2deg)}.polaroid:nth-child(6n){transform:rotate(3deg)}.polaroid:nth-child(7n+1):before{content:"";position:absolute;z-index:2;width:76px;height:24px;top:-11px;left:calc(50% - 38px);background:repeating-linear-gradient(90deg,#f3e6bdc9 0 2px,#f0e3bbc0 2px 4px);transform:rotate(-5deg);box-shadow:0 1px 2px #5b553414;pointer-events:none}.photo-link{display:block;background:var(--paper);padding:13px 13px 0;text-decoration:none;box-shadow:0 3px 5px #26355615,0 14px 24px -8px #33465642,0 0 0 1px #ffffff7a;overflow:hidden}.photo-window{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#ebeae4;overflow:hidden}.photo-window img{display:block;width:100%;height:100%;object-fit:contain}.photo-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:76px;padding:12px 5px 14px}.photo-title{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic;font-weight:400;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}.photo-number{font-size:9px;letter-spacing:1px;opacity:.55;align-self:flex-end;padding-bottom:4px;flex-shrink:0}.album-end{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;margin:80px 0 50px;letter-spacing:.3px}.album-end span{font-size:31px}.empty-state{grid-column:1/-1;background:var(--paper);padding:36px;text-align:center}.about{max-width:620px;margin:0 auto 70px;padding:28px;background:var(--paper)}.about p{white-space:pre-line;overflow-wrap:anywhere}
.site-footer{border-top:1px solid #173f8633;padding:28px 0 38px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px}.site-footer p{font-weight:650;margin:0}.site-footer p span{display:block;font-weight:400;font-size:11px;margin-top:3px}.site-footer a{font-size:11px;text-decoration:none;padding-block:12px}.site-footer a span{margin-left:10px}.skip-link{position:fixed;z-index:20;left:18px;top:-100px;background:var(--paper);padding:12px 18px}.skip-link:focus{top:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lightbox{width:min(850px,calc(100% - 28px));max-height:calc(100dvh - 32px);border:0;padding:20px 24px 16px;background:#f6f3e9;color:var(--deep);box-shadow:0 20px 80px #0004;overflow:auto}.lightbox::backdrop{background:#102341e6}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.lightbox-toolbar>span{font-size:12px;letter-spacing:1px}.close-button{display:flex;align-items:center;gap:15px;font-size:12px;background:none;border:0;min-height:44px;padding:0 8px}.close-button span{font-size:30px;font-weight:300}.detail-frame{background:var(--paper);padding:12px 12px 1px}.detail-frame img{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 255px);height:auto;object-fit:contain;margin:0 auto}.detail-frame h2{text-align:center;font-family:Georgia,serif;font-size:23px;font-style:italic;font-weight:400;margin:18px 0 22px;line-height:1.3;overflow-wrap:anywhere}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.lightbox-bottom button{min-width:46px;min-height:46px;border:1px solid #173f8640;background:none;border-radius:50%;font-size:22px}.lightbox-bottom button:disabled{opacity:.25;cursor:default}.lightbox-bottom p{text-align:center;font-size:11px}.dialog-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.polaroid:hover{transform:translateY(-7px) rotate(0);z-index:3;filter:drop-shadow(0 8px 8px #24344b15)}.discover:hover span{transform:translateY(3px)}}
@media(min-width:1500px){.site-header,main,.site-footer{width:min(1200px,100% - 120px)}.hero{padding-block:90px}.gallery{gap:58px}.photo-caption{min-height:85px}}
@media(max-width:900px){.site-header,main,.site-footer{width:calc(100% - 64px)}.brand{font-size:15px}.hero-note{display:none}.hero{padding:65px 0}.gallery-section{padding-inline:6px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px;row-gap:44px}.gallery-heading h2{font-size:25px}h1{font-size:62px}.spark{right:6%;width:34px;transform:translateX(70px)}}
@media(max-width:560px){.site-header,main,.site-footer{width:calc(100% - 40px)}.site-header{padding-block:20px;gap:14px}.brand{gap:7px;font-size:13px;letter-spacing:-.3px}.brand svg{width:31px;min-width:31px;height:29px}nav{gap:10px}nav a{font-size:11px}nav a span{display:none}.hero{padding:52px 0 53px}.eyebrow{font-size:8px;letter-spacing:1.1px}.hero .eyebrow span{font-size:15px;padding-right:4px}h1{font-size:48px;letter-spacing:-2.7px;margin-bottom:24px}h1 em{letter-spacing:-3px}.spark{width:25px;height:35px;right:10%;bottom:9px;transform:translateX(40px)}.hero-copy{font-size:13px;line-height:1.85}.discover{font-size:11px;gap:15px}.gallery-heading{margin-bottom:38px;padding-top:24px;gap:12px}.gallery-heading h2{font-size:21px;letter-spacing:-.7px}.gallery-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.photo-count{font-size:25px;gap:7px}.photo-count span{font-size:8px;max-width:68px}.gallery{grid-template-columns:minmax(0,1fr);width:min(340px,100% - 22px);margin:auto;row-gap:42px}.polaroid:nth-child(n){transform:rotate(-2deg)}.polaroid:nth-child(2n){transform:rotate(2deg)}.photo-link{padding:12px 12px 0}.photo-caption{min-height:77px}.photo-title{font-size:19px}.album-end{font-size:12px;margin:57px 0 35px}.site-footer{align-items:start;font-size:11px;gap:12px}.site-footer p span{font-size:9px;max-width:180px}.site-footer a{font-size:10px;white-space:nowrap}.lightbox{padding:9px 12px}.detail-frame{padding:8px 8px 1px}.detail-frame h2{font-size:20px}.lightbox-bottom p{font-size:9px}}
/* The paper itself is the transparent ImageGen asset; CSS only positions content. */
.polaroid:nth-child(7n+1):before{content:none}
.photo-link{position:relative;padding:0;aspect-ratio:1144/1375;background:none;box-shadow:none;overflow:visible}
.photo-link:after{content:"";position:absolute;inset:0;background:url("polaroid-frame-v1.png") center/100% 100% no-repeat;pointer-events:none}
.photo-window{position:absolute;left:9%;top:7.5%;width:82%;height:68.5%;aspect-ratio:auto;background:#eeeae1}
.photo-caption{position:absolute;left:9.8%;right:9.8%;top:76%;height:21%;min-height:0;padding:4px 0 8px;z-index:1}
.photo-title{font-size:18px}.long-title .photo-title{font-size:14px}.photo-number{padding-bottom:4px}
@media(max-width:560px){.photo-link{padding:0}.photo-caption{min-height:0}.photo-title{font-size:19px}.long-title .photo-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rainbow,.contours{transform:none!important}.polaroid{transition:none}.polaroid:hover{filter:none}}
