:root{--ink:#292321;--muted:#6e6560;--accent:#8d696b;--light:#f8f5f2;--line:#e9e0db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:92px;padding:0 clamp(24px,7.5vw,120px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.logo{font-size:clamp(20px,2.2vw,31px);letter-spacing:.2em;font-weight:400;white-space:nowrap}.logo-line{display:block;height:1.5px;width:55%;margin:5px auto 0;background:var(--accent);transform:rotate(-2deg)}nav{display:flex;gap:clamp(24px,3.4vw,58px);font-size:14px}nav a:hover,nav a:focus-visible{color:var(--accent)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:50% 50%;min-height:520px;background:linear-gradient(120deg,#f4e9e4,#e9d9d2)}.hero-copy{padding:clamp(70px,9vw,135px) 24px 70px clamp(24px,8vw,125px);position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--accent);margin:0 0 24px}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}.hero h1{font-size:clamp(48px,6vw,89px);line-height:1.07;margin:0 0 24px}.tagline{font-size:clamp(16px,2vw,23px);font-style:italic;margin:0 0 45px}.button{display:inline-flex;gap:36px;align-items:center;justify-content:space-between;border:1px solid var(--accent);padding:17px 24px;font-size:13px;font-weight:600;transition:background .2s,color .2s}.button:hover{background:var(--accent);color:#fff}.hero-photo{background:url('assets/hero.webp') center center/cover no-repeat;min-height:420px}.section-wrap{max-width:1360px;margin:0 auto;padding-left:clamp(24px,5vw,70px);padding-right:clamp(24px,5vw,70px)}.services{padding-top:100px;padding-bottom:115px}.section-intro{text-align:center;max-width:600px;margin:0 auto 52px}.section-intro h2,.about h2,.contact h2{font-size:clamp(36px,4vw,56px);line-height:1.16;margin:0 0 20px}.section-intro>p:last-child,.about-inner p:not(.eyebrow),.contact>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{background:#faf8f6}.service-card img{display:block;width:100%;aspect-ratio:1.65;object-fit:cover}.service-body{padding:28px 30px 34px}.number{font-size:11px;color:var(--accent);letter-spacing:.15em}.service-body h3{font-size:24px;font-weight:500;margin:12px 0}.service-body p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.about{background:var(--light);padding:100px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-inner p:not(.eyebrow){margin:0 0 18px}.contact{text-align:center;padding-top:110px;padding-bottom:120px}.contact>p:not(.eyebrow){max-width:520px;margin:0 auto 30px}.button-dark{background:var(--ink);border-color:var(--ink);color:#fff}.button-dark:hover{background:var(--accent);border-color:var(--accent)}footer{border-top:1px solid var(--line);padding:28px clamp(24px,7.5vw,120px);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}@media(max-width:800px){.header{height:76px}.logo{font-size:20px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;gap:0;padding:12px 24px 22px;box-shadow:0 10px 20px #00000012}nav.open{display:flex}nav a{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:72px 28px 58px}.hero-photo{min-height:330px;order:-1}.services{padding-top:75px;padding-bottom:75px}.service-grid{grid-template-columns:1fr;max-width:520px;margin:auto}.about{padding:75px 0}.about-inner{grid-template-columns:1fr;gap:12px}.contact{padding-top:80px;padding-bottom:85px}footer{flex-direction:column;text-align:center}}
