@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--ink:#151515;--paper:#f6f4ef;--white:#fff;--muted:#706d66;--line:#ddd9d0;--accent:#c59a45;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e7e2;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:20;background:rgba(15,15,15,.97);color:#fff;border-bottom:1px solid #292929}.header-inner{max-width:var(--max);margin:auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{height:58px;width:auto;display:block}.nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:700;letter-spacing:.04em}.nav a{opacity:.86}.nav a:hover,.nav a.active{opacity:1;color:#e0b458}.nav .cta{border:1px solid #d6a94e;padding:9px 14px;color:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}.a4{width:min(100%,210mm);min-height:297mm;margin:28px auto;background:var(--paper);box-shadow:0 8px 35px rgba(0,0,0,.13);overflow:hidden}.page-inner{min-height:297mm;padding:24mm 22mm;display:flex;flex-direction:column}.page-label{font-size:10px;letter-spacing:.2em;font-weight:700;color:#8a867d;margin-bottom:14px}.hero{position:relative;min-height:297mm;background:#111;color:#fff;display:flex;align-items:flex-end}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 70%)}.hero-copy{position:relative;z-index:2;padding:22mm;max-width:760px}.hero-copy h1{font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:0 0 20px}.hero-copy h1 i,.display i{font-family:'Playfair Display',serif;font-weight:500}.hero-copy p{max-width:570px;font-size:17px;color:#e8e5df;margin:0 0 28px}.buttons{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 18px;border:1px solid var(--ink);font-size:12px;font-weight:700}.button.gold{background:var(--accent);border-color:var(--accent);color:#fff}.button.light{background:#fff;border-color:#fff;color:#111}.button.outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}.display{font-size:clamp(38px,5vw,60px);line-height:1.06;letter-spacing:-.04em;margin:0 0 18px}.lead{font-size:18px;color:#595650;max-width:700px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:36px}.split-image{width:100%;height:100%;min-height:115mm;object-fit:cover}.panel{padding:18mm;background:#151515;color:#fff}.panel p{color:#bdbab3}.services-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:28px}.service{padding:24px 24px 24px 0;border-bottom:1px solid var(--line)}.service:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}.service span{font-size:10px;letter-spacing:.15em;color:#9b968c}.service h3{font-size:21px;margin:12px 0 8px}.service p{color:#68655e;margin:0}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.gallery-card{position:relative;height:118mm;overflow:hidden;background:#ddd}.gallery-card:nth-child(1),.gallery-card:nth-child(4){height:84mm}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card span{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:700;font-size:11px;text-shadow:0 1px 8px #000}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;margin-top:25px}.details{display:grid;gap:20px;margin-top:28px}.details span{display:block;font-size:10px;letter-spacing:.17em;color:#8c887f;font-weight:700}.details a,.details div{font-weight:600}.socials{display:flex;gap:22px;margin-top:28px;font-size:12px;font-weight:700}.quote-form{border:1px solid var(--line);padding:22px;background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{display:block;font-size:10px;letter-spacing:.13em;font-weight:700;margin-bottom:16px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1px solid #c9c5bc;background:transparent;padding:10px 0;outline:0;color:#222}.quote-form textarea{resize:vertical}.quote-form .button{margin-top:5px;width:100%}.optional{font-size:9px;color:#999;font-weight:500}.note{font-size:10px;color:#888}.footer{max-width:var(--max);margin:0 auto 28px;background:#111;color:#aaa;padding:20px 28px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:11px}.footer-logo{height:38px}.lightbox{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.show{display:flex}.lightbox img{max-width:92vw;max-height:90vh}.lightbox button{position:absolute;right:20px;top:10px;color:#fff;background:none;border:0;font-size:40px}.hidden{display:none}
@media(max-width:800px){body{background:var(--paper)}.header-inner{padding:10px 18px}.logo{height:50px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#111;padding:20px;flex-direction:column;align-items:stretch;gap:15px}.nav.open{display:flex}.nav .cta{text-align:center}.a4{width:100%;min-height:0;margin:0;box-shadow:none}.page-inner{min-height:0;padding:18vw 7vw}.hero{min-height:calc(100vh - 70px)}.hero-copy{padding:12vw 7vw}.hero-copy h1{font-size:45px}.grid2,.contact-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.service:nth-child(even){padding-left:0;border-left:0}.gallery-grid{grid-template-columns:1fr}.gallery-card,.gallery-card:nth-child(1),.gallery-card:nth-child(4){height:80vw}.footer{margin:0;flex-wrap:wrap}.form-row{grid-template-columns:1fr;gap:0}}
@media print{body{background:#fff}.site-header,.footer{display:none}.a4{margin:0;box-shadow:none;page-break-after:always;width:210mm;min-height:297mm}.page-inner{min-height:297mm}.hero{min-height:297mm}@page{size:A4;margin:0}}

/* Contact page actions */
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.contact-actions .button { text-decoration:none; }
.contact-message { padding:40px; border:1px solid rgba(0,0,0,.12); align-self:start; }
.contact-message h2 { margin-top:0; }
@media (max-width:700px) {
  .contact-actions { flex-direction:column; align-items:flex-start; }
  .contact-message { padding:24px; }
}
