@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
.service-grid article{display:flex;flex-direction:column}.service-grid article p{padding-bottom:25px}.service-grid article a{margin-top:auto}.service-note{font-size:.75rem;color:var(--muted);margin-top:32px}
:root{--bg:#141713;--panel:#1d211c;--cream:#f0ede4;--gold:#d7b866;--muted:#b7bbae;--line:#3a4034}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;height:auto}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,5.7vw,6rem)}h2{font-size:clamp(2.6rem,4.1vw,4.2rem)}em{font-weight:400;color:var(--gold)}h3{font-size:1.25rem;font-weight:500;line-height:1.4}.wrap{max-width:1320px;margin:auto;padding-left:60px;padding-right:60px}.eyebrow{font-size:.7rem;letter-spacing:.2em;font-weight:600;color:var(--gold);margin-bottom:25px}.skip{position:fixed;top:-100px;left:20px;background:var(--gold);color:#111;padding:12px;z-index:10}.skip:focus{top:15px}header{max-width:1440px;margin:auto;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:60px;height:60px;border-radius:50%}.brand>span{font-size:.8rem;letter-spacing:.09em;font-weight:600;line-height:1.7}.brand small{display:block;letter-spacing:.19em;font-size:.56rem;color:var(--gold)}nav{display:flex;gap:30px;font-size:.78rem;align-items:center}nav a:hover,.text-link:hover{color:var(--gold)}.nav-contact{border:1px solid #646448;padding:10px 18px}.nav-contact span{padding-left:20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;padding-top:85px;padding-bottom:80px}.intro{color:var(--muted);font-size:.97rem;margin-top:30px;max-width:440px}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 22px;border:1px solid transparent;font-size:.8rem;font-weight:600;transition:background .2s}.gold{background:var(--gold);color:#171b14}.gold:hover{background:#e9ce8a}.text-link{font-size:.8rem;border-bottom:1px solid #77775e;padding-bottom:6px;display:inline-block}.text-link span{margin-left:10px}.hero-note{font-size:.57rem;letter-spacing:.1em;color:#a8af9e;margin-top:48px;line-height:2}.hero-art{padding:18px;border:1px solid #555b45;transform:rotate(1.4deg);background:#1b211b}.hero-art img{width:100%;aspect-ratio:1.3;object-fit:contain;background:#0d1619}.hero-art figcaption{font-size:.51rem;display:flex;justify-content:space-between;gap:20px;padding:18px 2px 0;letter-spacing:.1em;color:var(--muted)}.services{padding-top:60px;padding-bottom:100px;border-top:1px solid var(--line)}.section-heading{max-width:650px}.section-heading>p:last-child{color:var(--muted);margin-top:20px;max-width:530px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.service-grid article{border-top:1px solid #697057;padding-top:25px}.number{font-size:.7rem;color:var(--gold)}.service-grid h3{margin:20px 0 15px}.service-grid p{font-size:.87rem;color:var(--muted);max-width:310px}.service-grid a{font-size:.76rem;display:flex;justify-content:space-between;margin-top:25px;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:10px}.canvas-section{background:var(--cream);color:#232a23;padding:85px 0}.canvas-section .eyebrow{color:#766025}.canvas-section em{color:#82703f}.canvas-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.canvas-heading>p{max-width:340px;font-size:.9rem;color:#5d6358}.canvas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.image-open{position:relative;background:#dedbd3;border:0;padding:0;width:100%;overflow:hidden}.image-open img{width:100%;aspect-ratio:2/3;object-fit:contain;transition:transform .35s}.image-open:hover img{transform:scale(1.025)}.image-open>span{position:absolute;bottom:12px;right:12px;font-size:.55rem;letter-spacing:.12em;background:#141713e6;padding:7px 10px;color:white}.product-info{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.product-info h3{font-size:1rem}.product-info h3 span{font-weight:700}.price{font-size:1.1rem;white-space:nowrap}.price small{font-size:.6rem}.canvas-card>p{font-size:.78rem;margin-top:10px;color:#64695f}.product-link{display:flex;justify-content:space-between;margin-top:20px;border-bottom:1px solid #b5b7a8;padding-bottom:10px;font-size:.8rem}.collection-note{font-size:.7rem;max-width:730px;color:#64695f;margin-top:35px}.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;padding-top:100px;padding-bottom:100px}.booking>div>p:not(.eyebrow){color:var(--muted);margin:25px 0;font-size:.9rem;max-width:330px}.booking-steps article{display:flex;gap:25px;padding:26px 0;border-bottom:1px solid var(--line)}.booking-steps article:first-child{padding-top:0}.booking-steps article>span{color:var(--gold);font-family:Georgia,serif;font-size:1.3rem}.booking-steps h3{font-size:1.05rem}.booking-steps p{font-size:.85rem;color:var(--muted);margin-top:10px}.contact-section{padding:85px 0;background:#21271f;border-top:1px solid #414a39}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-grid>div>p:not(.eyebrow){color:var(--muted);margin:25px 0}.contact-links{margin:35px 0}.contact-links a{display:block;font-size:1rem;padding:10px 0;overflow-wrap:anywhere}.contact-links a span{color:var(--gold);padding-left:15px}.contact-links p{font-size:.8rem;margin-top:15px;color:var(--muted)}.field{margin-bottom:20px;min-width:0}.field label{display:block;font-size:.75rem;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #646e5b;background:#181e16;color:var(--cream);padding:12px;font-size:.85rem;border-radius:0;color-scheme:dark}.field input::placeholder,.field textarea::placeholder{color:#a6ad9d}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form>.button{width:100%}.form-note{font-size:.7rem;color:var(--muted);margin-top:15px}#form-status{font-size:.75rem;color:var(--gold);margin-top:10px}footer{padding-top:40px;padding-bottom:25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px}.social-names{font-size:.65rem;color:var(--muted)}.social-names p{color:var(--gold);margin-bottom:6px}.social-names span{display:block;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:.65rem;color:var(--muted)}dialog{border:1px solid #666d56;padding:45px 20px 20px;background:var(--bg);color:var(--cream);max-width:94vw;max-height:94dvh}dialog::backdrop{background:#050705e8}dialog img{max-height:75dvh;width:auto;margin:auto}dialog p{font-size:.75rem;margin-top:12px}.dialog-close{position:absolute;right:15px;top:10px;border:0;color:var(--cream);background:transparent;font-size:.8rem}@media(min-width:1500px){.hero{padding-top:110px;padding-bottom:110px}}@media(max-width:1050px){.wrap{padding-left:35px;padding-right:35px}header{padding:18px 35px}nav{gap:18px}.hero{gap:25px}.hero h1{font-size:4.1rem}.actions{gap:15px}.booking,.contact-grid{gap:50px}.product-info{align-items:start;flex-direction:column;gap:4px}}@media(max-width:760px){html{scroll-padding-top:20px}.wrap{padding-left:24px;padding-right:24px}header{padding:15px 24px;flex-wrap:wrap;gap:17px}.brand img{width:49px;height:49px}.brand>span{font-size:.7rem}nav{width:100%;justify-content:space-between;gap:10px;font-size:.65rem}.nav-contact{padding:6px 10px}.nav-contact span{padding-left:4px}.hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:40px}.hero h1{font-size:clamp(3.4rem,12vw,5rem)}.eyebrow{font-size:.62rem;margin-bottom:20px}.intro{font-size:.9rem}.hero-note{margin-top:30px}.hero-art{max-width:550px;margin:0 auto;transform:none;padding:10px}.hero-art img{aspect-ratio:1125/625}.hero-art figcaption{font-size:.46rem;padding-top:12px}.services{padding-top:45px;padding-bottom:55px}.service-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.service-grid h3{margin:10px 0}.service-grid p{max-width:none}.service-grid a{margin-top:18px}.canvas-section{padding:50px 0}.canvas-heading{display:block;margin-bottom:30px}.canvas-heading>p{margin-top:25px;max-width:none}.canvas-grid{grid-template-columns:1fr;gap:45px;max-width:460px;margin:auto}.product-info{flex-direction:row;align-items:center}.collection-note{margin-top:30px}.booking{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.booking>div>p:not(.eyebrow){max-width:none}.contact-section{padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.footer-top{flex-direction:column}.footer-bottom{font-size:.6rem;gap:12px}.field-row{gap:10px}.contact-links a{font-size:.9rem}h2{font-size:2.85rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.social-entry{display:flex;align-items:center;gap:10px;margin-top:10px}.social-entry svg{width:20px;height:20px;flex-shrink:0;color:var(--gold)}

.contact-links .contact-detail{display:flex;align-items:center;gap:12px}.contact-detail svg,.contact-whatsapp svg{width:21px;height:21px;flex-shrink:0;color:var(--gold)}.contact-links .contact-label{padding:0;color:inherit;min-width:0;overflow-wrap:anywhere}.contact-whatsapp{display:inline-flex;align-items:center;gap:10px}.contact-whatsapp span{margin-left:3px}

.hero-image-window{aspect-ratio:1.3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0d1619}.hero-art .hero-image-window img{aspect-ratio:auto;object-fit:contain;transform:scale(1.18);width:100%;height:auto;max-width:none}
.photographer{display:grid;grid-template-columns:340px 1fr;align-items:center;gap:85px;padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}.photographer-photo{padding:12px;border:1px solid #555b45;background:var(--panel)}.photographer-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}.photographer-photo figcaption{font-size:.65rem;letter-spacing:.1em;padding:16px 3px 5px;color:var(--gold)}.photographer-photo figcaption span{display:block;font-size:.52rem;letter-spacing:.13em;margin-top:4px;color:var(--muted)}.photographer-copy h2{font-size:clamp(2.5rem,3.7vw,3.8rem)}.photographer-copy>p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-top:22px;max-width:580px}.photographer-copy .text-link{margin-top:28px}
.brand>.logo-badge{position:relative;display:block;width:60px;height:60px;flex-shrink:0}.logo-badge img{width:100%;height:100%}.logo-flash{position:absolute;left:77.3%;top:38.9%;width:13px;height:13px;pointer-events:none;transform:translate(-50%,-50%)}.logo-flash::before{content:'';position:absolute;inset:0;background:#fff7dc;clip-path:polygon(50% 0,60% 37%,100% 50%,60% 61%,50% 100%,39% 61%,0 50%,39% 38%);opacity:.85;animation:logo-sparkle 5s ease-in-out infinite;filter:drop-shadow(0 0 3px #efd885)}@keyframes logo-sparkle{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:1050px){.photographer{grid-template-columns:290px 1fr;gap:45px}}@media(max-width:760px){.photographer{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:55px}.photographer-photo{max-width:340px;width:100%;margin:auto}.photographer-copy h2{font-size:2.7rem}.hero-image-window{aspect-ratio:1.8}.hero-art .hero-image-window img{transform:scale(1.12)}.brand>.logo-badge{width:49px;height:49px}.logo-flash{width:11px;height:11px}}@media(prefers-reduced-motion:reduce){.logo-flash::before{animation:none;opacity:.9}}


.social-entry{min-height:36px;padding:4px 0}.social-entry:hover{color:var(--gold)}.social-entry:hover span{text-decoration:underline;text-underline-offset:4px}

.matric-gallery{padding:85px 0;background:#1b201a;border-top:1px solid var(--line)}.gallery-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}.gallery-heading h2{font-size:clamp(2.6rem,3.7vw,3.8rem)}.gallery-intro>p{font-size:.9rem;color:var(--muted)}.gallery-intro .text-link{margin-top:22px}.gallery-hint{font-size:.7rem;color:var(--muted);margin-top:35px;margin-bottom:20px}.gallery-grid{columns:3;column-gap:22px}.gallery-item{break-inside:avoid;margin:0 0 22px}.gallery-open{display:block;border:1px solid #46503f;background:#10150f}.gallery-open img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.gallery-open:hover img{transform:none}.gallery-open:hover{border-color:var(--gold)}.gallery-open>span{background:#141713eb}.gallery-open:focus-visible{outline-offset:3px}
@media(max-width:900px){.gallery-heading{grid-template-columns:1fr;gap:25px}.gallery-grid{columns:2}}@media(max-width:760px){.matric-gallery{padding:55px 0}.gallery-heading h2{font-size:2.8rem}.gallery-grid{column-gap:15px}.gallery-item{margin-bottom:15px}}@media(max-width:480px){.gallery-grid{columns:1}.gallery-item{margin-bottom:22px}}
