@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#090909;--surface:#151515;--text:#eee;--muted:#929292;--gold:#c4a47c;--line:rgba(255,255,255,.09);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-weight:300;line-height:1.7}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(92%,var(--max));margin:auto}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid transparent;transition:.3s}.nav.scrolled{background:rgba(9,9,9,.94);backdrop-filter:blur(12px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:40px;height:40px;object-fit:contain;background:#fff;padding:3px}.brand strong{font-size:11px;letter-spacing:.25em}.brand small{display:block;font-size:8px;letter-spacing:.22em;color:#777;margin-top:2px}.links{display:flex;align-items:center;gap:28px;text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:#ccc}.links a:hover{color:#fff}.cta{background:#fff;color:#111;padding:11px 17px}.menu{display:none;background:none;border:0;color:#fff;font-size:27px}.hero{height:100vh;min-height:680px;position:relative;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity 1.2s,transform 6s}.slide.active{opacity:1;transform:scale(1)}.slide img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.22),rgba(0,0,0,.45))}.hero-content{position:absolute;z-index:2;inset:0;display:grid;place-items:center;text-align:center;padding:90px 20px}.hero-copy{max-width:850px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.5em;color:var(--gold);font-size:10px}.hero h1{font:400 clamp(48px,7vw,86px)/1.08 'Playfair Display',Georgia,serif;margin:20px 0}.hero p{max-width:620px;margin:0 auto 28px;color:#ccc;font-size:13px}.btn{display:inline-block;border:1px solid rgba(255,255,255,.7);padding:13px 22px;margin:4px;text-transform:uppercase;letter-spacing:.2em;font-size:9px}.btn.fill{background:#fff;color:#111;border-color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#111}.scroll{position:absolute;z-index:3;bottom:30px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:#aaa}section{padding:105px 0;border-top:1px solid var(--line)}.head{text-align:center;max-width:720px;margin:0 auto 55px}.head h2{font:400 clamp(36px,5vw,58px)/1.1 'Playfair Display',Georgia,serif;margin:13px 0}.head p{color:var(--muted);font-size:12px}.dark-surface{background:var(--surface)}.services{display:grid;grid-template-columns:1fr 1fr;gap:75px 55px}.service:nth-child(even){margin-top:90px}.service-img{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);padding:16px;background:#111}.service-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55);opacity:.84;transition:.7s}.service:hover img{transform:scale(1.04);filter:none;opacity:1}.service h3{font:400 25px 'Playfair Display',Georgia,serif;margin:22px 0 8px}.service p{color:var(--muted);font-size:11px;max-width:500px}.service a{display:inline-block;margin-top:8px;color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.25em}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-img{padding:16px;border:1px solid var(--line)}.about-img img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.35)}.about-copy h2{font:400 clamp(37px,5vw,58px)/1.1 'Playfair Display',Georgia,serif}.about-copy p{color:#aaa;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.stat{border-top:1px solid var(--line);padding-top:15px}.stat b{font:400 25px 'Playfair Display',Georgia,serif;display:block}.stat span{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#777}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery figure{margin:0;overflow:hidden}.gallery figure:nth-child(1),.gallery figure:nth-child(4),.gallery figure:nth-child(7){grid-column:span 7}.gallery figure:nth-child(2),.gallery figure:nth-child(5),.gallery figure:nth-child(8){grid-column:span 5}.gallery figure:nth-child(3),.gallery figure:nth-child(6),.gallery figure:nth-child(9){grid-column:span 4}.gallery figure:nth-child(3n+1) img,.gallery figure:nth-child(3n+2) img{height:430px}.gallery figure:nth-child(3n) img{height:300px}.gallery img{width:100%;object-fit:cover;cursor:pointer;transition:.6s;filter:grayscale(.2)}.gallery img:hover{transform:scale(1.03);filter:none}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{padding:30px;border:1px solid var(--line);background:#0e0e0e}.quote p{font:italic 17px/1.7 'Playfair Display',Georgia,serif;color:#ddd}.quote strong{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.pagehero{padding:160px 0 100px;text-align:center;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.75)),url('../assets/hero-2.jpg') center/cover}.pagehero h1{font:400 clamp(45px,7vw,76px)/1.05 'Playfair Display',Georgia,serif;margin:15px 0}.pagehero p{font-size:12px;color:#aaa}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;border:1px solid var(--line);background:#101010}.card h3{font:400 28px 'Playfair Display',Georgia,serif}.card p{color:#888;font-size:11px}.price{font:400 40px 'Playfair Display',Georgia,serif;margin:20px 0}.card ul{padding:0;margin:0 0 25px;list-style:none;color:#aaa;font-size:10px}.card li{padding:8px 0;border-top:1px solid var(--line)}.formbox{max-width:850px;margin:auto}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.form label{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#888}.form input,.form select,.form textarea{display:block;width:100%;margin-top:7px;background:#111;color:#eee;border:1px solid var(--line);padding:14px;font:12px Inter}.form textarea{min-height:160px}.success{color:var(--gold);font-size:11px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-info h2{font:400 45px 'Playfair Display',Georgia,serif}.contact-info p{color:#888;font-size:12px}.contact-detail{border-top:1px solid var(--line);padding:16px 0}.contact-detail b{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#aaa}.contact-detail span{font-size:12px;color:#777}footer{padding:65px 0 25px;background:#050505;border-top:1px solid var(--line)}.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer h3{font:400 24px 'Playfair Display',Georgia,serif;color:#fff}.footer p,.footer a{color:#777;font-size:11px}.footer a{display:block;margin:8px 0}.copy{margin-top:45px;border-top:1px solid var(--line);padding-top:20px;color:#555;font-size:8px;text-transform:uppercase;letter-spacing:.18em}.modal{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:200;display:none;place-items:center;padding:25px}.modal.open{display:grid}.modal img{max-height:90vh;max-width:94vw}.modal button{position:absolute;right:22px;top:12px;background:none;border:0;color:#fff;font-size:36px}@media(max-width:900px){.links{display:none}.links.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#090909;padding:30px;flex-direction:column;align-items:center}.menu{display:block}.services,.about,.contact{grid-template-columns:1fr}.service:nth-child(even){margin-top:0}.cards,.testimonials{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.gallery figure{grid-column:span 6!important}.gallery figure img{height:340px!important}}@media(max-width:600px){.hero h1{font-size:47px}.hero{min-height:640px}.services{gap:45px}.stats{grid-template-columns:1fr}.gallery figure{grid-column:span 12!important}.gallery figure img{height:320px!important}.footer{grid-template-columns:1fr}.form{grid-template-columns:1fr}.full{grid-column:auto}}

/* V3 navigation and content enhancements */
.navdrop{position:relative;height:100%;display:flex;align-items:center}.navdrop-btn{background:none;border:0;color:#ccc;text-transform:uppercase;letter-spacing:.2em;font:inherit;font-size:9px;cursor:pointer;padding:12px 0}.navdrop-btn span{color:var(--gold);margin-left:4px}.navdrop-menu{position:absolute;top:68px;left:50%;transform:translateX(-50%);min-width:230px;background:rgba(12,12,12,.98);border:1px solid var(--line);padding:12px;display:none;box-shadow:0 18px 50px rgba(0,0,0,.4)}.navdrop:hover .navdrop-menu,.navdrop:focus-within .navdrop-menu{display:block}.navdrop-menu a{display:block!important;padding:9px 10px;color:#aaa!important;letter-spacing:.1em!important}.navdrop-menu a:hover{background:#191919;color:#fff!important}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.service-detail.reverse .detail-image{order:2}.detail-image{padding:16px;border:1px solid var(--line)}.detail-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.detail-copy h2{font:400 clamp(38px,5vw,60px)/1.1 'Playfair Display',Georgia,serif;margin:12px 0 20px}.detail-copy p{color:#aaa;font-size:13px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process .card{min-height:180px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article{border:1px solid var(--line);background:#101010;overflow:hidden}.article img{width:100%;aspect-ratio:16/10;object-fit:cover}.article-copy{padding:22px}.article h3{font:400 25px 'Playfair Display',Georgia,serif}.article p{font-size:11px;color:#888}.portfolio-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:45px}.portfolio-filter a{border:1px solid var(--line);padding:10px 15px;text-transform:uppercase;letter-spacing:.15em;font-size:8px;color:#999}.portfolio-filter a:hover{border-color:var(--gold);color:var(--gold)}.intro-wide{max-width:800px;margin:auto;text-align:center;color:#999;font-size:13px}.highlight{border:1px solid rgba(196,164,124,.35);background:linear-gradient(135deg,#17120d,#101010)}@media(max-width:900px){.navdrop{display:block;height:auto;width:100%;text-align:center}.navdrop-btn{padding:8px}.navdrop-menu{position:static;transform:none;display:none;width:100%;box-shadow:none}.navdrop.open .navdrop-menu{display:block}.service-detail{grid-template-columns:1fr}.service-detail.reverse .detail-image{order:0}.process,.article-grid{grid-template-columns:1fr}.links.open .navdrop-menu{display:none}.links.open .navdrop.open .navdrop-menu{display:block}}

/* ===== V4: Expanded real-image portfolio ===== */
.fresh-work{background:#0d0d0d}
.compact-head{margin-top:38px;margin-bottom:0}
.gallery-fresh figure:nth-child(1),
.gallery-fresh figure:nth-child(6){grid-column:span 7}
.gallery-fresh figure:nth-child(2),
.gallery-fresh figure:nth-child(5){grid-column:span 5}
.gallery-fresh figure:nth-child(3),
.gallery-fresh figure:nth-child(4),
.gallery-fresh figure:nth-child(7),
.gallery-fresh figure:nth-child(8){grid-column:span 6}
.gallery-fresh figure img{height:420px!important}
.gallery-mini{grid-template-columns:repeat(12,1fr)}
.gallery-mini figure{grid-column:span 6!important}
.gallery-mini figure img{height:480px!important}
.service-img img,.detail-image img,.gallery img{background:#111}
@media(max-width:900px){
  .gallery-fresh figure,.gallery-mini figure{grid-column:span 6!important}
  .gallery-fresh figure img,.gallery-mini figure img{height:360px!important}
}
@media(max-width:600px){
  .gallery-fresh figure,.gallery-mini figure{grid-column:span 12!important}
  .gallery-fresh figure img,.gallery-mini figure img{height:390px!important}
}

/* V5 backend-connected forms */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form button:disabled{opacity:.65;cursor:wait}

/* V6 optional marketing consent */
.consent-box{margin-top:8px;padding:18px 20px;border:1px solid rgba(210,174,103,.32);background:rgba(210,174,103,.06)}
.consent-title{font-weight:700;margin-bottom:12px;color:#e5d3a7}
.checkline{display:flex!important;align-items:flex-start;gap:10px;margin:9px 0!important;font-size:14px;line-height:1.45}
.checkline input{width:17px!important;height:17px!important;margin-top:2px;flex:0 0 auto;accent-color:#c8a45f}
.checkline span{color:inherit}
.consent-note{margin:10px 0 0;font-size:12px;line-height:1.5;opacity:.72}
