:root{--ink:#15120f;--ink-raised:#1e1a16;--parchment:#efe8dc;--parchment-line:#d8cdb8;--oxblood:#7a2331;--oxblood-bright:#a8384a;--bone:#f7f4ec;--smoke:#b9b2a6;--charcoal:#221d18;--sans:"Inter", Arial, sans-serif;--display:"Fraunces", Georgia, serif;--mono:"JetBrains Mono", "SFMono-Regular", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--bone);font-family:var(--sans);margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(1120px,100% - 48px);margin:auto}.skip-link{z-index:50;background:var(--bone);color:var(--ink);padding:12px 16px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.progress{z-index:4;background:#ffffff29;width:100%;height:2px;position:fixed;top:56px;left:0}.progress span{background:var(--oxblood-bright);height:100%;display:block}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15120feb;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:fixed;inset:0 0 auto}.brand,.site-header nav a,footer a{font:500 10px/1.2 var(--mono);letter-spacing:.06em;color:var(--bone);text-transform:uppercase;text-decoration:none}.brand span{color:var(--smoke)}.site-header nav{gap:22px;display:none}.header-contact{color:var(--bone);font-size:11px;text-decoration:none}.header-contact span{color:#61d797;font-size:15px}.section-dark{background:var(--ink)}.section-light{background:var(--parchment);color:var(--charcoal)}.hero{padding-top:56px}.hero-copy{max-width:1120px;margin:auto;padding:76px 24px 44px}.hero-image{max-width:1120px;margin:0 auto;padding:0 24px 44px}.hero h1,.hero h2,.section-heading h2,.reviews-heading h2,.visit-copy h2,.about-copy h2{font:500 clamp(46px,11vw,118px)/.93 var(--display);letter-spacing:-.055em;color:var(--bone);margin:0}.hero h1 em,.hero h2 em,.section-heading h2 em,.reviews-heading h2 em,.visit-copy h2 em,.about-copy h2 em{color:#d6c9b7;font-style:italic}.hero-intro{color:var(--smoke);max-width:420px;margin:28px 0 18px;font-size:16px}.eyebrow{font:400 10px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#d3a7a9;margin:0 0 18px}.credential,.hero-fact{font:400 10px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase}.credential{color:#d3a7a9}.hero-fact{color:var(--smoke);margin-top:22px}.hero-fact span{color:var(--oxblood-bright)}.hero-actions,.visit-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px;display:flex}.button,.text-link,.header-contact,.sticky-contact a{align-items:center;gap:8px;min-height:48px;transition:opacity .2s;display:inline-flex}.button,.header-contact,.sticky-contact a{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffffff1f;border-radius:999px;padding:0 18px}.button{color:var(--bone);background:#ffffff0a;justify-content:center}.button:hover,.header-contact:hover,.sticky-contact a:hover,.text-link:hover{opacity:.9}.button-whatsapp{color:#0e2c1e;background:#25d366;border-color:#0000}.button-whatsapp span{color:inherit}.text-link{font:500 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--bone)}.text-link span,.button span,.header-contact span,.sticky-contact a span{font-size:15px}.expertise{border-top:1px solid #ffffff12;padding:20px 0}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 32px;display:grid}.expertise-grid p{font:500 14px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--smoke);border-top:1px solid #ffffff1f;margin:0;padding-top:18px}.expertise-grid--featured p:first-child,.expertise-grid--featured p:nth-child(2){color:var(--bone);font-size:18px}.about,.services,.gallery,.reviews,.visit{padding:88px 0}.split-layout{align-items:center;gap:32px;display:grid}.photo-frame{background:#1d1a18;border-radius:18px;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%}.about-copy,.visit-copy{max-width:560px}.body-copy{margin-top:18px}.body-copy p{color:var(--smoke);margin:0 0 18px}.service-menu{grid-template-columns:1fr;gap:26px;margin-top:32px;display:grid}.service-category{border-top:1px solid #09090929;padding-top:18px}.service-category h3{font:500 clamp(28px,5vw,42px)/1 var(--display);letter-spacing:-.04em;color:var(--charcoal);margin:0 0 20px}.service-category ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.service-category li{border-bottom:1px solid #09090914;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;font-size:15px;display:grid}.service-name{color:var(--charcoal);font-size:15px}.service-price{font:500 13px/1.4 var(--mono);letter-spacing:.04em;color:var(--charcoal);text-align:right;white-space:nowrap}.service-category li a{font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--oxblood)}.section-heading{max-width:560px;margin-bottom:26px}.section-heading h2,.reviews-heading h2,.visit-copy h2{font:500 clamp(42px,9vw,96px)/.92 var(--display);letter-spacing:-.055em;color:var(--charcoal);margin:0}.section-heading p,.visit-intro,.reviews-heading+.review-grid p{color:#221d18b8}.section-light .eyebrow,.section-light .text-link,.section-light .reviews-link,.section-light .service-category li a{color:var(--oxblood)}.gallery-heading{margin-bottom:24px}.gallery-heading h2,.gallery-heading .eyebrow{color:var(--bone)}.gallery-heading p{max-width:540px;color:var(--smoke)}.gallery-controls{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin:0 0 18px;padding:0 0 10px;display:flex}.gallery-controls p{font:500 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--smoke);margin:0}.gallery-controls div{gap:8px;display:flex}.gallery-controls button{width:40px;height:40px;color:var(--bone);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:999px}.gallery-carousel{scroll-snap-type:x proximity;gap:18px;padding-bottom:12px;display:flex;overflow-x:auto}.gallery-carousel::-webkit-scrollbar{height:8px}.gallery-carousel::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.gallery-slide{scroll-snap-align:start;flex:0 0 calc(100vw - 72px);max-width:720px;margin:0}.gallery-slide img{object-fit:cover;border:1px solid #ffffff14;border-radius:18px;width:100%;height:420px}.gallery-slide figcaption{font:500 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--smoke);margin-top:12px}.review-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:30px;display:grid}.review-stub{background:#ffffff26;border:1px solid #221d181f;border-radius:18px;padding:22px 20px}.review-stub header{flex-direction:column;gap:8px;display:flex}.review-stub h3{font:500 22px/1.1 var(--display);letter-spacing:-.04em;color:var(--charcoal);margin:0}.review-details{color:var(--oxblood);font:500 11px/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;display:flex}.review-details span{letter-spacing:2px;font-size:14px}.review-stub blockquote{margin:18px 0 0}.review-stub blockquote p{color:#221d18cc;margin:0}.reviews-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.reviews-link{margin-top:16px}.map-panel{background:linear-gradient(#ffffff05,#ffffff03);border:1px solid #ffffff1f;border-radius:18px;padding:28px 16px}.maps-link{background:#ffffff05;border:1px solid #ffffff1f;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:18px;padding:18px;display:grid}.maps-link-mark{width:40px;height:40px;font:700 20px/1 var(--mono);background:#ffffff12;border-radius:12px;place-items:center;display:grid}.maps-link-copy{flex-direction:column;gap:4px;display:flex}.maps-link-copy strong{font:500 16px/1.2 var(--display);letter-spacing:-.03em}.maps-link-copy small{color:var(--smoke);font:500 11px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.maps-link-arrow{color:var(--bone);font-size:24px}.maps-link-action{font:500 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--smoke);grid-column:2/span 2}.visit-copy h2{color:var(--bone)}.visit-copy h2 em{color:#d6c9b7}.visit-intro{color:var(--smoke);max-width:520px;margin:18px 0 28px}.visit-copy dl{gap:16px;margin:0;display:grid}.visit-copy dl div{border-top:1px solid #ffffff1f;grid-template-columns:100px 1fr;gap:14px;padding-top:16px;display:grid}.visit-copy dt{font:500 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--smoke)}.visit-copy dd{color:var(--bone);margin:0;font-size:15px;line-height:1.6}.visit-copy address{font-style:normal}footer{background:var(--ink);padding:30px 0 88px}.footer-inner{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:24px;display:flex}.footer-inner p{color:var(--smoke);margin:0}.sticky-contact{z-index:14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15120fe6;border:1px solid #ffffff1f;border-radius:999px;gap:8px;padding:8px;display:flex;position:fixed;bottom:16px;right:16px}.sticky-contact a{color:var(--bone);font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;padding:0 16px}.sticky-contact a:first-child{color:#9be5ba;background:#25d3661f;border-color:#25d36659}@media (min-width:768px){.site-header nav{display:flex}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:36px;max-width:1120px;margin:0 auto;padding:120px 24px 52px;display:grid}.hero-copy,.hero-image{max-width:none;margin:0;padding:0}.hero-image .photo-frame{height:100%;min-height:480px}.hero-image .photo-frame img{height:100%}.split-layout{grid-template-columns:1fr 1fr;gap:54px}.about,.services,.gallery,.reviews,.visit{padding:120px 0}.service-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}.gallery-slide{flex-basis:min(62vw,680px)}.gallery-slide img{height:520px}.reviews-heading{flex-direction:row;align-items:flex-end}.reviews-link{margin-top:0}}@media (max-width:767px){.hero h1,.section-heading h2,.reviews-heading h2,.visit-copy h2,.about-copy h2{letter-spacing:-.045em}.button,.text-link,.header-contact,.sticky-contact a{min-height:42px}.hero-actions,.visit-actions{flex-direction:column;align-items:flex-start}.service-category li{grid-template-columns:1fr auto}.service-category li a{grid-column:2/span 1;justify-self:end}.sticky-contact{justify-content:space-between;left:12px;right:12px}.sticky-contact a{flex:1;justify-content:center}.header-contact{display:none}}
