:root{--ink:#101d31;--muted:#667080;--line:#dfe3e8;--gold:#9d7a45;--white:#fff;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.announcement{height:36px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#556071}.masthead{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.masthead-main{max-width:1440px;margin:auto;min-height:164px;padding:16px 5vw 13px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{display:block;width:310px;justify-self:center}.brand img{width:100%;height:auto;mix-blend-mode:multiply}.masthead-right{justify-self:end;display:flex;align-items:center;gap:22px}.phone{font-size:13px;letter-spacing:.08em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid var(--ink);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:.25s ease}.button:hover{background:var(--ink);color:#fff}.button-small{min-height:39px;padding:0 18px;font-size:11px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--gold);border-color:var(--gold)}.menu-toggle{display:none;border:0;background:transparent;width:38px;height:38px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.25s}.menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-bar{border-top:1px solid var(--line)}.nav{max-width:920px;margin:auto;display:flex;justify-content:center;gap:44px;padding:13px 5vw}.nav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.25s}.nav a:hover:after{transform:scaleX(1)}main{overflow:hidden}.overline{display:block;color:var(--gold);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.film-feature{max-width:1440px;margin:auto;padding:70px 5vw 96px;display:grid;grid-template-columns:37% 63%;align-items:center;gap:5vw}.film-copy{padding-left:5vw}.film-copy h1{font:400 clamp(50px,5.7vw,90px)/1.02 var(--serif);letter-spacing:-.03em;margin:23px 0 26px;max-width:620px}.film-copy p{color:var(--muted);max-width:420px;margin:0 0 35px;font-size:18px;line-height:1.65}.film-frame{position:relative;min-height:650px;overflow:hidden;background:#111}.film-frame img{width:100%;height:650px;object-fit:cover;object-position:center}.film-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(10,15,22,.78))}.film-overlay{position:absolute;z-index:1;left:30px;right:30px;bottom:28px;display:flex;align-items:center;gap:15px;color:#fff}.film-overlay strong{display:block;font:400 23px var(--serif)}.film-overlay small{display:block;color:#e1e6ec;font-size:12px;letter-spacing:.04em}.film-mark{border:1px solid rgba(255,255,255,.7);width:48px;height:48px;display:grid;place-items:center;font:500 14px var(--serif);letter-spacing:.08em}.intro{max-width:1180px;margin:auto;padding:100px 5vw;display:grid;grid-template-columns:28% 1fr;gap:7vw;border-top:1px solid var(--line)}.intro h2,.section-heading h2,.visit h2,.instagram h2{font:400 clamp(37px,4vw,62px)/1.1 var(--serif);letter-spacing:-.025em;margin:0 0 28px}.intro p{max-width:680px;color:#3d4857;font-size:18px;line-height:1.8;margin:0 0 16px}.intro blockquote{margin:42px 0 0;padding-top:21px;border-top:1px solid var(--line);font:400 26px/1.4 var(--serif);max-width:630px}.intro cite{display:block;color:var(--gold);font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-top:13px}.image-break{height:670px;position:relative;overflow:hidden}.image-break img{width:100%;height:100%;object-fit:cover;object-position:center}.image-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,20,.68),transparent 62%)}.image-break-label{position:absolute;z-index:1;left:8vw;bottom:72px;color:#fff}.image-break-label .overline{color:#d8b377}.image-break-label strong{display:block;font:400 54px var(--serif);margin:13px 0}.image-break-label small{font-size:13px;letter-spacing:.09em}.services,.reviews,.visit,.instagram{max-width:1180px;margin:auto;padding:108px 5vw}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:52px}.section-heading>p{max-width:320px;color:var(--muted);font-size:15px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.service-card{min-height:325px;padding:24px 25px 27px;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:.25s ease}.service-card:last-child{border-right:0}.service-card:hover{background:#f5f7f9}.service-number{color:var(--gold);font-size:12px;letter-spacing:.15em}.service-card h3{font:400 34px var(--serif);margin:45px 0 12px}.service-card p{color:var(--muted);font-size:15px;line-height:1.6;margin:0;max-width:220px}.card-link{margin-top:auto;color:var(--ink);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.card-link b{color:var(--gold);font-size:17px;margin-left:7px}.gallery{max-width:1440px;margin:0 auto;padding:0 5vw 108px;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.gallery>div{position:relative;overflow:hidden;background:#f3f4f6}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery>div:hover img{transform:scale(1.025)}.gallery-large{height:625px}.gallery-small{height:625px}.gallery span{position:absolute;left:21px;bottom:18px;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 9px #000}.gallery>div:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.reviews{border-top:1px solid var(--line)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:39px 0}.review{padding-right:35px;border-right:1px solid var(--line)}.review:last-child{border:0}.review blockquote{font:400 24px/1.4 var(--serif);margin:0 0 24px}.review cite{display:block;font-size:13px;font-style:normal;font-weight:600;letter-spacing:.08em}.review small{display:block;color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase;margin-top:3px}.line-link{display:inline-block;margin-top:30px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.visit{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}.visit p{color:var(--muted);max-width:400px;font-size:17px}.visit-info{border-top:1px solid var(--ink)}.visit-info>div{display:flex;justify-content:space-between;gap:30px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.visit-info>div span:first-child{color:var(--gold);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.visit-info>div span:last-child{text-align:right}.visit-info .button{margin-top:28px}.instagram{border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:90px;padding-bottom:110px}.instagram h2{margin:16px 0 0}.instagram-handle{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--ink);padding:0 0 13px;min-width:270px;font-size:14px;letter-spacing:.08em}.instagram-handle b{margin-left:auto;color:var(--gold);font-size:20px}.instagram-icon{font-size:28px;line-height:1}.footer{background:var(--ink);color:#fff;padding:73px 5vw 24px}.footer-top{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:35px;padding-bottom:72px}.footer-brand{width:255px;display:block}.footer-brand img{width:100%;height:auto}.footer-top p{margin:0;color:#c3ccd8;font-size:14px;line-height:1.7}.footer-instagram{justify-self:end;color:#fff;font-size:12px;letter-spacing:.1em}.footer-bottom{max-width:1180px;margin:auto;padding-top:17px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;color:#aeb8c5;font-size:11px;letter-spacing:.1em;text-transform:uppercase}@media(max-width:900px){.masthead-main{min-height:125px;padding:12px 5vw}.brand{width:235px}.menu-toggle{display:block}.phone{display:none}.nav-bar{display:none;background:var(--ink);border:0}.nav-bar.open{display:block}.nav{display:grid;gap:0;padding:0}.nav a{color:#fff;border-bottom:1px solid rgba(255,255,255,.22);padding:18px 6vw;letter-spacing:.19em}.film-feature{display:flex;flex-direction:column;padding:45px 5vw 70px;gap:40px}.film-copy{padding:0}.film-copy h1{font-size:55px}.film-copy p{font-size:17px}.film-frame,.film-frame img{min-height:480px;height:480px}.intro{grid-template-columns:1fr;gap:25px;padding:72px 5vw}.image-break{height:500px}.image-break-label{left:5vw;bottom:45px}.image-break-label strong{font-size:43px}.services,.reviews,.visit,.instagram{padding:75px 5vw}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery{grid-template-columns:1fr 1fr;padding:0 5vw 75px}.gallery-large{grid-column:1/-1;height:460px}.gallery-small{height:370px}.visit{grid-template-columns:1fr;gap:50px}.instagram{display:block}.instagram-handle{margin-top:35px}.footer-top{grid-template-columns:1fr 1fr}.footer-instagram{justify-self:start}.footer-bottom{gap:15px;flex-direction:column}}@media(max-width:540px){.announcement{font-size:9px;letter-spacing:.13em}.brand{width:205px}.masthead-right .button{display:none}.film-copy h1{font-size:48px}.film-frame,.film-frame img{min-height:390px;height:390px}.film-overlay{left:18px;right:18px;bottom:18px}.film-overlay strong{font-size:20px}.intro h2,.section-heading h2,.visit h2,.instagram h2{font-size:42px}.intro p{font-size:16px}.image-break{height:420px}.image-break-label strong{font-size:37px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px;border-right:0;border-bottom:1px solid var(--line)!important}.service-card:last-child{border-bottom:0!important}.service-card h3{margin-top:26px}.gallery{grid-template-columns:1fr}.gallery-large,.gallery-small{grid-column:auto;height:390px}.footer{padding-left:5vw;padding-right:5vw}.footer-top{grid-template-columns:1fr;gap:25px;padding-bottom:46px}.footer-brand{width:235px}.footer-bottom{font-size:10px}}
/* Founder portrait and studio gallery */
.intro .founder-portrait{grid-column:1/-1;width:min(100%,560px);height:auto;justify-self:center;margin-bottom:12px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-large,.gallery-small{grid-column:auto;height:520px}
@media(max-width:900px){.gallery-large,.gallery-small{grid-column:auto;height:400px}}
@media(max-width:540px){.gallery{grid-template-columns:1fr}.gallery-large,.gallery-small{height:390px}}
/* Barbering films */
.film-frame video{display:block;width:100%;height:650px;object-fit:cover}.film-control{position:absolute;right:24px;top:24px;z-index:2;border:1px solid rgba(255,255,255,.8);background:rgba(12,18,27,.65);color:#fff;padding:8px 14px;font:500 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.film-control:hover,.film-control:focus-visible{background:#fff;color:var(--ink)}.shave-feature{max-width:1440px;margin:0 auto 108px;padding:0 5vw;display:grid;grid-template-columns:58% 42%;align-items:center}.shave-film{min-height:520px}.shave-film video{height:520px}.shave-copy{padding:50px 7vw}.shave-copy h2{font:400 clamp(37px,4vw,62px)/1.1 var(--serif);letter-spacing:-.025em;margin:22px 0}.shave-copy p{color:var(--muted);font-size:18px;max-width:400px}.shave-film:after{display:none}@media(max-width:900px){.film-frame video{height:480px}.shave-feature{display:block;margin-bottom:75px}.shave-film,.shave-film video{height:470px;min-height:470px}.shave-copy{padding:45px 0 0}}@media(max-width:540px){.film-frame video{height:390px}.shave-film,.shave-film video{height:330px;min-height:330px}.shave-copy p{font-size:16px}}
/* Skin care film */
.skincare-feature{max-width:1180px;margin:0 auto 108px;padding:0 5vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;border-top:1px solid var(--line);padding-top:90px}.skincare-copy h2{font:400 clamp(37px,4vw,62px)/1.1 var(--serif);letter-spacing:-.025em;margin:22px 0}.skincare-copy p{color:var(--muted);font-size:18px;max-width:420px}.skincare-film{width:min(100%,440px);justify-self:end;background:#0b0b0b}.skincare-film video{height:620px;object-fit:cover}.skincare-film:after{display:none}@media(max-width:900px){.skincare-feature{gap:5vw;padding-top:70px;margin-bottom:75px}.skincare-film video{height:530px}}@media(max-width:650px){.skincare-feature{grid-template-columns:1fr}.skincare-copy{padding-bottom:20px}.skincare-copy p{font-size:16px}.skincare-film{justify-self:center;width:min(100%,390px)}.skincare-film video{height:550px}}
/* Keep the combined landscape film visible in full. */
.film-feature .film-frame{width:100%;height:auto;min-height:0;aspect-ratio:16/9}
.film-feature .film-frame video{width:100%;height:100%;object-fit:contain}

/* Antique brass footer inspired by the razor in the logo. */
.footer{background:#a38c58;color:#19170f;border-top:1px solid #8c7545;padding-top:60px}
.footer-top{grid-template-columns:1.1fr 1.2fr 1fr;align-items:start;gap:48px;padding-bottom:55px}
.footer-brand{width:min(100%,280px);margin-bottom:22px}
.footer-brand img{mix-blend-mode:multiply}
.footer-top p{color:#242016;font-size:16px}
.footer-details{min-width:0;padding-top:18px}
.footer-details h3{font:400 23px/1.3 var(--serif);margin:0 0 22px}
.footer-details a{display:block;font-size:16px;margin:0 0 12px;overflow-wrap:anywhere}
.footer-details a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-details .footer-appointment{margin-top:16px;font-size:14px}
.footer-bottom{color:#242016;border-top:1px solid rgba(25,23,15,.3);font-size:12px}
.visit-info>div span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-identity{grid-column:1/-1}}
@media(max-width:540px){.footer-top{grid-template-columns:1fr;gap:30px}.footer-details{padding-top:0}.footer-details h3{margin-bottom:16px}.footer-brand{width:255px}.footer-bottom{font-size:12px}}

/* Dedicated heritage and skin care pages */
.page-heading{max-width:1180px;margin:auto;padding:90px 5vw 75px;text-align:center}.page-heading h1{font:400 clamp(42px,5.5vw,76px)/1.12 var(--serif);letter-spacing:-.025em;margin:25px 0}.page-heading>p{max-width:630px;margin:0 auto 28px;font-size:18px;color:var(--muted)}.founder-story{max-width:1180px;margin:auto;padding:40px 5vw 110px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.founder-story>img{width:100%;height:auto}.founder-story h2{font:400 48px/1.15 var(--serif);margin:20px 0 10px}.founder-title{color:var(--gold)}.founder-story p{font-size:18px}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding:35px 0 45px}.treatment-grid h3{font:400 32px/1.2 var(--serif)}.treatment-grid p{color:var(--muted)}.film-feature{grid-template-columns:minmax(0,37fr) minmax(0,63fr)}.nav{max-width:1080px;gap:32px}.nav a,.line-link,.card-link,.button{font-size:14px}.overline{font-size:12px}.nav a:focus-visible,.brand:focus-visible,.service-card:focus-visible{outline:2px solid var(--gold);outline-offset:5px}section[id]{scroll-margin-top:240px}@media(max-width:700px){.page-heading{padding:55px 5vw}.founder-story{grid-template-columns:1fr;gap:30px;padding-bottom:70px}.founder-story>img{max-width:450px;margin:auto}.treatment-grid{grid-template-columns:1fr;gap:20px}.founder-story p{font-size:16px}.nav{gap:0}.review-grid{grid-template-columns:1fr}.review{border-right:0;border-bottom:1px solid var(--line);padding:0 0 25px}section[id]{scroll-margin-top:140px}}

/* Airy classical typography and individual photographic pauses. */
h1,h2,h3{font-weight:400}
.film-copy h1,.page-heading h1{font-size:clamp(38px,4.5vw,66px);line-height:1.2;letter-spacing:.065em;text-transform:uppercase}
.intro h2,.section-heading h2,.visit h2,.instagram h2,.skincare-copy h2,.shave-copy h2,.founder-story h2{font-size:clamp(32px,3.5vw,48px);line-height:1.2;letter-spacing:.075em;text-transform:uppercase}
.service-card h3,.treatment-grid h3{font-size:30px;letter-spacing:.09em;text-transform:uppercase}
.footer-details h3{font-size:26px;letter-spacing:.075em}
.film-feature{gap:4vw;padding-top:88px;padding-bottom:112px}
.film-copy{padding-left:0;min-width:0}
.film-copy h1{overflow-wrap:normal}
.intro,.services,.reviews,.visit,.instagram{padding-top:120px;padding-bottom:120px}
.editorial-photo{max-width:1000px;margin:28px auto 48px;padding:0 6vw}
.editorial-photo img{width:100%;height:auto;max-height:630px;object-fit:cover}
.editorial-photo figcaption{font:400 22px/1.5 var(--serif);letter-spacing:.14em;text-align:center;text-transform:uppercase;padding:26px 0 0;color:var(--ink)}
.skincare-feature{margin-top:120px;margin-bottom:120px;padding-top:100px}
.footer{isolation:isolate;padding-top:80px}
.footer-brand{width:min(100%,320px);overflow:hidden;aspect-ratio:2/1;position:relative;margin-bottom:32px}
.footer-brand img{mix-blend-mode:multiply;position:absolute;width:134%;max-width:none;left:-17%;top:-39%}
.footer-top{grid-template-columns:1.15fr 1.25fr 1fr;gap:40px}
@media(max-width:900px){.film-feature{padding:64px 6vw 88px;gap:48px}.film-copy{width:100%;text-align:center}.film-copy p{margin-left:auto;margin-right:auto}.film-copy h1{max-width:680px;margin-left:auto;margin-right:auto}.intro,.services,.reviews,.visit,.instagram{padding-top:88px;padding-bottom:88px}.editorial-photo{max-width:760px;margin-top:24px;margin-bottom:40px}.skincare-feature{margin-top:88px;margin-bottom:88px}.footer-top{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}}
@media(max-width:540px){.film-copy h1,.page-heading h1{font-size:36px;letter-spacing:.055em}.intro h2,.section-heading h2,.visit h2,.instagram h2,.skincare-copy h2{font-size:32px;letter-spacing:.07em}.intro,.services,.reviews,.visit,.instagram{padding:76px 6vw}.editorial-photo{padding:0 6vw;margin:20px auto 36px}.editorial-photo img{max-height:480px}.editorial-photo figcaption{font-size:20px;padding-top:24px}.skincare-feature{margin-top:76px;margin-bottom:88px;gap:40px;padding-left:6vw;padding-right:6vw}.footer-top{grid-template-columns:1fr;gap:38px}.footer-brand{width:290px;max-width:100%}.footer-details a{font-size:16px}.visit-info>div{gap:16px}.button{padding:12px 20px;line-height:1.5}.announcement{font-size:10px;letter-spacing:.09em}}

/* Founder portrait above the complete biography at every screen size. */
.founder-story{grid-template-columns:minmax(0,1fr);max-width:900px;gap:48px}.founder-story>img{width:min(100%,520px);margin:0 auto}.founder-story>div{width:100%;max-width:720px;margin:0 auto}.founder-story h2{margin-top:14px}.founder-story .founder-title{margin-top:8px;margin-bottom:32px}@media(max-width:540px){.founder-story{gap:32px;padding-left:6vw;padding-right:6vw}.founder-story h2{font-size:32px}}

.esthetician-portrait{display:block;width:min(100%,320px);height:auto;margin:0 0 32px}
@media(max-width:650px){.esthetician-portrait{width:min(100%,360px);margin:0 auto 32px}}

/* Fine-line navigation icons, consistent across mobile and desktop. */
.link-arrow{display:inline-block;width:22px;height:22px;flex-shrink:0;vertical-align:middle;color:var(--gold);transition:transform .25s ease}.card-link{display:inline-flex;align-items:center;gap:14px}.line-link .link-arrow{margin-left:9px}.service-card:hover .link-arrow,.service-card:focus-visible .link-arrow,.line-link:hover .link-arrow,.line-link:focus-visible .link-arrow,.instagram-handle:hover .link-arrow{transform:translate(2px,-2px)}@media(prefers-reduced-motion:reduce){.link-arrow{transition:none}}

/* Separate the address from the footer introduction on every screen size. */
.footer-identity > .footer-details{padding-top:32px}

/* Midnight blue mobile menu selected from the palette. */
@media(max-width:900px){.nav-bar{background:#142b49}}
