@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--black:#0b0b0b;--dark:#121212;--cream:#f7f4ee;--gold:#c9a34b;--muted:#9d9a92;--line:#2d2d2d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#171717;font-family:"DM Sans",Arial,sans-serif;line-height:1.6}.site-header{height:86px;background:rgba(11,11,11,.97);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:50}.brand img{width:150px;max-height:62px;object-fit:contain}.site-header nav{display:flex;gap:28px}.site-header nav a{color:#fff;text-decoration:none;font-size:13px;letter-spacing:.04em}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{min-height:82vh;background:linear-gradient(115deg,#0b0b0b 0%,#1a1712 48%,#2c2417 100%);position:relative;display:flex;align-items:center;padding:8vw 8vw;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;width:55vw;height:55vw;border:1px solid rgba(201,163,75,.22);border-radius:50%;right:-20vw;top:-10vw}.hero-content{position:relative;z-index:2;max-width:800px}.eyebrow,.section-label{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--gold);margin-bottom:24px}.hero h1{font:600 clamp(48px,7vw,92px)/1.03 "Playfair Display",serif;margin:0 0 28px}.hero h1 span,.section h2 em{color:var(--gold);font-style:italic}.hero p{max-width:660px;color:#ddd;font-size:18px}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-block;border:1px solid var(--gold);padding:14px 24px;text-decoration:none;font-weight:700;cursor:pointer;font:600 13px "DM Sans"}.btn-gold{background:var(--gold);color:#111}.btn-outline{color:#fff;background:transparent}.section{padding:105px 8vw}.section h2{font:600 clamp(40px,5vw,70px)/1.05 "Playfair Display",serif;margin:0 0 50px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.lead{font-size:23px;line-height:1.5}.text-link{display:inline-block;color:#111;text-decoration:none;border-bottom:1px solid var(--gold);margin-top:18px;font-weight:700}.dark{background:var(--dark);color:#fff}.dark .section-label{color:var(--gold)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{background:var(--dark);padding:38px;min-height:250px}.service-grid span{color:var(--gold);font-size:12px}.service-grid h3{font:500 28px "Playfair Display";margin:20px 0 12px}.service-grid p,.steps p{color:#aaa}.process{background:#efeae0}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:25px}.steps>div{border-top:1px solid #aaa;padding-top:22px}.steps b{color:#9a7629}.steps h3{font:500 25px "Playfair Display"}.work-head{display:flex;justify-content:space-between;gap:50px;align-items:end}.work-head p{max-width:390px;color:#aaa}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.category-grid a{min-height:220px;border:1px solid #333;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:#fff;background:linear-gradient(135deg,#171717,#242019);transition:.25s}.category-grid a:hover{transform:translateY(-5px);border-color:var(--gold)}.category-grid span{font:500 30px "Playfair Display"}.category-grid small{color:var(--gold);margin-top:10px}.quote{font:italic 42px/1.25 "Playfair Display";max-width:1000px;margin:auto;text-align:center}.center{text-align:center}.contact{background:#e9e3d8}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact input,.contact select,.contact textarea{width:100%;padding:15px;border:1px solid #c6c0b5;background:#f8f5ef;font:14px "DM Sans"}.contact textarea,.contact form button,.form-msg{grid-column:1/-1}.form-msg{min-height:25px}.form-msg.ok{color:#38703a}.form-msg.err{color:#a12626}footer{background:#090909;color:#aaa;text-align:center;padding:45px 20px;font-size:13px}footer img{width:145px;margin-bottom:10px}.gallery-wrap{min-height:75vh}.gallery-title{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-title h1{font:600 clamp(42px,6vw,75px) "Playfair Display";margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.media-card{background:#171717;overflow:hidden}.media-card img,.media-card video,.media-card iframe{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border:0}.media-card .caption{padding:14px;color:#ddd;font-size:13px}.empty{border:1px dashed #aaa;padding:50px;text-align:center;color:#777}.back{color:#111;text-decoration:none;border-bottom:1px solid var(--gold)}@media(max-width:850px){.site-header nav{display:none}.nav-toggle{display:block}.site-header.menu-open nav{display:flex;position:absolute;top:86px;left:0;right:0;background:#0b0b0b;flex-direction:column;padding:25px 8vw}.two-col,.service-grid,.category-grid,.gallery-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.work-head{display:block}.contact form{grid-template-columns:1fr}.contact textarea,.contact form button,.form-msg{grid-column:auto}.section{padding:75px 7vw}.hero{min-height:78vh;padding:70px 7vw}.hero h1{font-size:54px}.quote{font-size:32px}}