@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
:root{--ink:#111;--paper:#f5f3ef;--white:#fff;--muted:#77736d;--line:#d9d6d0;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:100}.skip-link:focus{left:10px}.site-header{height:86px;background:rgba(245,243,239,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(17,17,17,.08);backdrop-filter:blur(14px)}.nav-wrap{max-width:1240px;height:100%;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:var(--serif);font-size:38px;line-height:1;font-weight:600;letter-spacing:-5px}.brand-mark span{font-style:italic}.brand-name{font-size:12px;font-weight:700;letter-spacing:2.6px;line-height:1.25}.brand-name small{display:block;font-size:8px;letter-spacing:2px;font-weight:500;margin-top:5px}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.main-nav>a:not(.nav-cta){transition:opacity .2s}.main-nav>a:not(.nav-cta):hover{opacity:.55}.nav-cta{background:var(--ink);color:#fff;padding:13px 19px;letter-spacing:.2px}.nav-cta span,.button span{margin-left:13px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:25px;height:1px;background:#111;margin:6px}
.hero{min-height:670px;background:#111;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:90px max(8vw,42px)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 48%,rgba(255,255,255,.14),transparent 34%),linear-gradient(115deg,#101010 0%,#191919 54%,#292724 100%)}.hero:after{content:"E";position:absolute;right:7%;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:min(62vw,760px);font-weight:400;line-height:.8;color:rgba(255,255,255,.035);pointer-events:none}.hero-grain{position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.hero-content{position:relative;z-index:2;max-width:700px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.8px;color:#77736d;margin:0 0 25px}.eyebrow.light{color:#b9b6b0}.eyebrow span{display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.hero h1{font-family:var(--serif);font-size:clamp(66px,9vw,124px);line-height:.98;letter-spacing:-4px;font-weight:400;margin:0 0 28px}.hero h1 em,h2 em,.final-cta h2 em{font-weight:400}.hero-copy{max-width:410px;color:#c2c0bc;font-size:14px;line-height:1.9;margin:0 0 36px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;font-size:11px;font-weight:700;letter-spacing:.3px;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:#111}.button-light:hover{background:#e9e6e0}.button-dark{background:#111;color:#fff}.button-dark:hover{background:#343434}.text-link{font-size:11px;font-weight:700;border-bottom:1px solid #aaa;padding-bottom:5px;display:inline-flex;gap:15px;align-items:center}.light-link{color:#fff;border-color:#777}.hero-side-note{position:absolute;right:42px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:8px;letter-spacing:3px;color:#a7a39d;z-index:2}.hero-bottom{position:absolute;bottom:28px;left:max(8vw,42px);right:max(8vw,42px);display:flex;align-items:center;gap:16px;color:#96928c;font-size:8px;letter-spacing:2px;z-index:2}.hero-line{height:1px;background:#514e49;flex:1}
.section-pad{padding:105px max(8vw,42px)}.section-kicker{font-size:9px;letter-spacing:2px;color:#85817b;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:65px}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end}.section-pad h2,.final-cta h2{font-family:var(--serif);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin:0}.intro-text{max-width:440px;padding-bottom:5px}.lead{font-family:var(--serif);font-size:23px;line-height:1.5;margin:0 0 18px}.intro-text>p:not(.lead){font-size:13px;color:#6d6963;line-height:1.9;margin-bottom:27px}.intro-rule{height:1px;background:var(--line);margin:85px 0 35px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr)}.stat-row>div{display:flex;flex-direction:column;gap:4px}.stat-row strong{font-family:var(--serif);font-size:42px;font-weight:400;line-height:1.2}.stat-row strong span{font-size:20px}.stat-row small{font-size:8px;letter-spacing:2px;color:#77736d}
.services{background:#eae8e2}.section-heading,.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-desc{max-width:310px;color:#77736d;font-size:12px;line-height:1.9;margin:0 0 8px}.service-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:55px 0 25px}.filter-button{border:1px solid #c9c5bd;background:transparent;padding:10px 17px;font-size:10px;color:#55514c;cursor:pointer;transition:.2s}.filter-button:hover,.filter-button.active{background:#111;color:#fff;border-color:#111}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cbc7bf}.service-card{min-height:128px;border-bottom:1px solid #cbc7bf;display:grid;grid-template-columns:50px 1fr 20px;align-items:center;padding:20px 15px 20px 0;transition:padding .25s,background .25s}.service-card:nth-child(odd){margin-right:35px}.service-card:nth-child(even){padding-left:35px;border-left:1px solid #cbc7bf}.service-card:hover{padding-top:15px;padding-bottom:25px}.service-card[hidden]{display:none}.service-number{font-size:9px;color:#8d8982;align-self:start;padding-top:10px}.service-card h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 4px}.service-card p{font-size:11px;color:#77736d;margin:0}.service-arrow{font-size:16px;color:#8d8982}.service-note{font-size:10px;color:#77736d;margin:25px 0 0}.services-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #cbc7bf;margin-top:48px;padding-top:28px;font-family:var(--serif);font-size:20px}
.gallery{background:#f5f3ef}.gallery-panel{margin-top:55px;min-height:390px;background:#171717;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:65px 9%}.gallery-panel:before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:5%;top:50%;transform:translateY(-50%);box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02)}.gallery-symbol{position:absolute;right:16%;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:240px;color:rgba(255,255,255,.08)}.gallery-symbol span{font-style:italic}.gallery-panel-copy{position:relative;z-index:1;max-width:450px}.gallery-panel h3{font-family:var(--serif);font-size:42px;line-height:1.15;font-weight:400;margin:0 0 16px}.gallery-panel-copy p{font-size:12px;color:#b9b6b0;line-height:1.9;max-width:370px;margin:0 0 26px}.gallery-index{position:absolute;right:30px;bottom:25px;font-size:8px;letter-spacing:2px;color:#8e8a83}
.reviews{background:#eae8e2}.reviews-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.review-intro{font-size:13px;color:#77736d;max-width:380px;line-height:1.9;margin:25px 0}.rating-block{display:flex;align-items:center;gap:22px;margin:32px 0}.rating-block>strong{font-family:var(--serif);font-size:72px;font-weight:400;line-height:1}.stars,.review-stars{letter-spacing:4px;color:#9c7d43}.rating-block span{font-size:10px;color:#77736d}.review-disclaimer{font-size:10px;color:#77736d;max-width:420px;line-height:1.8}.review-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:27px}.review-visual{min-height:350px;background:#d8d5ce;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:30px}.quote-mark{font-family:var(--serif);font-size:110px;line-height:.7;color:#9e9a91}.review-word{font-family:var(--serif);font-size:34px;line-height:1.25}.review-stars{font-size:14px;margin-top:28px}.review-source{font-size:8px;letter-spacing:3px;color:#77736d;margin-top:9px}
.location{background:#f5f3ef}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.address{font-size:14px;line-height:2;color:#55514c;margin:30px 0}.phone-line{font-size:10px;color:#77736d;margin-top:24px}.phone-line a{color:#111;font-weight:700;margin-left:8px;border-bottom:1px solid #aaa}.map-frame{height:410px;background:#e4e1da;overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(1)}
.final-cta{background:#111;color:#fff;text-align:center;padding:100px 25px 110px;position:relative;overflow:hidden}.final-cta:before{content:"E";font-family:var(--serif);position:absolute;font-size:480px;line-height:1;left:50%;top:50%;transform:translate(-50%,-45%);color:rgba(255,255,255,.025)}.final-cta>*{position:relative}.final-cta .eyebrow{margin-bottom:25px}.final-cta h2{font-size:clamp(56px,7vw,88px)}.final-cta>p:not(.eyebrow){font-size:12px;color:#aaa6a0;margin:22px 0 30px}
.site-footer{background:#eae8e2;padding:50px max(8vw,42px) 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:50px}.brand-footer .brand-mark{font-size:34px}.footer-top>p{font-family:var(--serif);font-size:17px;line-height:1.5;color:#66615b}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;font-weight:600}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #cbc7bf;padding-top:18px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#77736d}
.whatsapp-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;background:#111;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;z-index:25;box-shadow:0 8px 30px rgba(0,0,0,.2);transition:transform .2s}.whatsapp-float:hover{transform:translateY(-4px) scale(1.04)}.whatsapp-float svg{width:24px;height:24px;fill:#fff}
@media(max-width:850px){.nav-wrap{padding:0 25px}.main-nav{gap:18px}.main-nav>a:not(.nav-cta){font-size:10px}.section-pad{padding:82px 7vw}.hero{min-height:620px;padding-left:7vw;padding-right:7vw}.hero h1{font-size:clamp(64px,11vw,100px)}.intro-grid,.reviews-grid{gap:7%}.location-grid{gap:5%}.section-pad h2{font-size:58px}}
@media(max-width:650px){html{scroll-padding-top:72px}.site-header{height:72px}.nav-wrap{padding:0 20px}.brand-mark{font-size:32px}.brand-name{font-size:10px}.brand-name small{font-size:7px}.menu-toggle{display:block;z-index:42}.main-nav{display:none;position:absolute;left:0;right:0;top:71px;background:#f5f3ef;padding:22px 24px 28px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 18px 25px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){font-size:13px;padding:13px 0;border-bottom:1px solid var(--line)}.nav-cta{text-align:center;margin-top:18px}.hero{min-height:650px;padding:90px 25px 100px;align-items:center}.hero:after{font-size:110vw;right:-22%;top:53%}.hero h1{font-size:clamp(62px,16vw,88px);letter-spacing:-2.5px}.hero-copy{font-size:13px;max-width:330px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-side-note{right:16px;font-size:7px}.hero-bottom{left:25px;right:25px;bottom:22px;font-size:7px}.section-pad{padding:72px 24px}.section-kicker{margin-bottom:45px}.intro-grid,.section-heading,.gallery-head,.reviews-grid,.location-grid{grid-template-columns:1fr;display:grid;gap:28px}.section-pad h2{font-size:clamp(47px,13vw,64px)}.intro-text{max-width:none}.lead{font-size:21px}.intro-rule{margin:55px 0 28px}.stat-row strong{font-size:34px}.stat-row small{font-size:7px;letter-spacing:1px}.section-desc{max-width:100%}.service-tabs{margin:35px 0 20px;gap:7px}.filter-button{padding:9px 12px;font-size:9px}.service-grid{grid-template-columns:1fr}.service-card{min-height:105px;margin:0!important;padding:15px 5px 15px 0!important;border-left:0!important}.service-card h3{font-size:23px}.service-card p{font-size:10px}.services-cta{align-items:flex-start;flex-direction:column;font-size:19px}.gallery-panel{min-height:430px;padding:45px 25px}.gallery-panel:before{width:320px;height:320px;right:-25%;top:25%}.gallery-symbol{font-size:190px;right:4%;top:28%}.gallery-panel h3{font-size:36px}.gallery-panel-copy p{font-size:11px}.review-visual{min-height:280px}.rating-block>strong{font-size:62px}.review-actions{align-items:flex-start;flex-direction:column;gap:18px}.map-frame{height:320px}.location-copy{order:0}.map-frame{order:1}.final-cta{padding:80px 20px 90px}.final-cta h2{font-size:62px}.site-footer{padding:38px 24px 20px}.footer-top{align-items:flex-start;flex-direction:column;padding-bottom:35px}.footer-top>p{margin:0}.footer-links{gap:16px}.footer-bottom{font-size:7px;letter-spacing:1px;gap:12px}.whatsapp-float{width:54px;height:54px;right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
