@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Patrick+Hand&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f5efdf;--ink:#242922;--sage:#a3b18a;--line:#b9baac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #52634a;outline-offset:7px}header,main>section,footer{max-width:1600px;margin:auto}header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;font-weight:700;letter-spacing:-1.8px}.wordmark span{display:block;font-size:10px;letter-spacing:2px;margin-top:2px}nav{display:flex;gap:38px;font-size:14px}nav a:hover,footer a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;padding:52px 5% 62px;gap:50px;align-items:stretch}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin:0 0 30px}.hero-copy{padding:28px 0 0;display:flex;flex-direction:column}h1,h2,h3,p{margin-top:0}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(64px,8.8vw,142px);line-height:1.03;letter-spacing:-5px;margin-bottom:22px}em{font-weight:500}.intro{font-size:25px}.hero-bottom{margin-top:auto;padding-top:48px;display:flex;gap:20px;align-items:end;justify-content:space-between}.hero-bottom p{font-size:14px;line-height:1.8;margin-bottom:0}.round-link{background:var(--sage);border:1px solid var(--ink);border-radius:50%;font-size:28px;display:grid;place-items:center;width:57px;height:57px;flex-shrink:0;transition:transform .2s}.round-link:hover{transform:translateY(4px)}figure{margin:0}.cover{position:relative;padding-bottom:30px}.cover figcaption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;margin-top:13px}.stamp{position:absolute;bottom:50px;left:-27px;background:var(--sage);width:113px;height:113px;border:1px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:33px;transform:rotate(-13deg);line-height:1.1}.stamp small{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:1px;margin-top:5px}.ribbon{border-block:1px solid var(--ink);background:var(--sage);padding:21px 6%;display:flex;justify-content:space-around;align-items:center;gap:25px;font-size:21px;font-weight:500}.boys{padding:100px 7%;display:grid;grid-template-columns:1fr 1fr;gap:90px}h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:46px;line-height:1.16;letter-spacing:-1.4px}.bios article{display:grid;grid-template-columns:32px 1fr;column-gap:15px;border-top:1px solid var(--line);padding:24px 0}.number{font-size:12px;padding-top:12px}h3{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:500;margin-bottom:15px}h3 span{display:inline-block;font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0;margin-left:15px}.bios p{grid-column:2;font-size:16px;line-height:1.65;margin:0;max-width:400px}.album{padding:75px 5% 90px;background:#e6e5da}.album-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.album-heading h2{font-size:56px;margin:0}.album-heading>p{font-size:15px;line-height:1.7;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;align-items:start}.photo img{display:block;width:100%;height:340px;object-fit:cover;border-radius:3px}.photo figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:13px;font-size:14px}.photo small{font-size:12px;color:#606459}.photo.tall{grid-row:span 2}.photo.tall img{height:752px}.photo.wide{grid-column:span 2}.photo.wide img{object-position:50% 40%}.ending{text-align:center;padding:105px 20px 95px}.ending>p:not(.eyebrow){font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,5vw,68px);line-height:1.2;letter-spacing:-1.5px;margin-bottom:27px}.ending span{font-size:14px}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;align-items:center;justify-content:space-between;font-size:13px}footer .wordmark{font-size:25px}@media(min-width:1600px){.ribbon{max-width:1600px;margin:auto}}@media(max-width:1000px){.hero{gap:30px}h1{letter-spacing:-3px}.boys{gap:40px;padding:75px 5%}h2{font-size:37px}h3 span{display:block;margin:7px 0 0}.photo img{height:280px}.photo.tall img{height:650px}.album-heading h2{font-size:44px}.ribbon{font-size:17px;gap:14px}}@media(max-width:650px){header{padding:22px 6%}.wordmark{font-size:27px}nav{gap:17px;font-size:13px}nav span{display:none}.hero{grid-template-columns:1fr;padding:32px 6% 36px;gap:28px}.hero-copy{padding:0}.eyebrow{font-size:11px;margin-bottom:24px}h1{font-size:clamp(68px,16vw,103px);letter-spacing:-3px}.intro{font-size:22px;margin-bottom:0}.hero-bottom{padding-top:25px}.hero-bottom p{font-size:13px}.stamp{left:-8px;width:93px;height:93px;font-size:28px}.stamp small{font-size:9px}.ribbon{padding:17px 5%;font-size:14px;gap:15px;flex-wrap:wrap}.boys{grid-template-columns:1fr;gap:20px;padding:55px 6%}.section-heading h2{font-size:38px}.bios article{padding:22px 0}h3 span{display:inline;margin-left:13px}.album{padding:50px 6%}.album-heading{display:block}.album-heading h2{font-size:40px;margin-bottom:20px}.gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.photo.tall{grid-row:auto}.photo.tall img,.photo img{height:250px}.photo.tall,.photo.wide{grid-column:span 2}.photo.tall img{height:auto;max-height:560px}.photo.wide img{height:340px}.photo figcaption{font-size:12px;line-height:1.5}.photo small{display:none}.ending{padding:65px 15px}.ending>p:not(.eyebrow){font-size:36px}footer{flex-wrap:wrap;gap:20px;padding:25px 6%}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* A collection of sculptural photo frames. */

.gallery{gap:38px 28px}
.photo img{border:7px solid var(--sage);background:var(--sage)}
.photo:nth-child(1) img{border-radius:48% 48% 7% 7% / 22% 22% 4% 4%;object-position:50% 42%}
.photo:nth-child(2) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 48%}
.photo:nth-child(3) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 45%}
.photo:nth-child(4) img{height:440px;border-radius:26% 9% 26% 9% / 35% 12% 35% 12%;object-position:50% 33%}
.photo:nth-child(5) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 43%}
.photo:nth-child(6) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 40%}
.photo:nth-child(7) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 48%}
.photo:nth-child(8) img{border-radius:45% 45% 45% 45% / 25% 25% 25% 25%;object-position:50% 31%}
@media(max-width:650px){
.gallery{gap:28px 18px}
.photo img{height:auto;aspect-ratio:3/4;border-width:5px}
.photo.tall img{height:auto;max-height:none;aspect-ratio:3/4}
.photo.wide img{height:auto;aspect-ratio:4/3}

}

/* The photo itself follows a soft arch, with a close sage border. */

.ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}
.ribbon span{display:block}
@media(max-width:650px){.ribbon{gap:12px;font-size:14px;line-height:1.5}}

.cover>img{display:block;width:100%;height:auto;max-height:none;object-fit:cover;object-position:50% 0;border:7px solid var(--sage);border-radius:32% 32% 5% 5% / 12% 12% 4% 4%;padding:0;background:var(--sage)}
@media(max-width:650px){.cover>img{border-width:6px}}

.bios article{grid-template-columns:1fr}.bios p{grid-column:1}

.album-arrow{margin-top:8px}
.photo figcaption>span{font-family:'Patrick Hand',cursive;font-weight:400}
@media(max-width:650px){.boys{padding-top:32px;padding-bottom:32px}.boys .section-heading h2{margin-bottom:16px}.bios article{padding:18px 0}.album-arrow{width:48px;height:48px;margin-top:4px}}

.treat-link{display:table;margin:14px auto 0;font-family:"Patrick Hand",cursive;font-size:14px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}.treat-link:hover{color:#52634a}
