@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{font-family:'DM Sans',Arial,sans-serif;color:#f3f1e9;background:#101611;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.shell{max-width:1440px;margin:auto;overflow:hidden}.site-header{height:90px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1b}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,Arial,sans-serif;font-size:23px;font-weight:800;line-height:1;letter-spacing:-.08em}.brand-mark{width:34px;height:34px;border:1px solid #c8a879;border-radius:50%;display:grid;place-items:center;color:#c8a879;font-size:21px;font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0}.brand-dot,.accent{color:#c8a879}.brand small{display:block;margin-top:5px;font-family:'DM Sans',Arial,sans-serif;font-size:8px;font-weight:700;letter-spacing:.27em;color:#bcb7aa}.header-link{border:0;background:none;color:#eee8db;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.header-link span{color:#c8a879;margin-left:8px}.hero{min-height:620px;display:grid;grid-template-columns:57% 43%;background:#101611}.hero-copy{padding:clamp(55px,8vw,125px) 5vw 48px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.overline,.section-index{font-size:11px;font-weight:700;letter-spacing:.22em;color:#bda784;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{width:27px;height:1px;background:#bda784}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(45px,5.4vw,84px);line-height:1.08;margin:35px 0 24px;font-weight:700}.hero h1 em,.intro h2 em{font-family:Georgia,serif;font-weight:400;color:#c8a879}.hero-lead{font-size:15px;line-height:1.75;color:#abb1a9;max-width:480px}.hero-action,.primary-button{min-height:55px;background:#c8a879;color:#101611;padding:0 24px;border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:55px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,transform .2s}.hero-action{margin-top:25px}.hero-action:hover,.primary-button:hover:not(:disabled){background:#dfbf8d;transform:translateY(-2px)}.hero-meta{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:48px;color:#8d948d;font-size:10px;font-weight:700;letter-spacing:.16em}.meta-divider{height:15px;width:1px;background:#5f695f}.hero-photo-wrap{position:relative;min-height:620px;overflow:hidden;background:#273125}.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 20%;filter:saturate(.72)}.hero-photo-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0b120ca6)}.photo-caption{position:absolute;z-index:1;bottom:35px;right:35px;font-size:10px;letter-spacing:.24em}.section-grid{display:grid;grid-template-columns:24% 1fr;padding:90px 5vw}.section-index{padding-top:10px}.intro{background:#e9e5dc;color:#151b16;min-height:330px}.intro .section-index{color:#7f7667}.intro h2{font-size:clamp(31px,3.25vw,48px);line-height:1.2;margin-bottom:22px}.intro p{max-width:700px;color:#5d645d;line-height:1.85;font-size:15px}.services-section{background:#f5f2eb;color:#151b16}.services-section .section-index,.booking-section .section-index{color:#887760}.section-body{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.section-heading h2,.booking-section h2{font-size:clamp(34px,4vw,59px);line-height:1.1;margin:12px 0 0}.heading-note{color:#7d8179;font-size:12px}.catalog-toolbar{display:flex;justify-content:space-between;gap:18px;margin:42px 0 26px}.category-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-tab,.admin-tab{border:1px solid #d9d7ce;background:transparent;color:#4e574f;padding:12px 16px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.category-tab.active,.admin-tab.active{background:#16231a;border-color:#16231a;color:#f4f2e8}.search-box{height:43px;min-width:230px;border-bottom:1px solid #c9c9bf;display:flex;align-items:center;gap:10px;color:#7b857d}.search-box span{font-size:28px;line-height:1}.search-box input{width:100%;border:0;outline:0;background:none;color:#161c16;font-size:13px}.search-box input::placeholder{color:#899087}.service-list{border-top:1px solid #d8d8d0}.service-row{display:grid;grid-template-columns:44px 1fr auto 30px;align-items:center;gap:17px;min-height:86px;border-bottom:1px solid #d8d8d0;padding:12px 4px;cursor:pointer;transition:background .2s}.service-row:hover,.service-row.selected{background:#ebe8df}.service-number{font-size:11px;color:#9da399}.service-name{font-family:Manrope,Arial,sans-serif;font-size:15px;font-weight:700}.service-meta{display:block;color:#7e867d;font-size:12px;margin-top:5px}.service-price{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:15px;white-space:nowrap}.service-check{height:20px;width:20px;border:1px solid #9ca79c;border-radius:50%;display:grid;place-items:center;color:#f5f2eb;font-size:13px}.service-row.selected .service-check{background:#16231a;border-color:#16231a}.selection-bar{margin-top:25px;padding:22px 26px;background:#16231a;color:#f5f2eb;display:flex;justify-content:space-between;gap:16px;align-items:center}.selection-bar>div{display:flex;flex-direction:column;gap:5px}.selection-bar>div:last-child{text-align:right}.selection-bar strong{font-family:Manrope,Arial,sans-serif;font-size:15px}.selection-bar span{color:#a8aea4;font-size:12px}.selection-next{color:#c8a879;font-size:12px;font-weight:700}.selection-next span{color:#c8a879;margin-left:8px}.booking-section{background:#ece8df;color:#151b16}.booking-section h2{margin-bottom:14px}.section-note{font-size:14px;color:#697168;line-height:1.6}.empty-note{border:1px dashed #b7bdb1;padding:28px;margin-top:34px;color:#606a5f;font-size:14px}.date-list{display:flex;gap:9px;overflow-x:auto;margin:35px 0 30px;padding-bottom:8px;scrollbar-width:thin}.date-button{border:1px solid #c8cec2;background:#f6f3ec;flex:0 0 76px;height:86px;color:#16231a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.date-button.active{background:#16231a;color:#f7f5ec;border-color:#16231a}.date-button span{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.date-button strong{font-size:25px;font-family:Manrope,Arial,sans-serif}.slots-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #c9cdc4;padding-bottom:16px;gap:10px}.slots-head strong{font-family:Manrope,Arial,sans-serif;font-size:18px}.slots-head span{font-size:10px;color:#8a8f85;letter-spacing:.15em}.slot-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:20px}.slot-button{border:1px solid #c8cec2;background:#f6f3ec;color:#16231a;padding:15px 4px;font-weight:700}.slot-button:hover,.slot-button.active{background:#16231a;border-color:#16231a;color:#f5f2eb}.slot-empty{grid-column:1/-1;padding:25px;background:#f6f3ec;color:#6b7469;font-size:14px}.booking-form{margin-top:46px;background:#f6f3ec;padding:32px}.form-head h3{font-size:23px;margin:7px 0 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#3a443a}.form-grid input,.admin-form input,.admin-form select{width:100%;background:transparent;border:1px solid #bec7b9;border-radius:0;padding:13px 12px;color:#172018;outline-color:#bd9b6d}.primary-button{margin-top:23px;width:100%}.primary-button:disabled{opacity:.5;cursor:not-allowed}.form-hint{font-size:11px;color:#8d9589;margin:12px 0 0}.success-card{margin-top:32px;padding:30px;background:#16231a;color:#f5f2eb;line-height:1.7}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:40px 5vw;background:#101611;border-top:1px solid #ffffff1b;color:#9ea79d;font-size:12px}.footer-brand{color:#f5f2eb}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,120px);background:#16231a;color:#f5f2eb;padding:15px 24px;box-shadow:0 12px 35px #0005;z-index:10;transition:transform .25s;max-width:calc(100vw - 30px);font-size:13px}.toast.show{transform:translate(-50%,0)}.toast.error{background:#7e332d}
.admin-view{min-height:70vh;background:#f5f2eb;color:#16231a;padding:50px 5vw 90px}.admin-title{position:relative}.admin-title h1{font-size:clamp(38px,5vw,65px);margin:6px 0 25px}.text-button{border:0;background:none;padding:0;color:#6f776f;text-decoration:underline}.admin-title .text-button{position:absolute;right:0;bottom:35px}.admin-tabs{display:flex;border-bottom:1px solid #d5d9cf;margin-top:30px}.admin-tab{border:0;border-bottom:2px solid transparent;padding:15px 25px;background:none}.admin-tab.active{background:none;border-color:#b28c5d;color:#16231a}.admin-content{padding-top:30px}.admin-card{background:#fff;padding:22px;margin-bottom:12px;border:1px solid #e1e2da}.admin-card h3{font-size:18px;margin:0 0 8px}.admin-card p{color:#6c746b;font-size:13px;margin:0 0 10px}.admin-card-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.admin-form .wide{grid-column:span 2}.admin-form button,.small-button{background:#16231a;color:#fff;border:0;padding:13px 17px;font-size:12px;font-weight:700;white-space:nowrap}.small-button.alt{background:#ece8df;color:#16231a}.small-button.danger{background:#8c4038}.admin-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.admin-list-heading h2{font-size:26px;margin:0}.admin-list-heading span{font-size:12px;color:#6f776d}.hours-row{display:grid;grid-template-columns:70px 1fr 1fr 100px;gap:12px;align-items:center;margin-bottom:10px}.hours-row input{width:100%;padding:10px;border:1px solid #cbd0c5;background:#fff}.hours-row label{font-size:12px}.admin-section{margin-bottom:35px}.admin-section h2{font-size:23px;margin-bottom:15px}.admin-list-empty{padding:25px;background:#fff;color:#7c867b}.admin-error{background:#f8e6e2;color:#82352c;padding:15px;margin-bottom:16px}
@media(max-width:900px){.hero{grid-template-columns:1fr 38%;min-height:530px}.hero-copy{padding:65px 5vw 35px}.hero-photo-wrap{min-height:530px}.section-grid{grid-template-columns:1fr;padding:66px 5vw}.section-index{margin-bottom:25px}.slot-list{grid-template-columns:repeat(4,1fr)}.admin-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.site-header{height:70px}.brand{font-size:20px}.hero{display:flex;flex-direction:column-reverse;min-height:0}.hero-photo-wrap{min-height:330px}.hero-photo{object-position:center 25%}.hero-copy{padding:32px 22px 36px}.hero h1{font-size:45px;margin:24px 0 14px}.hero-lead{font-size:14px}.hero-action{margin-top:15px}.hero-meta{padding-top:32px;font-size:8px;flex-wrap:wrap}.section-grid{padding:60px 22px}.intro{min-height:0}.intro h2{font-size:33px}.catalog-toolbar{display:block;margin-top:27px}.category-tabs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:5px}.category-tab{flex:none}.search-box{margin-top:16px;width:100%}.service-row{grid-template-columns:22px 1fr auto 22px;gap:8px;min-height:76px}.service-number{font-size:9px}.service-name{font-size:13px}.service-price{font-size:13px}.service-meta{font-size:11px}.selection-bar{padding:18px 15px}.selection-bar strong{font-size:12px}.selection-next{font-size:11px}.slot-list{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.booking-form{padding:24px 18px}.site-footer{flex-direction:column;align-items:flex-start}.admin-view{padding:38px 22px 60px}.admin-title .text-button{position:static}.admin-form{grid-template-columns:1fr 1fr}.admin-form .wide{grid-column:span 2}.admin-tabs{overflow-x:auto}.admin-tab{padding:15px 18px}.hours-row{grid-template-columns:45px 1fr 1fr 60px;gap:6px}.hours-row input{padding:8px 4px}}
