:root{--ink:#171717;--gold:#b79456;--pale:#f5f3ef;--muted:#646464}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h2{font-size:clamp(2.3rem,4.5vw,4.1rem);letter-spacing:-.035em;margin-bottom:24px}h3{font-size:1.8rem}i{color:var(--gold);font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:white;position:relative;z-index:5;border-bottom:1px solid #eee}.brand{width:190px;height:83px;overflow:hidden;display:flex;align-items:center}.brand img{width:190px;height:190px;object-fit:contain;filter:contrast(2.7)}nav{display:flex;align-items:center;gap:32px;font-size:14px}.small-button{border:1px solid var(--gold);padding:11px 20px}.hero{height:720px;max-height:85vh;min-height:570px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 40%)}.hero-content{position:relative;padding:85px 8%;max-width:900px}.eyebrow{display:block;font-size:12px;letter-spacing:.22em;color:var(--gold);font-weight:600;margin-bottom:22px}h1{font-size:clamp(3.5rem,6.5vw,6.8rem);letter-spacing:-.045em;margin-bottom:28px}.hero p{color:#e2dfd9;font-size:18px;line-height:1.7}.button{display:inline-block;background:#c2a16a;color:#151515;border:1px solid #c2a16a;padding:16px 27px;font-size:14px;font-weight:600}.button:hover{background:#dfc393}.hero-bottom{position:absolute;bottom:25px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em}.hero-bottom a{border-bottom:1px solid #b79456}.intro{max-width:900px;text-align:center;margin:auto;padding:100px 24px 90px}.intro p{max-width:640px;margin:0 auto;color:var(--muted)}.section{padding:80px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.services{background:var(--pale)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{padding:32px 0;border-top:1px solid #c9b38d}.number{color:var(--gold);font-family:Georgia,serif;font-size:1.3rem}.service-grid h3{margin:25px 0 20px}.service-grid p{color:var(--muted);font-size:15px}.service-grid button{border:0;border-bottom:1px solid var(--gold);background:none;padding:8px 0;font-size:14px}.filters{display:flex;gap:14px;margin-bottom:26px;flex-wrap:wrap}.filters button{background:white;border:1px solid #ddd;padding:9px 18px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:235px 235px;gap:20px}.photo-card{position:relative;border:0;padding:0;overflow:hidden;text-align:left;background:#222;color:white}.photo-card.tall{grid-row:span 2}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-card:hover img{transform:scale(1.04)}.photo-card span{position:absolute;bottom:0;left:0;right:0;padding:60px 26px 25px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-family:Georgia,serif;font-size:1.8rem}.photo-card small{display:block;font:11px/1.6 Arial,sans-serif;letter-spacing:.14em;margin-top:8px}.photo-card[hidden]{display:none}.caption{font-size:12px;color:var(--muted);margin-top:18px}.experience{background:var(--ink);color:white;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.experience p{color:#c2c2c2}.experience ol{list-style:none;margin:0;padding:0}.experience li{display:flex;gap:30px;padding:23px 0;border-bottom:1px solid #393939}.experience li:first-child{padding-top:0}.experience li>span{color:var(--gold)}.experience h3{font-size:1.6rem;margin-bottom:12px}.experience li p{font-size:14px;margin-bottom:0}.booking{display:grid;grid-template-columns:.85fr 1fr;gap:9%;background:var(--pale)}.booking-copy>p{color:var(--muted)}.price-note{border-top:1px solid #bfa57c;margin-top:35px;padding-top:25px}.price-note>span{font-size:12px;color:#806332;letter-spacing:.15em}.price-note h3{font-size:1.6rem;margin:15px 0}.price-note p{font-size:14px;color:var(--muted)}.preview-note{font-size:12px;line-height:1.7}form{padding-top:7px}label{display:block;font-size:14px;font-weight:500;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{display:block;width:100%;padding:13px 12px;border:1px solid #d8d3cb;background:white;color:#171717;border-radius:0;margin-top:7px;font-size:16px}textarea{resize:vertical}#form-status{font-size:14px;margin-top:18px}.faq{max-width:1100px;margin:auto}.faq details{border-bottom:1px solid #ddd;padding:23px 0}.faq summary{cursor:pointer;font-size:17px}.faq details p{color:var(--muted);margin:17px 0 0;font-size:15px}footer{background:#131313;color:#e5e5e5;padding:55px 8% 25px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start}footer h3{font-size:1.7rem;margin-bottom:10px}footer p{font-size:14px;color:#aaa}footer>a{font-size:14px}.credits{flex-basis:100%;border-top:1px solid #333;margin-top:30px;padding-top:20px;font-size:12px;color:#aaa}.credits a{text-decoration:underline}dialog{border:0;padding:15px;max-width:85vw;max-height:90vh;background:#171717;color:white}dialog::backdrop{background:#000c}dialog img{display:block;max-width:75vw;max-height:70vh;object-fit:contain}dialog h3{font-size:1.4rem;margin:15px 0 5px}.close{position:absolute;right:18px;top:18px;background:white;border:0;width:38px;height:38px;font-size:25px}@media(max-width:760px){header{height:auto;min-height:88px;padding:5px 5%;flex-wrap:wrap}.brand{width:150px;height:70px}.brand img{width:150px;height:150px}nav{gap:15px;font-size:12px;flex-wrap:wrap;margin:5px 0 15px}nav a:nth-child(3){display:none}.small-button{padding:8px 10px}.hero{min-height:600px;max-height:none;height:650px}.hero-content{padding:60px 7%}h1{font-size:4rem}.hero-bottom{left:7%;right:7%;flex-direction:column;gap:15px;font-size:10px}.intro{padding:65px 7%}.section{padding:60px 7%}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid,.experience,.booking{grid-template-columns:1fr;gap:35px}.service-grid{gap:5px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:none}.photo-card,.photo-card.tall{grid-row:auto;height:300px}.experience li{gap:20px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:40px 7%}.eyebrow{font-size:11px}.button{max-width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img{transition:none}}
/* Refined logo, collision-free hero, and client photo collection. */
header{height:124px}.brand{width:270px;height:120px;justify-content:center;flex-shrink:0}.brand img{width:350px;height:350px;max-width:none;flex-shrink:0;transform:translateY(-12px);filter:brightness(.72) contrast(5)}
.hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:720px}.hero-image{object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 40%)}.hero-content{padding:65px 8% 45px}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;width:84%;margin:0 auto;padding:0 0 28px;gap:25px;flex-wrap:wrap;margin-top:auto}.hero-bottom span{line-height:2}.hero-bottom a{align-self:flex-start;white-space:nowrap}
.collage-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.collage-card{grid-column:span 4;height:380px}.collage-card.wide{grid-column:span 8}.collage-card:nth-child(2),.collage-card:nth-child(5){grid-column:span 4}.photo-window{width:100%;height:100%;overflow:hidden;position:relative}.photo-window img{display:block;filter:brightness(1.04);object-position:center}.collage-card span{font-size:1.45rem;padding:70px 22px 22px;pointer-events:none}.collage-card small{font-size:11px}.collage-card.screenshot .photo-window{height:auto;aspect-ratio:946/631;position:absolute;top:0;bottom:0;margin:auto}.collage-card.screenshot{background:#171717;height:380px}.collage-card.screenshot .photo-window img{position:absolute;width:100%;height:auto;top:-101.109%;object-fit:initial;transform:none}.collage-card.screenshot:hover img{transform:none}.collage-card[hidden]{display:none}
#lightbox{width:min(1100px,90vw);max-width:90vw;padding:18px}.lightbox-window{width:100%;display:flex;justify-content:center;overflow:hidden;position:relative}.lightbox-window img{max-width:100%;max-height:68vh;width:auto;height:auto;filter:brightness(1.04)}.lightbox-window.screenshot{width:min(100%,100vh);aspect-ratio:946/631;margin:auto;display:block}.lightbox-window.screenshot img{position:absolute;max-width:none;max-height:none;width:100%;height:auto;top:-101.109%;left:0}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;font-size:14px}.lightbox-controls button{border:1px solid #b79456;background:none;color:white;padding:8px 18px}#lightbox .close{z-index:2}#lightbox h3{margin:18px 0 5px}
@media(min-width:761px) and (max-width:1050px){nav{gap:18px}.brand{width:235px}.collage-card{height:320px}.collage-card.screenshot{height:320px}}
@media(max-width:760px){header{height:auto;display:block;padding:8px 6% 16px}.brand{width:235px;height:110px;margin:auto}.brand img{width:310px;height:310px;transform:translateY(-10px)}nav{justify-content:center;gap:17px;margin:0;font-size:13px}nav a:nth-child(3){display:inline}.hero{height:auto;min-height:660px}.hero-content{padding:55px 7% 40px}.hero-bottom{width:86%;padding-bottom:28px;gap:16px;flex-direction:column}.hero-bottom span{font-size:11px;letter-spacing:.1em}.hero-bottom a{font-size:12px}.collage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collage-card,.collage-card.screenshot{grid-column:span 1!important;height:290px}.collage-card.wide{grid-column:span 2!important;height:280px}.collage-card.screenshot .photo-window{aspect-ratio:946/631}.collage-card span{font-size:1.15rem;padding:55px 14px 14px}.collage-card small{font-size:10px}.filters{gap:8px}.filters button{padding:9px 12px}.lightbox-controls button{padding:8px 12px}}
@media(max-width:420px){nav{gap:12px}nav a:nth-child(3){display:none}.collage-grid{grid-template-columns:1fr}.collage-card,.collage-card.wide,.collage-card.screenshot{grid-column:span 1!important;height:330px}}

/* Finished retouches retain their complete composition in the gallery. */
.collage-card .photo-window{display:flex;align-items:center;justify-content:center;background:#171717}.collage-card .photo-window img{object-fit:contain;filter:none;width:100%;height:100%}.lightbox-window img{filter:none}

.collage-card.detail-crop .photo-window{display:block}.collage-card.detail-crop .photo-window img{object-fit:cover;object-position:50% 36%;transform:scale(1.08)}.lightbox-window.detail-crop{display:block;aspect-ratio:4/5;width:min(100%,50vh);margin:auto}.lightbox-window.detail-crop img{width:100%;max-height:none;height:auto;position:absolute;top:-12%;left:0;transform:scale(1.08)}

.hero-slide{opacity:0;transition:opacity 1.6s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.slideshow-toggle{position:absolute;right:8%;top:24px;z-index:3;border:1px solid #ffffff70;background:#0006;color:white;padding:8px 14px;font-size:12px}.hero-content,.hero-bottom{z-index:2}.hero-shade{z-index:1}.collage-card.reveal-pending{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.collage-card.reveal-pending.is-revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.collage-card.reveal-pending{opacity:1;transform:none;transition:none}}

/* A balanced portfolio, with consistently sized photos across themes. */
.collage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.collage-grid>.collage-card,.collage-grid>.collage-card.wide,.collage-grid>.collage-card.landscape{grid-column:auto!important;height:350px}.collage-card .photo-window{background:#eeece7}.collage-grid>.collage-card .photo-window img{object-fit:cover;object-position:center}.collage-grid>.collage-card.wide .photo-window img,.collage-grid>.collage-card.landscape .photo-window img{object-fit:contain}.service-photo{display:block;width:100%;height:240px;object-fit:cover;margin-bottom:28px}.service-grid article{padding-top:24px}.collage-card span{font-size:1.35rem}.collage-card:nth-child(13){grid-column:2!important}@media(max-width:900px){.collage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.collage-card:nth-child(13){grid-column:auto!important}.service-photo{height:200px}}@media(max-width:600px){.collage-grid{grid-template-columns:1fr}.collage-grid>.collage-card,.collage-grid>.collage-card.wide,.collage-grid>.collage-card.landscape{height:350px;grid-column:auto!important}.service-photo{height:260px}}

.collage-grid.is-filtered>.collage-card:nth-child(13){grid-column:auto!important}

/* Keep the complete logo visible and support keyboard navigation. */
.brand img{width:260px;height:260px;transform:translateY(10px)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:20;background:#171717;color:white;padding:12px 18px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #806332;outline-offset:5px}
@media(max-width:420px){.hero h1{font-size:clamp(3rem,14vw,4rem)}nav{row-gap:12px}.filters button{min-height:44px}}

.brief-download{display:block;margin-top:16px;padding:10px 0;border:0;border-bottom:1px solid #806332;background:none;color:#171717;font-size:14px}.email-help{font-size:13px;margin-top:20px;color:#646464}.email-help a,.contact-email{text-decoration:underline;overflow-wrap:anywhere}.contact-email{font-size:14px}

/* Mission statement follows the established centered introduction. */
.mission p + p{margin-top:22px}.mission .mission-tagline{margin-top:30px;color:#806332;font-family:Georgia,serif;font-size:clamp(1.2rem,2.4vw,1.5rem);font-style:italic;line-height:1.5}

/* Expanded photo collection. */
.collage-grid>.collage-card:nth-child(13){grid-column:auto!important}.gallery-more{text-align:center;margin-top:32px}.gallery-more p{font-size:14px;color:var(--muted)}.gallery-more button[hidden]{display:none}

.photo-collection{padding:0;margin:48px 0 64px}.photo-collection h3{font-size:clamp(1.9rem,3vw,2.7rem);margin-bottom:12px}.collection-description{color:var(--muted);margin-bottom:28px}.photo-collection[hidden]{display:none}#gallery-count{font-size:14px;color:var(--muted)}

.collection-controls{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:24px}.collection-controls[hidden]{display:none}.collection-controls button{background:white;color:#171717;border:1px solid #b79456;padding:10px 16px;min-height:44px;font-size:14px}.collection-position{font-size:13px;color:#646464}.photo-collection .photo-card:not([hidden]){animation:collectionFade .7s ease both;opacity:1;transform:none}.photo-collection .photo-card.reveal-pending{opacity:1;transform:none}@keyframes collectionFade{from{opacity:.15}to{opacity:1}}@media(max-width:600px){.collection-controls{gap:10px}.collection-position{order:4;flex-basis:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.photo-collection .photo-card:not([hidden]){animation:none}}
