@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f6f1eb;--paper2:#eee5db;--ink:#29231f;--muted:#82766c;--accent:#a77d5c;--line:#d9cec2;--dark:#302720;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}.announcement{height:34px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:#e9ded3;font-size:9px;letter-spacing:.14em}.announcement a{color:#fff}.site-header{height:88px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,241,235,.94);backdrop-filter:blur(14px);z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font:italic 27px var(--serif);letter-spacing:-.12em;border:1px solid var(--accent);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;color:var(--accent);padding-right:4px}.brand-name{font:500 18px var(--serif);letter-spacing:.01em}.brand-name small{display:block;font:8px var(--sans);letter-spacing:.23em;margin-top:4px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:34px;font-size:11px}.main-nav>a:not(.nav-cta){color:#5e554d;transition:color .2s}.main-nav>a:hover{color:var(--accent)}.nav-cta{padding:13px 18px;border:1px solid var(--ink);font-size:10px;letter-spacing:.04em}.nav-cta span,.button span{margin-left:18px}.menu-toggle{display:none}.hero{min-height:690px;padding:75px 8% 62px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:20px 0 40px}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--accent);font-weight:600}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px}.hero h1{font:500 clamp(55px,6.3vw,91px)/1.04 var(--serif);letter-spacing:-.055em;margin:31px 0 24px}.hero h1 em,h2 em{font-weight:500;color:var(--accent)}.hero-intro{font-size:13px;line-height:1.9;color:var(--muted);max-width:350px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:17px 21px;font-size:10px;letter-spacing:.04em;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--dark);color:#fff}.text-link{font-size:10px;border-bottom:1px solid var(--line);padding:0 0 7px}.text-link span{margin-left:10px;color:var(--accent)}.hero-note{display:flex;gap:13px;align-items:center;margin-top:68px;font-size:9px;line-height:1.7;letter-spacing:.06em;color:var(--muted)}.hero-visual{height:520px;position:relative;display:flex;align-items:center;justify-content:center}.hero-image-frame{width:min(83%,440px);height:490px;position:relative;z-index:1;background:#e7d9cb;overflow:hidden}.hero-image-frame>img{height:100%;object-fit:cover}.image-stamp{position:absolute;right:-22px;bottom:35px;width:130px;height:130px;background:var(--paper);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent);box-shadow:0 8px 30px #47352615}.image-stamp span{font-size:7px;letter-spacing:.18em}.image-stamp b{font:italic 22px/1.05 var(--serif);text-align:center;margin:7px 0;color:var(--ink)}.vertical-caption{position:absolute;right:0;top:46%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em;color:var(--muted)}.hero-orbit{position:absolute;border:1px solid #cdb8a5;border-radius:50%;width:500px;height:500px;transform:rotate(-24deg)}.orbit-one{left:1%;top:2%}.orbit-two{left:8%;top:7%;width:470px;height:470px;border-color:#e0d5ca}.hero-bottom{position:absolute;bottom:20px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:8px;letter-spacing:.16em;color:var(--muted)}.section-pad{padding:115px 9%}.intro{position:relative;display:grid;grid-template-columns:22% 1fr;background:var(--paper2);overflow:hidden}.section-kicker{font-size:9px;letter-spacing:.18em;color:var(--accent)}.intro-content{max-width:740px}.intro-content h2,.section-heading h2,.contact-title h2{font:500 clamp(37px,4.6vw,62px)/1.12 var(--serif);letter-spacing:-.04em;margin:20px 0 35px}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.intro-bottom p{max-width:460px;font-size:12px;line-height:2;color:var(--muted);margin:0}.circle-link{border:1px solid var(--accent);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:19px;flex-shrink:0;transition:.25s}.circle-link:hover{background:var(--accent);color:white}.intro-deco{position:absolute;right:5%;bottom:-105px;font:italic 260px var(--serif);color:#ffffff55;pointer-events:none}.services{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.section-heading h2{margin:18px 0 0}.section-heading .eyebrow{margin-top:23px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:270px;padding:25px 22px 24px;position:relative;border-right:1px solid var(--line);transition:background .25s}.service-card:first-child{border-left:1px solid var(--line)}.service-card:hover{background:var(--paper2)}.service-number{font-size:9px;color:var(--muted);letter-spacing:.12em}.service-icon{font:36px var(--serif);color:var(--accent);margin:35px 0 23px}.service-card h3{font:500 21px var(--serif);margin:0 0 12px}.service-card p{font-size:10px;line-height:1.8;color:var(--muted);max-width:190px}.service-arrow{position:absolute;right:22px;bottom:24px;color:var(--accent)}.service-footnote,.gallery-note{font-size:9px;color:var(--muted);margin-top:16px}.quote-band{background:#dfd0c1;text-align:center;padding:80px 20px;position:relative}.quote-mark{font:80px/.6 var(--serif);color:var(--accent)}.quote-band p{font:italic clamp(30px,4vw,48px)/1.2 var(--serif);margin:16px 0 25px}.quote-band span{font-size:8px;letter-spacing:.2em;color:#796b60}.gallery{background:#f2ece5}.gallery-heading{margin-bottom:40px}.gallery-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:17px;align-items:start}.gallery-grid figure{margin:0;position:relative}.gallery-grid img{width:100%;height:340px;object-fit:cover;background:#e5d8cb}.gallery-large img{height:430px}.gallery-last{margin-top:65px!important}.gallery-grid figcaption{display:flex;gap:14px;font-size:8px;letter-spacing:.16em;padding-top:14px;color:var(--muted)}.gallery-grid figcaption span{color:var(--accent)}.appointment{background:var(--dark);color:#f7f0e8;min-height:470px;display:grid;grid-template-columns:42% 1fr;position:relative;overflow:hidden}.appointment-art{height:470px;overflow:hidden;opacity:.75}.appointment-art img{height:100%;object-fit:cover}.appointment-content{padding:82px 10% 75px 7%;position:relative;z-index:1}.appointment-content .eyebrow{color:#d3ae8e}.appointment-content h2{font:500 clamp(40px,4.5vw,61px)/1.1 var(--serif);letter-spacing:-.04em;margin:25px 0}.appointment-content h2 em{color:#d3ae8e}.appointment-content>p:not(.eyebrow){font-size:11px;line-height:1.9;color:#c9bdb2;max-width:390px;margin-bottom:28px}.button-light{background:var(--paper);color:var(--dark)}.appointment-side{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#9c8979}.contact{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:30px}.contact-title h2{margin:20px 0}.contact-title>p:last-child{font-size:11px;color:var(--muted)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px;padding-top:14px}.detail-label{font-size:8px;letter-spacing:.18em;color:var(--accent)}.detail-block p{font:16px/1.65 var(--serif);margin:13px 0}.detail-block small{font-size:9px;color:var(--muted)}.under-link{font-size:9px;border-bottom:1px solid #bda994;padding-bottom:5px;color:#80634d}.contact-strip{background:var(--paper2);padding:24px 9%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em}.contact-strip a{color:var(--accent)}.contact-strip b{margin-left:16px}.footer{padding:34px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--dark);color:#e9ded3}.footer .brand-mark{color:#d3ae8e;border-color:#d3ae8e}.footer .brand-name small{color:#bcae9f}.footer p,.footer>span,.back-top{font-size:8px;letter-spacing:.12em;color:#c0b3a7}.floating-whatsapp{position:fixed;right:22px;bottom:22px;width:52px;height:52px;background:#78644f;color:white;border-radius:50%;display:grid;place-items:center;z-index:30;box-shadow:0 8px 24px #241b1533;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-4px)}.floating-whatsapp svg{width:24px;height:24px}
@media(max-width:900px){.main-nav{gap:18px}.hero{padding-left:6%;padding-right:6%}.hero-visual{height:460px}.hero-image-frame{height:430px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(3){border-left:1px solid var(--line)}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-pad{padding:85px 7%}.appointment-content{padding-right:9%}.contact-layout{gap:5%}}
@media(max-width:650px){.announcement{padding:0 5%;font-size:8px}.announcement span:nth-child(2){display:none}.site-header{height:74px;padding:0 5%}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:12px;cursor:pointer}.menu-toggle span{width:24px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:24px 6% 30px;flex-direction:column;align-items:stretch;gap:22px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.nav-cta{text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding:57px 7% 65px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:clamp(57px,15vw,78px);margin:25px 0 18px}.hero-intro{max-width:310px}.hero-note{margin-top:35px}.hero-visual{height:390px;margin-top:30px}.hero-image-frame{height:365px;width:83%;margin-left:-10px}.hero-orbit{width:370px;height:370px;left:0;top:0}.orbit-two{width:345px;height:345px}.vertical-caption{right:0}.image-stamp{width:105px;height:105px;right:-15px;bottom:25px}.image-stamp b{font-size:18px}.hero-bottom{left:7%;right:7%}.section-pad{padding:72px 7%}.intro{display:block}.intro .section-kicker{margin-bottom:38px}.intro-content h2,.section-heading h2,.contact-title h2{font-size:42px}.intro-bottom{align-items:center}.intro-deco{font-size:160px;bottom:-65px}.section-heading{display:block}.section-heading h2{margin-top:18px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:20px 14px;min-height:245px}.service-card h3{font-size:18px}.service-card p{font-size:9px}.service-icon{margin:28px 0 18px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid img,.gallery-large img{height:245px}.gallery-large{grid-column:1/-1}.gallery-large img{height:320px}.gallery-last{margin-top:0!important}.appointment{display:block}.appointment-art{height:250px}.appointment-content{padding:58px 7% 65px}.appointment-side{right:12px}.appointment-content h2{font-size:45px}.contact-layout{display:block}.contact-details{margin-top:45px;gap:30px 18px}.detail-block p{font-size:14px}.contact-strip{padding:22px 7%;font-size:8px;letter-spacing:.09em}.footer{padding:30px 7%;flex-wrap:wrap}.footer p{order:3;width:100%;margin:0}.footer>span{order:4}.back-top{order:5}.footer-brand{margin-right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
