:root{--font-display:"Fraunces", "Cormorant Garamond", "Times New Roman", serif;--font-body:"Manrope", "Helvetica Neue", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--container:min(1320px, calc(100% - 56px))}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:#f7f2ea;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#0a0a0a}a{color:inherit;text-decoration:none}button{font:inherit}.site{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.55;position:relative;overflow-x:clip}.site[data-slug=barberlife]{background:radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--accent), transparent 74%), transparent 26vw), linear-gradient(135deg, #080808 0%, #101010 48%, #1b120c 100%)}.site[data-slug=barberlife] .monogram{font-family:var(--font-display);letter-spacing:-.08em;opacity:.1;font-size:clamp(360px,58vw,940px);font-style:normal;line-height:.78;right:-10vw;transform:rotate(-6deg)}.site[data-slug=barberlife] .nav strong,.site[data-slug=barberlife] .hero-text h1,.site[data-slug=barberlife] .services-head>h2,.site[data-slug=barberlife] .hours-head>h2,.site[data-slug=barberlife] .service-row-name,.site[data-slug=barberlife] .service-row-price,.site[data-slug=barberlife] .barber-grid h3,.site[data-slug=barberlife] footer a{font-family:var(--font-display);letter-spacing:.01em;font-variation-settings:normal;font-weight:400}.site[data-slug=barberlife] .hero-text h1{text-transform:uppercase;letter-spacing:-.018em;max-width:6ch;line-height:.79}.site[data-slug=barberlife] .word.accent{text-shadow:0 0 38px color-mix(in srgb, var(--accent), transparent 58%);font-style:normal}.site[data-slug=barberlife] .hero-image{box-shadow:0 44px 120px -72px color-mix(in srgb, var(--accent), transparent 10%);border-radius:34px 0 0 34px}.site[data-slug=barberlife] .hero-image:before{background:linear-gradient(90deg, color-mix(in srgb, var(--bg), transparent 52%) 0%, transparent 36%), linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--bg), transparent 18%) 100%)}.site[data-slug=barberlife] .hero-tag,.site[data-slug=barberlife] .barber-grid article,.site[data-slug=barberlife] .reserve-card{border-radius:18px}.site[data-slug=barberlife] .btn-primary,.site[data-slug=barberlife] .btn-ghost,.site[data-slug=barberlife] .reserve-call{border-radius:14px}.site[data-slug=barberlife] .service-row{border-color:color-mix(in srgb, var(--accent), transparent 82%)}.site[data-slug=barberlife] .service-row:hover{background:color-mix(in srgb, var(--accent), transparent 91%)}.site[data-slug=barberlife] .proof-strip{width:var(--container);grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:24px;margin:96px auto 0;display:grid}.site[data-slug=barberlife] .proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.site[data-slug=barberlife] .proof-grid article,.site[data-slug=barberlife] .booking-card{border:1px solid color-mix(in srgb, var(--accent), transparent 72%);background:linear-gradient(145deg, color-mix(in srgb, var(--surface), transparent 10%), color-mix(in srgb, var(--bg), transparent 8%));min-height:190px;box-shadow:0 28px 80px -60px color-mix(in srgb, var(--accent), transparent 12%);border-radius:22px;padding:26px}.site[data-slug=barberlife] .proof-grid article{flex-direction:column;justify-content:space-between;display:flex}.site[data-slug=barberlife] .proof-grid span,.site[data-slug=barberlife] .booking-card>span{color:var(--accent);letter-spacing:.26em;text-transform:uppercase;font-size:10px;font-weight:800}.site[data-slug=barberlife] .proof-grid strong,.site[data-slug=barberlife] .booking-card strong{font-family:var(--font-display);text-transform:uppercase;margin-top:18px;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:.86;display:block}.site[data-slug=barberlife] .proof-grid p{max-width:16ch;color:color-mix(in srgb, var(--text), transparent 34%);margin:20px 0 0;font-size:13px;line-height:1.4}.site[data-slug=barberlife] .booking-card{position:relative;overflow:hidden}.site[data-slug=barberlife] .booking-card:after{content:"";background:var(--accent);opacity:.2;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-98px;right:-76px}.site[data-slug=barberlife] .booking-card div{z-index:2;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:30px;display:grid;position:relative}.site[data-slug=barberlife] .booking-card i{background:color-mix(in srgb, var(--text), transparent 92%);min-height:44px;color:color-mix(in srgb, var(--text), transparent 22%);border-radius:12px;place-items:center;font-size:12px;font-style:normal;font-weight:800;display:grid}.site[data-slug=barberlife] .booking-card i.active{background:var(--accent);color:var(--bg)}@media (pointer:fine){body,a,button,[data-cursor=hover]{cursor:none}}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{width:26px;height:26px;transition:width .3s var(--ease-out), height .3s var(--ease-out), margin .3s var(--ease-out), opacity .3s var(--ease-out);border:1px solid #fff;margin:-13px 0 0 -13px}.cursor-ring.is-hover{width:38px;height:38px;margin:-19px 0 0 -19px}.monogram{z-index:0;font-family:var(--font-display);color:var(--accent);opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none;font-variation-settings:"opsz" 144, "SOFT" 100;font-size:clamp(380px,60vw,980px);font-style:italic;font-weight:300;line-height:.85;position:absolute;top:-10vh;right:-6vw}.site>:not(.monogram){z-index:2;position:relative}.reveal{opacity:0;transition:opacity 1s var(--ease-out) var(--reveal-delay,0s), transform 1s var(--ease-out) var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(36px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.nav{width:var(--container);justify-content:space-between;align-items:center;margin:0 auto;padding:32px 0 0;display:flex}.nav strong{font-family:var(--font-display);letter-spacing:.01em;font-variation-settings:"opsz" 18;font-size:19px;font-weight:400}.nav a{color:var(--text);letter-spacing:.24em;text-transform:uppercase;transition:transform .4s var(--ease-out);padding:10px 0;font-size:11px;font-weight:600;position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .5s var(--ease);position:absolute;bottom:4px;left:0;right:0;transform:scaleX(.3)}.nav a:hover:after{transform:scaleX(1)}.hero{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:[full-start]minmax(48px,1fr)[content-start]minmax(0,620px)[center]minmax(0,620px)[content-end]minmax(48px,1fr)[full-end];align-items:end;gap:0;min-height:92vh;margin-top:36px;padding-bottom:56px;display:grid}.hero-image{border-radius:2px 0 0 2px;grid-area:1/center/3/full-end;align-self:stretch;height:86vh;min-height:580px;position:relative;overflow:hidden}@keyframes wipe-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes drift{0%{transform:translate(0,0)scale(1.06)}to{transform:translate(0,0)scale(1)}}.hero-image-inner{animation:wipe-in 1.2s var(--ease-out) both;will-change:transform, clip-path;position:absolute;inset:-8% 0}.hero-image-inner img{object-fit:cover;filter:contrast(1.04)saturate(.92);width:100%;height:100%;animation:drift 14s var(--ease-out) both}.hero-image:before{content:"";z-index:2;background:linear-gradient(180deg, transparent 50%, color-mix(in srgb, var(--text), transparent 80%) 100%);pointer-events:none;position:absolute;inset:0}.hero-tag{z-index:3;background:color-mix(in srgb, var(--bg), transparent 12%);color:var(--text);letter-spacing:.26em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--text), transparent 75%);-webkit-backdrop-filter:blur(6px);border-radius:2px;padding:9px 14px;font-size:10px;font-weight:600;position:absolute;bottom:20px;right:20px}.hero-text{z-index:3;grid-area:1/content-start/2/center;align-self:end;margin-bottom:-32px;margin-right:-160px;padding:0 40px 0 0}.eyebrow{color:var(--accent);letter-spacing:.32em;text-transform:uppercase;margin:0 0 26px;font-size:11px;font-weight:600}.hero-text h1{font-family:var(--font-display);letter-spacing:-.03em;font-variation-settings:"opsz" 144, "SOFT" 100;margin:0;font-size:clamp(72px,13vw,220px);font-weight:300;line-height:.84}.word{white-space:nowrap;display:inline-block}.word.accent{color:var(--accent);font-variation-settings:"opsz" 144, "SOFT" 100;font-style:italic;font-weight:400}.char{opacity:0;animation:char-rise .9s var(--ease-out) forwards;display:inline-block;transform:translateY(.5em)}@keyframes char-rise{to{opacity:1;transform:translateY(0)}}.hero-meta{z-index:3;animation:rise 1s var(--ease-out) .7s both;grid-area:2/content-start/3/center;gap:28px;padding:56px 56px 0 0;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-intro{max-width:480px;color:color-mix(in srgb, var(--text), transparent 22%);font-size:17px;font-weight:380;line-height:1.6}.actions{flex-wrap:wrap;gap:14px;display:flex}.btn-primary,.btn-ghost{letter-spacing:.22em;text-transform:uppercase;transition:color .5s var(--ease-out), border-color .5s var(--ease-out);isolation:isolate;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:20px 36px;font-size:11px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.btn-primary>span,.btn-ghost>span{z-index:2;align-items:center;gap:12px;display:inline-flex;position:relative}.btn-primary>span:after,.btn-ghost>span:after{content:"→";letter-spacing:0;transition:transform .4s var(--ease-out);font-size:14px}.btn-primary:before,.btn-ghost:before{content:"";background:var(--text);transition:transform .55s var(--ease-out);z-index:1;position:absolute;inset:0;transform:translateY(101%)}.btn-primary:hover:before,.btn-ghost:hover:before{transform:translateY(0)}.btn-primary:hover{color:var(--bg);border-color:var(--text)}.btn-primary:hover>span:after,.btn-ghost:hover>span:after{transform:translate(6px)}.btn-ghost{color:var(--text);border:1px solid color-mix(in srgb, var(--text), transparent 70%);background:0 0}.btn-ghost:hover{color:var(--bg);border-color:var(--text)}.marquee{border-top:1px solid color-mix(in srgb, var(--text), transparent 82%);border-bottom:1px solid color-mix(in srgb, var(--text), transparent 82%);width:100%;font-family:var(--font-display);font-variation-settings:"opsz" 96, "SOFT" 100;color:var(--text);margin:64px 0 0;padding:30px 0;font-size:clamp(28px,4.4vw,64px);font-weight:300;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;will-change:transform;animation:42s linear infinite scroll;display:inline-flex}.marquee-track>span{align-items:center;gap:32px;padding:0 32px;font-style:italic;display:inline-flex}.marquee-track>span:after{content:"✦";color:var(--accent);font-size:.46em;font-style:normal;transform:translateY(-.1em)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.services-edition{width:100%;padding:140px 0 120px}.services-head{width:var(--container);gap:18px;margin:0 auto 80px;display:grid}.services-head>p,.manifesto p,.hours-head>p{color:var(--accent);letter-spacing:.32em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.services-head>h2,.hours-head>h2{font-family:var(--font-display);letter-spacing:-.022em;font-variation-settings:"opsz" 144, "SOFT" 100;max-width:18ch;margin:0;font-size:clamp(48px,7vw,110px);font-weight:300;line-height:.92}.services-head>h2 em,.hours-head>h2 em{color:var(--accent);font-style:italic;font-weight:400}.services-list{width:var(--container);margin:0;border-top:1px solid color-mix(in srgb, var(--text), transparent 82%);margin-inline:auto;padding:0;list-style:none}.service-row{border-bottom:1px solid color-mix(in srgb, var(--text), transparent 82%);transition:background .4s var(--ease-out);grid-template-columns:90px minmax(280px,1.2fr) minmax(0,2fr) max-content;align-items:baseline;gap:24px;padding:36px 24px;display:grid;position:relative}.service-row:hover{background:color-mix(in srgb, var(--accent), transparent 96%)}.service-row-num{font-family:var(--font-display);color:var(--accent);letter-spacing:.04em;font-variation-settings:"opsz" 18;font-size:18px;font-style:italic;font-weight:300}.service-row-name{font-family:var(--font-display);letter-spacing:-.012em;font-variation-settings:"opsz" 96, "SOFT" 100;font-size:clamp(28px,3.4vw,46px);font-weight:400;line-height:1.05}.service-row-desc{color:color-mix(in srgb, var(--text), transparent 38%);max-width:460px;font-size:14px;line-height:1.55}.service-row-desc em{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-style:normal;font-weight:600}.service-row-price{font-family:var(--font-display);color:var(--text);letter-spacing:-.005em;font-variation-settings:"opsz" 36, "SOFT" 100;text-align:right;font-size:clamp(24px,2.6vw,32px);font-weight:400}.barbers{width:100%;padding:120px 0}.barbers>.services-head,.barbers>.barber-grid{width:var(--container);margin-left:auto;margin-right:auto}.barber-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.barber-grid article{background:var(--surface);border:1px solid color-mix(in srgb, var(--text), transparent 86%);transition:transform .5s var(--ease-out), border-color .5s var(--ease-out);border-radius:2px;gap:14px;padding:40px 32px;display:grid}.barber-grid article:hover{border-color:color-mix(in srgb, var(--accent), transparent 40%);transform:translateY(-4px)}.barber-grid h3{font-family:var(--font-display);font-variation-settings:"opsz" 36, "SOFT" 100;margin:0;font-size:32px;font-weight:400}.barber-grid span{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;font-size:11px;font-weight:600}.barber-grid p{color:color-mix(in srgb, var(--text), transparent 32%);margin:0;line-height:1.6}.hours{width:100%;padding:120px 0}.hours-head,.hours-list{width:var(--container);margin-inline:auto}.hours-head{gap:18px;max-width:720px;margin-bottom:56px;display:grid}.hours-list{border-top:1px solid color-mix(in srgb, var(--text), transparent 82%);max-width:760px;display:grid}.hours-list span{border-bottom:1px solid color-mix(in srgb, var(--text), transparent 82%);grid-template-columns:max-content 1fr max-content;align-items:baseline;gap:18px;padding:22px 0;display:grid}.hours-list strong{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 100;font-size:22px;font-weight:400}.hours-list i{border-bottom:1px dotted color-mix(in srgb, var(--text), transparent 60%);align-self:end;height:1px;margin-bottom:9px}.hours-list em{font-family:var(--font-body);letter-spacing:.06em;color:var(--accent);font-size:14px;font-style:normal;font-weight:500}footer{width:var(--container);color:color-mix(in srgb, var(--text), transparent 38%);border-top:1px solid color-mix(in srgb, var(--text), transparent 82%);grid-template-columns:1fr auto auto;align-items:center;gap:32px;margin:0 auto;padding:56px 0 72px;font-size:13px;display:grid}footer a{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 100;color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--accent), transparent 55%);transition:color .3s var(--ease), border-color .3s var(--ease);font-size:22px;font-weight:400}footer a:hover{color:var(--accent);border-color:var(--accent)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.reserve-modal{z-index:9000;-webkit-backdrop-filter:blur(8px);animation:fade .25s var(--ease) both;isolation:isolate;background:#0a0606c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reserve-card{z-index:1;background:var(--bg);width:min(460px,100%);color:var(--text);border:1px solid color-mix(in srgb, var(--text), transparent 84%);animation:pop .4s var(--ease) both;font-family:var(--font-body);border-radius:2px;padding:52px 40px 40px;position:relative;box-shadow:0 50px 100px -30px #00000073}.reserve-card:before{content:"";background:var(--accent);width:38%;height:1px;position:absolute;inset:-10px -10px auto auto}.reserve-card:after{content:"";background:var(--accent);width:1px;height:38%;position:absolute;inset:-10px auto auto -10px}.reserve-close{width:36px;height:36px;color:var(--text);cursor:pointer;opacity:.6;transition:opacity .2s var(--ease), color .2s var(--ease);background:0 0;border:none;font-size:26px;line-height:1;position:absolute;top:12px;right:14px}.reserve-close:hover{opacity:1;color:var(--accent)}.reserve-card>p{color:var(--accent);letter-spacing:.32em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:600}.reserve-card h3{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 96, "SOFT" 100;margin:0 0 28px;font-size:clamp(28px,4vw,40px);font-weight:300;line-height:1.1}.reserve-address{border-top:1px dashed color-mix(in srgb, var(--text), transparent 76%);border-bottom:1px dashed color-mix(in srgb, var(--text), transparent 76%);gap:4px;margin:0 0 22px;padding:18px 0;display:grid}.reserve-address>span{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:600}.reserve-address strong{font-family:var(--font-display);letter-spacing:-.005em;font-variation-settings:"opsz" 36, "SOFT" 100;font-size:24px;font-weight:400}.reserve-address em{color:color-mix(in srgb, var(--text), transparent 30%);font-size:14px;font-style:normal}.reserve-call{background:var(--accent);width:100%;color:var(--bg);letter-spacing:.16em;text-transform:uppercase;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);box-shadow:0 14px 32px -14px color-mix(in srgb, var(--accent), transparent 25%);border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:22px 24px;font-size:13px;font-weight:600;display:flex}.reserve-call:before{content:"☎";letter-spacing:0;font-size:16px}.reserve-call:hover{box-shadow:0 22px 40px -16px color-mix(in srgb, var(--accent), transparent 15%);transform:translateY(-2px)}.reserve-maps{text-align:center;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--text), transparent 30%);transition:color .2s var(--ease);padding:10px;font-size:12px;font-weight:600;display:block}.reserve-maps:hover{color:var(--accent)}.reserve-note{color:color-mix(in srgb, var(--text), transparent 38%);text-align:center;margin:6px 0 12px;font-size:12px;line-height:1.5}.booking-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.booking-options button{border:1px solid color-mix(in srgb, var(--text), transparent 86%);background:color-mix(in srgb, var(--text), transparent 94%);min-height:48px;color:color-mix(in srgb, var(--text), transparent 20%);letter-spacing:.08em;cursor:pointer;border-radius:12px;font-size:12px;font-weight:800}.booking-options button.active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.booking-flow{width:min(720px,100vw - 32px);padding:0;overflow:hidden}.booking-head{border-bottom:1px solid color-mix(in srgb, var(--text), transparent 86%);padding:26px 32px 20px}.booking-head p{color:var(--accent);letter-spacing:.3em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:700}.booking-head h3{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(22px,3vw,30px);line-height:1}.booking-progress{border-bottom:1px solid color-mix(in srgb, var(--text), transparent 86%);grid-template-columns:1fr auto;gap:8px 18px;padding:14px 32px 12px;display:grid}.booking-progress span,.booking-progress em{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;font-size:11px;font-style:normal;font-weight:700}.booking-progress strong,.booking-progress em{color:var(--accent)}.booking-progress div{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.booking-progress i{background:color-mix(in srgb, var(--text), transparent 86%);border-radius:999px;height:3px}.booking-progress i.active{background:var(--accent)}.booking-body{min-height:300px;padding:22px 32px}.booking-step>p,.booking-confirm>p{color:color-mix(in srgb, var(--text), transparent 42%);margin:0 0 16px;font-size:13px}.booking-list,.booking-service-grid,.booking-date-grid,.booking-hour-grid{gap:8px;display:grid}.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-service-grid button{align-content:center;gap:8px;display:grid}.booking-date-grid,.booking-hour-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-list button,.booking-service-grid button,.booking-date-grid button,.booking-hour-grid button{border:1px solid color-mix(in srgb, var(--text), transparent 84%);background:color-mix(in srgb, var(--text), transparent 94%);min-height:54px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);padding:12px 14px}.booking-list button{grid-template-columns:42px 1fr;grid-template-areas:"initial name""initial role";align-items:center;gap:0 4px;display:grid}.booking-list button span{grid-area:initial;color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:900}.booking-list button strong,.booking-service-grid button strong{font-family:var(--font-display);text-transform:uppercase;grid-area:name;font-size:19px;font-weight:400;line-height:1.05}.booking-service-grid button strong{order:1;grid-area:auto}.booking-list button em,.booking-service-grid button em{color:color-mix(in srgb, var(--text), transparent 44%);margin-top:0;font-size:12px;font-style:normal}.booking-service-grid button em{order:2}.booking-date-grid button,.booking-hour-grid button{text-align:center;min-height:46px;font-family:var(--font-display);letter-spacing:.02em;place-items:center;padding:8px 6px;font-size:18px;display:grid}.booking-list button:hover,.booking-service-grid button:hover,.booking-date-grid button:hover,.booking-hour-grid button:hover,.booking-list button.active,.booking-service-grid button.active,.booking-date-grid button.active,.booking-hour-grid button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent), transparent 86%);transform:translateY(-1px)}.booking-summary{border:1px solid color-mix(in srgb, var(--text), transparent 84%);background:color-mix(in srgb, var(--text), transparent 95%);gap:0;margin-bottom:18px;padding:14px 16px;font-size:13px;display:grid}.booking-summary span{border-bottom:1px solid color-mix(in srgb, var(--text), transparent 88%);color:color-mix(in srgb, var(--text), transparent 42%);justify-content:space-between;gap:18px;padding:7px 0;display:flex}.booking-summary span:last-child{border-bottom:0}.booking-summary strong{color:var(--accent);text-align:right}.booking-confirm label{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;gap:6px;margin-top:12px;font-size:10px;font-weight:800;display:grid}.booking-confirm input{border:1px solid color-mix(in srgb, var(--text), transparent 84%);background:color-mix(in srgb, var(--text), transparent 94%);width:100%;min-height:46px;color:var(--text);font:500 15px var(--font-body);outline:none;padding:0 14px}.booking-confirm input:focus{border-color:var(--accent)}.booking-success{text-align:center;animation:pop .4s var(--ease) both;gap:14px;padding:36px 32px 32px;display:grid}.booking-success-mark{background:color-mix(in srgb, var(--accent), transparent 84%);width:56px;height:56px;color:var(--accent);border-radius:999px;place-items:center;margin:0 auto 4px;font-size:28px;font-weight:700;display:grid}.booking-success h4{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:clamp(26px,3.4vw,34px);font-weight:400;line-height:1}.booking-success>p{max-width:36ch;color:color-mix(in srgb, var(--text), transparent 38%);margin:0 auto;font-size:14px}.booking-success>p strong{color:var(--text);font-weight:600}.booking-success .booking-summary{text-align:left;margin:6px 0 4px}.booking-success-note{max-width:42ch;color:color-mix(in srgb, var(--text), transparent 52%);letter-spacing:.04em;margin:0 auto;font-size:11px;font-style:normal;line-height:1.55;display:block}.booking-success-close{background:var(--accent);min-height:52px;color:var(--bg);letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out);border:0;border-radius:14px;margin-top:12px;font-size:11px;font-weight:900}.booking-success-close:hover{box-shadow:0 14px 32px -14px color-mix(in srgb, var(--accent), transparent 25%);transform:translateY(-1px)}.booking-footer{border-top:1px solid color-mix(in srgb, var(--text), transparent 86%);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.booking-footer button{border:0;border-right:1px solid color-mix(in srgb, var(--text), transparent 86%);background:color-mix(in srgb, var(--text), transparent 95%);min-height:54px;color:color-mix(in srgb, var(--text), transparent 38%);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;font-size:11px;font-weight:900}.booking-footer button:last-child{background:color-mix(in srgb, var(--accent), transparent 74%);color:var(--text);border-right:0}.booking-footer button:disabled{cursor:not-allowed;opacity:.42}@media (width<=1080px){:root{--container:min(1240px, calc(100% - 40px))}.hero{min-height:78vh;margin-top:24px}.hero-image{height:72vh;min-height:460px}.hero-text{margin-right:-90px;padding-right:28px}.hero-text h1{font-size:clamp(60px,11vw,150px)}.hero-meta{padding:40px 28px 0 0}.services-edition,.barbers,.hours{padding:100px 0 80px}.services-head>h2,.hours-head>h2{font-size:clamp(44px,6vw,84px)}.service-row{grid-template-columns:60px minmax(220px,1.1fr) minmax(0,1.4fr) max-content;gap:18px;padding:28px 16px}.service-row-name{font-size:clamp(24px,3vw,36px)}.service-row-price{font-size:clamp(20px,2.4vw,26px)}.barber-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site[data-slug=barberlife] .proof-strip{grid-template-columns:1fr;margin-top:72px}.reserve-card{max-height:calc(100dvh - 48px);overflow:auto}.booking-flow{width:min(640px,100vw - 32px)}.booking-head{padding:22px 26px 18px}.booking-head h3{font-size:clamp(20px,3.4vw,26px)}.booking-progress{padding:12px 26px 10px}.booking-body{min-height:auto;padding:20px 26px}.booking-list button,.booking-service-grid button,.booking-date-grid button,.booking-hour-grid button{min-height:50px;padding:10px 12px}.booking-list button strong,.booking-service-grid button strong{font-size:17px}.booking-date-grid button,.booking-hour-grid button{min-height:42px;font-size:16px}.booking-footer button{letter-spacing:.22em;min-height:50px;font-size:10px}.marquee{margin-top:48px;padding:24px 0;font-size:clamp(24px,4vw,48px)}}@media (width>=721px) and (width<=900px){.site[data-slug=barberlife] .hero{grid-template-rows:auto auto auto;grid-template-columns:1fr;min-height:auto;margin-top:28px;padding-bottom:44px}.site[data-slug=barberlife] .hero-image{border-radius:26px;grid-area:1/1;height:52vh;min-height:420px;margin:0 20px}.site[data-slug=barberlife] .hero-image-inner{inset:0}.site[data-slug=barberlife] .hero-text{grid-area:2/1;margin:44px 0 0;padding:0 40px}.site[data-slug=barberlife] .hero-text h1{max-width:8ch;font-size:clamp(78px,14vw,132px);line-height:.82}.site[data-slug=barberlife] .hero-meta{grid-area:3/1;padding:34px 40px 0}.site[data-slug=barberlife] .hero-intro{max-width:620px;font-size:18px}.site[data-slug=barberlife] .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site[data-slug=barberlife] .proof-grid article:last-child{grid-column:1/-1}.site[data-slug=barberlife] .booking-card div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){:root{--container:min(1240px, calc(100% - 32px))}body,a,button{cursor:auto}.cursor-dot,.cursor-ring{display:none}html{scroll-behavior:auto}.monogram{opacity:.05;font-size:110vw;top:-2vh;right:-18vw}.nav{padding:20px 0 0}.nav strong{font-size:16px}.nav a{letter-spacing:.2em;font-size:10px}.hero{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:0;min-height:auto;margin-top:18px;padding-bottom:32px}.hero-image{border-radius:0;grid-area:1/1;height:56vh;min-height:320px;margin:0}.hero-image-inner{inset:0}.hero-tag{letter-spacing:.22em;padding:7px 10px;font-size:9px;bottom:14px;right:14px}.hero-text{grid-area:2/1;margin:32px 0 0;padding:0 20px}.eyebrow{letter-spacing:.26em;margin-bottom:18px;font-size:10px}.hero-text h1{letter-spacing:-.022em;font-size:clamp(46px,13vw,78px);line-height:.92}.hero-meta{grid-area:3/1;gap:22px;padding:28px 20px 0}.hero-intro{font-size:15px;line-height:1.55}.actions{gap:10px;width:100%}.btn-primary,.btn-ghost{letter-spacing:.18em;flex:1;padding:16px 20px;font-size:10px}.btn-primary>span,.btn-ghost>span{gap:8px}.marquee{margin-top:36px;padding:18px 0;font-size:clamp(22px,6vw,36px)}.marquee-track>span{gap:18px;padding:0 18px}.services-edition,.barbers,.hours{padding:64px 0 56px}.site[data-slug=barberlife] .proof-strip{gap:14px;margin-top:48px}.site[data-slug=barberlife] .proof-grid{grid-template-columns:1fr}.site[data-slug=barberlife] .proof-grid article,.site[data-slug=barberlife] .booking-card{min-height:150px;padding:22px}.site[data-slug=barberlife] .proof-grid strong,.site[data-slug=barberlife] .booking-card strong{font-size:clamp(34px,13vw,54px)}.site[data-slug=barberlife] .booking-card div{grid-template-columns:repeat(2,1fr)}.services-head,.hours-head{gap:12px;margin-bottom:36px}.services-head>h2,.hours-head>h2{max-width:none;font-size:clamp(36px,9.5vw,60px);line-height:1}.service-row{grid-template-columns:auto 1fr;grid-template-areas:"num name""num price""desc desc";align-items:baseline;gap:4px 14px;padding:22px 14px}.service-row-num{grid-area:num;align-self:start;margin-top:4px}.service-row-name{grid-area:name;font-size:22px;line-height:1.18}.service-row-price{text-align:left;color:var(--accent);grid-area:price;margin-top:2px;font-size:18px}.service-row-desc{grid-area:desc;max-width:none;margin-top:8px;font-size:13px}.barber-grid{grid-template-columns:1fr;gap:16px}.barber-grid article{padding:28px 24px}.barber-grid h3{font-size:26px}.hours-list strong{font-size:18px}.hours-list em{font-size:13px}.reserve-card{width:min(430px,100vw - 28px);max-height:calc(100dvh - 28px);padding:40px 24px 28px;overflow:auto}.booking-flow{width:min(620px,100vw - 24px);padding:0}.booking-head{padding:30px 24px 22px}.booking-progress{padding:16px 24px 14px}.booking-body{min-height:auto;padding:24px}.booking-service-grid,.booking-date-grid,.booking-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-list button,.booking-service-grid button,.booking-date-grid button,.booking-hour-grid button{min-height:52px;padding:12px 14px}.booking-list button strong,.booking-service-grid button strong{font-size:17px}.booking-date-grid button,.booking-hour-grid button{min-height:44px;font-size:16px}.booking-footer button{letter-spacing:.2em;min-height:52px;font-size:10px}.reserve-card h3{font-size:clamp(24px,6vw,32px)}.reserve-call{padding:18px 20px;font-size:12px}footer{text-align:left;grid-template-columns:1fr;gap:10px;padding:36px 0 48px}footer a{font-size:17px}}@media (width<=430px){:root{--container:min(1240px, calc(100% - 24px))}.site[data-slug=barberlife] .hero-image{height:48vh;min-height:280px}.site[data-slug=barberlife] .hero-text{padding:0 16px}.site[data-slug=barberlife] .hero-text h1{max-width:7ch;font-size:clamp(42px,15vw,64px)}.site[data-slug=barberlife] .hero-meta{padding:24px 16px 0}.site[data-slug=barberlife] .actions{grid-template-columns:1fr;display:grid}.site[data-slug=barberlife] .btn-primary,.site[data-slug=barberlife] .btn-ghost{width:100%;min-height:56px}.site[data-slug=barberlife] .proof-grid article,.site[data-slug=barberlife] .booking-card{border-radius:18px}.site[data-slug=barberlife] .booking-card div,.booking-options{grid-template-columns:1fr}.reserve-card{padding:38px 22px 24px}.booking-flow{padding:0}.booking-head{padding:28px 20px 20px}.booking-progress{padding:14px 20px}.booking-progress span,.booking-progress em{letter-spacing:.18em;font-size:10px}.booking-body{padding:20px}.booking-service-grid,.booking-date-grid,.booking-hour-grid{grid-template-columns:1fr}.booking-list button{grid-template-columns:42px 1fr}.booking-footer{grid-template-columns:1fr}.booking-footer button{border-right:0;border-bottom:1px solid color-mix(in srgb, var(--text), transparent 86%)}}@media (hover:none) and (pointer:coarse){.service-row:hover{background:0 0}.btn-primary:before,.btn-ghost:before{display:none}.btn-primary:hover,.btn-ghost:hover{color:inherit;border-color:inherit}.barber-grid article:hover{border-color:color-mix(in srgb, var(--text), transparent 86%);transform:none}.nav a:after{display:none}}
