@font-face{font-family:Bad Script;src:url('assets/BadScript-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#e9dfcb;--ink:#3f3b30;--muted:#7e7563;--rust:#9c5338;--film:#242720;--line:#b2a58b;color-scheme:light;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}body::after{content:"";position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.42' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--rust);outline-offset:6px}.skip{position:fixed;top:-80px;left:20px;z-index:50;background:var(--paper);padding:15px}.skip:focus{top:10px}.hero{position:relative;min-height:850px;height:100svh;max-height:1250px;overflow:hidden;background:radial-gradient(ellipse at 40% 45%,#f2e9d8 0%,transparent 65%),linear-gradient(110deg,#e0d6c0,var(--paper) 40%,#e5d6ba)}.archive-label{position:absolute;left:25%;top:55px;font:10px 'Courier New',monospace;letter-spacing:2px;color:var(--muted)}.archive-label span{margin-left:35px;letter-spacing:1px}.intro{position:absolute;left:25%;top:28%;z-index:3;width:40%;}.eyebrow{font:10px 'Courier New',monospace;letter-spacing:2.5px;color:var(--muted);margin:0 0 22px}h1{font:normal clamp(62px,7.5vw,120px)/1 Georgia,serif;letter-spacing:-6px;margin:0 0 27px}h1 span{color:var(--rust)}.handwritten{font-family:Bad Script,'Segoe Print',cursive;font-weight:400}.intro-note{font-size:clamp(22px,2.1vw,33px);line-height:1.6;transform:rotate(-3deg);margin:0 0 43px 4px}.gallery-invite{font-size:23px;text-decoration:none;border-bottom:1px solid #a89571;padding-bottom:6px;display:inline-block}.gallery-invite span{display:inline-block;margin-left:16px;transition:transform .2s}.gallery-invite:hover span{transform:translate(3px,-3px)}.micro{font:8px 'Courier New',monospace;letter-spacing:1.35px;margin-top:20px;color:var(--muted)}.strip{position:absolute;background:linear-gradient(90deg,#151914,#2b2c23 24%,#25271f 82%,#151914);padding:32px 32px 30px;box-shadow:8px 13px 18px #31250f38;display:flex;flex-direction:column;gap:20px;isolation:isolate}.strip::before,.strip::after{position:absolute;content:"";top:10px;bottom:10px;width:12px;background:repeating-linear-gradient(to bottom,transparent 0 11px,#e9dfcb 11px 27px,transparent 27px 43px);z-index:4;opacity:.95}.strip::before{left:9px}.strip::after{right:9px}.frame{display:block;position:relative;border:0;background:#151914;padding:0;cursor:zoom-in;width:100%;overflow:hidden;border-radius:2px;flex:none;aspect-ratio:1.5}.frame img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.18) saturate(.83) contrast(.94) brightness(.95);transition:filter .35s,transform .6s}.frame:hover img{filter:sepia(.08) saturate(.95) contrast(1);transform:scale(1.025)}.frame-no{position:absolute;right:8px;bottom:6px;font:9px 'Courier New',monospace;color:#ffe6a8;opacity:.7}.strip-left{left:-35px;top:-100px;width:235px;transform:rotate(-3deg);gap:19px;padding-top:55px;min-height:1180px}.strip-left .frame{aspect-ratio:.83}.strip-right{width:clamp(350px,31vw,530px);right:-12px;top:-75px;transform:rotate(9deg);padding-top:44px;gap:26px}.strip-right .frame{aspect-ratio:1.37}.strip-right .frame:nth-of-type(2) img{object-position:62% 50%}.strip-right .winter img{object-position:30% 45%}.strip-right .winter{aspect-ratio:1.45}.light-leak{position:absolute;inset:0;pointer-events:none;z-index:3;mix-blend-mode:screen;background:linear-gradient(100deg,transparent 77%,#d2531677 89%,#ee9c2366 96%,transparent),radial-gradient(ellipse at 0% 90%,#ce4b2666,transparent 45%)}.film-type{position:absolute;left:27px;top:11px;color:#b8a66c;letter-spacing:1.5px;font:8px 'Courier New',monospace}.edge-number{color:#b8a66c;font:8px 'Courier New',monospace;letter-spacing:2px;text-align:right;position:absolute;bottom:9px;right:30px}.hero-contacts{position:absolute;z-index:4;left:25%;bottom:57px;font-size:17px}.contact-note{display:block;color:var(--muted);font-size:17px;margin-bottom:5px}.hero-contacts nav{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.hero-contacts a{text-decoration:none}.hero-contacts a:hover{text-decoration:underline;text-underline-offset:5px}.scroll-note{position:absolute;bottom:28px;left:50%;font-size:23px;text-decoration:none;color:var(--muted)}.scroll-note span{font:8px 'Courier New',monospace;letter-spacing:2px;margin-right:15px}.registration{position:absolute;height:30px;width:30px;border:1px solid #8f856b;border-radius:50%;opacity:.5}.registration::before{content:"";position:absolute;inset:7px;border:1px solid #8f856b;border-radius:50%}.registration::after{content:"";position:absolute;inset:-15px;background:linear-gradient(#8f856b,#8f856b) center/1px 100% no-repeat,linear-gradient(#8f856b,#8f856b) center/100% 1px no-repeat}.reg-one{left:19%;top:45px}.reg-two{left:19%;bottom:65px}.rule{position:absolute;left:16%;right:0;border-top:1px dashed #b2a58b80}.rule-one{top:60px}.rule-two{bottom:80px}.color-test{position:absolute;left:16.2%;top:140px;width:11px;opacity:.6}.color-test i{display:block;height:27px;background:#bd8b43}.color-test i:nth-child(2){background:#9b4e30}.color-test i:nth-child(3){background:#648578}.color-test i:nth-child(4){background:#33372d}.gallery{padding:105px max(6vw,25px) 0;position:relative;max-width:1800px;margin:auto}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px;gap:30px}.gallery-heading h2{font:normal clamp(42px,4.5vw,70px)/1.06 Georgia,serif;letter-spacing:-2px;margin:0}.gallery-heading h2 em{color:var(--rust);font-weight:normal}.gallery-heading>.handwritten{font-size:25px;line-height:1.7;transform:rotate(-5deg);margin:0 4% 6px 0}.gallery-meta{display:flex;justify-content:space-between;font:9px 'Courier New',monospace;letter-spacing:1.2px;border-top:1px solid var(--line);padding:16px 0 25px;gap:18px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 27px;align-items:start}.photo-card{margin:0}.photo-button{display:block;border:0;padding:12px 12px 30px;background:#ded2bb;box-shadow:0 2px 4px #392c1412;width:100%;cursor:zoom-in;position:relative;transition:transform .25s,box-shadow .25s}.photo-button:hover{transform:translateY(-4px) rotate(-.5deg);box-shadow:0 8px 18px #392c1420}.photo-button img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;filter:sepia(.13) saturate(.85) contrast(.96)}.photo-button .index{position:absolute;bottom:10px;left:14px;font:8px 'Courier New',monospace;letter-spacing:1px;color:#6f6453}.photo-card figcaption{display:flex;justify-content:space-between;margin:13px 2px 0;font:16px Bad Script,'Segoe Print',cursive;gap:10px}.photo-card figcaption span:last-child{font:9px 'Courier New',monospace;color:var(--muted);padding-top:8px}.photo-card:nth-child(3n+2){margin-top:28px}.page-footer{margin-top:80px;padding:35px 0 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{font:24px Georgia,serif;text-decoration:none}.page-footer .handwritten{font-size:19px;margin:0}.page-footer>a:last-child{text-decoration:none}dialog{padding:0;border:0;background:#24251f;color:#eee4ce;width:100vw;max-width:none;height:100svh;max-height:none;margin:0}dialog::backdrop{background:#24251ff5}.viewer{display:flex;align-items:center;justify-content:center;gap:16px;min-height:100%;padding:65px 35px 35px}.viewer figure{margin:0;max-width:min(1200px,85vw);width:100%}.viewer figure img{display:block;width:100%;height:calc(100svh - 160px);object-fit:contain}.viewer figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:15px;font:21px Bad Script,cursive}.viewer #photo-count{font:11px 'Courier New',monospace;color:#c1b599}.viewer button{background:none;color:inherit;border:0;cursor:pointer;min-width:44px;min-height:44px}.close-viewer{position:absolute;right:30px;top:15px;font:11px 'Courier New',monospace;display:flex;align-items:center;gap:15px}.close-viewer span{font:30px Arial}.prev-photo,.next-photo{font-size:30px}.viewer-locked{overflow:hidden}
@media(min-width:1700px){.strip-left{width:290px}.intro{left:26%}.hero-contacts{left:26%}.strip-right{right:2%;top:-60px}}
@media(max-width:1100px){.intro{left:23%;width:43%}h1{font-size:78px}.strip-left{width:180px;left:-60px}.strip-right{right:-85px;width:370px;top:-10px}.hero-contacts{left:23%;font-size:15px}.hero-contacts nav{gap:10px}.intro-note{font-size:27px}.gallery-invite{font-size:21px}.hero{min-height:820px}.color-test{left:16%}}
@media(max-width:760px){.hero{height:auto;min-height:1050px;max-height:none}.archive-label{left:27px;top:30px}.archive-label span{margin-left:20px}.intro{left:8%;top:115px;width:84%}.eyebrow{font-size:9px;margin-bottom:17px}h1{font-size:78px;letter-spacing:-4px;margin-bottom:20px}.intro-note{font-size:24px;margin:0 0 24px}.gallery-invite{font-size:22px}.micro{font-size:7px;letter-spacing:1px;margin-top:17px}.strip-left{display:none}.strip-right{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;top:535px;width:960px;right:auto;left:-100px;transform:rotate(-7deg);padding:30px 18px}.strip-right::before,.strip-right::after{left:0;right:0;width:auto;height:11px;bottom:auto;background:repeating-linear-gradient(to right,transparent 0 10px,var(--paper) 10px 25px,transparent 25px 39px)}.strip-right::before{top:8px}.strip-right::after{top:auto;bottom:8px}.strip-right .frame,.strip-right .winter{aspect-ratio:1.2}.strip-right .frame:nth-of-type(2) img{object-position:58% center}.film-type,.edge-number{display:none}.hero-contacts{left:8%;bottom:67px;font-size:17px}.contact-note{font-size:17px}.scroll-note{left:auto;right:7%;bottom:22px}.reg-one{left:auto;right:25px;top:30px;width:20px;height:20px}.reg-two{display:none}.rule-one{left:0;top:40px}.rule-two{left:0;bottom:42px}.color-test{left:auto;right:18px;top:180px;width:7px}.color-test i{height:20px}.gallery{padding-top:65px}.gallery-heading{margin-bottom:35px;align-items:start}.gallery-heading h2{font-size:43px}.gallery-heading>.handwritten{font-size:18px;margin-right:0;max-width:125px}.gallery-meta{font-size:8px;line-height:1.6}.gallery-meta span:last-child{max-width:145px;text-align:right}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.photo-card:nth-child(3n+2){margin-top:0}.photo-card:nth-child(2n){margin-top:22px}.photo-button{padding:7px 7px 25px}.photo-card figcaption{font-size:14px;line-height:1.7}.photo-card figcaption span:last-child{display:none}.photo-button .index{font-size:7px;bottom:9px;left:9px}.page-footer{flex-wrap:wrap;margin-top:50px;padding:28px 0}.page-footer .handwritten{font-size:17px}.page-footer p{order:3;width:100%;text-align:center;padding-top:15px}.viewer{gap:0;padding:65px 8px 40px;position:relative}.viewer figure{max-width:100%;width:100%}.viewer figure img{height:calc(100svh - 190px)}.prev-photo,.next-photo{position:absolute;bottom:14px}.prev-photo{left:25px}.next-photo{right:25px}.viewer figcaption{padding:12px 15px;font-size:18px}.close-viewer{right:15px}}
@media(max-width:380px){h1{font-size:66px}.hero-contacts{left:6%;font-size:15px}.hero-contacts nav{gap:8px}.gallery-heading>.handwritten{display:none}.strip-right{left:-120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.photo-button img{height:auto;aspect-ratio:1.5}
/* Dense contact strips: smaller individual frames, more moments in view. */
.strip{padding:24px 25px;gap:13px;box-shadow:5px 8px 14px #31250f35}
.strip .frame,.strip .winter{aspect-ratio:1.65}
.strip::before,.strip::after{width:10px;background:repeating-linear-gradient(to bottom,transparent 0 8px,var(--paper) 8px 21px,transparent 21px 33px)}
.strip::before{left:7px}.strip::after{right:7px}
.strip-left{width:clamp(165px,16vw,235px);left:-15px;top:-35px;transform:rotate(-2deg);min-height:110%;padding-top:35px}
.strip-left .frame{aspect-ratio:1.5}
.strip-right{z-index:2;width:clamp(220px,21vw,300px);right:12px;top:64px;transform:rotate(8deg)}
.strip-right .winter img{object-position:center}.strip-right .art-frame img{filter:saturate(.72) contrast(.92)}
.strip-top{z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:clamp(540px,43vw,720px);right:-28px;top:-55px;padding:24px 18px;transform:rotate(7deg)}
.strip-top .frame{aspect-ratio:1.65}
.strip-top::before,.strip-top::after{left:0;right:0;width:auto;height:10px;bottom:auto;background:repeating-linear-gradient(to right,transparent 0 8px,var(--paper) 8px 21px,transparent 21px 33px)}
.strip-top::before{top:7px}.strip-top::after{top:auto;bottom:7px}.strip-top .film-type{display:none}
.strip-back{z-index:1;width:clamp(185px,17vw,245px);right:-105px;top:45%;transform:rotate(-17deg);opacity:.78}
.film-type{font-size:6px;top:8px;left:26px;letter-spacing:1px}.frame-no{font-size:7px;right:5px;bottom:4px}
.film-leader{position:absolute;z-index:3;width:47px;height:300px;pointer-events:none;mix-blend-mode:multiply;opacity:.6}
.film-leader::before,.film-leader::after{content:"";position:absolute;top:10px;bottom:10px;width:7px;background:repeating-linear-gradient(transparent 0 8px,#eadfc9cc 8px 21px,transparent 21px 33px)}
.film-leader::before{left:4px}.film-leader::after{right:4px}
.leader-amber{right:23%;top:64%;transform:rotate(12deg);background:linear-gradient(#d37b36aa,#d65d25df 60%,#ed9a52aa)}
.leader-olive{right:20%;top:52%;height:180px;width:40px;transform:rotate(8deg);background:#a7ad5480;z-index:1}
.intro{left:25%;width:46%}.hero-contacts{left:25%}.archive-label{left:25%}
@media(min-width:761px) and (max-width:1100px){.strip-left{width:166px;left:-12px}.strip-right{width:220px;right:0;top:70px}.strip-back{right:-120px;width:190px}.intro{left:24%;width:48%}h1{font-size:76px}.intro-note{font-size:25px}.hero-contacts{left:24%}.leader-amber{right:23%}.leader-olive{right:20%}}
@media(max-width:760px){
 .hero{height:auto;min-height:1380px;max-height:none}
 .intro{left:9%;top:110px;width:85%}.archive-label{left:9%}
 .strip-left{display:flex;width:clamp(142px,36vw,195px);left:-15px;top:535px;min-height:0;transform:rotate(-5deg);padding:24px 22px;gap:11px;opacity:1}
 .strip-left .frame{aspect-ratio:1.45}
 .strip-right{display:flex;flex-direction:column;grid-template-columns:none;width:clamp(178px,43vw,235px);left:auto;right:-4px;top:493px;transform:rotate(7deg);padding:24px 23px;gap:11px}
 .strip-right .frame,.strip-right .winter{aspect-ratio:1.65}
 .strip-right::before,.strip-right::after{top:10px;bottom:10px;right:auto;height:auto;width:10px;background:repeating-linear-gradient(to bottom,transparent 0 8px,var(--paper) 8px 21px,transparent 21px 33px)}
 .strip-right::before{left:6px}.strip-right::after{right:6px;left:auto}
 .strip-top{width:390px;right:-198px;top:-58px;gap:9px;padding:22px 15px;transform:rotate(12deg)}
 .strip-back{width:165px;right:-70px;top:1060px;transform:rotate(-16deg);opacity:.6}
 .film-type{display:none}.film-leader{width:34px;height:220px}.leader-amber{right:39%;top:915px;transform:rotate(12deg);opacity:.48}.leader-olive{display:none}
 .hero-contacts{left:9%;bottom:66px;max-width:85%}.hero-contacts nav{gap:12px}.scroll-note{bottom:22px;right:9%}
 .color-test{top:225px}.reg-one{right:24px;top:60px}.reg-two{display:none}
}
@media(max-width:420px){.intro h1{font-size:65px}.hero-contacts nav{gap:9px;font-size:15px}.strip-right{width:180px}.strip-left{width:147px}}

[data-cms]{white-space:pre-line;font-size:var(--cms-size)!important}h1[data-cms],h2[data-cms]{font-size:clamp(32px,var(--cms-responsive),var(--cms-size))!important}.album-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.album-filters button{font:14px Bad Script,cursive;border:1px solid #b2a58b;background:transparent;border-radius:30px;padding:8px 20px;color:inherit;cursor:pointer}.album-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#album-description{font-size:20px;margin-bottom:25px}.cms-preview-banner{position:fixed;z-index:999;top:0;left:0;right:0;background:#3f3b30;color:#f2e9d8;text-align:center;padding:10px;font:13px Arial}.cms-preview-banner a{margin-left:20px}.cms-admin-link{font:11px Arial;color:var(--muted)}.hero{background:radial-gradient(ellipse at 40% 45%,#ffffff25,transparent 65%),var(--paper)}@media(max-width:760px){[data-cms=name]{--cms-responsive:17vw!important}[data-cms=galleryTitle]{--cms-responsive:10vw!important}}
