@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--gold:#ae9253;--gold-light:#d6bf86;--dark:#171714;--cream:#f6f4ed;--paper:#fff;--ink:#292922;--muted:#727167;--line:#ddd9ce;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'DM Sans',Arial,sans-serif}img{max-width:100%;display:block}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p,figure{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{color:inherit}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
header{position:sticky;top:0;z-index:20;background:#fff;display:flex;align-items:center;gap:32px;padding:13px max(5%,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line)}.brand{position:relative;width:172px;height:65px;overflow:hidden;flex:none;margin-right:auto}.brand img{position:absolute;width:172px;height:172px;max-width:none;top:-50px}nav{display:flex;gap:28px;font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:27px;padding:16px 23px;min-height:52px;background:var(--gold);color:var(--dark);font-size:14px;font-weight:700;border:1px solid var(--gold);border-radius:4px;transition:background .18s,transform .18s var(--ease)}.button>span{font-size:19px;font-weight:400;line-height:1}.menu-toggle{display:none}.eyebrow{font:600 10px/1.7 'DM Sans',Arial,sans-serif;letter-spacing:1.8px;color:#80662f;margin-bottom:22px}.line-link{font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-1.7px;line-height:1.03}h1{font-size:clamp(70px,6.8vw,104px);margin:0 0 29px}h2{font-size:clamp(48px,4.6vw,67px);margin-bottom:27px}h1 em,h2 em{font-weight:400;color:var(--gold);font-style:italic}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--dark);color:white}.hero-copy{padding:76px 50px 55px max(5vw,calc((100vw - 1320px)/2));align-self:center}.hero .eyebrow{color:var(--gold-light);font-size:10px;letter-spacing:1.4px}.hero h1 em{color:var(--gold-light)}.hero-description{font-size:16px;color:#c2c1b6;max-width:375px;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:31px 0 35px}.hero-actions .line-link{color:#d2cbbb;font-size:13px}.hero-address{display:flex;gap:14px;align-items:center;color:#aaa89c;font-size:12px}.hero-address p{margin:0}.address-line{height:1px;width:28px;background:var(--gold)}.hero-photo{position:relative;overflow:hidden;min-height:650px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:45% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#171714c9,transparent 60%)}.photo-caption{position:absolute;bottom:37px;left:38px;z-index:1;color:#fff}.photo-caption>span{font-size:9px;letter-spacing:2px;color:var(--gold-light)}.photo-caption p{font:36px/1.05 'Libre Caslon Display',Georgia,serif;margin:14px 0 0}.quick-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#ebe7dc;padding:0 max(5%,calc((100vw - 1320px)/2))}.quick-services>a{display:flex;align-items:center;gap:25px;padding:24px 27px;border-right:1px solid #d3cdbe;font-size:14px}.quick-services>a:first-child{padding-left:0}.quick-services>a:last-child{border:0}.quick-services strong{font:29px 'Libre Caslon Display',Georgia,serif;margin-left:auto;white-space:nowrap}.quick-services small{font-size:17px}.quick-arrow{font-size:22px;color:#8b713a}
.section{max-width:1280px;margin:auto;padding:95px 0}.space{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.space-photo{position:relative;min-width:0}.space-photo>img{width:100%;height:490px;object-fit:cover;border-radius:5px}.photo-tag{display:inline-block;background:var(--gold);color:var(--dark);padding:17px 21px;font-size:9px;font-weight:600;letter-spacing:1px;position:absolute;bottom:0;left:0;border-radius:0 3px 0 5px}.space-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted);max-width:440px}.professional{border-top:1px solid var(--line);margin-top:30px;padding-top:28px;display:flex;align-items:center;gap:20px}.portrait{width:70px;height:70px;border-radius:50%;overflow:hidden;position:relative;display:block;flex:none;background:#ddd5c2}.portrait img{position:absolute;width:568%;max-width:none;height:auto;left:-40%;top:-203%}.professional span:not(.portrait){font-size:9px;letter-spacing:1.3px;color:var(--muted)}.professional h3{font-size:22px;font-weight:500;margin:4px 0}.professional a{font-size:12px;color:#80662f}.gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;padding-top:0;padding-bottom:90px}.gallery figure{margin:0;min-width:0}.gallery img{width:100%;height:330px;object-fit:cover;border-radius:5px}.gallery figure:first-child img{object-position:center 56%}.gallery figcaption{font:25px 'Libre Caslon Display',Georgia,serif;margin-top:18px}
.services-section{background:white;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:330px;font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:5px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:35px;align-items:start}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filters button{border:1px solid var(--line);border-radius:4px;background:transparent;padding:11px 16px;font-size:12px;min-height:44px;transition:background .18s}.filters .active{background:var(--dark);color:white;border-color:var(--dark)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;border:0;margin:0;padding:0;min-width:0}.service-card{display:block;position:relative;cursor:pointer;min-width:0}.service-card input{position:absolute;width:1px;height:1px;opacity:0;left:14px;top:14px}.card-content{display:flex;flex-direction:column;height:100%;min-height:185px;padding:23px 18px 20px;border:1px solid var(--line);border-radius:5px;background:var(--cream);gap:12px;transition:background .18s,border-color .18s}.card-content>strong{font-size:14px;font-weight:600;line-height:1.4;padding-right:16px;overflow-wrap:anywhere}.service-description{font-size:11px;line-height:1.5;color:var(--muted)}.service-bottom{margin-top:auto;display:flex;flex-direction:column;gap:7px}.service-bottom b{font-size:17px;font-weight:600;color:#7a5f27}.service-bottom small{font-size:11px;color:var(--muted)}.radio-dot{position:absolute;top:24px;right:14px;width:12px;height:12px;border:1px solid #b8ae96;border-radius:50%;background:white}.service-card input:checked~.card-content{background:#ede5d2;border-color:#8c7139;box-shadow:inset 0 0 0 1px #8c7139}.service-card input:checked~.radio-dot{background:var(--gold);box-shadow:inset 0 0 0 2px white}.service-card input:focus-visible~.card-content{outline:3px solid var(--gold);outline-offset:3px}.service-note{font-size:11px;color:var(--muted);margin-top:20px}.booking-panel{padding:28px;background:var(--dark);color:#fff;border-radius:6px;position:sticky;top:110px;scroll-margin-top:110px}.booking-panel>.eyebrow{color:var(--gold-light)}.booking-panel h3{font:38px 'Libre Caslon Display',Georgia,serif;margin:14px 0 26px}.barber-selected{display:flex;align-items:center;gap:15px;padding-bottom:24px;border-bottom:1px solid #3f3c31}.barber-selected .portrait{width:54px;height:54px}.barber-selected>div{display:flex;flex-direction:column}.barber-selected small{font-size:10px;color:#b4ad9d}.barber-selected strong{font-size:16px;font-weight:500}.booking-summary{padding:24px 0;line-height:1.8;font-size:13px;color:#d6d0c2;min-height:105px}.booking-summary strong{display:block;font-size:16px;color:white}.booking-summary span{color:var(--gold-light)}.booking-panel>.button{width:100%}.copy-request{background:transparent;border:1px solid #595341;color:var(--gold-light);width:100%;padding:11px;font-size:12px;border-radius:4px;margin-top:12px}.contact-help{font-size:10px;line-height:1.85;color:#c1baaa;margin-top:22px}.contact-help a{text-decoration:underline}.store-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.store-links a{border-top:1px solid #595341;padding:11px 0 0;display:flex;justify-content:space-between;font-size:12px}
.packages-section{background:var(--dark);color:#fff}.packages-section h2 em{color:var(--gold-light)}.packages-section .eyebrow{color:var(--gold-light)}.packages-section .section-heading>p{color:#b7b2a5}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.package{padding:29px;border:1px solid #4c4637;border-radius:5px;display:flex;flex-direction:column;background:#1e1e19}.package-period{font-size:10px;letter-spacing:1.4px;color:#cfb77d;text-transform:uppercase}.package h3{font:29px/1.2 'Libre Caslon Display',Georgia,serif;margin:22px 0 20px;min-height:35px}.package-price{font-size:25px;font-weight:500;color:var(--gold-light);margin-bottom:26px}.package a{font-size:12px;border-top:1px solid #4c4637;padding-top:18px;margin-top:auto;display:flex;justify-content:space-between}.package-note{font-size:11px;color:#b3ad9d;margin:24px 0 0}
.app-section{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.app-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:400px}.app-steps{margin-top:32px}.app-steps p{border-bottom:1px solid var(--line);padding:16px 0;display:flex;gap:20px;font-size:13px;margin:0}.app-steps b{font-weight:500;color:#8e733a}.app-card{background:#ebe6d9;border:1px solid #d6c8a8;border-radius:8px;text-align:center;padding:45px 35px}.app-monogram{font:90px/.9 'Libre Caslon Display',Georgia,serif;color:#8c7138;display:block;margin-bottom:15px}.app-monogram sup{font:30px 'Libre Caslon Display',Georgia,serif;vertical-align:top}.app-card>.eyebrow{display:block;font-size:9px;margin-bottom:25px}.app-card h3{font:40px/1.07 'Libre Caslon Display',Georgia,serif;margin:0 0 17px}.app-card>p{font-size:12px;color:var(--muted)}.app-card .button{margin:12px auto 18px;display:flex;width:max-content;max-width:100%}.app-card .line-link{font-size:12px}
.location-section{background:#e9e5da;border-top:1px solid var(--line)}.location{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:center}.location address{font-style:normal;line-height:1.8;font-size:15px;margin:25px 0}dl{margin:0;max-width:360px}dl>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #d3cbbb;font-size:12px}dd{margin:0;font-weight:600}.location-info>small{display:block;color:var(--muted);font-size:10px;margin-top:13px}.location-info>.button{margin-top:26px}.location-phone{display:block;margin-top:18px;font-size:13px}.map-frame{border:1px solid #c9bfaa;border-radius:6px;overflow:hidden;background:var(--cream)}.map-frame iframe{width:100%;height:440px;border:0;display:block}.map-frame>a{padding:17px 20px;font-size:12px;display:flex;justify-content:space-between}.final-call{background:var(--cream);text-align:center;padding:80px 5%}.final-call .eyebrow{margin-bottom:20px}.final-call h2{font-size:67px;margin-bottom:28px}.review-link{display:block;margin-top:24px;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}footer{background:var(--dark);padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#bdb7a8;font-size:11px}footer>div{display:flex;flex-direction:column;color:var(--gold-light)}footer strong{font:24px 'Libre Caslon Display',Georgia,serif;letter-spacing:1px}footer>div>span{letter-spacing:3px;font-size:8px;text-align:center}footer p{margin:0}footer small{font-size:10px}
@media(hover:hover) and (pointer:fine){.button:hover{background:#c8b178;transform:translateY(-2px)}nav a:hover,.line-link:hover{color:#8c7138}.card-content:hover{border-color:#9f8b62}.package a:hover{color:var(--gold-light)}.quick-services>a:hover{background:#e2dbc9}.copy-request:hover{border-color:var(--gold-light)}}.button:active{transform:scale(.98)}
@media(max-width:1380px){.section{margin:0 5%}.space{gap:65px}.app-section{gap:80px}.location{gap:65px}.booking-layout{grid-template-columns:minmax(0,1fr) 310px}.hero h1{font-size:86px}}
@media(max-width:1080px){header{gap:20px}nav{gap:18px;font-size:12px}.brand{width:145px}.brand img{width:145px;height:145px;top:-37px}.header-cta{font-size:12px;padding:13px 16px}.hero{min-height:580px}.hero-photo{min-height:580px}.hero-copy{padding-right:30px}.hero h1{font-size:76px}.hero-actions{gap:18px}.quick-services>a{padding:22px 18px;gap:12px;font-size:12px}.quick-services strong{font-size:25px}.space{gap:42px}.space-photo>img{height:460px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading>p{max-width:290px}.app-section{gap:50px}.location{gap:45px}.location .map-frame iframe{height:460px}.package{padding:23px}.package h3{font-size:27px}}
@media(max-width:800px){html{scroll-padding-top:95px}header{padding:10px 5%;gap:14px}.brand{width:130px;height:56px}.brand img{width:130px;height:130px;top:-37px}nav{display:none}nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:white;padding:24px 6%;gap:23px;border-bottom:1px solid var(--line);font-size:16px}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:4px;background:white}.menu-toggle span{width:17px;height:1px;background:var(--dark)}.header-cta{font-size:11px;gap:10px;padding:10px 12px;min-height:42px}.hero{grid-template-columns:1fr;min-height:0}.hero-photo{grid-row:1;min-height:0;height:310px}.hero-photo>img{position:static;height:100%;object-position:center 45%}.hero-photo:after{background:linear-gradient(0deg,#171714c9,transparent 75%)}.photo-caption{bottom:24px;left:6%}.photo-caption p{font-size:30px}.photo-caption>span{font-size:8px}.hero-copy{grid-row:2;padding:32px 6% 35px}.hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:18px}.hero h1{font-size:64px;letter-spacing:-1.3px;margin-bottom:22px}.hero-description{font-size:14px;max-width:500px;line-height:1.75}.hero-actions{margin:25px 0;gap:22px}.hero-address{font-size:11px}.quick-services{padding:0 5%}.quick-services>a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 10px!important;position:relative;font-size:10px}.quick-services strong{font-size:26px;margin:0}.quick-services small{font-size:14px}.quick-arrow{position:absolute;right:9px;top:12px;font-size:14px}.section{padding:65px 0}.space{grid-template-columns:1fr;gap:32px}.space-copy{order:1}.space-photo{order:2}.space-photo>img{height:auto;max-height:520px;object-fit:cover}.space-copy h2{font-size:48px}.space-copy>p:not(.eyebrow){max-width:560px}.professional{margin-top:25px;padding-top:24px}.gallery{gap:16px;padding-top:0;padding-bottom:60px;grid-template-columns:1fr 1fr}.gallery img{height:240px}.gallery figcaption{font-size:23px}.section-heading{display:block}.section-heading h2{font-size:47px}.section-heading>p{max-width:540px;margin:25px 0 0;font-size:14px}.booking-layout{grid-template-columns:1fr;gap:30px}.filters{gap:7px;margin-bottom:18px}.filters button{font-size:11px;padding:10px 12px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-content{min-height:205px;padding:20px 16px 17px}.card-content>strong{font-size:14px}.service-description{font-size:11px}.booking-panel{position:static;scroll-margin-top:95px;padding:28px}.booking-summary{min-height:0}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.package{padding:23px 18px}.package h3{font-size:25px;min-height:60px;margin:18px 0 16px}.package-price{font-size:22px}.package a{font-size:11px;gap:7px}.app-section{grid-template-columns:1fr;gap:35px}.app-copy h2{font-size:50px}.app-card{max-width:540px;width:100%;padding:38px 25px}.location{grid-template-columns:1fr;gap:35px}.location .map-frame iframe{height:340px}.location-info h2{font-size:50px}dl{max-width:100%}.final-call{padding:60px 6%}.final-call h2{font-size:55px}footer{display:grid;grid-template-columns:1fr 1fr;gap:25px}footer p{font-size:10px}footer>small{grid-column:1/-1}}
@media(max-width:380px){header{gap:9px}.brand{width:105px}.brand img{width:120px;height:120px;top:-30px;left:-7px}.header-cta{font-size:10px;padding:9px}.header-cta>span{display:none}.hero h1{font-size:56px}.hero-photo{height:280px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.section-heading h2,.space-copy h2{font-size:42px}.gallery img{height:190px}.gallery figcaption{font-size:21px}.package{padding:20px 15px}.package h3{font-size:23px}.package-price{font-size:21px}.card-content{padding:19px 12px;min-height:220px}.card-content>strong{font-size:13px}.radio-dot{right:11px;top:22px}.filters button{padding:9px 11px;font-size:10px}.quick-services strong{font-size:24px}}
/* Keep the appointment panel in its original place while the page scrolls. */
.icon-arrow{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
/* Load the portrait directly: Safari may defer the previous offscreen, clipped
   lazy image even while its small circular viewport is visible. */
.portrait{background:#ddd5c2 url('assets/isac-referencia.jpeg') 8.6% 18% / 568% auto no-repeat}
.booking-panel{position:static;top:auto}
.gallery figure{overflow:hidden}
.gallery img{transition:transform 450ms var(--ease)}
@media(hover:hover) and (pointer:fine){.gallery figure:hover img{transform:scale(1.025)}.service-card:hover .card-content{background:#efeadf}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
