*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;font:1rem/1.65 Arial,Helvetica,sans-serif;color:#202020;background:#fff}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer}button{padding:.55rem .9rem;border:1px solid #888;background:#fff;color:#222;border-radius:2px}button:hover{background:#eee}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a96b3d;outline-offset:4px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(3rem,6.8vw,6.6rem);margin:1.3rem 0 2rem}h2{font-size:clamp(2.2rem,4vw,3.7rem);margin:.7rem 0 1.5rem}p{margin:0 0 1.2rem}.review-bar{padding:.5rem 5%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#efe2d7;font-size:.8rem;letter-spacing:.09em}.review-bar button{font-size:.9rem;letter-spacing:0;background:transparent;border-color:#6b5140}header{padding:.5rem 6%;display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#111;color:#fff}.logo{display:block;width:124px;background:#fff;flex-shrink:0}.logo img{display:block;width:100%;height:auto}nav{display:flex;gap:2rem;flex-wrap:wrap}nav a{font-size:.95rem}.hero{display:grid;grid-template-columns:1fr 1fr;background:#111;color:#fff;padding:0 6% 4rem;gap:4rem;align-items:center}.hero-copy{padding:3rem 0}.eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:600;color:#91603e}.dark .eyebrow,.hero .eyebrow{color:#d5ac89}.hero-copy>p:not(.eyebrow){color:#d2d0cd;max-width:32rem;font-size:1.1rem}.button{display:inline-flex;align-items:center;gap:2rem;padding:.9rem 1.5rem;background:#d5ac89;border:0;color:#18130f;margin-top:1rem}.button:hover{background:#e3bc9b;text-decoration:none}figure{margin:1.5rem 0 0}figure img{width:100%;height:620px;max-height:75vh;object-fit:cover;object-position:center 40%;display:block}figcaption{font-size:.72rem;letter-spacing:.16em;margin-top:.8rem;color:#c0b8b0}.section{padding:5rem 6%}.section-title{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.section-title>p{color:#67605a;font-size:.9rem}.gallery{columns:3;column-gap:1.2rem}.gallery button{display:block;padding:0;border:0;margin:0 0 1.2rem;background:#eee;width:100%;break-inside:avoid;overflow:hidden}.gallery img{display:block;width:100%;height:auto;transition:transform .3s}.gallery button:hover img{transform:scale(1.025)}.quiet{color:#666;font-size:.9rem;margin:1.5rem 0 0}.dark{background:#151515;color:#fff}.dark .section-title>p{color:#c2b9b0}.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:2rem}.video iframe{width:100%;aspect-ratio:16/9;border:0;background:#242424}.video h3{font-size:1.15rem;font-weight:400;margin:.8rem 0 .3rem}.video>a{font-size:.9rem;color:#d5ac89}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:4rem}.about p{max-width:42rem}.services{padding-top:1rem;border-top:1px solid #ddd}.contact{background:#efe2d7;text-align:center}.contact h2{max-width:700px;margin-left:auto;margin-right:auto}.contact .button{background:#191919;color:#fff}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:2rem 6%;background:#111;color:#c7b39f;font-size:.9rem}dialog{border:0;padding:2rem;max-width:720px;width:calc(100% - 2rem);max-height:90vh;color:#222;background:#fff}dialog::backdrop{background:#000d}#lightbox{max-width:1100px;background:#111;color:#fff}#full-image{display:block;max-width:100%;max-height:70vh;margin:1rem auto;object-fit:contain}.lightbox-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem}.editor-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.editor-heading h2{font-size:2rem}#editor p{font-size:.95rem;color:#59534d}#editor label{display:block;margin:1rem 0}input,textarea,select{display:block;width:100%;padding:.7rem;border:1px solid #aaa;background:#fff;color:#222;border-radius:0;margin-top:.3rem}textarea{min-height:100px}#video-fields>div{padding:1rem;border:1px solid #ddd;margin-bottom:1rem}.editor-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:1rem 0}.editor-actions .button{margin:0}#edit-status{min-height:1.5rem}.import-label{border-top:1px solid #ddd;padding-top:1rem}@media(max-width:750px){header{gap:1rem;padding:1rem 5%}.logo{width:90px}nav{gap:.65rem 1rem}nav a{font-size:.875rem}.hero{grid-template-columns:1fr;gap:0;padding:0 5% 2.5rem}.hero-copy{padding:2rem 0 1rem}h1{max-width:550px}.hero figure{margin-top:1rem}figure img{height:480px;max-height:none;object-position:center 38%}.section{padding:3rem 5%}.section-title{display:block;margin-bottom:1.5rem}.gallery{columns:2;column-gap:.7rem}.gallery button{margin-bottom:.7rem}.about{grid-template-columns:1fr;gap:1rem}.review-bar{letter-spacing:.04em}dialog{padding:1rem}.lightbox-nav{font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}
/* Portrait beside the existing About copy, stacked on narrow screens. */
.about{align-items:center}.about-portrait{margin:0;max-width:460px;width:100%}.about-portrait img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:center;border:1px solid #e5d5c7}.about-copy h2{margin-bottom:1.5rem}@media(max-width:750px){.about-portrait{max-width:420px;margin-bottom:1.5rem}}
/* Opening photo collage retains the original images as separate responsive tiles. */
.hero .hero-collection{min-width:0;width:100%}.hero .hero-collage{display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:200px 170px 200px;gap:10px}.hero .hero-collage img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;display:block}.hero .collage-bride{grid-column:1;grid-row:1 / 3;object-position:50% 44%}.hero .collage-city{grid-column:2;grid-row:1;object-position:44% 50%}.hero .collage-family{grid-column:2;grid-row:2;object-position:50% 38%}.hero .collage-lake{grid-column:1 / 3;grid-row:3;object-position:50% 72%}@media(min-width:1000px){body .hero{grid-template-columns:.85fr 1.15fr;gap:3rem}}@media(max-width:750px){.hero .hero-collage{grid-template-rows:170px 150px 180px;gap:8px}}@media(max-width:420px){.hero .hero-collage{grid-template-rows:145px 130px 155px;gap:7px}}
.about-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.about-links .button{margin-top:0;gap:.75rem}.button.outline{background:transparent;border:1px solid #191919;color:#191919}.button.outline:hover{background:#191919;color:#fff}
/* Keep the lakeside couple's faces inside the wide crop. */
.hero .hero-collage .collage-lake{object-position:50% 57%}
/* Larger, high-contrast logo on the transparent header surface. */
header .logo{width:210px;height:170px;background:transparent;overflow:hidden}header .logo img{width:210px;height:210px;max-width:none;margin-top:-18px;filter:brightness(0) saturate(100%) invert(85%) sepia(22%) saturate(608%) hue-rotate(338deg) brightness(101%) contrast(89%)}@media(max-width:750px){body header{flex-wrap:wrap;justify-content:center;padding:.75rem 5% 1.25rem}header .logo{width:180px;height:145px}header .logo img{width:180px;height:180px;margin-top:-15px}header nav{justify-content:center;width:100%}}
/* Small, consistent Visual Memories mark on portfolio imagery. */
.gallery button,.hero figure{position:relative}.gallery button::after,.hero figure::after{content:"";position:absolute;left:10px;bottom:10px;width:clamp(52px,7vw,78px);aspect-ratio:2.35/1;background:url('photos/logo-watermark.png') center/contain no-repeat;filter:drop-shadow(0 1px 2px #0008);pointer-events:none}.lightbox-image{position:relative;width:max-content;max-width:100%;margin:1rem auto}.lightbox-image #full-image{margin:0 auto}.lightbox-image .photo-watermark{position:absolute;left:12px;bottom:12px;width:clamp(62px,8vw,92px);height:auto;filter:drop-shadow(0 1px 2px #0008);pointer-events:none}
.gallery button::after,.hero figure::after{width:clamp(28px,3.6vw,42px);aspect-ratio:1.17/1;left:8px;bottom:8px;opacity:.88}.lightbox-image .photo-watermark{width:clamp(38px,5vw,56px);left:10px;bottom:10px;opacity:.88}
