:root{--bg:#0f0f0f;--paper:#f4f1ea;--gold:#d4af37;--muted:#b6b3ad;--line:#3a3936;--serif:'Playfair Display',Georgia,serif;--sans:Poppins,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font:400 15px/1.8 var(--sans)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:99;background:var(--gold);color:#111;padding:.5rem 1rem}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:20;background:#0f0f0ff5;border-bottom:1px solid transparent}.site-header.scrolled{border-color:var(--line)}.brand,.footer-brand{font:600 24px/1 var(--serif);letter-spacing:.12em}.brand span,.footer-brand span{display:block;font:500 7px/1 var(--sans);letter-spacing:.35em;margin-top:5px;text-align:center;color:var(--gold)}nav{display:flex;gap:1.8rem;font-size:11px;text-transform:uppercase;letter-spacing:.12em}nav a{color:var(--muted)}nav a:hover,nav .active{color:var(--gold)}.nav-toggle{display:none;background:none;color:var(--paper);border:0;font-size:1.4rem}.hero{min-height:calc(100svh - 76px);position:relative;display:grid;place-items:center;text-align:center}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-position:center;background-size:cover;opacity:0;transition:opacity 1.2s ease}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0002),linear-gradient(0deg,#0008,transparent 60%)}.hero-slide.is-active{opacity:1}.hero-content{z-index:1;max-width:780px;padding:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:10px;color:var(--gold);margin:0 0 1.1rem}.hero h1,h2{font:500 clamp(2.5rem,6vw,5.6rem)/1.08 var(--serif);margin:0 0 1.4rem;letter-spacing:-.03em}h2{font-size:clamp(2.2rem,4vw,4rem)}em{color:var(--gold);font-weight:500}.hero-copy{font-weight:300;margin:0 auto 2.2rem;max-width:500px}.button{border:1px solid var(--gold);padding:.85rem 1.65rem;color:var(--bg);background:var(--gold);display:inline-block;text-transform:uppercase;font-size:10px;letter-spacing:.17em;transition:.25s}.button:hover{background:transparent;color:var(--gold)}.button-outline{background:transparent;color:var(--gold)}.button-outline:hover{background:var(--gold);color:var(--bg)}.slider-dots{z-index:2;position:absolute;bottom:2rem;display:flex;gap:.65rem}.slider-dots button{width:28px;height:2px;border:0;background:#fff6;cursor:pointer}.slider-dots .is-active{background:var(--gold)}.section{max-width:1200px;margin:auto;padding:8rem 5vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.section p:not(.eyebrow),.feature-text p{color:var(--muted);margin-top:0}.text-link{display:inline-block;color:var(--gold);margin-top:1.4rem;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.text-link span{margin-left:.7rem;font-size:1.2em}.feature-grid{display:grid;grid-template-columns:1fr 1fr;background:#191918}.feature-image img{height:650px;width:100%;object-fit:cover}.feature-text{align-self:center;padding:10vw}.feature-text h2{font-size:clamp(2rem,3.5vw,3.4rem)}.section-centred{background:var(--paper);color:#141414;text-align:center;padding:8rem 8vw}.section-centred blockquote{max-width:900px;margin:0 auto 1.5rem;font:500 clamp(2rem,4vw,4rem)/1.22 var(--serif)}cite{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.instagram{padding-top:7rem}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:2.5rem}.section-heading h2{font-size:3rem;margin:0}.insta-grid{display:grid;grid-template-columns:repeat(4,1fr)}.insta-grid img{height:260px;width:100%;object-fit:cover;filter:grayscale(30%);transition:.3s}.insta-grid img:hover{filter:none}footer{border-top:1px solid var(--line);padding:4rem 5vw 2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;color:var(--muted);font-size:12px}footer .footer-brand{color:var(--paper)}footer div:last-of-type{display:flex;gap:1rem;justify-content:end}footer small{grid-column:1/-1;padding-top:2rem;border-top:1px solid var(--line);font-size:10px}.page-hero{min-height:390px;padding:7rem 5vw 5rem;display:flex;align-items:end;background:linear-gradient(#0007,#000b),var(--hero) center/cover}.page-hero h1{font:500 clamp(3rem,6vw,5.8rem)/1.1 var(--serif);margin:0}.page-hero .eyebrow{margin-bottom:.5rem}.portfolio-controls{display:flex;gap:.5rem;flex-wrap:wrap;padding:3rem 5vw 1rem;justify-content:center}.filter{background:none;border:1px solid var(--line);color:var(--muted);padding:.5rem 1rem;text-transform:uppercase;letter-spacing:.1em;font:10px var(--sans);cursor:pointer}.filter.active,.filter:hover{color:var(--gold);border-color:var(--gold)}.portfolio-grid{columns:3 320px;gap:1rem;padding:2rem 5vw 7rem}.portfolio-card{break-inside:avoid;margin-bottom:1rem;position:relative;cursor:pointer;overflow:hidden}.portfolio-card img{width:100%;transition:.5s}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card span{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#000d);padding:3rem 1.2rem 1rem;font:1.4rem var(--serif);opacity:0;transition:.3s}.portfolio-card:hover span{opacity:1}.lightbox{display:none;position:fixed;inset:0;z-index:50;background:#000e;place-items:center;padding:2rem}.lightbox.open{display:grid}.lightbox img{max-height:90vh;max-width:90vw}.lightbox button{position:absolute;top:1.5rem;right:2rem;background:none;color:white;border:0;font-size:2rem;cursor:pointer}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:auto;padding:6rem 5vw}.price-card{border:1px solid var(--line);padding:2.5rem}.price-card.featured{border-color:var(--gold);background:#191918}.price-card h2{font-size:2.2rem}.price{font:2.5rem var(--serif);color:var(--gold);margin:1rem 0}.price-card ul{padding:0;list-style:none;color:var(--muted);font-size:13px}.price-card li{padding:.45rem 0;border-bottom:1px solid var(--line)}.faq{max-width:850px;margin:auto;padding:0 5vw 7rem}.faq h2{text-align:center}.faq details{border-bottom:1px solid var(--line);padding:1.2rem 0}.faq summary{cursor:pointer;font:1.1rem var(--serif)}.faq p{color:var(--muted);padding-right:2rem}.form-wrap{max-width:800px;margin:auto;padding:6rem 5vw}.form-wrap h2{text-align:center}.form-wrap>p{text-align:center;color:var(--muted)}form{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}label{font-size:11px;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{display:block;width:100%;margin-top:.45rem;padding:.8rem;background:#181818;border:1px solid var(--line);color:var(--paper);font:14px var(--sans)}textarea{min-height:140px;resize:vertical}.full{grid-column:1/-1}.form-message{min-height:1.5rem;color:var(--gold);font-size:13px}.gallery-login{max-width:560px;margin:auto;padding:8rem 5vw;text-align:center}.gallery-login form{display:block}.gallery-login input{margin-bottom:1rem}.contract{max-width:900px;margin:auto;padding:6rem 5vw;color:#d4d1ca}.contract h2{font-size:2rem;margin-top:3rem}.contract h3{font:1.35rem var(--serif);color:var(--gold)}.signature-box{border:1px dashed var(--gold);padding:1rem;margin-top:1rem}.signature-box canvas{width:100%;height:150px;background:#faf8f2;touch-action:none}.signature-actions{display:flex;gap:1rem;margin-top:1rem}.contact-grid{max-width:1200px;margin:auto;padding:6rem 5vw;display:grid;grid-template-columns:1fr 1fr;gap:6vw}.contact-info h2{font-size:3.5rem}.contact-info p{color:var(--muted)}.map{width:100%;height:380px;border:0;filter:grayscale(1) contrast(.85)}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.nav-toggle{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#111;flex-direction:column;padding:1.5rem 5vw;gap:1rem}nav.open{display:flex}.section,.feature-grid,.contact-grid{grid-template-columns:1fr}.section{gap:2rem;padding:5rem 7vw}.feature-image img{height:430px}.feature-text{padding:5rem 7vw}.insta-grid{grid-template-columns:repeat(2,1fr)}.insta-grid img{height:190px}.pricing-grid{grid-template-columns:1fr;padding:4rem 7vw}footer{grid-template-columns:1fr}footer div:last-of-type{justify-content:start}.page-hero{min-height:300px}.portfolio-grid{padding:1rem 4vw 4rem}.contact-grid{padding:4rem 7vw}form{grid-template-columns:1fr}.full{grid-column:auto}}
