/* Concept 02: photo-led chapters, a warmer palette and complete photographic compositions. */
:root{--paper:#fcf8f2;--ink:#3d302a;--muted:#756258;--sage:#5b6854;--line:#dfd3c7;--wash:#f2e9dc;--rose:#ecd7d0;--peach:#f5e8d8;--sage-wash:#e4e9dd;--brown:#4c3930}
.site-header{height:94px}.site-header nav{font-size:11px}.brand>span{font-size:31px}.brand small{font-size:7px}.section{padding-block:80px}
.opening-gallery{background:var(--paper)}.ribbon-track{display:flex;gap:7px;align-items:flex-start;padding-inline:7px}.photograph{margin:0;min-width:0}.ribbon-track>.photograph{flex:var(--photo-ratio) 1 0%}.gallery-open{position:relative;display:block;width:100%;padding:0;background:transparent;border:0;cursor:zoom-in;overflow:visible}.gallery-open img{width:100%;height:auto;object-fit:contain}.photo-expand{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;background:#fcf8f2e8;color:var(--ink);border-radius:50%;opacity:0;transition:opacity .2s;font-size:16px;line-height:1}.gallery-open:hover .photo-expand,.gallery-open:focus-visible .photo-expand{opacity:1}.gallery-open:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.ribbon-note{display:flex;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;padding:15px 26px;font-size:8px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.swipe-hint{display:none}
.welcome-section{text-align:center;padding-block:62px 70px}.welcome-section .eyebrow{margin-bottom:20px}.welcome-section h1{font-size:clamp(44px,4.3vw,65px);line-height:1.06;max-width:1050px;margin:0 auto 23px}.welcome-section p{font-size:13px;line-height:1.9;margin-bottom:25px}.welcome-section .text-link{font-size:11px}
.tone-peach{background:var(--peach)}.tone-rose{background:var(--rose)}.tone-sage{background:var(--sage-wash)}.gallery-chapter{padding:70px 0 75px}.chapter-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.chapter-heading .eyebrow{margin-bottom:18px}.chapter-heading h2{font-size:clamp(43px,4.1vw,61px);margin-bottom:0}.chapter-heading>div:last-child{max-width:345px;margin-left:auto}.chapter-heading p{font-size:12px;line-height:1.85;margin-bottom:20px}.chapter-heading .text-link{border-color:#b9ab9e}.chapter-photographs{display:flex;gap:20px;align-items:flex-start}.chapter-photographs>.photograph{flex:var(--photo-ratio) 1 0%}.chapter-photographs .photograph:nth-child(2){margin-top:30px}
.about-section{border:0;gap:95px;grid-template-columns:.85fr 1fr;max-width:1080px}.about-copy{max-width:430px}.about-copy h2{font-size:64px}.about-copy .lead{font-size:29px}.about-image img{height:auto}.experience{background:#f7f0e5}.experience .section-heading h2{font-size:53px}.steps{gap:45px}.steps h3{font-size:28px}
.keepsake-section{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px;align-items:center}.keepsake-heading .eyebrow{margin-bottom:22px}.keepsake-heading h2{font-size:60px}.keepsake-heading p{font-size:12px}.keepsake-gallery{display:grid;grid-template-columns:1fr;gap:22px}.keepsake-gallery .photograph:last-child{width:68%;margin-left:auto}
.location-band{background:#d7bd9e;padding:65px 0;color:#3e3026}.location-band>.wrap{display:grid;grid-template-columns:1.1fr 1fr;column-gap:90px}.location-band .eyebrow{grid-column:1/-1;margin-bottom:20px}.location-band h2{font-size:51px}.location-band p{font-size:12px;color:#58473a;max-width:420px}.location-band .text-link{border-color:#9e8061}.journal-section{background:var(--paper);border:0}.journal-section .section-heading h2{font-size:55px}.journal-grid>a{border-color:#cdbfaf}.reviews-link{border-top:1px solid var(--line);padding-block:25px}
.photo-contact{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center}.contact-photograph img{width:100%;height:auto}.contact-copy{text-align:center;padding:50px 35px}.contact-copy .eyebrow{margin-bottom:25px}.contact-copy h2{font-size:clamp(54px,5.6vw,83px)}.contact-copy p{font-size:12px;line-height:1.85}.contact-copy .quiet-link{margin-top:18px}.button{background:var(--sage);border-color:var(--sage)}.button:hover{background:#45543e}.footer{background:var(--brown)}.footer-top,.footer-bottom{border-color:#7c6759}.footer-columns .eyebrow{color:#d1b9a5}.footer-columns p,.footer-columns a{color:#f0e7dc}.footer-bottom{color:#d7c6b6}.footer-cta{border-color:#bca18a}
.service-hero{gap:65px}.service-hero-image{background:var(--peach)}.service-intro{border:0}.service-details{background:var(--peach);padding:45px;width:100%;max-width:1320px;margin-bottom:70px}.service-detail-grid{border-color:#ccbaa6}.portfolio .portfolio-grid{display:block;columns:3;column-gap:24px}.portfolio-grid .photograph{break-inside:avoid;margin:0 0 24px!important;padding:0!important;width:100%!important}.portfolio-grid .photograph img{height:auto!important}.portfolio .section-heading h2{font-size:55px}.faq{background:var(--paper)}.contact-section{background:var(--rose)}
.photo-dialog{border:0;padding:0;background:#2c2520;color:#fff8ee;width:min(1160px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 12px 80px #0008}.photo-dialog::backdrop{background:#241e19ed;backdrop-filter:blur(4px)}.lightbox-content{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:45px 12px 15px}.lightbox-image{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 165px);height:auto;margin:auto;object-fit:contain}.lightbox-close{position:absolute;right:14px;top:10px;background:none;border:0;color:inherit;font-size:26px;cursor:pointer;width:36px;height:36px}.lightbox-nav{border:0;background:none;color:inherit;font-size:28px;cursor:pointer;min-width:44px;min-height:44px}.lightbox-caption{text-align:center;font-size:11px;color:#e7d9ca;margin:0;padding:5px 22px 18px}.lightbox-counter{font-size:9px;letter-spacing:2px;text-align:center;color:#c3ae9a;padding-bottom:14px}
@media(max-width:1150px){.chapter-heading{gap:40px}.chapter-heading h2{font-size:48px}.keepsake-section{gap:40px}.about-section{gap:55px}.location-band>.wrap{gap:30px}.service-details{width:calc(100% - 64px)}}
@media(max-width:800px){.site-header{height:83px}.site-header nav{top:83px}.brand>span{font-size:27px}.section{padding-block:55px}.ribbon-track{overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:12px;gap:10px;scrollbar-width:none}.ribbon-track::-webkit-scrollbar{display:none}.ribbon-track>.photograph{flex:0 0 76%;scroll-snap-align:center}.ribbon-note{padding:14px 16px;font-size:7px;letter-spacing:1px;gap:14px}.ribbon-note>span:nth-child(2){display:none}.swipe-hint{display:inline}.welcome-section{padding-block:38px 45px}.welcome-section h1{font-size:41px;letter-spacing:-1px}.welcome-section h1 br{display:none}.welcome-section p{font-size:12px}.welcome-section p br{display:none}.gallery-chapter{padding:42px 0 45px}.chapter-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.chapter-heading h2{font-size:42px}.chapter-heading>div:last-child{margin-left:0;max-width:none}.chapter-heading p{font-size:12px}.chapter-photographs{display:block;columns:2;column-gap:12px}.chapter-photographs>.photograph{break-inside:avoid;margin:0 0 12px!important}.chapter-photographs>.photograph:last-child:nth-child(3){column-span:all;max-width:70%;margin:15px auto 0!important}.photo-expand{opacity:1;right:8px;bottom:8px;width:25px;height:25px;font-size:14px}.about-section{display:grid;grid-template-columns:1fr;gap:30px;max-width:none}.about-image{width:80%}.about-copy h2{font-size:52px}.about-copy .lead{font-size:27px}.experience .section-heading h2{font-size:45px}.steps{gap:25px}.keepsake-section{grid-template-columns:1fr;gap:25px}.keepsake-heading h2{font-size:48px}.keepsake-gallery{gap:15px}.location-band{padding:42px 0}.location-band>.wrap{grid-template-columns:1fr;gap:0}.location-band h2{font-size:43px}.location-band p{font-size:12px}.journal-section .section-heading h2{font-size:47px}.photo-contact{grid-template-columns:1fr}.contact-photograph{width:68%;margin:30px auto 0}.contact-copy{padding:35px 20px 45px}.contact-copy h2{font-size:60px}.contact-copy p br{display:none}.service-hero{gap:25px}.service-details{width:calc(100% - 40px);padding:25px;margin-bottom:45px}.portfolio .portfolio-grid{columns:2;column-gap:12px}.portfolio-grid .photograph{margin-bottom:12px!important}.portfolio .section-heading h2{font-size:47px}.photo-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.lightbox-content{grid-template-columns:32px 1fr 32px;padding:45px 4px 12px}.lightbox-nav{min-width:30px;font-size:22px}.lightbox-image{max-height:calc(100dvh - 190px)}}
