*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#f7f4ee;color:#343930;font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b8875a;outline-offset:5px}header{padding:26px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded5;font-size:12px;letter-spacing:1px}.brand{font:28px Georgia,serif;letter-spacing:3px}.brand span{font-style:italic;color:#9b795a}.hero{padding:42px 6% 0;display:grid;grid-template-columns:43% 57%;min-height:780px}.intro{padding:38px 5% 20px 0}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.7px;color:#767963;margin:0 0 26px}h1{font:clamp(80px,9vw,145px)/.85 Georgia,serif;letter-spacing:-6px;margin:0 0 30px}h1 em{font-size:.65em;color:#9b795a;font-weight:normal}.lead{font:26px/1.3 Georgia,serif}.note{font-size:13px;line-height:1.8;color:#777c71;margin:24px 0}.primary{background:#404b3f;border:0;color:#fff;padding:19px 24px;min-width:230px;display:flex;justify-content:space-between;gap:25px;font-size:12px}.primary:hover{background:#59674e}.textlink{display:block;margin-top:19px;font-size:11px;color:#767963}.hero-photo{position:relative;min-height:610px;overflow:hidden;background:#ccc}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;animation:reveal 1.4s ease both}.photo-note{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0008);color:#fff;padding:50px 26px 22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.6px;padding:27px 0;border-bottom:1px solid #dcded5;color:#848778}.album{padding:85px 6% 60px}.album-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}h2{font:48px Georgia,serif;font-weight:normal;margin:0}.album-head .eyebrow{margin-bottom:14px}.album-head>p{font-size:12px;line-height:1.8;color:#777c71}.toolbar{margin:35px 0 26px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dcded5;padding-top:20px;gap:12px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #dcded5;background:transparent;color:#69705f;border-radius:30px;font-size:11px;padding:11px 16px}.filters button.active{background:#404b3f;color:#fff;border-color:#404b3f}#gallery-count{font-size:10px;white-space:nowrap;color:#848778}.gallery{columns:4;column-gap:16px}.tile{display:block;position:relative;border:0;padding:0;margin:0 0 16px;width:100%;background:#ddd;break-inside:avoid;overflow:hidden}.tile img{width:100%;display:block;transition:transform .6s,filter .6s}.tile:hover img{transform:scale(1.035);filter:brightness(.85)}.tile span{position:absolute;bottom:10px;right:12px;background:#0006;color:#fff;padding:5px 7px;font-size:9px;opacity:0;transition:opacity .3s}.tile:hover span,.tile:focus span{opacity:1}.backtop{display:block;border:0;border-bottom:1px solid #a0a68f;padding:12px 0;margin:30px auto;background:transparent;color:#67705c;font-size:11px}footer{margin:0 6%;border-top:1px solid #dcded5;padding:40px 0 45px;text-align:center}footer>span{font:32px Georgia,serif}footer em{color:#9b795a}footer p{color:#848778;font-size:12px}footer small{font-size:9px;letter-spacing:2px;color:#9b795a}dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:#141512;color:white;overflow:hidden}dialog::backdrop{background:#141512}.viewer-top{position:absolute;top:0;left:0;right:0;z-index:3;height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 30px;background:linear-gradient(#141512,transparent)}.viewer-top>span{font:22px Georgia,serif}.viewer-top>div{display:flex;gap:12px;align-items:center}.viewer-top button,.viewer-top a{border:1px solid #fff3;border-radius:30px;padding:10px 16px;background:#14151280;color:#fff;font-size:11px}.stage{position:absolute;inset:75px 80px 70px;touch-action:pan-y}.stage img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateX(12px) scale(.99);transition:opacity .75s ease,transform .9s ease}.stage img.shown{opacity:1;transform:translateX(0) scale(1)}.arrow{position:absolute;top:46%;border:1px solid #fff3;background:#fff08;border-radius:50%;color:#fff;width:48px;height:48px;font:38px Georgia}.prev{left:20px}.next{right:20px}.viewer-bottom{position:absolute;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;font-size:11px;color:#ddd}.hint{color:#7d8275}.progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#fff1}#progress-bar{height:100%;background:#b9bda3;width:0;transition:width .5s}.backtop:hover{color:#222}@keyframes reveal{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@media(max-width:1000px){.gallery{columns:3}.hero{min-height:700px}h1{font-size:105px}.hero-photo{min-height:540px}}@media(max-width:650px){header{padding:20px 6%}.hero{padding-top:26px;grid-template-columns:1fr}.intro{padding:15px 0 30px}h1{font-size:91px;line-height:.9;letter-spacing:-4px}h1 br{display:none}.eyebrow{font-size:8px}.lead{font-size:23px}.note{margin:18px 0}.hero-photo{min-height:480px}.hero-foot{font-size:8px;gap:10px;padding:22px 0}.album{padding-top:52px}.album-head{display:block}h2{font-size:36px}.album-head>p{font-size:11px}.toolbar{align-items:flex-start}.filters{gap:5px}.filters button{padding:10px 12px;font-size:10px}.gallery{columns:2;column-gap:10px}.tile{margin-bottom:10px}.viewer-top{padding:0 14px;height:64px}.viewer-top>span{font-size:17px}.viewer-top>div{gap:5px}.viewer-top button,.viewer-top a{padding:9px 11px;font-size:9px}.stage{inset:70px 12px 90px}.arrow{top:auto;bottom:25px;width:40px;height:40px;font-size:30px}.viewer-bottom{bottom:39px;justify-content:center;pointer-events:none}.hint{display:none}.prev{left:20px}.next{right:20px}footer>span{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}.gallery{display:block;columns:4 230px;column-gap:18px;margin-top:28px}.gallery .tile{display:block;width:100%;height:auto;margin:0 0 18px;padding:0;border:0;background:transparent;break-inside:avoid;position:relative;overflow:hidden}.gallery .tile img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .8s ease}.gallery .tile:hover img{transform:scale(1.025)}.gallery .tile::after{position:absolute;left:12px;top:12px;z-index:1;color:#fff;font:19px/1 Georgia,serif;opacity:.7;text-shadow:0 1px 7px #0009;pointer-events:none}.gallery .tile:nth-child(9n)::after{content:'♡'}.gallery .tile:nth-child(13n)::after{content:'◯◯';font-size:13px;letter-spacing:-5px}.gallery .tile:nth-child(17n)::after{content:'✿'}
.author{max-width:1280px;margin:0 auto;padding:88px 6%;display:grid;grid-template-columns:.8fr 1.1fr .8fr;align-items:center;gap:40px;border-top:1px solid #dedbd3}.author-label{font-size:9px;letter-spacing:2px;color:#79786f}.author-label span{display:block;margin-top:14px;color:#a7a58d;font-size:22px}.author-copy .eyebrow{margin:0 0 14px}.author-copy h2{font:400 clamp(40px,5vw,66px)/.98 Georgia,serif;letter-spacing:-2px;margin:0 0 18px}.author-copy h2 em{font-style:italic;color:#82856f}.author-copy>p:last-child{max-width:400px;font-size:13px;line-height:1.85;color:#717168}.author-signature{justify-self:end;white-space:nowrap;font:italic 24px Georgia,serif;color:#5d5f54}.author-signature span{color:#8c9076}.author-signature i{margin-left:8px;color:#a3a087;font-style:normal}@media(max-width:1000px){.gallery{columns:3 180px}}@media(max-width:650px){.gallery{columns:2 140px;column-gap:12px}.gallery .tile{margin-bottom:12px}.author{grid-template-columns:1fr;gap:18px;padding:60px 6%}.author-label span{display:inline;margin:0 0 0 8px}.author-signature{justify-self:start;font-size:21px}}

/* The hero ornaments sit in the margin around the photograph. */
.hero-photo{overflow:visible;background:transparent}
.hero-photo img{top:28px;right:28px;bottom:28px;left:28px;width:calc(100% - 56px);height:calc(100% - 56px);z-index:0}
.photo-note{bottom:28px;left:28px;right:28px;z-index:1}
.hero-ornament{position:absolute;z-index:2;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#9b795a;pointer-events:none;text-shadow:0 1px 0 #f7f4ee}
.hero-ornament.heart{top:0;right:0;font:25px/1 Georgia,serif}
.hero-ornament.flower{left:0;bottom:0;font:22px/1 Georgia,serif;color:#85886f}
.hero-ornament.blossom{right:0;top:calc(50% - 14px);font:20px/1 Georgia,serif;color:#85886f}
.gallery .tile .tile-caption{position:static;display:block;background:transparent;color:#666;text-align:left;opacity:1;padding:9px 4px 4px;font:12px/1.5 Georgia,serif;transition:none}
.viewer-caption{position:absolute;left:50%;transform:translateX(-50%);max-width:55vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font:13px Georgia,serif;color:#eee}
@media(max-width:650px){.hero-photo img{top:24px;right:24px;bottom:24px;left:24px;width:calc(100% - 48px);height:calc(100% - 48px)}.photo-note{bottom:24px;left:24px;right:24px;padding:45px 16px 18px}.hero-ornament{width:24px;height:24px}.hero-ornament.heart{font-size:22px}.hero-ornament.flower{font-size:20px}.hero-ornament.blossom{top:calc(50% - 12px);font-size:18px}.viewer-caption{max-width:72vw;font-size:11px}}

.hero-photo img,.gallery .tile img,.stage img{border-radius:10px}
@media(max-width:650px){#position{display:none}}
.arrow{background:rgba(43,48,40,.92);border:1px solid rgba(255,255,255,.9);color:#fff;box-shadow:0 2px 14px rgba(0,0,0,.55)}
.arrow:hover{background:#9b795a;border-color:#fff}


.primary{border-radius:30px}


header>a[href="#album"] .mono-arrow{color:#767963}.primary .mono-arrow{color:#fff}
