@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--black:#0a0a0a;--white:#fff;--grey:#f3f3f1;--line:#dededb;--muted:#6c6c68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:var(--white);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit}.site-header{height:82px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(10,10,10,.92);backdrop-filter:blur(12px);color:#fff}.brand{text-decoration:none;line-height:1}.brand span{display:block;font-size:22px;font-weight:700;letter-spacing:5px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:7px}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-size:13px}.nav a:hover{opacity:.65}.nav-cta{border:1px solid #fff;padding:11px 17px}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{height:100vh;min-height:650px;position:relative;color:#fff;display:flex;align-items:center;padding:82px 8vw}.hero-bg,.hero-overlay{position:absolute;inset:0;background-position:center;background-size:cover}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18))}.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow{font-size:11px;letter-spacing:4px;font-weight:700;margin:0 0 18px}.eyebrow.dark{color:#666}.hero h1{font-size:clamp(48px,7vw,96px);line-height:.98;margin:0 0 25px;letter-spacing:-3px}.hero h1 em,h2 em{font-family:'Playfair Display',serif;font-weight:600}.lead{font-size:18px;max-width:620px;color:#eee}.actions{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;padding:15px 24px;border:1px solid var(--black);font-weight:700;font-size:13px}.btn-light{background:#fff;color:#000;border-color:#fff}.btn-dark{background:#000;color:#fff}.btn-outline{color:#fff;border-color:#fff}.hero-bottom{position:absolute;bottom:30px;left:8vw;font-size:10px;letter-spacing:3px}.section{padding:110px 8vw}.intro{text-align:center;background:#fff}.intro h2,.page-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.05;letter-spacing:-2px;margin:0 0 25px}.narrow{max-width:700px;margin:auto;color:var(--muted);font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);padding-top:0;padding-bottom:0}.feature-card{background:#fff;text-decoration:none;padding:55px 40px;min-height:270px}.feature-card span,.service-list article span{font-size:11px;letter-spacing:3px;color:#888}.feature-card h3{font-size:30px;margin:35px 0 10px}.feature-card p{color:var(--muted);margin-bottom:30px}.feature-card b{font-size:12px}.image-split{display:grid;grid-template-columns:1.2fr .8fr;padding-left:0;padding-right:0;min-height:620px}.split-image{background-size:cover;background-position:center}.split-copy{padding:10vw 8vw;display:flex;justify-content:center;flex-direction:column}.split-copy h2{font-size:48px;line-height:1.08;margin:0 0 20px;letter-spacing:-1px}.split-copy p:not(.eyebrow){color:var(--muted);max-width:500px}.text-link{font-weight:700;margin-top:20px}.cta{background:#0a0a0a;color:#fff;text-align:center}.cta h2{font-size:clamp(42px,5vw,68px);margin:0 0 15px}.cta p:not(.eyebrow){color:#aaa;margin-bottom:30px}.page-hero{padding:170px 8vw 100px;background:var(--grey)}.page-hero p:last-child{color:var(--muted);font-size:18px;max-width:650px}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.service-list article{padding:55px 45px;border-bottom:1px solid var(--line)}.service-list article:nth-child(odd){border-right:1px solid var(--line)}.service-list h2{font-size:35px;margin:20px 0 10px}.service-list p{color:var(--muted);max-width:550px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery-img{width:100%;height:520px;object-fit:cover;cursor:pointer}.gallery-img:nth-child(3){grid-column:span 2;height:680px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:50;display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:95%;max-height:90%;object-fit:contain}.lightbox button{position:absolute;right:25px;top:15px;color:#fff;background:none;border:0;font-size:45px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-grid img{width:100%;max-height:650px;object-fit:cover}.about-grid h2{font-size:45px;line-height:1.1}.about-grid p:not(.eyebrow){color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-grid h2{font-size:45px}.contact-lines{display:grid;gap:15px;margin-top:35px;font-size:20px;font-weight:700}.contact-box{background:var(--grey);padding:55px}.form-section{max-width:900px;margin:auto}.form-section form{display:grid;gap:20px}.form-section label{font-size:13px;font-weight:700}.form-section input,.form-section textarea,.form-section select{display:block;width:100%;margin-top:8px;border:1px solid #ccc;padding:15px;font:inherit;background:#fff}.form-note{font-size:12px;color:#777}.footer{background:#000;color:#fff;padding:45px 8vw;display:flex;justify-content:space-between;gap:30px}.footer p{color:#999;margin:8px 0 0}.footer div:last-child{display:grid;gap:7px;text-align:right}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:72px;padding:0 6vw}.menu{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0a0a0a;padding:25px 6vw;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.nav a{font-size:15px}.hero{min-height:650px;padding:90px 7vw}.hero h1{letter-spacing:-2px}.feature-grid,.image-split,.service-list,.about-grid,.contact-grid{grid-template-columns:1fr}.feature-card{border-bottom:1px solid var(--line)}.service-list article:nth-child(odd){border-right:0}.gallery-grid{grid-template-columns:1fr}.gallery-img,.gallery-img:nth-child(3){grid-column:auto;height:400px}.section{padding:80px 7vw}.page-hero{padding:135px 7vw 75px}.footer{flex-direction:column}.footer div:last-child{text-align:left}.split-image{min-height:450px}.split-copy{padding:75px 7vw}.hero-bottom{left:7vw;font-size:8px}}
