@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";body{color:#f5f3ee;background:#0b0b0b;font-family:DM Sans,Arial,sans-serif}button:disabled{cursor:not-allowed}.site{background:#0b0b0b;min-height:100vh;overflow-x:hidden}.logo{letter-spacing:3px;flex-direction:column;font-size:20px;font-weight:700;line-height:.85;display:flex}.logo span{letter-spacing:5px;margin-top:7px;font-size:9px;font-weight:400}.secondary-button:hover{background:#ffffff14;border-color:#fff}.hero{background:#101010;align-items:center;min-height:100vh;padding:140px 7vw 100px;display:flex;position:relative}.hero:before{content:"";opacity:.75;background-color:#0000;background-image:linear-gradient(90deg,#000000eb 0%,#000000b8 45%,#00000059 100%),url(/images/barberia-1.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.hero h1{letter-spacing:-5px;max-width:950px;font-size:clamp(65px,10vw,145px);font-weight:500;line-height:.86}.hero-description{color:#bbb;margin-top:35px;margin-bottom:40px;font-size:15px;line-height:1.8}.hero-bottom{z-index:3;color:#888;letter-spacing:2px;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:35px;left:7vw;right:7vw}.hero-background{pointer-events:none;background:radial-gradient(circle at 30% 20%,#ffffff0f,#0000 60%);position:absolute;inset:0}.services,.services-section{background:#0b0b0b;padding:150px 7vw}.section-top,.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:70px;display:flex}.section-top h2,.section-heading h2{letter-spacing:-4px;margin-top:25px;font-size:clamp(50px,7vw,95px);font-weight:500;line-height:.88}.section-top h2 em,.section-heading h2 em{font-family:Playfair Display,serif;font-weight:500}.section-intro,.section-description{color:#777;max-width:300px;font-size:13px;line-height:1.8}.service-card{border-right:1px solid #333;min-height:400px;padding:45px 40px;transition:background .4s,transform .4s;position:relative}.service-icon{color:#aaa;font-size:30px}.service-card h3{letter-spacing:1px;margin-top:25px;font-size:24px;font-weight:500}.service-card p{color:#777;max-width:300px;margin-top:15px;font-size:13px;line-height:1.8}.service-footer{border-top:1px solid #333;justify-content:space-between;align-items:center;padding-top:20px;display:flex;position:absolute;bottom:35px;left:40px;right:40px}.service-footer strong{font-size:23px;font-weight:500}.service-book-button{color:#fff;letter-spacing:2px;background:0 0;border:1px solid #ffffff40;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:0 17px;font-size:9px;font-weight:600;transition:background .3s,color .3s,border-color .3s,transform .3s;display:inline-flex}.service-book-button span{color:inherit;font-size:12px;transition:transform .3s}.service-book-button:hover{color:#111;background:#f4f1e9;border-color:#f4f1e9;transform:translateY(-2px)}.service-book-button:hover span{transform:translate(4px)}.about-image{min-height:700px;position:relative}.image-label span:last-child{color:#999}.about-content h2{letter-spacing:-4px;margin:25px 0 40px;font-size:clamp(50px,6vw,90px);font-weight:500;line-height:.9}.about-stats strong{font-size:24px;font-weight:500}.gallery,.gallery-section{color:#111;background:#f1eee7;padding:150px 7vw}.gallery-section .section-heading{margin-bottom:60px}.gallery-section .eyebrow{color:#777}.gallery-section h2{color:#111}.gallery-item{min-width:0;min-height:0;position:relative;overflow:hidden}.cta{text-align:center;background-color:#0000;background-image:linear-gradient(#000000d9,#000000d9),url(/images/barberia-1.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:180px 7vw}.cta h2{letter-spacing:-4px;max-width:1000px;margin:25px auto 45px;font-size:clamp(55px,8vw,110px);font-weight:500;line-height:.88}.contact{background:#0b0b0b;padding:150px 7vw}.contact-left h2,.contact-heading h2{letter-spacing:-4px;margin-top:25px;font-size:clamp(55px,7vw,100px);font-weight:500;line-height:.88}.contact-right,.contact-grid{border-top:1px solid #333;grid-template-columns:repeat(3,1fr);margin-top:90px;display:grid}.contact-item,.contact-block{border-right:1px solid #333;flex-direction:column;align-items:flex-start;min-height:250px;padding:40px;display:flex}.contact-item:last-child,.contact-block:last-child{border-right:0}.contact-item>span,.contact-block>span{letter-spacing:2px;color:#666;width:100%;font-size:9px;font-weight:600;display:block}.contact-item p,.contact-block p{color:#bbb;margin-top:25px;font-size:14px;line-height:1.9}.contact-booking{text-align:center;justify-content:flex-start;align-items:center!important}.contact-booking>span{text-align:center;width:100%}.contact-booking-button{color:#fff;letter-spacing:2px;cursor:pointer;background:0 0;border:1px solid #ffffff40;justify-content:center;align-items:center;width:fit-content;min-height:48px;margin-top:32px;padding:0 24px;font-size:10px;font-weight:600;transition:background .3s,color .3s,border-color .3s,transform .3s;display:flex}.contact-booking-button:hover{color:#111;background:#fff;border-color:#fff;transform:translateY(-3px)}.text-button{color:#fff;letter-spacing:2px;background:0 0;margin-top:25px;font-size:9px}.footer{color:#111;background:#f1eee7;padding:70px 7vw 30px}.footer-top{border-bottom:1px solid #ccc;justify-content:space-between;align-items:center;padding-bottom:60px;display:flex}.footer-logo{color:#111}.footer-logo span{color:#555}.footer-top>p{color:#777;font-family:Playfair Display,serif;font-style:italic}.footer-button{color:#fff;letter-spacing:2px;background:#111;padding:15px 22px;font-size:9px}.footer-bottom{color:#888;letter-spacing:1.5px;justify-content:space-between;padding-top:25px;font-size:9px;display:flex}.booking-overlay{z-index:1000;-webkit-backdrop-filter:blur(14px);background:#000000d6;justify-content:center;align-items:center;width:100%;height:100dvh;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.booking-modal{color:#111;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#f1eee7;width:min(100%,720px);height:min(94dvh,900px);max-height:calc(100dvh - 40px);padding:42px 50px;position:relative;overflow:hidden auto;box-shadow:0 30px 100px #00000080}.booking-modal::-webkit-scrollbar-thumb{background:#aaa;border-radius:10px}.close-button{z-index:20;float:right;color:#111;background:#f1eee7;justify-content:center;align-items:center;width:38px;height:38px;margin-top:-5px;margin-right:-5px;font-size:28px;font-weight:300;transition:background .3s,transform .3s;display:flex;position:sticky;top:0}.booking-header{clear:both}.booking-header h2{letter-spacing:-2px;margin:15px 0 25px;font-size:clamp(42px,6vw,55px);font-weight:500;line-height:.9}.booking-header>p:last-child{color:#777;max-width:400px;margin-bottom:25px;font-size:13px;line-height:1.7}.booking-modal form{flex-direction:column;gap:7px;padding-bottom:10px;display:flex}.booking-modal label{letter-spacing:2px;color:#222;margin-top:10px;font-size:9px;font-weight:600;display:block}.booking-modal input,.booking-modal select{color:#111;background:#fff;border:1px solid #ccc;border-radius:0;width:100%;height:46px;padding:0 13px;font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.calendar-box{background:#fff;border:1px solid #ddd;border-radius:12px;width:100%;margin-top:4px;padding:16px}.calendar-header{justify-content:space-between;align-items:center;min-height:42px;margin-bottom:14px;display:flex}.calendar-title{flex-direction:column;gap:3px;display:flex}.calendar-title span{letter-spacing:2px;color:#777;font-size:9px;font-weight:700}.calendar-arrows button{color:#111;background:#f1eee7;border:1px solid #ddd;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;transition:background .2s,color .2s,border-color .2s;display:flex}.calendar-arrows button:hover{color:#fff;background:#111;border-color:#111}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;margin-bottom:6px;display:grid}.calendar-weekdays span{letter-spacing:1px;color:#888;justify-content:center;align-items:center;width:100%;height:27px;font-size:8px;font-weight:700;display:flex}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%;display:grid}.calendar-days>span.empty{pointer-events:none;background:0 0;border-color:#0000;min-height:38px}.calendar-day{color:#164e63;cursor:pointer;background:#eaf4ff;border:1px solid #dbeafe;border-radius:8px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:38px;padding:0;font-size:13px;font-weight:700;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.calendar-day-number{z-index:3;justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:flex;position:relative}.calendar-day:hover:not(:disabled){background:#d6edfc;border-color:#8ec9ed;transform:translateY(-1px)}.calendar-day.selected{box-shadow:0 5px 15px #2563eb40;color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.calendar-day.selected:hover{background:#2563eb!important;border-color:#2563eb!important}.calendar-day.blocked-day,.calendar-day.closed-weekday{cursor:not-allowed;opacity:1;box-shadow:none;color:#b91c1c!important;background:#fee2e2!important;border-color:#fca5a5!important;transform:none!important}.calendar-day.blocked-day.selected,.calendar-day.closed-weekday.selected{color:#b91c1c!important;box-shadow:none!important;background:#fee2e2!important;border-color:#fca5a5!important;transform:none!important}.calendar-day.blocked-day .calendar-day-number,.calendar-day.closed-weekday .calendar-day-number{color:#b91c1c!important}.calendar-day.blocked-day:hover,.calendar-day.closed-weekday:hover{box-shadow:none!important;background:#fecaca!important;border-color:#ef4444!important;transform:none!important}.blocked-day-mark{z-index:4;pointer-events:none;background:#ef4444;border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-day.past-day{cursor:not-allowed;opacity:1;color:#94a3b8!important;box-shadow:none!important;background:#f1f5f9!important;border-color:#e2e8f0!important;transform:none!important}.calendar-day.past-day .calendar-day-number{color:#94a3b8!important}.calendar-day.past-day.blocked-day,.calendar-day.past-day.closed-weekday{color:#b91c1c!important;background:#fee2e2!important;border-color:#fca5a5!important}.calendar-day.today{box-shadow:inset 0 0 0 2px #2563eb59}.calendar-day.today.blocked-day,.calendar-day.today.closed-weekday{box-shadow:inset 0 0 0 2px #ef444473!important}.calendar-day.today.past-day{box-shadow:inset 0 0 0 2px #94a3b859}.calendar-day:disabled{opacity:1;cursor:not-allowed}.calendar-status-legend,.calendar-legend{border-top:1px solid #eee;flex-wrap:wrap;gap:14px;margin-top:18px;padding-top:14px;display:flex}.calendar-status-legend>div,.calendar-legend-item{color:#68717c;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.calendar-dot,.calendar-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.calendar-dot--available,.calendar-legend-dot.available{background:#bfdbfe;border:1px solid #60a5fa}.calendar-dot--blocked,.calendar-legend-dot.blocked{background:#fecaca;border:1px solid #f87171}.calendar-dot--past,.calendar-legend-dot.past{background:#cbd5e1;border:1px solid #94a3b8}.calendar-help{color:#888;letter-spacing:.5px;align-items:center;gap:8px;margin-top:15px;font-size:9px;display:flex}.selected-date{color:#fff;background:#111;justify-content:space-between;align-items:center;width:100%;margin-top:15px;padding:15px 18px;display:flex}.selected-date span{letter-spacing:2px;color:#999;font-size:8px;font-weight:600}.selected-date strong{font-size:13px;font-weight:500}.time-button{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:flex;position:relative}.time-button small{letter-spacing:.08em;opacity:.75;font-size:8px}.time-button--available{color:#075985;cursor:pointer;background:#eaf4ff;border:1px solid #bfdbfe}.time-button--available:hover:not(:disabled){background:#d6edfc;border-color:#8ec9ed;transform:translateY(-1px);box-shadow:0 5px 14px #00000014}.time-button.selected{cursor:pointer;box-shadow:0 5px 15px #2563eb40;color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.time-button--occupied{cursor:not-allowed;opacity:1;color:#c2410c!important;background:#fff1df!important;border:1px solid #fdba74!important}.time-button--occupied:hover{box-shadow:none!important;background:#fff1df!important;border-color:#fdba74!important;transform:none!important}.time-button--blocked{cursor:not-allowed;opacity:1;color:#b91c1c!important;background:#fee2e2!important;border:1px solid #fca5a5!important}.time-button--blocked:hover{box-shadow:none!important;background:#fee2e2!important;border-color:#fca5a5!important;transform:none!important}.time-button--past{cursor:not-allowed;opacity:1;color:#94a3b8!important;background:#f1f5f9!important;border:1px solid #cbd5e1!important}.time-button--past:hover{box-shadow:none!important;background:#f1f5f9!important;border-color:#cbd5e1!important;transform:none!important}.availability-legend,.time-legend{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;gap:14px;margin-top:18px;padding:13px 15px;display:flex}.availability-legend-item,.time-legend span{color:#475569;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.availability-dot,.time-legend i{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.availability-dot--available,.time-legend i.available{background:#bfdbfe;border:1px solid #60a5fa}.availability-dot--occupied,.time-legend i.occupied{background:#fed7aa;border:1px solid #fb923c}.availability-dot--blocked,.time-legend i.blocked{background:#fecaca;border:1px solid #f87171}.availability-dot--past,.time-legend i.past{background:#cbd5e1;border:1px solid #94a3b8}.booking-data>div{flex-direction:column;min-width:0;display:flex}.booking-data label{margin-top:0;margin-bottom:8px}.booking-data input{box-sizing:border-box;width:100%;height:50px}.booking-error{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;margin-top:12px;padding:12px 14px;font-size:12px;line-height:1.5}.services-loading,.service-select-loading{text-align:center;color:#999;letter-spacing:.05em;text-transform:uppercase;padding:20px;font-size:12px}.service-select-error{text-align:center;color:#c66;padding:20px;font-size:13px}.booking-loading{color:#777;justify-content:center;align-items:center;min-height:80px;font-size:12px;display:flex}.booking-page{background:#111;justify-content:center;align-items:center;min-height:100vh;padding:120px 25px 60px;display:flex}.booking-page-card{margin:0 auto;position:static}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #aaa}.hours-page,.schedule-page{width:100%;max-width:100%;overflow-x:hidden}.hours-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:28px;width:100%;max-width:100%;display:grid}.hours-card{width:100%;min-width:0;max-width:100%;overflow:hidden}.blocked-days-list{width:100%;max-width:100%;margin-top:24px}.blocked-day-item{border-top:1px solid #e5e2dc;grid-template-columns:180px minmax(0,1fr) 60px;align-items:center;column-gap:30px;width:100%;min-width:0;padding:18px 0;display:grid}.blocked-day-date{white-space:nowrap;text-overflow:ellipsis;width:180px;min-width:0;max-width:180px;font-size:21px;font-weight:700;line-height:1.2;overflow:hidden}.blocked-day-reason{color:#555;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:1.4}.blocked-day-remove{white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-self:end;width:60px;min-width:60px;padding:6px 0;font-size:14px;line-height:1.2;text-decoration:underline}.blocked-times-list{width:100%;max-width:100%;margin-top:24px}.blocked-time-item,.blocked-entry{border-top:1px solid #e5e2dc;grid-template-columns:180px 80px minmax(0,1fr) 60px;align-items:center;column-gap:20px;width:100%;min-width:0;padding:18px 0;display:grid}.blocked-time-date,.blocked-entry-date{white-space:nowrap;text-overflow:ellipsis;width:180px;min-width:0;max-width:180px;font-size:21px;font-weight:700;line-height:1.2;overflow:hidden}.blocked-time-hour,.blocked-entry-time{white-space:nowrap;width:80px;min-width:0;max-width:80px;font-size:21px;font-weight:700;line-height:1.2}.blocked-time-reason,.blocked-entry-reason{color:#555;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:1.4}.blocked-time-remove,.blocked-entry-remove{white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-self:end;width:60px;min-width:60px;padding:6px 0;font-size:14px;line-height:1.2;text-decoration:underline}.hours-form,.blocked-day-form,.blocked-time-form{width:100%;min-width:0;max-width:100%}.hours-form input,.hours-form select,.blocked-day-form input,.blocked-day-form select,.blocked-time-form input,.blocked-time-form select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.blocked-day-form button,.blocked-time-form button{box-sizing:border-box;width:100%;min-height:60px;margin-top:20px}.hours-page *,.schedule-page *{box-sizing:border-box;max-width:100%}.hours-layout,.hours-card,.blocked-days-list,.blocked-times-list,.blocked-day-item,.blocked-time-item,.blocked-entry{overflow-wrap:break-word}.blocked-day-reason,.blocked-time-reason,.blocked-entry-reason{overflow-wrap:anywhere;word-break:break-word;min-width:0}.blocked-day-item>*,.blocked-time-item>*,.blocked-entry>*{min-width:0}.appointment-form{flex-direction:column;width:100%;min-width:0;min-height:100%;display:flex}.booking-progress{flex:none;justify-content:center;align-items:center;gap:12px;width:100%;margin-bottom:28px;display:flex}.progress-item{color:#aaa;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;font-size:9px;display:flex}.progress-item span{color:#777;border:1px solid #ccc;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:8px;display:flex}.progress-item.active{color:#111}.progress-item.active span{color:#fff;background:#111;border-color:#111}.progress-line{background:#ddd;flex:0 0 35px;width:35px;height:1px}.booking-step{width:100%;min-width:0}.booking-step-header{margin-bottom:22px}.booking-step-header .eyebrow{color:#777}.booking-step-header h3{letter-spacing:-2px;margin-top:10px;font-size:clamp(38px,5vw,58px);font-weight:500;line-height:.95}.booking-step-header h3 em{font-family:Playfair Display,serif;font-weight:500}.booking-step-header p{color:#777;max-width:500px;margin-top:12px;font-size:13px;line-height:1.6}.service-options{flex-direction:column;gap:9px;width:100%;display:flex}.service-option{color:#111;text-align:left;background:#fff;border:1px solid #ddd;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:15px;width:100%;min-width:0;min-height:64px;padding:12px 16px;transition:background .2s,border-color .2s,transform .2s;display:grid;position:relative}.service-option:hover{border-color:#111;transform:translateY(-1px)}.service-option.selected{color:#fff;background:#111;border-color:#111}.service-option-info{flex-direction:column;gap:3px;min-width:0;display:flex}.service-option-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.service-option-info small{color:#888;font-size:9px}.service-option.selected .service-option-info small{color:#aaa}.service-option-price{white-space:nowrap;font-size:14px;font-weight:600}.service-option-arrow{font-size:17px}.booking-step .calendar-box{width:100%;margin-top:0}.booking-step .calendar-days{gap:5px}.booking-step .calendar-day{min-height:40px}.booking-step .selected-date{margin-top:10px}.booking-step .time-grid{width:100%;margin-top:10px}.booking-step .availability-legend{margin-top:12px}.booking-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-bottom:18px;display:grid}.booking-summary>div{background:#fff;border:1px solid #ddd;min-width:0;padding:12px}.booking-summary span{color:#888;letter-spacing:1.5px;margin-bottom:5px;font-size:8px;font-weight:700;display:block}.booking-summary strong{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.appointment-form .booking-data{width:100%;margin-top:0}.appointment-form .booking-data>div{min-width:0}.appointment-form .booking-data>div:last-child{grid-column:1/-1}.appointment-form .booking-submit{width:100%;margin-top:18px}.booking-navigation{border-top:1px solid #ddd;flex:none;justify-content:space-between;align-items:center;gap:15px;width:100%;margin-top:22px;padding-top:17px;display:flex}.booking-back,.booking-next{letter-spacing:1.5px;white-space:nowrap;min-height:44px;padding:0 20px;font-size:9px;font-weight:700}.booking-back{color:#555;background:0 0}.booking-back:hover{color:#111}.booking-next{color:#fff;background:#111;margin-left:auto}.booking-next:hover:not(:disabled){background:#333}.booking-next:disabled{opacity:.35;cursor:not-allowed}.booking-final-space{width:1px;height:1px}.booking-overlay{z-index:1000;-webkit-backdrop-filter:blur(14px);overscroll-behavior:contain;background:#000000d6;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0;overflow:hidden}.booking-modal{color:#111;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f1eee7;width:min(720px,100vw - 50px);max-height:calc(100dvh - 50px);padding:45px;position:relative;overflow:hidden auto;box-shadow:0 30px 100px #00000080}.booking-modal form{width:100%}.booking-modal .close-button{z-index:10;position:absolute}@media (width<=1100px){.hours-layout{grid-template-columns:1fr}.blocked-day-item{grid-template-columns:180px minmax(0,1fr) 60px}.blocked-time-item,.blocked-entry{grid-template-columns:160px 75px minmax(0,1fr) 60px}.blocked-time-date,.blocked-entry-date{width:160px;max-width:160px}.blocked-time-hour,.blocked-entry-time{width:75px;max-width:75px}}@media (width<=900px){.nav{display:none}.header{padding:0 5%}.hero{padding-left:6vw;padding-right:6vw}.hero h1{letter-spacing:-3px}.intro{grid-template-columns:1fr;gap:30px;padding:100px 7vw}.services-grid{grid-template-columns:1fr}.service-card{border-bottom:1px solid #333;border-right:0;min-height:330px}.service-card:last-child{border-bottom:0}.about{grid-template-columns:1fr}.about-image{min-height:550px}.about-content{padding:90px 7vw}.contact-right,.contact-grid{grid-template-columns:1fr}.contact-item,.contact-block{border-bottom:1px solid #333;border-right:0}.contact-item:last-child,.contact-block:last-child{border-bottom:0}.contact-booking{text-align:center;align-items:center!important}.contact-booking>span{text-align:center}.footer-top{flex-direction:column;align-items:flex-start;gap:25px}.gallery-grid{grid-template-rows:repeat(3,300px);grid-template-columns:1fr}.gallery-item.large{grid-row:auto}.time-grid{grid-template-columns:repeat(3,1fr)}.booking-modal{width:min(680px,100vw - 35px);padding:40px 35px 30px}.booking-progress{gap:8px}.progress-line{flex-basis:25px;width:25px}.booking-step-header h3{font-size:48px}}@media (width<=700px){.hours-layout{grid-template-columns:1fr;gap:20px}.blocked-day-item,.blocked-time-item,.blocked-entry{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0;display:flex}.blocked-day-date,.blocked-time-date,.blocked-entry-date,.blocked-time-hour,.blocked-entry-time{width:auto;min-width:0;max-width:100%;font-size:20px}.blocked-day-reason,.blocked-time-reason,.blocked-entry-reason{width:100%;max-width:100%}.blocked-day-remove,.blocked-time-remove,.blocked-entry-remove{place-self:flex-start;width:auto;min-width:0;margin-top:4px}}@media (width<=600px){.header{height:72px}.logo{font-size:17px}.header-button{padding:11px 14px;font-size:8px}.hero{min-height:100svh;padding:120px 6vw 80px}.hero h1{letter-spacing:-3px;font-size:clamp(55px,17vw,90px)}.hero-description{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-bottom{letter-spacing:1.5px;font-size:7px;left:6vw;right:6vw}.intro{padding:90px 7vw}.intro h2{font-size:48px}.services,.services-section,.gallery,.gallery-section,.contact{padding:100px 6vw}.section-top,.section-heading{display:block}.section-intro,.section-description{margin-top:30px}.section-top h2,.section-heading h2{font-size:55px}.service-card{min-height:340px;padding:35px 25px}.service-info{margin-top:50px}.service-card h3{font-size:22px}.service-footer{bottom:25px;left:25px;right:25px}.service-footer strong{font-size:21px}.service-book-button{min-height:42px;padding:0 14px;font-size:8px}.about-image{min-height:450px}.about-content{padding:80px 6vw}.about-content h2{font-size:55px}.about-stats{gap:25px}.gallery-grid{grid-template-rows:repeat(3,250px)}.cta{padding:120px 6vw}.cta h2,.contact-left h2,.contact-heading h2{font-size:55px}.contact-item,.contact-block{min-height:210px;padding:35px 25px}.contact-booking{text-align:center;justify-content:flex-start;align-items:center!important}.contact-booking>span{text-align:center;width:100%}.contact-booking-button{margin-top:28px;padding:0 22px}.footer{padding:60px 6vw 25px}.footer-bottom{flex-direction:column;gap:10px}.booking-overlay{background:#000000e0;justify-content:stretch;align-items:stretch;width:100vw;height:100dvh;padding:0;position:fixed;inset:0;overflow:hidden}.booking-modal{-webkit-overflow-scrolling:touch;width:100%;height:100dvh;max-height:100dvh;padding:62px 16px 16px;overflow:hidden auto}.booking-modal .close-button{width:36px;height:36px;top:12px;right:12px}.booking-progress{gap:5px;margin-bottom:22px}.progress-item{letter-spacing:.3px;flex-direction:column;gap:3px;font-size:7px}.progress-item span{width:25px;height:25px}.progress-line{flex-basis:14px;width:14px}.booking-step-header{margin-bottom:18px}.booking-step-header h3{letter-spacing:-1.5px;font-size:38px}.booking-step-header p{margin-top:8px;font-size:11px}.service-options{gap:7px}.service-option{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px;min-height:59px;padding:10px 12px}.service-option-info strong{font-size:12px}.service-option-info small{font-size:8px}.service-option-price{font-size:12px}.booking-step .calendar-box{padding:10px}.booking-step .calendar-header{min-height:38px;margin-bottom:10px}.booking-step .calendar-header strong{font-size:17px}.booking-step .calendar-arrows button{width:32px;height:32px}.booking-step .calendar-weekdays{margin-bottom:4px}.booking-step .calendar-weekdays span{height:23px;font-size:7px}.booking-step .calendar-days{gap:4px}.booking-step .calendar-day{border-radius:7px;min-height:36px;font-size:11px}.blocked-day-mark{width:4px;height:4px;bottom:3px}.booking-step .selected-date{margin-top:10px;padding:10px 12px}.booking-step .time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.booking-step .time-button{min-height:42px;font-size:12px}.booking-step .availability-legend{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding:9px;display:grid}.booking-step .availability-legend-item{font-size:9px}.booking-summary{gap:5px;margin-bottom:14px}.booking-summary>div{padding:9px 7px}.booking-summary span{margin-bottom:4px;font-size:7px}.booking-summary strong{font-size:9px}.appointment-form .booking-data{grid-template-columns:1fr;gap:0}.appointment-form .booking-data>div:last-child{grid-column:auto}.appointment-form .booking-data label{margin-top:8px;margin-bottom:5px}.appointment-form .booking-data input{height:43px;font-size:12px}.booking-navigation{gap:10px;margin-top:16px;padding-top:13px}.booking-back,.booking-next{min-height:40px;padding:0 15px;font-size:8px}.calendar-box{padding:15px}.calendar-days{gap:5px}.calendar-day{border-radius:8px;min-height:44px;font-size:13px}.calendar-weekdays span{height:28px;font-size:8px}.calendar-header strong{font-size:19px}.calendar-arrows button{width:34px;height:34px}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px}.time-button{min-height:45px}.booking-data{grid-template-columns:1fr;gap:0}.selected-date{flex-direction:column;align-items:flex-start;gap:6px}.availability-legend,.calendar-status-legend,.time-legend{gap:10px}}@media (width<=420px){.calendar-days{gap:4px}.calendar-day{min-height:40px;font-size:12px}.time-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=380px){.header{padding:0 4vw}.logo{letter-spacing:2px;font-size:15px}.logo span{letter-spacing:3px;font-size:7px}.header-button{letter-spacing:1px;padding:10px 11px;font-size:7px}.hero{padding-left:5vw;padding-right:5vw}.hero h1{font-size:50px}.primary-button,.secondary-button,.hero-actions{width:100%}.service-footer{left:20px;right:20px}.service-book-button{gap:6px;padding:0 11px}.booking-modal{padding:58px 12px 12px}.booking-progress{margin-bottom:18px}.booking-step-header h3{font-size:33px}.booking-step .calendar-day{min-height:33px;font-size:10px}.booking-step .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary strong{font-size:8px}.booking-back,.booking-next{min-height:38px;padding:0 12px}.calendar-box{padding:10px}.calendar-days{gap:3px}.calendar-day{border-radius:7px;min-height:36px;font-size:10px}.calendar-weekdays span{font-size:7px}.time-grid{gap:6px}.time-button{min-height:42px;font-size:11px}.booking-modal input,.booking-modal select,.booking-data input{height:32px;font-size:10px}.booking-submit{min-height:35px}}.desktop-appointments{width:100%;overflow-x:auto}.appointments-table{border-collapse:collapse;width:100%;min-width:760px}.appointments-table th,.appointments-table td{vertical-align:middle}.client-cell{flex-direction:column;gap:4px;display:flex}.client-cell strong{line-height:1.2}.client-cell small{opacity:.65;line-height:1.2}.appointment-time,.view-button{white-space:nowrap}.appointment-mobile-card{box-sizing:border-box;border:1px solid #0000001a;border-radius:14px;flex-direction:column;gap:16px;width:100%;padding:18px;display:flex}.appointment-mobile-top>div{flex-direction:column;gap:4px;display:flex}.appointment-mobile-date{letter-spacing:.08em;opacity:.65;font-size:12px}.appointment-mobile-time{font-size:24px;line-height:1}.appointment-mobile-body{flex-direction:column;gap:8px;display:flex}.appointment-mobile-client{font-size:19px;line-height:1.2}.appointment-mobile-phone{text-decoration:none}.appointment-mobile-button{width:100%;min-height:46px}@media (width<=768px){.admin-content{box-sizing:border-box;width:100%;max-width:100%;padding-left:14px;padding-right:14px}.page-heading{flex-direction:column;align-items:flex-start;gap:18px}.page-heading h1{font-size:clamp(34px,11vw,52px);line-height:.95}.refresh-button{width:100%;min-height:46px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{box-sizing:border-box;min-width:0;padding:16px}.stat-card span{font-size:10px}.stat-card strong{font-size:28px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.panel{box-sizing:border-box;width:100%;min-width:0}.panel-heading{align-items:flex-start;gap:12px}.panel-heading h2{font-size:24px}.text-button{white-space:nowrap}.filters{flex-direction:column;gap:12px;display:flex}.filter-field,.search-field{width:100%;min-width:0}.filter-field input,.filter-field select{box-sizing:border-box;width:100%;min-height:46px}.clear-filter{width:100%;min-height:46px}.desktop-appointments{display:none}.mobile-appointments{flex-direction:column;gap:12px;display:flex}.appointments-panel{width:100%;min-width:0}}@media (width<=420px){.admin-content{padding-left:10px;padding-right:10px}.stats-grid{gap:8px}.stat-card{padding:13px}.stat-card strong{font-size:24px}.appointment-mobile-card{padding:15px}.appointment-mobile-top{gap:10px}.appointment-mobile-time{font-size:22px}}*,:before,:after{box-sizing:border-box}html{width:100%;min-height:100%}body{background:#111;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.admin-app{color:#111;background:#f2f0eb;width:100%;min-height:100vh;font-family:Arial,Helvetica,sans-serif;display:flex}.admin-sidebar{z-index:50;color:#fff;background:#111;flex-direction:column;width:260px;min-height:100vh;padding:34px 26px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.admin-logo{letter-spacing:-1.5px;flex-shrink:0;font-size:28px;font-weight:900;line-height:.9}.admin-logo span{font-style:italic;font-weight:400;display:block}.admin-label{letter-spacing:2px;color:#999;margin-top:65px;font-size:10px}.admin-nav{flex-direction:column;gap:4px;margin-top:20px;display:flex}.admin-nav button{color:#888;text-align:left;letter-spacing:1px;background:0 0;border:0;align-items:center;gap:15px;width:100%;min-height:45px;padding:15px 8px;font-size:12px;font-weight:800;transition:color .2s,background .2s;display:flex}.admin-nav button span{color:#555;flex:0 0 25px;width:25px;font-size:10px}.admin-nav button:hover{color:#fff}.admin-nav button.active{color:#fff;background:#202020}.admin-nav button.active span{color:#fff}.sidebar-bottom{letter-spacing:1.5px;color:#666;flex-direction:column;gap:7px;margin-top:auto;font-size:9px;display:flex}.admin-main{width:calc(100% - 260px);min-width:0;min-height:100vh;margin-left:260px}.admin-topbar{background:#fff;border-bottom:1px solid #ddddda;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:75px;padding:0 42px;display:flex}.admin-topbar div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-topbar span{letter-spacing:2px;color:#999;font-size:9px}.admin-topbar strong{letter-spacing:1.5px;font-size:12px}.admin-status{letter-spacing:1.5px;color:#777;flex-shrink:0;align-items:center;gap:8px;font-size:9px;display:flex}.online-dot{background:#111;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.admin-content{width:100%;max-width:1500px;margin:0 auto;padding:55px 45px 80px}.page-heading{justify-content:space-between;align-items:flex-end;gap:30px;width:100%;margin-bottom:45px;display:flex}.page-heading-content{min-width:0}.eyebrow{letter-spacing:2px;color:#777;margin:0 0 12px;font-size:10px;font-weight:800}.page-heading h1{letter-spacing:-4px;margin:0;font-size:clamp(42px,5vw,76px);font-weight:900;line-height:.88}.page-heading h1 em{font-style:italic;font-weight:400}.refresh-button,.clear-filter{color:#111;letter-spacing:1px;background:0 0;border:1px solid #ccccca;padding:12px 18px;font-size:10px;font-weight:800;transition:background .2s,color .2s}.refresh-button:hover,.clear-filter:hover{color:#fff;background:#111}.primary-button{color:#fff;letter-spacing:1.5px;background:#111;border:0;padding:15px 24px;font-size:10px;font-weight:800;transition:transform .2s,background .2s}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.heading-actions{align-items:center;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px;display:grid}.stat-card{background:#fff;border:1px solid #ddddda;flex-direction:column;justify-content:space-between;min-height:145px;padding:25px;display:flex}.stat-card span{letter-spacing:1.5px;color:#888;font-size:9px;font-weight:800}.stat-card strong{letter-spacing:-3px;font-size:48px;line-height:1}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:25px;width:100%;min-width:0;display:grid}.panel{background:#fff;border:1px solid #ddddda;width:100%;min-width:0;padding:28px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;width:100%;min-width:0;margin-bottom:25px;display:flex}.panel-heading-content{min-width:0}.panel-heading h2{letter-spacing:-1px;margin:0;font-size:25px;line-height:1.1}.panel-heading .text-button{color:#fff;letter-spacing:1px;opacity:1;visibility:visible;cursor:pointer;white-space:nowrap;background:#111;border:1px solid #111;border-radius:0;flex:none;justify-content:center;align-items:center;width:auto;min-width:138px;min-height:42px;padding:10px 16px;font-size:9px;font-weight:800;line-height:1;transition:background .2s,color .2s,transform .2s;display:inline-flex}.panel-heading .text-button:hover{color:#111;background:#fff;border-color:#111;text-decoration:none;transform:translateY(-1px)}.today-list{flex-direction:column;display:flex}.today-item{text-align:left;background:0 0;border:0;border-top:1px solid #eeeeeb;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:15px;width:100%;padding:17px 0;display:grid}.today-item:hover{background:#fafaf8}.today-time{font-size:18px;font-weight:900}.today-client{flex-direction:column;gap:5px;min-width:0;display:flex}.today-client strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.today-client small{color:#888;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.quick-actions{flex-direction:column;display:flex}.quick-actions button{text-align:left;letter-spacing:1px;background:0 0;border:0;border-top:1px solid #eeeeeb;align-items:center;gap:14px;padding:18px 0;font-size:10px;font-weight:800;transition:padding .2s;display:flex}.quick-actions button:hover{padding-left:5px}.quick-actions button span{font-size:18px}.filters{background:#fff;border:1px solid #ddddda;align-items:flex-end;gap:15px;width:100%;min-width:0;margin-bottom:25px;padding:20px;display:flex}.filter-field{flex-direction:column;gap:7px;min-width:0;display:flex}.filter-field label{letter-spacing:1.5px;color:#777;font-size:9px;font-weight:800}.filter-field input,.filter-field select{color:#111;background:#f8f8f5;border:1px solid #d4d4d0;outline:none;width:100%;min-width:0;height:43px;padding:0 12px}.search-field{flex:auto;min-width:0}.search-field input{width:100%}.filter-field input:focus,.filter-field select:focus{border-color:#111}.clear-filter{white-space:nowrap;flex:none;height:43px}.appointments-list-container{width:100%;min-width:0}.appointments-panel,.clients-panel{background:#fff;border:1px solid #ddddda;width:100%}.appointments-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow:auto hidden}.appointments-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:900px}.appointments-table th{text-align:left;letter-spacing:1.5px;color:#777;white-space:nowrap;background:#f7f7f4;border-bottom:1px solid #ddddda;padding:15px 18px;font-size:9px}.appointments-table td{vertical-align:middle;border-bottom:1px solid #eeeeeb;padding:17px 18px;font-size:12px}.appointments-table tbody tr:hover{background:#fafaf8}.appointment-time{white-space:nowrap;font-size:16px}.client-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.client-cell strong{overflow-wrap:anywhere}.client-cell small{color:#888;overflow-wrap:anywhere;font-size:10px}.view-button{letter-spacing:1px;white-space:nowrap;background:0 0;border:1px solid #ccccca;padding:8px 12px;font-size:9px;font-weight:800}.view-button:hover{color:#fff;background:#111}.status{letter-spacing:1px;white-space:nowrap;justify-content:center;align-items:center;width:fit-content;padding:7px 9px;font-size:8px;font-weight:900;display:inline-flex}.status-pending{color:#735d29;background:#f0eadc}.status-confirmed{color:#42563b;background:#e2e9df}.status-completed{color:#555;background:#e5e5e2}.status-cancelled{color:#75443e;background:#eee2e0}.status-default{color:#555;background:#eeeeeb}.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px;display:grid}.client-card{border:1px solid #ddddda;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:15px;min-width:0;padding:20px;display:grid}.client-avatar{color:#fff;background:#111;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:900;display:flex}.client-info{min-width:0}.client-info h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 7px;font-size:14px;overflow:hidden}.client-info p{color:#888;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:10px;overflow:hidden}.client-stats{flex-direction:column;align-items:flex-end;display:flex}.client-stats span{letter-spacing:1px;color:#999;font-size:8px}.client-stats strong{font-size:25px}.services-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.admin-service-card{background:#fff;border:1px solid #ddddda;flex-direction:column;min-width:0;min-height:320px;padding:25px;display:flex}.admin-service-top{color:#999;letter-spacing:1.5px;justify-content:space-between;font-size:9px;font-weight:800;display:flex}.service-symbol{margin-top:35px;font-size:25px}.admin-service-card h2{letter-spacing:-1px;margin:20px 0 10px;font-size:25px}.admin-service-card p{color:#777;min-height:55px;margin:0;font-size:12px;line-height:1.6}.service-price{margin-top:20px;font-size:28px}.service-admin-actions{border-top:1px solid #eeeeeb;gap:10px;margin-top:auto;padding-top:25px;display:flex}.service-admin-actions button{letter-spacing:1px;background:0 0;border:1px solid #ccccca;padding:10px 13px;font-size:9px;font-weight:800}.service-admin-actions button:hover{color:#fff;background:#111}.service-admin-actions .danger-text{color:#9a4e48}.empty-state{text-align:center;color:#888;overflow-wrap:anywhere;width:100%;padding:60px 25px;font-size:12px}.mobile-appointments{display:none}.appointment-mobile-card{border-bottom:1px solid #eeeeeb;flex-direction:column;gap:15px;width:100%;padding:18px;display:flex}.appointment-mobile-top{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.appointment-mobile-date-time{flex-direction:column;gap:5px;min-width:0;display:flex}.appointment-mobile-date{font-size:11px;font-weight:800}.appointment-mobile-time{font-size:22px}.appointment-mobile-body{flex-direction:column;gap:8px;font-size:11px;display:flex}.appointment-mobile-client{overflow-wrap:anywhere;font-size:15px}.appointment-mobile-phone{color:inherit;overflow-wrap:anywhere;text-decoration:none}.appointment-mobile-button{width:100%}.admin-modal-overlay{z-index:100;background:#000000b8;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-modal{background:#f2f0eb;width:min(650px,100%);max-height:calc(100vh - 50px);padding:40px;position:relative;overflow-y:auto}.modal-close{background:0 0;border:0;font-size:30px;line-height:1;position:absolute;top:18px;right:18px}.modal-header{margin-bottom:30px}.modal-header h2{letter-spacing:-2px;margin:0 0 18px;font-size:42px;line-height:.9}.appointment-detail-grid{background:#ddddda;border:1px solid #ddddda;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.appointment-detail-grid>div{background:#fff;flex-direction:column;gap:7px;min-width:0;padding:18px;display:flex}.appointment-detail-grid span{letter-spacing:1.5px;color:#888;font-size:8px}.appointment-detail-grid strong{word-break:break-word;font-size:13px}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.modal-actions button{letter-spacing:1px;border:0;padding:13px 16px;font-size:9px;font-weight:800}.action-confirm{color:#fff;background:#111}.action-complete{color:#fff;background:#52624d}.action-cancel{color:#5d3530;background:#d8c7c3}.action-delete{color:#fff;background:#9b5049}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.service-modal{width:min(550px,100%)}.service-form{flex-direction:column;gap:20px;display:flex}.service-form label{letter-spacing:1.5px;flex-direction:column;gap:8px;font-size:9px;font-weight:800;display:flex}.service-form input,.service-form textarea{resize:vertical;letter-spacing:0;background:#fff;border:1px solid #d0d0cc;outline:none;width:100%;padding:13px;font-size:13px;font-weight:400}.service-form input:focus,.service-form textarea:focus{border-color:#111}.modal-submit{width:100%;margin-top:10px}.confirm-dialog{text-align:center;max-width:420px}.confirm-dialog .modal-actions{justify-content:center}.mobile-nav{display:none}@media (width<=1150px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.clients-grid,.services-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.admin-sidebar{width:75px;padding:25px 10px}.admin-logo{text-align:center;font-size:16px}.admin-label,.sidebar-bottom{display:none}.admin-nav{margin-top:45px}.admin-nav button{justify-content:center;padding:14px 5px}.admin-nav button span{display:none}.admin-nav button{text-align:center;font-size:8px}.admin-main{width:calc(100% - 75px);margin-left:75px}.admin-topbar{padding:0 20px}.admin-content{padding:35px 20px 60px}.page-heading{flex-direction:column;align-items:flex-start}.filters{flex-wrap:wrap}.filter-field{min-width:calc(50% - 10px)}.search-field{min-width:100%}.clients-grid,.services-admin-grid{grid-template-columns:1fr}}@media (width<=600px){.admin-sidebar{display:none}.mobile-nav{z-index:100;background:#111;justify-content:stretch;align-items:stretch;width:100%;height:65px;padding:0;display:flex;position:fixed;bottom:0;left:0}.mobile-nav button{color:#8a8a8a;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;width:16.6667%;min-width:0;height:65px;padding:0 2px;display:flex}.mobile-nav button.active{color:#fff}.mobile-nav button:active{background:#202020}.mobile-nav-icon{font-size:16px;line-height:1;display:block}.mobile-nav-label{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:7px;line-height:1;display:block;overflow:hidden}.admin-main{width:100%;margin-left:0;padding-bottom:65px}.admin-topbar{height:65px;min-height:65px;padding:0 15px}.admin-status{display:none}.admin-content{padding:30px 15px 45px}.page-heading{gap:20px;margin-bottom:30px}.page-heading h1{letter-spacing:-2.5px;font-size:48px}.refresh-button{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{min-height:110px;padding:17px}.stat-card strong{font-size:35px}.panel{padding:20px}.panel-heading{flex-wrap:wrap;gap:15px}.panel-heading .text-button{min-width:120px;min-height:40px;padding:9px 12px;font-size:8px}.today-item{grid-template-columns:55px minmax(0,1fr)}.today-item .status{grid-column:2;width:fit-content}.filters{gap:10px;padding:15px}.filter-field{width:100%;min-width:100%}.filter-field input,.filter-field select,.clear-filter{width:100%}.desktop-appointments{display:none}.mobile-appointments{display:block}.clients-grid{padding:10px}.client-card{grid-template-columns:45px minmax(0,1fr)}.client-stats{grid-column:2;align-items:flex-start}.heading-actions{flex-direction:column;align-items:stretch;width:100%}.heading-actions button{width:100%}.admin-modal-overlay{align-items:flex-start;padding:10px}.admin-modal{max-height:calc(100vh - 20px);margin-top:10px;padding:25px 18px}.modal-header h2{font-size:34px}.appointment-detail-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.today-item{grid-template-columns:1fr auto;align-items:center;gap:10px 15px;padding:16px 0;display:grid}.today-time{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.3}.today-client{grid-area:2/1;min-width:0;display:block}.today-client strong{white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.4;display:block}.today-item .danger-text{white-space:nowrap;grid-area:1/2/span 2;align-self:center;padding:8px 0;font-size:8px}}.blocked-schedule-item{background:0 0;border-top:1px solid #eeeeeb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;width:100%;padding:17px 0;display:grid}.blocked-schedule-item .today-time{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:900;line-height:1.3}.blocked-schedule-item .today-client{grid-column:1;min-width:0;display:block}.blocked-schedule-item .today-client strong{white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4;display:block}.blocked-schedule-item .danger-text{color:#9a4e48;letter-spacing:1px;white-space:nowrap;background:0 0;border:0;flex-shrink:0;grid-area:1/2/span 2;align-self:center;padding:8px 0;font-size:9px;font-weight:800}@media (width<=600px){.blocked-schedule-item{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:15px 0}.blocked-schedule-item .today-time{font-size:14px;line-height:1.35}.blocked-schedule-item .today-client strong{font-size:11px;line-height:1.35}.blocked-schedule-item .danger-text{white-space:nowrap;padding:8px 0;font-size:8px}}.blocked-day-item,.blocked-time-item{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 82px;align-items:center;gap:15px;width:100%;padding:17px 0;display:grid}.blocked-day-item .today-time,.blocked-time-item .today-time{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:15px}.blocked-day-item .today-client,.blocked-time-item .today-client{min-width:0;overflow:hidden}.blocked-day-item .today-client strong,.blocked-time-item .today-client strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.danger-text{color:#9b5049;letter-spacing:1px;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #9b5049;border-radius:0;flex:0 0 82px;justify-content:center;align-items:center;width:82px;min-width:82px;height:38px;padding:0;font-size:9px;font-weight:900;line-height:1;transition:background .2s,color .2s,transform .2s;display:inline-flex}.danger-text:hover{color:#fff;background:#9b5049;transform:translateY(-1px)}.danger-text:active{transform:translateY(0)}@media (width<=850px){.blocked-day-item,.blocked-time-item{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) 82px;gap:12px}}@media (width<=600px){.blocked-day-item,.blocked-time-item{grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:10px}.blocked-day-item .today-time,.blocked-time-item .today-time{grid-area:1/1;font-size:14px}.blocked-day-item .today-client,.blocked-time-item .today-client{grid-area:2/1/auto/-1;width:100%}.blocked-day-item .danger-text,.blocked-time-item .danger-text{grid-area:1/2;width:82px;min-width:82px;height:38px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{color:#f5f3ee;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b0b0b;font-family:DM Sans,Arial,sans-serif}body,button,input,select,textarea{font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #f4f1e9}img{max-width:100%}.site{color:#f5f3ee;background:#0b0b0b;min-height:100vh;overflow:hidden}.header{z-index:100;-webkit-backdrop-filter:blur(18px);background:#0b0b0beb;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:88px;padding:0 5vw;display:flex;position:fixed;top:0;left:0;right:0}.logo{letter-spacing:3px;color:#fff;flex-direction:column;font-size:20px;font-weight:700;line-height:.85;display:flex}.logo span{letter-spacing:5px;color:#aaa;margin-top:7px;font-size:9px;font-weight:400}.nav{align-items:center;gap:35px;display:flex}.nav a{letter-spacing:1.5px;text-transform:uppercase;color:#aaa;font-size:11px;font-weight:500;transition:color .3s;position:relative}.nav a:after{content:"";background:#fff;width:0;height:1px;transition:width .3s;position:absolute;bottom:-8px;left:0}.nav a:hover{color:#fff}.nav a:hover:after{width:100%}.header-button{color:#0b0b0b;letter-spacing:1.5px;background:#f4f1e9;padding:13px 20px;font-size:10px;font-weight:700;transition:background .3s,transform .3s}.header-button:hover{background:#fff;transform:translateY(-2px)}.eyebrow{letter-spacing:3px;text-transform:uppercase;color:#999;font-size:10px;font-weight:600}.primary-button{color:#0b0b0b;letter-spacing:2px;background:#f4f1e9;justify-content:center;align-items:center;gap:15px;min-height:52px;padding:0 28px;font-size:10px;font-weight:700;transition:transform .3s,background .3s;display:inline-flex}.primary-button:hover{background:#fff;transform:translateY(-3px)}.secondary-button{color:#fff;letter-spacing:2px;border:1px solid #ffffff40;justify-content:center;align-items:center;min-height:52px;padding:0 28px;font-size:10px;font-weight:600;transition:background .3s,border-color .3s,transform .3s;display:inline-flex}.secondary-button:hover{background:#ffffff14;border-color:#fff;transform:translateY(-2px)}.section{position:relative}.hero{background:#0b0b0b;align-items:center;min-height:100vh;padding:140px 7vw 100px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:.75;z-index:0;background-color:#0000;background-image:linear-gradient(90deg,#000000f2 0%,#000000c7 45%,#00000073 100%),url(/images/barberia-1.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.hero-content{z-index:2;max-width:950px;position:relative}.hero-content .eyebrow{color:#c9c5bb;margin-bottom:30px}.hero h1{letter-spacing:-5px;color:#fff;max-width:950px;font-size:clamp(65px,10vw,145px);font-weight:500;line-height:.86}.hero h1 span{color:#c9c5bb;font-family:Playfair Display,serif;font-style:italic;font-weight:500}.hero-description{color:#d0d0d0;max-width:600px;margin-top:35px;margin-bottom:40px;font-size:15px;line-height:1.8}.hero-actions{align-items:center;gap:15px;display:flex}.hero-side{z-index:3;color:#888;letter-spacing:2px;align-items:center;gap:15px;font-size:9px;display:flex;position:absolute;bottom:60px;right:7vw}.hero-side div{background:#555;width:50px;height:1px}.intro{color:#111;background:#f1eee7;grid-template-columns:1fr 2.5fr;gap:80px;padding:160px 12vw;display:grid}.intro-number{letter-spacing:3px;color:#888;font-size:11px}.intro-content{max-width:850px}.intro-content .eyebrow{color:#777;margin-bottom:30px}.intro h2{letter-spacing:-3px;margin-bottom:45px;font-size:clamp(48px,6vw,82px);font-weight:500;line-height:.95}.intro h2 em{font-family:Playfair Display,serif;font-weight:500}.intro-content>p{color:#555;max-width:700px;margin-bottom:20px;font-size:15px;line-height:1.9}.services{color:#f5f3ee;background:#0b0b0b;padding:150px 7vw}.section-top{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:70px;display:flex}.section-top h2{letter-spacing:-4px;color:#fff;margin-top:25px;font-size:clamp(50px,7vw,95px);font-weight:500;line-height:.88}.section-top h2 em{font-family:Playfair Display,serif}.section-intro{color:#888;max-width:320px;font-size:13px;line-height:1.8}.services-grid{border-top:1px solid #333;border-bottom:1px solid #333;grid-template-columns:repeat(3,1fr);display:grid}.service-card{background:#0b0b0b;border-right:1px solid #333;flex-direction:column;min-height:400px;padding:45px 40px;transition:background .4s,transform .4s;display:flex;position:relative}.service-card:last-child{border-right:0}.service-card:hover{background:#151515}.service-number{letter-spacing:2px;color:#666;font-size:10px}.service-info{margin-top:65px}.service-info h3{letter-spacing:1px;color:#fff;font-size:24px;font-weight:500}.service-info p{color:#888;max-width:300px;margin-top:15px;font-size:13px;line-height:1.8}.service-card>strong{color:#fff;margin-top:auto;padding-top:30px;font-size:23px;font-weight:500}.service-card:after{content:"";background:#333;height:1px;position:absolute;bottom:85px;left:40px;right:40px}.services-action{justify-content:center;margin-top:50px;display:flex}.about{background:#171717;grid-template-columns:1fr 1fr;min-height:700px;display:grid}.about-image{min-height:700px;position:relative;overflow:hidden}.about-image img{object-fit:cover;object-position:center;filter:grayscale(20%);width:100%;height:100%;display:block}.image-label{letter-spacing:3px;background:#000000bf;flex-direction:column;padding:15px;font-size:10px;display:flex;position:absolute;bottom:30px;right:30px}.image-label span:last-child{color:#999;margin-top:6px}.about-content{flex-direction:column;justify-content:center;padding:80px 9vw 80px 7vw;display:flex}.about-content h2{letter-spacing:-4px;color:#fff;margin:25px 0 40px;font-size:clamp(50px,6vw,90px);font-weight:500;line-height:.9}.about-content h2 em{color:#aaa;font-family:Playfair Display,serif;font-weight:500}.about-content>p{color:#999;max-width:550px;margin-bottom:20px;font-size:14px;line-height:1.9}.about-stats{border-top:1px solid #333;gap:45px;margin-top:45px;padding-top:25px;display:flex}.about-stats div{flex-direction:column;gap:7px;display:flex}.about-stats strong{color:#fff;font-size:24px;font-weight:500}.about-stats span{letter-spacing:2px;color:#666;font-size:8px}.gallery{color:#111;background:#f1eee7;padding:150px 7vw}.gallery .section-heading{margin-bottom:60px}.gallery .section-heading .eyebrow{color:#777}.gallery .section-heading h2{letter-spacing:-4px;color:#111;margin-top:25px;font-size:clamp(50px,7vw,95px);font-weight:500;line-height:.88}.gallery-grid{grid-template-rows:300px 300px;grid-template-columns:1.4fr 1fr;gap:15px;display:grid}.gallery-item{background:#ddd;position:relative;overflow:hidden}.gallery-item.large{grid-row:1/3}.gallery-item img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .7s;display:block}.gallery-item:hover img{transform:scale(1.04)}.gallery-overlay{color:#fff;letter-spacing:2px;background:#000000bf;padding:10px 15px;font-size:9px;position:absolute;bottom:20px;left:20px}.cta{text-align:center;color:#fff;background-color:#0000;background-image:linear-gradient(#000000d1,#000000e6),url(/images/barberia-1.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:180px 7vw;position:relative}.cta h2{letter-spacing:-4px;color:#fff;max-width:1000px;margin:25px auto 45px;font-size:clamp(55px,8vw,110px);font-weight:500;line-height:.88}.cta h2 em{color:#aaa;font-family:Playfair Display,serif}.contact{color:#f5f3ee;background:#0b0b0b;padding:150px 7vw}.contact-heading{text-align:left}.contact-heading .eyebrow{color:#888;margin-bottom:25px}.contact-heading h2{letter-spacing:-4px;color:#fff;margin:0;font-size:clamp(55px,7vw,100px);font-weight:500;line-height:.88}.contact-heading h2 em{color:#aaa;font-family:Playfair Display,serif}.contact-grid{border-top:1px solid #333;border-bottom:1px solid #333;grid-template-columns:repeat(3,1fr);margin-top:90px;display:grid}.contact-block{border-right:1px solid #333;flex-direction:column;align-items:flex-start;min-height:260px;padding:45px 35px;display:flex}.contact-block:last-child{text-align:center;border-right:0;align-items:center}.contact-block>span{letter-spacing:3px;color:#777;width:100%;font-size:9px;font-weight:600;display:block}.contact-block:last-child>span{text-align:center}.contact-block p{color:#bbb;margin-top:25px;font-size:14px;line-height:1.9}.text-button{color:#f5f3ee;letter-spacing:2px;background:0 0;border:1px solid #444;justify-content:center;align-items:center;margin-top:35px;padding:14px 24px;font-family:DM Sans,Arial,sans-serif;font-size:10px;font-weight:600;transition:background .3s,color .3s,border-color .3s,transform .3s;display:inline-flex}.text-button:hover{color:#111;background:#f4f1e9;border-color:#f4f1e9;transform:translateY(-3px)}.footer{color:#111;background:#f1eee7;border-top:1px solid #ddd;justify-content:space-between;align-items:center;gap:30px;padding:50px 7vw 30px;display:flex}.footer-logo{letter-spacing:3px;flex-direction:column;font-size:20px;font-weight:700;line-height:.85;display:flex}.footer-logo span{letter-spacing:5px;color:#555;margin-top:7px;font-size:9px;font-weight:400}.footer p{color:#777;letter-spacing:1.5px;font-size:10px}.booking-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);background:#000000d6;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.booking-modal{color:#111;background:#f1eee7;width:100%;max-width:620px;max-height:92vh;padding:55px;position:relative;overflow-y:auto;box-shadow:0 30px 100px #0000008c}.close-button{color:#111;background:0 0;justify-content:center;align-items:center;width:38px;height:38px;font-size:28px;font-weight:300;transition:background .2s,transform .2s;display:flex;position:absolute;top:20px;right:20px}.close-button:hover{background:#0000000f;transform:rotate(90deg)}.booking-header .eyebrow{color:#777}.booking-header h2{letter-spacing:-2px;color:#111;margin:20px 0;font-size:55px;font-weight:500;line-height:.9}.booking-header h2 em{font-family:Playfair Display,serif}.booking-modal form{flex-direction:column;gap:9px;display:flex}.booking-modal label{letter-spacing:2px;color:#222;margin-top:13px;font-size:9px;font-weight:600}.booking-modal input,.booking-modal select{color:#111;appearance:none;background:#fff;border:1px solid #ccc;border-radius:0;width:100%;height:50px;padding:0 15px;font-size:13px}.booking-modal input:focus,.booking-modal select:focus{border-color:#111;outline:none}.calendar-box{background:#fff;border:1px solid #ddd;width:100%;margin-top:5px;padding:22px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.calendar-header>div:first-child{flex-direction:column;gap:4px;display:flex}.calendar-month{letter-spacing:3px;color:#777;font-size:10px}.calendar-header strong{color:#111;font-size:22px;font-weight:500}.calendar-arrows{gap:5px;display:flex}.calendar-arrows button{color:#fff;background:#111;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;transition:background .2s,transform .2s;display:flex}.calendar-arrows button:hover{background:#333;transform:translateY(-1px)}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;color:#888;padding:8px 0;font-size:9px;font-weight:600}.calendar-days span,.calendar-day{color:#222;background:0 0;justify-content:center;align-items:center;min-height:38px;font-size:12px;display:flex}.calendar-days .empty{visibility:hidden}.calendar-days .disabled{color:#ccc}.calendar-day{background:#f5f5f5;border:1px solid #0000;transition:background .2s,color .2s,border-color .2s}.calendar-day:hover{color:#fff;background:#111}.calendar-day.selected{color:#fff;background:#111;border-color:#111}.selected-date{background:#e7e3da;border-left:3px solid #111;justify-content:space-between;align-items:center;margin-top:15px;padding:15px;display:flex}.selected-date span{letter-spacing:2px;color:#777;font-size:9px}.selected-date strong{color:#111;font-size:13px}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:5px;display:grid}.time-button{color:#111;background:#fff;border:1px solid #ccc;min-height:45px;font-size:12px;transition:background .2s,color .2s,border-color .2s,transform .2s}.time-button:hover,.time-button.selected{color:#fff;background:#111;border-color:#111}.booking-data{grid-template-columns:1fr 1fr;gap:15px;margin-top:5px;display:grid}.booking-data>div{flex-direction:column;display:flex}.booking-data label{margin-top:13px}.booking-submit{width:100%;margin-top:25px}.booking-modal{scrollbar-width:thin;scrollbar-color:#555 #ddd}.booking-modal::-webkit-scrollbar{width:5px}.booking-modal::-webkit-scrollbar-track{background:#ddd}.booking-modal::-webkit-scrollbar-thumb{background:#555}@media (width<=900px){.nav{display:none}.header{padding:0 5%}.hero{padding-left:6vw;padding-right:6vw}.hero h1{letter-spacing:-3px}.hero-side{right:6vw}.intro{grid-template-columns:1fr;gap:30px;padding:100px 7vw}.section-top{display:block}.section-intro{margin-top:30px}.services-grid{grid-template-columns:1fr}.service-card{border-bottom:1px solid #333;border-right:0;min-height:330px}.service-card:last-child{border-bottom:0}.about{grid-template-columns:1fr}.about-image{min-height:550px}.about-content{padding:90px 7vw}.gallery-grid{grid-template-rows:repeat(3,300px);grid-template-columns:1fr}.gallery-item.large{grid-row:auto}.contact-grid{grid-template-columns:1fr;margin-top:60px}.contact-block{border-bottom:1px solid #333;border-right:0;align-items:flex-start;min-height:210px;padding:35px 25px}.contact-block:last-child{text-align:center;border-bottom:0;align-items:center}.contact-block:last-child>span{text-align:center}.contact-block:last-child .text-button{margin-top:25px}.footer{flex-wrap:wrap}}@media (width<=600px){.header{height:72px;padding:0 5%}.logo{font-size:17px}.logo span{letter-spacing:4px;font-size:7px}.header-button{padding:11px 14px;font-size:8px}.hero{min-height:100svh;padding:120px 6vw 90px}.hero h1{letter-spacing:-3px;font-size:clamp(55px,17vw,90px)}.hero-description{max-width:90%;font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-side{bottom:30px;left:6vw;right:auto}.intro{padding:90px 7vw}.intro h2{font-size:48px}.services,.gallery,.contact{padding:100px 6vw}.section-top h2,.gallery .section-heading h2{font-size:55px}.service-card{padding:35px 25px}.service-card:after{bottom:80px;left:25px;right:25px}.service-card>strong{padding-top:30px}.about-image{min-height:450px}.about-content{padding:80px 6vw}.about-content h2{font-size:55px}.about-stats{flex-wrap:wrap;gap:25px}.gallery-grid{grid-template-rows:repeat(3,250px)}.cta{padding:120px 6vw}.cta h2,.contact-heading h2{font-size:55px}.contact-grid{margin-top:55px}.contact-block{min-height:190px;padding:35px 20px}.footer{flex-direction:column;align-items:flex-start;gap:20px;padding:50px 6vw 25px}.booking-overlay{padding:10px}.booking-modal{max-height:95vh;padding:45px 22px 30px}.booking-header h2{font-size:45px}.calendar-box{padding:15px}.calendar-days span,.calendar-day{min-height:35px}.time-grid{grid-template-columns:repeat(3,1fr)}.booking-data{grid-template-columns:1fr;gap:0}.selected-date{flex-direction:column;align-items:flex-start;gap:7px}}@media (width<=380px){.hero{padding-left:5vw;padding-right:5vw}.hero h1{letter-spacing:-2px;font-size:52px}.hero-description{max-width:100%}.primary-button,.secondary-button{width:100%;padding-left:18px;padding-right:18px}.hero-actions{width:100%}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-header h2{font-size:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
