:root{--sage:#a7b49a;--lavender:#c7b6d9;--cream:#f7f4ee;--sand:#e6dcc6;--olive:#556b57;--ink:#343b35;--muted:#737a70;--line:#e5e0d6;--white:#fffefa;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit}.header{min-height:82px;padding:14px 6vw;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line);background:rgba(255,254,250,.96);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 21px var(--serif);color:var(--olive)}.brand-mark{font-size:34px;color:var(--sage)}.header nav{display:flex;gap:30px}.header nav a{text-decoration:none;font-size:13px;color:#555d54}.header nav a:hover,.email-link:hover{color:var(--sage)}.lang-switch{display:flex;gap:9px;align-items:center;font-size:12px;color:#a3a79e}.lang-switch button{border:0;background:none;padding:5px;color:#777;font:600 12px var(--sans);cursor:pointer}.lang-switch button.active{color:var(--olive);border-bottom:1px solid var(--sage)}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1fr;padding:75px 10vw;align-items:center;gap:4vw;background:radial-gradient(ellipse at 78% 30%,rgba(199,182,217,.38),transparent 34%),linear-gradient(115deg,#f7f4ee,#e9e6dc);overflow:hidden}.hero-copy{max-width:570px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:var(--sage);margin:0 0 22px}.hero h1{font:500 clamp(52px,6vw,82px)/.98 var(--serif);letter-spacing:-3px;color:var(--olive);margin:0 0 24px}.hero h1 em{display:block;font-weight:500;color:var(--olive)}.hero-line{font:500 23px/1.4 var(--serif);color:var(--olive);max-width:500px;margin:0 0 16px}.intro{max-width:490px;color:#666e64;font-size:15px;margin:0 0 30px}.button{display:inline-block;background:var(--olive);color:white;text-decoration:none;padding:13px 23px;font-size:12px;letter-spacing:.4px;border-radius:2px}.button:hover{background:var(--sage)}.hero-art{height:430px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.art-circle{position:absolute;width:min(380px,90%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.75),rgba(199,182,217,.42) 48%,rgba(167,180,154,.38));border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 60px rgba(85,107,87,.08)}.leaf{position:relative;font:180px var(--serif);color:var(--sage);opacity:.65;transform:rotate(-25deg)}.hero-art p{position:absolute;bottom:4px;right:0;color:#73796f;font:italic 15px var(--serif);background:rgba(247,244,238,.8);padding:8px 15px;border-radius:30px}.intro-band{padding:42px 10vw;text-align:center;background:var(--olive);color:white}.intro-band p{font:500 24px/1.45 var(--serif);margin:0}.section{padding:100px 10vw}.section-heading{max-width:680px;margin-bottom:55px}.section h2,.contact h2{font:500 clamp(35px,4vw,53px)/1.15 var(--serif);letter-spacing:-.8px;color:var(--olive);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.service-grid article{border-top:1px solid var(--sage);padding-top:20px}.number{font-size:11px;color:var(--sage);letter-spacing:1px}.service-grid h3{font:500 23px/1.25 var(--serif);color:var(--olive);margin:22px 0 12px}.service-grid p,.about-copy p,.contact-copy p,.method-note{font-size:14px;color:#6c736a;line-height:1.9}.quote-section{padding:75px 18vw;background:#f2efe8;text-align:center}.quote-symbol{font:80px/.8 var(--serif);color:var(--sand)}blockquote{font:500 clamp(26px,3.5vw,42px)/1.35 var(--serif);color:var(--olive);margin:12px auto 0;max-width:850px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.about-art{height:400px;background:radial-gradient(circle,rgba(199,182,217,.4),transparent 60%),linear-gradient(145deg,#f7f4ee,#e8e5db);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.about-art:before,.about-art:after{content:"";position:absolute;border:1px solid #a7b09f;border-radius:50%;width:260px;height:260px}.about-art:after{width:300px;height:300px;border-color:#c5ad91}.emblem{font:150px var(--serif);color:var(--olive);z-index:1}.about-copy h2{margin-bottom:24px}.method{background:linear-gradient(135deg,#f7f4ee,#f1edf2);text-align:center}.method h2{max-width:700px;margin:0 auto 35px}.method-note{max-width:760px;margin:24px auto 0}.where{padding-top:10px;padding-bottom:85px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#f7f4ee}.contact-copy h2{margin-bottom:20px}.email-link{display:inline-block;margin-top:20px;color:var(--olive);font-size:14px;text-decoration:none;border-bottom:1px solid var(--sand);padding-bottom:4px}.form-panel{background:white;padding:36px;border:1px solid var(--line);min-height:260px}.form-fields{display:grid;gap:18px}.field label{display:block;font-size:12px;font-weight:600;color:var(--olive);margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid #d9ddd5;background:#fffefa;padding:12px 13px;font:14px var(--sans);color:var(--ink);border-radius:2px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--sage)}.field textarea{min-height:120px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;margin-top:10px}.form-actions button{border:0;background:var(--olive);color:white;padding:13px 22px;font:600 12px var(--sans);cursor:pointer}.form-actions button:disabled{opacity:.55;cursor:wait}.form-status{font-size:13px;margin-top:14px}.success{color:var(--olive);font:500 22px/1.5 var(--serif)}.form-error{color:#9b4a40}footer{padding:32px 6vw;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--olive);color:#f4f0e7}footer .brand{color:white}footer p{font:italic 15px var(--serif);margin:0}footer span{font-size:11px;color:#d5d8cf}
@media(max-width:800px){.header{padding:14px 5vw;flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:center;gap:22px}.hero{grid-template-columns:1fr;padding:60px 8vw 42px;gap:10px}.hero-art{height:300px}.section{padding:72px 8vw}.service-grid{grid-template-columns:1fr;gap:32px}.about,.contact{grid-template-columns:1fr;gap:40px}.about-art{height:290px}.quote-section{padding:60px 8vw}footer{flex-wrap:wrap}.form-panel{padding:25px}}
@media(max-width:430px){.brand{font-size:19px}.hero h1{font-size:58px}.hero-art{height:260px}.section h2,.contact h2{font-size:35px}.intro-band p{font-size:20px}}
