@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&display=swap');
:root{--ink:#101113;--paper:#f5f1ea;--white:#fffdf9;--accent:#c23b34;--line:#d9d2c7;--muted:#706c65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}button,a{font:inherit}a{color:inherit}.skip{position:fixed;top:-100px;left:12px;background:#fff;color:#000;padding:10px;z-index:100}.skip:focus{top:12px}.grain{pointer-events:none;position:fixed;inset:0;z-index:40;opacity:.07;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");mix-blend-mode:multiply}.wrap{width:min(1180px,calc(100% - 56px));margin:auto}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.16);position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{height:49px;width:49px;border-radius:50%;object-fit:cover;border:1px solid #fff}.brand b{display:block;font:600 22px/18px "Playfair Display",serif;letter-spacing:.07em}.brand i{font:500 8px/10px "DM Mono",monospace;letter-spacing:.25em;font-style:normal}.navigation{display:flex;gap:27px}.navigation a{font-size:13px;padding:8px 0;opacity:.75;text-decoration:none}.navigation a:hover{opacity:1;border-bottom:1px solid currentColor}.booking{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:16px 20px;text-decoration:none;font-weight:600;font-size:13px;transition:transform .2s,box-shadow .2s}.booking:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--accent)}.booking span{font-size:20px;line-height:0}.mini{padding:12px 15px;border-color:#fff;background:#fff;color:var(--ink)}.menu{display:none;background:none;border:0;color:#fff;width:38px;height:32px}.menu span{display:block;width:25px;height:1px;background:currentColor;margin:7px auto}.hero{min-height:790px;background:#131414;color:#fff;padding:160px 8vw 100px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.05)),radial-gradient(circle at 80% 30%,rgba(194,59,52,.24),transparent 27%)}.hero-copy,.hero-art{position:relative;z-index:1}.eyebrow{font:500 10px/1.2 "DM Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:#625e56}.eyebrow span{display:inline-block;width:20px;border-top:1px solid currentColor;vertical-align:middle;margin-right:8px}.eyebrow.light{color:#c8c3ba}.hero h1,.intro h2,.section-heading h2,.review-top h2,.location h2{font:600 clamp(54px,7vw,108px)/.9 "Playfair Display",serif;letter-spacing:-.06em;margin:25px 0}.hero h1 em,h2 em{font-weight:500}.hero-text{max-width:370px;font-size:17px;line-height:1.55;color:#d6d2cb;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{border-bottom:1px solid currentColor;padding:5px 0;text-decoration:none;font-size:13px}.text-link b{font-size:18px;margin-left:7px}.hero-art{height:520px;align-self:end}.hero-image-wrap{width:min(368px,80%);height:470px;margin:0 auto;position:relative;overflow:hidden;transform:rotate(2deg);border-radius:48% 48% 4px 4px}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(.85) contrast(1.07)}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}.barber-stripes{position:absolute;right:0;top:0;width:9px;height:100%;background:var(--accent)}.hero-stamp{position:absolute;left:0;top:-18px;width:108px;height:108px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;text-align:center;font:8px/1.5 "DM Mono";letter-spacing:.09em;transform:rotate(-16deg);z-index:2}.hero-stamp strong{position:absolute;font-size:24px;color:var(--accent)}.vertical-caption{position:absolute;right:8px;bottom:0;writing-mode:vertical-rl;font:9px "DM Mono";letter-spacing:.16em}.brush-word{position:absolute;left:-10px;bottom:-36px;color:var(--accent);font:700 86px/.68 "Playfair Display";font-style:italic;letter-spacing:-.14em;z-index:3;transform:rotate(-8deg)}.hero-bottom{position:absolute;left:8vw;bottom:30px;display:flex;align-items:center;gap:12px;font:9px "DM Mono";letter-spacing:.12em}.hero-bottom i{height:1px;width:52px;background:#fff}.hero-bottom b{font-size:16px;color:var(--accent)}.ticker{overflow:hidden;background:var(--accent);color:#fff;white-space:nowrap;padding:17px 0;font:600 12px "DM Mono";letter-spacing:.25em}.ticker div{display:flex;gap:27px;min-width:max-content;animation:marquee 25s linear infinite}.ticker b{font-size:17px;line-height:12px}.intro{padding:160px 0}.intro-content{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:end}.intro h2{font-size:clamp(50px,6vw,90px);margin:26px 0 0}.intro-content>div{font-size:16px;line-height:1.7;max-width:420px}.intro-content>div p{margin:0 0 19px}.intro .text-link{margin-top:14px}.services{background:var(--ink);color:var(--paper);padding:130px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.section-heading h2{font-size:clamp(48px,6vw,88px);margin:23px 0 0}.section-heading>p{max-width:310px;line-height:1.6;color:#bbb6ad;font-size:15px}.service-list{border-top:1px solid #464541;margin-top:74px}.service-item{min-height:113px;display:grid;grid-template-columns:65px 75px 1fr 40px;align-items:center;gap:14px;border-bottom:1px solid #464541;transition:padding .25s,background .25s}.service-item:hover{background:#191b1d;padding-left:18px}.service-number{color:#8d8982;font:10px "DM Mono"}.service-icon{width:32px;height:32px;color:var(--accent);font-size:28px}.service-item h3{font:600 25px "Playfair Display";margin:0 0 6px}.service-item p{margin:0;color:#b7b3ac;font-size:14px}.service-item a{color:var(--accent);font-size:27px;text-decoration:none}.services-cta{text-align:center;padding-top:60px}.inverted{background:var(--paper);color:var(--ink);border-color:var(--paper)}.gallery-section{padding:140px 0}.gallery-head{margin-bottom:52px}.gallery-head .text-link{align-self:end}.gallery{columns:3;column-gap:16px}.gallery figure{display:block;break-inside:avoid;margin:0 0 16px;position:relative;background:#ddd}.gallery img{display:block;width:100%;height:auto;filter:saturate(.86);transition:transform .6s}.gallery figure:hover img{transform:scale(1.03)}.gallery figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85));padding:50px 16px 16px;color:#fff;font:500 20px "Playfair Display";opacity:0;transition:opacity .25s}.gallery figure:hover figcaption{opacity:1}.gallery figcaption span{float:right;color:var(--accent)}.reviews{background:#e9e4db;padding:133px 0}.review-top{display:flex;justify-content:space-between;align-items:end}.review-top h2{font-size:clamp(48px,6vw,88px);margin:25px 0 0}.rating{width:200px;text-align:right}.rating strong{font:600 58px/.8 "Playfair Display";display:block}.rating span{color:var(--accent);letter-spacing:2px;font-size:17px}.rating p{font-size:11px;margin:6px 0;color:#625f59}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:70px}.review-grid article{background:var(--paper);padding:30px;min-height:250px;border-top:2px solid var(--ink);display:flex;flex-direction:column}.review-grid article>div{letter-spacing:2px;color:var(--accent);font-size:14px}.review-grid blockquote{font:500 24px/1.25 "Playfair Display";margin:24px 0}.review-grid p{margin:auto 0 0;font-size:11px;font-weight:600}.review-grid p span{font-weight:400;color:#7f7a72}.location{min-height:650px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:45% 55%}.location-info{padding:110px max(5vw,40px)}.location h2{font-size:clamp(46px,5vw,75px);margin:25px 0 37px}.location address{font-size:17px;line-height:1.65;font-style:normal;color:#d0ccc4}.contact-links{margin:28px 0;display:flex;flex-direction:column;gap:10px}.contact-links a{color:var(--paper);text-decoration:none;font-size:14px}.contact-links b{color:var(--accent);margin-left:5px}.map{position:relative;min-height:520px;background:#ccc}.map iframe{border:0;width:100%;height:100%;min-height:520px;filter:grayscale(1) contrast(1.12) brightness(.8)}.map:after{content:"";position:absolute;inset:0;background:rgba(194,59,52,.1);pointer-events:none}.map-pin{position:absolute;top:49%;left:52%;z-index:2;width:92px;height:92px;border-radius:50%;background:var(--accent);display:grid;place-items:center;text-align:center;color:#fff;transform:translate(-50%,-50%);box-shadow:0 7px 20px #0005}.map-pin span{position:absolute;font-size:40px;opacity:.22}.map-pin b{font:500 11px "DM Mono";letter-spacing:.06em}footer{background:#0d0e10;color:#eae6de;padding:78px 0 20px}.footer-main{display:grid;grid-template-columns:2.1fr 1fr 1fr 1.2fr;gap:40px}.footer-main img{height:52px;width:52px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px}.footer-main h2{display:inline;font:600 46px/.8 "Playfair Display";letter-spacing:.05em}.footer-main>div:first-child>p{font:9px "DM Mono";letter-spacing:.45em;margin:10px 0 0 66px}.footer-label{color:#8d8980;font:10px "DM Mono";letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px}.footer-main a{display:block;text-decoration:none;padding:0;margin:0 0 11px;font-size:13px}.footer-main address{font-size:13px;line-height:1.55;font-style:normal;margin-bottom:11px}.footer-bottom{border-top:1px solid #343330;margin-top:65px;padding-top:20px;display:flex;justify-content:space-between;color:#77736d;font:9px "DM Mono";letter-spacing:.07em}.whatsapp{position:fixed;right:25px;bottom:25px;z-index:30;background:var(--accent);color:#fff;text-decoration:none;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;font-size:27px;box-shadow:0 7px 23px #0004}.whatsapp span{display:none}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:800px){.wrap{width:min(100% - 36px,600px)}.topbar{height:74px;padding:0 18px}.navigation{display:none}.navigation.open{display:flex;position:absolute;top:74px;left:0;width:100%;padding:24px;background:#151515;flex-direction:column;gap:8px}.navigation.open a{text-align:left;color:#fff}.booking.mini{display:none}.menu{display:block}.hero{padding:130px 25px 76px;min-height:800px;display:block}.hero h1{font-size:61px}.hero-art{margin-top:55px;height:330px}.hero-image-wrap{height:300px;width:232px}.hero-stamp{left:10%;top:-7px;width:82px;height:82px;font-size:6px}.brush-word{left:15px;bottom:-10px;font-size:62px}.vertical-caption{right:5%;font-size:7px}.hero-bottom{left:25px}.intro{padding:90px 0}.intro-content,.section-heading,.review-top{display:block}.intro-content{margin-top:16px}.intro-content>div{margin-top:35px}.services{padding:85px 0}.section-heading>p{margin-top:25px}.service-list{margin-top:45px}.service-item{grid-template-columns:30px 43px 1fr 20px;gap:8px;min-height:122px}.service-item h3{font-size:20px}.service-item p{font-size:12px;line-height:1.45}.service-icon{font-size:21px}.gallery-section{padding:90px 0}.gallery-head .text-link{margin-top:18px;display:inline-block}.gallery{columns:2;column-gap:10px}.gallery figure{margin-bottom:10px}.gallery figcaption{opacity:1;font-size:16px;padding:35px 12px 12px}.reviews{padding:88px 0}.rating{text-align:left;margin-top:35px}.review-grid{grid-template-columns:1fr;margin-top:40px}.review-grid article{min-height:200px}.location{display:block}.location-info{padding:84px 25px}.map,.map iframe{min-height:410px}.footer-main{grid-template-columns:1fr 1fr;gap:36px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{margin-top:45px}.hero-actions{gap:16px;flex-wrap:wrap}.booking{padding:14px 16px}.ticker{padding:13px 0}.grain{opacity:.06}}
