:root{--paper:#f4eddf;--ink:#29271f;--muted:#726553;--rust:#a65b3e;--sand:#eee2d1;--border:#ded0bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Arial,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--rust);outline-offset:5px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);position:sticky;top:0;background:#f4eddff5;backdrop-filter:blur(12px);z-index:10}.brand{font:29px/1 Georgia,serif;letter-spacing:-1px}.brand span{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:4px;color:var(--rust);margin-top:10px}nav{display:flex;gap:36px;font-size:13px}nav a:hover{color:var(--rust)}.wrap{width:88%;max-width:1240px;margin:auto}.button{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;padding:15px 26px;border:1px solid transparent;border-radius:40px;background:var(--rust);color:white;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#86462e;transform:translateY(-2px)}.dark{background:var(--ink)}.small{padding:12px 23px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding:58px 0 68px}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:600;color:var(--rust);margin:0 0 23px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(55px,6.2vw,90px);letter-spacing:-3.5px}em{font-weight:400;color:var(--rust)}.intro{color:var(--muted);margin:30px 0;line-height:1.9}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{font-size:12px;background:none;border:0;padding:0 0 4px;border-bottom:1px solid var(--rust);color:var(--rust);display:inline-block}.hero-note{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:62px}.line{width:34px;height:1px;background:var(--rust)}.hero-visual{position:relative}.hero-visual img{width:100%;height:600px;object-fit:cover;border-radius:48% 48% 4px 4px;display:block}.image-note{display:block;text-align:right;font:italic 14px Georgia,serif;color:var(--muted);margin-top:16px}.ribbon{display:flex;justify-content:center;align-items:center;gap:7%;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:23px 5%;font-size:10px;letter-spacing:3px}.ribbon i{font-size:20px;color:var(--rust);font-style:normal}.section{padding-top:95px;padding-bottom:95px}h2{font-size:clamp(38px,4vw,55px);letter-spacing:-1.7px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service{overflow:hidden;border:1px solid var(--border);border-radius:5px}.service img{width:100%;height:255px;object-fit:cover;display:block}.service>div{padding:23px}.index{font-size:8px;letter-spacing:1.6px;color:var(--rust)}h3{font-size:26px;margin:12px 0}.service p{font-size:12px;color:var(--muted);min-height:62px;margin:12px 0 20px}.featured{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.featured img{height:100%}.featured>div{display:flex;flex-direction:column;justify-content:center;align-items:start}.featured h3{font-size:37px}.event{grid-column:span 3;background:var(--sand);position:relative;display:flex;align-items:center;padding:10px 20px}.event h3{font-size:38px}.event .star{position:absolute;right:8%;top:15%;font-size:150px;color:#b98160;line-height:1}.event p{min-height:0;max-width:65%}.gallery-section{background:var(--paper)}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{border:1px solid var(--border);border-radius:24px;padding:9px 16px;color:var(--muted);background:transparent;font-size:11px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;gap:18px}.photo{padding:0;position:relative;overflow:hidden;border:0;border-radius:4px;background:var(--sand)}.photo.tall{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.04)}.photo span{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 15px;background:linear-gradient(transparent,#0009);color:white;text-align:left;font:italic 16px Georgia,serif}.photo[hidden]{display:none}.gallery-hint{font-size:11px;color:var(--muted);text-align:center;margin:22px 0 0}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:13%;align-items:center;max-width:1000px}.about-portrait{display:flex;flex-direction:column;align-items:center}.about-portrait img{width:250px;height:300px;object-fit:cover;border-radius:140px 140px 5px 5px;margin-bottom:25px}.about p:not(.eyebrow){font-size:14px;color:var(--muted)}blockquote{margin:25px 0;font:italic 22px Georgia,serif;color:var(--rust)}.booking-section{background:var(--sand)}.booking{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.booking>div>p:not(.eyebrow){color:var(--muted);max-width:330px;font-size:14px}.booking-detail{line-height:2.6;margin-top:36px}fieldset{padding:0;border:0;margin:0 0 22px}legend,label{font-size:11px;font-weight:600;display:block;margin-bottom:10px}legend{margin-bottom:12px}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices button{font-size:11px;padding:8px 13px;border:1px solid #cec1b2;border-radius:25px;background:transparent}.choices button.selected{background:var(--ink);color:white;border-color:var(--ink)}input,textarea{width:100%;padding:13px 12px;border:1px solid #d4c9bb;border-radius:4px;background:#faf5eb;color:var(--ink);margin-top:7px;font-size:13px;font-weight:400}input:focus,textarea:focus{outline:2px solid var(--rust);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}textarea{resize:vertical}.submit{width:100%;margin-top:8px}.form-note{font-size:10px;color:#685f55;line-height:1.7}#result{border-top:1px solid #cdbca9;margin-top:25px;padding-top:12px}#copy-status{font-size:12px}footer{display:flex;gap:25px;justify-content:space-between;align-items:center;padding-top:38px;padding-bottom:38px;font-size:10px;color:var(--muted)}footer .brand{color:var(--ink)}dialog{border:0;background:var(--paper);padding:30px;max-width:90vw;max-height:94vh;border-radius:8px}dialog::backdrop{background:#15120fe8}dialog img{display:block;max-width:78vw;max-height:75vh;object-fit:contain;margin:auto}dialog p{text-align:center;font:italic 18px Georgia,serif}.close{position:absolute;right:8px;top:0;border:0;background:var(--paper);font-size:28px} @media(min-width:1550px){.hero-visual img{height:660px}}@media(max-width:950px){h1{font-size:65px}.hero{gap:5%}.hero-visual img{height:530px}.hero-note{margin-top:30px}.services{grid-template-columns:1fr 1fr}.featured{grid-column:span 2}.featured img{height:360px}.event{grid-column:span 1}.event h3{font-size:30px}.event .star{position:static;display:block;font-size:75px;margin-top:20px}.event p{max-width:100%}.gallery{grid-auto-rows:180px}.booking{gap:5%}footer{flex-wrap:wrap}}@media(max-width:650px){header{height:78px;padding:0 6%}.brand{font-size:25px}.brand span{font-size:8px;margin-top:8px}nav{display:none}.small{padding:10px 19px;font-size:11px}.wrap{width:88%}.hero{display:flex;flex-direction:column;padding:37px 0 35px;gap:30px}.hero-copy{text-align:center;width:100%}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}h1{font-size:52px;letter-spacing:-2px}h1 br:first-child{display:none}h1 em br{display:none}.intro{font-size:13px;margin:22px 0}.actions{justify-content:center;gap:18px}.button{font-size:11px;padding:13px 20px;gap:24px}.hero-note{display:none}.hero-visual{width:100%}.hero-visual img{height:auto;aspect-ratio:0.925;object-fit:cover}.image-note{font-size:12px;margin-top:12px}.ribbon{gap:12px;font-size:7px;letter-spacing:1.4px;padding:17px 3%}.ribbon i{font-size:15px}.section{padding-top:58px;padding-bottom:58px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:15px;font-size:11px}h2{font-size:38px;letter-spacing:-1px}.services{gap:12px}.service img{height:220px}.service>div{padding:16px}.service h3{font-size:23px}.service p{font-size:11px;min-height:0}.index{font-size:7px}.featured{display:block}.featured img{height:auto;aspect-ratio:1.6}.featured h3{font-size:30px}.text-link{font-size:11px}.event{padding:0}.event h3{font-size:27px}.event .star{font-size:60px}.filters{margin-top:25px}.filters button{font-size:10px;padding:8px 13px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:10px}.photo.tall{grid-row:span 2}.photo span{font-size:12px;padding:30px 12px 12px}.about{display:flex;flex-direction:column;gap:25px}.about-portrait img{width:160px;height:200px}.about>div:last-child{text-align:center}.about p:not(.eyebrow){font-size:13px}.booking{display:block}.booking>div{margin-bottom:32px}.booking>div>p:not(.eyebrow){max-width:none;font-size:13px}.booking-detail{display:none}.form-row{gap:10px}input,textarea{font-size:16px}footer{justify-content:center;text-align:center;gap:15px}footer>p{width:100%;margin:0}footer>span{width:100%}dialog{padding:25px 15px}dialog img{max-width:80vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the warm cream palette consistent across browser themes. */
:root{color-scheme:only light}html{background:#f4eddf}body{background:#f4eddf}header{background:#f4eddf}.service{background:#faf5eb}.event,.booking-section{background:#eee2d1}.gallery-section{background:#f4eddf}footer{background:#f4eddf}

/* Original event photography and gallery layout. */
.gallery{grid-auto-flow:dense}.event{display:grid;grid-template-columns:1fr 1.2fr;padding:0;gap:10px}.event>img{height:100%;min-height:300px;width:100%;object-fit:cover}.event p{max-width:100%}.hero-visual img{object-position:54% center}@media(max-width:950px){.event{display:flex;flex-direction:column;gap:0;align-items:stretch}.event>img{height:220px;min-height:0}.event>div{flex:1}}@media(max-width:650px){.hero-visual img{object-position:54% center}.event>img{height:220px}.filters{gap:5px}.filters button{padding:8px 11px}}

/* Two original portraits introduce the photographer. */
.about-photos{position:relative;width:100%;max-width:360px;padding:0 40px 45px 0;margin-bottom:25px}.about-photos .ben-main{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:160px 160px 5px 5px;margin:0}.about-photos .ben-secondary{position:absolute;right:-12px;bottom:0;width:44%;height:auto;aspect-ratio:0.692;object-fit:cover;border:7px solid var(--paper);border-radius:4px;margin:0}.about-portrait>.eyebrow{text-align:center}@media(max-width:650px){.about-photos{width:270px;padding-right:38px;padding-bottom:35px}.about-photos .ben-secondary{right:-2px;border-width:5px}}

/* Requested hero composition and headline. */
h1{font-size:clamp(48px,5.3vw,76px);letter-spacing:-2.4px}h1>span,h1>em{display:block}.hero-visual img{object-position:calc(50% + 37px) center}.featured h3{font-size:32px}@media(max-width:950px){h1{font-size:54px}.hero-visual img{object-position:calc(50% + 33px) center}}@media(max-width:650px){h1{font-size:44px;letter-spacing:-1.7px}.hero-visual img{object-position:calc(50% + 24px) center}.featured h3{font-size:29px}}

/* Group the three photographer portraits in the about section. */
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;max-width:340px}.about-photos .ben-main{grid-column:1/-1;width:100%;height:350px;aspect-ratio:auto;object-position:center 42%}.about-photos .ben-secondary,.about-photos .ben-third{position:static;display:block;width:100%;height:205px;aspect-ratio:auto;object-fit:cover;border:0;border-radius:4px;margin:0}@media(max-width:650px){.about-photos{width:270px;padding:0;gap:10px}.about-photos .ben-main{height:315px}.about-photos .ben-secondary,.about-photos .ben-third{height:180px}}
.about-photos .ben-main{height:auto;aspect-ratio:4/5;object-position:center}@media(max-width:650px){.about-photos .ben-main{height:auto;aspect-ratio:4/5}}

/* Requested simplified hero copy. */
.hero-copy>.actions{margin-top:30px}.hero-note{font-size:13px}
.photo img[src^="assets/chris-kibuka-"]{object-position:center top}
